1 2004-08-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3 * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #1012650 and some
6 2004-08-21 Bernhard Held <bernhard AT bernhardheld.de>
8 * sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists
10 2004-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12 * src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the
15 2004-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
17 * src/pic/gen.c: Restored fn genRet as previous fix was incorrect.
19 2004-08-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
21 * src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch
22 cases use more compact code.
24 2004-08-13 Slade Rich <slade_rich AT users.sourceforge.net>
26 * src/pic/gen.c: Fixed problem with fn returning a variable bigger than a char.
28 2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30 * src/SDCClrange.c (findPrevUse): fixed bug #1007371
32 2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
35 * src/SDCCsymt.c (changePointer, checkDecl, addSymChain): changed
36 parameter of changePointer() from symbol* to sym_link*
37 * src/SDCCast.c (decorateType): call changePointer() for CAST op
38 * src/SDCCsymt.c (compareType): void* type is castable to other
39 pointers, but not necesarily an exact match.
40 * src/SDCCicode.c (geniCodeCast): allow void* casting here since it
41 is no longer blindly treated as an exact match.
42 * src/SDCCval.c (valCastLiteral): treat missing type as cast to void
44 2004-08-12 Slade Rich <slade_rich AT users.sourceforge.net>
46 * src/pic/glue.c: Added struct initialisation fn printIvalStruct.
48 2004-08-11 Slade Rich <slade_rich AT users.sourceforge.net>
53 * src/pic/ralloc.c: Printing rIdx on internal verbose debug.
55 2004-08-10 Slade Rich <slade_rich AT users.sourceforge.net>
59 * src/pic/device.c: Will no longer exit if #pragma maxram has not been defined.
61 2004-08-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
63 * src/mcs51/gen.c (emitcode): fixed bug #992819
65 2004-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
67 * src/pic/ralloc.c (deassignLR): allthough pic port is buggy already,
68 there's no need to make it worse
70 2004-08-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
72 * src/mcs51/ralloc.c (deassignLR),
73 * src/ds390/ralloc.c (deassignLR),
74 * src/hc08/ralloc.c (deassignLR),
75 * src/z80/ralloc.c (deassignLR),
76 * src/pic/ralloc.c (deassignLR),
77 * src/pic16/ralloc.c (deassignLR),
78 * src/avr/ralloc.c (deassignLR),
79 * src/SDCClrange.c (findRecursiveSucc, findRecursivePred, findPrevUse,
80 rlivePoint): fixed another part of bug #971834
82 2004-08-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
84 * src/z80/main.c: enabled "critical" keyword
86 * src/z80/gen.c (genFunction, genEndFunction): support for interrupt
87 functions (fixes bug #979646)
88 * doc/sdccman.lyx: added a subsection explaining z80 interrupt support
90 2004-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
92 * src/mcs51/gen.c (genInline): Add \n for labels, not DOS/WIN dirs
95 2004-08-03 Maarten Brock <sourceforge.brock AT dse.nl>
97 * src/SDCCloop.c (loopInvariants): fixed bug 983545, hope this
98 doesn't disable too much optimizations
100 2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
102 * src/pic/glue.c Disabled "WARNING: function 'main' undefined" when -S option is used.
104 2004-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
106 * src/SDCClrange.c (rlivePoint): fixed bug 988568, thanks to anonymous
108 2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
110 * src/pic/gen.c tidied up tabs
111 * src/pic/genarith.c tidied up tabs and fixed bug with literal multiple where same register was used for hi and low byte
112 * src/pic/main.c tidied up tabs
113 * src/pic/pcode.c tidied up tabs and disabled verbose code generation
114 * src/pic/pcoderegs.c tidied up tabs
115 * src/pic/ralloc.c tidied up tabs
117 2004-07-30 Vangelis Rokas <vrokas AT otenet.gr>
119 * src/SDCCmem.c (allocGlobal): don't turn S_REGISTER storage class
120 to S_FIXED for pic16 port and when symbol is not in level 0,
121 allocate for S_REGISTER storage class and pic16 port, too,
122 * src/pic16/device.h: prototype for checkSym,
123 * src/pic16/device.c (pic16_dump_access, checkSym): NEW,
124 * (pic16_assignConfigWordValue): test the value and the mask to
125 validate that the value is suitable for the configuration word,
126 * src/pic16/glue.c (pic16_printIvalFuncPtr): use 'externs' to
127 collect extern declared symbols, don't emit symbol twice, check
128 first if symbol is in publics set first,
129 * src/pic16/main.c (_pic16_keywords[]): added keyword 'register',
130 * added command line '--fstack' which enables an experimental
131 feature for stack access, too buggy to be used yet...
132 * src/pic16/ralloc.c (pic16_accessregWithName): NEW,
133 * (pic16_allocDirReg): when register has storage class S_REGISTER
134 allocate in pic16_dynAccessRegs,
135 * device/include/pic16/pic18f????.h: modified configuration word
136 naming convention, words started as CONFIG0H but should be CONFIG1H
138 2004-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
140 * device/include/mcs51reg.h: fixed bug 970993
142 2004-07-27 Maarten Brock <sourceforge.brock AT dse.nl>
144 * added lib/calloc.c, lib/free.c, lib/realloc.c, include/stddef.h
145 * updated lib/malloc.c, lib/libsdcc.lib, lib/Makefile.in, include/malloc.h
146 * src/SDCC.lex (doPragma): added pragma disable_warning <nnn>
147 * src/SDCCmain.c (parseCmdLine): added option --disable-warning <nnn>
148 * src/ds390/gen.c (genPlusIncr): fixed bug when incrementing generic pointers
149 * support/Util/SDCCerr.c (vwerror): suppress disabled warnings and output
150 error/warning numbers,
151 added function setWarningDisabled()
152 * support/Util/SDCCerr.h: added setWarningDisabled() and MAX_ERROR_WARNING
153 * support/regression/ports/mcs51-stack-auto/spec.mk: added dependencies
154 _memcmp.c _memmove.c calloc.c realloc.c free.c
155 * support/regression/tests/malloc.c: added tests for new functionality
156 * support/regression/tests/zeropad.c: added tests for truncated initializers
157 and initialized char arrays starting with '\x0'
158 * src/mcs51/peeph.def: fixed regression, added peephole 177.f
160 2004-07-26 Bernhard Held <bernhard AT bernhardheld.de>
162 * support/valdiag/tests/overflow.c: fixed warning on (1 >> 40)
164 2004-07-26 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
166 * doc/sdccman.lyx: updated example in section "Absolute Addressing"
167 * src/mcs51/peeph.def: added contributed fix for "bug" #995347 as
168 peephole 177.e. Thanks to anonymous
170 2004-07-25 Vangelis Rokas <vrokas AT otenet.gr>
172 * src/pic16/glue.c (pic16_printIvalFuncPtr): when an extern
173 function isn't used in the source but referenced as a
174 variable initializer then declare it as extern in .asm file
176 2004-07-24 Vangelis Rokas <vrokas AT otenet.gr>
178 * .version: increased version number to 2.4.3
180 Adding version extension according to ChangeLog CVS revision
181 * src/Makefile.in (target all): added dependency 'version.h'
182 * (rule version.h): added rule to create version.h from ChangeLog,
183 * (rule dep): added dependency version.h,
184 * src/version.awk: AWK script to create version.h
185 * src/SDCCdwarf2.c (dwWriteModule),
186 * src/SDCCglue.c (initialComments),
187 * src/SDCCmain.c (printVersionInfo): modified to write after
188 version string the version extension number,
189 * src/SDCCutil.c: included "version.h"
190 * (getBuildNumber): NEW, returns SDCC's ChangeLog minor revision
192 * src/SDCCutil.h: added prototype for getBuildNumber
194 * src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
196 * src/SDCCsymt.c (checkSClass): don't emit error when a variable,
197 const char [] is found in function prototype...
199 * src/pic16/genarith.c (pic16_genUMult8XLit_8): optimization to omit
200 moving to WREG with source is already in WREG,
201 * src/pic16/gen.h: added AOP_FSR0 and AOP_FSR2 in enum,
202 * src/pic16/gen.c (getFreePtr): updated to look for FSR0 and FSR2,
203 * (aopForSym): stack'ed symbols are partially supported, added
204 if-clause to support symbols in FARSPACE,
205 * (sameRegs): added test for AOP_ACC to see if registers are same,
206 * (pic16_freeAsmop): added case for AOP_FSR0 and AOP_FSR2,
207 * (pic16_aopGet): added case for AOP_FSR0 and AOP_FSR2,
208 * (pic16_popRegFromString): will not allocate a new register if it
209 doesn't find one by name, bug may have introduced...
210 * (pic16_popGet): added case for AOP_FSR0 and AOP_FSR2,
211 * (genIpush): revived to use pic16 port's stack,
212 * (genAddrOf): added incomplete case for stack'ed operand,
213 * (genCast): optimized a pair of MOVFW,MOVWF to MOVFF
214 * src/pic16/genutils.c (pic16_genNot): almot new vesrion for NOT,
215 can handle multibyte operands,
216 * src/pic16/glue.c (pic16_printIval*): some debug info added,
217 * (pic16initialComments): added message for MPLAB compatibility
219 * src/pic16/main.h: prototype for pic16_mplab_comp,
220 * src/pic16/main.c (pic16_optionsTable): new option --mplab-comp,
221 which enabled MPLAB compatibility mode (i.e. no #LINE/#FILE, BANKED)
222 * (_pic16_linkEdit): NEW, handles link stage, transferred here
223 because of increased complexity of procedure,
224 * (_process_pragma): stack pragma changed to format 'stack pos len',
225 emit symbol '_stack_end' to conform with gplink,
226 * src/pic16/pcode.c (pic16_newpCodeOpBit): using pic16_regWithName
227 to search for register,
228 * (pic16_get_op, pic16_get_op2): added case for PO_W, PO_WREG and
230 * (pic16_pCode2str): when in MPLAB compatibility mode, comment out
231 #LINE directives and replace 'B' with 'BANKED' in instruction opcodes
232 * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
233 case for PO_GPR_REGISTER,
234 * (pic16_AnalyzeBanking): removed the old message for inc2h.pl, past
235 dies, the new era is ahead !...
236 * src/pic16/ralloc.c: added hash reposits pic16_dynAllocRegNames and
237 pic16_dynInternalRegs,
238 * (pic16_allocregWithName, pic16_procregWithName, pic16_regWithname): NEW,
239 * (pic16_allocDirReg): minor optimizations and bug fixes,
240 * (pic16_allocWithIdx): when searching pic16_dynProcessorRegs use fixed,
242 * device/lib/pic16/startup/crt0*.c: extern definition of stack_end,
243 load stack and frame pointer with address of 'stack_end' symbol
245 2004-07-23 Vangelis Rokas <vrokas AT otenet.gr>
247 * src/pic16/glue.c (pic16emitStaticSeg): fixed bug with files
248 without source code but only variable initializers
250 2004-07-20 Vangelis Rokas <vrokas AT otenet.gr>
252 * src/pic16/glue.c (pic16emitRegularMap): unused functions marked as
253 external are not declared as extern to reduce overhead while linking
255 2004-07-20 Maarten Brock <sourceforge.brock AT dse.nl>
257 * src/SDCCast.c (decorateType): removed buggy fix for bug #979599
259 2004-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
261 * src/SDCCglue.c (printIvalArray): fixed bug #984229, thanks to Phuah
262 Yee Keat for the patch
263 * src/SDCCast.c (decorateType): fixed bug #979599
264 * src/ds390/gen.h: removed local fReturnSizeDS390
265 * src/ds390/gen.c: made fReturnSizeDS390 signed short to remove a warning
266 * src/ds390/gen.c (genAnd, genOr, genXor),
267 * src/mcs51/gen.c (genAnd, genOr, genXor): generate better optimized code
269 2004-07-04 Vangelis Rokas <vrokas AT otenet.gr>
271 * src/SDCCmain.c (linkEdit): modifications only for pic16 port,
272 add relFilesSet to $3, manipulate $2 to handle linking of object
273 files without source files in command line,
274 * device/include/pic16 (all headers): added ID location macros,
275 * src/pic16/device.c (struct PIC16_device Pics16[]): added field
276 entries for ID location bytes,
277 * (pic16_assignIdByteValue): NEW,
278 * src/pic16/device.h: new structures idRegInfo_t and idBytesInfo_t,
279 added field dumpcalltree to pic16_options_t,
280 * src/pic16/gen.c (genCmp): fixed bug case so a temporary register
281 is used instead of pic16_Gstack_base_addr, check if (ifx) before
282 emitting rFalseIfx label after check_carry label,
283 * src/pic16/glue.c (PIC16_IS_IDLOC_ADDRESS, PIC16_IS_HWREG_ADDRESS,
284 pic16_emitDIRegs), NEW
285 * (pic16glue): dump .calltree file when option --calltree found,
286 * src/pic16/main.c (OPTION _pic16_optionsTable): new option --calltree
287 * (_pic16_genAssemblerPreamble): emit ID locations after
288 configuration registers,
289 * (pic16_linkCmd): modifications of the link command,
290 * src/pic16/pcode.c (pic16_pciMOVFF): PCC_REGISTER replaces PCC_REGISTER2
291 * (pic16_pCodeInitRegisters): don't init stack registers,
292 * (pic16_findPrevInstruction): fixed bug,
293 * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): fixed
294 bug with immediate registers,
295 * (buildCallTree): traces stack push and pop,
296 * (pct2): dump also stack usage for each function,
297 * src/pic16/ralloc.c (dynrIdx): registers names start from 0x00
298 * (pic16_allocDirReg): various modifications,
299 * (pic16_typeRegWithIdx): when searching pic16_dynProcessorRegs set
302 2004-07-02 Vangelis Rokas <vrokas AT otenet.gr>
304 * src/pic16/pcode.c: removed buggy double colon
306 2004-07-01 Borut Razem <borut.razem AT siol.net>
308 * support/scripts/sdcc.nsi: added include/pic16 to setup
310 2004-06-30 Vangelis Rokas <vrokas AT otenet.gr>
312 * device/lib/Makefile.in: fixed bug in target objects-pic16,
313 * device/lib/pic16/Makefile: prefixed with dash (-) command under
315 * doc/sdccman.lyx: changed version to 2.4.2 and added some port
316 specific command line arguments. Also added sample lkr script
317 for placing a variable at a specific memory bank.
318 * src/pic16/device.c (pic16_dump_gsection): NEW, to dump variables
319 at a specific memory bank,
320 * (pic16_dump_isection): fixed bug which caused string literals to
321 be omitted when dumping idata section,
322 * (pic16_groupRegistersInSection): added code to handle registers
323 in specific memory banks,
324 * src/pic16/gen.c: labelOffset is prefixed with pic16_ and made
325 public, all references are renamed too,
326 * (pic16_aopGet): removed switch cases for AOP_R0,AOP_R1,AOP_DPTR,
328 * (pic16_storeForReturn): added case to handle when dest is WREG,
329 * src/pic16/genarith.c (pic16_pCodeOpSubType): NEW,
330 * src/pic16/glue.c (pic16emitRegularMap): when adding a register in
331 pic16_rel_udata, check to see if that register is marked as being
332 a member of a specific memory bank,
333 * (pic16_printIvalCharPtr): added code to add string literals either
334 to code or the idata sections,
335 * src/pic16/main.c (_process_pragma): added \n to WHITE constant,
336 also accept the 'udata' pragma,
337 * src/pic16/main.h: new structure types sectName and sectSym
338 * src/pic16/pcode.c: added new pCodeInstruction entry for BANKSEL
339 * (newpCodeOpBit): added PIC_OPTYPE subt in function prototype,
340 * (pic16_findPrevInstruction): fixed, it returned nothing,
341 * (insertBankSwitch): fixed to emit banksel/skip and skip/banksel
342 instruction combinations,
343 * (pic16_FixRegisterBanking): heavily reorganised,
344 * (pic16_AnalyzeBanking): if generating banksel directives is
345 disabled, then don't call FixRegisterBanking at all,
346 * src/pic16/ralloc.c (bitEQUs, aliasEQUs, allDefsOutOfRange):
348 * (pic16_writeUsedRegisters): added call to pic16_dump_gsection
350 2004-06-29 Bernhard Held <bernhard AT bernhardheld.de>
352 * src/SDCCglue.c (printChar): fixed bug #973350, patch provided by
353 Phuah Yee Keat <yk.phuah AT nestac.com>
355 2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
357 * src/pic16/glue.c (pic16createInterruptVect): function now emits
358 correctly the IVT even if it is relocated to some other location
360 2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
362 * device/include/pic16/pic18fregs.h: added case for pic18f2220.h
363 * device/include/pic16/pic18f2220.h: NEW,
364 * device/lib/pic16/libdev/pic18f2220.c: NEW,
365 * device/lib/pic16/libdev/Makefile: added 18f2220 in DEVS,
366 * src/pic16/device.c (struct Pics16): added info for 18f2220,
367 * src/pic16/device.h (struct pic16_options): added ivt_loc and
368 nodefaultlibs, ivt_loc is the location of the interrupt vector
369 table, and nodefaultlibs signs that default libraries should not be
370 linked in link stage,
371 * src/pic16/gen.c (genFunction): relocate interrupt vector functions
372 according to --ivt-loc argument,
373 * src/pic16/main.c (_process_pragma): emit '_stack' as public symbol
374 when pragma stack is found,
376 2004-06-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
378 * src/mcs51/peeph.def: added peepholes 182.d (return 0.0),
379 256 (range check), 257 (do while), 258.a-f (bit banging
380 f.e. on 3-wire SPI bus)
382 2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
384 * src/SDCClrange.c (findNextUseSym): fixed a live range bug with
385 variables used exclusively within a loop
387 2004-06-21 Bernhard Held <bernhard AT bernhardheld.de>
389 * src/mcs51/gen.c (genCpl): quick fix for bug #974835
391 2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
393 * src/SDCClrange.c (computeClash): fixed bug #971834
395 2004-06-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
397 * src/mcs51/gen.c (genCmp): fixed bug #975903
398 * src/hc08/gen.c (operandsEqu),
399 * src/ds390/gen.c (operandsEqu),
400 * src/z80/gen.c (operandsEqu),
401 * src/pic/gen.c (operandsEqu),
402 * src/pic16/gen.c (operandsEqu),
403 * src/mcs51/gen.c (operandsEqu): fixed bug #976283
404 * src/SDCCmain.c (parseCmdLine): report --unknown-option only once
406 2004-06-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
408 * src/SDCCcse.c (cseBBlock): fixed bug #966963
410 2004-06-12 Vangelis Rokas <vrokas AT otenet.gr>
412 * src/pic16/gen.c (genPointerGet): added E_INTERNAL_ERROR for
413 default case in switch statement,
414 * glue.c (pic16_initPointer): expr is initialised via decoarteType
415 to eliminate problem with initialisation of pointers, but problem
417 * (pic16_pointerTypeToGPByte): removed, no needed for pic16,
418 * (emitStaticSegment): removed various lines emitting debug info,
419 * src/pic16/pcode.c, src/pic16/pcode.h, src/pic16/ralloc.h:
420 added processor registers for utilizing EEPROM,
421 * src/pic16/pcode.c (pic16_emitDB): number of DBs emitted is not
422 configurable and set 8
424 2004-06-08 Vangelis Rokas <vrokas AT otenet.gr>
426 * .version: increased version number to 2.4.2,
428 Cumulative patch for pic16 port
429 * src/pic16/device.c: changed scheme to dump initial values for
430 variables in idata segment, all print_idata* functions were removed,
431 now the pic16_printIval* will be called,
432 * src/pic16/glue.c: (pic16_initPointer, pic16_pointerTypeToGPByte,
433 * _pic16_printPointerType, pic16_printPointerType,
434 * pic16_printGPointerType, pic16_printIvalArray, pic16_printIvalStruct,
435 * pic16_printIvalBitFields, pic16_printIvalFuncPtr, pic16_printIvalPtr:
436 NEW, similar to the respective functions in SDCCglue.c,
437 * src/pic16/pcode.c (pic16_emitDB, pic16_flushDB): reverted to old
438 way, emitting hex bytes,
439 * (pic16_emitDS): NEW, emits a string for pointer initialisation,
441 2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
443 * src/avr/ralloc.c (serialRegAssign),
444 * src/xa51/ralloc.c (serialRegAssign),
445 * src/pic/ralloc.c (serialRegAssign),
446 * src/pic16/ralloc.c (serialRegAssign),
447 * src/hc08/ralloc.c (serialRegAssign),
448 * src/z80/ralloc.c (serialRegAssign),
449 * src/ds390/ralloc.c (serialRegAssign),
450 * src/mcs51/ralloc.c (serialRegAssign): fixed bug #964479
452 2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
454 * src/SDCCicode.c (geniCodeJumpTable): fixed bug #967601
455 * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug #966505
457 2004-06-07 Vangelis Rokas <vrokas AT otenet.gr>
459 Cumulative patch for pic16 port:
460 * src/pic16/device.h (typedef PIC16_device) modified fields for
461 defining microcontrollers,
462 * src/pic16/device.c: added new info for all devices in Pics16 array,
463 * src/pic16/gen.c (genPcall): fixed bug that caused the return label
464 to be optimised out by the pCode optimiser,
465 * src/pic16/glue.c (pic16emitRegularMap): treat implicit aggragates
466 specially, bug reported by G.M. Gallant,
467 * src/pic16/pcode.c (pic16_newpCodeLabelFORCE): NEW, marks a label
468 as force'd so that cannot be optimised out by pCode optimiser,
470 * src/pic16/pcodepeeph.c,
471 * src/pic16/pcoderegs.c: many modifications to re-enable peepholes,
472 they are disabled by default, but can be enabled explicit with
473 command argument --denable-peeps, for testing,
474 * device/lib/pic16/startup/Makefile: added --no-peep,--pomit-config-words,
475 --pomit-ivt in COMPILE_FLAGS
477 2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
479 * src/pic16/pcode.c (pic16_emitDB): removed double semicolon which fails
482 2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
484 * device/include/sab80515.h: added sfr P6, changed GPL to LGPL
486 2004-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
488 device/include/sab80515.h: fixed bug #967492, DAPR is defined at adress
489 0xd8, but the correct adress is 0xda. Thanks to anonymous for reporting
491 2004-06-06 Vangelis Rokas <vrokas AT otenet.gr>
493 * src/pic16/device.c (pic16_assignConfigWord): fixed bug that
494 would only assign 0x300001 register.
496 2004-06-05 Vangelis Rokas <vrokas AT otenet.gr>
498 * device/lib/pic16/startup/Makefile: added $(MODELFLAGS)
499 in COMPILE_FLAGS. Thanks to G. Gallant for report.
501 2004-06-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
503 * doc/sdccman.lyx: minor changes, mentioned beta vendor support
505 * src/mcs51/peeph.def: ran unexpand -a over peeph.def
506 * src/mcs51/peeph.def: removed obsolete peephole 100.a,
507 added peephole 254 (left shift), 255 (jump table)
509 2004-06-04 Vangelis Rokas <vrokas AT otenet.gr>
511 * device/lib/Makefile.in: removed comment line with model-pic16,
512 * (target port-specific-objects-pic16): the libraries and objects
513 are copied to the build directory form the device/lib/pic16/bin
516 Cumulative patch concerning pic16 port:
517 * library directory has been re-organized,
518 * added support for PIC18F1220,
519 * added headers and library sources for chips 18f1220,18f6520,
520 18f6620,18f6680,18f6720,18f8520,18f8620,18f8680,18f8720
522 * configuration registers setting has changed, now each supported
523 device has a complete description of the registers it uses,
524 * all initialisations are moved to idata sections, these section
525 can be absolute or relocatable,
526 * fixed initialisation of codespace variables,
527 * fixed warning about PCLATU and gpsim,
528 * src/pic16/gen.c (genCmp): now can handle partially iCodes with no ifx,
529 * (genAssign): use table reads when assigning from variables in codespace,
530 * src/pic16/glue.c (pic16emitStaticSeg): fixed to correctly initialise
531 char/int variables placed in codespace,
532 * (pic16_emitConfigRegs): NEW, emits a list with configuration
533 registers set in .asm file, no need for --pomit-config-words anymore,
534 * (pic16glue): some 8051 legacy segments are commented out
535 (to be removed completely),
536 * added support for alternative assembler and linker with --asm=
537 and --link= command line arguments,
538 * peepholes are disabled automatically in the port, no need to
539 specify on command line,
540 * port supports natively char/int/long multiplication, but converts
541 all divisions to support functions,
542 * main.c: pic16_linkCmd and pic16_asmCmd changed to force output
543 to the file set in variable $2,
544 * pcode.c (pic16_emitDB, pic16_flushDB): modified to print printable
545 strings in ASCII format and not in hex,
546 * ralloc.c (serialRegAssign): added a triplet of conditional calls
547 to pic16_allocDirReg for IC_RESULT, IC_LEFT and IC_RIGHT so to
548 allocate proper register if iCodes aren't temporary,
550 2004-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
552 * support/regression/tests/zeropad.c: added TEST_G macro for alpha
554 2004-06-02 Vangelis Rokas <vrokas AT otenet.gr>
556 * src/pic16/gen.c (genPcall): warning about gpsim and PCLATU
559 2004-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
561 * src/hc08/gen.c (genPointerGetSetOfs): disabled optimization if
562 computed address is reused
563 * src/hc08/gen.c (genPackBits): fixed offsets in assignments to
566 2004-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
568 * src/z80/gen.c: (genArrayInit): must check for pointers too
570 2004-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
572 * support/regression/tests/zeropad.c: never meant to commit the
573 nestedstruct test: removed, added check for GCC version
575 2004-05-31 Maarten Brock <sourceforge.brock AT dse.nl>
577 * src/SDCCast.c (createIvalArray): fixed bug 770487 SIGSEGV
578 * src/SDCCglue.c (emitRegularMap): fixed bug 770484 allocation problem
579 * src/SDCCglue.c (initPointer, printIvalType, printIvalStruct,
580 printIvalArray, printIvalFuncPtr, printIvalPtr, printIval): fixed
581 bugs 928906 and 954082 half-empty initializers
583 * src/SDCCsymt.c (getAllocSize): added for above fix
584 * src/z80/gen.c (genArrayInit): fixed bug 741044
585 * support/regression/tests/zeropad.c: added tests
587 2004-05-30 Vangelis Rokas <vrokas AT otenet.gr>
589 * src/pic16/device.c (pic16_dump_section): corrected bug which
590 caused some symbols of the libraries to be misplaced
592 2004-05-28 Vangelis Rokas <vrokas AT otenet.gr>
595 * src/pic16/ralloc.h,
596 * src/pic16/ralloc.cc: prefixed IS_CONFIG_ADDRESS with PIC16_
597 to fix conflict with pic port
599 2004-05-28 Vangelis Rokas <vrokas AT otenet.gr>
601 * src/pic16/glue.c (pic16emitStaticSeg): do not print as publics or
602 externs configuration variables,
603 * src/pic16/ralloc.h,
604 * src/pic16/ralloc.cc: IS_CONFIG_ADDRESS is made public and added
605 prototype in header, commented out some debug messages
607 2004-05-26 Vangelis Rokas <vrokas AT otenet.gr>
611 * src/pic16/pcode.c: added gpasm directives #FILE/#LINE
612 for gpasm COFF object generation. Thanks to D. Hawkins for
615 2004-05-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
618 * src/mcs51/main.c: fixed sort order of mnemonics (thanks to Maarten
619 Brock for spotting this)
620 * src/ds390/gen.c (genEndFunction),
621 * src/mcs51/gen.c (genEndFunction): always save psw if function is an
622 interrupt handler and critical. Disable push/pop optimizations when
623 peephole optimizations disabled.
625 2004-05-25 Vangelis Rokas <vrokas AT otenet.gr>
627 Updated pic16 library sources and headers.
628 * device/lib/pic16/pic18f*/ ,
629 * device/include/pic16/*.h: modified to handle structured SFR
632 2004-05-25 Vangelis Rokas <vrokas AT otenet.gr>
634 * src/port.h (PORT structure): added hook initPaths, now each
635 port can declare its own default search paths,
636 which can been seen with the --print-search-dirs option,
637 see pic16 port for example,
638 * src/SDCCmain.c (setBinPaths, setIncludePaths, setLibPath,
639 setDataPaths): test to options.printSearchDirs is ifdef'ed out,
640 * (doPrintSearchDirs): NEW, replaces in a central manner the
641 printing of search dirs which was split in set*Paths functions,
642 * (main): added call to port->initPaths and doPrintSearchDirs,
647 * src/izt/tlcs900h.c,
650 * src/pic16/main.c: modified port structures to reflect addition of
653 * src/pic16/device.c (regCompare): registers are finally sorted by name,
654 * (pic16_dump_section): for registers in same address reserve memory once,
655 * src/pic16/device.h (struct PIC16_device): changed variable gen_banksel
657 * src/pic16/genarith.c (pic16_genPlus): added code to handle cases where
658 result is greater in size than right or left,
659 * (pic16_genUMult8X8_8): there are some cases where the result can
660 be 16 bits size, so handle these,
661 * src/pic16/gen.c: changed some pic16_emitpcomment to DEBUGpic16_emitcode,
662 * (pic16_outBitC): modified to emit pcodes,
663 * (pic16_storeForReturn): using is_LitOp to see if operand is literal
665 * (genDivOneByte): implemented algorithm to divide 8-bits,
666 * (genCmp): uncommented goto, but issues still exist,
667 * (genAnd): fixed a bug with variables >8bits,
668 * (genPackBits): optimization added that uses BCF/BSF to change a
670 * (genAssign): fixed bug when assigning floating point literals,
671 * src/pic16/glue.c (pic16glue): added assembler directive 'code' before
672 __sdcc_gsinit_startup label,
673 * src/pic16/main.c (_pic16_init): removed search directory
675 * (_pic16_initPaths): NEW, used to initialise search directories,
676 * (_hasNativeMulFor): support functions for all except char/int
677 multiplication, and char division,
678 * (PIC16_port struct): modified entry for native mul support,
679 * src/pic16/pcode.c (insertBankSwitch): modified to support the renamed
681 * (buildCallTree): call to register_usage is ifdef'ed out,
683 2004-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
685 * device/include/string.h: applied Stas Sergeev's patch to make this
686 header file compatible with the preprocessor -Wundef option
687 * src/SDCCmain.c (main): abort compilation if preprocessor reports
688 failure (fixes bug #941458)
690 2004-05-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
692 * src/SDCCopt.c (killDeadCode): fixed bug #907733
693 * support/Util/SDCCerr.c: reworded E_AUTO_ASSUMED diagnostic to clarify
694 that the variable, not the function, should be static
695 * src/SDCCval.c (valCastLiteral): fixed bit initialization from literal
696 to be consistent with non-literal case
698 2004-05-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
700 * src/SDCCast.c (isConformingBody): fixed bug #949967
701 * src/SDCCopt.c (cnvToFcall, cnvToFloatCast, cnvFromFloatCast,
702 convilong): fixed bug #952086
704 2004-05-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
706 * src/SDCCmem.c (allocVariables): fixed bug #955321
708 2004-05-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
710 * src/hc08/main.c (_hc08_genAssemblerEnd),
711 * src/SDCCdwarf2.c (dwOpenFile, dwCloseFile, dwWriteFunction,
712 dwWriteModule, dwWriteCLine, dwWriteALine, dwarf2FinalizeFile):
713 completely eliminated the use of a temporary file
714 * src/SDCCdwarf2.c (dwWriteAttr): fixed bug with location list offset
715 when more than one file linked
716 * src/SDCCloop.c (pointerAssigned): fixed bug #954163
718 2004-05-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
720 * src/SDCCval.c (valForArray): applied Maarten Brock's patch #947682
721 which fixes bug #543481
722 * support/regression/tests/bug-751703.c: fixed comments left from a
724 * src/SDCCdwarf2.c (dwCloseFile): don't explicitly close a temp file
725 * src/SDCCdwarf2.c (dwTagFromType): added bitfield support
726 * src/SDCCdwarf2.c (dwWriteSymbolInternal): handle extern within local
728 * src/SDCCdwarf2.c (dwWriteLineNumber): line number deltas are signed
729 * src/SDCCmain.c (processFile, parseCmdLine): non-alphanumeric chars
730 are now changed to underscores in moduleName
732 2004-05-15 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
734 * as/mcs51/lkmem.c: better fix for bug #954173
736 2004-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
737 committed by Frieder Ferlemann <Frieder.Ferlemann AT web.de>
739 * device/include/c8051f020.h: newly added SiLabs (Cygnal) header file
740 * device/include/c8051f000.h,
741 * device/include/c8051f120.h,
742 * device/include/c8051f300.h,
743 * device/include/c8051f310.h,
744 * device/include/c8051f320.h: updated (added _XPAGE, CAPN, CAPP,
747 2004-05-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
749 * doc/sdccman.lyx: mentioned sourceforge's delay between web frontend
750 and mailing lists, doc'ed --no-peep-comments, removed reference
751 to knoppix (newest version has no LyX/LaTeX), other minor changes
752 * src/SDCCglue.c (glue): save 2 bytes stack space with
753 option --main-return. The ljmp could probably be avoided too
755 2004-05-14 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
757 * as/mcs51/lkmem.c, as/mcs51/lkaomf51: fixed bug 954173
759 2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
761 * src/SDCCsymt.h: added IS_AUTO(symbol) test macro
762 * src/SDCCopt.c (isLocalWithoutDef),
763 * src/SDCCicode.c (operandFromSymbol): use the IS_AUTO test macro
764 which adds a !IS_EXTERN codition. Fixes bugs #877426 and #751703.
765 (credit to Maarten Brock for patch #949363, on which this is based)
766 * support/regression/tests/bug-751703.c: some test cases of extern used
769 2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
771 * src/SDCCdwarf2.c (dwMatchTypes): structs must have matching
773 * src/SDCCdwarf2.c (dwTagFromType): fix to handle recursive
775 * src/SDCCdwarf2.c (dwWriteModule, dwNewDebugSymbol, dwWriteEndFunction,
776 dwWriteLabel): fix to create valid debugger symbols even when
777 the module name has non-alphanumeric symbols in it
778 * src/SDCCdwarf2.c (dwWriteSymbolInternal): better detection for
779 when a variable's allocation has been optimized away
782 2004-05-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
784 * src/hc08/gen.c (hc08_emitDebuggerSymbol),
786 * src/mcs51/gen.c (mcs51_emitDebuggerSymbol),
788 * src/ds390/gen.c (ds390_emitDebuggerSymbol),
790 * src/z80/gen.c (z80_emitDebuggerSymbol),
792 * src/pic/gen.c (pic14_emitDebuggerSymbol),
794 * src/pic16/gen.c (pic14_emitDebuggerSymbol),
796 * src/avr/gen.c (avr_emitDebuggerSymbol),
798 * src/xa51/gen.c (xa51_emitDebuggerSymbol),
800 * src/SDCCdebug.c (emitDebuggerSymbol),
802 * src/port.h: added a debugger struct to the port struct. Added a
803 callback for defining debugger symbols
805 * src/SDCCast.c (createLabel),
806 * src/SDCC.y (labeled_statement): mark all compiler generated labels
809 * src/SDCCicode.c (geniCodeFunctionBody): added a link from the FUNCTION
810 iCode back to the ast for the function
812 * src/hc08/ralloc.c (hc08_assignRegisters),
813 * src/hc08/ralloc.h: define a regs struct for the stack pointer. Removed
814 unneeded fields from the regs struct.
815 * src/hc08/gen.c (transferRegReg, genFunction, genEndFunction): use the
816 pushReg() & pullReg() functions instead of emitcode()
818 * src/hc08/gen.c (genLabel, genhc08Code),
819 * src/SDCCdebug.h: Added additional debugger hooks needed for DWARF
821 * src/cdbFile.c (cdbWriteLabel, cdbWriteScope): Added stubs for unneeded
824 * src/hc08/gen.c (genEndFunction, genhc08Code),
826 * src/mcs51/gen.c (genEndFunction, gen51Code),
828 * src/ds390/gen.c (genEndFunction, gen390Code),
830 * src/z80/gen.c (genEndFunction, genZ80Code),
833 * src/pic/gen.c (genEndFunction, genpic14Code),
835 * src/pic16/gen.c (genEndFunction, genpic16Code),
837 * src/avr/gen.c (genEndFunction, genAVRCode),
839 * src/xa51/gen.c (genEndFunction, genXA51Code),
841 * src/cdbFile.c (cdbWriteFunction, cdbWriteEndFunction): moved cdb
842 specific code to cdbFile.c and out of the backend code generators
844 * as/hc08/lkmain.c (main): removed OMF51 support from link-hc08
845 * as/hc08/lkarea.c (lnkarea): areas with NOLOAD attribute default
846 starting address is now 0
850 * as/hc08/asmain.c (asmbl): implemented the .sleb128 and .uleb128
851 assembler directive for DWARF support
852 * as/hc08/lkelf.c (elf): only increment address when rtflg[] set
856 * src/SDCCdwarf2.c: preliminary DWARF (ver 2) debugger data generator
858 2004-05-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
860 * src/hc08/gen.c (genJumpTab, emitcode, genhc08code): fixed stack error
861 and inappropriate peephole optimization in jump tables
863 2004-04-30 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
866 * src/SDCCglue.c: sdccopt works for the hc08 port now
868 2004-04-27 Bernhard Held <bernhard AT bernhardheld.de>
870 * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): fixed bug #942130
872 2004-04-27 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
874 * as/hc08/lkelf.c: sdccconf.h is not available in WIN32
876 2004-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
878 * src/SDCCpeeph.c (replaceRule): support empty replacement peephole
882 * src/SDCCpeeph.c (getPeepLine): new option --no-peep-comments omits
883 comments from the peephole optimizer replacement rules
884 * src/SDCCmem.c (printAllocInfoSeg): give actual location of spilled
886 * src/SDCCcse.c (updateSpillLocation),
887 * src/SDCCopt.c (killDeadCode, findReqv): better tracking of register
889 * src/hc08/ralloc.c (regTypeNum): pseudo symbols must be in DATA only
890 * src/hc08/main.c (_hc08_finaliseOptions): made pointers to stack
893 2004-04-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
895 * src/SDCCsymt.h: a missing part of my last change
896 * src/pic/ralloc.c (regTypeNum),
897 * src/pic16/ralloc.c (regTypeNum): fixed statement/declaration order
899 2004-04-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
902 * src/SDCCicode.c (aggrToPtrDclType),
904 * src/SDCCptropt.c (ptrBaseRematSym, ptrPseudoSymSafe,
905 ptrPseudoSymConvert),
906 * src/pic/ralloc.c (regTypeNum),
907 * src/pic16/ralloc.c (regTypeNum),
908 * src/hc08/ralloc.c (regTypeNum),
909 * src/ds390/ralloc.c (regTypeNum),
910 * src/mcs51/ralloc.c (regTypeNum): check for dependancy hazards before
911 creating pseudo symbols (fixed bugs #777768, #930484, and #933966)
913 2004-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
915 * link/z80/lkmain.c (afile),
916 * as/hc08/lkmain.c (afile),
917 * as/mcs51/lkmain.c (afile): fix suggested by Maarten Brock to
918 prevent a pointer problem when a filename has no directory and
919 no extension specified.
921 2004-04-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
923 * link/z80/lkmain.c (afile): allow periods in directory names
924 * link/z80/lkmain.c (afile),
925 * as/mcs51/lkmain.c (afile),
926 * as/hc08/lkmain.c (afile): allow linker script file to have an
927 extension other than ".lnk"
928 * link/z80/lklex.c (getfid),
929 * link/z80/lkmain.c (parse),
930 * as/mcs51/lklex.c (getfid),
931 * as/mcs51/lkmain.c (parse),
932 * as/hc08/lklex.c (getfid),
933 * as/hc08/lkmain.c (parse): Support comments in the linker script
934 file on lines by themselves and after filenames
936 2004-04-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
938 * as/link_hc08.dsp: Added as/hc08/lkelf.c to project.
940 2004-04-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
942 * src/z80/peeph-z80.def: removed some peephole rules that don't
943 work with multibyte arithmetic (fixed bug #937126)
944 * src/mcs51/peeph.def: fixed peephole rules 150-158 to apply only
945 to registers and not global variables
946 * src/SDCCicode.c (geniCodeAssign, ast2iCode, geniCodePostInc,
947 geniCodePreInc, geniCodePostDec, geniCodePreDec,
948 geniCodeLogicAndOr, geniCodeConditional): enforce strict lvalue
949 checking for assignments not internally generated (fixed bug #931895)
950 * src/SDCC.y (postfix_expr): ignore typedefs when looking for a
951 structure member (fixed bug #930072)
953 2004-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
955 * src/SDCCmain.c (linkEdit),
956 * src/hc08/main.c (_hc08_parseOptions),
957 * as/hc08/Makefile.in,
961 * as/hc08/lkrloc.c (relr, rele),
962 * as/hc08/lkarea.c (lnkarea)
963 * as/hc08/lkmain.c (afile, parse),
964 * as/hc08/lkelf.c: support for ELF output
965 * as/hc08/lks19.c (s19),
966 * as/hc08/lkihx.c (ihx): ignore areas with the NOLOAD attribute
968 2004-04-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
970 * as/mcs51/lkihx.c: Fixed bug #899105.
972 2004-04-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
974 * doc/sdccman.lyx: Added instructons on how to convert MSVC .dsw and
975 .dsp files from Unix to DOS.
977 2004-04-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
979 * doc/sdccman.lyx: removed the ANSI-C noncompliance note regarding
980 function pointers; we have been compliant for several months now.
981 * src/mcs51/ralloc.c (serialRegAssign): enabled part of my 2004-04-13
982 change that was accidently commented out
983 * src/mcs51/gen.c (freeAsmop, getFreePtr, freeForBranchAsmop, genIfxJump,
984 genCmpEq, jmpTrueOrFalse, genCmp, genAnd, genOr, genXor, genIfx): fixed
987 2004-04-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
989 * src/hc08/gen.c: output of all of the internal debugging information
990 is now controlled by the D() macro; it is disabled by default
992 2004-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
994 * src/mcs51/ralloc.c (serialRegAssign, fillGaps, allocThisReg): try
995 harder to keep the same registers during a CAST iCode
996 * src/SDCCopt.c (optimizeCastCast, eBBlockFromiCode): casts of char to
997 long via int can be done in a single cast, if the signedness is
999 * support/regression/tests/bug-927659.c: fixed to avoid conflict with
1000 putchar() in tinibios.c in ds390's library
1002 2004-04-12 Bernhard Held <bernhard AT bernhardheld.de>
1004 * src/SDCCast.c (decorateType): fixed bug #898889,
1005 cast result of a literal complement too
1006 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #930931,
1007 fixed check for bitfields
1009 2004-04-11 Bernhard Held <bernhard AT bernhardheld.de>
1011 * src/SDCCicode.c (geniCodeLogic): made it static,
1012 (geniCodeLogicAndOr): added in order to fix bug #905492,
1013 (ast2iCode): fixed bug #905492
1014 * support/regression/tests/bug-905492.c: added
1015 * src/SDCCast.c (decorateType): don't decorate/process parms twice,
1016 (processParms): fixed bug #927659: don't copy parms, this will clear
1018 * support/regression/tests/bug-927659.c: added
1020 2004-03-29 Bernhard Held <bernhard AT bernhardheld.de>
1022 * src/SDCCast.c (addCast): don't cast float to char
1023 * device/lib/libsdcc.lib: added _memmove
1025 2004-03-28 Bernhard Held <bernhard AT bernhardheld.de>
1027 * device/lib/large/Makefile: fixed parallel execution by
1028 replacing `make` by `$(MAKE)`
1030 2004-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1032 * src/hc08/gen.c (genPointerGetSetOfs): correctly handle 1 byte array
1033 offsets (fixes bug #923936)
1035 2004-03-26 Bernhard Held <bernhard AT bernhardheld.de>
1037 * device/lib/small/Makefile: fixed parallel execution by
1038 replacing `make` by `$(MAKE)`
1040 2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
1042 * device/lib/vprintf.c (vsprintf): minor optimization, see bug #801101
1044 2004-03-23 Scott Dattalo <scott AT dattalo.com>
1046 * src/pic/gen.c (genCpl): multi-byte complements were not working.
1047 * src/regression/Makefile: Regression test was not running.
1049 2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
1051 * src/SDCCast.c (resultTypePropagate, decorateType): avoid promotion to int for
1052 complement if possible
1053 * src/SDCCval.c (valComplement),
1054 * src/SDCCicode.c (operandOperation): fixed complement of literal
1055 * support/regression/tests/onebyte.c (testComplement): added
1057 2004-03-22 Bernhard Held <bernhard AT bernhardheld.de>
1059 * src/SDCCast.c (processParms): fixed bug #920866; decorateType() can
1060 return an optimized tree; actually replace actParm with the new tree
1061 * src/SDCCast.h: added some parantheses to remove side effects
1062 * support/regression/tests/bug-920866.c
1064 2004-03-21 Scott Dattalo <scott AT dattalo.com>
1065 * src/pic/gen.c, src/pic/gen.h, src/pic/genarith.c, src/pic/pcode.c:
1066 Bit operands were not being handled properly in the pic14 port.
1067 (now src/regression/add.c passes again).
1069 2004-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1071 * src/SDCC.y (labeled_statement): case and default no longer require
1072 a following statement (RFE #893037)
1074 2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1076 * src/mcs51/gen.c (pushSide, genSignedRightShift, genDjnz, geniPush):
1077 use MOVA macro to avoid "mov a,acc" when peephole optimizer is
1078 disabled (fixes bug #916294)
1079 * sim/ucsim/s51.src/mov.cc (inst_mov_a_addr): Throw an error on
1080 "mov a,acc"; patch provided by Lenny Story
1081 * device/include/mc68hc908gp32.h: header contibuted by Juan Gonzalez
1083 2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1085 * src/mcs51/gen.c (genFunction): optimize RECEIVE in reentrant
1087 * src/ds390/gen.c (genFunction, genEndFunction),
1088 * src/ds390/ralloc.c (ds390_assignRegisters),
1089 * src/mcs51/gen.c (genFunction, genEndFunction, mcs51_assignRegisters):
1090 * src/mcs51/ralloc.c (mcs51_assignRegisters): Skip optimizing registers
1091 pushed if there are parameters passed on the stack. Also, a cleaner
1092 way to decide if r0/r1 should be pushed/popped. (Together they fix
1095 2004-03-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1098 * device/lib/mcs51/crtpagesfr.asm,
1099 * device/lib/mcs51/crtxinit.asm,
1100 * device/lib/mcs51/crtxstack.asm: Changed name of _PAGESFR to _XPAGE
1101 to avoid confusion with Si Lab's SFRPAGE register.
1103 2004-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1105 * src/SDCCglue.c (emitMaps): allow public sfr variables
1106 * src/SDCCglue.c (initialComments): include compiler build date
1107 with compiler version and put the timestamp of the generated
1108 assembly file on a serperate line to be less confusing.
1109 * src/port.h: added genInitStartup hook
1116 * src/z80/main.c: genInitStartup initialize as NULL (default to
1117 historical behaviour)
1118 * src/SDCCglue.c (glue): _sdcc_gsinit_startup is now port specific.
1119 * src/mcs51/main.c: (_mcs51_genInitStartup, _mcs51_genExtraAreas,
1120 _mcs51_genXINIT, _mcs51_genRAMCLEAR): link initialization code from the
1121 library instead of hard coding it into the compiler.
1122 * support/regression/ports/mcs51-stack-auto/spec.mk,
1123 * src/SDCCmain.c (linkEdit): added mcs51.lib to the link libraries
1124 * device/lib/mcs51/Makefile,
1125 * device/lib/small/Makefile,
1126 * device/lib/large/Makefile,
1127 * device/lib/mcs51/crtpagesfr.asm,
1128 * device/lib/mcs51/crtstart.asm,
1129 * device/lib/mcs51/crtxclear.asm,
1130 * device/lib/mcs51/crtxinit.asm,
1131 * device/lib/mcs51/crtclear.asm,
1132 * device/lib/mcs51/crtxstack.asm: move most of the mcs51 C runtime
1133 startup/initialization out of src/SDCCglue.c and src/mcs51/main.c
1134 and into user configurable files.
1135 * device/lib/clean.mk: clean mcs51 directory too
1136 * support/regression/tests/longlit.c: added static to T1 declaration
1137 * doc/sdccman.lyx: documented _PAGESFR sfr for customizing pdata
1138 accesses in the initialization code
1140 2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1142 * device/include/mc68hc908qy.h: corrected declarations of FLBPR and
1143 OSCTRIMVAL as noted in bug #916008
1145 2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1147 * src/SDCCloop.c (basicInduction): fixed bug with loop induction
1148 in loops with multiple exits (reported as incorrect registers
1149 used by Martin Helmling in Sdcc-user list)
1151 2004-03-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1153 * src/ds390/main.c (_ds390_genAssemblerPreamble): cosmetic change,
1154 made ds390 register extensions look less like error messages
1156 2004-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1158 * src/SDCCglue.c (printIvalPtr): fixed bug with pointer initializer
1159 reported by Adam Wozniak in Sdcc-user list
1161 2004-03-10 Bernhard Held <bernhard AT bernhardheld.de>
1163 * src/SDCCast.c (decorateType): fixed with bug and promotion in
1164 arithmetic optimizations, added debug output
1166 2004-03-09 Bernhard Held <bernhard AT bernhardheld.de>
1168 * device/lib/time.c (mktime): fixed bug reported by Bert Thomas
1169 * sdcc.spec: updated and split sdcc into 3 rpms
1170 * src/SDCCast.c (decorateType): &|^ don't need addCast(); addCast() is
1171 needed for literals of LEFT_OP and '+'
1172 * src/SDCCicode.c (geniCodeLogic): I must have been braindead when I
1173 introduced RESULT_TYPE_NOPROM
1174 (geniCodeMultiply): fixed logic for decision if mul is optimized to
1176 * src/SDCCsymt.c (computeType): op is int; added RESULT_TYPE_OTHER;
1177 limited promotion to int only for '*'
1178 * src/SDCCsymt.h (computeType): op is int, removed RESULT_TYPE_NOPROM
1180 2004-03-09 Hans Dorn <hjdorn AT users.sourceforge.net>
1182 * src/pic16/gen.c (genSkip),
1183 (genc16bit2lit), (gencjneshort): commented out
1184 (is_LitOp): new helper function, checks operand type
1185 (genCmpEq): rewritten
1187 2004-03-08 Bernhard Held <bernhard AT bernhardheld.de>
1189 * support/regression/tests/bug-908454.c: added
1191 2004-03-07 Bernhard Held <bernhard AT bernhardheld.de>
1193 * src/SDCCast.c (addCast): fixed bug #908454 by promoting bits to char
1194 * src/SDCCicode.c (usualBinaryConversions): op needs int type
1195 (geniCodeCast): cosmetic, don't preserve bit storage class
1196 (geniCodeLeftShift): added promotion
1197 (geniCodeLogic): fixed regression
1198 * src/SDCCsymt.c (computeTypeOr): accept bits too
1199 (compareType): 2nd part of fix for bug #908454, needed for bitfields
1201 2004-03-07 Borut Razem <borut.razem AT siol.net>
1203 * support/Util/findme.c: alloca() replaced with malloc()/free() pair
1205 2004-03-06 Vangelis Rokas <vrokas AT otenet.gr>
1207 * src/pic16/ralloc.c (pic16_genPackRegisters): reverted to old
1208 version of pic16_genPackRegisters which does not check if ic is a
1210 * src/pic16/gen.c (ifxForOp): disabled new and untested code in
1211 function cause string1.c regression test fails
1213 2004-03-06 Bernhard Held <bernhard AT bernhardheld.de>
1215 * sim/ucsim/configure.in,
1216 * sim/ucsim/configure,
1217 * sim/ucsim/doc/Makefile.in: use docdir
1218 * src/SDCC.y: fixed sbit atrributes
1219 * src/SDCCast.c (getResultTypeFromType): added support for bitfields
1220 * src/SDCCast.c (decorateType): |^& need special promotion handling
1222 * src/SDCCsymt.h: moved definition of RESULT_TYPE
1223 * src/SDCCsymt.h (computeType),
1224 * src/SDCCicode.c: computeType() needs op
1225 * src/SDCCsymt.c (checkTypeSanity),
1226 * doc/sddman.lyx: "plain" bitfields are unsigned
1227 * src/SDCCsymt.c (computeTypeOr): added
1228 * src/SDCCsymt.c (computeType): added support for bitfields, fixed
1230 * src/SDCCval.c (val*): computeType() needs op
1231 * src/SDCCval.c (valCastLiteral): fixed casting of bitfields
1232 * support/regression/tests/onebyte.c: added tests for |^&
1234 2004-03-06 Hans Dorn <hjdorn AT users.sourceforge.net>
1236 * src/pic16/gen.c: (genpic16Code) use copy of printILine's output
1237 for writing icode into asm output.
1239 2004-03-05 Vangelis Rokas <vrokas AT otenet.gr>
1241 * src/pic16/device.c: added some debug lines enabled
1242 with macro DEBUG_CHECK,
1243 * src/pic16/genarith.c: more debug in genPlus,
1244 * (pic16_genUMult8XLit_16, pic16_genUMult8X8_16): removed,
1245 * (pic16_genUMult16X16_16, pic16_genUMult16XLit_16): NEW,
1246 * src/pic16/gen.c: added prototypes for pic16_genMult16X16_16,
1247 * (aopForSym): onStack symbols are re-placed in data memspace,
1248 and onStack flag is cleared,
1249 * (pic16_popGetTempReg, pic16_popReleaseTempReg): modified to
1250 copy temporary pcodeop,
1251 * (genPcall): added warning for not updating PCLATU,
1252 * (genFunction): removed test with IFFUNC_CALLEESAVES, its
1253 always true for pic16 port,
1254 * (genMultOneWord): NEW, supports integer multiplication,
1255 * (genMult): modified to call genMultOneWord,
1256 * (ifxForOp): added warning when return NULL,
1257 * src/pic16/glue.c (pic16emitRegularMap): symbol implicit
1258 flag is set before call to operandFromSymbol for implicit
1260 * src/pic16/main.c (_pic16_finaliseOptions): options.float_rent,
1261 options.intlong_rent are set by default,
1262 * (_hasNativeMulFor): modified to allow port generation of integer
1264 * src/pic16/ralloc.c (pic16_allocDirReg): commented out line which
1265 set regtype to REG_SFR for all registers, restricting seting the
1266 accessBank flag for registers 0<= r < 0x80 and 0xf80<=r<=0xfff,
1268 2004-03-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1270 * src/mcs51/peephole.def: added 251.b and 253.x. 253.x are applied
1271 more than 500 times in the regression tests
1273 2004-03-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1275 * support/Util/SDCCerr.h,
1276 * support/Util/SDCCerr.c,
1277 * src/SDCC.y (struct_or_union_specifier, enum_specifier,
1279 * src/SDCCsymt.c (addSymChain): show location of oriignal definition
1280 for symbol conflicts.
1281 * support/valdiags/tests/enum.c,
1282 * support/valdiags/tests/tentdecl.c,
1283 * support/valdiags/tests/struct.c: expect possible error messages
1284 referring to original symbol definitions.
1285 * src/SDCC.y (struct_or_union_specifier, struct_declarator),
1287 * src/SDCCsymt.c (promoteAnonStructs): support anonymous struct/union
1289 2004-03-03 Hans Dorn <hjdorn AT users.sourceforge.net>
1291 * src/pic16/gen.c (gencjne): fixed for right=REG / left=LIT
1293 2004-02-03 Vangelis Rokas <vrokas AT otenet.gr>
1295 * src/pic16/ralloc.c (newReg): fixed bug #908929
1297 2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1299 * src/ds390/gen.c: added missing #include "main.h"
1301 2004-03-02 Vangelis Rokas <vrokas AT otenet.gr>
1303 * src/pic16/device.c (checkAddSym): NEW, adds a symbol to set while
1304 checking if symbol is already in set,
1305 * src/pic16/device.h: prototype for checkAddSym,
1306 * src/pic16/gen.c: (_G): added entry interruptvector,
1307 * (assignResultValue): removed some commented out lines,
1308 * (genFunction): check for ISR via sym->type, absolute section for
1309 interrupt code is created via a new pBlock, the goto instruction is
1310 placed now correctly at the interrupt vector position, changed all
1311 references from ivec to _G.interruptvector,
1312 * WREG,STATUS,BSR are not saved in stack upon an entry to interrupt
1313 is the interrupt is a high priority one, same for return from ISR,
1314 * src/pic16/glue.c: changed all calls of addSetHead for publics and
1315 externs to calls of checkAddSym,
1316 * src/pic16/pcode.c (pic16_pBlockConvert2*): emit warning when
1317 pic16_pcode_verbose flag is set,
1318 * src/pic16/pcode.h: extern to pic16_pcode_verbose,
1319 * src/pic16/pcoderegs.c: message about how many registers are saved
1320 will only be emitted if pic16_pcode_verbose flag is set,
1322 2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1324 * src/ds390/ralloc.h,
1325 * src/ds390/ralloc.c (ds390_regWithIdx),
1326 * src/ds390/gen.c (emitcode),
1328 * src/ds390/main.c (instructionSize, ds390newAsmLineNode, updateOpRW,
1329 ds390opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
1330 ds390operandCompare, getRegsRead, getRegsWritten,
1331 initializeAsmLineNode): customized instruction size calculation for
1332 ds390, started basis for some register optimizations
1333 * src/ds390/gen.c (gen390Code, emitcode): associate iCodes with
1334 corresponding assembly output
1335 * src/ds390/gen.c (genFunction, genEndFunction): added case to handle
1336 missing push/pop of r0/r1. Optimized push/pops
1338 2004-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1340 * src/mcs51/main.c (instructionSize): fixed ACALL size
1341 * src/mcs51/main.c (updateOpRW): fixed bug with @dptr, @a+dptr operands
1343 2004-03-01 Vangelis Rokas <vrokas AT otenet.gr>
1345 * src/pic16/device.c (pic16_dump_section): fixed a bug that allowed
1346 the sorting of rlist with NULL elements
1347 * (print_idataType, print_idata): NEW to create idata sections
1348 * src/pic16/device.h: idataSymSet new variable
1349 * src/pic16/gen.c (genFunction): fixed some bugs in string
1350 comparing, improved the absolute section creation for ISRs,
1351 added FSR0L/FSR0H in registers that are saved in an ISR,
1352 * (genInline): fixed the processing of inline snippets,
1353 now they undergo no process by the peephole optimizer
1354 * src/pic16/glue.c (pic16emitRegularMap): symbols with initialiser
1355 are placed in idataSymSet,
1356 * (pic16emitStaticSeg): extern symbols are added in externs,
1357 * src/pic16/ralloc.c (pic16_allocDirReg): work around to reduce bank
1358 switching when aboslute variables are placed in access bank memory
1359 * (pic16_writeUsedRegs): added call to pic16_dump_idata,
1360 * (packRegsForSupport,packRegsForAccUse,packRegsForOneuse):
1361 commented out with #if,
1362 * (pic16_packRegisters): reintroduce the check for CAST because some
1363 symbols are not correctly handled,
1364 * src/pic16/pcode.h: changed the definition of pCodeAsmDir to hold a
1365 pCodeInstruction instead of pCode,
1366 * src/pic16/pcode.c (pic16_newpCodeAsmDir): modified for the new
1367 pCodeAsmDir definition,
1368 * (pic16_pCode2str, genericPrint): when an AsmDir pcode has a NULL
1369 directive, then the argument directive is emitted without the leading
1370 tab, hack for inline labels which must be in the first column,
1371 * (compareLabel,pic16_findNextInstruction),
1372 * (pic16_findPrevInstruction): added case for PO_ASMDIR,
1373 * (insertBankSwitch): modified for the new pCodeAsmDir,
1375 2004-03-01 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
1376 patch applied by Vangelis Rokas <vrokas AT otenet.gr>
1378 * src/pic16/gen.c (pic16_popGet): case PO_DIR, adds the offset to
1380 * (pushSide): commented out with #if,
1381 * (assignResultValue): fixed some typos in saving
1383 * (genPcall): FIXED and sync'ed with genCall,
1384 * (genDataPointerGet,genDataPointerSet): using offset not leoffset
1385 * (genNearPointerGet): fixed to handle some more cases,
1386 implementation scheme via table reads,
1387 * (genConstPointerGet): modified to access code memory correct,
1388 * (genCodePointerGet,genNearPointerSet,genGenPointerSet): modified
1389 and improved to handle some cases
1390 * glue.c (printIvalType,printIvalChar,emitStaticSeg): use "DB"
1391 instead of "RETLW" for init data
1392 * src/pic16/ralloc.c (pic16_allocDirReg): warning when a symbol is
1393 not IN_DIRSPACE, work around to reduce bank switching when aboslute
1394 variables are placed in access bank memory (<0x80 and >=0xf80),
1395 * src/pic16/pcode.c: added SFRs TBLPTR, TABLAT, added opcodes TBLRD,
1396 TBLRD_POSTINC,TBLRD_POSTDEC,TBLRD_PREINC,TBLWT,TBLWT_POSTINC,
1397 TBLWT_POSTDEC,TBLWT_PREINC
1398 * Fixed initialisation of BSR, set "alias" for SSAVE to "0"
1399 * (pic16_emitDB,pic16_flushDB): New functions to generate "DB"
1401 * (pic16_pCodeConstString): use "DB" instead of "RETLW"
1402 * src/pic16/pcode.h: added TBLRD*,TBLWT*, added pic16_emitDB,
1403 pic16_flushDB, made pic16_newpCodeAsmDir public, added TBLPTR, TABLAT
1404 * src/pic16/ralloc.h: added IDX_BSR,IDX_TBLPTR*,IDX_TABLAT
1406 2004-02-29 Borut Razem <borut.razem AT siol.net>
1408 * src/Makefile.in, src/SDCCutil.c, support/Util/findme.c,
1409 support/Util/findme.h, support/Util/system.h: enhance binary relative
1410 search for lib and include by using findProgramPath()
1412 2004-02-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1415 * src/SDCCpeeph.c (pcDistance),
1417 * src/mcs51/ralloc.h,
1418 * src/mcs51/ralloc.c (mcs51_regWithIdx),
1420 * src/mcs51/main.c (instructionSize, asmLineNode, updateOpRW,
1421 mcs51opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
1422 mcs51operandCompare, getRegsRead, getRegsWritten): made instruction
1423 size calculation port specific, started basis for some register
1425 * src/mcs51/gen.c (genFunction, genEndFunction): added case to handle
1426 missing push/pop of r0/r1. Optimized push/pops
1427 * src/mcs51/ralloc.c (packregisters): fixed bug #727095
1428 * device/lib/_modsint.c (_modsint),
1429 * device/lib/_modslong.c (_modslong): fixed sign of result in non-asm
1430 and stack version so regression tests pass
1432 2004-02-26 Bernhard Held <bernhard AT bernhardheld.de>
1434 * src/Makefile.in (dep): include SLIBOBJS in dependency check
1435 * src/SDCCast.c (decorateType): catch another small optimization
1437 * src/SDCCsymt.c (computeType): added comments and cosmetic changes
1438 * src/SDCCval.c (valMult, valDiv, valMod, valPlus, valMinus, valShift):
1439 modified to finally use computeType() all over SDCC,
1440 see Feature Request #877103
1441 * src/SDCCval.h: cosmetic
1442 * src/SDCCicode.c (operandOperation): fixed EQ_OP bug, now same as in
1443 valCompare(); regression tested in muldiv.c
1444 * support/regression/tests/muldiv.c (testMod): mod sign follows
1447 2004-02-23 Bernhard Held <bernhard AT bernhardheld.de>
1449 * src/SDCCast.c (decorateType): fixed bug #902362
1450 * doc/INSTALL.txt: fixed install instructions for win32
1452 2004-02-21 Bernhard Held <bernhard AT bernhardheld.de>
1454 * device/include/Makefile.in (install): fixed by replacing spaces
1457 * doc/INSTALL.txt: updated for release
1458 * doc/sdccman.lyx: added warning for --xstack being buggy
1460 2004-02-20 Bernhard Held <bernhard AT bernhardheld.de>
1462 * src/pic16/ralloc.c (packRegsForAccUse): disabled functions with #if
1463 to eliminate build warnings.
1464 * src/pic16/gen.c (pic16_popGet): fixed for gcc 2.95.4
1466 2004-02-20 Vangelis Rokas <vrokas AT otenet.gr>
1467 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
1469 * doc/sdccman.lyx: removed PIC16 from PIC16 Port Specific Options,
1470 removed -penable-stack, added comment for stack pragma, added
1471 warning for not initializing the stack/frame registers, removed
1472 comment at interrupts section
1474 Stack is made permanent, there is no ability to disable stack usage.
1475 * src/pic16/device.h,
1476 * src/pic16/device.c: removed all references to USE_STACK macro,
1477 * src/pic16/device.c (pic16_dump_section): when no elements in
1478 rlist, free rlist before return,
1479 * (pic16_dump_int_registers): NEW, internal registers are a new set
1480 of general purpose registers reused by each function,
1481 * (checkAddReg): returns 1 if registers is added to set,
1482 * (pic16_groupRegistersInSection): when a registers is of type
1483 PO_GPR_TEMP add it in pic16_int_regs and not in pic16_rel_udata,
1484 * src/pic16/device.h: memRange and Assigned Memory are deleted,
1485 SRCASECMP macro is moved here from device.c
1486 * src/pic16/genarith.c (pic16_pCodeOpType): added cases for
1487 PO_PCLATU, PO_PRODL, PO_PRODH,
1488 * (pic16_pCodeOpType, genMinus,
1489 changed compares to "a" register, with AOP_ACC,
1490 * (pic16_genPlus): fixed some bugs and indented properly,
1491 * (pic16_addSign): changed size to size+offset in the MOVWF
1493 * (pic16_genUMult8XLit_8): NEW, uses processor MULLW instruction to
1494 multiply 8-bit operand by literal, result is 8-bit,
1495 * (pic16_genUMult8X8_8): NEW, uses processor MULWF instruction to
1496 multiply 2 8-bit operand, result is 8-bit,
1497 * (pic16_genMult8X8_8): modified to call genUMult8X*_8 functions and not
1499 * src/pic16/gen.c: changed accUse to contain WREG only,
1500 * (pic16_emitcomment): renamed to pic16_emitpcomment,
1501 * (aopForSym): allocated dir register when IN_DIRSPACE(space) is,
1502 true, do not use immediate addressing any more unless sym is a
1503 pointer in codespace,
1504 * (aopForRemat): do not use immediate addressing when symbol not in
1505 codespace and when symbol's address is requested,
1506 * (aopOp): for-loop in if(sym->accUse) is modified for the new
1508 * (aopGet): added case for AOP_ACC and don't return "accumulator
1509 bug" but WREG instead,
1510 * (popGetTempReg): pushes contents of temporary register in stack,
1511 * (popReleaseTempReg): pops contents of temporary register from
1512 stack. Use popGetTempReg/popReleaseTempReg in aligned pairs,
1513 * (pic16_popGet): separated case AOP_ACC to return register WREG
1514 from processor registers, AOP_PCODE not checks if pcop is PO_DIR
1515 or PO_IMMEDIATE and initializes their instance/offset appropriately,
1516 * The whole issue with aopForSym,aopForRemat,popGet) is to minimize
1517 the use of immediate pointers to certain cases only.
1519 * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): use pic16_popGet2p,
1520 * (pic16_loadFromReturn, pic16_storeForReturn: NEW,
1521 * (assignResultValue, genCall, genRet): modified to use the new
1522 function return value scheme with WREG,PRODL,PRODH,FSR0L and FSR0,
1523 genPcall is still broken,
1524 * (genFunction): added code to create 'A' type pBlocks when
1525 interrupt functions are generated, code not extensively tested yet,
1526 ISRs push WREG,STATUS,BSR,PRODL,PRODH,FSR0L,FSR0H registers on stack,
1527 * (genEndFunction): modified so ISRs pop stored registers from stack,
1528 * (genMultOneByte): cleanup,
1529 * (AccRsh): added flag andmask, to and result with appropriate mask,
1530 * (genUnpackBits,genPackBits): fixed and can handle bit fields,
1531 * (genDataPointerGet): fixed and reenabled its use,
1532 * (genNearDataPointerGet): bugs fixed,
1533 * (genDataPointerSet): bugs fixed,
1534 * src/pic16/genutils.c: added functions pic16_DumpValue,pic16_DumpAop,
1535 pic16_DumpSymbol, pic16_DumpOp,
1536 * src/pic16/genutils.h: function prototypes for the above functions,
1537 * src/pic16/glue.c: new flags initsfpnt, to initialize stack/frame
1539 * (pic16emitRegularMap): many many many improvements, but needs a
1541 * src/pic16/main.c: enable_stack in pic16_options is removed,
1542 * (_pic16_parseOptions): removed command line options -penable-stack,
1543 * (_process_pragma): emit stack symbol only when stack pragma is
1545 * src/pic16/pcode.c: pic16_pc_fsr0 is removed, all operations are
1546 redirected to FSR0L/FSR0H pair,
1547 * (pic16_get_op, pic16_get_op2): modifications and improvements,
1548 * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
1549 cases PO_PRODL,PO_PRODH, pic16_getRegFromInstruction2 returns sane
1551 * (insertBankSwitch): modified to handle cases like: (alfa + 1)
1552 * (dumpPicOptype): NEW,
1553 * src/pic16/pcode.h: added PO_PCLATU,PO_PRODL,PO_PRODH in enum,
1554 * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed bug
1555 with movff instruction,
1556 * src/pic16/ralloc.c: renamed typeRegWithIdx to pic16_typeRegWithIdx,
1557 added pic16_int_regs, some packRegsFor* functions are commented out,
1558 because produce errors,
1559 * src/pic16/NOTES: minor modifications
1561 2004-02-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1563 * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c, as/mcs51/lkmain.c,
1564 as/mcs51/lkmem.c, src/SDCCglob.h, src/SDCCmain.c: added options --stack-size and
1566 * doc/sdccman.lyx: described options --stack-size and --pack-iram.
1567 * as/mcs51/lkaomf51.c: fixed bug #895763
1569 2004-02-17 Bernhard Held <bernhard AT bernhardheld.de>
1571 * device/include/c8051f320.h: added. Contributed by Maarten Brock.
1573 2004-02-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1575 * doc/sdccman.lyx: added details about the HC08 storage classes and
1576 interrupts, fixed the register usage info for z80 & gbz80
1578 2004-02-17 Vangelis Rokas <vrokas AT otenet.gr>
1580 * doc/sdccman.lyx: added more pic16 port documentation
1581 * device/include/pic16/: added header pic18fregs.h
1583 2004-02-16 Bernhard Held <bernhard AT bernhardheld.de>
1585 * doc/sdccman.lyx: added Vangelis' contribution
1587 2004-02-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1589 * src/SDCClrange.c (rlivePoint): live range of SEND operand should
1590 extend to the next CALL or PCALL, not just to the next CALL.
1592 2004-02-16 Vangelis Rokas <vrokas AT otenet.gr>
1594 * src/pic16/gen.c (genInline): fixed bug #896482 with inline assembly
1596 2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1598 * src/mcs51/ralloc.c (packRegsForAssign, reassignAliasedSym): fixed
1599 bug #895752 and a better fix for bug #716790
1601 2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1603 * src/SDCCsymt.c (processFuncArgs): fixed bug #896796
1605 2004-02-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1607 * doc/sdccman.lyx: minor changes, minor changed
1609 2004-02-13 Bernhard Held <bernhard AT bernhardheld.de>
1611 * src/SDCCicode.c (usualBinaryConversions): removed pic16 from ports
1612 which can't handle SDCC_NEWONEBYTEOPS,
1613 (geniCodeMultiply): removed conversion from mult to shift for pic14
1616 2004-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1619 * src/hc08/gen.c (storeRegToAop, aopOp, aopAdrStr, accopWithAop,
1620 rmwWithAop): Ported my 2003-10-02 fix for bug #663539 to the hc08,
1621 thus fixing bug #895406
1623 2004-02-11 Bernhard Held <bernhard AT bernhardheld.de>
1625 * device/lib/_modsint.c,
1626 * device/lib/_modslong.c: sign follows divisor only
1627 * src/hc08/gen.c (genMultOneByte): if result size is 1,
1628 signs or signedness can be ignored
1629 * src/SDCCast.c (addCast): cosmetic - added lineno to CAST
1630 * src/SDCCast.c (resultTypePropagate): added even more ops: +, - and *,
1631 added optimization for IFX,
1632 (decorateType): Mult/Div/ModOneByte ops can handle all kind of signed
1634 reenabled optimization for IFX, which was removed on 2004-01-11
1635 * src/SDCCast.h: added return type IFX
1636 * src/SDCCicode.c: Mult/Div/ModOneByte ops can handle all kind of signed
1637 arguments with 8 or 16 bit results; pic14 and pic16 ports use old
1638 promotion behaviour; env. var. SDCC_NEWONEBYTEOPS selects the new,
1639 SDCC_OLDONEBYTEOPS selects the old behaviour
1640 * src/SDCCsymt.c (computeType): type2 can be NULL (for LEFT_OP);
1641 changed again and commented promotion rule
1642 * src/SDCCval.c (valDiv): promotion no longer necessary
1643 * src/ds390/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte),
1644 * src/mcs51/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte):
1646 * support/regression/tests/onebyte.c: added
1648 2004-02-11 Vangelis Rokas <vrokas AT otenet.gr>
1650 * gen.c (genInline): reverted to old code for assemnling inline
1651 code because of bug reported James Chadd
1653 2004-02-10 Vangelis Rokas <vrokas AT otenet.gr>
1655 * ralloc.h: missing declarations from previous patch,
1656 seems that patch for ralloc.h was never applied, fixed
1658 2004-02-10 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
1659 patch committed by Vangelis Rokas <vrokas AT otenet.gr>
1663 * ralloc.h: added FSR0L, FSR0H and other missing PIC16 SFR's for
1664 indirect addressing. Marked FSR0 as deprecated
1665 * gen.c (pointerCode): commented out, not needed now
1666 (pic16_popGet2p): new MOVFF helper function
1668 (genGenPointerSet): reimplemented with MOVFF and POSTINC0
1669 (shiftRLong): removed duplicate debugging info
1671 2004-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1673 * src/ds390/gen.c (genNearPointerGet),
1674 * src/mcs51/gen.c (genNearPointerGet): allow the genDataPointerGet()
1675 optimization with bits, but not bitfields.
1676 * src/ds390/ralloc.c (packRegisters),
1677 * src/mcs51/ralloc.c (packRegisters): fixed bug #884453 & #880832
1679 2004-02-09 Bernhard Held <bernhard AT bernhardheld.de>
1681 * src/SDCCcse.c (algebraicOpts): copy operands before modification
1683 2004-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1686 * src/SDCCicode.c (operandFromSymbol),
1687 * src/mcs51/ralloc.c (verifyRegsAssigned, serialRegAssign),
1688 * src/ds390/ralloc.c (verifyRegsAssigned, serialRegAssign),
1689 * src/z80/ralloc.c (verifyRegsAssigned, serialRegAssign),
1690 * src/hc08/ralloc.c (verifyRegsAssigned, serialRegAssign),
1691 * src/pic/ralloc.c (verifyRegsAssigned, serialRegAssign),
1692 * src/pic16/ralloc.c (verifyRegsAssigned, serialRegAssign): fixed
1694 * src/SDCCast.c (createIvalStruct, createIvalArray, gatherAutoInit),
1695 * src/SDCCglue.c (emitRegularMap, printIvalStruct, printIvalArray,
1696 printIvalCharPtr, printIvalPtr, printIval, emitStaticSeg, emitOverlay)
1697 * src/SDCCsymt.c (newSymbol),
1698 * src/SDCC.y (struct_or_union_specifier, enum_specifier,
1701 * src/SDCCval.c (newiList): fixed bug #885705
1703 2004-02-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1705 * doc/sdccman.lyx: added section 3.1.4: sdcclib.
1706 * as/mcs51/lkmem.c: report the size of the stack in .mem file.
1708 2004-02-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1710 * device/include/c8051f120.h,
1711 * device/include/c8051f300.h,
1712 * device/include/c8051f310.h: added/updated header files for Silicon
1713 Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
1714 * doc/sdccman.lyx: minor changes, recommended diff -Naur and diff -u
1715 in new section Submitting patches
1717 2004-02-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1719 * src/mcs51/gen.c (genNearPointerGet, genPagedPointerGet,
1720 genFarPointerGet, genCodePointerGet, genGenPointerGet,
1721 genNearPointerSet, genPagedPointerSet, genFarPointerSet,
1723 * src/ds390/gen.c (genNearPointerGet, genPagedPointerGet,
1724 genFarPointerGet, genCodePointerGet, genGenPointerGet,
1725 genNearPointerSet, genPagedPointerSet, genFarPointerSet,
1727 * src/pic16/gen.c (genNearPointerGet, genPagedPointerGet,
1728 genFarPointerGet, genCodePointerGet, genGenPointerGet,
1729 genNearPointerSet, genPagedPointerSet, genFarPointerSet,
1731 * src/pic/gen.c (genNearPointerGet, genPagedPointerGet,
1732 genFarPointerGet, genCodePointerGet, genGenPointerGet,
1733 genNearPointerSet, genPagedPointerSet, genFarPointerSet,
1734 genGenPointerSet): fixed bug #892400
1735 * src/pic16/gen.c (genSkipz, AccRol): disabled functions with #if 0
1736 to eliminate build warnings.
1737 * src/SDCCast.c (processParms),
1738 * src/SDCC.y (function_declarator2, declarator2_function_attributes):
1740 * support/valdiag/valdiag.py: added GCC to the list of defines active
1741 when compiling with gcc
1743 2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1745 * support/Util/SDCCerr.h,
1746 * support/Util/SDCCerr.c,
1747 * src/SDCCast.c (decorateType, sizeofOp): complain when sizeof is used
1748 with an incomplete type (fixed bug #883734)
1749 * src/SDCCicode.c (geniCodeCast): fixed bug #890510
1751 2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1753 * src/pic16/gen.c (genCmpEq, shiftRLong): fixed declarations
1755 2004-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1757 * src/SDCCast.c (decorateType),
1758 * src/SDCCicode.c (geniCodeParms, geniCodeCall): fixed bugs in my ANSI
1759 function pointer implementation
1760 * support/regression/tests/funptrs.c: added tests to verify both forms
1761 of function pointers work correctly. Added tests to verify parameters
1762 are passed in the correct order.
1764 2004-02-06 Vangelis Rokas <vrokas AT otenet.gr>
1766 * device.c (regCompare): registers are sorted by ascending
1767 address and increasing size,
1768 * main.c (_pic16_finaliseOptions): removed the declaration
1769 of compiler macro MCU. Now a macro of the format pic18fxxxx
1770 will be defined from the command line
1772 2004-02-06 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
1773 patch committed by Vangelis Rokas <vrokas AT otenet.gr>
1775 * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF
1776 PCOP_RLCF was overwritten!
1777 * gen.c (genSkip): commented out calls to pic16_emitcode,
1778 * (genCmpEQ): fixed "long" compares, only high word did get compared,
1780 * (genRRC): added debugging info,
1781 * (shiftL2Left2Result): Fixed bug, if offr > offl. Result got
1782 overwritten while shifting,
1783 * (shiftR2Left2Result): Fixed bug, if offr < offl. Result got
1784 overwritten while shifting,
1787 * (shiftLLeftOrResult),
1788 * (shiftRLeftOrResult),
1790 * (shiftLLong): Implemented with pic16_emitpcode
1791 * (genlshFour): Replaced pic16_aopPut with pic16_emitpcode,
1792 * (genLeftShift): Fixed bug, operand for shift by variable always
1793 was "and"ed with 0x0f,
1794 * (genLeftShiftLiteral),
1796 * (genRightShiftLiteral): added debugging info,
1797 * (genrshFour): added comment,
1798 * (genRightShift): determined signedness from operand "left"
1801 2004-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1803 * src/SDCCicode.c (geniCodeParms),
1804 * src/SDCCast.c (decorateType, processParms): support for ANSI-style
1805 function pointers, fixed function pointer bugs #861242 and #861896
1807 2004-01-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1809 * device/include/c8051f000.h,
1810 * device/include/c8051f120.h,
1811 * device/include/c8051f300.h: added header files for Silicon
1812 Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
1814 2004-01-31 Bernhard Held <bernhard AT bernhardheld.de>
1816 * src/SDCCast.c (processParams): added new type flow and restructured
1817 (gatherAutoInit): added new type flow
1818 (addCast): cosmetic changes
1819 (getLeftResultType): added new type flow for array indices, patch
1820 provided by Stas, see FR #877103
1821 (decorateType): SDCC_NEWTYPEFLOW removed, new type flow is now standard;
1822 array index patch by Stas
1823 * src/SDCCast.h: added prototype getResultTypeFromType()
1825 * src/SDCCval.c (resolveIvalSym) (resolveIvalSym),
1826 * src/pic/glue.c (pic14emitStaticSeg),
1827 * src/pic16/glue.c (pic16emitStaticSeg),
1828 * src/SDCCglue.c (emitRegularMap) (emitStaticSeg): added new type flow
1829 for initialization of symbols
1830 * src/SDCCicode.c (geniCodeArray): removed warning W_ARRAY_BOUND
1831 * support/Util/SDCCerr.h:
1832 * support/Util/SDCCerr.c: replaced W_ARRAY_BOUND by W_IDX_OUT_OF_BOUNDS
1833 * .version: bumped version number to 2.3.8
1834 * device/include/Makefile.in (install),
1835 * doc/Makefile (install): changed to 'rm `find ...`' construct to
1838 2004-01-30 Bernhard Held <bernhard AT bernhardheld.de>
1840 * support/regression/tests/libmullong.c: fixed for 64 bit hosts
1841 Slade Rich fixed an optimization bug
1842 * src/pic/pcodepeep.c,
1843 * src/pic/pcoderegs.c
1844 * doc/Makefile (install): added test for directory
1846 2004-01-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1848 * src/mcs51/ralloc.c (getRegPtr, getRegGpr),
1849 * src/ds390/ralloc.c (getRegPtr, getRegGpr),
1850 * src/pic/ralloc.c (getRegPtr, getRegGpr),
1851 * src/pic16/ralloc.c (getRegPtr, getRegGpr),
1852 * src/z80/ralloc.c (getRegGpr): fixed bug #883361
1853 * as/mcs51/asexpr.c (term),
1854 * as/hc08/asexpr.c (term): fixed bug #887146
1856 2004-01-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1858 * src/z80/gen.c (genMult): handle single byte result product
1859 * src/SDCCopt.c (killDeadCode): never convert ADDRESS_OF iCode to
1860 DUMMY_READ_VOLATILE (fixed bug #886367)
1862 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
1864 * support/regression/tests/libmullong.c: fixed logic, on little endian
1865 hosts we ended without a mullong_wrapper()
1867 2004-01-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1869 * ChangeLog: changed "@" to " AT " in hopes of reducing spam and
1870 virus/worm forged address usage.
1872 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
1874 Fixed promotion, it should be done on AST level:
1875 * src/SDCCast.c (addCast): added promotion to int
1876 (decorateType): updated call to upCast()
1877 * src/SDCCicode.c (geniCodeLeftShift): removed call to
1878 usualUnaryConversions()
1880 2004-01-26 Michael Hope <michaelh AT juju.net.nz>
1882 * support/regression/tests/literalop.c (mulWrapper): Added a
1883 wrapper to remove integer overflow warnings.
1885 * support/regression/tests/float_trans.c: Made work on host.
1887 * support/regression/ports/ucz80/spec.mk (UCZ80): Made detect the
1890 * support/regression/generate-cases.py (main): Changed from inline
1893 * doc/Makefile (install): Changed to depth first to get rid of
1894 missing directory install warning.
1896 * as/Makefile (install-doc): Made work on Mac.
1898 2004-01-25 Bernhard Held <bernhard AT bernhardheld.de>
1900 * src/SDCCast.c: added an additional type flow in decorateType() of
1901 opposite direction, see feature request #860006; it's enabled at runtime
1902 by setting the environment variable SDCC_NEWTYPEFLOW
1903 * src/SDCCast.h: changed prototype of decorateType()
1904 * src/SDCCglue.c (emitRegularMap): updated call of decorateType()
1905 * src/SDCCicode.c (geniCodeDivision) (geniCodeModulus): promotion from
1906 'char' to 'int' can be omitted, if both operands are 'unsigned char';
1907 see feature request #877103
1908 * src/SDCCval.c: updated call of decorateType()
1909 (valBitwise): fixed bug #882876
1910 (valMinus): added promotion
1911 (valLogicAndOr): result is unsigned
1912 (cheapestVal) (constVal): literals from 0...255 are 'unsigned char' now
1913 * src/SDCCsymt.c (computeType),
1914 * src/mcs51/gen.c (genCmpGt) (genCmpLt): literal 'unsigned char'
1915 must not cause an unsigned operation
1916 * src/pic/glue (pic14emitRegularMap),
1917 * src/pic16/glue.c (pic16emitRegularMap): updated call of decorateType()
1919 2004-01-23 Bernhard Held <bernhard AT bernhardheld.de>
1921 * src/pic/pcode.c (PCodeID): commented out left over debug code
1923 2004-01-20 Bernhard Held <bernhard AT bernhardheld.de>
1925 * support/valdiag/tests/overflow.c: added shift tests
1933 * src/pic/pcodepeep.c,
1934 * src/pic/pcoderegs.c,
1936 * src/pic/ralloc.h: applied patch from Slade Rich;
1937 added support for multiple code pages and multiple RAM banks on the
1938 PIC 14 port. The ASM files now no longer simply assume all the
1939 code / RAM are in the same page / bank. This means the linker can
1940 safely allocate code/RAM of separate ASM files to different pages/banks.
1941 * doc/sdccman.lyx: added Slade's tips
1942 * src/mcs51/peeph.def: fixed bug #880768
1944 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1946 * src/hc08/ralloc.c (rematStr): fixed bug #879282
1947 * src/SDCCast.c (decorateType): fixed bug #880197
1949 2004-01-20 Michael Hope <michaelh AT juju.net.nz>
1951 * sim/ucsim/gui.src/serio.src/main.cc: Fixed unconditional use of
1954 * debugger/mcs51/cmd.c (getValBasic): Changed strtof to strtod as
1955 strtof is not part of C89 and isn't included with Mac OS X.
1957 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1959 * src/hc08/gen.c (genPlusIncr, genUminus, genMinusDec, genCmp,
1960 shiftL2Left2Result): fixed bug #879326
1961 (genAnd, genOr, genXor): fixed bug when result was of type AOP_CRY
1962 (genMultOneByte): fixed bug in signed vs unsigned multiplication
1963 * sim/ucsim/hc08.src/inst.cc (inst_clr): added missing effective
1964 address fetch for clr instruction
1965 * device/lib/hc08/_mulint.c: created optimized assembly version
1966 * src/SDCCdflow.c (computeDataFlow): fixed bug #878209
1968 2004-01-19 Bernhard Held <bernhard AT bernhardheld.de>
1970 * src/SDCCicode.c (geniCodeArray): applied patch from Stas Sergeev
1971 proposed in FR #877103
1973 2004-01-18 Bernhard Held <bernhard AT bernhardheld.de>
1975 * src/SDCCval.c (cheapestVal): added missing checks
1976 * src/SDCCicode.c (usualBinaryConversions): fixed condition
1977 * src/SDCCicode.c (geniCodeAdd): fixed part of bug #877103
1979 2004-01-16 Klaus Flittner <klaus_flittner AT gmx.de>
1981 * src/ds390/gen.c (aopOp3): fixed the assignment of different dptrs to
1984 2004-01-16 Vangelis Rokas <vrokas AT otenet.gr>
1986 * src/SDCCmain.c (linkEdit): variable $3 of the linker command is
1987 loaded with the linker search paths (-L arguments) and the libraries
1988 to be linked with the current source (-l arguments). Changes
1989 currently will affect only the pic16 port.
1990 * src/pic16/main.c (_pic16_finaliseOptions): add to the linker
1991 include path the port specific paths and port specific libraries,
1992 * gplink command now contains the $3 argument,
1993 * src/pic16/device.h,
1994 * src/pic16/device.c,: structure PIC_device is made public and
1995 renamed to PIC16_device, the same for variable Pics which is renamed
1996 to Pics16. Updated all references to them.
1997 * src/pic16/glue.c (pic16glue): corrected bug with code
1998 initialization which bypassed the variable initializations block.
2000 * device/lib/pic16/Makefile.rules: removed --penable-stack from
2001 COMPILE_FLAGS and added the --nostdinc option
2003 2004-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2005 * device/include/mc68hc908jb8.h: Register defs for another member
2006 of the hc08 family. Contributed by Bjorn Bringert - thanks!
2008 2004-01-14 Vangelis Rokas <vrokas AT otenet.gr>
2010 Documenting changes from previous commits.
2011 * configure.in (version 1.56),
2012 * configure: initially I've added AC_CONFIG_SUBDIRS(device/lib/pic16)
2013 when generating output files to configure the pic16 library,
2014 but now I've commented it out, since gputils aren't installed in the
2015 SF compile farm, so library won't compile
2017 * device/lib/Makefile.in (version 1.56): initially I've added in
2018 target 'all' the prerequestive 'model-pic16' so it compiled the
2019 pic16 library, but now I've commented it out for the same reasons
2021 * added targets 'model-pic16' and 'objects-pic16' to compile the
2023 * added target 'port-specific-objects-pic16' to handle the
2024 generated libraries and copy them into the build/ directory
2025 * added target 'clean-intermediate-pic16' to clean intermediate
2026 files into pic16 directory
2027 * in target 'installdirs' added line to create directory pic16 in
2028 the installation path
2030 * device/include/Makefile.in (version 1.11): in target 'install'
2031 added lines to copy all header files to installation path,
2032 * in target 'installdirs' added line create directory for pic16
2033 headers in the installation path
2035 2004-01-13 Klaus Flittner <klaus_flittner AT gmx.de>
2037 * src/ds390/gen.c (genCall): fixed a double use of acc and b after
2040 2004-01-13 Bernhard Held <bernhard AT bernhardheld.de>
2043 * device/lib/configure.in,
2044 * device/lib/configure: fixed for autoconf 2.57
2046 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2048 * src/z80/main.c (_parseOptions): fixed the portmode= command line
2049 option so that it actually works. Made it specific to the z80, since
2050 the gbz80 doesn't have these kinds of I/O ports.
2052 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2054 * device/include/z180.h,
2055 * device/lib/_memcpy.c,
2056 * device/lib/_memmove.c,
2057 * device/lib/_mulint.c,
2058 * device/lib/ser_ir.c,
2059 * device/lib/ser_ir_cts_rts.c,
2060 * device/lib/_strcmp.c,
2061 * device/lib/_strtok.c: fixed pragmas to non-deprecated form
2062 * src/z80/main.c (_process_pragma): add support for pragmas bank and
2063 portmode; added deprecation warning for bank= and protmode= forms.
2064 Also, guard against buffer overflow.
2065 * src/z80/gen.c (aopGet): generate better code for sfr banked read
2067 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2069 * src/hc08/main.c (_hc08_genAssemblerPreamble): fixed bug #875487. Also
2070 changed interrupt vector table generation to only emit declared vectors.
2071 * device/include/Makefile.in: added missing backslash
2072 * device/lib/pic16/Makefile.rules: add $(MODELFLAGS) to $(CFLAGS)
2074 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
2076 Mainly changes to support compilation of the device libraries
2077 * src/pic16/device.c: stack is allocated via symbol and not
2078 via literal number. The symbol is placed in the corresponding
2079 position of the data ram
2080 * (pic16_dump_section): relocatable and absolute uninitialized
2081 data are now emitted in sorted order to reduce section naming,
2082 * src/pic16/ralloc.c (newReg): fixed bug with SFR's that
2083 weren't marked as being in the access bank,
2085 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
2087 Added portion of GNU PIC Library under the directory
2088 device/include/pic16 and device/lib/pic16. These files
2089 contain the declarations of SFRs for the PIC18Fxx2 devices.
2090 The directory is initialized via configure from toplevel.
2092 2004-01-12 Klaus Flittner <klaus_flittner AT gmx.de>
2094 * src/ds390/gen.c (operandsEqu): fixed a little typo, that prevented
2095 the spilllocations to be compared correctly
2097 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
2099 * src/SDCCast.c (decorateType): fixed bug introduced today
2101 2004-01-12 Borut Razem <borut.razem AT siol.net>
2103 * src/SDCC.lex, support/Util/SDCCerr.h, support/Util/SDCCerr.c,
2104 doc/sdccman.lyx: upper case pragmas are deprecated
2106 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
2108 * src/SDCCast.c (decorateType): replacing 'ul > 0' by '!ul' results
2109 in simpler and even better code
2111 2004-01-11 Bernhard Held <bernhard AT bernhardheld.de>
2113 * src/SDCCicode.c (operandOperation): fixed bug #874819
2114 * src/SDCCast.c (decorateType): fixed
2115 char foo (unsigned long ul) { return ul > 0; }
2117 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2119 * doc/sdccman.lyx: Moved and added some sections, small changes
2120 all over. Telling LaTeX to be less strict with word spacing
2121 to better keep the right margin. Changed some notes about
2122 maintainance of the ports in section 3.2.1 - is it OK like this?
2124 2004-01-11 Vangelis Rokas <vrokas AT otenet.gr>
2126 SDCC source changes:
2127 * src/SDCCopt.c (cntToFcall, cnvToFloatCast, cnvFromFloatCast,
2128 convilong): modified to inform the pic16 port that builtin functions
2131 PIC16 PORT specific changes:
2132 * src/pic16/device.c pic16_dump_equates() added,
2133 processor registers declared internally by the port are emitted in
2134 the translation as equates,
2135 * src/pic16/gen.c: inline code is passed unprocessed to the
2137 * (pic16_popGetLit2): fnuction modified to take second operand as
2138 pCodeOp pointer and not as literal,
2139 * (popRegFromIdx): prefixed with pic16_,
2140 * (pic16_popCombine2): modified to receive already allocated pCode
2142 * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): added
2143 * (genFunction): initializes local stack frame and pushes on stack
2144 all the registers used by this function,
2145 * (genEndFunction): restores all registers from stack and restores
2147 * src/pic16/glue.c (pic16emitRegularMap): various changes and
2149 * (pic16glue): changed the program startup sequence,
2150 * added new dbName code 'A' for functions placed in absolute section
2151 * src/pic16/main.c: added function attribute _naked,
2152 * added pragma 'code' to place a fnuction at an absolute address,
2153 * added command line arguments --debug-ralloc and --pcode-verbose,
2154 * (_pic16_finiliseOptions): options.all_callee_saves is set by default
2155 * src/pic16/pcode.c (pic16_pBlockConvert2Absolute) added,
2156 * (pic16_newpCodeOpLit2): modified to take the second operand as
2158 * (pic16_printpBlock): modified to emit each function in a separate
2160 * (pic16_get_op): modified to use the gpasm modifiers LOW,HIGH and
2161 UPPER for immediate operands,
2162 * src/pic16/pcodepeeph.c: added peephole support for the LFSR
2164 * src/pic16/peeph.def: all peepholes with movff are commented out,
2165 because there is a problem in the pcode peep optimizer,
2166 * src/pic16/ralloc.c: the register allocator can now reuse local
2167 function symbols for another function. This saves register usage.
2168 * src/pic16/ralloc.h: added flag isLocal in structure regs,
2170 Added file src/pic16/NOTES with information about program writing on
2171 the current port version.
2173 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2175 * src/mcs51/peephole.def: added peepholes 177.c,d (redundant moves)
2176 and peephole 252 (array access)
2178 2004-01-09 Borut Razem <borut.razem AT siol.net>
2180 * src/SDCCmain.c : fixed #872250: -l command line defined library
2181 files are scanned before standard library files
2183 2004-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2185 * src/SDCCast.c (decorateType): fixed bug #874046
2187 2004-01-09 Borut Razem <borut.razem AT siol.net>
2189 * support/scripts/sdcc.nsi: remove previous installation
2191 2004-01-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2193 * src/SDCCglue.c (createInterruptVect): don't append 7(5) padding
2194 bytes for last interrupt vector (mcs51)
2195 * sdcc.spec: fixed typo
2197 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2199 * src/mcs51/gen.c (genFunction, genEndFunction, genReceive, getTempRegs,
2200 gen51Code): more efficient parameter receive for --model-large
2203 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2206 * src/z80/main.c: added missed needLinkerScript flags (more than
2207 one port structure defined in these file)
2208 * src/ds390/gen.c (aopForSym, aopOp, operandsEqu, aopOp3): fixed
2211 2004-01-08 Vangelis Rokas <vrokas AT otenet.gr>
2213 * src/SDCCmain.c: removed various references to DEFAULT_PORT
2214 * src/port.h: added flag needLinkerScript in port->linker
2215 structure to inform whether to create a .lnk file or not,
2223 * src/z80/main.c: changed appropriately to configure
2224 needLinkerScript flag
2226 * src/pic16/gen.c (genAddrOf): fixed bug #863624
2227 * src/pic/glue.c: added variable udata_section_name to
2228 override default uninitialized data segment definition for
2229 devices only with SHAREBANK memory (reported from Erik Epetrich)
2230 * (pic14emitOverlay): modified to emit a commented overlay segment
2231 directive when no overlay data exist
2232 * (picglue): modified to emit uninitialized data segment
2233 according to udata_section_name
2234 * src/pic/main.c (_pic14_parseOptions): added command line
2235 options --udata-section-name=[name] to override default
2236 udata definition name
2237 * modified _linkCmd and _asmCmd to include compiler passed
2238 arguments via -W option
2239 * src/pic16/main.c: added $l in _asmCmd, changed extension for
2240 object file from '.rel' to '.o' in port->linker structure,
2241 changed size of fptr from 2 to 3 in port structure
2243 2004-01-07 Borut Razem <borut.razem AT siol.net>
2245 * support/scripts/sdcc.nsi: update PATH
2246 * support/scripts/sdcc.ico: craeted
2248 2004-01-07 Bernhard Held <bernhard AT bernhardheld.de>
2250 * device/include/Makefile.in: fix install
2251 * doc/Makefile: fix install
2253 2004-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2255 * src/SDCCsymt.c (processFuncArgs): fixed superflous allocation noted
2257 * src/SDCCmem.c (printAllocInfoSeg, printAllocInfo): minor changes to
2258 how the function variable allocation summary is displayed; also
2259 include information about variables allocated to the overlay
2262 2004-01-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2264 * as/mcs51/lkmain.c: Help about -Y option
2265 * as/mcs51/lkarea.c: Fixed gcc warnings
2267 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
2269 * src/SDCCval.c (valShift): changed from 16 to 32 bit shift count,
2271 * support/valdiag/tests/overflow.c: added
2272 * src/SDCCast.c (decorateType),
2273 * src/SDCCicode.c (geniCodeLeftShift): added promotion to int for
2274 LEFT_OP (left shift)
2276 2004-01-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2278 * as/mcs51/lkmain.c: stack must be after data when option -Y is not used
2279 (default behaviour).
2281 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2283 A python script to validate compiler diagnostic messages. It can be
2284 used to verify that sdcc complains about bad c source code and
2285 gives a good location of the error.
2286 * support/valdiag/Makefile,
2287 * support/valdiag/valdiag.py,
2288 * support/valdiag/tests/*
2290 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2292 * src/SDCC.y (enum_specifier, enumerator_list, opt_assign_expr),
2293 * src/SDCCsymt.c (newEnumType),
2295 * support/Util/SDCCerr.c,
2296 * support/Util/SDCCerr.h: fixed bug #871258 and some other unreported
2298 * support/regression/tests/enum.c: added test for enum values that
2299 require at least 2 bytes of storage.
2301 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
2303 * src/common.h: added ifndef/define/endif macros
2304 around the header file.
2305 Bug reported from Jesus Calvino-Fraga
2307 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
2309 * sdcc.spec: updated
2310 * device/include/Makefile.in: don't install CVS directories
2311 * device/lib/Makefile.in: added removal of CVS directories after install
2312 * doc/Makefile: fixed install, added local_icons
2313 * sim/ucsim/gui.src/Makefile.in: fixed an old typo
2314 * src/mcs51/gen.c (genRightShift): fixed bug #870788
2315 * src/ds390/gen.c (genRightShift): fixed bug #870788
2316 * src/SDCCast.c (decorateType): fixed bug #870781
2318 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
2320 PIC16 port related changes:
2321 * device.c: removed pic16_finalMapping and pic16_finalMappingSize,
2322 added variable stackPos,
2324 * gen.c: genCall, assignResultValue: added support for
2325 pushing/retrieving function parameters to/from stack,
2326 genFunction,genEndFunction: setup stack frame for the
2328 genAddrOf: will be changed according to bug 863624
2330 * added files genutils.c and genutils.h which contain gen*
2331 debugged and optimised functions extracted from gen.c
2333 * glue.c: added variable 'externs' which holds extern symbols,
2334 pic16emitRegularMap: is modified to properly handle relocatable
2335 symbols under the new scheme,
2336 pic16createInterruptVect: is modified
2337 pic16printPublics: is modified to emit 'global' assembler directives,
2338 added pic16_printExterns to print extern symbols,
2339 pic16glue: initializes stack/frame pointer in the beginning of
2340 the assembly output. Temporary hack, will be corrected later,
2341 because gplink yet does not support stack and SDCC does not
2342 yet support a type of crt0.o object to create the final binary.
2344 * Removed many lines that contain 8051 legacy code.
2345 * The code is finally placed under a 'code' directive.
2346 * Added port specific options.
2348 * _process_pragma: simplified since now we do not need *special*
2349 include file to define SFR registers. But a separate header
2350 will be needed. This will be developed later.
2351 * _pic16_parseOptions: added, parses port specific options:
2352 --pgen-banksel, --obanksel=, --pomit-config-words, --pomit-ivt,
2353 --pleave-reset-vector, --penable-stack, --pstack-model, --debug-xtra
2354 --preplace-udata-with=
2356 * _pic16_setDefaultOptions: modified to initialize section names,
2357 but hack is temporarly out of order since it needs improvement.
2358 * _pic16_genAssemblerPreamble: configuration words are emitted by
2359 their address instead of their name. This part is incomplete and
2360 supports only the 18Fxx2 devices. Other devices will emit an error
2361 during assembly since they do not contain the same set of config
2363 * _pic16_genIVT: is modified,
2365 * pcode.c: added definitions for some hardware registers that are needed
2367 * added flag is2LitOp and variable pci_magic in pCodeInstruction.
2368 All PCI entries are updated. Now LFSR is supported.
2369 * Removed pic16_pciTRIS is mentioned by mdubuc in source
2370 * added pic16_newpCodeOpLit2 to support instructions with
2371 two literal arguments
2372 * pic16_pCode2str: corrected code that emits assembler instructions
2373 with two literal operands and those that have an access bit modifier
2374 * genericPrint: now PC_ASMDIR pCodes, can emit a label if it exists,
2375 this fixes a bug which caused some labels to be lost, when an
2376 assembler directive was added, i.e. banksel,
2377 * pic16_FixRegisterBanking: improved logic that causes the insertion
2379 * InlineFunction: functions that are called once, are not any more
2380 inlined. This can be a port option in the future,
2382 * pcode.h: added pCodeOpLit2 and added variable label in pCodeAsmDir
2384 * ralloc.c: added pic16_rel_udata and pic16_fix_udata variables which
2385 hold the corresponding uninitialized symbols,
2386 * pic16_allocProcessorRegister: registers have explicit marked the
2388 * pic16_allocInternalRegister: registers are explicit marked as
2390 * pic16_writeUsedRegs: pic16_dynDirectBitRegs was missing from the
2391 processing list, so bit registers were lost,
2394 * ralloc.h: added field 'accessBank' and original symbol operand
2395 in register definition,
2396 * removed the field isMapped from register definition,
2398 ** Several functions have been removed from various sources:
2399 BanksUsedFlow2,BanksUsedFlow,FixBankFlow,InstructionRegBank,
2400 pic16_addMemRange,pic16_isREGinBank,pic16_dump_map,pic16_dump_cblock
2401 isSFR,validAddress,mapRegister,assignRegister,pic16_assignFixedRegisters
2402 pic16_assignRelocatableRegisters
2404 ** others have been introduced:
2405 pic16_areRegsSame,pic16_dump_section,checkAddReg,pic16_groupRegistersInSection
2406 pic16_popGetLit2,pic16_popCombine2,pushw,pushaop
2408 2004-01-05 Vangelis Rokas <vrokas AT otenet.gr>
2410 * support/scripts/inc2h.pl: changed definition of BIT_AT
2411 to emit 'sbit at' instead of 'bit at'. This was a request.
2413 PIC16 port related preliminary changes:
2414 * gen.c: prefixed function popRegFromString with
2415 pic16_ and all references to it corrected
2416 * pcode.c: all pic16_pc_* hardware registers prefixed
2417 with underscore (_),
2418 pic16_popCopyGPR2Bit(): function sets register wasUsed=1
2419 * ralloc.c: newReg(): when register is REG_SFR then
2420 set address to rIdx,
2421 pic16_allocProcessorRegister(): marks register wasUsed=0
2422 pic16_writeUsedRegs(): added a call to assign processor
2423 registers via pic16_assignFixedRegisters
2425 2004-01-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2427 * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c,
2428 as/mcs51/lkmain.c, as/mcs51/lkmem.c: 8051 linker can now pack
2429 variables in unused register banks. Also the SSEG is placed
2430 wherever there is enough space for it, and IDATA can be anywhere
2431 in internal RAM. For now compile using -Wl-Y[stack_size].
2432 The mem file is different for this option as well, since it
2433 makes no sense of talking about DSEG lenght.
2435 2004-01-02 Vangelis Rokas <vrokas AT otenet.gr>
2437 * src/SDCClrange.c: fixed bug 869095 that caused segfault
2438 in certain cases, e.g. when ROM assignment, patch provided
2439 from Albert den Haan.
2441 2004-01-01 Bernhard Held <bernhard AT bernhardheld.de>
2443 Many signedness and type propagation fixes:
2444 * src/SDCCicode.c: made geniCodeCast() static
2445 replaced SPEC_ by IS_ (cosmetic)
2446 (operandOperation): fixed div and mod operation
2447 (usualBinaryConversions): added support for promotion of char
2448 (geniCodeMultiply): replaced (unsigned long) by (TYPE_UDWORD)
2449 (geniCodeDivision): replaced (unsigned long) by (TYPE_UDWORD)
2450 (geniCodeAdd): an array index will stay unsigned, even if promoted
2452 (geniCodeArray): ditto
2453 * src/SDCCicode.h: made geniCodeCast() static: removed prototype
2454 * src/SDCCsymt.c (computeType): added more support for char;
2455 promotion of char is selectable by promoteCharToInt, fixed signedness
2457 (powof2): replaced (unsigned long) by (TYPE_UDWORD)
2458 * src/SDCCsymt.h (powof2): replaced (unsigned long) by (TYPE_UDWORD)
2459 * src/SDCCval (val*): replaced signedness calculation by
2461 rearranged if-branches (cosmetic)
2462 (valShift): added warning W_SHIFT_CHANGED
2463 (valCompare): fixed problem with different types
2464 * src/hc08/rallo.c (leastUsedLR): fixed gcc 3.3 warning
2465 * support/regression/tests/literalop.c: added many cases
2466 * support/regression/tests/ast_constant_folding.c: changed finally to
2468 * .version: new year, new version: 2.3.7
2469 * src/SDCCmain.c (main): applied patch #866468
2470 * debugger/mcs51/sdcdb.c (parseCmdLine): added -k for ucsim, patch
2471 provided by Scott Bronson
2472 * doc/sdccman.lyx: updated documentation for sdcdb
2473 updated and added chapter tips
2475 2004-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2477 * src/SDCCsymt.h: missing from yesterday's commits
2479 2003-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2481 * src/SDCC.y (struct_or_union_specifier),
2482 * support/Util/SDCCerr.c,
2483 * support/Util/SDCCerr.h: verify that struct & union tags are used
2486 2003-12-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2488 * src/SDCCglobl.h: missing from yesterday's commits
2490 2003-12-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2492 * src/SDCC.y (external_definition, type_specifier2, sfr_reg_bit,
2493 sft_attributes, struct_declaration, parameter_declaration,
2494 type_name, start_block, declaration_list),
2495 * src/SDCC.lex (check_type): support redefinition of typedef names
2497 2003-12-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2499 * src/mcs51/gen.c (genPlus): added special handling for 256 byte
2500 aligned xdata arrays. Erik helped me with the if clause.
2502 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2504 * device/lib/ds390/tinibios.c (CpuSpeed): suppress unreachable code
2507 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2510 * src/SDCCast.c (newAst_),
2512 * src/SDCCicode.c (ast2iCode, newiCode),
2514 * src/SDCC.y (logical_and_expr, logical_or_expr, conditional_expr,
2515 expr, statement, expression_statement, selection_statement,
2516 iteration_statement, expr_opt, jump_statement): foundation for tracking
2518 * src/SDCCopt.c (killDeadCode): fixed bug #861580 (needs the sequence
2521 2003-12-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2523 * support/Util/SDCCerr.c,
2525 * src/SDCCast.c (createCase, createDefault, decorateType),
2526 * src/SDCClabel.c (labelUnreach),
2527 * src/SDCC.y (labeled_statement, jump_statement): More improvements
2529 * support/Util/SDCCerr.c (werrorfl): fixed a non-standard declaration
2530 (with thanks to Stas Sergeev)
2531 * device/include/time.h,
2532 * device/lib/time.c (CheckTime): suppress unreachable code warning
2534 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2536 * src/SDCCast.c (createIvalCharPtr),
2537 * src/SDCCglue.c (printChar): fixed bug #862241 (an error in my fix for
2539 * support/regression/tests/nullstring.c: tests for these two bugs
2541 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2543 * support/Util/SDCCerr.h,
2544 * support/Util/SDCCerr.c (E_NOT_ALLOWED),
2545 * src/SDCC.y (struct_declaration, struct_or_union_specifier): complain
2546 about storage class and 'at' used inside struct or union
2547 * src/SDCCBBlock.c (iCodeFromeBBlock),
2548 * src/SDCCcse.c (ifxOptimize),
2549 * src/SDCCglue.c (emitRegularMap, initPointer, printIvalStruct,
2550 printIvalArray, printiValFuncPtr, printIvalCharPtr, printIvalPtr,
2551 printIval, emitStaticSeg, emitOverlay),
2552 * src/SDCClabel.c (deleteIfx),
2553 * src/SDCCopt.c (replaceRegEqv, eBBlockFromiCode),
2554 * src/SDCCast.c (resolveSymbols, createIvalStruct, createIvalArray,
2555 gatherAutoInit, processParms),
2556 * support/Util/SDCCerr.h,
2557 * support/Util/SDCCerr.c (werrorfl): Support for better error location
2558 reporting for post-parse errors.
2560 2003-12-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2562 * src/SDCCval.c (valPlus, valMinus, valShift): fixed some problems with
2563 implicit casts via union; they don't work on big endian systems
2564 (possible fix for bug #861138)
2566 2003-12-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2568 (committed by Erik Petrich <epetrich AT ivorytower.norman.ok.us> on Frieder's behalf)
2569 * src/mcs51/main.c: fixed the fix for bug #737001
2571 2003-12-15 Borut Razem <borut.razem AT siol.net>
2573 * support/scripts/sdcc.nsi: updated for NSIS 2.0 beta 4
2575 2003-12-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2577 * support/makebin/makebin.c: put output in binary mode
2579 2003-12-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2581 * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears
2582 xdata and data memory on startup. Set the environment variable
2583 SDCC_NOGENRAMCLEAR to disable this.
2584 * src/mcs51/peephole.def,
2585 * src/ds390/peephole.def: using the atomic test and clear instruction jbc
2586 (allows non-interrupt and interrupt code to safely compete for a resource
2587 without the non-interrupt code having to disable interrupts)
2589 2003-12-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2591 * src/SDCCicode.c (geniCodeAdd),
2592 * src/SDCCast.c (decorateType): fixed bug #857753 (need to be careful
2593 with valFromType if type might be a pointer and host is big endian).
2594 * src/SDCCast.c (decorateType): unary plus compatible with all arithmetic
2595 types, not just integer types.
2596 * src/SDCCsymt.c (addSymChain): clarified error message when symbol is
2597 multiply defined with mismatching "at" address.
2599 2003-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2601 * src/ds390/main.c (PORT tininative_port): fixed bug #858416
2602 * src/SDCCglue.c (printChar, printIvalChar, emitStaticSeg),
2603 * src/SDCCast.c (createIvalCharPtr, stringToSymbol): handle strings
2604 with embedded nulls (fixed bug #753752)
2606 2003-12-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2608 * src/mcs51/main.c(_mcs51_genRAMCLEAR): using r0 instead of r1/r2.
2609 Apparently this did not see much testing (endless loop)
2611 2003-12-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2613 * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
2615 2003-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2617 * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
2618 gracefully handle NULL memmap pointers
2620 2003-12-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2622 * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
2623 instead of deleting the iCode when an operand is volatile
2624 * src/z80/gen.c (genDummyRead),
2625 * src/mcs51/gen.c (genDummyRead),
2626 * src/ds390/gen.c (genDummyRead),
2627 * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
2629 * src/SDCCicode.c (geniCodeCall): fixed bug #851607
2630 * src/SDCC.y: fixed bug #850420
2632 2003-12-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2634 Applied z80 i/o port patch from Peter Townson and fixed some operators
2635 to better handle operands in A register.
2636 * device/include/z180.h
2642 * src/z80/peeph-z80.def
2646 2003-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2648 * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
2650 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2652 * device/lib/hc08/_mullong.c: Removed extra #endif
2654 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2656 * sim/ucsim/hc08.src/inst.cc,
2657 * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
2659 * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
2660 * src/hc08/gen.c (XAccRsh): fixed problem with right shift
2661 * device/include/stdarg.h: fixed varargs for hc08
2662 * device/lib/Makefile.in,
2663 * device/lib/hc08/Makefile,
2664 * device/lib/hc08/_mulint.c,
2665 * device/lib/hc08/_mullong.c: fixed some endian problems
2667 2003-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2669 * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
2670 * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
2671 * device/lib/_gptrget.c,
2672 * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
2674 2003-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2676 * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
2677 * src/SDCCast.c (astErrors): fixed bug #846007
2678 * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
2680 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2682 * src/SDCCast.c (decorateType): disabled a transformation I added in
2683 revision 1.188 (access to fields of a structure at an absolute address);
2684 it breaks with bitfields, extern declarations, and gcse analysis.
2685 * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
2686 could be assigned through a pointer, so don't complain.
2687 * src/SDCCast.c (astErrors),
2689 * src/SDCCglue.c (emitRegularMap): fixed bug #847813
2691 2003-11-26 Vangelis Rokas <vrokas AT otenet.gr>
2693 * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
2694 * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
2695 output of __config directives, since gpasm now supports them
2696 * src/pic16/main.c (_pic16_finaliseOptions): define MCU
2697 pre-processor macro, i.e. -DMCU=p18f452
2698 * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
2699 and modified to handle 'cast' icode similarly to '=' icode
2700 * src/pic16/device.h (typedef struct PIC_device): added field
2701 'extMIface' to indicate that chip has external memory interface
2702 * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
2703 18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
2706 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2708 * src/SDCC.y (pointer): fixed bug #846006
2709 * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
2710 * src/SDCCast.c (decorateType): fixed bug #846009
2711 * src/ds390/peeph.def,
2712 * src/ds390/gen.c (genAnd, genOr),
2713 * src/mcs51/peeph.def,
2714 * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
2716 2003-11-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2718 Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
2725 2003-11-23 Klaus Flittner <klaus_flittner AT gmx.de>
2729 * src/SDCCbitv.c: added function to free a bitvector
2731 * src/SDCClrange.c: added function to recompute the liveranges
2733 * src/ds390/ralloc.c,
2734 * src/hc08/ralloc.c,
2735 * src/mcs51/ralloc.c,
2737 * src/pic16/ralloc.c,
2738 * src/xa51/ralloc.c,
2739 * src/z80/ralloc.c: recompute the liveranges after register packing
2741 2003-11-21 Klaus Flittner <klaus_flittner AT gmx.de>
2743 * src/SDCCloop.c (newInduction): fixed bug #845630
2745 2003-11-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2747 * src/SDCCsymt.c (compareTypesExact): disabled debugging output
2748 inadvertantly left behind from my 2003-11-12 change
2750 2003-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2752 Updated headers I neglected to commit yesterday.
2756 2003-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2758 * src/SDCCcse.c (algebraicOpts): fixed bug #773153
2759 * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
2760 * src/SDCCopt.c (eBBlockFromiCode),
2761 * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
2762 the creation of the key hash table from the sequencing so it can be used
2763 earlier (for some GCSE bug fixes still pending)
2765 2003-11-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2767 * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
2768 * support/regression/tests/addsub.c: testing genPlus shortcut
2770 2003-11-15 Borut Razem <borut.razem AT siol.net>
2772 * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
2774 2003-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2776 * src/SDCCcse.c (cseBBlock): fixed bug #527779
2777 * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
2778 ordering is immaterial.
2779 * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
2781 2003-11-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2783 * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
2784 * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
2785 (SIGSEV) of bug #840381
2786 * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
2787 unlink new file before rename if new and old filenames are the same)
2789 2003-11-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2791 * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
2792 uninitialized variables) for the mcs51. Set environment variable
2793 SDCC_GENRAMCLEAR to test.
2794 xdata initialization slightly shorter
2796 2003-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2799 * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
2800 #838241 & 780691 (basicly the same bug)
2801 * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
2802 * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
2804 2003-11-11 Bernhard Held <bernhard AT bernhardheld.de>
2806 * src/SDCCmain.c (linkEdit): "fix" #834252
2808 2003-11-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2810 * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
2812 * src/SDCC.y: fixed bug #819403
2814 2003-11-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2816 * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
2817 the reentrant attribute.
2818 * src/hc08/gen.c (genPackBits): added missing stack readjustment
2819 * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
2821 * src/SDCCast.c (decorateType): fixed bug with storage class not being
2822 updated during pointer dereference; f.e. ~(((char *)1)*) was being
2823 erroneously reduced to a literal.
2824 * src/hc08/ralloc.c (packRegisters, rematStr),
2825 * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
2828 2003-11-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2830 * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
2831 * doc/sdccman.lyx: changed from 'article' to 'book'
2832 * doc/Makefile: readded test_suite_spec and cdbfileformat
2834 2003-11-08 Bernhard Held <bernhard AT bernhardheld.de>
2836 * device/include/stdlib.h: include malloc.h to comply with ANSI
2837 * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
2839 2003-11-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2841 * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
2842 * doc/clean.mk: also remove *.out files
2843 * doc/sdccman.lyx: some additions, larger top/bottom margins
2845 2003-11-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2847 * src/SDCC.y: fixed bug #837365
2848 * support/regression/tests/bitopcse.c
2849 * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
2850 a symbol (might be valop instead)
2851 * device/lib/Makefile.in: added errno.c to HC08SOURCES
2852 * device/lib/clean.mk: added hc08 to the cleaning list
2854 2003-11-04 Borut Razem <borut.razem AT siol.net>
2856 * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
2858 * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
2859 as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
2860 malloc is declared in standard stdlib.h
2862 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2864 * device/lib/hc08/Makefile: need to clean .rel not .o files
2865 * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
2867 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2877 * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
2878 * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
2879 tests (which uses the port's oclsExpense function)
2885 * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
2887 2003-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2889 * src/SDCCcse.c (ifxOptimize),
2890 * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
2891 an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
2892 deleting the IFX iCode.
2893 * src/hc08/ralloc.c: reduced unneeded slocs
2894 * src/hc08/gen.c: fixed bug in asmopToBoolean
2896 2003-11-04 Borut Razem <borut.razem AT siol.net>
2898 * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
2899 support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
2900 as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
2901 transferred to configure
2903 2003-11-03 Bernhard Held <bernhard AT bernhardheld.de>
2905 Use headers defined in the C[++] standards:
2906 * sim/ucsim/gui.src/serio.src/fileio.cc
2907 * sim/ucsim/gui.src/serio.src/frontend.cc
2908 * sim/ucsim/gui.src/serio.src/main.cc
2909 * sim/ucsim/gui.src/serio.src/posix_signal.cc
2910 * support/Util/NewAlloc.c
2916 2003-11-03 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2918 * Added MSVC projects for hc08 assembler and linker:
2919 all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
2920 /as/hc08/link_hc08.dsp
2922 2003-11-03 Martin Helmling <Martin.Helmling AT octo-soft.de>
2924 * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)
2926 2003-11-02 Bernhard Held <bernhard AT bernhardheld.de>
2928 * src/SDCCmain.c (linkEdit): "fixed" again bug #833605
2930 2003-11-01 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2932 * src/mcs51/main.c: xdata initialization is 13 bytes shorter now
2934 2003-10-31 Borut Razem <borut.razem AT siol.net>
2936 * support/cpp2/cpplib.h,
2937 support/cpp2/cpplib.c,
2938 support/cpp2/cpplex.c,
2939 support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ]
2940 to switch _asm block preprocessing on / off. Default is
2941 #pragma preproc_asm +
2943 2003-10-31 Borut Razem <borut.razem AT siol.net>
2945 * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences
2946 when outputting comment blocks (when executed with -C option) and
2947 _asm (SDCPP specific) blocks
2949 2003-10-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2951 * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning
2953 2003-10-31 Klaus Flittner <klaus_flittner AT gmx.de>
2955 * src/SDCCcse.c (updateSpillLocation): fixed bug #808027
2957 2003-10-31 Bernhard Held <bernhard AT bernhardheld.de>
2959 * src/SDCCmain.c (linkEdit): "fixed" bug #833605
2960 * src/SDCCast.c (decorateType): fixed bug #832664
2962 2003-10-31 Borut Razem <borut.razem AT siol.net>
2964 * support\cpp2\cpplex.c: fixed for SDCPP:
2965 comments(when executed with -C option) and _asm blocks
2966 were included even if they where in skipped #if block.
2967 Applied solution from GCC cpp 3.3.2
2969 2003-10-31 Borut Razem <borut.razem AT siol.net>
2971 * src/SDCC.lex: sdcc now understands both formats:
2972 '# <line_number> <file_name>' and
2973 '#line <line_number> <file_name>'
2974 * support/cpp2/cppmain.c: sdcpp now generates the standard
2975 '# <line_number> <file_name>' instead of former
2976 '#line <line_number> <file_name>'
2978 2003-10-30 Borut Razem <borut.razem AT siol.net>
2980 * support/cpp2/cpphash.h,
2981 * support/cpp2/cpplib.h
2982 * support/cpp2/cpplex.c,
2983 * support/cpp2/cppmain.c,
2984 * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants
2986 2003-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2988 Fixed a number of problems revealed by bug #827883.
2989 * src/SDCCloop.c (loopInvariants): Spill location of the
2990 result operand should be recomputed if extracted from
2991 a loop. Also, don't extract assignments of an iTemp
2993 * src/SDCCast.c (isConformingBody): loop reversal should
2994 not occur if the control variable is involved with a
2995 relational operator.
2997 2003-10-28 Bernhard Held <bernhard AT bernhardheld.de>
2999 * .version: bumped to 2.3.6 to reflect the big improvements
3000 made by Erik and Klaus. Thanks!
3002 2003-10-28 Klaus Flittner <klaus_flittner AT gmx.de>
3004 Replaced the livrange code.
3005 * src/SDCClrange.c: added new LR code
3007 * src/SDCCBBlock.h: removed remainig parts from old LR code
3008 * src/ds390/ralloc.c,
3009 * src/ds390/gen.c: minor fixes to make it work with new code
3011 2003-10-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3016 * src/hc08/ralloc.c: Fix various warnings related to the hc08
3017 * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717
3018 (tweaked fix for bug #818696)
3020 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3022 * src/z80/ralloc.c (joinPushes): Fixed bug #828742
3024 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3027 * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work)
3028 * src/mcs51/gen.c (gencjneshort),
3029 * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand
3030 more efficient (per Scott Bronson's suggestion)
3032 2003-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3034 Extended the semantics of the critical keyword to include
3035 individual statements. See RFE #827755 and #799831
3040 * support/Util/SDCCerr.c
3041 * support/Util/SDCCerr.h
3046 2003-10-19 Borut Razem <borut.razem AT siol.net>
3048 * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31
3050 2003-10-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3052 * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode):
3054 * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement
3055 and predecrement operand is displayed
3057 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
3059 * src/SDCCval.c (valMinus): fixed bug #826041
3061 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3063 Some hc08 related updates that I missed earlier
3064 * sim/ucsim/stypes.h
3065 * support/regression/ports/hc08/spec.mk
3067 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3069 New target "hc08" for the Motorola 68hc08 family of micros
3077 * sim/ucsim/hc08.src/*
3078 * sim/ucsim/configure.in
3079 * src/ucsim/configure
3080 * sim/ucsim/packages_in.mk
3083 * device/include/mc68hc908qy.h
3085 * device/lib/Makefile.in
3086 * support/regression/ports/hc08/*
3087 * support/regression/Makefile
3089 2003-10-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3091 * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c
3093 * src/ds390/gen.c (genCast): fixed bug #821957
3095 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
3097 * device/lib/logf.c: "fixed" overlay bug
3098 * support/regression/ports/host/spec.mk: added m library
3099 * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs
3100 * support/regression/tests/float_trans: added (for Eric)
3102 2003-10-12 Bernhard Held <bernhard AT bernhardheld.de>
3104 * src/mcs51/gen.c (genCpl): fixed bug
3105 http://sf.net/mailarchive/message.php?msg_id=6263915
3107 2003-10-10 Bernhard Held <bernhard AT bernhardheld.de>
3109 * src/SDCCast.c (decorateType): added extended constant folding
3110 * src/SDCCsymt.c (computeType): cleanup
3111 * src/SDCCval.c (valShift): minor optimization
3112 * support/regression/tests/ast_constant_folding.c: added
3114 2003-10-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3116 * src/SDCCmain.c: removed some unintended changes
3118 2003-10-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3120 * src/SDCCmain.c (setParseWithComma): fixed bug #816685
3121 * src/z80/gen.c: fixed part of bug #817589
3122 * src/SDCCsymt.c (checkFunction): fixed bug #817895
3124 2003-10-08 Bernhard Held <bernhard AT bernhardheld.de>
3126 Replaced cast (void **) with (void *) to avoid gcc 3 warning:
3137 * src/ds390/ralloc.c
3139 * src/mcs51/ralloc.c
3141 * src/pic16/ralloc.c
3144 * src/z80/gen.c: removed unused label "release:"
3146 2003-10-06 Borut Razem <borut.razem AT siol.net>
3148 * src/SDCC.lex: removed definition of unused variables
3149 save_optimize and save_options
3151 2003-10-06 Bernhard Held <bernhard AT bernhardheld.de>
3153 * clean.mk: removed '=' in "-maxdepth=1"
3154 * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS
3155 * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS
3157 2003-10-06 Borut Razem <borut.razem AT siol.net>
3159 * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions;
3160 my_unput() replaced by unput()
3162 2003-10-05 Bernhard Held <bernhard AT bernhardheld.de>
3164 * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
3165 setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
3166 type-punned pointer will break strict-aliasing rules"
3167 Old LR behaviour is again default; Klaus' LR can be choosen by
3168 defining the environment variable LRKLAUS
3172 * src/ds390/ralloc.c (spillThis): applied Klaus' patch
3173 * clean.mk: fixed removal of files in bin/CVS/
3174 * device/lib/clean.mk: fixed removal of directories small and large
3175 * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
3177 * src/SDCCval.c: removed superflous test for pedantic
3179 2003-10-05 Borut Razem <borut.razem AT siol.net>
3181 * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
3182 Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
3183 message "unmatched #pragma SAVE and #pragma RESTORE"
3185 2003-10-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3187 * doc/sdccman.lyx: various additions and updates (interrupts, inline
3188 assembly, critical functions, atomic, nojtbound)
3190 2003-10-04 Bernhard Held <bernhard AT bernhardheld.de>
3192 Applied liferange patch from Klaus Flittner <klaus_flittner AT gmx.de>
3198 2003-10-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3201 * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
3203 * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
3205 * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
3206 * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
3207 * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
3209 2003-10-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3211 * src/z80/gen.c (genRet): fixed bug #524753
3212 * src/z80/gen.c (genCast): fixed internal error on cast from
3214 * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
3215 fix for bug #477835 to the z80
3216 * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
3217 for tracking iCodes in the peephole optimizer for z80
3219 2003-10-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3221 * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
3222 the other part of bug #814548
3223 * src/SDCCpeeph.c (labelInRange): fixed bug #814558
3225 2003-09-30 Bernhard Held <bernhard AT bernhardheld.de>
3227 * src/SDCCcse.c: fixed part of bug #814548
3229 2003-09-28 Borut Razem <borut.razem AT siol.net>
3231 * src/asm.c: rewrite of printILine() to use temporary file instead
3233 * src/xa51/main.c: commented out declaration of int rewinds
3235 2003-09-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3237 * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
3239 2003-09-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3241 * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
3242 * src/asm.c (printILine): Fixed bug #811015
3244 2003-09-22 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3246 *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
3249 2003-09-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3251 * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
3252 * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
3253 to correctly handle general case of AOP_PAIRPTR
3254 * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
3256 2003-09-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3258 * src/mcs51/ralloc.c (fillGaps),
3259 * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
3260 register positioning bug)
3262 2003-09-21 Bernhard Held <bernhard AT bernhardheld.de>
3264 * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
3266 2003-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3268 * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
3269 genCodePointerGet, genGenPointerGet, genFarPointerSet,
3270 genGenPointerSet): handle AOP_DPTR correctly when loading dptr
3271 (ralloc doesn't intentionally do this now, but perhaps later)
3272 * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
3273 * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
3274 register positioning bugs (Fixed bug #762602 and #795325)
3275 * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
3277 * src/z80/gen.c: increased _vemit2's buffer[] to handle long
3278 lines that --i-code-in-asm generates
3280 2003-09-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3282 *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
3283 trying to fclose a FILE* that was already closed.
3285 2003-09-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3287 * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
3288 of const struct should be treated as if const themselves)
3290 2003-09-18 Bernhard Held <bernhard AT bernhardheld.de>
3292 * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
3294 2003-07-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3296 * support/librarian/sdcclib.c: Generate correct offsets for libraries with
3297 Unix (/n) and DOS (/r/n) line terminations.
3299 2003-09-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3301 * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
3304 2003-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3306 * src/mcs51/gen.c (genFunction, genEndFunction),
3307 * src/ds390/gen.c (genFunction, genEndFunction): Moved save
3308 and restore of EA so that stack offsets to parameters are
3309 correct when using both critical and reentrant/stack-auto.
3310 * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
3311 size (can be triggered in error if sloc is shared between
3312 different sized objects)
3313 * device/include/float.h: fixed macros to explicitly use
3314 unsigned long where needed
3316 2003-09-15 Bernhard Held <bernhard AT bernhardheld.de>
3318 Feature req. 799831: added code to allow nesting of critical functions
3319 * src/mcs51/gen.c (genFunction, genEndFunction)
3320 * src/ds390/gen.c (genFunction, genEndFunction)
3322 2003-09-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3324 * src/SDCCsymt.c (sclsFromPtr),
3326 * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
3327 support for standard C idiom of memory mapped variables; for
3328 example, *((xdata int*)0x1234) = 1 is now internally equivalent
3329 to xdata int at 0x1234 tempvar = 1.
3330 * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
3331 provided by Akiya ISHIDA
3333 2003-09-13 Bernhard Held <bernhard AT bernhardheld.de>
3335 * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
3336 * src/SDCCval.c (constVal): added reduction from int to char
3337 * src/SDCCval.c (valMult, valDiv): fixed sign handling
3338 * src/SDCCval.c (valShift): fixed after change of cheapestVal()
3339 * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
3341 * support/regression/tests/shifts.c: fixed
3343 2003-09-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3345 * src/z80/gen.c (genXor): Fixed bug #805445
3347 2003-09-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3349 Fixed bug #621531 (const & volatile confusion in the type chain).
3350 DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
3351 refer to the const or volatile state of the pointer itself.
3363 * src/pic16/ralloc.c
3364 * support/regression/tests/const.c
3366 2003-09-10 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3368 When checking for duplicated modules, use absolute paths
3369 instead of relative paths. Files changed:
3374 2003-09-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3376 * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
3378 2003-09-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3380 * device/include/string.h: added size_t typedef, changed
3381 prototypes to use size_t, eliminated separate reentrant and
3382 non-reentrant declarations, added _memmove declaration
3383 * device/lib/_memcpy.c: changed to use size_t instead of int,
3384 changed /4 to >>2 to avoid division library call
3385 * device/lib/_memcmp.c,
3386 * device/lib/_memset.c,
3387 * device/lib/_strncat.c,
3388 * device/lib/_strncpy.c,
3389 * device/lib/_strncmp.c: changed to use size_t instead of int
3390 * device/lib/_memmove.c: new file (fixed bug #772294)
3391 * device/lib/Makefile.in: added _memmove.c
3392 * device/lib/z80/asm_strings.s: fixed bug #772290
3393 * support/regression/tests/bitfields.c: attempt to fix host assertion
3394 failure on amd64-unknown-linux2.2
3396 2003-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3398 * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
3399 * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
3400 * as/z80/asmain.c (main): fixed bug #801766
3402 2003-09-06 Bernhard Held <bernhard AT bernhardheld.de>
3404 * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
3407 2003-09-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3409 * src/SDCCast.c (isConformingBody): fixed loop reversal bug
3410 reported in bug #800609
3412 2003-09-04 Vangelis Rokas <vrokas AT otenet.gr>
3414 * Top header beautifications in src/pic16 directory:
3415 device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
3416 pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
3417 pcoderegs.h, ralloc.c, ralloc.h
3418 * main.c: added top header and GPL license notice
3419 * pcode.c: fixed the if-conditional warning
3421 2003-09-04 Bernhard Held <bernhard AT bernhardheld.de>
3423 * device/lib/_mullong.c: replaced int by short for gcc
3425 2003-08-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3427 * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
3428 and JUMPTABLE iCodes properly now (worked by accident before)
3429 * src/mcs51/gen.c (leftRightUseAcc),
3430 * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
3431 iCode properly now. Use getSize instead of nRegs since a & b
3432 aren't part of the nRegs tally.
3434 2003-08-31 Vangelis Rokas <vrokas AT otenet.gr>
3436 * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
3437 * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
3438 before instructions that use the _STATUS register
3440 2003-08-31 Bernhard Held <bernhard AT bernhardheld.de>
3442 * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
3443 * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
3444 fetching of the pointer
3445 * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
3446 copied from genNearPointerSet()
3447 * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
3448 * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
3449 If they pop r0/r1 they must be called in the opposite order than aopOp().
3450 * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
3451 (resp. --stack-auto), prepared for --xstack
3453 2003-08-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3455 * doc/sdccman.lyx: reverted tables to those in cvs 1.64
3457 2003-08-28 Bernhard Held <bernhard AT bernhardheld.de>
3459 * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
3460 these ports have their own __sdcc_external_start()
3462 2003-08-26 Bernhard Held <bernhard AT bernhardheld.de>
3464 pic patch provided by Slade Rich <slade_rich AT yahoo.com>
3465 * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
3466 type for bits was changed. It resulted in bit variables becoming
3467 global, which is not permitted in PIC 14 assembly output.
3469 2003-08-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3471 * doc/sdccman.lyx: various additions and updates. Rearranged sections
3473 2003-08-22 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3475 Z80 and MCS51 linkers complaint if a public symbol is defined
3476 in more than one library module:
3480 * as/mcs51/Makefile.in
3482 2003-08-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3484 A few small changes that speed up the peephole optimizer.
3488 2003-08-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3490 Try to make the peephole optimizer smarter by maintaining
3491 an association between the assembly source code and the
3492 iCodes that originated them. Put this information to use
3493 with a new peephole rule condition "notVolatile" so that
3494 the rules can be aggressive yet still safe.
3499 * src/mcs51/peeph.def
3501 2003-08-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3505 * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
3506 * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
3507 if the left or right operand symbols have the accuse flag set.
3509 2003-08-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3511 Changed the type of the result of the ! (NOT) operator to char;
3512 previously it returned the same type as the source. This allows
3513 us to eliminate all the genFloatNot functions (all of its target
3514 implementations were very buggy) since !float can use the same
3517 * src/SDCCicode.c (ast2iCode): ! returns char
3518 * src/mcs51/gen.c (genNot, genNotFloat),
3519 * src/ds390/gen.c (genNot, genNotFloat),
3520 * src/z80/gen.c (genNot, genNotFloat),
3521 * src/pic/gen.c (genNot, genNotFloat),
3522 * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
3524 2003-08-19 Bernhard Held <bernhard AT bernhardheld.de>
3526 pic patch provided by Slade Rich <slade_rich AT yahoo.com>
3527 1. Interrupt would not compile properly. Ensure PCLATH register is saved
3528 during interrupts. Ensure WSAVE is located at a shared bank address.
3529 2. Fixed page selection in some places
3530 3. Fixed BTFSS/C to where necessary use registers directly and not simply
3531 the registers name strings.
3532 4. Fixed "signed / unsigned compare" compiler warnings.
3533 5. The PIC port manages its own allocation of the general purpose
3534 registers, but makes no attempt to reuse them. As a result when
3535 compiling it soon runs out of general purpose registers. Some
3536 additional code was added to the files pcode.c and device.c to walk
3537 through the function call tree and rename the registers so that they
3547 * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
3548 genPlus() & genMinus() when the result is the same as left or right
3550 2003-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3552 * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
3554 2003-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3556 Made bitfield a distinct type from bit so that bitfields
3557 convert as per ANSI C and bits retain their traditional
3558 boolean style behaviour. Implemented bitfield support in
3566 * src/ds390/gen.c: bit v bitfield split
3567 * src/z80/gen.c: New support for bitfields
3568 * support/regression/tests/bitfields.c: reenabled z80,
3571 2003-08-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3573 Rules 246.x, 247.x relate to bitfields, the others speed up
3574 access to xdata mapped I/O devices.
3576 * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
3578 2003-08-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3580 Cleaned up genPackBits and genUnpackBits and added two helper
3581 functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
3582 for literal assignments in genPackBits (thanks to Frieder for
3588 2003-08-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3590 Fixed bug #748310 (pointer to function type mishandled when the
3591 function name is omitted). Also fixed a SIGSEGV when a function
3592 attribute (reentrant, etc) is used on a non-function or on a
3593 function but misplaced before the parameter list.
3595 * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
3597 * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
3598 * support/Util/SDCCerr.h,
3599 * support/Util/SDCCerr.c: Added func attr misuse error msg
3601 2003-08-13 Bernhard Held <bernhard AT bernhardheld.de>
3603 Fixed bug #787649 by anonymous
3604 * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
3605 * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
3607 2003-08-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3609 Fixed numerous bitfield problems.
3611 * src/SDCC.y: More bitfield related error checking
3613 * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
3614 * support/Util/SDCCerr.h,
3615 * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
3616 * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
3617 * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
3618 * support/regression/tests/bitfields.c: tests added
3620 2003-08-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3622 Made the constant following the "interrupt" keyword optional. If
3623 omitted, the function will not automatically be given an entry
3624 in the interrupt vector table (similar to #pragma NOIV, but
3625 less syntacticly kludgy). The interrupt number is also now
3626 range checked. Also fixed a bug in the high order bit example
3633 * support/Util/SDCCerr.c
3634 * support/Util/SDCCerr.h
3637 2003-08-13 Bernhard Held <bernhard AT bernhardheld.de>
3639 * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
3640 * src/SDCCicode.c (operandOperation): rewritten some ops
3641 (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
3642 * src/SDCCsymt.c (computeType): literals are handled the same way as any
3644 * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
3645 be re-activated by defining REDUCE_LITERALS)
3646 * src/SDCCval.c (constVal): fixed; hex and octal constants can be
3647 unsigned, but are signed by default
3648 * src/SDCCval.c (constVal): rearranged
3649 * src/SDCCval.c (valMod): preliminary fix
3650 * src/SDCCval.c (valCastLiteral): use TYPE_* types
3651 * support/regression/literalop.c: added, work in progress
3653 2003-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3655 Generate warnings for useless declarations like "char data;"
3656 that don't do what new users expect.
3659 * support/Util/SDCCerr.h
3660 * support/Util/SDCCerr.c
3662 2003-08-09 Bernhard Held <bernhard AT bernhardheld.de>
3664 * src/SDCCval.c (valMult): fix overflow detection of negative int
3666 2003-08-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3668 * src/z80/ralloc.c (joinPushes): made compatible with new signedness
3670 Changes to support big endian targets:
3683 2003-08-06 Bernhard Held <bernhard AT bernhardheld.de>
3685 * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
3686 * device/lib/time.c: fixed warning "integer overflow in expression"
3688 2003-08-05 Bernhard Held <bernhard AT bernhardheld.de>
3690 * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
3691 * src/SDCCval.c (constVal): changed default to signed; hex and octal
3692 constants are unsigned; added recognition of "u" flag for unsigned
3693 * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
3694 * src/SDCCval.c (valDiv, valMod): fixed signdness
3695 * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
3696 signedness of modulo, left and right shift
3697 * support/Util/SDCCerr.c: added warning "integer overflow in expression"
3698 * support/Util/SDCCerr.h: added warning W_INT_OVL
3699 * src/SDCCast.c (decorateType): fixed gcc3.3 warning
3700 * src/SDCCast.c (ast_print): improved output of constants
3702 2003-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3704 Fixed some warnings when building with MSVC:
3717 * support\cpp2\cpplib.c
3721 2003-08-03 Bernhard Held <bernhard AT bernhardheld.de>
3723 * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth AT isi.edu>
3725 2003-08-01 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3727 * support\librarian\clean.mk: Do not remove Makefile.
3728 * support\librarian\Makefile: added.
3730 2003-08-01 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3732 Added librarian to MSVC build:
3735 * support\librarian\librarian.dsp
3737 'configure' not needed for librarian, removed:
3738 * support\librarian\configure
3739 * support\librarian\configure.in
3740 * support\librarian\config_in.h
3741 * support\librarian\Makefile.in
3743 Hopefully these ones built the librarian and the rest of sdcc properly:
3745 * Makefile.common.in
3747 Messed up 'configure', so revert to previous version:
3751 2003-07-31 Bernhard Held <bernhard AT bernhardheld.de>
3753 * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
3754 there, while the mantissa of a double is "only" 53 bits wide.
3756 2003-07-31 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3758 Adding sdcclib to the build. MSVC project coming soon.
3759 Files added/changed:
3761 * support\librarian\clean.mk
3762 * support\librarian\configure
3763 * support\librarian\configure.in
3764 * support\librarian\config_in.h
3765 * support\librarian\Makefile.bcc
3766 * support\librarian\Makefile.in
3767 * support\librarian\sdcclib.c
3770 * Makefile.common.in
3774 2003-07-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3776 Linker now complaints if linked modules have conflicting options, for
3777 example, one compiled using --model-large and another one compiled with
3778 --model-small. The following files were modified:
3800 2003-07-28 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3802 *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
3803 as/mcs51/lklibr.c: Generate a warning when a library is not found.
3805 2003-07-28 Bernhard Held <bernhard AT bernhardheld.de>
3807 * src/z80/mappings.i: fix _mul[us][int,long] entries
3809 2003-07-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3811 *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
3813 2003-07-24 Bernhard Held <bernhard AT bernhardheld.de>
3815 * src/SDCCicode.c (operandOperation): really fixed problem with bitops
3816 * support/regression/tests/bitopcse.c: added
3824 2003-07-24 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3826 added support for new library format to z80, gbz80 linkers:
3832 2003-07-24 Bernhard Held <bernhard AT bernhardheld.de>
3834 * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
3835 after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
3837 2003-07-23 Bernhard Held <bernhard AT bernhardheld.de>
3839 added DUMMY_READ_VOLATILE:
3848 * src/SDCCcse.c (algebraicOpts): many improvements
3849 * src/SDCCcse.h: removed algebraicOpts()
3850 * src/SDCCicode.c (picDummyRead): added
3852 2003-07-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3854 * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
3855 "Insufficient space in data memory".
3857 2003-07-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3859 * src/mcs51/gen.c: fixed bug #771358
3860 * src/z80/gen.c: fixed bug #759087
3862 2003-07-20 Bernhard Held <bernhard AT bernhardheld.de>
3864 * src/pic16/glue.c: minor cleanup by Vangelis
3866 2003-07-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3868 * device/include/regc515c.h: fixed #758477
3869 * device/lib/_gptrget.c: saving some cycles in generic pointer get
3870 * device/lib/_gptrput.c: saved a few bytes
3871 * my tab spacing is 8, yours too?)
3872 * device/lib/_ser.c: process RX bytes earlier than TX bytes
3873 * device/lib/serial.c: process RX bytes earlier than TX bytes
3874 * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
3876 2003-07-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3878 * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
3880 2003-07-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3882 * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
3884 2003-07-17 Bernhard Held <bernhard AT bernhardheld.de>
3886 * device/lib/Makefile.in: bad fix, reverted to 1.43
3888 2003-07-16 Bernhard Held <bernhard AT bernhardheld.de>
3890 * device/lib/Makefile.in: added missing z80 object files
3892 2003-07-14 Bernhard Held <bernhard AT bernhardheld.de>
3894 * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
3895 pic16 progress by Vangelis:
3910 * pic16/pcodepeep.c:
3913 2003-07-13 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3915 * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
3917 2003-07-12 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3919 * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
3920 added gbz80 build to MSVC project.
3921 * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
3922 link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
3923 from 8051 stuff and setup so it links using a .lnk file.
3925 2003-07-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3927 * support/librarian/sdcclib.c: sdcc librarian.
3928 * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
3931 2003-07-03 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3933 * as/mcs51/lkmain.c: properly handle extensions in function afile.
3935 2003-07-02 Borut Razem <borut.razem AT siol.net>
3937 * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
3938 src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
3939 src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
3940 src/xa51/main.c, src/z80/main.c:
3941 virtualization of glue() function: each port has it's own glue function,
3942 which is accessed by do_glue function pointer in PORT.general structure
3944 2003-07-01 Kevin Vigor <kevin AT vigor.nu>
3946 * DS800C400 fun, improved ROM interface and tinibios.
3948 2003-06-27 Kevin Vigor <kevin AT vigor.nu>
3950 * More support for DS80C400. Now includes beginning of interface to ROM.
3952 2003-06-25 Bernhard Held <bernhard AT bernhardheld.de>
3954 * src/mcs51/gen.c (gencjneshort): fixed bug #760345
3956 2003-06-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3958 * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
3960 2003-06-19 Borut Razem <borut.razem AT siol.net>
3962 * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
3964 2003-06-19 Borut Razem <borut.razem AT siol.net>
3966 * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
3967 fixed Z80 port - crt0.o: cannot open.
3969 2003-06-19 Bernhard Held <bernhard AT bernhardheld.de>
3971 * support/Util/MySystem.c (merge_command): revert bad fix
3973 2003-06-18 Borut Razem <borut.razem AT siol.net>
3975 * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
3977 2003-06-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3979 * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
3980 option --use-stdout sends errors to stdout instead of stderr.
3982 2003-06-18 Bernhard Held <bernhard AT bernhardheld.de>
3984 * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
3986 2003-06-15 Borut Razem <borut.razem AT siol.net>
3988 * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
3989 * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
3990 * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
3991 fixed width array of pointers replaced with sets;
3992 multiple include and lib paths ared transferred to preprocessor and linker
3993 * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
3994 * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
3995 fixed width array of pointers
3996 * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
3997 removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
3998 fixupPath(), getPathDifference()
3999 * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function inExcludeList() by using sets instead
4000 fixed width array of pointers
4002 2003-06-11 Bernhard Held <bernhard AT bernhardheld.de>
4004 * src/pic16/ralloc.c: fix warnings
4005 * src/pic16/pcode.c: fix warning
4007 2003-06-10 Scott Dattalo <scott AT dattalo.com>
4009 Scott D. for Vangelis Rokas (vrokas AT otenet.gr). I (scott) don't
4010 know all the details, but essentially this set of changes enable
4011 the pic16 port to generate movff instructions and generate assembler
4016 * src/pic16/pcode.c:
4017 * src/pic16/device.c:
4019 * src/pic16/pcode.h:
4020 * src/pic16/pcoderegs.c:
4021 * src/pic16/ralloc.c:
4022 * src/pic16/ralloc.h:
4024 2003-06-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
4026 * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
4027 added option --vc, so sdcc errors and warnings are compatible with
4028 Microsoft Visual Studio.
4030 2003-06-07 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
4032 * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
4033 device/lib/libfloat.lib: added atof function.
4035 2003-06-04 Bernhard Held <bernhard AT bernhardheld.de>
4037 * doc/sdccman.lyx: updated to Lyx 1.3
4038 * doc/cdbfileformat.lyx: updated to Lyx 1.3
4039 * doc/test_suite_spec.lyx: updated to Lyx 1.3
4040 * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
4042 2003-06-03 Bernhard Held <bernhard AT bernhardheld.de>
4044 * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas AT otenet.gr>
4046 2003-06-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
4048 * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
4049 additions to the "related tools/documentation" section
4051 2003-06-02 Bernhard Held <bernhard AT bernhardheld.de>
4053 * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
4055 2003-05-29 Bernhard Held <bernhard AT bernhardheld.de>
4057 * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn AT vt.edu>
4058 * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
4060 2003-05-28 Bernhard Held <bernhard AT bernhardheld.de>
4062 * doc/sdccman.lyx: fix double dash and other minor things
4063 * doc/Makefile: fix double dash
4065 2003-05-28 Karl Bongers(patches from Martin Helmling)
4066 * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
4067 condition and ignore commands.
4069 2003-05-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
4071 * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
4072 is in parts still quite out of date, I did changes as far as I felt makes sense
4073 for a non-native english speaker.
4074 Please feel free to add to the manual or to correct my changes.
4075 * doc/Makefile: undid touching the date of intermediate tex files.
4077 2003-05-26 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
4079 * doc/sdccman.lyx: Manual has an index now
4081 2003-05-25 Bernhard Held <bernhard AT bernhardheld.de>
4083 Finalize muluint/mulsint and mululong/mulslong merging:
4084 * device/lib/_mulint.c
4085 * device/lib/_mullong.c
4086 * device/lib/gbz80/mul.s
4087 * device/lib/gbz80/stubs.s
4088 * device/lib/z80/mul.s
4089 * device/lib/z80/stubs.s
4090 * src/SDCCsymt.c (initCSupport)
4092 2003-05-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
4094 * as/mcs51/lkaomf51.c: Address space 'z' was missing.
4095 * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
4096 src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
4097 src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
4100 2003-05-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
4102 * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
4103 the regression tests I'm not brave enough to enable 245.b, 245.c
4104 * doc/sdccman.lyx: added latex preamble for hyperref package.
4105 Using pdflatex this will give you a hyperlinked pdf file with
4106 bookmarks. (prepend '%' before /usepackage if this breaks something)
4108 2003-05-24 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
4110 * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
4112 2003-05-22 Bernhard Held <bernhard AT bernhardheld.de>
4114 * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
4116 2003-05-21 <johan AT balder>
4118 * src/SDCCglue.c (printIval): fixed bug #739934
4120 2003-05-19 Bernhard Held <bernhard AT bernhardheld.de>
4122 Applied patch from bug 737905 (renamed yylineo to mylineno):
4129 * src/pic16/pcode.c: Cleaned warnings
4130 * src/pic16/pcodeflow.c: Cleaned warnings
4131 * src/pic16/pcoderegs.c: Cleaned warnings
4133 2003-05-19 Scott Dattalo <scott AT dattalo.com>
4135 * src/pic16/pcode.c: Cleaned warnings
4136 * src/pic16/pcodepeep.c: Cleaned warnings
4137 * src/pic16/ralloc.c: Cleaned warnings
4139 2003-05-19 Bernhard Held <bernhard AT bernhardheld.de>
4141 * doc/sdccman.lyx: fixed bug 739745
4142 * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
4144 2003-05-18 Bernhard Held <bernhard AT bernhardheld.de>
4146 * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
4147 it can be defined with CFLAGS when running configure
4148 * src/SDCCmain.c: fixed compiling + linking with object files
4150 2003-05-18 Vangelis Rokas (vrokas AT otenet.gr)
4152 * configure.in: configure for pic16 port,
4153 added --disable-pic16-port
4154 * sdccconf_in.h: added macro OPT_DISABLE_PIC16
4155 * src/SDCCmain.c: linkOptions is changed to set *,
4156 added if/endif conditional macros to remove options help
4157 messages from optionsTable when a port is not configured, added
4158 support for the PIc16 port in the ports table, when executing
4159 the compiler with no port specified on command line, a default
4160 port is selected with the new macro DEFAULT_PORT which is
4161 defined in port.h, in setDefaultOptions() linkOptions is removed
4162 from initialization assignment, since now it is a set,
4163 parseCmdLine uses setParseWithComma for linkOptions, in
4164 linkEdit() linkOptions are accessed with new function indexSet()
4165 which returns the i'th item of a set variable. See SDCCset.c, in
4166 linkEdit() when calling buildCmdLine(), added linkOptions as
4167 last argument. Now users can pass arguments to gplink via the
4168 -Wl option, main() uses pic16glue() to glue up pic16 programs
4169 * src/SDCCpeeph.c: various changes to support pic16
4170 * src/SDCCset.c: added function void *indexSet(set *, int) to
4171 return the i'th item of the set
4172 * src/SDCCset.h: added function prototype for indexSet()
4173 * src/SDCCsymt.c: in checkSClass(), added support for PIC16
4174 * src/clean.mk: added pic16 in CLEANALLPORTS variable
4175 * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
4176 added macro DEFAULT_PORT
4177 * src/pic/main.c: corrected arguments of gplnk in _linkCmd
4178 * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
4180 * src/pic16/glue.c: commented out some error producing lines
4181 * src/pic16/main.c: __config directives are commented out to stop
4182 gpasm complaining and test the linkage with gplink, _linkCmd and
4183 _asmCmd changed to be more gplink and gpasm friendly
4184 * src/pic16/peeph.def: peep rule 3 is commented out, since it
4185 produced an error when parsed, peep rule 12 is added to utilize
4186 movff, but it is commented out since the pCode does not support
4187 yet a command with 2 address arguments
4189 2003-05-18 <johan AT balder>
4191 * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
4192 * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
4193 2003-05-17 Karl Bongers(apply patches from Martin Helmling)
4195 * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
4196 Added feature to script commands from file.
4198 2003-05-14 Bernhard Held <bernhard AT bernhardheld.de>
4200 * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
4201 * src/SDCCutil.c: include ctype.h for win32
4203 2003-05-13 Bernhard Held <bernhard AT bernhardheld.de>
4205 * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
4207 2003-05-12 Karl Bongers(apply development patches from Martin Helmling)
4209 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
4210 Fixed so you can set breakpoints prior to run, run does not stop
4211 on entry now. Add tbreak. Other enhancements and fixes for use
4214 2003-05-12 Borut Razem <borut.razem AT siol.net>
4216 * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
4218 2003-05-11 Borut Razem <borut.razem AT siol.net>
4220 * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
4221 the path of bin directory, so that PATH is the only env. variable, which has to be set
4222 in case of standard installation.
4223 * src/ds390/ds390.dsp: increased value of /Zm option to 1000
4224 * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
4225 * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
4227 2003-05-04 Bernhard Held <bernhard AT bernhardheld.de>
4229 * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
4230 * support/regression/Makefile: inter-port-clean is no longer nesessary, the
4231 temp files are in the port dir; clean the gen/test directory when
4232 generating new test.c
4233 * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
4234 * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
4235 * support/regression/tests/zeropad.c: added
4237 2003-05-09 <johan AT balder>
4239 * src/SDCCglue.c: fixed bug #597940
4241 2003-05-05 Karl Bongers(apply patches from Martin Helmling)
4243 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
4244 cache sfr, optimize next,step, fix off by one sourceline,
4245 support ddd list function.
4246 * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
4248 2003-05-04 Bernhard Held <bernhard AT bernhardheld.de>
4250 * support/regression/HTMLgen.py: added compare_s2f()
4251 * support/regression/Makefile: redo 1.27
4252 * support/regression/generate-cases.py: redo 1.5
4254 2003-04-30 Bernhard Held <bernhard AT bernhardheld.de>
4256 * support/regression/tests/float.c: workaround 33 bit hex constant
4257 * support/regression/tests/simplefloat.c: fix division for host
4259 2003-04-29 Scott Dattalo <scott AT dattalo.com>
4261 * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim AT jimhawkridge.uk.eu.org>
4262 that tame's the PIC's over-aggressive optimizer.
4264 2003-04-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
4266 * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
4269 2003-04-29 Kevin Vigor <kevin AT vigor.nu>
4271 Initial support for DS80C400. "Hello world" runs on TINIm400
4274 2003-04-28 Karl Bongers(apply patches for Martin Helmling)
4276 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
4277 * Some notes on ddd usage added in debugger/README
4278 Martin Helmling adding more features and fixes for ddd GUI debugger.
4279 Code added for nexti, stepi, up, down, and other adjustments.
4281 2003-04-28 Scott Dattalo <scott AT DATTALO.COM>
4283 * src/pic/pCodepeep.c non-wildcard asmops are now handled
4284 * src/pic/peeph.def Added two rules to optimize carry manipulation
4285 * src/pic/* removed debug printfs
4287 2003-04-28 Bernhard Held <bernhard AT bernhardheld.de>
4289 * debugger/mcs51/cmd.c: added header newalloc.h
4291 2003-04-26 Bernhard Held <bernhard AT bernhardheld.de>
4293 * as/Makefile: new EXEEXT
4294 * as/z80/Makefile: remove trailing slash of BUILDIR
4295 * as/z80/clean.mk: new EXEEXT
4296 * Makefile.common.in: add to CFLAGS (and others), don't replace it
4297 * support/cpp2/Makefile.in: new EXEEXT
4298 * src/pic/glue.c (pic14emitRegularMap): fixed warning
4300 2003-04-24 Bernhard Held <bernhard AT bernhardheld.de>
4302 Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
4303 EXEEXT was introduced to fix all related problems with targets
4304 "clean", "install" and "uninstall"; a couple of further flaws
4305 especially with "clean" have been fixed too
4306 * as/mcs51/Makefile.in
4311 * debugger/mcs51/Makefile.in
4312 * debugger/mcs51/clean.mk
4314 * link/z80/Makefile.in
4317 * packihx/Makefile.in
4319 * sim/ucsim/Makefile
4320 * sim/ucsim/clean.mk
4321 * sim/ucsim/avr.src/Makefile.in
4322 * sim/ucsim/avr.src/clean.mk
4323 * sim/ucsim/s51.src/Makefile.in
4324 * sim/ucsim/s51.src/clean.mk
4325 * sim/ucsim/xa.src/Makefile.in
4326 * sim/ucsim/xa.src/clean.mk
4327 * sim/ucsim/z80.src/Makefile.in
4328 * sim/ucsim/z80.src/clean.mk
4329 * sim/ucsim/main_in.mk
4330 * sim/ucsim/packages_in.mk
4331 * sim/ucsim/gui.src/Makefile.in
4332 * sim/ucsim/gui.src/serio.src/Makefile.in
4333 * sim/ucsim/gui.src/serio.src/clean.mk
4336 * support/cpp2/Makefile.in
4337 * support/cpp2/clean.mk
4338 * support/makebin/Makefile
4339 * support/makebin/clean.mk
4340 * support/scripts/sdcc_mingw32: --program-suffix no longer needed
4341 * doc/sdccman.lyx: --program-suffix no longer needed
4343 2003-04-23 Karl Bongers(apply patches for Martin Helmling)
4345 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
4346 Martin Helmling added support for ddd GUI debugger.
4347 Code added to display assembly, set variables, and other commands
4348 to interface to ddd.
4350 2003-04-23 Bernhard Held <bernhard AT bernhardheld.de>
4352 * as/Makefile: fix target clean
4353 * as/clean.mk: fix target clean
4354 * as/z80/clean.mk: fix target clean
4356 2003-04-22 Bernhard Held <bernhard AT bernhardheld.de>
4358 * Makefile.common.in: added AT EXEEXT AT
4359 * configure.in: removed all mingw32 stuff
4360 * configure: rebuilt from configure.in
4361 * doc/sdccman.lyx: updated section "installation"
4362 * support/scripts/sdcc_mingw32: adapted to configure
4363 * support/scripts/sdcc_cygwin_mingw32: added
4365 2003-04-22 Scott Dattalo <scott AT dattalo.com>
4367 * src/pic Added object file support for the PIC port
4368 * src/pic Applied patch from Craig Franklin (this started the object file support)
4369 * src/regression Updated the PIC regression tests for object files
4371 2003-04-20 Borut Razem <borut.razem AT siol.net>
4373 * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
4374 lklex.c: In function `getfid':
4375 lklex.c:203: warning: array subscript has type `char'
4376 * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
4377 with MSVC with global optimization enabled (probably an cl compiler bug ;-)
4378 * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
4379 stack handling macros
4381 2003-04-19 Borut Razem <borut.razem AT siol.net>
4383 * "handling space characters in file path" task:
4384 * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
4385 * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
4386 * support/Util/MySystem.h: make it self-sufficient
4387 * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
4388 src/z80/main.c, sdcc/as/mcs51/lklex.c:
4389 handling space characters in file path
4390 * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
4391 (it will be used by assemblers, which have their own includes, e.g. gpasm)
4392 * support/Util/MySystem.c: handling space characters in executable's path
4394 2003-04-19 Bernhard Held <bernhard AT bernhardheld.de>
4396 * as/z80/Makefile: fix permanent rebuild of z80
4397 * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
4398 * support/regression/tests/bitfields.c: added Johan's bitfields.c
4400 2003-04-18 Kevin Vigor <kevin AT vigor.nu>
4402 * src/SDCCopt.c: add special case optimization to replace modulo by
4403 a power of two with a bitwise AND.
4405 2003-04-18 <johan AT balder>
4407 * src/mcs51/gen.c (getFreePtr): fixed bug #635354
4409 2003-04-17 <johan AT balder>
4411 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
4412 * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
4414 2003-04-13 Borut Razem <borut.razem AT siol.net>
4416 * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
4417 * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
4418 fixed mingw problem in adl_NORMALIZE_PATH
4420 2003-04-12 Borut Razem <borut.razem AT siol.net>
4422 * fixed "#pragma SAVE/RESTORE can not be nested":
4423 * src/SDCC.lex: reworked pragma handling functions
4424 * sdcc/src/SDCCglobl.h: reworked stack handling macros
4425 * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
4427 2003-04-12 Bernhard Held <bernhard AT bernhardheld.de>
4429 * src/SDCCutil.c (pathEquivalent): defined but not used
4430 * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
4431 * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
4432 * configure: rebuilt from configure.in
4433 * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
4434 * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
4435 * device/include/Makefile.in: replace sdcc_datadir
4436 * device/lib/Makefile.in: replace sdcc_datadir
4437 * Makefile.common.in: add LDFLAGS from configure
4438 * packihx/Makefile.in: use LDFLAGS
4439 * src/Makefile.in: use LDFLAGS
4440 * support/cpp2/Makefile.in: add LDFLAGS from configure
4441 * support/makebin/Makefile: use LDFLAGS
4442 * .version: bumped version number to 2.3.5
4444 2003-04-12 Borut Razem <borut.razem AT siol.net>
4446 * completed "different paths" task:
4447 * src/SDCCmacro.c: fixed bug in handling quotes
4448 * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
4449 * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
4451 2003-04-12 Bernhard Held <bernhard AT bernhardheld.de>
4453 * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
4455 2003-04-11 kevin Vigor <kevin AT vigor.nu>
4457 * ds390/gen.c ds390/peeph.def: fix bug 706781
4459 2003-04-11 Borut Razem <borut.razem AT siol.net>
4461 * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
4463 2003-04-10 Scott Dattalo <scott AT dattalo.com>
4465 * src/pic/* Applied the pointer-to-function patch from Steve Tell.
4466 * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
4467 set - this bit used to not be set...).
4468 * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated
4469 bad code in PIC Port
4470 * src/regression/and2.c added to test bug 609268
4471 * src/regression/Makefile added and2.c to regression test
4474 2003-04-08 <johan AT CP255758-A>
4476 * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
4477 * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
4478 * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
4480 2003-04-07 Bernhard Held <bernhard AT bernhardheld.de>
4482 * configure.in: fully support prefix, exec_prefix, datadir, docdir;
4484 * support/cpp2/Makefile.in: fix bug #487815
4485 * configure: rebuilt from configure.in
4486 * Makefile.common.in: docdir changed, new path suffixes
4487 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
4488 * sdcc_vc_in.h: reflect changes from sdccconf.h
4489 * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
4490 * src/SDCCutil.h: remove BINDIR hack
4491 * doc/sdccman.lyx: update new path hierarchy
4493 2003-04-06 Paul Stoffregen <paul AT pjrc.com>
4495 * src/SDCCpeeph.c: added okToRemoveSLOC test
4497 2003-04-06 Paul Stoffregen <paul AT pjrc.com>
4499 * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
4501 2003-04-06 Paul Stoffregen <paul AT pjrc.com>
4503 * src/SDCCpeeph.c: added labelIsReturnOnly test
4504 * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
4506 2003-04-05 <johan AT balder>
4508 * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
4509 * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
4510 * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
4511 * src/SDCCast.c: fixed a warning
4512 * src/SDCCast.h: fixed a warning
4513 * src/SDCCicode.c (operandFromAst): fixed a warning
4515 2003-04-04 <johan AT balder>
4517 * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
4518 * src/SDCCast.c (decorateType): fixed bug #715076
4519 * src/SDCC.y: fixed bug #702907
4521 2003-04-03 <johan AT balder>
4523 * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
4524 * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
4525 * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
4526 * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
4527 * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
4529 2003-04-03 Bernhard Held <bernhard AT bernhardheld.de>
4531 * _decdptr.c: fix return values
4532 * _gptrget.c: fix return values
4533 * _gptrgetc.c: fix return values
4534 * _gptrput.c: fix return values
4535 * _mulint.c: fix return values
4536 * as/z80/Makefile: fix 'make -j' problem
4538 2003-04-02 Bernhard Held <bernhard AT bernhardheld.de>
4540 * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
4541 * configure.in: big cleanup, updated to autoconf 2.5x
4542 * configure: rebuilt from configure.in
4543 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
4544 * sdcc_vc_in.h: reflect changes from sdccconf.h
4545 * doc/Makefile: fixed a flaw in "make install"
4547 2003-04-02 <johan AT balder>
4549 * src/ds390/gen.c (genCmp): no comments
4550 * src/mcs51/gen.c (genCmp): no comments
4551 * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
4552 * src/SDCCast.c (ast_print): fixed the function type in --dumptree
4554 2003-04-01 Bernhard Held <bernhard AT bernhardheld.de>
4556 * support/regression/generate-cases.py: place generated file in given sub directory
4557 * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
4558 * support/regression/Makefile: improvements for 'make -j';
4559 side effect: it's simpler and faster now
4561 2003-03-31 Borut Razem <borut.razem AT siol.net>
4563 * src/z80/main.c: link-{port} and as-{port} defined without path
4564 * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
4566 2003-03-31 Bernhard Held <bernhard AT bernhardheld.de>
4568 * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
4570 2003-03-30 Borut Razem <borut.razem AT siol.net>
4572 * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
4573 changed type of list parameter to set
4574 * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
4575 * src/port.h: changed type of do_assemble() parameter to set
4576 * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
4577 sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
4578 definition of "cppoutfilename" macro with NULL value in preProcess()
4579 * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
4580 * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
4581 * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
4582 replaced with set *binPathSet
4583 * shash_add() deallocates the item, if allready exsists, before adding the new one
4584 * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
4586 2003-03-30 Scott Dattalo <scott AT dattalo.com>
4588 * src/pic/gen.c: Commit patch from Steve Tell <tell AT telltronics.org> that fixes
4589 a nested for loop bug in the PIC port
4590 * src/regression/nestfor.c: new regression test file Steve wrote to test nested
4593 2003-03-29 Bernhard Held <bernhard AT bernhardheld.de>
4595 * support/Util/dbuf.h: remove C++ stuff to make it portable
4597 2003-03-28 Borut Razem <borut.razem AT siol.net>
4599 * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
4600 literal strings in stringLiteral()
4601 * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
4602 * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
4605 2003-03-27 Paul Stoffregen <paul AT pjrc.com>
4607 * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
4609 2003-03-26 <johan AT balder>
4611 * src/mcs51/gen.c (saveRegisters): catched symbol abuse
4612 * src/ds390/gen.c (saveRegisters): catched symbol abuse
4613 * src/SDCCast.c (decorateType): fixed " -v < 3"
4615 2003-03-23 Bernhard Held <bernhard AT bernhardheld.de>
4617 * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
4618 Added Lenny Story's debug infrastructure changes:
4619 * src/Makefile.in: added new files cdbFile.c and SDCCdebug.c
4620 * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
4621 * src/cdbFile.c: added
4622 * src/SDCCdebug.c: added
4623 * src/SDCCdebug.h: added
4624 * src/SDCCast.c (createFunction)
4625 * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
4626 * src/SDCCmain.c (parseCmdLine, main)
4627 * src/SDCCmem.c (redoStackOffsets)
4628 * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
4631 * src/avr/gen.c (genAVRCode)
4632 * src/ds390/gen.c (gen390Code)
4633 * src/mcs51/gen.c (gen51Code)
4634 * src/pic/gen.c (genpic14Code)
4635 * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
4636 * src/xa51/gen.c (genXA51Code)
4637 * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
4639 2003-03-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
4641 * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
4642 * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
4644 2003-03-22 <johan AT balder>
4646 * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
4648 2003-03-21 Bernhard Held <bernhard AT bernhardheld.de>
4650 * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
4651 * doc/cdbfileformat.lyx: added, written by Lenny Story
4652 * doc/Makefile: added cdbfileformat.lyx
4653 * doc/clean.mk: added cdbfileformat.lyx
4655 2003-03-20 Bernhard Held <bernhard AT bernhardheld.de>
4657 * src/mcs51/peeph.def: fix bug #705773
4659 2003-03-20 <johan AT balder>
4661 An sfr/sbit can have an "at #" AND an initializer
4662 * src/SDCCsymt.c (checkSClass):
4663 * src/SDCCmem.c (allocGlobal):
4664 * src/SDCCmem.c (allocLocal):
4665 * src/SDCCast.c (createBlock):
4667 2003-03-17 Bernhard Held <bernhard AT bernhardheld.de>
4669 * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
4671 2003-03-16 <johan AT balder>
4673 Undid the hackup of const and volatile, the problem is much bigger
4675 * src/SDCCast.c:1.171
4676 * src/SDCCglue.c:1.138
4677 * src/SDCCicode.c:1.146
4678 * src/SDCCsymt.c:1.150
4679 * src/SDCCval.c:1.65
4681 2003-03-15 Bernhard Held <bernhard AT bernhardheld.de>
4683 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
4684 * src/ds390/gen.c (genAddrOf): fixed bug #704087
4686 2003-03-13 <johan AT balder>
4688 Hackup const and volatile modifiers in type chains a bit:
4690 * src/SDCCast.c:1.169
4691 * src/SDCCglue.c:1.136
4692 * src/SDCCicode.c:1.143
4693 * src/SDCCsymt.c1.146
4694 * src/SDCCsymt.h1.59
4695 * src/SDCCval.c:1.63
4697 2003-03-12 <johan AT balder>
4699 * src/SDCCBBlock.h: more LRH debugging junk
4700 * src/SDCCcflow.h: more LRH debugging junk
4701 * src/SDCCloop.c: more LRH debugging junk
4702 * src/SDCC.y (struct_declaration): fixed bug #697590
4703 * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
4704 * src/ds390/gen.c (aopForRemat): fixed bug #700031
4705 * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
4707 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
4708 * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
4709 test function names must now match exactly).
4710 * src/SDCCcse.c: added special case in findCheaperOp to allow
4711 extending a short integer. Makes less awful code for bug 700121 test case.
4713 2003-03-11 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
4715 * as/mcs51/lkmain.c: Added ASlink-Warning to messages
4716 * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
4718 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
4720 * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
4721 actually called (operandsNotEqual() was called for all
4722 operandsNotEqualX tests).
4724 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
4726 * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
4727 with shorter literals. Fixes bug 700121.
4729 2003-03-11 <johan AT balder>
4731 * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
4733 2003-03-11 Bernhard Held <bernhard AT bernhardheld.de>
4735 * src/SDCCloop.c (mergeRegions): an evil beast is dead
4736 * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
4738 2003-03-10 Borut Razem <borut.razem AT siol.net>
4740 * src/SDCCmain.c: pipe preprocessor's output
4741 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
4742 * sdcc_vc_in.h: define pclose as _pclose for WIN32
4743 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
4744 which closes all pipes in pipeSet set
4745 * src/SDCCset.c: free deleted item in function deleteSetItem()
4746 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
4747 moved from z80 to src subproject
4748 * .version: increased version number to 2.3.4
4750 2003-03-10 Bernhard Held <bernhard AT bernhardheld.de>
4752 * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
4753 * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
4754 * support/regression/ports/xa51/spec.mk: fix typo
4756 2003-03-09 Bernhard Held <bernhard AT bernhardheld.de>
4758 * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
4760 2003-03-09 Borut Razem <borut.razem AT siol.net>
4762 * src/SDCCmain.c: pipe preprocessor's output
4763 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
4764 * sdcc_vc_in.h: define pclose as _pclose for WIN32
4765 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
4766 which closes all pipes in pipeSet set
4767 * src/SDCCset.c: free deleted item in function deleteSetItem()
4768 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
4769 moved from z80 to src subproject
4771 2003-03-09 Borut Razem <borut.razem AT siol.net>
4773 * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
4774 * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
4775 * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
4776 * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
4777 * src/SDCCglobl.h: unification of WIN32 native definitions
4779 2003-03-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
4781 * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
4783 2003-03-08 Bernhard Held <bernhard AT bernhardheld.de>
4785 * src/configure.in: check for endianess (even while cross-compiling)
4786 * src/configure: check for endianess (even while cross-compiling)
4787 * src/configure_in.h: check for endianess (even while cross-compiling)
4788 * src/avr/gen.c: remove old endianess stuff
4789 * src/mcs51/gen.c: remove old endianess stuff
4790 * src/ds390/gen.c: remove old endianess stuff
4791 * src/pic/gen.c: remove old endianess stuff
4792 * src/pic/genarith.c: remove old endianess stuff
4793 * src/pic/glue.c: fix endianess check
4794 * src/pic16/gen.c: remove old endianess stuff
4795 * src/pic16/genarith.c: remove old endianess stuff
4796 * src/pic16/glue.c: fix endianess check
4797 * src/xa51/gen.c: remove old endianess stuff
4798 * src/z80/gen.c: fix endianess check
4799 * src/SDCCglue.c: fix endianess check
4800 * src/ds390/peeph.def: fix bug 700036
4802 2003-03-08 Bernhard Held <bernhard AT bernhardheld.de>
4804 * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
4805 * src/configure: find appropriate data-types on host for SDCC's int and long
4806 * src/configure.in: find appropriate data-types on host for SDCC's int and long
4807 * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
4808 * src/xa51/gen.c: use %d, not %ld for 4 byte variables
4810 2003-03-07 <johan AT balder>
4813 some minor cleanups before the big shot
4814 OP_DEFS and OP_USES now use Kevin's protection
4815 new option --nolabelopt
4826 * src/ds390/ralloc.c:
4827 * src/mcs51/ralloc.c:
4829 * src/xa51/ralloc.c:
4832 2003-03-06 Bernhard Held <bernhard AT bernhardheld.de>
4834 * src/pic/pcode.c (get_op): fix 64 bit warnings
4835 * src/pic/pcode.c (pCode2str): fix 64 bit warnings
4836 * src/SDCChasht.c (newHashTable): fix 64 bit warnings
4837 * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
4838 * support/regression/tests/malloc.c: fix 64 bit warnings
4840 2003-03-04 Bernhard Held <bernhard AT bernhardheld.de>
4842 * src/mcs51/gen.c (genMinus): fixed bug 696436
4844 2003-03-02 Borut Razem <borut.razem AT siol.net>
4846 * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
4848 2003-02-26 Bernhard Held <bernhard AT bernhardheld.de>
4850 * configure.in: test for mkstemp
4851 * sdccconf_in.h: add HAVE_MKSTEMP
4853 2003-02-24 Bernhard Held <bernhard AT bernhardheld.de>
4855 * device/include/ctype.h: removed warning while using --stack-auto
4856 * device/include/malloc.h: removed warning while using --stack-auto
4857 * device/include/string.h: removed warning while using --stack-auto
4859 2003-02-23 Borut Razem <borut.razem AT siol.net>
4861 * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
4862 because NDEBUG is defined (see man assert)
4863 * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
4865 2003-02-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
4867 * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
4868 * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
4870 2003-02-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
4872 * src/SDCCpeeph.c: added peephole conditions testing for same arguments
4873 * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
4875 2003-02-18 <johan AT balder>
4877 * as/mcs51/asmain.c (asmbl): module can start with a digit
4878 * as/z80/asmain.c (asmbl): module can start with a digit
4880 2003-02-16 Bernhard Held <bernhard AT bernhardheld.de>
4882 * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
4883 * src/asm.c: fix pipe() for Mingw32
4885 2003-02-15 Bernhard Held <bernhard AT bernhardheld.de>
4887 * src/SDCCglue.h: make tmpfileNameSet available for preOutName
4888 * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
4889 make -V work again; --c1mode reads now from stdin
4890 * doc/sdccman.lyx: added --c1mode
4891 * support/Util/SDCCerr.c: new messages for c1 mode
4892 * support/Util/SDCCerr.h: new messages for c1 mode
4893 * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
4895 2003-02-15 <johan AT balder>
4897 * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
4899 2003-02-14 Bernhard Held <bernhard AT bernhardheld.de>
4901 * doc/sdccman.lyx: Environment variables, -o and other minor things
4903 2003-02-14 <johan AT balder>
4905 * src/xa51/main.c: before anyone really tries to use it :)
4907 * Install doc's in share/sdcc/doc
4908 * removed some obsolete files
4909 * Do a proper make distclean and uninstall
4910 M Makefile.common.in
4913 M device/include/Makefile.in
4914 M device/lib/Makefile.in
4917 M sim/ucsim/doc/Makefile.in
4920 R src/xa51/peeph.rul
4921 M support/cpp2/Makefile.in
4922 M support/makebin/Makefile
4925 2003-02-13 Bernhard Held <bernhard AT bernhardheld.de>
4927 * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
4929 2003-02-10 Borut Razem <borut.razem AT siol.net>
4931 * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
4932 support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
4933 * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
4934 device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
4935 support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
4936 src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
4937 src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
4938 src/z80/Makefile.bcc: Borland Makefile cleanup
4939 * as/z80/Makefile.bcc: Added Borland Makefile
4940 * support/cpp2/borland.h: Removed
4942 2003-02-10 Bernhard Held <bernhard AT bernhardheld.de>
4944 * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js AT convergence.de>
4945 * src/SDCC.lex: new pragma NOIV
4946 * src/SDCCglobl.h: new pragma NOIV
4947 * src/SDCCmem.c: new pragma NOIV
4949 2003-02-09 Bernhard Held <bernhard AT bernhardheld.de>
4951 * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
4953 2003-02-09 Bernhard Held <bernhard AT bernhardheld.de>
4955 * src/SDCCmain.c: signal handling is switched off by --debug
4956 * doc/Makefile: small fix for install; use clean.mk again
4957 * doc/clean.mk: clean *.pdf and *.html too
4959 2003-02-08 Bernhard Held <bernhard AT bernhardheld.de>
4961 * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
4962 * device/lib/printfl.c: fix a ds390 bug by making it portable
4963 * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
4964 * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
4965 * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
4966 * debugger/mcs51/cmd.c: converted multi-line string literals
4967 * sim/ucsim/globals.cc: converted multi-line string literals
4968 * src/SDCCmain.c: introduced signal handler to remove temp files
4969 * doc/Makefile: small tweaks, implement clean
4970 * doc: removed generated files
4972 2003-02-05 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
4974 * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied
4975 patch from Jan Rejlek <jr AT apex-lib.cz> to fix Bug 677692: "Extended
4976 Address Record is not correctly generated for DS390."
4978 2003-02-02 Borut Razem <borut.razem AT siol.net>
4980 * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
4981 * as/mcs51/asm.h: fixed compilation with Borland C
4982 * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
4983 * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
4984 * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
4985 * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
4986 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
4987 src/z80/Makefile.bcc: delete $(LIB) only if exist
4988 * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C
4990 2003-02-02 Bernhard Held <bernhard AT bernhardheld.de>
4992 * device/include/malloc.h: introduced NULL
4993 * device/include/string.h: introduced NULL
4994 * device/include/stdlib.h: introduced NULL
4995 * device/lib/_memcpy.c: removed NULL
4996 * device/lib/_strcat.c: removed NULL
4997 * device/lib/_strchr.c: removed NULL
4998 * device/lib/_strcmp.c: removed NULL
4999 * device/lib/_strcpy.c: removed NULL
5000 * device/lib/_strcspn.c: removed NULL
5001 * device/lib/_strlen.c: removed NULL
5002 * device/lib/_strncat.c: removed NULL
5003 * device/lib/_strncmp.c: removed NULL
5004 * device/lib/_strncpy.c: removed NULL
5005 * device/lib/_strpbrk.c: removed NULL
5006 * device/lib/_strrchr.c: removed NULL
5007 * device/lib/_strspn.c: removed NULL
5008 * device/lib/_strstr.c: removed NULL
5009 * device/lib/_strtok.c: removed NULL
5010 * device/lib/malloc.c: removed NULL, include own header
5012 2003-02-02 <johan AT balder>
5014 * src/mcs51/ralloc.c (packForPush): fixed bug #631653, maybe other ports need this too? At least now some new alerts in SDCCBBlock.c and SDCCicode.c gives an early warning
5015 * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
5016 * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
5017 * src/z80/gen.c (genZ80Code): added c-lines in asm comments
5018 * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
5019 * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
5021 2003-02-01 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
5023 * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
5026 2003-02-01 <johan AT balder>
5028 * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
5030 2003-01-31 <johan AT CP255758-A>
5032 * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
5034 2003-01-30 <johan AT balder>
5036 * src/SDCCBBlock.c: automatic bug detection
5037 * src/SDCCicode.c: automatic bug detection
5039 2003-01-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
5041 * src/SDCCglobl.h: now --xram-size 0 works
5042 * src/SDCCmain.c: now --xram-size 0 works
5044 2003-01-29 <johan AT balder>
5046 * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
5048 2003-01-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
5050 * as/mcs51/aslink.h: Added options --xram-size and --code-size
5051 * as/mcs51/lkdata.c: Added options --xram-size and --code-size
5052 * as/mcs51/lkmain.c: Added options --xram-size and --code-size
5053 * as/mcs51/lkmem.c: Added options --xram-size and --code-size
5054 * src/SDCCglobl.h: Added options --xram-size and --code-size
5055 * src/SDCCmain.c: Added options --xram-size and --code-size
5057 2003-01-28 Bernhard Held <bernhard AT bernhardheld.de>
5059 * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
5060 * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
5062 2003-01-27 <johan AT balder>
5064 * src/SDCC.y: fixed bug #613764
5066 2003-01-26 <johan AT balder>
5068 * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c"
5069 * src/SDCCsymt.h: fixed bug #673374
5070 * src/SDCCglue.c: fixed bug #661910
5071 * src/SDCCast.c: fixed bug #458099 and 673374
5073 2003-01-26 Bernhard Held <bernhard AT bernhardheld.de>
5075 * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
5076 * as/mcs51/strcmpi.h: added
5077 * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
5078 * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
5079 * as/mcs51/asmain.c: strcmpi -> as_strcmpi
5080 * as/mcs51/assym.c: strcmpi -> as_strcmpi
5081 * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
5082 * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
5083 * as/mcs51/lksym.c: strcmpi -> as_strcmpi
5084 * as/mcs51/Makefile.aslink: new module strcmpi
5085 * as/mcs51/Makefile.asx8051: new module strcmpi
5086 * as/mcs51/Makefil.bcc: new module strcmpi
5087 * as/mcs51/Makefile.in: new module strcmpi
5088 * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
5090 2003-01-26 <johan AT balder>
5092 * src/SDCCglue.c: reverted back to 1.124
5093 * src/SDCCast.c: reverted back to 1.156
5094 * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
5096 2003-01-25 <johan AT balder>
5098 * src/SDCCglue.c: A better fix for bug #661910
5099 * src/SDCCast.c: A better fix for bug #661910
5100 * src/SDCCglue.c (emitRegularMap): That was a little too efficient
5102 2003-01-24 Bernhard Held <bernhard AT bernhardheld.de>
5104 * src/Makefile.in: remove spawn.o
5105 * src/SDCCmain.c: remove spawn.h
5106 * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
5107 * src/spawn.c: removed
5108 * src/spawn.h: removed
5109 * support/regression/ports/ds390/spec.mk: link with -r
5111 2003-01-24 <johan AT CP255758-A>
5113 * src/ds390/gen.c (aopOp): fixed bug #667458
5114 * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
5115 * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
5116 (createIvalCharPtr): an ival doesn't always have a storage class anymore
5118 2003-01-24 Bernhard Held <bernhard AT bernhardheld.de>
5120 * src/mcs51/peeph.def: better assembler identation by Frieder
5121 * src/mcs51/gen.c: better assembler identation by Frieder
5123 2003-01-22 Bernhard Held <bernhard AT bernhardheld.de>
5125 * as/z80/string.h: removed for gcc 3.2
5126 * support/makebin/makebin.c: #include <string.h> for gcc 3.2
5127 * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
5129 2003-01-19 Bernhard Held <bernhard AT bernhardheld.de>
5131 * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
5132 * src/SDCCpeeph.c (replaceRule): fix bug #663503
5133 * support/regression/Makefile: separate temp files for ports
5134 * support/regression/generate-cases.py: separate temp files for ports
5135 * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
5136 * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
5138 2003-01-19 Bernhard Held <bernhard AT bernhardheld.de>
5140 * moved tinitalk to device/examples/ds390
5142 2003-01-14 Bernhard Held <bernhard AT bernhardheld.de>
5144 * as/mcs51/lkmem.c: rflag is for DS390
5145 * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
5146 * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
5147 (linkEdit): move mem- and map-files the same way as ihx-files
5148 * src/z80/main.c (_setDefaultOptions): removed --generic
5149 * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
5150 * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
5151 * src/pic/glue.c (picglue): --c1mode works again
5152 * src/pic16/glue.c (pic16glue): --c1mode works again
5153 * src/asm.c (printCLine): fix #660034
5155 2003-01-13 Bernhard Held <bernhard AT bernhardheld.de>
5157 * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>, 1 by Frieder
5158 * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
5159 * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
5160 * as/mcs51/lkmem (summary): better fix for sp problem
5161 * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
5162 * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
5163 * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
5164 remove --stack-after-data
5166 2003-01-12 Bernhard Held <bernhard AT bernhardheld.de>
5168 * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
5169 * src/SDCCutil.c (join): ugly bug: missing '\0'
5170 * as/mcs51/lkmem.c (summary): sp on address 7 is safe
5172 2003-01-11 Bernhard Held <bernhard AT bernhardheld.de>
5174 * src/SDCCmain.c (assemble, linkEdit): preparations for -o
5176 * src/pic/main.c (_asmCmd): gpasm supports -o
5177 * src/z80/main.c: more general macros
5178 * device/lib/Makefile.in: remove intermediate files
5180 2003-01-11 Bernhard Held <bernhard AT bernhardheld.de>
5182 * .version: Bumped version number to 2.3.3
5183 * src/SDCCBBlock.c: new option -o
5184 * src/SDCCglobl.h: new option -o
5185 * src/SDCCglue.c: new option -o
5186 * src/SDCCmain.c: new option -o
5187 * src/asm.c: new option -o
5188 * src/ds390/main.c: new option -o
5189 * src/pic/glue.c: new option -o
5190 * src/pic/pcode.c: new option -o
5191 * src/pic/ralloc.c: new option -o
5192 * src/pic16/glue.c: new option -o
5193 * src/pic16/pcode.c: new option -o
5194 * src/pic16/ralloc.c: new option -o
5195 * src/z80/main.c: new option -o
5196 * device/lib/Makefile.in: use -o
5197 * support/regression/ports/ds390/spec.mk: use -o
5198 * support/regression/ports/gbz80/spec.mk: use -o
5199 * support/regression/ports/mcs51/spec.mk: use -o
5200 * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
5201 * support/regression/ports/z80/spec.mk: use -o
5202 * support/regression/ports/ucz80/spec.mk: use -o
5203 * support/regression/ports/xa51/spec.mk: use -o
5204 * support/regression/fwk/lib/timeout.c: fix usage string
5206 2003-01-09 Bernhard Held <bernhard AT bernhardheld.de>
5207 * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>
5209 2003-01-07 <johan AT balder>
5211 * src/SDCCast.c (decorateType): fixed bug #600035
5213 2003-01-07 Bernhard Held <bernhard AT bernhardheld.de>
5214 * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
5215 * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
5216 * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
5217 * src/pic/pcode.c: outcommented unused variable to remove warnings
5218 * src/pic/ralloc.c: outcommented unused variable to remove warnings
5220 2003-01-06 <karl AT turbobit.com>
5221 * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
5224 2003-01-06 <johan AT balder>
5226 * src/SDCCicode.c: fixed array add
5228 2002-01-05 Bernhard Held <bernhard AT bernhardheld.de>
5229 * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
5230 * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
5232 2003-01-04 <johan AT balder>
5234 * src/SDCCval.c (getNelements): fixed the initialized array of structures
5236 2002-12-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
5237 * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
5239 2002-12-28 Bernhard Held <bernhard AT bernhardheld.de>
5240 * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann AT web.de>
5241 * support/regression/tests/bug-524697.c: fit mem usage into 8032
5243 2002-12-28 Bernhard Held <bernhard AT bernhardheld.de>
5244 * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
5246 2002-12-27 Bernhard Held <bernhard AT bernhardheld.de>
5247 * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
5249 2002-12-26 Bernhard Held <bernhard AT bernhardheld.de>
5250 * src/mcs51/main.c: removed {bindir}{sep} from aslink
5252 2002-12-10 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
5254 * in \sdcc\as\mcs51\ changed these files in order to create an
5255 aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
5256 lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the
5257 following files to include the previous two files: aslink.dsp,
5258 Makefile.aslink, Makefile.bcc, and Makefile.in.
5260 * Changed \sdcc\src\SDCCmain.c so it creates files with extension
5261 .adb instead of .cdb
5263 2002-11-09 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
5265 * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
5266 value from option --iram-size.
5268 2002-09-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
5270 * \sdcc\as\mcs51\lklist.c: added boundary check before using
5273 2002-09-18 <wiml AT hhhh.org>
5275 * SDCClrange.h: exposed setFromRange() and setToRange()
5276 * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
5277 packRegsForAccUse() (bug 542397)
5278 * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
5279 multiple times and emitting the fetch operations more than once
5280 added aopGetUsesAcc() function to allow binary operators to
5281 fetch their operands in the correct order; made genMinus() emit
5282 compact code for X = LITERAL - Y
5284 2002-09-00 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
5285 * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
5286 sprintf() in line 1267.
5288 2002-09-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
5289 * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
5292 2002-09-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
5293 Changes to aslink (All the changes are marked with 'JCF'):
5295 * \sdcc\as\mcs51\aslink.h: External definition of sflag and
5298 * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
5299 area BSEG. Also moves, if possible, the DATA area down into the internal
5300 ram so more space is available.
5302 * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
5305 * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
5306 not bytes. Function summary() which creates a memory usage summary
5307 file with extension .mem. Reports of overlaping stack and small stack
5308 size. If the space for the stack is less than 16 bytes aslink trows a
5311 * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
5312 the 8051. Option 'y' for memory summary output file.
5314 Changes to sdcc (All the changes are marked with 'JCF'):
5316 * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
5318 * \sdcc\src\SDCCglue.c: If a register bank is used, creates an
5319 overlaying area for it (uses RegBankUsed[4]).
5321 * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
5322 bank zero as used by default. By default aslink locates the stack
5323 (equivalent to --stack-after-data). Pass option 'y' to aslink for
5324 the creation of the .mem file. Delegates the allocation of data area
5325 to aslink (it is not longer 0x30 by default). If --stack-loc passes
5326 the begining of the stack area to aslink.
5328 * \sdcc\src\SDCCmem.c: If a register bank is used, marks it so
5329 glue() in SDCCglue.c creates an area for it.
5331 2002-09-03 Borut Razem <borut.razem AT siol.net>
5332 * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
5333 sdcc/src/pic/glue.c:
5334 introduced atexit() handler for teporay files removal in case of
5335 errors, assertions, ...
5337 2002-08-29 Borut Razem <borut.razem AT siol.net>
5338 * sdcc/support/cpp2/auto-host_vc_in.h:
5339 re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
5340 with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
5341 Maybe there is a similar problem with BORLANDC? It should be checked!
5343 * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
5344 corrected improper use of assert: the assignment to clr variable was done inside the assert.
5345 In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
5346 was not executed, and the compiler (cl) launched a warning:
5347 ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
5349 2002-08-28 Bernhard Held <bernhard AT bernhardheld.de>
5350 * src/SDCCglue.c (printIvalArray): iterative calculation of array length
5352 2002-08-28 Jesus Calvino-Fraga and Borut Razem <borut.razem AT siol.net>
5353 * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
5355 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
5356 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
5357 sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
5358 sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
5359 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
5360 sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
5361 sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
5362 - added Release configuration in VS projects
5363 - review of compiler an linker options
5364 - VC .exe files are generated in bin_vc directory, not to interfere
5365 with binaries generated from other projects (cygwin, mingw, bcc ...)
5367 * sdcc/src/yacc.dsp: added
5369 * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
5370 added - genarate sdcc_vc.h using sdcc_vc_in.h as template
5371 and insert the version number definitions from .version
5373 * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
5375 * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
5376 added - genarate auto-host.h using auto-host_vc_in.h as template
5379 removed from CVS, generated automatically
5381 2002-08-25 Bernhard Held <bernhard AT bernhardheld.de>
5382 * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
5384 2002-08-11 Borut Razem <borut.razem AT siol.net>
5385 * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
5387 2002-08-10 Borut Razem <borut.razem AT siol.net>
5388 * src/SDCCmain.c (main):
5389 file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
5390 platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
5391 The consequence was that some temporary files were not removed.
5394 unification of code in functions tempfilename() and tempfile():
5395 function tempnam() is defined in Visual Studio 6.0 and .NET
5397 * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
5399 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
5400 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
5401 - removed compiler command line option /WX: Treats all warnings as errors
5402 - update a list of source files, included into the project
5404 * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
5405 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
5406 changed project type to Generic Project so that can be correcly converted to VS.NET project
5408 * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
5410 * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
5412 * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
5414 * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
5415 added return 0 statements after assert() to make compiler happy
5417 * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
5418 added newline in the def file to keep MSC compiler satisfied
5420 * sdcc/src/z80/gen.c:
5421 - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
5422 so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
5423 - solved MSC error in function aopDump()
5425 * sdcc_vc.h: define PREFIX as "\\sdcc"
5427 2002-07-18 Bernhard Held <bernhard AT bernhardheld.de>
5428 * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
5430 2002-06-22 Scott Dattalo <scott AT dattalo.com>
5431 * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
5432 - Rewrote the register banking algorithm.
5433 - Added pCode live-range analysis to registers (for now, only non-used and
5434 singly-used registers optimized away)
5436 * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
5438 * support/scripts/inc2h.pl Kevin L. Pauba <klpauba AT cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
5440 2002-05-10 Scott Dattalo <scott AT dattalo.com>
5441 * src/pic/*: Added support for multiplication. Fixed many,many bugs.
5443 2002-04-22 Michael Hope <michaelh AT vroom>
5445 * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
5447 * configure.in (DD_COPT): Added include support required for gbdk.
5449 * .version: Bumped version number just to increase it.
5451 * src/SDCCmain.c: Added -nostdinc to the default options.
5453 2002-04-15 Michael Hope <michaelh AT vroom>
5455 * device/lib/z80/printf.c (sprintf): Added.
5457 * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
5459 * src/z80/peeph.def: Added transpose redundent load rule.
5461 * src/z80/main.c: Added force callee saves for jaune.
5463 * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
5465 * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
5467 2002-03-28 Johan Knol <johan AT balder>
5469 * src/SDCCval.c: fixed bug #532436
5471 2002-03-14 Scott Dattalo <scott AT dattalo.com>
5473 Added "char *Processor" field to the port structure.
5476 Added -p option. Allows port dependent processor to be specified.
5479 Initialized the new field char *Processor field to NULL in all ports
5482 Compiler generated registers for interrupt context saving
5483 were not getting allocated.
5485 2002-03-16 Sandeep Dutta <sandeep AT ddi.com>
5488 Fixed left shift. Will promote the left side of a left shift
5489 if a) left shifting more than size of operand or b) when assigned
5490 to something size > size of left side
5492 2002-03-14 Scott Dattalo <scott AT dattalo.com>
5494 tons of changes. Register allocation has been
5495 rewritten. Added customization for the various PICs. Flow
5496 analysis is restructured. ...
5502 Added. device.c is a PIC port hack to accomodate variations
5505 2002-03-13 Michael Hope <michaelh AT vroom>
5507 * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah.
5509 2002-03-04 johanknol <johanknol AT manik>
5511 * /src/SDCCval.c: fixed
5513 const unsigned char arr[][2] = { { 0, 1 } };
5514 t18.c:1: error: Initializer element is not constant
5516 2002-03-04 bela <bela AT manik>
5518 * /device/include/mcs51reg.h:
5519 ds89c420 register definition update
5521 2002-03-03 <johan AT FRIJA>
5523 * support/Util/SDCCerr.c: did something, but don't no why anymore
5525 * support/regression/tests/bug-524691.c: made it a little less shy
5527 * src/SDCCast.c (decorateType): fixed bug #524697
5529 * src/SDCCast.c: made some lineno improvements
5531 * src/SDCCval.c (getNelements): changed warning to error
5533 * src/SDCCglue.c (printIvalArray): changed warning to error
5535 * src/SDCCicode.c: fixed a warning for mingw
5537 * src/SDCCast.c (decorateType): fixed the << promotion for ops
5539 * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
5541 2002-03-02 Sandeep Dutta <sandeep AT ddi.com>
5543 * src/ds390/peeph.def:
5544 Added some more peephole rules
5546 * src/ds390/gen.c: Various fixes & enhancements
5548 * src/SDCClrange.c, src/SDCClrange.h:
5549 functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
5551 * src/ds390/ralloc.c:
5552 various fixes & enhancements (ds390) specific
5554 * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
5555 Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
5558 * sdcc/src/SDCCcse.c: Better fix for bug # 514308
5560 2002-03-02 <johan AT FRIJA>
5562 * src/SDCCast.c (decorateType): fixed bug #524708
5564 * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
5566 * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
5568 2002-03-01 Michael Hope <michaelh AT vroom>
5570 * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
5572 * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
5574 2002-03-01 <johan AT FRIJA>
5576 * src/SDCCglue.c (printIvalPtr): fixed bug #524211
5578 * src/SDCCast.c (decorateType): fixed bug #524209
5580 * src/SDCCval.c (valNot): fixed bug #524195
5582 2002-02-26 <johan AT balder>
5584 * src/xa51/gen.c: fixed a warning
5586 * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
5588 * src/SDCCast.c (decorateType): fixed bug #522534
5590 2002-02-23 <johan AT balder>
5592 * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
5594 2002-02-22 <johan AT balder>
5596 * src/SDCCast.c: fixed bug #514865
5598 * src/SDCCy.c ("SDCC.y"): fixed bug #516625
5600 2002-02-21 Sandeep Dutta <sandeep AT ddi.com>
5602 * sdcc/src/SDCCloop.c:
5603 Previous fix was not good. basic blocks that have "break" or "return" are
5604 not really partof a loop , but live ranges used in these blocks should
5605 be live thru the entire loop, so set partOfLoop but don't add them to
5608 2002-02-21 <johan AT FRIJA>
5610 * src/SDCCcse.c: fixed bug #514308
5612 2002-02-20 Sandeep Dutta <sandeep AT ddi.com>
5615 Fixed BUG #519583. If a conditional block ended in a return/break
5616 statement inside a loop, it was not being considered part of the loop.
5618 * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
5620 2002-02-10 Karl Bongers <karl AT turbobit.com>
5623 Fixed up SDCDB debugger somewhat. Updated debugger/README
5624 with lots of comments and notes.
5626 * device/examples/test2.c:
5627 Fix bug, "red" variable not being initialized(compiler complained).
5629 * device/examples/Makefile, examples/test3.c:
5630 Add Makefile in device/examples folder, compiles test3.c
5631 for use as a multiple module SDCDB test case.
5633 * sim/ucsim/cmd.src/cmdset.cc:
5634 Took out debug printfs in ucsim "next" command.
5637 Karl and Johan start ucsim XA support. Most dissassembly working,
5638 about 75% emulation done(plenty of work remaining).
5640 * sim/ucsim/z80.src:
5641 Add Z80 support to ucsim, add test-ucz80 regression test,
5642 notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
5643 Notice z80 compiler fails on examples/test3.c/crc code.
5645 2002-01-30 Sandeep Dutta <sandeep AT ddi.com>
5647 * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
5648 Added support for --parms-in-bank1
5650 * src/ds390/peeph.def:
5651 added a few more peephole optimzations
5654 1) added __builtin_inp & __builtin_outp used to read in data of given length
5655 from a memory mapped port
5656 2) added __builtin_memcmp
5657 3) added __builtin_swapw swap bytes of a short
5659 * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
5660 1) handle multiple send & receives from register bank1
5661 2) ralloc can now allocate DPTR1 to some liveRanges
5663 * src/SDCCsymt.c, src/SDCCsymt.h:
5664 changes to handle multiple sends & receives
5667 added some pointer arithmetic optimization
5670 added some pointer arithmetic optimizations but not stable yet so not
5671 called from anywhere (will get this working shortly)
5673 * src/SDCCopt.c: fixed for multiple sends & receives
5676 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
5677 2) preprocessing done AFTER port->finalizeoptions . This allows ports to
5678 set preprocessor defines (depending on options)
5680 * src/SDCCicode.c, src/SDCCicode.h:
5681 changes made to handle multiple sends & receives
5684 Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
5686 * src/SDCCcse.c, src/SDCCcse.h:
5687 added function findbackward def (to be used in upcoming optimization)
5689 * src/SDCCcflow.c, src/SDCCcflow.h:
5690 added function returnAtEnd - to determine if a basic block terminates with
5693 * src/SDCCast.c, src/SDCCast.h:
5694 added option parms-in-bank1
5696 * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
5697 * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
5698 * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
5699 adjusted for --parms-in-bank1 option
5701 * device/include/string.h:
5702 donot redefine "reentrant" keyword
5704 * device/include/ds80c390.h: Added some more SFRs
5706 2002-01-28 Bernhard Held <bernhard AT bernhardheld.de>
5708 * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
5710 2002-01-26 Bernhard Held <bernhard AT bernhardheld.de>
5712 * src/SDCCast.c (funcOfType): fix usage of double --float-reent
5714 2002-01-22 Bernhard Held <bernhard AT bernhardheld.de>
5716 * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
5718 2002-01-18 Paul Stoffregen <paul AT pjrc.com>
5720 * Added --xram-movc option
5722 2002-01-13 Bernhard Held <bernhard AT bernhardheld.de>
5724 * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
5726 2002-01-11 Johan Knol
5728 * Added math lib of Jesus Calvino-Fraga
5730 2002-01-08 Bernhard Held <bernhard AT bernhardheld.de>
5732 * src/SDCCmain.c (processFile): fix processing of ../../src.c
5733 * support/regression/Makefile: new target test-mcs51-stack-auto
5734 * support/regression/ports/mcs51-stack-auto/spec.mk: added
5736 2002-01-04 Bernhard Held <bernhard AT bernhardheld.de>
5738 * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
5740 2002-01-04 Bernhard Held <bernhard AT bernhardheld.de>
5742 * support/regression/ports/mcs51/support.c: correct setup of timer / UART
5744 2002-01-03 Bernhard Held <bernhard AT bernhardheld.de>
5746 * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
5748 * src/SDCCglue.h: add definition for printIvalChar()
5750 2002-01-02 Bernhard Held <bernhard AT bernhardheld.de>
5752 * src/SDCCast.c: fix #498138 by Johan
5754 * src/SDCCglue.c: fix #498138 by Johan
5756 2002-01-02 Bernhard Held <bernhard AT bernhardheld.de>
5758 * support/regression/Makefile: fix clean
5760 * support/regression/ports/ds390/support.c: fix transmission of last character
5762 2001-12-29 Sandeep Dutta <sandeep AT ddi.com>
5764 * /sdcc/src/ds390/gen.c:
5765 a) improved computing address of stack variable
5766 b) took out some #if 0 code
5767 c) improved parmBytes adjustment
5768 d) improved genPlusIncr & genMinusIncr
5769 e) genCmp could generate bad code (when left assigned to DPTR)
5770 f) Fixed bug in hasInc
5772 * /sdcc/src/ds390/ralloc.c:
5773 a) packRegsForSupport could mess up live information (Fixed)
5774 b) packRegsDPTRuse could be incorrect for left & right shift
5776 * /sdcc/src/mcs51/ralloc.c:
5777 packRegsForSupport could mess up the live information (Fixed)
5779 * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
5781 * /sdcc/src/SDCCast.c:
5782 can reverse a loop even if function call is present as long
5783 as the loop control variable is local & is not passed as parameter
5785 2001-12-24 Sandeep Dutta <sandeep AT ddi.com>
5787 * /sdcc/ChangeLog: *** empty log message ***
5789 * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
5790 More builtin function additions for TININative
5792 * /sdcc/src/ds390/ralloc.c:
5793 Had broken the regression testsuite
5795 * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
5797 * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
5798 Added funcattr hasStackParms will be set for reentrant functions when there
5799 are paramteres on the stack, this helps in minimizing frame pointer generation
5800 typeFromStr can handle function pointers now
5802 * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
5803 *** empty log message ***
5805 2001-12-24 Sandeep Dutta <sandeep AT ddi.com>
5807 * /src/ds390/gen.c, /src/ds390/main.c:
5808 More builtin function additions for TININative
5810 * /src/ds390/ralloc.c:
5811 Had broken the regression testsuite
5813 * /src/SDCCast.c: Fixed a bug in dumptree
5815 * /src/SDCCsymt.c, /src/SDCCsymt.h:
5816 Added funcattr hasStackParms will be set for reentrant functions when there
5817 are paramteres on the stack, this helps in minimizing frame pointer generation
5818 typeFromStr can handle function pointers now
5820 * /doc/builtins.txt, /doc/TININative.txt:
5821 *** empty log message ***
5824 2001-12-24 Sandeep Dutta <sandeep AT ddi.com>
5826 * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
5827 ALPHA version for -mTININative
5829 * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
5830 updated to reflect changes in the port structure
5833 added function do_assemble (similar to do_link) if non-null this function
5834 will be called to do assembly (-mTININative) requires a multi command
5836 added function genAssemblerEnd will be called to generate assembler Epilogue
5839 added _JavaNative to debug info printing
5841 * /src/SDCCmain.c: added option --tini-libid
5842 added port->do_assemble function (-mTININative) has a multi command assemble
5844 * /src/SDCCglue.c: Disabled "constExpr" check
5845 added port->genAssemblerEnd function
5847 * /src/SDCCglobl.h: Added option --tini-libid value
5850 tookout optimizeCompare from the header (has no external references)
5852 * /src/SDCCast.c: made one more function "static"
5854 2001-12-23 Michael Hope <michaelh AT juju.net.nz>
5856 * src/z80/mappings.i: Added z80asm support.
5858 * src/z80/main.c: Added z80asm support on --asm=z80asm
5860 * src/z80/gen.c: Fixed asm portability issues.
5862 * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support.
5864 * src/SDCCglue.c (printExterns): Added global/extern split.
5866 2001-12-17 Bernhard Held <bernhard AT bernhardheld.de>
5868 * support/regression/Makefile: added test for mcs51 model large
5870 * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
5872 * support/regression/ports/gbz80/spec.mk: added -mgbz80
5874 2001-12-05 Michael Hope <michaelh AT juju.net.nz>
5876 * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201.
5878 1904-01-06 Michael Hope <michaelh AT juju.net.nz>
5880 * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
5882 * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
5884 2001-12-02 Bernhard Held <bernhard AT bernhardheld.de>
5886 * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
5888 * support/regression/tests/simplefloat.c: Port to mcs51.
5890 2001-11-25 Michael Hope <michaelh AT juju.net.nz>
5891 * support/regression/tests/bug-485362.c: Added.
5893 * support/regression/tests/simplefloat.c (testDivNearOne): Added.
5895 * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
5897 * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
5899 * src/z80/gen.c (aopDump): Added a dump function.
5901 2001-11-25 Bernhard Held <bernhard AT bernhardheld.de>
5902 * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
5904 * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
5906 * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
5908 * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
5910 * sim/ucsim/s51.src/uc390cl.h: Work in progress.
5912 * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
5914 * support/regression/fwk/lib/testfwk.c: Run with tinibios.
5916 * support/regression/ports/mcs51/spec.mk: Fine tuninig.
5918 * support/regression/ports/ds390/support.c: Use tinibios.
5920 * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
5922 2001-11-23 Michael Hope <michaelh AT juju.net.nz>support/regression/tests/bug-460010.c
5924 * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
5925 (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
5927 * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
5929 * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
5931 2001-11-18 Michael Hope <michaelh AT juju.net.nz>
5933 * src/z80/gen.c (genCmp): Fixed compare on unsigned.
5935 * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
5936 (packRegsForIYUse): Created and optimised.
5938 2001-11-07 Michael Hope <michaelh AT juju.net.nz>
5940 * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
5941 2001-11-18 Bernhard Held <bernhard AT bernhardheld.de>
5943 * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
5945 * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
5947 * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
5949 2001-11-07 Bernhard Held <bernhard AT bernhardheld.de>
5951 * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
5953 * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
5955 2001-11-07 Bernhard Held <bernhard AT bernhardheld.de>
5957 * sdcc/sim/ucsim/globals.cc: New: IXRAM.
5959 * sdcc/sim/ucsim/stypes.h: New: IXRAM.
5961 * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
5963 2001-11-07 Michael Hope <michaelh AT juju.net.nz>
5965 * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
5966 (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
5967 (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
5969 * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
5971 * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
5972 (genNotFloat): Added.
5973 (genUminusFloat): Added.
5975 * device/lib/z80/Makefile: Added floating pt stubs.
5977 * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
5979 * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
5981 * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
5983 2001-11-07 Bernhard Held <bernhard AT bernhardheld.de>
5985 * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
5987 * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
5989 * sdcc/support/regression/Makefile: Add port ds390.
5991 * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
5993 * sdcc/support/regression/ports/z80/spec.mk: Minor change.
5995 * sdcc/support/regression/ports/ds390/spec.mk: Added.
5997 * sdcc/support/regression/ports/ds390/support.c: Added.
5999 * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
6001 * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
6003 * sdcc/support/regression/fwk/lib/timeout.c: Paste.
6005 2001-11-04 Michael Hope <michaelh AT juju.net.nz>
6007 * device/include/malloc.h: Added z80 and gbz80 support.
6009 * device/lib/gbz80/heap.s: Added.
6011 * device/lib/z80/heap.s: Added.
6013 * device/lib/malloc.c: Added z80 and gbz80 support.
6015 * support/regression/tests/malloc.c (testMalloc): Added.
6017 * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
6019 * support/regression/tests/bug-478094.c: Added.
6021 * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
6023 2001-11-04 Bernhard Held <bernhard AT bernhardheld.de>
6025 * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
6027 * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
6029 * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
6031 * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
6033 * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
6035 2001-11-04 Michael Hope <michaelh AT juju.net.nz>
6037 * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
6039 2001-11-03 Michael Hope <michaelh AT juju.net.nz>
6041 * support/regression/tests/bug-477927.c: Added.
6043 * src/z80/peeph.def: Added minor rules.
6045 * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
6047 * src/z80/peeph.def: Added jump optimisation modification.
6049 2001-11-01 Michael Hope <michaelh AT juju.net.nz>
6051 * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
6053 2001-10-30 Michael Hope <michaelh AT juju.net.nz>
6055 * support/regression/tests/funptrs.c: Added.
6057 2001-10-29 Michael Hope <michaelh AT juju.net.nz>
6059 * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
6061 2001-10-28 Michael Hope <michaelh AT juju.net.nz>
6063 * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
6065 * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
6067 * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
6068 (movLeft2ResultLong): Created.
6070 * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
6071 (joinPushes): Added. Joins two char pushes into a word push.
6073 2001-10-27 Michael Hope <michaelh AT juju.net.nz>
6075 * support/cpp2/Makefile.in (install): Added creation of dest dir.
6077 * support/makebin/Makefile (install): Added creation of dest dir.
6079 2001-10-24 Karl Bongers <karl AT turbobit.com>
6081 * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
6083 2001-10-21 Michael Hope <michaelh AT juju.net.nz>
6085 * src/z80/ralloc.c: Turned off faulty pack for one use.
6087 * src/z80/peeph-gbz80.def: Removed redundent restart options.
6089 * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
6091 2001-10-21 Bernhard Held <bernhard AT bernhardheld.de>
6093 * support/regression/Makefile: Improved clean
6095 * support/regression/ports/gbz80/spec.mk: Added clean
6097 * support/regression/ports/host/spec.mk: Added clean
6099 * support/regression/ports/z80/spec.mk: Added clean
6101 * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
6103 * support/regression/ports/mcs51/timeout.c: little improvements
6105 2001-10-17 Michael Hope <michaelh AT juju.net.nz>
6107 * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
6109 * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
6111 * support/regression/generate-cases.py: Fixed up to use function pts correctly.
6113 2001-10-16 Bernhard Held <bernhard AT bernhardheld.de>
6115 * support/regression/port/mcs51/spec.mk: add timeout for uCsim
6117 * support/regression/port/mcs51/timeout.c: add timeout for uCsim
6119 2001-10-13 Michael Hope <michaelh AT juju.net.nz>
6120 * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
6122 * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
6124 * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
6126 * src/mcs51/main.c (_linkCmd): Added bin path to command.
6128 * src/SDCCmain.c (initValues): Added support for when it it called just to link.
6130 * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
6132 * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
6134 * support/regression/tests/longor.c: Added.
6136 2001-10-11 Bernhard Held <bernhard AT bernhardheld.de>
6138 * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
6140 * as/mcs51/aslink.h: define PATH_MAX
6142 * as/mcs51/asm.h: define PATH_MAX
6144 * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
6146 * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
6148 * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
6150 * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
6152 * src/SDCCglobl.h: define PATH_MAX
6154 * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
6156 * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
6158 2001-10-11 Michael Hope <michaelh AT juju.net.nz>
6160 * src/z80/gen.c (gencjneshort): Fixed
6162 * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
6164 2001-10-09 Michael Hope <michaelh AT juju.net.nz>
6166 * support/regression/tests/bug-469671.c: Added.
6168 * src/z80/gen.c (shiftIntoPair): Fixed up warning.
6170 2001-10-08 Michael Hope <michaelh AT juju.net.nz>
6172 * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
6174 * src/z80/gen.c (genPlus): Fixed to work with extended stack. Also fixed genMinus, genCmp. genUMinus is still left.
6176 2001-10-08 Bernhar Held <bernhard AT bernhardheld.de>
6178 * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
6180 * src/device/lib/_mulint.c : removed hint: nooverlay bug
6182 * src/device/lib/_mullong.c : removed hint: nooverlay bug
6184 * src/device/lib/_divuint.c : removed hint: nooverlay bug
6186 * src/device/lib/_divulong.c: removed hint: nooverlay bug
6188 * src/device/lib/_moduint.c : removed hint: nooverlay bug
6190 * src/device/lib/_modulong.c: removed hint: nooverlay bug
6192 2001-10-07 Michael Hope <michaelh AT juju.net.nz>
6194 * src/z80/gen.c (setupPair): Added 'extended stack' support for the z80. Can now have local variables or parameters of more than 127 bytes in size. Increadibly slow, but it will work. Currently anything involving the carry flag.
6196 * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all. Fixes runtime segfault.
6198 * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
6200 2001-10-07 <johan AT FRIJA>
6202 * device/lib/gets.c (gets): fixed the return value.
6204 2001-10-06 Michael Hope <michaelh AT juju.net.nz>
6205 * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
6207 * src/SDCCpeeph.c (peepHole): Fixed all leaks. Added trace support for freeing lines. Optimised restart logic to re-run instead of restart. Now compiles dscan.c on ~60MB instead of ~200MB.
6209 * support/Util/NewAlloc.c: Added ability to use libgc instead of malloc. Added Safe_free and Safe_strdup. Added trace support where you can log allocations and free all at once.
6211 * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
6213 * src/pic/gen.c: Removed Safe_strdup.
6215 * configure.in: Added option to enable libgc support.
6217 * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
6218 (bitVectUnion): Optimised.
6219 (bitVectIntersect): Optimised.
6220 (bitVectBitsInCommon): Optimised.
6221 (bitVectCplAnd): Optimised.
6223 * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it. Sigh.
6225 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
6227 * src/SDCCmain.c: distinguish between assembler debug and plain options
6229 * src/avr/main.c: remove standard assembler options
6231 * src/ds390/main.c: remove standard assembler options
6233 * src/mcs51/main.c: remove standard assembler options
6235 * src/port.h: removed "PENDING" comment
6237 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
6239 * src/device/lib/_mulint.c : new, with assember functions
6241 * src/device/lib/_mullong.c : new, with assember functions
6243 * src/device/lib/_divuint.c : with assember functions
6245 * src/device/lib/_divsint.c : with assember functions
6247 * src/device/lib/_divulong.c: with assember functions
6249 * src/device/lib/_divslong.c: with assember functions
6251 * src/device/lib/_moduint.c : with assember functions
6253 * src/device/lib/_modsint.c : with assember functions
6255 * src/device/lib/_modulong.c: with assember functions
6257 * src/device/lib/_modslong.c: with assember functions
6259 * src/device/lib/libint.lib: replaced _muluint.c and _mulsint.c by _mulint.c
6261 * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
6263 * src/device/lib/Makefile.in: replaced _muluint.c and _mulsint.c by _mulint.c
6264 replaced _mululong.c and _mulslong.c by _mullong.c
6266 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
6268 * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
6270 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
6272 * src/SDCCglue.c: test, if win32api is available for MINGW
6274 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
6276 * src/SDCCsymt.c: no more _modifier in printTypeChain()
6277 * support/regression/tests/driverstruct.c: REENTRANT for mcs51
6278 * support/regression/ports/gbz80/spec.mk: removed GENERIC
6279 * support/regression/ports/host/spec.mk: removed GENERIC
6280 * support/regression/ports/mcs51/spec.mk: removed GENERIC
6281 * support/regression/ports/z80/spec.mk: removed GENERIC
6283 2001-10-01 Michael Hope <michaelh AT juju.net.nz>
6285 * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
6287 * support/regression/tests/bug-467035.c: Created.
6289 2001-10-01 <johan AT FRIJA>
6291 * src/SDCC.y: fixed bug #466586 part 1
6293 2001-10-01 Johan Knol <johan.knol AT iduna.nl>
6295 * SDCCicode.c: z80 has no generic pointers
6296 * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
6298 2001-09-30 Michael Hope <michaelh AT juju.net.nz>
6300 * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
6302 2001-09-29 Michael Hope <michaelh AT juju.net.nz>
6304 * Makefile (sdcc-libs): Added makebin to the list of standard targets.
6306 * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
6308 2001-09-25 Michael Hope <michaelh AT juju.net.nz>
6310 * configure.in: Fixed up so that ucsim is only configured once.
6312 * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
6314 * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
6315 (getPathDifference): As above.
6317 * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory. Fixed case where pre-processing only.
6319 * src/SDCCglue.c (tempfilename): Added function for pre-processor.
6321 2001-09-23 Michael Hope <michaelh AT juju.net.nz>
6322 * .version: Updated to 2.3.1
6324 * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
6325 Added copyright header.
6327 * src/SDCCmain.c: Shifted various functions into SDCCutil.c
6328 (assemble): Added support for macro based assembler commands.
6329 (linkEdit): Added support for macro based linker commands.
6330 (preProcess): Changed the pre-processor to use macros.
6331 (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
6332 (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
6334 * device/lib/z80/crt0.s: Added module name for debugging.
6336 2001-09-20 Michael Hope <michaelh AT juju.net.nz>
6338 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
6340 * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
6342 * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
6344 * src/Makefile.in: Added SDCCmacro and SDCCutil
6346 2001-09-19 Michael Hope <michaelh AT juju.net.nz>
6348 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
6350 2001-09-16 <johan AT FRIJA>
6352 * support/Util/SDCCerr.c: fixed up the error/warning/info database. I only changed the E_ W_ I_ prefix to what SDCCerr.c says it is.
6354 2001-09-15 <johan AT FRIJA>
6356 * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
6357 * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
6359 2001-09-11 <johan AT FRIJA>
6361 * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
6363 2001-09-10 Michael Hope <michaelh AT juju.net.nz>
6365 * support/regression/tests/bug-460444.c: Added test case.
6367 * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
6368 (genCast): Added justification for all of the asserts.
6370 2001-09-10 Bernhard Held <bernhard AT bernhardheld.de>
6372 * support/regression/support.c: _xdata replaced by xdata
6374 * support/regression/spec.mk: removed _generic
6376 2001-09-09 Michael Hope <michaelh AT juju.net.nz>
6378 * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
6380 * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
6381 (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
6383 * src/z80/peeph.def: Added a rule to optimise shift then compare.
6385 * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
6387 * support/regression/tests/bug-460010.c: Added test case.
6389 * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
6391 2001-09-09 Bernhard Held <bernhard AT bernhardheld.de>
6393 * support/regression/Makefile: inter-port-clean adjusted for mcs51
6395 * support/regression/testfwk.c: removed workaround for bug #436344
6397 * support/regression/tests/bp.c: use less memory with mcs51
6399 * support/regression/tests/bug-441448.c: use less memory
6401 * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
6403 * support/regression/collate-results.py: typo
6405 2001-09-08 Michael Hope <michaelh AT juju.net.nz>
6407 * support/regression/tests/fetchoverlap.c: Added new test case.
6409 * support/regression/tests/bp.c: Added new test case.
6411 * support/regression/tests/bug-448984.c: Added new test case.
6413 * support/regression/tests/pow2shifts.c: Added new test case.
6415 * src/z80/gen.c: Turned off the noise it normally generates for the release.
6416 (genlshTwo): Fixed right shift for count > 8.
6418 * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
6420 2001-09-08 <johan AT FRIJA>
6422 * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
6424 2001-09-07 <johan AT FRIJA>
6426 * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
6428 * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
6430 2001-09-06 <johan AT FRIJA>
6432 * src/SDCC.y: this could be a fix for bug #458744 (1.37)
6433 * bernhard noted me at this: "() equals to (void)" (1.38)
6435 2001-09-05 <johan AT FRIJA>
6437 * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
6439 2001-09-04 <johan AT FRIJA>
6441 * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
6444 2001-09-04 Paul Stoffregen <paul AT pjrc.com>
6446 * pragma noinduction broke memcpy on mcs51 large model. Moved it inside z80 optimization
6448 2001-09-03 Michael Hope <michaelh AT juju.net.nz>
6450 * link/z80/aslink.h: Fixed path for PATH_MAX
6452 2001-09-02 Michael Hope <michaelh AT juju.net.nz>
6454 * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
6456 * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
6458 * support/regression/tests/uminus.c: Added a test for the unary minus operator.
6460 * src/z80/gen.c (genUminus): Fixed add, sub, and uminus on the gbz80 port for longs. Had to shift some functions about to do it.
6462 2001-09-01 Michael Hope <michaelh AT juju.net.nz>
6464 * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
6465 (genCmp): Fixed up genCmp for the GB with longs.
6467 * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
6469 * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
6471 * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
6473 * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
6475 2001-08-30 Paul Stoffregen <paul AT pjrc.com>
6477 * added peepholes 223 to 231 to mcs51 port. These improve code when using large model.
6479 2001-08-30 Michael Hope <michaelh AT juju.net.nz>
6481 * device/lib/gbz80/crt0.s (init): Fixed up support for the gbz80 such that it will at least run (and fail badly) the regression tests.
6483 * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
6485 2001-08-29 Michael Hope <michaelh AT juju.net.nz>
6487 * link/z80/aslink.h: Fixed long file name support. Is now based off PATH_MAX instead of a constant.
6489 * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
6491 2001-08-30 Bernhard Held <bernhard AT bernhardheld.de>
6493 * sim/ucsim/configure: little improvement of Cygwin-detection
6494 * sim/ucsim/configure.in: little improvement of Cygwin-detection
6495 * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
6496 * support/regression/tests/bug-221100.c: small changes for mcs51
6497 * support/regression/tests/bug-221168.c: small changes for mcs51
6498 * support/regression/tests/bug-227710.c: small changes for mcs51
6499 * support/regression/tests/staticinit.c: small changes for mcs51
6500 * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
6501 * as/mcs51/lklex.c: accept everything as symbol name in rel-files, bug fix ID 452601
6502 * as/mcs51/lksym.c: accept everything as symbol name in rel-files, bug fix ID 452601