home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / HITECH-C / MOTOROLA.EXE / ERR.REF < prev    next >
Text File  |  1993-04-21  |  103KB  |  2,436 lines

  1. INDEX 546 13 C Compiler Error Reference
  2. 22 3 #define syntax error
  3. 217 2 #elif may not follow #else
  4. 337 3 #elif must be in an #if
  5. 535 1 #else may not follow #else
  6. 615 1 #else must be in an #if
  7. 671 3 #error: *
  8. 846 3 #if ... sizeof() syntax error
  9. 1038 2 #if ... sizeof: bug, unknown type code *
  10. 1199 3 #if ... sizeof: illegal type combination
  11. 1383 2 #if bug, operand = *
  12. 1543 3 #if sizeof() error, no type specified
  13. 1762 3 #if sizeof, unknown type *
  14. 1931 3 #if value stack overflow
  15. 2142 3 #if, #ifdef, or #ifndef without an argument
  16. 2350 7 #include syntax error
  17. 2727 2 '.' expected after '..'
  18. 2875 2 '.' not followed by 'w' or 'b'
  19. 3030 4 '=' expected after lle
  20. 3166 4 '=' expected after p
  21. 3291 3 'case' not in switch
  22. 3470 4 'default' not in switch
  23. 3649 2 ( expected
  24. 3775 3 ) expected
  25. 3933 4 , expected
  26. 4211 3 -s, too few values specified in *
  27. 4397 1 -s, too many values, * unused
  28. 4501 3 ... illegal in non-prototype arg list
  29. 4705 3 32 bit addressing illegal
  30. 4907 4 6301 instruction illegal
  31. 5034 4 6801 instruction illegal
  32. 5193 4 68hc11 instruction illegal
  33. 5306 4 68hc11/6301 instruction illegal
  34. 5456 2 80186 instruction/addressing mode
  35. 5614 2 80286 instruction
  36. 5750 2 80386 instruction/addressing mode
  37. 5899 2 80486 instruction/addressing mode
  38. 6017 3 : expected
  39. 6174 2 ; expected
  40. 6312 1 = expected
  41. 6357 2 ] expected
  42. 6493 2 a parameter may not be a function
  43. 6658 1 absolute expression required
  44. 6732 3 add_reloc - bad size
  45. 6918 3 argument * conflicts with prototype
  46. 7109 3 argument list conflicts with prototype
  47. 7302 1 argument redeclared: *
  48. 7401 1 arguments redeclared
  49. 7529 3 arithmetic overflow in constant expression
  50. 7749 3 array dimension on *[] ignored
  51. 7939 2 array index out of bounds
  52. 8087 1 assertion
  53. 8201 2 attempt to modify const object
  54. 8321 2 auto variable * should not be qualified
  55. 8506 3 bad #if ... defined() syntax
  56. 8698 1 bad '-p' format
  57. 8764 7 bad -a spec: *
  58. 8985 3 bad -m option: -m*
  59. 9155 2 bad -q option *
  60. 9300 3 bad arg (*) to tysize
  61. 9494 2 bad arg to *l
  62. 9609 1 bad arg to -b
  63. 9668 2 bad arg to e: *
  64. 9823 2 bad arg to extraspecial
  65. 9968 1 bad arg to im
  66. 10054 2 bad bconfloat - *
  67. 10201 2 bad bit address
  68. 10298 2 bad bit number
  69. 10379 1 bad bitfield type
  70. 10440 1 bad character const
  71. 10522 1 bad character in extended tekhex line *
  72. 10612 1 bad checksum specification
  73. 10704 1 bad combination of flags
  74. 10788 3 bad complex relocation
  75. 10937 2 bad confloat - *
  76. 11083 2 bad conval - *
  77. 11229 2 bad dimensions
  78. 11361 2 bad dp/nargs in openpar: dp = *
  79. 11454 3 bad element count expr
  80. 11627 3 bad float operand size
  81. 11764 2 bad gn
  82. 11923 4 bad high address in -a spec
  83. 12149 2 bad int. code
  84. 12253 4 bad load address in -a spec
  85. 12492 4 bad low address in -a spec
  86. 12727 2 bad mod    '+' for    how = *
  87. 12890 4 bad non-zero node in call graph
  88. 13136 3 bad object code format
  89. 13296 2 bad op * to revlog
  90. 13447 2 bad op * to swaplog
  91. 13588 2 bad op: *
  92. 13733 2 bad operand size
  93. 13838 3 bad origin format in spec
  94. 13974 2 bad popreg
  95. 14118 2 bad pragma *
  96. 14220 2 bad psnext list
  97. 14361 2 bad pushreg
  98. 14505 2 bad putwsize
  99. 14654 2 bad record type *
  100. 14747 2 bad relocation type
  101. 14888 2 bad ret_mask
  102. 15038 2 bad segment fixups
  103. 15135 13 bad segspec *
  104. 15564 5 bad size in -s option
  105. 15796 2 bad size list
  106. 15930 6 bad storage class
  107. 16277 3 bad string '*' in psect pragma
  108. 16457 2 bad sx
  109. 16600 2 bad u usage
  110. 16751 2 bad variable syntax
  111. 16914 2 bit field too large (* bits)
  112. 17028 2 bug: illegal __ macro *
  113. 17142 4 can't allocate space for port variables: *
  114. 17386 1 can't be both far and near
  115. 17455 2 can't be long
  116. 17575 2 can't be register
  117. 17670 1 can't be short
  118. 17778 1 can't be unsigned
  119. 17873 5 can't call an interrupt function
  120. 18220 2 can't create *
  121. 18346 3 can't create cross reference file *
  122. 18523 2 can't create temp file *
  123. 18660 1 can't create xref file *
  124. 18744 2 can't enter abs psect
  125. 18912 3 can't find space for psect * in segment *
  126. 19106 3 can't generate code for this expression
  127. 19300 3 can't have 'port' variable: *
  128. 19543 5 can't have array of functions
  129. 19878 2 can't initialise auto aggregates
  130. 20013 2 can't initialize a basepage variable
  131. 20141 3 can't initialize arg
  132. 20361 4 can't mix proto and non-proto args
  133. 20623 1 can't open
  134. 20678 2 can't open *
  135. 20834 2 can't open command file *
  136. 20929 2 can't open file *
  137. 21058 3 can't open include file *
  138. 21216 1 can't reopen *
  139. 21325 3 can't take address of register variable
  140. 21519 2 can't take sizeof func
  141. 21631 3 can't take this address
  142. 21816 2 can't use a string in an #if
  143. 21906 2 cannot get memory
  144. 22012 1 cannot open
  145. 22069 1 cannot open *
  146. 22150 5 cannot open include file *
  147. 22427 3 cast type must be scalar or void
  148. 22610 2 char const too long
  149. 22725 5 close error (disk space?)
  150. 23042 4 closing quote expected
  151. 23327 2 common symbol psect conflict: *
  152. 23449 2 complex relocation not supported for -r or -l options yet
  153. 23585 2 conflicting operand sizes
  154. 23696 6 constant conditional branch
  155. 24103 3 constant conditional branch: possible use of = instead of == 
  156. 24339 2 constant expression required
  157. 24462 2 constant left operand to ?
  158. 24621 2 constant operand to || or &&
  159. 24776 4 constant relational expression
  160. 25055 2 control line * within macro expansion
  161. 25219 4 declaration of * hides outer declaration
  162. 25477 3 declarator too complex
  163. 25691 2 default case redefined
  164. 25822 1 deff not supported in cp/m version
  165. 25911 9 degenerate signed comparison
  166. 26211 9 degenerate unsigned comparison
  167. 26438 4 digit out of range
  168. 26724 3 dimension required
  169. 26904 2 direct addressing required
  170. 27027 1 directive not recognized
  171. 27127 2 divide by zero in #if, zero result assumed
  172. 27239 1 division by zero
  173. 27347 3 double float argument required
  174. 27554 1 duplicate -d flag
  175. 27618 3 duplicate -m flag
  176. 27782 2 duplicate base register
  177. 27904 1 duplicate case label
  178. 28000 1 duplicate case label *
  179. 28108 2 duplicate displacement in operand
  180. 28208 2 duplicate fnconf directive
  181. 28364 2 duplicate index register
  182. 28456 3 duplicate label *
  183. 28640 3 duplicate qualifier
  184. 28842 2 duplicate qualifier key * (*)
  185. 28997 2 duplicate qualifier name *
  186. 29153 1 duplicate qualifier*
  187. 29247 2 end of file within macro argument
  188. 29419 3 end statement inside include file or macro
  189. 29596 2 entry point multiply defined
  190. 29701 2 enum tag or { expected
  191. 29834 2 eof in #asm
  192. 29971 2 eof inside conditional
  193. 30079 2 eof inside macro def'n
  194. 30212 5 eof on string file
  195. 30532 6 error closing output file
  196. 30902 4 error in format string
  197. 31156 1 esp not permitted as index register
  198. 31217 2 expand - bad how
  199. 31367 2 expand - bad which
  200. 31522 4 expected '-' in -a spec
  201. 31647 2 exponent expected
  202. 31742 3 expression error
  203. 31928 2 expression generates no code
  204. 32068 3 expression stack overflow at op *
  205. 32247 2 expression syntax
  206. 32341 2 expression too complex
  207. 32505 11 external declaration inside function
  208. 33225 2 fail directive: *
  209. 33366 3 filename work buffer overflow
  210. 33566 4 fixup overflow referencing *
  211. 33794 1 flag * unknown
  212. 33894 6 float param coerced to double
  213. 34295 2 floating exponent too large
  214. 34440 2 floating number expected
  215. 34543 2 form length must be >= 15
  216. 34678 9 formal parameter expected after #
  217. 35046 3 function body expected
  218. 35244 11 function declared implicit int
  219. 35945 2 function does not take arguments
  220. 36077 7 function is already 'extern'; can't be 'static'
  221. 36466 4 function or function pointer required
  222. 36755 3 function's local data too large
  223. 36929 2 functions can't return arrays
  224. 37056 5 functions can't return functions
  225. 37346 2 functions nested too deep
  226. 37454 2 garbage after operands
  227. 37589 2 garbage on end of line
  228. 37775 2 hc11 and h301 are incompatible
  229. 37909 2 hex digit expected
  230. 38013 2 ident records do not match
  231. 38159 2 identifier expected
  232. 38276 2 identifier redefined: *
  233. 38367 7 illegal # command *
  234. 38698 2 illegal #if line
  235. 38839 2 illegal #undef argument
  236. 38936 2 illegal '#' directive
  237. 39068 5 illegal -o flag
  238. 39232 2 illegal -p flag
  239. 39346 1 illegal addressing mode
  240. 39408 3 illegal character (*)
  241. 39592 2 illegal character (0*)
  242. 39706 3 illegal character * in #if
  243. 39889 2 illegal conversion
  244. 40051 5 illegal conversion between pointer types
  245. 40423 5 illegal conversion of integer to pointer
  246. 40745 5 illegal conversion of pointer to integer
  247. 41041 1 illegal flag *
  248. 41099 5 illegal function qualifier(s)
  249. 41411 2 illegal initialisation
  250. 41554 2 illegal or too many -p flags
  251. 41642 2 illegal record type
  252. 41820 2 illegal register for indirection
  253. 41939 3 illegal relocation size: *
  254. 42157 2 illegal relocation type: *
  255. 42321 2 illegal stack index
  256. 42416 1 illegal switch *
  257. 42495 2 illegal type for array dimension
  258. 42605 1 illegal type for index expression
  259. 42709 2 illegal type for switch expression
  260. 42842 3 illegal use of void expression
  261. 43014 2 image too big
  262. 43145 3 implicit conversion of float to integer
  263. 43379 5 implicit return at end of non-void function
  264. 43694 9 implict signed to unsigned conversion
  265. 44268 3 inappropriate 'else'
  266. 44452 4 inappropriate break/continue
  267. 44737 2 include files nested too deep
  268. 44942 4 incompatible intermediate code version; should be *.*
  269. 45228 2 incomplete * record body: length = *
  270. 45368 1 incomplete record
  271. 45457 4 incomplete record: type = * length = *
  272. 45643 2 inconsistent storage class
  273. 45764 2 inconsistent type
  274. 45885 1 index offset too large
  275. 45996 1 indirection on illegal register
  276. 46065 2 initialisation syntax
  277. 46229 3 initializer in 'extern' declaration
  278. 46464 1 insufficient memory for macro def'n
  279. 46551 4 integer constant expected
  280. 46781 2 integer expression required
  281. 46936 2 integral argument required
  282. 47097 1 integral type required
  283. 47181 2 invalid disable: *
  284. 47267 2 invalid number syntax
  285. 47404 2 invalid operand size
  286. 47544 2 invalid short addressing
  287. 47663 2 invalid short addressing override
  288. 47788 2 jump out of range
  289. 47961 3 jump target out of range
  290. 48133 1 label identifier expected
  291. 48216 5 large stack offset for *
  292. 48543 1 lexical error
  293. 48647 4 line does not have a newline on the end
  294. 48906 4 line too long
  295. 49139 2 local illegal outside macros
  296. 49326 1 local psect '*' conflicts with global psect of same name
  297. 49409 2 logical type required
  298. 49565 2 long argument required
  299. 49721 2 macro * wasn't defined
  300. 49877 2 macro argument after % must be absolute
  301. 50064 2 macro argument may not appear after local
  302. 50204 2 macro expansions nested too deep
  303. 50347 2 macro name used as symbol
  304. 50483 3 macro work area overflow
  305. 50702 2 member * redefined
  306. 50826 4 members cannot be functions
  307. 51084 5 mismatched comparision
  308. 51486 3 misplaced '?' or ':', previous operator is *
  309. 51650 3 misplaced constant in #if
  310. 51808 1 missing ')'
  311. 51891 3 missing '=' in class spec
  312. 51951 1 missing ']'
  313. 52029 3 missing arg to -u
  314. 52109 2 missing arg to -w
  315. 52201 5 missing argument to 'pragma psect'
  316. 52438 4 missing basic type: int assumed
  317. 52666 4 missing name after pragma 'printf_check'
  318. 52856 2 missing number after % in -p option
  319. 52977 8 missing number after pragma 'pack'
  320. 53338 2 missing operand size
  321. 53433 2 missing size for align
  322. 53541 1 missing size for dc
  323. 53640 2 mixed 16 and 32 bit index registers
  324. 53786 2 mod by zero in #if, zero result assumed
  325. 53924 6 module has code below file base of *
  326. 54277 3 multi-byte constant * isn't portable
  327. 54446 1 multiply defined symbol *
  328. 54542 1 multiply defined symbol: *
  329. 54619 2 negative index offset
  330. 54708 3 nested comments
  331. 54881 2 no #asm before #endasm
  332. 54977 2 no arg to -o
  333. 55142 1 no case    labels
  334. 55199 1 no case labels
  335. 55265 2 no end record
  336. 55368 2 no end record found
  337. 55497 1 no file argument
  338. 55561 2 no file arguments
  339. 55679 3 no identifier in declaration
  340. 55860 3 no memory for string buffer
  341. 56058 1 no space for macro def'n
  342. 56142 4 no start record: entry point defaults to zero
  343. 56427 2 no. of arguments redeclared
  344. 56560 2 nodecount = *
  345. 56715 2 non-constant case label
  346. 56830 3 non-prototyped function declaration: *
  347. 57066 3 non-scalar types can't be converted
  348. 57260 2 non-void function returns no value
  349. 57408 2 not a member of the struct/union *
  350. 57526 2 not a variable identifier: *
  351. 57632 3 not an argument: *
  352. 57808 3 object file is not absolute
  353. 58019 1 one segment override only permitted
  354. 58120 2 only functions may be qualified interrupt
  355. 58224 1 only functions may be void
  356. 58330 6 only lvalues may be assigned to or modified
  357. 58756 2 only register storage class allowed
  358. 58863 1 oops! -ve number of nops required!
  359. 58926 2 operand error
  360. 59080 3 operand size undefined
  361. 59271 4 operands of * not same pointer type
  362. 59508 4 operands of * not same type
  363. 59744 3 operator * in incorrect context
  364. 59903 1 option not supported
  365. 59965 3 out of far memory
  366. 60195 2 out of far memory (wanted * bytes)
  367. 60312 5 out of memory
  368. 60613 3 out of near memory
  369. 60832 2 out of space in macro * arg expansion
  370. 60979 3 output file cannot be also an input file
  371. 61189 2 page width must be >= 41
  372. 61327 3 phase error
  373. 61510 2 phase error in macro args
  374. 61648 2 phase error on temporary label
  375. 61772 2 pointer required
  376. 61918 2 pointer to * argument required
  377. 62076 1 pop immediate illegal
  378. 62144 2 pop of allreg!!
  379. 62293 2 pop of register *
  380. 62446 2 popreg    - bad reg *(*)
  381. 62594 2 popreg - bad reg
  382. 62781 2 popreg - trying to pop * with 0* regbits - can't do it!
  383. 62948 2 portion of expression has no effect
  384. 63068 5 possible pointer truncation
  385. 63373 2 preprocessor assertion failure
  386. 63521 5 probable missing '}' in previous block
  387. 63840 1 psect * cannot be in classes *
  388. 63914 1 psect * in more than one group
  389. 64006 4 psect * not loaded on * boundary
  390. 64231 3 psect * not relocated on * boundary
  391. 64400 3 psect * not specified in -p option
  392. 64568 2 psect * re-orged
  393. 64665 1 psect * selector value redefined
  394. 64759 3 psect * type redefined: *
  395. 64987 1 psect exceeds max size: *
  396. 65066 2 psect is absolute: *
  397. 65181 2 psect may not be local and global
  398. 65311 1 psect origin multiply defined: *
  399. 65389 2 psect property redefined
  400. 65487 2 psect reloc redefined
  401. 65598 2 psect selector redefined
  402. 65712 2 psect size redefined
  403. 65813 2 push of allreg!!
  404. 65963 2 push of register *
  405. 66112 2 pushreg    - bad reg
  406. 66266 2 pushreg    - bad reg *(*)
  407. 66455 2 pushreg - trying to push * with 0* regbits - can't do it!
  408. 66611 2 radix value out of range
  409. 66712 1 read error on *
  410. 66787 2 record too long
  411. 66879 2 record too long: *
  412. 67033 2 recursive macro definition of *
  413. 67161 3 redefining macro *
  414. 67380 3 redundant & applied to array
  415. 67551 2 reginit!!!???
  416. 67705 2 regused    - bad arg to g
  417. 67853 4 relocation error
  418. 68175 3 relocation offset * out of range 0..*
  419. 68367 2 relocation too complex
  420. 68471 1 remsym error
  421. 68550 1 rept argument must be >= 0
  422. 68643 1 restore without matching save
  423. 68734 2 revlog - bad op
  424. 68887 2 save/restore too deep
  425. 68983 2 scale value invalid
  426. 69087 1 scale value must be a constant
  427. 69162 1 seek error: *
  428. 69247 2 segment * overlaps segment *
  429. 69380 5 signatures do not match: *
  430. 69708 2 signed bitfields not supported
  431. 69869 2 simple integer expression required
  432. 70017 1 simple type required for *
  433. 70119 2 size error
  434. 70277 7 sizeof yields 0
  435. 70713 2 storage class illegal
  436. 70872 4 storage class redeclared
  437. 71110 4 strange character * after ##
  438. 71363 1 strange character after # *
  439. 71422 2 string expected
  440. 71515 1 string too long
  441. 71582 2 struct/union member expected
  442. 71683 1 struct/union redefined: *
  443. 71760 1 struct/union required
  444. 71858 2 struct/union tag or '{' expected
  445. 72004 2 structure too big for function return
  446. 72149 3 symbol * cannot be global
  447. 72373 3 symbol * has erroneous psect: *
  448. 72580 2 symbol * is not external
  449. 72753 3 symbol * not defined in #undef
  450. 72933 1 syntax error
  451. 73033 4 syntax error in -a spec
  452. 73149 3 syntax error in checksum list
  453. 73363 1 text does not start at 0
  454. 73441 1 text offset too low
  455. 73518 3 text record has bad length: *
  456. 73699 2 text record has length too small: *
  457. 73833 3 this function too large - try reducing level of optimization
  458. 74022 2 this is a struct
  459. 74179 2 this is a union
  460. 74332 2 this is an enum
  461. 74498 2 too few arguments
  462. 74605 2 too few arguments for format string
  463. 74770 3 too many (*) enumeration constants
  464. 74947 2 too many (*) structure members
  465. 75091 1 too many arguments
  466. 75196 2 too many arguments for format string
  467. 75343 1 too many arguments for macro
  468. 75448 2 too many arguments in macro expansion
  469. 75570 2 too many cases in switch
  470. 75744 4 too many comment lines - discarding
  471. 76024 2 too many errors
  472. 76191 2 too many include directories
  473. 76308 2 too many initializers
  474. 76469 1 too many macro parameters
  475. 76562 2 too many nested #* statements
  476. 76662 1 too many psect class specifications
  477. 76745 1 too many psect pragmas
  478. 76813 1 too many psects
  479. 76887 1 too many qualifier names
  480. 76960 2 too many relocation items
  481. 77051 1 too many segment fixups
  482. 77142 1 too many segments
  483. 77226 3 too many symbols
  484. 77448 2 too many temporary labels
  485. 77582 2 too may symbols
  486. 77710 1 too much indirection
  487. 77791 2 too much pushback
  488. 77889 1 type conflict
  489. 77963 3 type redeclared
  490. 78192 2 type specifier reqd. for proto arg
  491. 78326 2 unbalanced paren's, op is *
  492. 78465 1 undefined enum tag: *
  493. 78521 2 undefined label: *
  494. 78638 2 undefined operand size
  495. 78778 2 undefined public symbol *
  496. 78902 4 undefined shift (* bits)
  497. 79229 1 undefined struct/union
  498. 79318 2 undefined struct/union: *
  499. 79409 1 undefined symbol *
  500. 79514 3 undefined symbol * in #if, 0 used
  501. 79671 2 undefined symbol:
  502. 79818 1 undefined symbols:
  503. 79905 2 undefined temporary label
  504. 80040 1 undefined variable: *
  505. 80122 2 unexpected end of file
  506. 80239 1 unexpected eof
  507. 80340 10 unexpected text in #control line ignored
  508. 80645 2 unknown    predicate *
  509. 80800 1 unknown addressing mode
  510. 80876 1 unknown arg to opt
  511. 80944 2 unknown arg type to lpsize
  512. 81102 2 unknown complex operator *
  513. 81265 1 unknown directive
  514. 81333 2 unknown fnrec type *
  515. 81423 1 unknown option *
  516. 81492 1 unknown pragma *
  517. 81554 2 unknown psect: *
  518. 81674 2 unknown record type: *
  519. 81792 3 unreachable code
  520. 82017 2 unreasonable matching depth
  521. 82177 1 unrecognized argument to opt
  522. 82247 2 unrecognized option to -o: *
  523. 82349 2 unrecognized option to -z: *
  524. 82530 9 unrecognized qualifer name after 'strings'
  525. 82882 3 unterminated #if[n][def] block from line *
  526. 83030 2 unterminated macro arg
  527. 83161 1 unterminated string
  528. 83259 2 unterminated string in macro body
  529. 83344 1 unused constant: *
  530. 83430 1 unused enum: *
  531. 83513 1 unused label: *
  532. 83587 1 unused member: *
  533. 83675 1 unused structure: *
  534. 83758 1 unused typedef: *
  535. 83833 1 unused union: *
  536. 83926 1 unused variable declaration: *
  537. 84016 1 unused variable definition: *
  538. 84111 2 variable may be used before set: *
  539. 84285 2 void function cannot return value
  540. 84404 1 while expected
  541. 84492 2 work buffer overflow *
  542. 84615 2 write error (out of disk space?) *
  543. 84688 2 write error on *
  544. 84809 2 write error on object file
  545. 84998 1 wrong number of macro arguments for * - * instead of *
  546. 85071 1 { expected
  547. 85119 1 } expected
  548. %#define syntax error
  549. A macro definition has a syntax error. This could be due
  550. to a macro or formal parameter name that does not start
  551. with a letter or a missing closing parenthesis (')').
  552. %#elif may not follow #else
  553. If a #else has been used after #if, you cannot then use
  554. a #elif in the same conditional block.
  555. %#elif must be in an #if
  556. #elif must be preceded by a matching #if line. If there
  557. is an apparently corresponding #if line, check for things
  558. like extra #endif's, or improperly terminated comments.
  559. %#else may not follow #else
  560. There can be only one #else corresponding to each #if.
  561. %#else must be in an #if
  562. #else can only be used after a matching #if.
  563. %#error: *
  564. This is a programmer generated error; there is a directive
  565. causing a deliberate error. This is normally used to check
  566. compile time defines etc.
  567. %#if ... sizeof() syntax error
  568. The preprocessor found a syntax error in  the argument to sizeof,
  569. in a #if expression. Probable causes are mismatched parentheses
  570. and similar things.
  571. %#if ... sizeof: bug, unknown type code *
  572. The preprocessor has made an internal error in evaluating
  573. a sizeof() expression. Check for a malformed type specifier.
  574. %#if ... sizeof: illegal type combination
  575. The preprocessor found an illegal type combination in
  576. the argument to sizeof() in a #if expression. Illegal
  577. combinations include such things as "short long int".
  578. %#if bug, operand = *
  579. The preprocessor has tried to evaluate an expression with
  580. an operator it does not understand. This is an internal error.
  581. %#if sizeof() error, no type specified
  582. Sizeof() was used in a preprocessor #if expression, but no
  583. type was specified. The argument to sizeof() in a preprocessor
  584. expression must be a valid simple type, or pointer to a simple type.
  585. %#if sizeof, unknown type *
  586. An unknown type was used in a preprocessor sizeof(). The
  587. preprocessor can only evaluate sizeof() with basic types, or
  588. pointers to basic types.
  589. %#if value stack overflow
  590. The preprocessor filled up its expression evaluation stack
  591. in a #if expression. Simplify the expression - it probably contains
  592. too many parenthesized subexpressions.
  593. %#if, #ifdef, or #ifndef without an argument
  594. The preprocessor directives #if, #ifdef and #ifndef must
  595. have an argument. The argument to #if should be an expression,
  596. while the argument to #ifdef or #ifndef should be a single name.
  597. %#include syntax error
  598. The syntax of the filename argument to #include is invalid. The
  599. argument to #include must be a valid file name, either enclosed in
  600. double quotes ("") or angle brackets (<>). For example:
  601. #include    "afile.h"
  602. #include    <otherfile.h>
  603. Spaces should not be included, and the closing quote or bracket must be present. There
  604. should be nothing else on the line.
  605. %'.' expected after '..'
  606. The only context in which two successive dots may appear is as part of the
  607. ellipsis symbol, which must have 3 dots.
  608. %'.' not followed by 'w' or 'b'
  609. A dot (.) introduces an operand size specifier, so it must be followed
  610. by an appropriate specifier. .W is for words, .B for bytes.
  611. %'=' expected after lle
  612. The LLE option requires an equal sign, then the desired listing line length
  613. as a decimal number, e.g.
  614.  
  615. opt    lle=80
  616. %'=' expected after p
  617. The P option specifies a page length, and must have an equal sign and a
  618. decimal number, e.g.
  619.  
  620. opt    p=66
  621. %'case' not in switch
  622. A case statement has been encountered but there is no enclosing switch
  623. statement. A case statement may only appear inside the body of a
  624. switch statement.
  625. %'default' not in switch
  626. A label has been encountered called "default" but it is not
  627. enclosed by a switch statement.  The label "default" is only legal
  628. inside the body of a switch
  629. statement. 
  630. %( expected
  631. An opening parenthesis was expected here. This must be the first token
  632. after a while, for, if, do or asm keyword.
  633. %) expected
  634. A closing parenthesis was expected here. This may indicate you have
  635. left out a parenthesis in an expression, or you have some other
  636. syntax error.
  637. %, expected
  638. A comma was expected here. This probably means you have left out the comma
  639. between two identifiers in a declaration list. It may also mean that
  640. the immediately preceding type name is misspelled, and has thus been
  641. interpreted as an identifier.
  642. %-s, too few values specified in *
  643. The list of values to the preprocessor -S option is incomplete.
  644. This should not happen if the preprocessor is being invoked by the
  645. compiler driver or HPD.
  646. %-s, too many values, * unused
  647. There were too many values supplied to a -S preprocessor option.
  648. %... illegal in non-prototype arg list
  649. The ellipsis symbol may only appear as the last item in a prototyped
  650. argument list. It may not appear on its own, nor may it appear after
  651. argument names that do not have types.
  652. %32 bit addressing illegal
  653. 32 bit addressing (i.e. using 32 bit registers in an index expression)
  654. is illegal unless generating 386 or 486 code. Use a .386 or .486
  655. directive at the beginning of the file.
  656. %6301 instruction illegal
  657. This instruction is for the 6301 and is illegal unless an appropriate
  658. option is used, e.g.
  659.  
  660. opt    h301
  661. %6801 instruction illegal
  662. The 6801 instructions can only be used if an appropriate
  663. option is used, to allow 6801, 68HC11 or 6301 instructions. E.g.
  664.  
  665. opt    z01
  666. %68hc11 instruction illegal
  667. 68HC11 instructions can only be used if the HC11 option is
  668. used, e.g.
  669.  
  670. opt    HC11
  671. %68hc11/6301 instruction illegal
  672. This instruction is only implemented in the 68HC11 and 6301
  673. processors. Use an HC11 or H301 option, e.g.
  674.  
  675. opt    HC11
  676. %80186 instruction/addressing mode
  677. An instruction or addressing mode not supported by the 8088/8086 was
  678. encountered. Use a .186, .286. .386 or .486 directive to allow these.
  679. %80286 instruction
  680. An instruction peculiar to the 80286
  681. encountered. Use a .286. .386 or .486 directive to allow these.
  682. %80386 instruction/addressing mode
  683. An instruction or addressing mode peculiar to the 80386
  684. encountered. Use a .386 or .486 directive to allow these.
  685. %80486 instruction/addressing mode
  686. An instruction or addressing mode peculiar to the 80486
  687. encountered. Use a .486 directive to allow these.
  688. %: expected
  689. A colon is missing in a case label, or after the keyword "default".
  690. This often occurs when a semicolon is accidentally typed instead of
  691. a colon.
  692. %; expected
  693. A semicolon is missing here. The semicolon is used as a terminator in
  694. many kinds of statements, e.g. do .. while, return etc.
  695. %= expected
  696. An equal sign was expected here.
  697. %] expected
  698. A closing square bracket was expected in an array declaration or
  699. an expression using an array index.
  700. %a parameter may not be a function
  701. A function parameter may not be a function. It may be a pointer to
  702. a function, so perhaps a "*" has been omitted from the declaration.
  703. %absolute expression required
  704. An absolute expression is required in this context.
  705. %add_reloc - bad size
  706. This is an internal error that should never happen. The assembler may
  707. be corrupted, and should be re-installed from the original distribution
  708. disks.
  709. %argument * conflicts with prototype
  710. The argument specified (argument 1 is the left most argument) of this
  711. function declaration does not agree with a previous prototype for this
  712. function.
  713. %argument list conflicts with prototype
  714. The argument list in a function definition is not the same as a previous
  715. prototype for that function. Check that the number and types of the
  716. arguments are all the same.
  717. %argument redeclared: *
  718. The specified argument is declared more than once in the same argument list.
  719. %arguments redeclared
  720. The arguments of the function have been declared differently in two or more places.
  721. %arithmetic overflow in constant expression
  722. A constant expression has been evaluated by the code generator
  723. that has resulted in a value that is too big for the type of
  724. the expression, e.g. trying to store the value 256 in a "char".
  725. %array dimension on *[] ignored
  726. An array dimension on a function parameter is ignored, because the argument is
  727. actually converted to a pointer when passed. Thus arrays of any size may
  728. be passed.
  729. %array index out of bounds
  730. An array is being indexed with a constant value that is less than zero, or greater
  731. than or equal to the number of elements in the array.
  732. %assertion
  733. An internal error has occured in the compiler. Contact HI-TECH technical support.
  734. %attempt to modify const object
  735. Objects declared "const" may not be assigned to or modified in any
  736. other way..
  737. %auto variable * should not be qualified
  738. An auto variable should not have qualifiers such as "near" or "far" associated
  739. with it. Its storage class is implicitly defined by the stack organization.
  740. %bad #if ... defined() syntax
  741. The defined() pseudo-function in a preprocessor expression
  742. requires its argument to be a single name. The name must start with
  743. a letter. It should be enclosed in parentheses.
  744. %bad '-p' format
  745. The "-P" option given to the linker is malformed.
  746. %bad -a spec: *
  747. The format of a -A specification, giving address ranges to the linker,
  748. is invalid. The correct format is:
  749.  
  750. -Aclass=low-high
  751.  
  752. where class is the name of a psect class, and low and high are hex
  753. numbers.
  754. %bad -m option: -m*
  755. The code generator has been passed a -M option that it does not
  756. understand. This should not happen if it is being invoked by a
  757. standard compiler driver.
  758. %bad -q option *
  759. The first pass of the compiler has been invoked with a -Q option,
  760. to specify a type qualifier name, that is badly formed.
  761. %bad arg (*) to tysize
  762. This is an internal error that should not happen. If this occurs, re-install
  763. the compiler from the original distribution disks, as it could represent
  764. a corrupted executable file.
  765. %bad arg to *l
  766. The *L directive should be followed by either ON or OFF.
  767. This turns listing on or off respectively.
  768. %bad arg to -b
  769. The argument supplied to "-B" is invalid.
  770. %bad arg to e: *
  771. This is an internal code generator error. Contact HI-TECH technical
  772. support with full details of the code that caused this error.
  773. %bad arg to extraspecial
  774. This is an internal code generator error. Contact HI-TECH technical
  775. support with full details of the code that caused this error.
  776. %bad arg to im
  777. The opcode "IM" only takes the constants 0, 1 or 2 as an argument.
  778. %bad bconfloat - *
  779. This is an internal code generator error. Contact HI-TECH technical
  780. support with full details of the code that caused this error.
  781. %bad bit address
  782. This bit address is invalid. Bit addresses for the 8051
  783. may range from 0 to 255.
  784. %bad bit number
  785. A bit number must be an absolute expression in the range
  786. 0-7.
  787. %bad bitfield type
  788. A bitfield may only have a type of int.
  789. %bad character const
  790. This character constant is badly formed.
  791. %bad character in extended tekhex line *
  792. This is an internal error in objtohex and should never occur.
  793. %bad checksum specification
  794. A checksum list supplied to the linker is syntatically incorrect.
  795. %bad combination of flags
  796. The combination of options supplied to objtohex is invalid.
  797. %bad complex relocation
  798. The linker has been asked to perform complex relocation
  799. that is not syntactically correct. Probably means a corrupted
  800. object file.
  801. %bad confloat - *
  802. This is an internal code generator error. Contact HI-TECH technical
  803. support with full details of the code that caused this error.
  804. %bad conval - *
  805. This is an internal code generator error. Contact HI-TECH technical
  806. support with full details of the code that caused this error.
  807. %bad dimensions
  808. The code generator has been passed a declaration that
  809. results in an array having a zero dimension.
  810. %bad dp/nargs in openpar: dp = *
  811. This is an internal error in the preprocessor. It should
  812. not happen.
  813. %bad element count expr
  814. There is an error in the intermediate code. Try re-installing the
  815. compiler from the distribution disks, as this could be caused by a
  816. corrupted file.
  817. %bad float operand size
  818. The operand size for a DF pseudo-op must be either .L for
  819. long (4 byte) floating point values, or .D for double (8 byte)
  820. floats.
  821. %bad gn
  822. This is an internal code generator error. Contact HI-TECH technical
  823. support with full details of the code that caused this error.
  824. %bad high address in -a spec
  825. The high address given in a -A specification is invalid: it
  826. should be a valid number, in decimal, octal or hexadecimal radix.
  827. The radix is specified by a trailing O (for octal) or H for
  828. hex. Decimal is default.
  829. %bad int. code
  830. The code generator has been passed input that is not syntatically
  831. correct.
  832. %bad load address in -a spec
  833. The load address given in a -A specification is invalid: it
  834. should be a valid number, in decimal, octal or hexadecimal radix.
  835. The radix is specified by a trailing O (for octal) or H for
  836. hex. Decimal is default.
  837. %bad low address in -a spec
  838. The low address given in a -A specification is invalid: it
  839. should be a valid number, in decimal, octal or hexadecimal radix.
  840. The radix is specified by a trailing O (for octal) or H for
  841. hex. Decimal is default.
  842. %bad mod    '+' for    how = *
  843. This is an internal code generator error. Contact HI-TECH technical
  844. support with full details of the code that caused this error.
  845. %bad non-zero node in call graph
  846. The linker has encountered a top level node in the call graph
  847. that is referenced from lower down in the call graph. This
  848. probably means the program has indirect recursion, which is
  849. not allowed when using a compiled stack.
  850. %bad object code format
  851. The object code format of this object file is invalid. This probably
  852. means it is either truncated, corrupted, or not a HI-TECH object
  853. file.
  854. %bad op * to revlog
  855. This is an internal code generator error. Contact HI-TECH technical
  856. support with full details of the code that caused this error.
  857. %bad op * to swaplog
  858. This is an internal code generator error. Contact HI-TECH technical
  859. support with full details of the code that caused this error.
  860. %bad op: *
  861. This is caused by an error in the intermediate code file. You may
  862. have run out of disk (or RAMdisk) space for temporary files.
  863. %bad operand size
  864. This instruction requires an operand size of byte. Any other
  865. size is illegal.
  866. %bad origin format in spec
  867. The origin format in a -p option is not a validly formed
  868. decimal, octal or hex number. A hex number must have a
  869. trailing H.
  870. %bad popreg
  871. This is an internal code generator error. Contact HI-TECH technical
  872. support with full details of the code that caused this error.
  873. %bad pragma *
  874. The code generator has been passed a "pragma" directive that it
  875. does not understand.
  876. %bad psnext list
  877. This is an internal assembler error. Contact HI-TECH technical
  878. support with full details of the code that caused this error.is 
  879. %bad pushreg
  880. This is an internal code generator error. Contact HI-TECH technical
  881. support with full details of the code that caused this error.
  882. %bad putwsize
  883. This is an internal code generator error. Contact HI-TECH technical
  884. support with full details of the code that caused this error.
  885. %bad record type *
  886. This indicates that the object file is not a valid
  887. HI-TECH object file.
  888. %bad relocation type
  889. This is an internal assembler error. Contact HI-TECH technical
  890. support with full details of the code that caused this error.is
  891. %bad ret_mask
  892. This is an internal code generator error. Contact HI-TECH technical
  893. support with full details of the code that caused this error.
  894. %bad segment fixups
  895. This is an obscure message from objtohex that is not
  896. likely to occur in practice.
  897. %bad segspec *
  898. The segspec option (-G) to the linker is invalid. The correct
  899. form of a segspec option is along the following lines:
  900.  
  901. -Gnxc+o
  902.  
  903. where n stands for the segment number, x is a multiplier
  904. symbol, c is a constant (multiplier) and o is a constant
  905. offset. For example the option
  906.  
  907. -Gnx4+16
  908.  
  909. would assign segment selectors starting from 16, and incrementing
  910. by 4 for each segment, i.e. in the order 16, 20, 24 etc.
  911. %bad size in -s option
  912. The size part of a -S option is not a validly
  913. formed number. The number must be a decimal, octal
  914. or hex number. A hex number needs a trailing H, and
  915. an octal number a trailing O. All others are assumed
  916. to be decimal.
  917. %bad size list
  918. The first pass of the compiler has been invoked with a -Z option,
  919. specifying sizes of types, that is badly formed.
  920. %bad storage class
  921. The storage class "auto" may only be used inside a function. A function
  922. parameter may not have any storage class specifier other than
  923. "register".
  924. If this error is issued by the code generator, it could mean that
  925. the intermediate code file is invalid. This could be caused
  926. by running out of disk (or RAMdisk) space.
  927. %bad string '*' in psect pragma
  928. The code generator has been passed a "pragma psect" directive
  929. that has a badly formed string. "Pragma psect" should be followed
  930. by something of the form "oldname=newname".
  931. %bad sx
  932. This is an internal code generator error. Contact HI-TECH technical
  933. support with full details of the code that caused this error.
  934. %bad u usage
  935. This is an internal code generator error. Contact HI-TECH technical
  936. support with full details of the code that caused this error.
  937. %bad variable syntax
  938. There is an error in the intermediate code file. This could be caused by
  939. running out of disk (or RAMdisk) space for temporary files.
  940. %bit field too large (* bits)
  941. The maximum number of bits in a bit field is the same as the
  942. number of bits in an "int".
  943. %bug: illegal __ macro *
  944. This is an internal error in the preprocessor that
  945. should not happen.
  946. %can't allocate space for port variables: *
  947. "Port" variables may only be declared "extern" or have an
  948. absolute address associated via the "@ address" construct. They
  949. may not be declared in such a way that would require the compiler
  950. to allocate space for them.
  951. %can't be both far and near
  952. It is illegal to qualify a type as both far and near.
  953. %can't be long
  954. Only "int" and "float" can be qualified with "long". Thus combinations
  955. like "long char" are illegal.
  956. %can't be register
  957. Only function parameters or auto (local) variables may be declared
  958. "register".
  959. %can't be short
  960. Only "int" can be modified with short. Thus combinations like "short float" are illegal.
  961. %can't be unsigned
  962. There is no such thing as an unsigned floating point number.
  963. %can't call an interrupt function
  964. A function qualified "interrupt" can't be called from other functions.
  965. It can only be called by a hardware (or software) interrupt. This is
  966. because an interrupt function has special function entry and exit code
  967. that is appropriate only for calling from an interrupt. An
  968. "interrupt" function can call other non-interrupt functions.
  969. %can't create *
  970. The named file could not be created. Check that all directories in the
  971. path are present.
  972. %can't create cross reference file *
  973. The cross reference file could not be created. Check that
  974. all directories are present. This can also be caused by the
  975. assembler running out of memory.
  976. %can't create temp file *
  977. The compiler could not create the temporary file named. Check that all the
  978. directories in the file path exist.
  979. %can't create xref file *
  980. An output file for the cross reference could not be created.
  981. %can't enter abs psect
  982. This is an internal assembler error. Contact HI-TECH technical
  983. support with full details of the code that caused this error.
  984. %can't find space for psect * in segment *
  985. The named psect cannot be placed in the specified segment.
  986. This probably means your code has got too big for the
  987. specified ROM space (using -A options).
  988. %can't generate code for this expression
  989. This expression is too difficult for the code generator to handle.
  990. Try simplifying the expression, e.g. using a temporary variable
  991. to hold an intermediate result.
  992. %can't have 'port' variable: *
  993. The qualifier "port" can be used only with pointers or absolute variables.
  994. You cannot define a port variable as the compiler does not allocate space
  995. for port variables. You can declare an external port variable.
  996. %can't have array of functions
  997. You can't have an array of functions. You can however have an array
  998. of pointers to functions. The correct syntax for an array of pointers
  999. to functions is "int (* arrayname[])();". Note that parentheses are
  1000. used to associate the star (*) with the array name before the
  1001. parentheses denoting a function.
  1002. %can't initialise auto aggregates
  1003. You can't initialise structures or arrays local to a function unless
  1004. they are declared "static".
  1005. %can't initialize a basepage variable
  1006. A basepage variable can't be initialized, as the basepage is RAM and is
  1007. not initialized at program start.
  1008. %can't initialize arg
  1009. A function argument can't have an initialiser. The initialisation of
  1010. the argument happens when the function is called and a value is
  1011. provided for the argument by the calling function.
  1012. %can't mix proto and non-proto args
  1013. A function declaration can only have all prototyped arguments (i.e.
  1014. with types inside the parentheses) or all K&R style args (i.e. only
  1015. names inside the parentheses and the argument types in a declaration
  1016. list before the start of the function body).
  1017. %can't open
  1018. A file can't be opened - check spelling.
  1019. %can't open *
  1020. The named file could not be opened. Check the spelling and the
  1021. directory path. This can also be caused by running out of memory.
  1022. %can't open command file *
  1023. The command file specified could not be opened
  1024. for reading. Check spelling!
  1025. %can't open file *
  1026. The named file could not be opened. Check spelling. This can
  1027. also be caused by running out of memory.
  1028. %can't open include file *
  1029. The named include file could not be opened. Check spelling.
  1030. This can also be caused by running out of memory, or running
  1031. out of file handles.
  1032. %can't reopen *
  1033. The compiler could not reopen a temporary file it had just created.
  1034. %can't take address of register variable
  1035. A variable declared "register" may not have storage allocated for it
  1036. in memory, and thus it is illegal to attempt to take the address of
  1037. it by applying the "&" operator.
  1038. %can't take sizeof func
  1039. Functions don't have sizes, so you can't take use the "sizeof"
  1040. operator on a function.
  1041. %can't take this address
  1042. The expression which was the object of the "&" operator is not one
  1043. that denotes memory storage ("an lvalue") and therefore its address
  1044. can not be defined.
  1045. %can't use a string in an #if
  1046. The preprocessor does not allow the use of strings in #if
  1047. expressions.
  1048. %cannot get memory
  1049. The linker is out of memory! This is unlikely
  1050. to happen, but removing TSR's etc is the cure.
  1051. %cannot open
  1052. A file cannot be opened - check spelling.
  1053. %cannot open *
  1054. The file specified cannot be opened. Check spelling.
  1055. %cannot open include file *
  1056. The named include file could not be opened for
  1057. reading by the preprocessor. Check the spelling of the
  1058. filename. If it is a standard header file, not in the
  1059. current directory, then the name should be enclosed in
  1060. angle brackets (<>) not quotes.
  1061. %cast type must be scalar or void
  1062. A typecast (an abstract type declarator enclosed in parentheses)
  1063. must denote a type which is either scalar (i.e. not an array or a
  1064. structure) or the type "void".
  1065. %char const too long
  1066. A character constant enclosed in single quotes may not contain more
  1067. than one character.
  1068. %close error (disk space?)
  1069. When the compiler closed a temporary file, an error was reported.
  1070. The most likely cause of this is that there was insufficient space
  1071. on disk for the file. Note that temporary files may be created on a
  1072. RAM disk, so even if your hard disk has ample space it is still
  1073. possible to get this error.
  1074. %closing quote expected
  1075. A newline (end of line) was encountered before a matching closing
  1076. quote was seen. This could be caused by the closing quote having
  1077. been omitted, or by an extra quote character being inserted in the
  1078. string without an escape character (\\) preceding it.
  1079. %common symbol psect conflict: *
  1080. A common symbol has been defined to be in more than
  1081. one psect.
  1082. %complex relocation not supported for -r or -l options yet
  1083. The linker was given a -R or -L option with file that
  1084. contain complex relocation. This is not yet supported.
  1085. %conflicting operand sizes
  1086. This instruction has more than one operand size specified.
  1087. They are incompatible.
  1088. %constant conditional branch
  1089. A conditional branch (generated by an "if" statement etc.)
  1090. always follows the same path. This may indicate an expression
  1091. with missing or badly placed parentheses, causing the evaluation
  1092. to yield a value different to what you expected, or it may be
  1093. because you have written something like "while(1)". To produce
  1094. an infinite loop, use "for(;;)".
  1095. %constant conditional branch: possible use of = instead of == 
  1096. There is an expression inside an if or other conditional construct, where
  1097. a constant is being assigned to a variable. This may mean you have inadvertentley
  1098. used an assignment (=) instead of a compare (==).
  1099. %constant expression required
  1100. In this context an expression is required that can be evaluated to a
  1101. constant at compile time.
  1102. %constant left operand to ?
  1103. The left operand to a conditional operator (?) is constant, thus the result of
  1104. the tertiary operator ?: will always be the same.
  1105. %constant operand to || or &&
  1106. One operand to the logical operators || or && is a constant. Check
  1107. the expression for missing or badly placed parentheses.
  1108. %constant relational expression
  1109. There is a relational expression that will always be true or false. This may be
  1110. because e.g. you are comparing an unsigned number with a negative value, or
  1111. comparing a variable with a value greater than the largest number it can
  1112. represent.
  1113. %control line * within macro expansion
  1114. A preprocessor control line (one starting with a #) has been
  1115. encountered while expanding a macro. This should not happen.
  1116. %declaration of * hides outer declaration
  1117. An object has been declared that has the same name as an outer
  1118. declaration (i.e. one outside and preceding the current function or
  1119. block). This is legal, but can lead to accidental use of one variable
  1120. when the outer one was intended.
  1121. %declarator too complex
  1122. This declarator is too complex for the compiler to handle. Examine
  1123. the declaration and find a way to simplify it. If the compiler finds
  1124. it too complex, so will anybody maintaining the code.
  1125. %default case redefined
  1126. There is only allowed to be one "default" label in a switch
  1127. statement. You have more than one.
  1128. %deff not supported in cp/m version
  1129. The CP/M hosted assembler does not support floating point.
  1130. %degenerate signed comparison
  1131. There is a comparision of a signed value with the most negative value possible
  1132. for this type, such that the comparision will always be true or false. E.g.
  1133.  
  1134. char    c;
  1135.  
  1136. if(c >= -128)
  1137.  
  1138. will always be true, because an 8 bit signed char has a maximum negative value
  1139. of -128.
  1140. %degenerate unsigned comparison
  1141. There is a comparision of an unsigned value with zero, which will always be
  1142. true or false. E.g.
  1143.  
  1144. unsigned char    c;
  1145.  
  1146. if(c >= 0)
  1147.  
  1148. will always be true, because an unsigned value can never be less than zero.
  1149.  
  1150. %digit out of range
  1151. A digit in this number is out of range of the radix for the number,
  1152. e.g. using the digit 8 in an octal number, or hex digits A-F in a
  1153. decimal number. An octal number is denoted by the digit string
  1154. commencing with a zero, while a hex number starts with "0X" or "0x".
  1155. %dimension required
  1156. Only the most significant (i.e. the first) dimension in a
  1157. multi-dimension array may not be assigned a value. All succeeding
  1158. dimensions must be present.
  1159. %direct addressing required
  1160. Direct or indexed addressing is required for bit operations.
  1161. Extended addressing cannot be used.
  1162. %directive not recognized
  1163. An assembler directive is unrecognized. Check spelling.
  1164. %divide by zero in #if, zero result assumed
  1165. Inside a #if expression, there is a division by
  1166. zero which has been treated as yielding zero.
  1167. %division by zero
  1168. A constant expression that was being evaluated involved a division by zero.
  1169. %double float argument required
  1170. The printf format specifier corresponding to this argument is %f or similar,
  1171. and requires a floating point expression. Check for missing or extra
  1172. format specifiers or arguments to printf.
  1173. %duplicate -d flag
  1174. Only one -d flag can be given to the linker.
  1175. %duplicate -m flag
  1176. The linker only likes to see one -m flag, unless one
  1177. of them does not specify a file name. Two map file names
  1178. are more than it can handle!
  1179. %duplicate base register
  1180. Only one base register, i.e. only one of BP and BX may
  1181. be used in a 16 bit indexed addressing form.
  1182. %duplicate case label
  1183. There are two case labels with the same value in this switch statement.
  1184. %duplicate case label *
  1185. There is more than one case label with this value in a switch statement.
  1186. %duplicate displacement in operand
  1187. The operand on this instruction has two offsets. Only one
  1188. is permitted.
  1189. %duplicate fnconf directive
  1190. This is an internal code generator error. Contact HI-TECH technical
  1191. support with full details of the code that caused this error.
  1192. %duplicate index register
  1193. Only one index register (SI or DI) may be used in a 16 bit
  1194. indexed form.
  1195. %duplicate label *
  1196. The same name is used for a label more than once in this function.
  1197. Note that the scope of labels is the entire function, not just the
  1198. block that encloses a label.
  1199. %duplicate qualifier
  1200. There are two occurences of the same qualifier in this type specification.
  1201. This can occur either directly or through the use of a typedef. Remove
  1202. the redundant qualifier.
  1203. %duplicate qualifier key * (*)
  1204. P1 has been given a duplicate qualifer key by the compiler driver. This
  1205. should not occur if the standard driver is being used.
  1206. %duplicate qualifier name *
  1207. A duplicate qualifier name has been specified to P1 via a -Q option. This
  1208. should not occur if the standard compiler drivers are used.
  1209. %duplicate qualifier*
  1210. There are two qualifiers with the same name or key letter.
  1211. %end of file within macro argument
  1212. A macro argument has not been terminated. This probably means the closing
  1213. parenthesis has been omitted from a macro invocation.
  1214. %end statement inside include file or macro
  1215. An end statement has been encountered inside an include file
  1216. or macro. There should be one end statement only, at the end
  1217. of the main source file.
  1218. %entry point multiply defined
  1219. There is more than one entry point defined in the object
  1220. files given the linker.
  1221. %enum tag or { expected
  1222. After the keyword "enum" must come either an identifier that is or
  1223. will be defined as an enum tag, or an opening brace.
  1224. %eof in #asm
  1225. An end of file has been encountered inside a #asm block. This
  1226. probably means the #endasm is missing or misspelt.
  1227. %eof inside conditional
  1228. END-of-FILE was encountered while scanning for an "endif"
  1229. to match a previous "if".
  1230. %eof inside macro def'n
  1231. End-of-file was encountered while processing a macro definition.
  1232. This means there is a missing "endm" directive.
  1233. %eof on string file
  1234. P1 has encountered an unexpected end-of-file while re-reading its file
  1235. used to store constant strings before sorting and merging. This is most
  1236. probably due to running out of disk space. Check free disk space, OR
  1237. RAM disk size. The RAM disk may be too small, if it is used for
  1238. temporary files.
  1239. %error closing output file
  1240. The compiler detected an error when closing a file. This most
  1241. probably means there is insufficient disk space, but note that the
  1242. file could be on a RAM disk, so even if you have ample space on your
  1243. hard disk, this error can still occur. If this is the case, increase
  1244. the size of your ram disk or move your temporary file area onto
  1245. the hard disk.
  1246. %error in format string
  1247. There is an error in the format string here. The string has been
  1248. interpreted as a printf() style format string, and it is not
  1249. syntactically correct. If not corrected, this will cause unexpected
  1250. behaviour at run time.
  1251. %esp not permitted as index register
  1252. ESP is not permitted as an index register.
  1253. %expand - bad how
  1254. This is an internal code generator error. Contact HI-TECH technical
  1255. support with full details of the code that caused this error.
  1256. %expand - bad which
  1257. This is an internal code generator error. Contact HI-TECH technical
  1258. support with full details of the code that caused this error.
  1259. %expected '-' in -a spec
  1260. There should be a minus sign (-) between the high and
  1261. low addresses in a -A spec, e.g.
  1262.  
  1263. -AROM=1000h-1FFFh
  1264. %exponent expected
  1265. A floating point constant must have at least one digit after the "e"
  1266. or "E".
  1267. %expression error
  1268. There is a syntax error in this expression, OR
  1269. there is an error in the intermediate code file. This could be
  1270. caused by running of disk (or RAMdisk) space.
  1271. %expression generates no code
  1272. This expression generates no code. Check for things like leaving
  1273. off the parentheses in a function call.
  1274. %expression stack overflow at op *
  1275. Expressions in #if lines are evaluated using a stack with a size
  1276. of 128. It is possible for very complex expressions to overflow
  1277. this. Simplify the expression.
  1278. %expression syntax
  1279. This expression is badly formed and cannot be parsed by the
  1280. compiler.
  1281. %expression too complex
  1282. This expression has caused overflow of the compiler's internal stack
  1283. and should be re-arranged or split into two expressions.
  1284. %external declaration inside function
  1285. A function contains an "extern" declaration. This is legal but is
  1286. invariably A Bad Thing as it restricts the scope of the function
  1287. declaration to the function body. This means that if the compiler
  1288. encounters another declaration, use or definition of the extern
  1289. object later in the same file, it will no longer have the earlier
  1290. declaration and thus will be unable to check that the declarations
  1291. are consistent. This can lead to strange behaviour of your program
  1292. or signature errors at link time. It will also hide any previous
  1293. declarations of the same thing, again subverting the compiler's type
  1294. checking. As a general rule, always declare "extern" variables and
  1295. functions outside any other functions.
  1296. %fail directive: *
  1297. A programmer generated FAIL directive has been assembled. This
  1298. normally is used as a configuration safeguard.
  1299. %filename work buffer overflow
  1300. A filename constructed while looking for an include
  1301. file has exceeded the length of an internal buffer. Since
  1302. this buffer is 4096 bytes long, this is unlikely to happen.
  1303. %fixup overflow referencing *
  1304. The linker was asked to relocate (fixup) an item that would
  1305. not fit back into the space after relocation. For example this
  1306. will occur if a byte size object is initialized with an address
  1307. that is bigger than 255.
  1308. %flag * unknown
  1309. This option used on a "PSECT" directive is unknown to the assembler.
  1310. %float param coerced to double
  1311. Where a non-prototyped function has a parameter declared as "float",
  1312. the compiler convert this into a "double float". This is because the
  1313. default C type conversion conventions provide that when a floating
  1314. point number is passed to a non-prototyped function, it will be
  1315. converted to double. It is important that the function declaration
  1316. be consistent with this convention.
  1317. %floating exponent too large
  1318. The exponent of the floating point number is too large. For the Z80 the
  1319. largest floating point exponent is decimal 19.
  1320. %floating number expected
  1321. The arguments to the "DEFF" pseudo-op must be valid floating point
  1322. numbers.
  1323. %form length must be >= 15
  1324. The length of the listing page must be at least
  1325. 15 lines. You can't get a decent listing otherwise!
  1326. %formal parameter expected after #
  1327. The stringization operator # (not to be confused with the leading #
  1328. used for preprocessor control lines) must be followed by a formal
  1329. macro parameter. If you need to stringize a token, you will need to
  1330. define a special macro to do it, e.g.
  1331.  
  1332. #define    __mkstr__(x)    #x
  1333.  
  1334. then use __mkstr__(token) wherever you need to convert a token
  1335. into a string.
  1336. %function body expected
  1337. Where a function declaration is encountered with K&R style arguments
  1338. (i.e. argument names but no types inside the parentheses) a function
  1339. body is expected to follow.
  1340. %function declared implicit int
  1341. Where the compiler encounters a function call of a function whose
  1342. name is presently undefined, the compiler will automatically declare
  1343. the function to be of type "int", with unspecified (K&R style)
  1344. parameters. If a definition of the function is subsequently
  1345. encountered, it is possible that its type and arguments will be
  1346. different from the earlier implicit declaration, causing a compiler
  1347. error. The solution is to ensure that all functions are defined or
  1348. at least declared before use, preferably with prototyped parameters.
  1349. If it is necessary to make a forward declaration of a function, it
  1350. should be preceded with the keywords "extern" or "static" as
  1351. appropriate.
  1352. %function does not take arguments
  1353. This function has no parameters, but it is called here with
  1354. one or more arguments.
  1355. %function is already 'extern'; can't be 'static'
  1356. This function was already declared extern, possibly through an implicit
  1357. declaration. It has now been redeclared static, but this redeclaration is
  1358. invalid. If the problem has arisen because of use before definition, either
  1359. move the definition earlier in the file, or place a static forward definition
  1360. earlier in the file, e.g.
  1361.  
  1362. static int fred(void);
  1363. %function or function pointer required
  1364. Only a function or function pointer can be the subject of a function
  1365. call. This error can be produced when an expression has a syntax
  1366. error resulting in a variable or expression being followed by an
  1367. opening parenthesis ("(") which denotes a function call.
  1368. %function's local data too large
  1369. The size of the stack frame for this function is greater than that
  1370. allowable. The size is limited by the size of the internal RAM on the
  1371. 8051.
  1372. %functions can't return arrays
  1373. A function can return only a scalar (simple) type or a structure. It cannot
  1374. return an array.
  1375. %functions can't return functions
  1376. A function cannot return a function. It can return a function
  1377. pointer. A function returning a pointer to a function could be
  1378. declared like this: int (* (name()))(). Note the many parentheses
  1379. that are necessary to make the parts of the declaration bind
  1380. correctly.
  1381. %functions nested too deep
  1382. This error is unlikely to happen with C code, since C cannot
  1383. have nested functions!
  1384. %garbage after operands
  1385. There is something on this line after the operands other
  1386. than a comment. This could indicate an operand error.
  1387. %garbage on end of line
  1388. There were non-blank and non-comment characters after the end of the operands
  1389. for this instruction. Note that a comment must be started with a semicolon.
  1390. %hc11 and h301 are incompatible
  1391. The options HC11 and H301 cannot be used together, since these
  1392. two processors have incompatible instruction sets.
  1393. %hex digit expected
  1394. After "0x" should follow at least one of the hex digits 0-9 and A-F
  1395. or a-f.
  1396. %ident records do not match
  1397. The object files passed to the linker do not have matching ident
  1398. records. This means they are for different processor types.
  1399. %identifier expected
  1400. Inside the braces of an "enum" declaration should be a
  1401. comma-separated list of identifiers.
  1402. %identifier redefined: *
  1403. This identifier has already been defined. It cannot be defined
  1404. again.
  1405. %illegal # command *
  1406. The preprocessor has encountered a line starting with #, but which is not
  1407. followed by a recognized control keyword. This probably means the keyword
  1408. has been misspelt. Legal control keywords are:
  1409.  
  1410. assert  asm     define  elif    else    endasm
  1411. endif   error   if      ifdef   ifndef  include
  1412. line    pragma  undef
  1413. %illegal #if line
  1414. There is a syntax error in the expression following #if.
  1415. Check the expression to ensure it is properly constructed.
  1416. %illegal #undef argument
  1417. The argument to #undef must be a valid name. It must start
  1418. with a letter.
  1419. %illegal '#' directive
  1420. The compiler does not understand the "#" directive. It is probably a
  1421. misspelling of a pre-processor "#" directive.
  1422. %illegal -o flag
  1423. This -o flag is illegal. A -o option to the linker
  1424. must have a filename. There should be no space between the filenam
  1425. and the -o, e.g.
  1426.  
  1427. -ofile.obj
  1428. %illegal -p flag
  1429. The -p flag needs stuff after it. This is used for defining
  1430. psect mapping to the linker.
  1431. %illegal addressing mode
  1432. This addressing mode is not permitted.
  1433. %illegal character (*)
  1434. An illegal character has been encountered in the input. The value in
  1435. parentheses is the octal value of the character. Locate the line
  1436. and remove the character.
  1437. %illegal character (0*)
  1438. There is an illegal character in the input. This is the octal
  1439. code for the character.
  1440. %illegal character * in #if
  1441. There is a character in a #if expression that has no business
  1442. being there. Valid characters are the letters, digits and those
  1443. comprising the acceptable operators.
  1444. %illegal conversion
  1445. This expression implies a conversion between imcompatible types,
  1446. e.g. a conversion of a structure type into an integer.
  1447. %illegal conversion between pointer types
  1448. A pointer of one type (i.e. pointing to a particular kind of object)
  1449. has been converted into a pointer of a different type. This will
  1450. usually mean you have used the wrong variable, but if this is
  1451. genuinely what you want to do, use a typecast to inform the compiler
  1452. that you want the conversion and the warning will be suppressed.
  1453. %illegal conversion of integer to pointer
  1454. An integer has been assigned to or otherwise converted to a pointer
  1455. type. This will usually mean you have used the wrong variable,
  1456. but if this is
  1457. genuinely what you want to do, use a typecast to inform the compiler
  1458. that you want the conversion and the warning will be suppressed.
  1459. %illegal conversion of pointer to integer
  1460. A pointer has been assigned to or otherwise converted to a integral
  1461. type. This will usually mean you have used the wrong variable,
  1462. but if this is
  1463. genuinely what you want to do, use a typecast to inform the compiler
  1464. that you want the conversion and the warning will be suppressed.
  1465. %illegal flag *
  1466. This flag is unrecognized.
  1467. %illegal function qualifier(s)
  1468. A qualifier such as "const" or "volatile" has been applied to a
  1469. function. These qualifiers only make sense when used with an lvalue
  1470. (i.e. an expression denoting memory storage). Perhaps you left out a
  1471. star ("*") indicating that the function should return a pointer to a
  1472. qualified object.
  1473. %illegal initialisation
  1474. You can't initialise a "typedef" declaration, because it does not
  1475. reserve any storage that could be initialised.
  1476. %illegal or too many -p flags
  1477. There are too many -p options to the linker. Combine
  1478. some of them.
  1479. %illegal record type
  1480. There is an error in an object file. This is either an invalid object
  1481. file, or an internal error in the linker. Try recreating the object file.
  1482. %illegal register for indirection
  1483. An operand has indirection on a register that is not permitted
  1484. to be used for indirection.
  1485. %illegal relocation size: *
  1486. There is an error in the object code format read by the linker. This
  1487. either means you are using a linker that is out of date, or that
  1488. there is an internale error in the assembler or linker.
  1489. %illegal relocation type: *
  1490. An object file contained a relocation record with an illegal relocation type.
  1491. This probably means the file is corrupted or not an object file.
  1492. %illegal stack index
  1493. The index used in a cop-processor instruction must be
  1494. an absolute value 0-7.
  1495. %illegal switch *
  1496. This command line option was not understood.
  1497. %illegal type for array dimension
  1498. An array dimension must be either an integral type or an enumerated
  1499. value.
  1500. %illegal type for index expression
  1501. An index expression must be either integral or an enumerated value.
  1502. %illegal type for switch expression
  1503. A "switch" operation must have an expression that is either an
  1504. integral type or an enumerated value.
  1505. %illegal use of void expression
  1506. A void expression has no value and therefore you can't use it
  1507. anywhere an expression with a value is required, e.g. as an operand
  1508. to an arithmetic operator.
  1509. %image too big
  1510. The program image being constructed by objtohex is too big
  1511. for its virtual memory system.
  1512. %implicit conversion of float to integer
  1513. A floating point value has been assigned or otherwise converted to
  1514. an integral type. This could result in truncation of the floating
  1515. point value. A typecast will make this warning go away.
  1516. %implicit return at end of non-void function
  1517. A function which has been declared to return a value has an
  1518. execution path that will allow it to reach the end of the function
  1519. body, thus returning without a value. Either insert a return
  1520. statement with a value, or if the function is not to return a value,
  1521. declare it "void".
  1522. %implict signed to unsigned conversion
  1523. A signed number is being assigned or otherwise converted to a larger
  1524. unsigned type. Under the ANSI "value preserving" rules, this will
  1525. result in the signed value being first sign-extended to a signed
  1526. number the size of the target type, then converted to unsigned
  1527. (which involves no change in bit pattern). Thus an unexpected sign
  1528. extension can occur. To ensure this does not happen, first convert
  1529. the signed value to an unsigned equivalent, e.g. if you want to
  1530. assign a signed char to an unsigned int, first typecast the char
  1531. value to "unsigned char".
  1532. %inappropriate 'else'
  1533. An "else" keyword has been encountered that cannot be associated
  1534. with an "if" statement. This may mean there is a missing brace or
  1535. other syntactic error.
  1536. %inappropriate break/continue
  1537. A "break" or "continue" statement has been found that is not
  1538. enclosed in an appropriate control structure. "continue" can only be
  1539. used inside a "while", "for" or "do while" loop, while "break" can
  1540. only be used inside those loops or a "switch" statement.
  1541. %include files nested too deep
  1542. Macro expansions  and include file handling have filled up the assembler's
  1543. internal stack. The maximum number of open macros and include files is 30.
  1544. %incompatible intermediate code version; should be *.*
  1545. This error may indicate that the code generator is imcompatible with the first
  1546. pass (P1). This could occur if you installed an old compiler in the same
  1547. directory as a newer compiler for a different processor. Use separate installation
  1548. directories.
  1549. %incomplete * record body: length = *
  1550. An object file contained a record with an illegal size.
  1551. This probably means the file is truncated or not an object file.
  1552. %incomplete record
  1553. The object file passed to objtohex is corrupted.
  1554. %incomplete record: type = * length = *
  1555. This indicates that the object file is not a valid
  1556. HI-TECH object file, or that it has been truncated,
  1557. possibly due to running out of disk or RAMdisk space.
  1558.  
  1559. %inconsistent storage class
  1560. A declaration has conflicting storage classes. Only one storage
  1561. class should appear in a declaration.
  1562. %inconsistent type
  1563. Only one basic type may appear in a declaration, thus combinations
  1564. like "int float" are illegal.
  1565. %index offset too large
  1566. An offset on a Z80 indexed addressing form must lie in the range -128 to 127.
  1567. %indirection on illegal register
  1568. Indirection on this register is not possible.
  1569. %initialisation syntax
  1570. The initialisation of this object is syntactically incorrect. Check
  1571. for the correct placement and number of braces and commas.
  1572. %initializer in 'extern' declaration
  1573. A declaration containing the keyword "extern" has an initialiser.
  1574. This overrides the "extern" storage class, since to initialise an
  1575. object it is necessary to define (i.e. allocate storage for ) it.
  1576. %insufficient memory for macro def'n
  1577. There is not sufficient memory to store a macro definition.
  1578. %integer constant expected
  1579. A colon appearing after a member name in a structure declaration
  1580. indicates that the member is a bitfield. An integral constant must
  1581. appear after the colon to define the number of bits in the
  1582. bitfield.
  1583. %integer expression required
  1584. In an "enum" declaration, values may be assigned to the members, but
  1585. the expression must evaluate to a constant of type "int".
  1586. %integral argument required
  1587. An integral argument is required for this format specifier. Check
  1588. the number and order of format specifiers and corresponding arguments.
  1589. %integral type required
  1590. This operator requires operands that are of integral type only.
  1591. %invalid disable: *
  1592. This is an internal preprocessor error that should not occur.
  1593.  
  1594. %invalid number syntax
  1595. The syntax of a number is invalid. This can be, e.g. use of 8 or 9
  1596. in an octal number, or other malformed numbers.
  1597. %invalid operand size
  1598. The operand size specified for this instruction is
  1599. invalid. Check the programmers reference manual for this chip.
  1600. %invalid short addressing
  1601. Short addressing (e.g. 8 bit PC relative) has been used where this
  1602. is not possible.
  1603. %invalid short addressing override
  1604. A short addressing override has been used in conjunction with an addressing
  1605. mode that makes this invalid.
  1606. %jump out of range
  1607. A short jump ("JR") instruction has been given an address that is more than
  1608. 128 bytes away from the present location. Use the "JP" opcode instead.
  1609. %jump target out of range
  1610. The address that this jump refers to is too far away to be
  1611. reached by this jump. Use a longer jump form, or a short
  1612. branch around a direct jump.
  1613. %label identifier expected
  1614. An identifier denoting a label must appear after "goto".
  1615. %large stack offset for *
  1616. The named variable has been allocated on the stack at an offset greater than
  1617. 128. This will still work correctly, but will result in larger, slower
  1618. code. It is recommended that any auto (local to a function) variables be
  1619. declared before any arrays. Having an array at a large offset does not
  1620. cause any problems.
  1621. %lexical error
  1622. An unrecognized character or token has been seen in the input.
  1623. %line does not have a newline on the end
  1624. The last line in the file is missing the newline (linefeed, hex 0A)
  1625. from the end. Some editors will create such files, which can cause
  1626. problems for include files. The ANSI C standard requires all source
  1627. files to consist of complete lines only.
  1628. %line too long
  1629. This line is too long. It will not fit into the compiler's internal
  1630. buffers. It would require a line over 1000 characters long to do
  1631. this, so it would normally only occur as a result of macro
  1632. expansion.
  1633. %local illegal outside macros
  1634. The "LOCAL" directive is only legal inside macros. It defines local labels
  1635. that will be unique for each invocation of the macro.
  1636. %local psect '*' conflicts with global psect of same name
  1637. A local psect may not have the same name as a global psect.
  1638. %logical type required
  1639. The expression used as an operand to "if", "while" statements or to
  1640. boolean operators like ! and && must be a scalar integral type.
  1641. %long argument required
  1642. A long argument is required for this format specifier. Check the number
  1643. and order of format specifiers and corresponding arguments.
  1644. %macro * wasn't defined
  1645. A macro name specified in a -U option to the preprocessor was not
  1646. initially defined, and thus cannot be undefined.
  1647. %macro argument after % must be absolute
  1648. If the charactyer "%" is used to force evaluation of macro argument, the
  1649. argument must be an expression that evaluates to an absolute constant.
  1650. %macro argument may not appear after local
  1651. The list of labels after the directive "LOCAL" may not include any of the
  1652. formal parameters to the macro.
  1653. %macro expansions nested too deep
  1654. Macro expansions in the assembler are nested too deep. The limit is
  1655. 30 macros and include files nested at one time.
  1656. %macro name used as symbol
  1657. A macro name has been used as a symbol. This is not permitted as the macro
  1658. name does not have a simple value.
  1659. %macro work area overflow
  1660. The total length of a macro expansion has exceeded the size of
  1661. an internal table. This table is normally 8192 bytes long. Thus
  1662. any macro expansion must not expand into a total of more than 8K bytes.
  1663. %member * redefined
  1664. This name of this member of the struct or union has already been
  1665. used in this struct or union.
  1666. %members cannot be functions
  1667. A member of a structure or a union may not be a function. It may be
  1668. a pointer to a function. The correct syntax for a function pointer
  1669. requires the use of parentheses to bind the star ("*") to the
  1670. pointer name, e.g. "int (*name)();".
  1671. %mismatched comparision
  1672. A comparison is being made between a variable or expression and a constant value
  1673. which is not in the range of possible values for that expression, e.g. if
  1674. you compare an unsigned character to the constant value 300, the result will
  1675. always be false (not equal) since an unsigned character can NEVER equal 300.
  1676. As an 8 bit value it can represent only 0-255.
  1677. %misplaced '?' or ':', previous operator is *
  1678. A colon operator has been encountered in a #if expression
  1679. that does not match up with a corresponding ? operator. Check
  1680. parentheses etc.
  1681. %misplaced constant in #if
  1682. A constant in a #if expression should only occur in syntactically
  1683. correct places. This error is most probably caused by omission of
  1684. an operator.
  1685. %missing ')'
  1686. A closing parenthesis was missing from this expression.
  1687. %missing '=' in class spec
  1688. A class spec needs an = sign, e.g.
  1689.  
  1690. -Ctext=ROM
  1691. %missing ']'
  1692. A closing square bracket was missing from this expression.
  1693. %missing arg to -u
  1694. The -U (undefine)  option needs an argument, e.g.
  1695.  
  1696. -U_symbol
  1697. %missing arg to -w
  1698. The -W option (listing width) needs
  1699. a numeric argument.
  1700. %missing argument to 'pragma psect'
  1701. The pragma 'psect' requires an argument of the form oldname=newname
  1702. where oldname is an existing psect name known to the compiler, and
  1703. newname is the desired new name. Example:
  1704.  
  1705. #pragma psect    bss=battery
  1706. %missing basic type: int assumed
  1707. This declaration does not include a basic type, so int has
  1708. been assumed. This declaration is not illegal, but it is
  1709. preferable to include a basic type to make it clear what
  1710. is intended.
  1711. %missing name after pragma 'printf_check'
  1712. The pragma 'printf_check', which enable printf style format string
  1713. checking for a function, requires a function name, e.g.
  1714.  
  1715. #pragma printf_check sprintf
  1716. %missing number after % in -p option
  1717. The % operator in a -p option (for rounding boundaries)
  1718. must have a number after it.
  1719. %missing number after pragma 'pack'
  1720. The pragma 'pack' requires a decimal number as argument. For example
  1721.  
  1722. #pragma pack(1)
  1723.  
  1724. will prevent the compiler aligning structure members onto anything
  1725. other than one byte boundaries. Use this with caution as some
  1726. processors enforce alignment and will not operate correctly if
  1727. word fetches are made on odd boundaries (e.g. 68000, 8096).
  1728. %missing operand size
  1729. The operand size for this instruction is missing. It must be
  1730. supplied.
  1731. %missing size for align
  1732. The size of alignment required has not been specified. Use
  1733. ALIGN.W for word alignment.
  1734. %missing size for dc
  1735. A DC directive requires a size specifier, e.g. DC.B for byte.
  1736. %mixed 16 and 32 bit index registers
  1737. An indexed addressing mode must use only 16 bit or only
  1738. 32 bit registers. They may not be used together.
  1739. %mod by zero in #if, zero result assumed
  1740. A modulus operation in a #if expression has a zero divisor. The
  1741. result has been assumed to be zero.
  1742. %module has code below file base of *
  1743. This module has code below the address given, but
  1744. the -C option has been used to specify that a binary
  1745. output file is to be created that is mapped to this
  1746. address. This would mean code from this module would have
  1747. to be placed before the beginning of the file! Check for
  1748. missing psect directives in assembler files.
  1749. %multi-byte constant * isn't portable
  1750. Multi-byte constants are not portable, and in fact will be
  1751. rejected by later passes of the compiler (this error comes
  1752. from the preprocessor).
  1753. %multiply defined symbol *
  1754. This symbol has been defined in more than one place in this module.
  1755. %multiply defined symbol: *
  1756. This symbol has been defined in more than one module.
  1757. %negative index offset
  1758. The index offset used here is negative. Index offsets must be
  1759. positive.
  1760. %nested comments
  1761. This warning is issued when nested comments are found.
  1762. A nested comment may indicate that a previous closing comment
  1763. marker is missing or malformed.
  1764. %no #asm before #endasm
  1765. A #endasm operator has been encountered, but there
  1766. was no previous matching #asm.
  1767. %no arg to -o
  1768. The assembler requires that an output file name argument be supplied after
  1769. the "-O" option. No space should be left between the -O and the filename.
  1770. %no case    labels
  1771. There are no case labels in this switch!
  1772. %no case labels
  1773. There are no case labels in this switch statement.
  1774. %no end record
  1775. This object file has no end record. This probably means
  1776. it is not an object file.
  1777. %no end record found
  1778. An object file did not contain an end record.
  1779. This probably means the file is corrupted or not an object file.
  1780. %no file argument
  1781. There was no file argument to the assembler.
  1782. %no file arguments
  1783. The assembler has been invoked without any file arguments. It cannot assemble
  1784. anything.
  1785. %no identifier in declaration
  1786. The identifier is missing in this declaration. This error can also
  1787. occur where the compiler has been confused by such things as missing
  1788. closing braces.
  1789. %no memory for string buffer
  1790. P1 was unable to allocate memory for the longest string encountered,
  1791. as it attempts to sort and merge strings. Try reducing the number or length
  1792. of strings in this module.
  1793. %no space for macro def'n
  1794. The assembler has run out of memory.
  1795. %no start record: entry point defaults to zero
  1796. None of the object files passed to the linker contained a start record.
  1797. The start address of the program has been set to zero. This may be
  1798. harmless, but it is recommended that you define a start address in your
  1799. startup module by using the "END" directive.
  1800. %no. of arguments redeclared
  1801. The number of arguments in this function declaration does not agree
  1802. with a previous declaration of the same function.
  1803. %nodecount = *
  1804. This is an internal code generator error. Contact HI-TECH technical
  1805. support with full details of the code that caused this error.
  1806. %non-constant case label
  1807. A case label in this switch statement has a value which is not
  1808. a constant.
  1809. %non-prototyped function declaration: *
  1810. A function has been declared using old-style (K&R) arguments. It is
  1811. preferable to use prototype declarations for all functions. If the
  1812. function has no arguments, declare it as e.g. "int func(void)".
  1813. %non-scalar types can't be converted
  1814. You can't convert a structure, union or array to anything else. You
  1815. can convert a pointer to one of those things, so perhaps you left out
  1816. an ampersand ("&").
  1817. %non-void function returns no value
  1818. A function that is declared as returning a value has a "return"
  1819. statement that does not specify a return value.
  1820. %not a member of the struct/union *
  1821. This identifier is not a member of the structure or union type with
  1822. which it used here.
  1823. %not a variable identifier: *
  1824. This identifier is not a variable; it may be some other kind of
  1825. object, e.g. a label.
  1826. %not an argument: *
  1827. This identifier that has appeared in a K&R stype argument declarator
  1828. is not listed inside the parentheses after the function name. Check
  1829. spelling.
  1830. %object file is not absolute
  1831. The object file passed to objtohex has relocation items in it.
  1832. This may indicate it is the wrong object file, or that the
  1833. linker or objtohex have been given invalid options.
  1834. %one segment override only permitted
  1835. Only one segment override is permitted in an instruction.
  1836. %only functions may be qualified interrupt
  1837. The qualifier "interrupt" may not be applied to anything except a
  1838. function.
  1839. %only functions may be void
  1840. A variable may not be "void". Only a function can be "void".
  1841. %only lvalues may be assigned to or modified
  1842. Only an lvalue (i.e. an identifier or expression directly denoting
  1843. addressable storage) can be assigned to or otherwise modified. A
  1844. typecast does not yield an lvalue. To store a value of different
  1845. type into a variable, take the address of the variable, convert it
  1846. to a pointer to the desired type, then dereference that pointer,
  1847. e.g. "*(int *)&x = 1" is legal whereas "(int)x = 1" is not.
  1848. %only register storage class allowed
  1849. The only storage class allowed for a function parameter is
  1850. "register".
  1851. %oops! -ve number of nops required!
  1852. An internal error has occured. Contact HI-TECH.
  1853. %operand error
  1854. The operand to this opcode is invalid. Check you assembler reference manual
  1855. for the proper form of operands for this instruction.
  1856. %operand size undefined
  1857. The size of an operand is neither explicitly defined, nor can the
  1858. assembler determine it from register usage. Add an explicit ,word or ,byte
  1859. or whatever.
  1860. %operands of * not same pointer type
  1861. The operands of this operator are of different pointer types. This
  1862. probably means you have used the wrong pointer, but if the code is
  1863. actually what you intended, use a typecast to suppress the error
  1864. message.
  1865. %operands of * not same type
  1866. The operands of this operator are of different pointer. This
  1867. probably means you have used the wrong variable, but if the code is
  1868. actually what you intended, use a typecast to suppress the error
  1869. message.
  1870. %operator * in incorrect context
  1871. An operator has been encountered in a #if expression
  1872. that is incorrectly placed, e.g. two binary operators are
  1873. not separated by a value.
  1874. %option not supported
  1875. This is option is currently not supported.
  1876. %out of far memory
  1877. The compiler has run out of far memory. Try removing TSR's etc. If your
  1878. system supports EMS memory, the compiler will be able to use up to 64K
  1879. of this, so if it is not enable, try enabling EMS.
  1880. %out of far memory (wanted * bytes)
  1881. The code generator could not allocate any more far memory. Try reducing
  1882. the memory used by TSR's etc.
  1883. %out of memory
  1884. The compiler has run out of memory. If you have unnecessary TSRs
  1885. loaded, remove them. If you are running the compiler from inside
  1886. another program, try running it directly from the command prompt.
  1887. Similarly, if you are using HPD, try using the command line compiler
  1888. driver instead.
  1889. %out of near memory
  1890. The compiler has run out of near memory. This is probably due to
  1891. too many symbol names. Try splitting the program up, or reducing
  1892. the number of unused symbols in header files etc.
  1893. %out of space in macro * arg expansion
  1894. A macro argument has exceeded the length of an internal
  1895. buffer. This buffer is normally 4096 bytes long.
  1896. %output file cannot be also an input file
  1897. The linker has detected an attempt to write its output file
  1898. over one of its input files. This cannot be done, because it needs to
  1899. simultaneously read and write input and output files.
  1900. %page width must be >= 41
  1901. The listing page widthe must be at least 41 characters. Any less will not
  1902. allow a properly formatted listing to be produced.
  1903. %phase error
  1904. The assembler has calculated a different value for a symbol
  1905. on two different passes. This is probably due to bizarre use
  1906. of macros or conditional assembly.
  1907. %phase error in macro args
  1908. The assembler has detected a difference in the definition of a symbol on
  1909. the first and a subsequent pass.
  1910. %phase error on temporary label
  1911. The assembler has detected a difference in the definition of a symbol on
  1912. the first and a subsequent pass.
  1913. %pointer required
  1914. A pointer is required here. This often means you have used "->" with
  1915. a structure rather than a structure pointer.
  1916. %pointer to * argument required
  1917. A pointer argument is required for this format specifier. Check the number
  1918. and order of format specifiers and corresponding arguments.
  1919. %pop immediate illegal
  1920. It is not possible to pop into an immediate value.
  1921. %pop of allreg!!
  1922. This is an internal code generator error. Contact HI-TECH technical
  1923. support with full details of the code that caused this error.
  1924. %pop of register *
  1925. This is an internal code generator error. Contact HI-TECH technical
  1926. support with full details of the code that caused this error.
  1927. %popreg    - bad reg *(*)
  1928. This is an internal code generator error. Contact HI-TECH technical
  1929. support with full details of the code that caused this error.
  1930. %popreg - bad reg
  1931. This is an internal code generator error. Contact HI-TECH technical
  1932. support with full details of the code that caused this error.
  1933. %popreg - trying to pop * with 0* regbits - can't do it!
  1934. This is an internal code generator error. Contact HI-TECH technical
  1935. support with full details of the code that caused this error.
  1936. %portion of expression has no effect
  1937. Part of this expression has no side effects, and no effect on
  1938. the value of the expression.
  1939. %possible pointer truncation
  1940. A pointer qualifed "far" has been assigned to a default pointer or a
  1941. pointer qualified "near", or a default pointer has been assigned to
  1942. a pointer qualified "near". This may result in truncation of the
  1943. pointer and loss of information, depending on the memory model in
  1944. use.
  1945. %preprocessor assertion failure
  1946. The argument to a preprocessor #assert directive has evaluated
  1947. to zero. This is a programmer induced error.
  1948. %probable missing '}' in previous block
  1949. The compiler has encountered what looks like a function or other
  1950. declaration, but the preceding function has not been ended with a
  1951. closing brace. This probably means that a closing brace has been
  1952. omitted from somewhere in the previous function, although it may
  1953. well not be the last one.
  1954. %psect * cannot be in classes *
  1955. A psect cannot be in more than one class.
  1956. %psect * in more than one group
  1957. This psect has been defined to be in more than one group.
  1958. %psect * not loaded on * boundary
  1959. This psect has a relocatability requirement that is not
  1960. met by the load address given in a -P option. For
  1961. example if a psect must be on a 4K byte boundary, you
  1962. could not start it at 100H.
  1963. %psect * not relocated on * boundary
  1964. This psect is not relocated on the required
  1965. boundary. Check the relocatability of the psect and correct
  1966. the -p option. if necessary.
  1967. %psect * not specified in -p option
  1968. This psect was not specified in a "-P" option to the linker. It has
  1969. been linked at the end of the program, which is probably not where
  1970. you wanted it.
  1971. %psect * re-orged
  1972. This psect has had its start address specified
  1973. more than once.
  1974. %psect * selector value redefined
  1975. The selector value for this psect has been defined more than once.
  1976. %psect * type redefined: *
  1977. This psect has had its type defined differently by different modules.
  1978. This probably means you are trying to link imcompatible object modules,
  1979. e.g. linking 386 flat model code with 8086 real mode code.
  1980. %psect exceeds max size: *
  1981. The psect has more bytes in it than the maximum allowed.
  1982. %psect is absolute: *
  1983. This psect is absolute and should not have an address specified in
  1984. a -P option.
  1985. %psect may not be local and global
  1986. A psect may not be declared to be local if it has already been declared to
  1987. be (default) global.
  1988. %psect origin multiply defined: *
  1989. The origin of this psect is defined more than once.
  1990. %psect property redefined
  1991. A property of a psect has been defined in more than place to be
  1992. different.
  1993. %psect reloc redefined
  1994. The relocatability of this psect has been defined differently
  1995. in two or more places.
  1996. %psect selector redefined
  1997. The selector associated with this psect has been defined differently
  1998. in two or more places.
  1999. %psect size redefined
  2000. The maximum size of this psect has been defined differently
  2001. in two or more places.
  2002. %push of allreg!!
  2003. This is an internal code generator error. Contact HI-TECH technical
  2004. support with full details of the code that caused this error.
  2005. %push of register *
  2006. This is an internal code generator error. Contact HI-TECH technical
  2007. support with full details of the code that caused this error.
  2008. %pushreg    - bad reg
  2009. This is an internal code generator error. Contact HI-TECH technical
  2010. support with full details of the code that caused this error.
  2011. %pushreg    - bad reg *(*)
  2012. This is an internal code generator error. Contact HI-TECH technical
  2013. support with full details of the code that caused this error.
  2014. %pushreg - trying to push * with 0* regbits - can't do it!
  2015. This is an internal code generator error. Contact HI-TECH technical
  2016. support with full details of the code that caused this error.
  2017. %radix value out of range
  2018. The value given for the current radix is out of range. It must
  2019. be between 2 and 16.
  2020. %read error on *
  2021. The linker encountered an error trying to read this file.
  2022. %record too long
  2023. This indicates that the object file is not a valid
  2024. HI-TECH object file.
  2025. %record too long: *
  2026. An object file contained a record with an illegal size.
  2027. This probably means the file is corrupted or not an object file.
  2028. %recursive macro definition of *
  2029. The named macro has been defined in such a manner that
  2030. expanding it causes a recursive expansion of itself!
  2031. %redefining macro *
  2032. The macro specified is being redefined, to something different
  2033. to the original definition. If you want to deliberately redefine
  2034. a macro, use #undef first to remove the original definition.
  2035. %redundant & applied to array
  2036. The address operator "&" has been applied to an array. Since using
  2037. the name of an array gives its address anyway, this is unnecessary
  2038. and has been ignored.
  2039. %reginit!!!???
  2040. This is an internal code generator error. Contact HI-TECH technical
  2041. support with full details of the code that caused this error.
  2042. %regused    - bad arg to g
  2043. This is an internal code generator error. Contact HI-TECH technical
  2044. support with full details of the code that caused this error.
  2045. %relocation error
  2046. It is not possible to add together two relocatable quantities. A constant
  2047. may be added to a relocatable value, and two relocatable addresses in the
  2048. same psect may be subtracted. An absolute value must be used in various
  2049. places where the assembler must know a value at assembly time.
  2050. %relocation offset * out of range 0..*
  2051. An object file contained a relocation record with a relocation offset
  2052. outside the range of the preceding text record. This means the object
  2053. file is probably corrupted.
  2054. %relocation too complex
  2055. The complex relocation in this expression is too big to be inserted
  2056. into the object file.
  2057. %remsym error
  2058. Internal error. Contact HI-TECH technical support.
  2059. %rept argument must be >= 0
  2060. The argument to a "REPT" directive must be greater than zero.
  2061. %restore without matching save
  2062. A restore (to restore options) has been done before a corresponding save.
  2063. %revlog - bad op
  2064. This is an internal code generator error. Contact HI-TECH technical
  2065. support with full details of the code that caused this error.
  2066. %save/restore too deep
  2067. The save directive has been used too many times without matching
  2068. restores.
  2069. %scale value invalid
  2070. The scale value in the operand is invalid. It may only be 1, 2, 4
  2071. or 8.
  2072. %scale value must be a constant
  2073. The scale value in an operand must be an absolute constant.
  2074. %seek error: *
  2075. The linker could not seek when writing an output file.
  2076. %segment * overlaps segment *
  2077. The named segments have overlapping code or data. Check the addresses being
  2078. assigned by the "-P" option.
  2079. %signatures do not match: *
  2080. The specified function has different signatures in different modules.
  2081. This means it has been declared differently, e.g. it may have been
  2082. prototyped in one module and not another. Check what declarations for
  2083. the function are visible in the two modules specified and make sure they
  2084. are compatible.
  2085. %signed bitfields not supported
  2086. Only unsigned bitfields are supported. If a bitfield is declared to
  2087. be type "int", the compiler still treats it as unsigned.
  2088. %simple integer expression required
  2089. A simple integral expression is required after the operator "@",
  2090. used to associate an absolute address with a variable.
  2091. %simple type required for *
  2092. A simple type (i.e. not an array or structure)is required as an operand to this operator.
  2093. %size error
  2094. You have attempted to store a value in a space that is too small, e.g. trying
  2095. to initialize a byte location with an address that is 16 bits.
  2096. %sizeof yields 0
  2097. The code generator has taken the size of an object and found
  2098. it to be zero. This almost certainly indicates an error
  2099. in your declaration of a pointer, e.g. you may have declared
  2100. a pointer to a zero length array. In general, pointers to arrays
  2101. are of little use. If you require a pointer to an array of objects
  2102. of unknown length, you only need a pointer to a single object
  2103. that can then be indexed or incremented.
  2104. %storage class illegal
  2105. A structure or union member may not be given a storage class. Its
  2106. storage class is determined by the storage class of the structure.
  2107. %storage class redeclared
  2108. A variable or function has been re-declared with a different storage
  2109. class. This can occur where there are two conflicting declarations,
  2110. or where an implicit declaration is followed by an actual
  2111. declaration.
  2112. %strange character * after ##
  2113. A character has been seen after the token catenation operator
  2114. ## that is neither a letter nor a digit. Since the result of this
  2115. operator must be a legal token, the operands must be tokens containing
  2116. only letters and digits.
  2117. %strange character after # *
  2118. There is an unexpected character after #.
  2119. %string expected
  2120. The operand to an "asm" statement must be a string enclosed in
  2121. parentheses.
  2122. %string too long
  2123. This string is too long. Shorten it.
  2124. %struct/union member expected
  2125. A structure or union member name must follow a dot (".") or arrow
  2126. ("->").
  2127. %struct/union redefined: *
  2128. A structure or union has been defined more than once.
  2129. %struct/union required
  2130. A structure or union identifier is required before a dot (".").
  2131. %struct/union tag or '{' expected
  2132. An identifier denoting a structure or union or an opening brace must
  2133. follow a "struct" or "union" keyword.
  2134. %structure too big for function return
  2135. The size of the structure type of this function is too big to allow
  2136. the code generator to generate code to return it.
  2137. %symbol * cannot be global
  2138. There is an error in an object file, where a local symbol has been
  2139. declared global. This is either an invalid object file, or an internal
  2140. error in the linker. Try recreating the object file.
  2141. %symbol * has erroneous psect: *
  2142. There is an error in an object file, where a symbol has an invalid psect.
  2143. This is either an invalid object file, or an internal
  2144. error in the linker. Try recreating the object file.
  2145. %symbol * is not external
  2146. This symbols is not external, and should not be in an EXTERN directive.
  2147. It is probably defined locally, and thus should be PUBLIC or GLOBAL.
  2148. %symbol * not defined in #undef
  2149. The symbol supplied as argument to #undef was not already defined.
  2150. This is a warning only, but could be avoided by including the
  2151. #undef in a #ifdef ... #endif block.
  2152. %syntax error
  2153. A syntax error has been detexted. This could be caused a number of things.
  2154. %syntax error in -a spec
  2155. The -A spec is invalid. A valid -A spec should be
  2156. something like:
  2157.  
  2158. -AROM=1000h-1FFFh
  2159. %syntax error in checksum list
  2160. There is a syntax error in a checksum list read by the linker. The
  2161. checksum list is read from standard input by the linker, in response
  2162. to an option. Re-read the manual on checksum listt.
  2163. %text does not start at 0
  2164. Code in some things must start at zero. Here it doesn't.
  2165. %text offset too low
  2166. You aren't likely to see this error. Rhubarb!
  2167. %text record has bad length: *
  2168. There is an error in an object file.
  2169. This is either an invalid object file, or an internal
  2170. error in the linker. Try recreating the object file.
  2171. %text record has length too small: *
  2172. This indicates that the object file is not a valid
  2173. HI-TECH object file.
  2174. %this function too large - try reducing level of optimization
  2175. A large function has been encountered when using a -Og (global
  2176. optimization) switch. Try re-compiling without the
  2177. global optimization, or reduce the size of the function.
  2178. %this is a struct
  2179. This identifier following a "union" or "enum" keyword is already the tag
  2180. for a structure, and thus should only follow the keyword "struct".
  2181. %this is a union
  2182. This identifier following a "struct" or "enum" keyword is already the tag
  2183. for a union, and thus should only follow the keyword "union".
  2184. %this is an enum
  2185. This identifier following a "struct" or "union" keyword is already the tag
  2186. for an enumerated type, and thus should only follow the keyword "enum".
  2187. %too few arguments
  2188. This function requires more arguments than are provided in this
  2189. call.
  2190. %too few arguments for format string
  2191. There are too few arguments for this format string. This would result
  2192. in a garbage value being printed or converted at run time.
  2193. %too many (*) enumeration constants
  2194. There are too many enumeration constants in an enumerated type.
  2195. The maximum number of enumerated constants allowed in an enumerated
  2196. type is 512.
  2197. %too many (*) structure members
  2198. There are too many members in a structure or union. The maximum number
  2199. of members allowed in one structure or union is 512.
  2200. %too many arguments
  2201. This function does not accept as many arguments as there are here.
  2202. %too many arguments for format string
  2203. There are too many arguments for this format string. This is harmless,
  2204. but may represent an incorrect format string.
  2205. %too many arguments for macro
  2206. A macro may only have up to 31 parameters, as per the C Standard.
  2207. %too many arguments in macro expansion
  2208. There were too many arguments supplied in a macro invocation.
  2209. The maximum number allowed is 31.
  2210. %too many cases in switch
  2211. There are too many case labels in this switch statement. The maximum
  2212. allowable number of case labels in any one switch statement is 511.
  2213. %too many comment lines - discarding
  2214. The compiler is generating assembler code with embedded comments,
  2215. but this function is so large that an excessive number of source
  2216. line comments are being generated. This has been suppressed so
  2217. that the optimizer will not run out of memory loading comment lines.
  2218. %too many errors
  2219. There were so many errors that the compiler has given up. Correct
  2220. the first few errors and many of the later ones will probably go away.
  2221. %too many include directories
  2222. A maximum of 7 directories may be specified for the preprocessor
  2223. to search for include files.
  2224. %too many initializers
  2225. There are too many initializers for this object. Check the number of
  2226. initializers against the object definition (array or structure).
  2227. %too many macro parameters
  2228. There are too many macro parameters on this macro definition.
  2229. %too many nested #* statements
  2230. #if, #ifdef etc. blocks may only be nested to a maximum
  2231. of 32.
  2232. %too many psect class specifications
  2233. There are too many psect class specifications (-C options)
  2234. %too many psect pragmas
  2235. Too many "pragma psect" directives have been used.
  2236. %too many psects
  2237. There are too many psects! Boy, what a program!
  2238. %too many qualifier names
  2239. There are too many qualifier names specified.
  2240. %too many relocation items
  2241. Objtohex filled up a table. This program is just way
  2242. too complex!
  2243. %too many segment fixups
  2244. There are too many segment fixups in the object file given to objtohex.
  2245. %too many segments
  2246. There are too many segments in the object file given to objtohex.
  2247. %too many symbols
  2248. There are too many symbols for the assemblers symbol table. Reduce the number
  2249. of symbols in your program. If it is the linker producing this error,
  2250. suggest changing some global to local symbols.
  2251. %too many temporary labels
  2252. There are too many temporary labels in this assembler file. The assembler
  2253. allows a maximum of 2000 temporary labels.
  2254. %too may symbols
  2255. There are too many symbols for the assemblers symbol table. Reduce the number
  2256. of symbols in your program.
  2257. %too much indirection
  2258. A pointer declaration may only have 16 levels of indirection.
  2259. %too much pushback
  2260. This error should not occur, and represents an internal
  2261. error in the preprocessor.
  2262. %type conflict
  2263. The operands of this operator are of incompatible types.
  2264. %type redeclared
  2265. The type of this function or object has been redeclared. This can
  2266. occur because of two incompatible declarations, or because an
  2267. implicit declaration is followed by an incompatible declaration.
  2268. %type specifier reqd. for proto arg
  2269. A type specifier is required for a prototyped argument. It is not
  2270. acceptable to just have an identifier.
  2271. %unbalanced paren's, op is *
  2272. The evaluation fo a #if expression found mismatched parentheses.
  2273. Check the expression for correct parenthesisation.
  2274. %undefined enum tag: *
  2275. This enum tag has not been defined.
  2276. %undefined label: *
  2277. This label has not been defined anywhere in the current function. Check
  2278. for spelling errors.
  2279. %undefined operand size
  2280. The size of the operand to this instruction was not defined.
  2281. Use ",byte" or ",word", or ",dword" as appropriate.
  2282. %undefined public symbol *
  2283. A symbol declared PUBLIC is not defined in this module. Use GLOBAL or EXTRN
  2284. or define the symbol.
  2285. %undefined shift (* bits)
  2286. An attempt has been made to shift a value by a number of bits equal to or
  2287. greater than the number of bits in the data type, e.g. shifting a long by
  2288. 32 bits. This will produce an undefined result on many processors. This is
  2289. non-portable code and is flagged as having undefined results by the C Standard.
  2290. %undefined struct/union
  2291. This structure or union tag is undefined. Check spelling etc.
  2292. %undefined struct/union: *
  2293. The specified structure or union tag is undefined. Check spelling
  2294. etc.
  2295. %undefined symbol *
  2296. The named symbol is not defined, and has not been specified "GLOBAL".
  2297. %undefined symbol * in #if, 0 used
  2298. A symbol on a #if expression was not a defined preprocessor
  2299. macro. For the purposes of this expression, its value has been
  2300. taken as zero.
  2301. %undefined symbol:
  2302. The symbol following is undefined at link time. This could be due
  2303. to spelling error, or failure to link an appropriate module.
  2304. %undefined symbols:
  2305. A list of symbols follows that were undefined at link time.
  2306. %undefined temporary label
  2307. A temporary label has been referenced that is not defined. Note that a temporary
  2308. label must have a number >= 0.
  2309. %undefined variable: *
  2310. This variable has been used but not defined at this point
  2311. %unexpected end of file
  2312. This probably means an object file has been truncated because of 
  2313. a lack of disk (or RAMdisk) space.
  2314. %unexpected eof
  2315. An end-of-file was encountered unexpectedly. Check syntax.
  2316. %unexpected text in #control line ignored
  2317. This warning occurs when extra characters appear on the end of
  2318. a control line, e.g.
  2319.  
  2320. #endif something
  2321.  
  2322. The "something" will be ignored, but a warning is issued. It is
  2323. preferable (and in accordance with Standard C) to enclose the
  2324. "something" as a comment, e.g.
  2325.  
  2326. #endif    /* something */
  2327. %unknown    predicate *
  2328. This is an internal code generator error. Contact HI-TECH technical
  2329. support with full details of the code that caused this error.
  2330. %unknown addressing mode
  2331. This addressing mode is not recognized by the assembler
  2332. %unknown arg to opt
  2333. This argument to OPT is not recognized.
  2334. %unknown arg type to lpsize
  2335. This is an internal code generator error. Contact HI-TECH technical
  2336. support with full details of the code that caused this error.
  2337. %unknown complex operator *
  2338. There is an error in an object file. This is either an invalid object
  2339. file, or an internal error in the linker. Try recreating the object file.
  2340. %unknown directive
  2341. This directive is not known to the assembler.
  2342. %unknown fnrec type *
  2343. This indicates that the object file is not a valid
  2344. HI-TECH object file.
  2345. %unknown option *
  2346. This option to the preprocessor is not recognized.
  2347. %unknown pragma *
  2348. An unknow pragma directive was encountered.
  2349. %unknown psect: *
  2350. This psect has been listed in a -P option, but is not defined
  2351. in any module within the program.
  2352. %unknown record type: *
  2353. An invalid object module has been read by the linker. It is either
  2354. corrupted or not an object file.
  2355. %unreachable code
  2356. This section of code will never be executed, because there is no
  2357. execution path by which it could be reached. Look for missing "break"
  2358. statements inside a control structure like "while" or "for".
  2359. %unreasonable matching depth
  2360. This is an internal code generator error. Contact HI-TECH technical
  2361. support with full details of the code that caused this error.
  2362. %unrecognized argument to opt
  2363. This argument to OPT is not recognized.
  2364. %unrecognized option to -o: *
  2365. The code generator has been given a -O option with an unknown
  2366. modifier.
  2367. %unrecognized option to -z: *
  2368. The code generator has been passed a -Z option it does not understand.
  2369. This should not happen if it is invoked with the standard driver.
  2370. %unrecognized qualifer name after 'strings'
  2371. The pragma 'strings' requires a list of valid qualifer names. For
  2372. example
  2373.  
  2374. #pragma    strings const code
  2375.  
  2376. would add const and code to the current string qualifiers. If no
  2377. qualifiers are specified, all qualification will be removed from
  2378. subsequent strings. The qualifer names must be recognized by the
  2379. compiler.
  2380. %unterminated #if[n][def] block from line *
  2381. A #if or similar block was not terminated with a matching
  2382. #endif. The line number is the line on which the #if block
  2383. began.
  2384. %unterminated macro arg
  2385. An argument to a macro is not terminated. Note that angle brackets ("<>") are
  2386. used to quote macro arguments. 
  2387. %unterminated string
  2388. A string constant appears not to have a closing quote missing.
  2389. %unterminated string in macro body
  2390. A macro definition contains a string that lacks a closing
  2391. quote.
  2392. %unused constant: *
  2393. This enumerated constant is never used. Maybe it isn't needed at all.
  2394. %unused enum: *
  2395. This enumerated type is never used. Maybe it isn't needed at all.
  2396. %unused label: *
  2397. This label is never used. Maybe it isn't needed at all.
  2398. %unused member: *
  2399. This structure member is never used. Maybe it isn't needed at all.
  2400. %unused structure: *
  2401. This structure tag is never used. Maybe it isn't needed at all.
  2402. %unused typedef: *
  2403. This typedef is never used. Maybe it isn't needed at all.
  2404. %unused union: *
  2405. This union type is never used. Maybe it isn't needed at all.
  2406. %unused variable declaration: *
  2407. This variable is never used. Maybe it isn't needed at all.
  2408. %unused variable definition: *
  2409. This variable is never used. Maybe it isn't needed at all.
  2410. %variable may be used before set: *
  2411. This variable may be used before it has been assigned a value. Since it is
  2412. an auto variable, this will result in it having a random value.
  2413. %void function cannot return value
  2414. A void function cannot return a value. Any "return" statement should
  2415. not be followed by an expression.
  2416. %while expected
  2417. The keyword "while" is expected at the end of a "do" statement.
  2418. %work buffer overflow *
  2419. An internal preprocessor buffer has been filled. This buffer has a
  2420. size of 4096 bytes.
  2421. %write error (out of disk space?) *
  2422. Probably means that the hard disk or RAM disk is
  2423. full.
  2424. %write error on *
  2425. A write error occured on the named file. This probably means you have
  2426. run out of disk space.
  2427. %write error on object file
  2428. An error was reported when the assembler was attempting to write an object file.
  2429. This probably means there is not enough disk space.
  2430. %wrong number of macro arguments for * - * instead of *
  2431. A macro has been invoked with the wrong number of arguments.
  2432. %{ expected
  2433. An opening brace was expected here.
  2434. %} expected
  2435. A closing brace was expected here.
  2436.