1 2003-12-11 Erik Petrich <epetrich@ivorytower.norman.ok.us>
3 * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
5 2003-12-10 Erik Petrich <epetrich@ivorytower.norman.ok.us>
7 * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
8 gracefully handle NULL memmap pointers
10 2003-12-08 Erik Petrich <epetrich@ivorytower.norman.ok.us>
12 * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
13 instead of deleting the iCode when an operand is volatile
14 * src/z80/gen.c (genDummyRead),
15 * src/mcs51/gen.c (genDummyRead),
16 * src/ds390/gen.c (genDummyRead),
17 * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
19 * src/SDCCicode.c (geniCodeCall): fixed bug #851607
20 * src/SDCC.y: fixed bug #850420
22 2003-12-05 Erik Petrich <epetrich@ivorytower.norman.ok.us>
24 Applied z80 i/o port patch from Peter Townson and fixed some operators
25 to better handle operands in A register.
26 * device/include/z180.h
32 * src/z80/peeph-z80.def
36 2003-12-03 Erik Petrich <epetrich@ivorytower.norman.ok.us>
38 * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
40 2003-12-01 Erik Petrich <epetrich@ivorytower.norman.ok.us>
42 * device/lib/hc08/_mullong.c: Removed extra #endif
44 2003-12-01 Erik Petrich <epetrich@ivorytower.norman.ok.us>
46 * sim/ucsim/hc08.src/inst.cc,
47 * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
49 * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
50 * src/hc08/gen.c (XAccRsh): fixed problem with right shift
51 * device/include/stdarg.h: fixed varargs for hc08
52 * device/lib/Makefile.in,
53 * device/lib/hc08/Makefile,
54 * device/lib/hc08/_mulint.c,
55 * device/lib/hc08/_mullong.c: fixed some endian problems
57 2003-11-28 Frieder Ferlemann <Frieder.Ferlemann@web.de>
59 * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
60 * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
61 * device/lib/_gptrget.c,
62 * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
64 2003-11-27 Erik Petrich <epetrich@ivorytower.norman.ok.us>
66 * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
67 * src/SDCCast.c (astErrors): fixed bug #846007
68 * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
70 2003-11-26 Erik Petrich <epetrich@ivorytower.norman.ok.us>
72 * src/SDCCast.c (decorateType): disabled a transformation I added in
73 revision 1.188 (access to fields of a structure at an absolute address);
74 it breaks with bitfields, extern declarations, and gcse analysis.
75 * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
76 could be assigned through a pointer, so don't complain.
77 * src/SDCCast.c (astErrors),
79 * src/SDCCglue.c (emitRegularMap): fixed bug #847813
81 2003-11-26 Vangelis Rokas <vrokas@otenet.gr>
83 * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
84 * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
85 output of __config directives, since gpasm now supports them
86 * src/pic16/main.c (_pic16_finaliseOptions): define MCU
87 pre-processor macro, i.e. -DMCU=p18f452
88 * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
89 and modified to handle 'cast' icode similarly to '=' icode
90 * src/pic16/device.h (typedef struct PIC_device): added field
91 'extMIface' to indicate that chip has external memory interface
92 * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
93 18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
96 2003-11-26 Erik Petrich <epetrich@ivorytower.norman.ok.us>
98 * src/SDCC.y (pointer): fixed bug #846006
99 * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
100 * src/SDCCast.c (decorateType): fixed bug #846009
101 * src/ds390/peeph.def,
102 * src/ds390/gen.c (genAnd, genOr),
103 * src/mcs51/peeph.def,
104 * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
106 2003-11-25 Erik Petrich <epetrich@ivorytower.norman.ok.us>
108 Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
115 2003-11-23 Klaus Flittner <klaus_flittner@gmx.de>
119 * src/SDCCbitv.c: added function to free a bitvector
121 * src/SDCClrange.c: added function to recompute the liveranges
123 * src/ds390/ralloc.c,
125 * src/mcs51/ralloc.c,
127 * src/pic16/ralloc.c,
129 * src/z80/ralloc.c: recompute the liveranges after register packing
131 2003-11-21 Klaus Flittner <klaus_flittner@gmx.de>
133 * src/SDCCloop.c (newInduction): fixed bug #845630
135 2003-11-21 Erik Petrich <epetrich@ivorytower.norman.ok.us>
137 * src/SDCCsymt.c (compareTypesExact): disabled debugging output
138 inadvertantly left behind from my 2003-11-12 change
140 2003-11-20 Erik Petrich <epetrich@ivorytower.norman.ok.us>
142 Updated headers I neglected to commit yesterday.
146 2003-11-19 Erik Petrich <epetrich@ivorytower.norman.ok.us>
148 * src/SDCCcse.c (algebraicOpts): fixed bug #773153
149 * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
150 * src/SDCCopt.c (eBBlockFromiCode),
151 * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
152 the creation of the key hash table from the sequencing so it can be used
153 earlier (for some GCSE bug fixes still pending)
155 2003-11-15 Frieder Ferlemann <Frieder.Ferlemann@web.de>
157 * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
158 * support/regression/tests/addsub.c: testing genPlus shortcut
160 2003-11-15 Borut Razem <borut.razem@siol.net>
162 * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
164 2003-11-15 Erik Petrich <epetrich@ivorytower.norman.ok.us>
166 * src/SDCCcse.c (cseBBlock): fixed bug #527779
167 * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
168 ordering is immaterial.
169 * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
171 2003-11-14 Erik Petrich <epetrich@ivorytower.norman.ok.us>
173 * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
174 * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
175 (SIGSEV) of bug #840381
176 * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
177 unlink new file before rename if new and old filenames are the same)
179 2003-11-13 Frieder Ferlemann <Frieder.Ferlemann@web.de>
181 * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
182 uninitialized variables) for the mcs51. Set environment variable
183 SDCC_GENRAMCLEAR to test.
184 xdata initialization slightly shorter
186 2003-11-12 Erik Petrich <epetrich@ivorytower.norman.ok.us>
189 * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
190 #838241 & 780691 (basicly the same bug)
191 * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
192 * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
194 2003-11-11 Bernhard Held <bernhard@bernhardheld.de>
196 * src/SDCCmain.c (linkEdit): "fix" #834252
198 2003-11-11 Erik Petrich <epetrich@ivorytower.norman.ok.us>
200 * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
202 * src/SDCC.y: fixed bug #819403
204 2003-11-08 Erik Petrich <epetrich@ivorytower.norman.ok.us>
206 * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
207 the reentrant attribute.
208 * src/hc08/gen.c (genPackBits): added missing stack readjustment
209 * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
211 * src/SDCCast.c (decorateType): fixed bug with storage class not being
212 updated during pointer dereference; f.e. ~(((char *)1)*) was being
213 erroneously reduced to a literal.
214 * src/hc08/ralloc.c (packRegisters, rematStr),
215 * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
218 2003-11-08 Frieder Ferlemann <Frieder.Ferlemann@web.de>
220 * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
221 * doc/sdccman.lyx: changed from 'article' to 'book'
222 * doc/Makefile: readded test_suite_spec and cdbfileformat
224 2003-11-08 Bernhard Held <bernhard@bernhardheld.de>
226 * device/include/stdlib.h: include malloc.h to comply with ANSI
227 * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
229 2003-11-07 Frieder Ferlemann <Frieder.Ferlemann@web.de>
231 * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
232 * doc/clean.mk: also remove *.out files
233 * doc/sdccman.lyx: some additions, larger top/bottom margins
235 2003-11-07 Erik Petrich <epetrich@ivorytower.norman.ok.us>
237 * src/SDCC.y: fixed bug #837365
238 * support/regression/tests/bitopcse.c
239 * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
240 a symbol (might be valop instead)
241 * device/lib/Makefile.in: added errno.c to HC08SOURCES
242 * device/lib/clean.mk: added hc08 to the cleaning list
244 2003-11-04 Borut Razem <borut.razem@siol.net>
246 * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
248 * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
249 as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
250 malloc is declared in standard stdlib.h
252 2003-11-06 Erik Petrich <epetrich@ivorytower.norman.ok.us>
254 * device/lib/hc08/Makefile: need to clean .rel not .o files
255 * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
257 2003-11-06 Erik Petrich <epetrich@ivorytower.norman.ok.us>
267 * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
268 * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
269 tests (which uses the port's oclsExpense function)
275 * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
277 2003-11-04 Erik Petrich <epetrich@ivorytower.norman.ok.us>
279 * src/SDCCcse.c (ifxOptimize),
280 * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
281 an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
282 deleting the IFX iCode.
283 * src/hc08/ralloc.c: reduced unneeded slocs
284 * src/hc08/gen.c: fixed bug in asmopToBoolean
286 2003-11-04 Borut Razem <borut.razem@siol.net>
288 * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
289 support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
290 as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
291 transferred to configure
293 2003-11-03 Bernhard Held <bernhard@bernhardheld.de>
295 Use headers defined in the C[++] standards:
296 * sim/ucsim/gui.src/serio.src/fileio.cc
297 * sim/ucsim/gui.src/serio.src/frontend.cc
298 * sim/ucsim/gui.src/serio.src/main.cc
299 * sim/ucsim/gui.src/serio.src/posix_signal.cc
300 * support/Util/NewAlloc.c
306 2003-11-03 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
308 * Added MSVC projects for hc08 assembler and linker:
309 all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
310 /as/hc08/link_hc08.dsp
312 2003-11-03 Martin Helmling <Martin.Helmling@octo-soft.de>
314 * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)
316 2003-11-02 Bernhard Held <bernhard@bernhardheld.de>
318 * src/SDCCmain.c (linkEdit): "fixed" again bug #833605
320 2003-11-01 Frieder Ferlemann <Frieder.Ferlemann@web.de>
322 * src/mcs51/main.c: xdata initialization is 13 bytes shorter now
324 2003-10-31 Borut Razem <borut.razem@siol.net>
326 * support/cpp2/cpplib.h,
327 support/cpp2/cpplib.c,
328 support/cpp2/cpplex.c,
329 support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ]
330 to switch _asm block preprocessing on / off. Default is
331 #pragma preproc_asm +
333 2003-10-31 Borut Razem <borut.razem@siol.net>
335 * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences
336 when outputting comment blocks (when executed with -C option) and
337 _asm (SDCPP specific) blocks
339 2003-10-31 Erik Petrich <epetrich@ivorytower.norman.ok.us>
341 * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning
343 2003-10-31 Klaus Flittner <klaus_flittner@gmx.de>
345 * src/SDCCcse.c (updateSpillLocation): fixed bug #808027
347 2003-10-31 Bernhard Held <bernhard@bernhardheld.de>
349 * src/SDCCmain.c (linkEdit): "fixed" bug #833605
350 * src/SDCCast.c (decorateType): fixed bug #832664
352 2003-10-31 Borut Razem <borut.razem@siol.net>
354 * support\cpp2\cpplex.c: fixed for SDCPP:
355 comments(when executed with -C option) and _asm blocks
356 were included even if they where in skipped #if block.
357 Applied solution from GCC cpp 3.3.2
359 2003-10-31 Borut Razem <borut.razem@siol.net>
361 * src/SDCC.lex: sdcc now understands both formats:
362 '# <line_number> <file_name>' and
363 '#line <line_number> <file_name>'
364 * support/cpp2/cppmain.c: sdcpp now generates the standard
365 '# <line_number> <file_name>' instead of former
366 '#line <line_number> <file_name>'
368 2003-10-30 Borut Razem <borut.razem@siol.net>
370 * support/cpp2/cpphash.h,
371 * support/cpp2/cpplib.h
372 * support/cpp2/cpplex.c,
373 * support/cpp2/cppmain.c,
374 * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants
376 2003-10-30 Erik Petrich <epetrich@ivorytower.norman.ok.us>
378 Fixed a number of problems revealed by bug #827883.
379 * src/SDCCloop.c (loopInvariants): Spill location of the
380 result operand should be recomputed if extracted from
381 a loop. Also, don't extract assignments of an iTemp
383 * src/SDCCast.c (isConformingBody): loop reversal should
384 not occur if the control variable is involved with a
387 2003-10-28 Bernhard Held <bernhard@bernhardheld.de>
389 * .version: bumped to 2.3.6 to reflect the big improvements
390 made by Erik and Klaus. Thanks!
392 2003-10-28 Klaus Flittner <klaus_flittner@gmx.de>
394 Replaced the livrange code.
395 * src/SDCClrange.c: added new LR code
397 * src/SDCCBBlock.h: removed remainig parts from old LR code
398 * src/ds390/ralloc.c,
399 * src/ds390/gen.c: minor fixes to make it work with new code
401 2003-10-28 Erik Petrich <epetrich@ivorytower.norman.ok.us>
406 * src/hc08/ralloc.c: Fix various warnings related to the hc08
407 * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717
408 (tweaked fix for bug #818696)
410 2003-10-23 Erik Petrich <epetrich@ivorytower.norman.ok.us>
412 * src/z80/ralloc.c (joinPushes): Fixed bug #828742
414 2003-10-23 Erik Petrich <epetrich@ivorytower.norman.ok.us>
417 * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work)
418 * src/mcs51/gen.c (gencjneshort),
419 * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand
420 more efficient (per Scott Bronson's suggestion)
422 2003-10-22 Erik Petrich <epetrich@ivorytower.norman.ok.us>
424 Extended the semantics of the critical keyword to include
425 individual statements. See RFE #827755 and #799831
430 * support/Util/SDCCerr.c
431 * support/Util/SDCCerr.h
436 2003-10-19 Borut Razem <borut.razem@siol.net>
438 * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31
440 2003-10-19 Erik Petrich <epetrich@ivorytower.norman.ok.us>
442 * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode):
444 * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement
445 and predecrement operand is displayed
447 2003-10-13 Bernhard Held <bernhard@bernhardheld.de>
449 * src/SDCCval.c (valMinus): fixed bug #826041
451 2003-10-15 Erik Petrich <epetrich@ivorytower.norman.ok.us>
453 Some hc08 related updates that I missed earlier
455 * support/regression/ports/hc08/spec.mk
457 2003-10-15 Erik Petrich <epetrich@ivorytower.norman.ok.us>
459 New target "hc08" for the Motorola 68hc08 family of micros
467 * sim/ucsim/hc08.src/*
468 * sim/ucsim/configure.in
469 * src/ucsim/configure
470 * sim/ucsim/packages_in.mk
473 * device/include/mc68hc908qy.h
475 * device/lib/Makefile.in
476 * support/regression/ports/hc08/*
477 * support/regression/Makefile
479 2003-10-14 Erik Petrich <epetrich@ivorytower.norman.ok.us>
481 * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c
483 * src/ds390/gen.c (genCast): fixed bug #821957
485 2003-10-13 Bernhard Held <bernhard@bernhardheld.de>
487 * device/lib/logf.c: "fixed" overlay bug
488 * support/regression/ports/host/spec.mk: added m library
489 * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs
490 * support/regression/tests/float_trans: added (for Eric)
492 2003-10-12 Bernhard Held <bernhard@bernhardheld.de>
494 * src/mcs51/gen.c (genCpl): fixed bug
495 http://sf.net/mailarchive/message.php?msg_id=6263915
497 2003-10-10 Bernhard Held <bernhard@bernhardheld.de>
499 * src/SDCCast.c (decorateType): added extended constant folding
500 * src/SDCCsymt.c (computeType): cleanup
501 * src/SDCCval.c (valShift): minor optimization
502 * support/regression/tests/ast_constant_folding.c: added
504 2003-10-09 Erik Petrich <epetrich@ivorytower.norman.ok.us>
506 * src/SDCCmain.c: removed some unintended changes
508 2003-10-09 Erik Petrich <epetrich@ivorytower.norman.ok.us>
510 * src/SDCCmain.c (setParseWithComma): fixed bug #816685
511 * src/z80/gen.c: fixed part of bug #817589
512 * src/SDCCsymt.c (checkFunction): fixed bug #817895
514 2003-10-08 Bernhard Held <bernhard@bernhardheld.de>
516 Replaced cast (void **) with (void *) to avoid gcc 3 warning:
534 * src/z80/gen.c: removed unused label "release:"
536 2003-10-06 Borut Razem <borut.razem@siol.net>
538 * src/SDCC.lex: removed definition of unused variables
539 save_optimize and save_options
541 2003-10-06 Bernhard Held <bernhard@bernhardheld.de>
543 * clean.mk: removed '=' in "-maxdepth=1"
544 * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS
545 * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS
547 2003-10-06 Borut Razem <borut.razem@siol.net>
549 * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions;
550 my_unput() replaced by unput()
552 2003-10-05 Bernhard Held <bernhard@bernhardheld.de>
554 * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
555 setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
556 type-punned pointer will break strict-aliasing rules"
557 Old LR behaviour is again default; Klaus' LR can be choosen by
558 defining the environment variable LRKLAUS
562 * src/ds390/ralloc.c (spillThis): applied Klaus' patch
563 * clean.mk: fixed removal of files in bin/CVS/
564 * device/lib/clean.mk: fixed removal of directories small and large
565 * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
567 * src/SDCCval.c: removed superflous test for pedantic
569 2003-10-05 Borut Razem <borut.razem@siol.net>
571 * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
572 Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
573 message "unmatched #pragma SAVE and #pragma RESTORE"
575 2003-10-04 Frieder Ferlemann <Frieder.Ferlemann@web.de>
577 * doc/sdccman.lyx: various additions and updates (interrupts, inline
578 assembly, critical functions, atomic, nojtbound)
580 2003-10-04 Bernhard Held <bernhard@bernhardheld.de>
582 Applied liferange patch from Klaus Flittner <klaus_flittner@gmx.de>
588 2003-10-03 Erik Petrich <epetrich@ivorytower.norman.ok.us>
591 * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
593 * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
595 * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
596 * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
597 * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
599 2003-10-02 Erik Petrich <epetrich@ivorytower.norman.ok.us>
601 * src/z80/gen.c (genRet): fixed bug #524753
602 * src/z80/gen.c (genCast): fixed internal error on cast from
604 * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
605 fix for bug #477835 to the z80
606 * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
607 for tracking iCodes in the peephole optimizer for z80
609 2003-10-01 Erik Petrich <epetrich@ivorytower.norman.ok.us>
611 * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
612 the other part of bug #814548
613 * src/SDCCpeeph.c (labelInRange): fixed bug #814558
615 2003-09-30 Bernhard Held <bernhard@bernhardheld.de>
617 * src/SDCCcse.c: fixed part of bug #814548
619 2003-09-28 Borut Razem <borut.razem@siol.net>
621 * src/asm.c: rewrite of printILine() to use temporary file instead
623 * src/xa51/main.c: commented out declaration of int rewinds
625 2003-09-27 Erik Petrich <epetrich@ivorytower.norman.ok.us>
627 * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
629 2003-09-26 Erik Petrich <epetrich@ivorytower.norman.ok.us>
631 * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
632 * src/asm.c (printILine): Fixed bug #811015
634 2003-09-22 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
636 *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
639 2003-09-21 Erik Petrich <epetrich@ivorytower.norman.ok.us>
641 * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
642 * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
643 to correctly handle general case of AOP_PAIRPTR
644 * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
646 2003-09-21 Erik Petrich <epetrich@ivorytower.norman.ok.us>
648 * src/mcs51/ralloc.c (fillGaps),
649 * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
650 register positioning bug)
652 2003-09-21 Bernhard Held <bernhard@bernhardheld.de>
654 * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
656 2003-09-19 Erik Petrich <epetrich@ivorytower.norman.ok.us>
658 * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
659 genCodePointerGet, genGenPointerGet, genFarPointerSet,
660 genGenPointerSet): handle AOP_DPTR correctly when loading dptr
661 (ralloc doesn't intentionally do this now, but perhaps later)
662 * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
663 * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
664 register positioning bugs (Fixed bug #762602 and #795325)
665 * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
667 * src/z80/gen.c: increased _vemit2's buffer[] to handle long
668 lines that --i-code-in-asm generates
670 2003-09-18 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
672 *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
673 trying to fclose a FILE* that was already closed.
675 2003-09-18 Erik Petrich <epetrich@ivorytower.norman.ok.us>
677 * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
678 of const struct should be treated as if const themselves)
680 2003-09-18 Bernhard Held <bernhard@bernhardheld.de>
682 * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
684 2003-07-06 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
686 * support/librarian/sdcclib.c: Generate correct offsets for libraries with
687 Unix (/n) and DOS (/r/n) line terminations.
689 2003-09-17 Erik Petrich <epetrich@ivorytower.norman.ok.us>
691 * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
694 2003-09-16 Erik Petrich <epetrich@ivorytower.norman.ok.us>
696 * src/mcs51/gen.c (genFunction, genEndFunction),
697 * src/ds390/gen.c (genFunction, genEndFunction): Moved save
698 and restore of EA so that stack offsets to parameters are
699 correct when using both critical and reentrant/stack-auto.
700 * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
701 size (can be triggered in error if sloc is shared between
702 different sized objects)
703 * device/include/float.h: fixed macros to explicitly use
704 unsigned long where needed
706 2003-09-15 Bernhard Held <bernhard@bernhardheld.de>
708 Feature req. 799831: added code to allow nesting of critical functions
709 * src/mcs51/gen.c (genFunction, genEndFunction)
710 * src/ds390/gen.c (genFunction, genEndFunction)
712 2003-09-14 Erik Petrich <epetrich@ivorytower.norman.ok.us>
714 * src/SDCCsymt.c (sclsFromPtr),
716 * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
717 support for standard C idiom of memory mapped variables; for
718 example, *((xdata int*)0x1234) = 1 is now internally equivalent
719 to xdata int at 0x1234 tempvar = 1.
720 * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
721 provided by Akiya ISHIDA
723 2003-09-13 Bernhard Held <bernhard@bernhardheld.de>
725 * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
726 * src/SDCCval.c (constVal): added reduction from int to char
727 * src/SDCCval.c (valMult, valDiv): fixed sign handling
728 * src/SDCCval.c (valShift): fixed after change of cheapestVal()
729 * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
731 * support/regression/tests/shifts.c: fixed
733 2003-09-13 Erik Petrich <epetrich@ivorytower.norman.ok.us>
735 * src/z80/gen.c (genXor): Fixed bug #805445
737 2003-09-12 Erik Petrich <epetrich@ivorytower.norman.ok.us>
739 Fixed bug #621531 (const & volatile confusion in the type chain).
740 DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
741 refer to the const or volatile state of the pointer itself.
754 * support/regression/tests/const.c
756 2003-09-10 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
758 When checking for duplicated modules, use absolute paths
759 instead of relative paths. Files changed:
764 2003-09-09 Erik Petrich <epetrich@ivorytower.norman.ok.us>
766 * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
768 2003-09-07 Erik Petrich <epetrich@ivorytower.norman.ok.us>
770 * device/include/string.h: added size_t typedef, changed
771 prototypes to use size_t, eliminated separate reentrant and
772 non-reentrant declarations, added _memmove declaration
773 * device/lib/_memcpy.c: changed to use size_t instead of int,
774 changed /4 to >>2 to avoid division library call
775 * device/lib/_memcmp.c,
776 * device/lib/_memset.c,
777 * device/lib/_strncat.c,
778 * device/lib/_strncpy.c,
779 * device/lib/_strncmp.c: changed to use size_t instead of int
780 * device/lib/_memmove.c: new file (fixed bug #772294)
781 * device/lib/Makefile.in: added _memmove.c
782 * device/lib/z80/asm_strings.s: fixed bug #772290
783 * support/regression/tests/bitfields.c: attempt to fix host assertion
784 failure on amd64-unknown-linux2.2
786 2003-09-06 Erik Petrich <epetrich@ivorytower.norman.ok.us>
788 * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
789 * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
790 * as/z80/asmain.c (main): fixed bug #801766
792 2003-09-06 Bernhard Held <bernhard@bernhardheld.de>
794 * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
797 2003-09-05 Erik Petrich <epetrich@ivorytower.norman.ok.us>
799 * src/SDCCast.c (isConformingBody): fixed loop reversal bug
800 reported in bug #800609
802 2003-09-04 Vangelis Rokas <vrokas@otenet.gr>
804 * Top header beautifications in src/pic16 directory:
805 device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
806 pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
807 pcoderegs.h, ralloc.c, ralloc.h
808 * main.c: added top header and GPL license notice
809 * pcode.c: fixed the if-conditional warning
811 2003-09-04 Bernhard Held <bernhard@bernhardheld.de>
813 * device/lib/_mullong.c: replaced int by short for gcc
815 2003-08-31 Erik Petrich <epetrich@ivorytower.norman.ok.us>
817 * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
818 and JUMPTABLE iCodes properly now (worked by accident before)
819 * src/mcs51/gen.c (leftRightUseAcc),
820 * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
821 iCode properly now. Use getSize instead of nRegs since a & b
822 aren't part of the nRegs tally.
824 2003-08-31 Vangelis Rokas <vrokas@otenet.gr>
826 * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
827 * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
828 before instructions that use the _STATUS register
830 2003-08-31 Bernhard Held <bernhard@bernhardheld.de>
832 * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
833 * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
834 fetching of the pointer
835 * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
836 copied from genNearPointerSet()
837 * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
838 * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
839 If they pop r0/r1 they must be called in the opposite order than aopOp().
840 * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
841 (resp. --stack-auto), prepared for --xstack
843 2003-08-28 Frieder Ferlemann <Frieder.Ferlemann@web.de>
845 * doc/sdccman.lyx: reverted tables to those in cvs 1.64
847 2003-08-28 Bernhard Held <bernhard@bernhardheld.de>
849 * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
850 these ports have their own __sdcc_external_start()
852 2003-08-26 Bernhard Held <bernhard@bernhardheld.de>
854 pic patch provided by Slade Rich <slade_rich@yahoo.com>
855 * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
856 type for bits was changed. It resulted in bit variables becoming
857 global, which is not permitted in PIC 14 assembly output.
859 2003-08-23 Frieder Ferlemann <Frieder.Ferlemann@web.de>
861 * doc/sdccman.lyx: various additions and updates. Rearranged sections
863 2003-08-22 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
865 Z80 and MCS51 linkers complaint if a public symbol is defined
866 in more than one library module:
870 * as/mcs51/Makefile.in
872 2003-08-22 Erik Petrich <epetrich@ivorytower.norman.ok.us>
874 A few small changes that speed up the peephole optimizer.
878 2003-08-22 Erik Petrich <epetrich@ivorytower.norman.ok.us>
880 Try to make the peephole optimizer smarter by maintaining
881 an association between the assembly source code and the
882 iCodes that originated them. Put this information to use
883 with a new peephole rule condition "notVolatile" so that
884 the rules can be aggressive yet still safe.
889 * src/mcs51/peeph.def
891 2003-08-20 Erik Petrich <epetrich@ivorytower.norman.ok.us>
895 * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
896 * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
897 if the left or right operand symbols have the accuse flag set.
899 2003-08-20 Erik Petrich <epetrich@ivorytower.norman.ok.us>
901 Changed the type of the result of the ! (NOT) operator to char;
902 previously it returned the same type as the source. This allows
903 us to eliminate all the genFloatNot functions (all of its target
904 implementations were very buggy) since !float can use the same
907 * src/SDCCicode.c (ast2iCode): ! returns char
908 * src/mcs51/gen.c (genNot, genNotFloat),
909 * src/ds390/gen.c (genNot, genNotFloat),
910 * src/z80/gen.c (genNot, genNotFloat),
911 * src/pic/gen.c (genNot, genNotFloat),
912 * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
914 2003-08-19 Bernhard Held <bernhard@bernhardheld.de>
916 pic patch provided by Slade Rich <slade_rich@yahoo.com>
917 1. Interrupt would not compile properly. Ensure PCLATH register is saved
918 during interrupts. Ensure WSAVE is located at a shared bank address.
919 2. Fixed page selection in some places
920 3. Fixed BTFSS/C to where necessary use registers directly and not simply
921 the registers name strings.
922 4. Fixed "signed / unsigned compare" compiler warnings.
923 5. The PIC port manages its own allocation of the general purpose
924 registers, but makes no attempt to reuse them. As a result when
925 compiling it soon runs out of general purpose registers. Some
926 additional code was added to the files pcode.c and device.c to walk
927 through the function call tree and rename the registers so that they
937 * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
938 genPlus() & genMinus() when the result is the same as left or right
940 2003-08-18 Erik Petrich <epetrich@ivorytower.norman.ok.us>
942 * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
944 2003-08-18 Erik Petrich <epetrich@ivorytower.norman.ok.us>
946 Made bitfield a distinct type from bit so that bitfields
947 convert as per ANSI C and bits retain their traditional
948 boolean style behaviour. Implemented bitfield support in
956 * src/ds390/gen.c: bit v bitfield split
957 * src/z80/gen.c: New support for bitfields
958 * support/regression/tests/bitfields.c: reenabled z80,
961 2003-08-17 Frieder Ferlemann <Frieder.Ferlemann@web.de>
963 Rules 246.x, 247.x relate to bitfields, the others speed up
964 access to xdata mapped I/O devices.
966 * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
968 2003-08-16 Erik Petrich <epetrich@ivorytower.norman.ok.us>
970 Cleaned up genPackBits and genUnpackBits and added two helper
971 functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
972 for literal assignments in genPackBits (thanks to Frieder for
978 2003-08-16 Erik Petrich <epetrich@ivorytower.norman.ok.us>
980 Fixed bug #748310 (pointer to function type mishandled when the
981 function name is omitted). Also fixed a SIGSEGV when a function
982 attribute (reentrant, etc) is used on a non-function or on a
983 function but misplaced before the parameter list.
985 * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
987 * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
988 * support/Util/SDCCerr.h,
989 * support/Util/SDCCerr.c: Added func attr misuse error msg
991 2003-08-13 Bernhard Held <bernhard@bernhardheld.de>
993 Fixed bug #787649 by anonymous
994 * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
995 * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
997 2003-08-14 Erik Petrich <epetrich@ivorytower.norman.ok.us>
999 Fixed numerous bitfield problems.
1001 * src/SDCC.y: More bitfield related error checking
1003 * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
1004 * support/Util/SDCCerr.h,
1005 * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
1006 * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
1007 * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
1008 * support/regression/tests/bitfields.c: tests added
1010 2003-08-13 Erik Petrich <epetrich@ivorytower.norman.ok.us>
1012 Made the constant following the "interrupt" keyword optional. If
1013 omitted, the function will not automatically be given an entry
1014 in the interrupt vector table (similar to #pragma NOIV, but
1015 less syntacticly kludgy). The interrupt number is also now
1016 range checked. Also fixed a bug in the high order bit example
1023 * support/Util/SDCCerr.c
1024 * support/Util/SDCCerr.h
1027 2003-08-13 Bernhard Held <bernhard@bernhardheld.de>
1029 * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
1030 * src/SDCCicode.c (operandOperation): rewritten some ops
1031 (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
1032 * src/SDCCsymt.c (computeType): literals are handled the same way as any
1034 * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
1035 be re-activated by defining REDUCE_LITERALS)
1036 * src/SDCCval.c (constVal): fixed; hex and octal constants can be
1037 unsigned, but are signed by default
1038 * src/SDCCval.c (constVal): rearranged
1039 * src/SDCCval.c (valMod): preliminary fix
1040 * src/SDCCval.c (valCastLiteral): use TYPE_* types
1041 * support/regression/literalop.c: added, work in progress
1043 2003-08-12 Erik Petrich <epetrich@ivorytower.norman.ok.us>
1045 Generate warnings for useless declarations like "char data;"
1046 that don't do what new users expect.
1049 * support/Util/SDCCerr.h
1050 * support/Util/SDCCerr.c
1052 2003-08-09 Bernhard Held <bernhard@bernhardheld.de>
1054 * src/SDCCval.c (valMult): fix overflow detection of negative int
1056 2003-08-07 Erik Petrich <epetrich@ivorytower.norman.ok.us>
1058 * src/z80/ralloc.c (joinPushes): made compatible with new signedness
1060 Changes to support big endian targets:
1073 2003-08-06 Bernhard Held <bernhard@bernhardheld.de>
1075 * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
1076 * device/lib/time.c: fixed warning "integer overflow in expression"
1078 2003-08-05 Bernhard Held <bernhard@bernhardheld.de>
1080 * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
1081 * src/SDCCval.c (constVal): changed default to signed; hex and octal
1082 constants are unsigned; added recognition of "u" flag for unsigned
1083 * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
1084 * src/SDCCval.c (valDiv, valMod): fixed signdness
1085 * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
1086 signedness of modulo, left and right shift
1087 * support/Util/SDCCerr.c: added warning "integer overflow in expression"
1088 * support/Util/SDCCerr.h: added warning W_INT_OVL
1089 * src/SDCCast.c (decorateType): fixed gcc3.3 warning
1090 * src/SDCCast.c (ast_print): improved output of constants
1092 2003-08-04 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1094 Fixed some warnings when building with MSVC:
1107 * support\cpp2\cpplib.c
1111 2003-08-03 Bernhard Held <bernhard@bernhardheld.de>
1113 * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth@isi.edu>
1115 2003-08-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1117 * support\librarian\clean.mk: Do not remove Makefile.
1118 * support\librarian\Makefile: added.
1120 2003-08-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1122 Added librarian to MSVC build:
1125 * support\librarian\librarian.dsp
1127 'configure' not needed for librarian, removed:
1128 * support\librarian\configure
1129 * support\librarian\configure.in
1130 * support\librarian\config_in.h
1131 * support\librarian\Makefile.in
1133 Hopefully these ones built the librarian and the rest of sdcc properly:
1135 * Makefile.common.in
1137 Messed up 'configure', so revert to previous version:
1141 2003-07-31 Bernhard Held <bernhard@bernhardheld.de>
1143 * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
1144 there, while the mantissa of a double is "only" 53 bits wide.
1146 2003-07-31 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1148 Adding sdcclib to the build. MSVC project coming soon.
1149 Files added/changed:
1151 * support\librarian\clean.mk
1152 * support\librarian\configure
1153 * support\librarian\configure.in
1154 * support\librarian\config_in.h
1155 * support\librarian\Makefile.bcc
1156 * support\librarian\Makefile.in
1157 * support\librarian\sdcclib.c
1160 * Makefile.common.in
1164 2003-07-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1166 Linker now complaints if linked modules have conflicting options, for
1167 example, one compiled using --model-large and another one compiled with
1168 --model-small. The following files were modified:
1190 2003-07-28 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1192 *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
1193 as/mcs51/lklibr.c: Generate a warning when a library is not found.
1195 2003-07-28 Bernhard Held <bernhard@bernhardheld.de>
1197 * src/z80/mappings.i: fix _mul[us][int,long] entries
1199 2003-07-26 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1201 *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
1203 2003-07-24 Bernhard Held <bernhard@bernhardheld.de>
1205 * src/SDCCicode.c (operandOperation): really fixed problem with bitops
1206 * support/regression/tests/bitopcse.c: added
1214 2003-07-24 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1216 added support for new library format to z80, gbz80 linkers:
1222 2003-07-24 Bernhard Held <bernhard@bernhardheld.de>
1224 * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
1225 after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
1227 2003-07-23 Bernhard Held <bernhard@bernhardheld.de>
1229 added DUMMY_READ_VOLATILE:
1238 * src/SDCCcse.c (algebraicOpts): many improvements
1239 * src/SDCCcse.h: removed algebraicOpts()
1240 * src/SDCCicode.c (picDummyRead): added
1242 2003-07-23 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1244 * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
1245 "Insufficient space in data memory".
1247 2003-07-20 Erik Petrich <epetrich@ivorytower.norman.ok.us>
1249 * src/mcs51/gen.c: fixed bug #771358
1250 * src/z80/gen.c: fixed bug #759087
1252 2003-07-20 Bernhard Held <bernhard@bernhardheld.de>
1254 * src/pic16/glue.c: minor cleanup by Vangelis
1256 2003-07-19 Frieder Ferlemann <Frieder.Ferlemann@web.de>
1258 * device/include/regc515c.h: fixed #758477
1259 * device/lib/_gptrget.c: saving some cycles in generic pointer get
1260 * device/lib/_gptrput.c: saved a few bytes
1261 * my tab spacing is 8, yours too?)
1262 * device/lib/_ser.c: process RX bytes earlier than TX bytes
1263 * device/lib/serial.c: process RX bytes earlier than TX bytes
1264 * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
1266 2003-07-18 Erik Petrich <epetrich@ivorytower.norman.ok.us>
1268 * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
1270 2003-07-17 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1272 * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
1274 2003-07-17 Bernhard Held <bernhard@bernhardheld.de>
1276 * device/lib/Makefile.in: bad fix, reverted to 1.43
1278 2003-07-16 Bernhard Held <bernhard@bernhardheld.de>
1280 * device/lib/Makefile.in: added missing z80 object files
1282 2003-07-14 Bernhard Held <bernhard@bernhardheld.de>
1284 * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
1285 pic16 progress by Vangelis:
1300 * pic16/pcodepeep.c:
1303 2003-07-13 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1305 * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
1307 2003-07-12 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1309 * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
1310 added gbz80 build to MSVC project.
1311 * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
1312 link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
1313 from 8051 stuff and setup so it links using a .lnk file.
1315 2003-07-06 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1317 * support/librarian/sdcclib.c: sdcc librarian.
1318 * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
1321 2003-07-03 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1323 * as/mcs51/lkmain.c: properly handle extensions in function afile.
1325 2003-07-02 Borut Razem <borut.razem@siol.net>
1327 * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
1328 src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
1329 src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
1330 src/xa51/main.c, src/z80/main.c:
1331 virtualization of glue() function: each port has it's own glue function,
1332 which is accessed by do_glue function pointer in PORT.general structure
1334 2003-07-01 Kevin Vigor <kevin@vigor.nu>
1336 * DS800C400 fun, improved ROM interface and tinibios.
1338 2003-06-27 Kevin Vigor <kevin@vigor.nu>
1340 * More support for DS80C400. Now includes beginning of interface to ROM.
1342 2003-06-25 Bernhard Held <bernhard@bernhardheld.de>
1344 * src/mcs51/gen.c (gencjneshort): fixed bug #760345
1346 2003-06-20 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1348 * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
1350 2003-06-19 Borut Razem <borut.razem@siol.net>
1352 * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
1354 2003-06-19 Borut Razem <borut.razem@siol.net>
1356 * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
1357 fixed Z80 port - crt0.o: cannot open.
1359 2003-06-19 Bernhard Held <bernhard@bernhardheld.de>
1361 * support/Util/MySystem.c (merge_command): revert bad fix
1363 2003-06-18 Borut Razem <borut.razem@siol.net>
1365 * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
1367 2003-06-18 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1369 * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
1370 option --use-stdout sends errors to stdout instead of stderr.
1372 2003-06-18 Bernhard Held <bernhard@bernhardheld.de>
1374 * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
1376 2003-06-15 Borut Razem <borut.razem@siol.net>
1378 * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
1379 * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
1380 * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
1381 fixed width array of pointers replaced with sets;
1382 multiple include and lib paths ared transferred to preprocessor and linker
1383 * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
1384 * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
1385 fixed width array of pointers
1386 * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
1387 removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
1388 fixupPath(), getPathDifference()
1389 * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function inExcludeList() by using sets instead
1390 fixed width array of pointers
1392 2003-06-11 Bernhard Held <bernhard@bernhardheld.de>
1394 * src/pic16/ralloc.c: fix warnings
1395 * src/pic16/pcode.c: fix warning
1397 2003-06-10 Scott Dattalo <scott@dattalo.com>
1399 Scott D. for Vangelis Rokas (vrokas@otenet.gr). I (scott) don't
1400 know all the details, but essentially this set of changes enable
1401 the pic16 port to generate movff instructions and generate assembler
1406 * src/pic16/pcode.c:
1407 * src/pic16/device.c:
1409 * src/pic16/pcode.h:
1410 * src/pic16/pcoderegs.c:
1411 * src/pic16/ralloc.c:
1412 * src/pic16/ralloc.h:
1414 2003-06-08 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1416 * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
1417 added option --vc, so sdcc errors and warnings are compatible with
1418 Microsoft Visual Studio.
1420 2003-06-07 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1422 * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
1423 device/lib/libfloat.lib: added atof function.
1425 2003-06-04 Bernhard Held <bernhard@bernhardheld.de>
1427 * doc/sdccman.lyx: updated to Lyx 1.3
1428 * doc/cdbfileformat.lyx: updated to Lyx 1.3
1429 * doc/test_suite_spec.lyx: updated to Lyx 1.3
1430 * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
1432 2003-06-03 Bernhard Held <bernhard@bernhardheld.de>
1434 * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas@otenet.gr>
1436 2003-06-02 Frieder Ferlemann <Frieder.Ferlemann@web.de>
1438 * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
1439 additions to the "related tools/documentation" section
1441 2003-06-02 Bernhard Held <bernhard@bernhardheld.de>
1443 * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
1445 2003-05-29 Bernhard Held <bernhard@bernhardheld.de>
1447 * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn@vt.edu>
1448 * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
1450 2003-05-28 Bernhard Held <bernhard@bernhardheld.de>
1452 * doc/sdccman.lyx: fix double dash and other minor things
1453 * doc/Makefile: fix double dash
1455 2003-05-28 Karl Bongers(patches from Martin Helmling)
1456 * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
1457 condition and ignore commands.
1459 2003-05-28 Frieder Ferlemann <Frieder.Ferlemann@web.de>
1461 * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
1462 is in parts still quite out of date, I did changes as far as I felt makes sense
1463 for a non-native english speaker.
1464 Please feel free to add to the manual or to correct my changes.
1465 * doc/Makefile: undid touching the date of intermediate tex files.
1467 2003-05-26 Frieder Ferlemann <Frieder.Ferlemann@web.de>
1469 * doc/sdccman.lyx: Manual has an index now
1471 2003-05-25 Bernhard Held <bernhard@bernhardheld.de>
1473 Finalize muluint/mulsint and mululong/mulslong merging:
1474 * device/lib/_mulint.c
1475 * device/lib/_mullong.c
1476 * device/lib/gbz80/mul.s
1477 * device/lib/gbz80/stubs.s
1478 * device/lib/z80/mul.s
1479 * device/lib/z80/stubs.s
1480 * src/SDCCsymt.c (initCSupport)
1482 2003-05-25 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1484 * as/mcs51/lkaomf51.c: Address space 'z' was missing.
1485 * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
1486 src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
1487 src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
1490 2003-05-25 Frieder Ferlemann <Frieder.Ferlemann@web.de>
1492 * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
1493 the regression tests I'm not brave enough to enable 245.b, 245.c
1494 * doc/sdccman.lyx: added latex preamble for hyperref package.
1495 Using pdflatex this will give you a hyperlinked pdf file with
1496 bookmarks. (prepend '%' before /usepackage if this breaks something)
1498 2003-05-24 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1500 * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
1502 2003-05-22 Bernhard Held <bernhard@bernhardheld.de>
1504 * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
1506 2003-05-21 <johan@balder>
1508 * src/SDCCglue.c (printIval): fixed bug #739934
1510 2003-05-19 Bernhard Held <bernhard@bernhardheld.de>
1512 Applied patch from bug 737905 (renamed yylineo to mylineno):
1519 * src/pic16/pcode.c: Cleaned warnings
1520 * src/pic16/pcodeflow.c: Cleaned warnings
1521 * src/pic16/pcoderegs.c: Cleaned warnings
1523 2003-05-19 Scott Dattalo <scott@dattalo.com>
1525 * src/pic16/pcode.c: Cleaned warnings
1526 * src/pic16/pcodepeep.c: Cleaned warnings
1527 * src/pic16/ralloc.c: Cleaned warnings
1529 2003-05-19 Bernhard Held <bernhard@bernhardheld.de>
1531 * doc/sdccman.lyx: fixed bug 739745
1532 * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
1534 2003-05-18 Bernhard Held <bernhard@bernhardheld.de>
1536 * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
1537 it can be defined with CFLAGS when running configure
1538 * src/SDCCmain.c: fixed compiling + linking with object files
1540 2003-05-18 Vangelis Rokas (vrokas@otenet.gr)
1542 * configure.in: configure for pic16 port,
1543 added --disable-pic16-port
1544 * sdccconf_in.h: added macro OPT_DISABLE_PIC16
1545 * src/SDCCmain.c: linkOptions is changed to set *,
1546 added if/endif conditional macros to remove options help
1547 messages from optionsTable when a port is not configured, added
1548 support for the PIc16 port in the ports table, when executing
1549 the compiler with no port specified on command line, a default
1550 port is selected with the new macro DEFAULT_PORT which is
1551 defined in port.h, in setDefaultOptions() linkOptions is removed
1552 from initialization assignment, since now it is a set,
1553 parseCmdLine uses setParseWithComma for linkOptions, in
1554 linkEdit() linkOptions are accessed with new function indexSet()
1555 which returns the i'th item of a set variable. See SDCCset.c, in
1556 linkEdit() when calling buildCmdLine(), added linkOptions as
1557 last argument. Now users can pass arguments to gplink via the
1558 -Wl option, main() uses pic16glue() to glue up pic16 programs
1559 * src/SDCCpeeph.c: various changes to support pic16
1560 * src/SDCCset.c: added function void *indexSet(set *, int) to
1561 return the i'th item of the set
1562 * src/SDCCset.h: added function prototype for indexSet()
1563 * src/SDCCsymt.c: in checkSClass(), added support for PIC16
1564 * src/clean.mk: added pic16 in CLEANALLPORTS variable
1565 * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
1566 added macro DEFAULT_PORT
1567 * src/pic/main.c: corrected arguments of gplnk in _linkCmd
1568 * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
1570 * src/pic16/glue.c: commented out some error producing lines
1571 * src/pic16/main.c: __config directives are commented out to stop
1572 gpasm complaining and test the linkage with gplink, _linkCmd and
1573 _asmCmd changed to be more gplink and gpasm friendly
1574 * src/pic16/peeph.def: peep rule 3 is commented out, since it
1575 produced an error when parsed, peep rule 12 is added to utilize
1576 movff, but it is commented out since the pCode does not support
1577 yet a command with 2 address arguments
1579 2003-05-18 <johan@balder>
1581 * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
1582 * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
1583 2003-05-17 Karl Bongers(apply patches from Martin Helmling)
1585 * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
1586 Added feature to script commands from file.
1588 2003-05-14 Bernhard Held <bernhard@bernhardheld.de>
1590 * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
1591 * src/SDCCutil.c: include ctype.h for win32
1593 2003-05-13 Bernhard Held <bernhard@bernhardheld.de>
1595 * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
1597 2003-05-12 Karl Bongers(apply development patches from Martin Helmling)
1599 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
1600 Fixed so you can set breakpoints prior to run, run does not stop
1601 on entry now. Add tbreak. Other enhancements and fixes for use
1604 2003-05-12 Borut Razem <borut.razem@siol.net>
1606 * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
1608 2003-05-11 Borut Razem <borut.razem@siol.net>
1610 * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
1611 the path of bin directory, so that PATH is the only env. variable, which has to be set
1612 in case of standard installation.
1613 * src/ds390/ds390.dsp: increased value of /Zm option to 1000
1614 * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
1615 * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
1617 2003-05-04 Bernhard Held <bernhard@bernhardheld.de>
1619 * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
1620 * support/regression/Makefile: inter-port-clean is no longer nesessary, the
1621 temp files are in the port dir; clean the gen/test directory when
1622 generating new test.c
1623 * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
1624 * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
1625 * support/regression/tests/zeropad.c: added
1627 2003-05-09 <johan@balder>
1629 * src/SDCCglue.c: fixed bug #597940
1631 2003-05-05 Karl Bongers(apply patches from Martin Helmling)
1633 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
1634 cache sfr, optimize next,step, fix off by one sourceline,
1635 support ddd list function.
1636 * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
1638 2003-05-04 Bernhard Held <bernhard@bernhardheld.de>
1640 * support/regression/HTMLgen.py: added compare_s2f()
1641 * support/regression/Makefile: redo 1.27
1642 * support/regression/generate-cases.py: redo 1.5
1644 2003-04-30 Bernhard Held <bernhard@bernhardheld.de>
1646 * support/regression/tests/float.c: workaround 33 bit hex constant
1647 * support/regression/tests/simplefloat.c: fix division for host
1649 2003-04-29 Scott Dattalo <scott@dattalo.com>
1651 * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim@jimhawkridge.uk.eu.org>
1652 that tame's the PIC's over-aggressive optimizer.
1654 2003-04-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1656 * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
1659 2003-04-29 Kevin Vigor <kevin@vigor.nu>
1661 Initial support for DS80C400. "Hello world" runs on TINIm400
1664 2003-04-28 Karl Bongers(apply patches for Martin Helmling)
1666 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
1667 * Some notes on ddd usage added in debugger/README
1668 Martin Helmling adding more features and fixes for ddd GUI debugger.
1669 Code added for nexti, stepi, up, down, and other adjustments.
1671 2003-04-28 Scott Dattalo <scott@DATTALO.COM>
1673 * src/pic/pCodepeep.c non-wildcard asmops are now handled
1674 * src/pic/peeph.def Added two rules to optimize carry manipulation
1675 * src/pic/* removed debug printfs
1677 2003-04-28 Bernhard Held <bernhard@bernhardheld.de>
1679 * debugger/mcs51/cmd.c: added header newalloc.h
1681 2003-04-26 Bernhard Held <bernhard@bernhardheld.de>
1683 * as/Makefile: new EXEEXT
1684 * as/z80/Makefile: remove trailing slash of BUILDIR
1685 * as/z80/clean.mk: new EXEEXT
1686 * Makefile.common.in: add to CFLAGS (and others), don't replace it
1687 * support/cpp2/Makefile.in: new EXEEXT
1688 * src/pic/glue.c (pic14emitRegularMap): fixed warning
1690 2003-04-24 Bernhard Held <bernhard@bernhardheld.de>
1692 Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
1693 EXEEXT was introduced to fix all related problems with targets
1694 "clean", "install" and "uninstall"; a couple of further flaws
1695 especially with "clean" have been fixed too
1696 * as/mcs51/Makefile.in
1701 * debugger/mcs51/Makefile.in
1702 * debugger/mcs51/clean.mk
1704 * link/z80/Makefile.in
1707 * packihx/Makefile.in
1709 * sim/ucsim/Makefile
1710 * sim/ucsim/clean.mk
1711 * sim/ucsim/avr.src/Makefile.in
1712 * sim/ucsim/avr.src/clean.mk
1713 * sim/ucsim/s51.src/Makefile.in
1714 * sim/ucsim/s51.src/clean.mk
1715 * sim/ucsim/xa.src/Makefile.in
1716 * sim/ucsim/xa.src/clean.mk
1717 * sim/ucsim/z80.src/Makefile.in
1718 * sim/ucsim/z80.src/clean.mk
1719 * sim/ucsim/main_in.mk
1720 * sim/ucsim/packages_in.mk
1721 * sim/ucsim/gui.src/Makefile.in
1722 * sim/ucsim/gui.src/serio.src/Makefile.in
1723 * sim/ucsim/gui.src/serio.src/clean.mk
1726 * support/cpp2/Makefile.in
1727 * support/cpp2/clean.mk
1728 * support/makebin/Makefile
1729 * support/makebin/clean.mk
1730 * support/scripts/sdcc_mingw32: --program-suffix no longer needed
1731 * doc/sdccman.lyx: --program-suffix no longer needed
1733 2003-04-23 Karl Bongers(apply patches for Martin Helmling)
1735 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
1736 Martin Helmling added support for ddd GUI debugger.
1737 Code added to display assembly, set variables, and other commands
1738 to interface to ddd.
1740 2003-04-23 Bernhard Held <bernhard@bernhardheld.de>
1742 * as/Makefile: fix target clean
1743 * as/clean.mk: fix target clean
1744 * as/z80/clean.mk: fix target clean
1746 2003-04-22 Bernhard Held <bernhard@bernhardheld.de>
1748 * Makefile.common.in: added @EXEEXT@
1749 * configure.in: removed all mingw32 stuff
1750 * configure: rebuilt from configure.in
1751 * doc/sdccman.lyx: updated section "installation"
1752 * support/scripts/sdcc_mingw32: adapted to configure
1753 * support/scripts/sdcc_cygwin_mingw32: added
1755 2003-04-22 Scott Dattalo <scott@dattalo.com>
1757 * src/pic Added object file support for the PIC port
1758 * src/pic Applied patch from Craig Franklin (this started the object file support)
1759 * src/regression Updated the PIC regression tests for object files
1761 2003-04-20 Borut Razem <borut.razem@siol.net>
1763 * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
1764 lklex.c: In function `getfid':
1765 lklex.c:203: warning: array subscript has type `char'
1766 * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
1767 with MSVC with global optimization enabled (probably an cl compiler bug ;-)
1768 * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
1769 stack handling macros
1771 2003-04-19 Borut Razem <borut.razem@siol.net>
1773 * "handling space characters in file path" task:
1774 * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
1775 * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
1776 * support/Util/MySystem.h: make it self-sufficient
1777 * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
1778 src/z80/main.c, sdcc/as/mcs51/lklex.c:
1779 handling space characters in file path
1780 * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
1781 (it will be used by assemblers, which have their own includes, e.g. gpasm)
1782 * support/Util/MySystem.c: handling space characters in executable's path
1784 2003-04-19 Bernhard Held <bernhard@bernhardheld.de>
1786 * as/z80/Makefile: fix permanent rebuild of z80
1787 * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
1788 * support/regression/tests/bitfields.c: added Johan's bitfields.c
1790 2003-04-18 Kevin Vigor <kevin@vigor.nu>
1792 * src/SDCCopt.c: add special case optimization to replace modulo by
1793 a power of two with a bitwise AND.
1795 2003-04-18 <johan@balder>
1797 * src/mcs51/gen.c (getFreePtr): fixed bug #635354
1799 2003-04-17 <johan@balder>
1801 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
1802 * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
1804 2003-04-13 Borut Razem <borut.razem@siol.net>
1806 * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
1807 * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
1808 fixed mingw problem in adl_NORMALIZE_PATH
1810 2003-04-12 Borut Razem <borut.razem@siol.net>
1812 * fixed "#pragma SAVE/RESTORE can not be nested":
1813 * src/SDCC.lex: reworked pragma handling functions
1814 * sdcc/src/SDCCglobl.h: reworked stack handling macros
1815 * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
1817 2003-04-12 Bernhard Held <bernhard@bernhardheld.de>
1819 * src/SDCCutil.c (pathEquivalent): defined but not used
1820 * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
1821 * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
1822 * configure: rebuilt from configure.in
1823 * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
1824 * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
1825 * device/include/Makefile.in: replace sdcc_datadir
1826 * device/lib/Makefile.in: replace sdcc_datadir
1827 * Makefile.common.in: add LDFLAGS from configure
1828 * packihx/Makefile.in: use LDFLAGS
1829 * src/Makefile.in: use LDFLAGS
1830 * support/cpp2/Makefile.in: add LDFLAGS from configure
1831 * support/makebin/Makefile: use LDFLAGS
1832 * .version: bumped version number to 2.3.5
1834 2003-04-12 Borut Razem <borut.razem@siol.net>
1836 * completed "different paths" task:
1837 * src/SDCCmacro.c: fixed bug in handling quotes
1838 * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
1839 * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
1841 2003-04-12 Bernhard Held <bernhard@bernhardheld.de>
1843 * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
1845 2003-04-11 kevin Vigor <kevin@vigor.nu>
1847 * ds390/gen.c ds390/peeph.def: fix bug 706781
1849 2003-04-11 Borut Razem <borut.razem@siol.net>
1851 * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
1853 2003-04-10 Scott Dattalo <scott@dattalo.com>
1855 * src/pic/* Applied the pointer-to-function patch from Steve Tell.
1856 * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
1857 set - this bit used to not be set...).
1858 * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated
1859 bad code in PIC Port
1860 * src/regression/and2.c added to test bug 609268
1861 * src/regression/Makefile added and2.c to regression test
1864 2003-04-08 <johan@CP255758-A>
1866 * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
1867 * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
1868 * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
1870 2003-04-07 Bernhard Held <bernhard@bernhardheld.de>
1872 * configure.in: fully support prefix, exec_prefix, datadir, docdir;
1874 * support/cpp2/Makefile.in: fix bug #487815
1875 * configure: rebuilt from configure.in
1876 * Makefile.common.in: docdir changed, new path suffixes
1877 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
1878 * sdcc_vc_in.h: reflect changes from sdccconf.h
1879 * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
1880 * src/SDCCutil.h: remove BINDIR hack
1881 * doc/sdccman.lyx: update new path hierarchy
1883 2003-04-06 Paul Stoffregen <paul@pjrc.com>
1885 * src/SDCCpeeph.c: added okToRemoveSLOC test
1887 2003-04-06 Paul Stoffregen <paul@pjrc.com>
1889 * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
1891 2003-04-06 Paul Stoffregen <paul@pjrc.com>
1893 * src/SDCCpeeph.c: added labelIsReturnOnly test
1894 * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
1896 2003-04-05 <johan@balder>
1898 * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
1899 * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
1900 * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
1901 * src/SDCCast.c: fixed a warning
1902 * src/SDCCast.h: fixed a warning
1903 * src/SDCCicode.c (operandFromAst): fixed a warning
1905 2003-04-04 <johan@balder>
1907 * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
1908 * src/SDCCast.c (decorateType): fixed bug #715076
1909 * src/SDCC.y: fixed bug #702907
1911 2003-04-03 <johan@balder>
1913 * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
1914 * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
1915 * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
1916 * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
1917 * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
1919 2003-04-03 Bernhard Held <bernhard@bernhardheld.de>
1921 * _decdptr.c: fix return values
1922 * _gptrget.c: fix return values
1923 * _gptrgetc.c: fix return values
1924 * _gptrput.c: fix return values
1925 * _mulint.c: fix return values
1926 * as/z80/Makefile: fix 'make -j' problem
1928 2003-04-02 Bernhard Held <bernhard@bernhardheld.de>
1930 * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
1931 * configure.in: big cleanup, updated to autoconf 2.5x
1932 * configure: rebuilt from configure.in
1933 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
1934 * sdcc_vc_in.h: reflect changes from sdccconf.h
1935 * doc/Makefile: fixed a flaw in "make install"
1937 2003-04-02 <johan@balder>
1939 * src/ds390/gen.c (genCmp): no comments
1940 * src/mcs51/gen.c (genCmp): no comments
1941 * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
1942 * src/SDCCast.c (ast_print): fixed the function type in --dumptree
1944 2003-04-01 Bernhard Held <bernhard@bernhardheld.de>
1946 * support/regression/generate-cases.py: place generated file in given sub directory
1947 * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
1948 * support/regression/Makefile: improvements for 'make -j';
1949 side effect: it's simpler and faster now
1951 2003-03-31 Borut Razem <borut.razem@siol.net>
1953 * src/z80/main.c: link-{port} and as-{port} defined without path
1954 * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
1956 2003-03-31 Bernhard Held <bernhard@bernhardheld.de>
1958 * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
1960 2003-03-30 Borut Razem <borut.razem@siol.net>
1962 * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
1963 changed type of list parameter to set
1964 * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
1965 * src/port.h: changed type of do_assemble() parameter to set
1966 * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
1967 sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
1968 definition of "cppoutfilename" macro with NULL value in preProcess()
1969 * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
1970 * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
1971 * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
1972 replaced with set *binPathSet
1973 * shash_add() deallocates the item, if allready exsists, before adding the new one
1974 * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
1976 2003-03-30 Scott Dattalo <scott@dattalo.com>
1978 * src/pic/gen.c: Commit patch from Steve Tell <tell@telltronics.org> that fixes
1979 a nested for loop bug in the PIC port
1980 * src/regression/nestfor.c: new regression test file Steve wrote to test nested
1983 2003-03-29 Bernhard Held <bernhard@bernhardheld.de>
1985 * support/Util/dbuf.h: remove C++ stuff to make it portable
1987 2003-03-28 Borut Razem <borut.razem@siol.net>
1989 * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
1990 literal strings in stringLiteral()
1991 * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
1992 * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
1995 2003-03-27 Paul Stoffregen <paul@pjrc.com>
1997 * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
1999 2003-03-26 <johan@balder>
2001 * src/mcs51/gen.c (saveRegisters): catched symbol abuse
2002 * src/ds390/gen.c (saveRegisters): catched symbol abuse
2003 * src/SDCCast.c (decorateType): fixed " -v < 3"
2005 2003-03-23 Bernhard Held <bernhard@bernhardheld.de>
2007 * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
2008 Added Lenny Story's debug infrastructure changes:
2009 * src/Makefile.in: added new files cdbFile.c and SDCCdebug.c
2010 * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
2011 * src/cdbFile.c: added
2012 * src/SDCCdebug.c: added
2013 * src/SDCCdebug.h: added
2014 * src/SDCCast.c (createFunction)
2015 * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
2016 * src/SDCCmain.c (parseCmdLine, main)
2017 * src/SDCCmem.c (redoStackOffsets)
2018 * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
2021 * src/avr/gen.c (genAVRCode)
2022 * src/ds390/gen.c (gen390Code)
2023 * src/mcs51/gen.c (gen51Code)
2024 * src/pic/gen.c (genpic14Code)
2025 * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
2026 * src/xa51/gen.c (genXA51Code)
2027 * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
2029 2003-03-22 Frieder Ferlemann <Frieder.Ferlemann@web.de>
2031 * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
2032 * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
2034 2003-03-22 <johan@balder>
2036 * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
2038 2003-03-21 Bernhard Held <bernhard@bernhardheld.de>
2040 * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
2041 * doc/cdbfileformat.lyx: added, written by Lenny Story
2042 * doc/Makefile: added cdbfileformat.lyx
2043 * doc/clean.mk: added cdbfileformat.lyx
2045 2003-03-20 Bernhard Held <bernhard@bernhardheld.de>
2047 * src/mcs51/peeph.def: fix bug #705773
2049 2003-03-20 <johan@balder>
2051 An sfr/sbit can have an "at #" AND an initializer
2052 * src/SDCCsymt.c (checkSClass):
2053 * src/SDCCmem.c (allocGlobal):
2054 * src/SDCCmem.c (allocLocal):
2055 * src/SDCCast.c (createBlock):
2057 2003-03-17 Bernhard Held <bernhard@bernhardheld.de>
2059 * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
2061 2003-03-16 <johan@balder>
2063 Undid the hackup of const and volatile, the problem is much bigger
2065 * src/SDCCast.c:1.171
2066 * src/SDCCglue.c:1.138
2067 * src/SDCCicode.c:1.146
2068 * src/SDCCsymt.c:1.150
2069 * src/SDCCval.c:1.65
2071 2003-03-15 Bernhard Held <bernhard@bernhardheld.de>
2073 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
2074 * src/ds390/gen.c (genAddrOf): fixed bug #704087
2076 2003-03-13 <johan@balder>
2078 Hackup const and volatile modifiers in type chains a bit:
2080 * src/SDCCast.c:1.169
2081 * src/SDCCglue.c:1.136
2082 * src/SDCCicode.c:1.143
2083 * src/SDCCsymt.c1.146
2084 * src/SDCCsymt.h1.59
2085 * src/SDCCval.c:1.63
2087 2003-03-12 <johan@balder>
2089 * src/SDCCBBlock.h: more LRH debugging junk
2090 * src/SDCCcflow.h: more LRH debugging junk
2091 * src/SDCCloop.c: more LRH debugging junk
2092 * src/SDCC.y (struct_declaration): fixed bug #697590
2093 * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
2094 * src/ds390/gen.c (aopForRemat): fixed bug #700031
2095 * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
2097 2003-03-11 Kevin Vigor <kevin@vigor.nu>
2098 * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
2099 test function names must now match exactly).
2100 * src/SDCCcse.c: added special case in findCheaperOp to allow
2101 extending a short integer. Makes less awful code for bug 700121 test case.
2103 2003-03-11 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2105 * as/mcs51/lkmain.c: Added ASlink-Warning to messages
2106 * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
2108 2003-03-11 Kevin Vigor <kevin@vigor.nu>
2110 * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
2111 actually called (operandsNotEqual() was called for all
2112 operandsNotEqualX tests).
2114 2003-03-11 Kevin Vigor <kevin@vigor.nu>
2116 * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
2117 with shorter literals. Fixes bug 700121.
2119 2003-03-11 <johan@balder>
2121 * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
2123 2003-03-11 Bernhard Held <bernhard@bernhardheld.de>
2125 * src/SDCCloop.c (mergeRegions): an evil beast is dead
2126 * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
2128 2003-03-10 Borut Razem <borut.razem@siol.net>
2130 * src/SDCCmain.c: pipe preprocessor's output
2131 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
2132 * sdcc_vc_in.h: define pclose as _pclose for WIN32
2133 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
2134 which closes all pipes in pipeSet set
2135 * src/SDCCset.c: free deleted item in function deleteSetItem()
2136 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
2137 moved from z80 to src subproject
2138 * .version: increased version number to 2.3.4
2140 2003-03-10 Bernhard Held <bernhard@bernhardheld.de>
2142 * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
2143 * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
2144 * support/regression/ports/xa51/spec.mk: fix typo
2146 2003-03-09 Bernhard Held <bernhard@bernhardheld.de>
2148 * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
2150 2003-03-09 Borut Razem <borut.razem@siol.net>
2152 * src/SDCCmain.c: pipe preprocessor's output
2153 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
2154 * sdcc_vc_in.h: define pclose as _pclose for WIN32
2155 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
2156 which closes all pipes in pipeSet set
2157 * src/SDCCset.c: free deleted item in function deleteSetItem()
2158 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
2159 moved from z80 to src subproject
2161 2003-03-09 Borut Razem <borut.razem@siol.net>
2163 * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
2164 * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
2165 * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
2166 * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
2167 * src/SDCCglobl.h: unification of WIN32 native definitions
2169 2003-03-09 Frieder Ferlemann <Frieder.Ferlemann@web.de>
2171 * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
2173 2003-03-08 Bernhard Held <bernhard@bernhardheld.de>
2175 * src/configure.in: check for endianess (even while cross-compiling)
2176 * src/configure: check for endianess (even while cross-compiling)
2177 * src/configure_in.h: check for endianess (even while cross-compiling)
2178 * src/avr/gen.c: remove old endianess stuff
2179 * src/mcs51/gen.c: remove old endianess stuff
2180 * src/ds390/gen.c: remove old endianess stuff
2181 * src/pic/gen.c: remove old endianess stuff
2182 * src/pic/genarith.c: remove old endianess stuff
2183 * src/pic/glue.c: fix endianess check
2184 * src/pic16/gen.c: remove old endianess stuff
2185 * src/pic16/genarith.c: remove old endianess stuff
2186 * src/pic16/glue.c: fix endianess check
2187 * src/xa51/gen.c: remove old endianess stuff
2188 * src/z80/gen.c: fix endianess check
2189 * src/SDCCglue.c: fix endianess check
2190 * src/ds390/peeph.def: fix bug 700036
2192 2003-03-08 Bernhard Held <bernhard@bernhardheld.de>
2194 * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
2195 * src/configure: find appropriate data-types on host for SDCC's int and long
2196 * src/configure.in: find appropriate data-types on host for SDCC's int and long
2197 * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
2198 * src/xa51/gen.c: use %d, not %ld for 4 byte variables
2200 2003-03-07 <johan@balder>
2203 some minor cleanups before the big shot
2204 OP_DEFS and OP_USES now use Kevin's protection
2205 new option --nolabelopt
2216 * src/ds390/ralloc.c:
2217 * src/mcs51/ralloc.c:
2219 * src/xa51/ralloc.c:
2222 2003-03-06 Bernhard Held <bernhard@bernhardheld.de>
2224 * src/pic/pcode.c (get_op): fix 64 bit warnings
2225 * src/pic/pcode.c (pCode2str): fix 64 bit warnings
2226 * src/SDCChasht.c (newHashTable): fix 64 bit warnings
2227 * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
2228 * support/regression/tests/malloc.c: fix 64 bit warnings
2230 2003-03-04 Bernhard Held <bernhard@bernhardheld.de>
2232 * src/mcs51/gen.c (genMinus): fixed bug 696436
2234 2003-03-02 Borut Razem <borut.razem@siol.net>
2236 * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
2238 2003-02-26 Bernhard Held <bernhard@bernhardheld.de>
2240 * configure.in: test for mkstemp
2241 * sdccconf_in.h: add HAVE_MKSTEMP
2243 2003-02-24 Bernhard Held <bernhard@bernhardheld.de>
2245 * device/include/ctype.h: removed warning while using --stack-auto
2246 * device/include/malloc.h: removed warning while using --stack-auto
2247 * device/include/string.h: removed warning while using --stack-auto
2249 2003-02-23 Borut Razem <borut.razem@siol.net>
2251 * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
2252 because NDEBUG is defined (see man assert)
2253 * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
2255 2003-02-23 Frieder Ferlemann <Frieder.Ferlemann@web.de>
2257 * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
2258 * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
2260 2003-02-18 Frieder Ferlemann <Frieder.Ferlemann@web.de>
2262 * src/SDCCpeeph.c: added peephole conditions testing for same arguments
2263 * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
2265 2003-02-18 <johan@balder>
2267 * as/mcs51/asmain.c (asmbl): module can start with a digit
2268 * as/z80/asmain.c (asmbl): module can start with a digit
2270 2003-02-16 Bernhard Held <bernhard@bernhardheld.de>
2272 * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
2273 * src/asm.c: fix pipe() for Mingw32
2275 2003-02-15 Bernhard Held <bernhard@bernhardheld.de>
2277 * src/SDCCglue.h: make tmpfileNameSet available for preOutName
2278 * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
2279 make -V work again; --c1mode reads now from stdin
2280 * doc/sdccman.lyx: added --c1mode
2281 * support/Util/SDCCerr.c: new messages for c1 mode
2282 * support/Util/SDCCerr.h: new messages for c1 mode
2283 * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
2285 2003-02-15 <johan@balder>
2287 * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
2289 2003-02-14 Bernhard Held <bernhard@bernhardheld.de>
2291 * doc/sdccman.lyx: Environment variables, -o and other minor things
2293 2003-02-14 <johan@balder>
2295 * src/xa51/main.c: before anyone really tries to use it :)
2297 * Install doc's in share/sdcc/doc
2298 * removed some obsolete files
2299 * Do a proper make distclean and uninstall
2300 M Makefile.common.in
2303 M device/include/Makefile.in
2304 M device/lib/Makefile.in
2307 M sim/ucsim/doc/Makefile.in
2310 R src/xa51/peeph.rul
2311 M support/cpp2/Makefile.in
2312 M support/makebin/Makefile
2315 2003-02-13 Bernhard Held <bernhard@bernhardheld.de>
2317 * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
2319 2003-02-10 Borut Razem <borut.razem@siol.net>
2321 * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
2322 support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
2323 * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
2324 device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
2325 support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
2326 src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
2327 src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
2328 src/z80/Makefile.bcc: Borland Makefile cleanup
2329 * as/z80/Makefile.bcc: Added Borland Makefile
2330 * support/cpp2/borland.h: Removed
2332 2003-02-10 Bernhard Held <bernhard@bernhardheld.de>
2334 * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js@convergence.de>
2335 * src/SDCC.lex: new pragma NOIV
2336 * src/SDCCglobl.h: new pragma NOIV
2337 * src/SDCCmem.c: new pragma NOIV
2339 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
2341 * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
2343 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
2345 * src/SDCCmain.c: signal handling is switched off by --debug
2346 * doc/Makefile: small fix for install; use clean.mk again
2347 * doc/clean.mk: clean *.pdf and *.html too
2349 2003-02-08 Bernhard Held <bernhard@bernhardheld.de>
2351 * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
2352 * device/lib/printfl.c: fix a ds390 bug by making it portable
2353 * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
2354 * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
2355 * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
2356 * debugger/mcs51/cmd.c: converted multi-line string literals
2357 * sim/ucsim/globals.cc: converted multi-line string literals
2358 * src/SDCCmain.c: introduced signal handler to remove temp files
2359 * doc/Makefile: small tweaks, implement clean
2360 * doc: removed generated files
2362 2003-02-05 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2364 * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied
2365 patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
2366 Address Record is not correctly generated for DS390."
2368 2003-02-02 Borut Razem <borut.razem@siol.net>
2370 * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
2371 * as/mcs51/asm.h: fixed compilation with Borland C
2372 * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
2373 * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
2374 * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
2375 * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
2376 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
2377 src/z80/Makefile.bcc: delete $(LIB) only if exist
2378 * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C
2380 2003-02-02 Bernhard Held <bernhard@bernhardheld.de>
2382 * device/include/malloc.h: introduced NULL
2383 * device/include/string.h: introduced NULL
2384 * device/include/stdlib.h: introduced NULL
2385 * device/lib/_memcpy.c: removed NULL
2386 * device/lib/_strcat.c: removed NULL
2387 * device/lib/_strchr.c: removed NULL
2388 * device/lib/_strcmp.c: removed NULL
2389 * device/lib/_strcpy.c: removed NULL
2390 * device/lib/_strcspn.c: removed NULL
2391 * device/lib/_strlen.c: removed NULL
2392 * device/lib/_strncat.c: removed NULL
2393 * device/lib/_strncmp.c: removed NULL
2394 * device/lib/_strncpy.c: removed NULL
2395 * device/lib/_strpbrk.c: removed NULL
2396 * device/lib/_strrchr.c: removed NULL
2397 * device/lib/_strspn.c: removed NULL
2398 * device/lib/_strstr.c: removed NULL
2399 * device/lib/_strtok.c: removed NULL
2400 * device/lib/malloc.c: removed NULL, include own header
2402 2003-02-02 <johan@balder>
2404 * 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
2405 * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
2406 * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
2407 * src/z80/gen.c (genZ80Code): added c-lines in asm comments
2408 * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
2409 * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
2411 2003-02-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2413 * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
2416 2003-02-01 <johan@balder>
2418 * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
2420 2003-01-31 <johan@CP255758-A>
2422 * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
2424 2003-01-30 <johan@balder>
2426 * src/SDCCBBlock.c: automatic bug detection
2427 * src/SDCCicode.c: automatic bug detection
2429 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2431 * src/SDCCglobl.h: now --xram-size 0 works
2432 * src/SDCCmain.c: now --xram-size 0 works
2434 2003-01-29 <johan@balder>
2436 * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
2438 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2440 * as/mcs51/aslink.h: Added options --xram-size and --code-size
2441 * as/mcs51/lkdata.c: Added options --xram-size and --code-size
2442 * as/mcs51/lkmain.c: Added options --xram-size and --code-size
2443 * as/mcs51/lkmem.c: Added options --xram-size and --code-size
2444 * src/SDCCglobl.h: Added options --xram-size and --code-size
2445 * src/SDCCmain.c: Added options --xram-size and --code-size
2447 2003-01-28 Bernhard Held <bernhard@bernhardheld.de>
2449 * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
2450 * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
2452 2003-01-27 <johan@balder>
2454 * src/SDCC.y: fixed bug #613764
2456 2003-01-26 <johan@balder>
2458 * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c"
2459 * src/SDCCsymt.h: fixed bug #673374
2460 * src/SDCCglue.c: fixed bug #661910
2461 * src/SDCCast.c: fixed bug #458099 and 673374
2463 2003-01-26 Bernhard Held <bernhard@bernhardheld.de>
2465 * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
2466 * as/mcs51/strcmpi.h: added
2467 * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
2468 * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
2469 * as/mcs51/asmain.c: strcmpi -> as_strcmpi
2470 * as/mcs51/assym.c: strcmpi -> as_strcmpi
2471 * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
2472 * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
2473 * as/mcs51/lksym.c: strcmpi -> as_strcmpi
2474 * as/mcs51/Makefile.aslink: new module strcmpi
2475 * as/mcs51/Makefile.asx8051: new module strcmpi
2476 * as/mcs51/Makefil.bcc: new module strcmpi
2477 * as/mcs51/Makefile.in: new module strcmpi
2478 * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
2480 2003-01-26 <johan@balder>
2482 * src/SDCCglue.c: reverted back to 1.124
2483 * src/SDCCast.c: reverted back to 1.156
2484 * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
2486 2003-01-25 <johan@balder>
2488 * src/SDCCglue.c: A better fix for bug #661910
2489 * src/SDCCast.c: A better fix for bug #661910
2490 * src/SDCCglue.c (emitRegularMap): That was a little too efficient
2492 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
2494 * src/Makefile.in: remove spawn.o
2495 * src/SDCCmain.c: remove spawn.h
2496 * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
2497 * src/spawn.c: removed
2498 * src/spawn.h: removed
2499 * support/regression/ports/ds390/spec.mk: link with -r
2501 2003-01-24 <johan@CP255758-A>
2503 * src/ds390/gen.c (aopOp): fixed bug #667458
2504 * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
2505 * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
2506 (createIvalCharPtr): an ival doesn't always have a storage class anymore
2508 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
2510 * src/mcs51/peeph.def: better assembler identation by Frieder
2511 * src/mcs51/gen.c: better assembler identation by Frieder
2513 2003-01-22 Bernhard Held <bernhard@bernhardheld.de>
2515 * as/z80/string.h: removed for gcc 3.2
2516 * support/makebin/makebin.c: #include <string.h> for gcc 3.2
2517 * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
2519 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
2521 * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
2522 * src/SDCCpeeph.c (replaceRule): fix bug #663503
2523 * support/regression/Makefile: separate temp files for ports
2524 * support/regression/generate-cases.py: separate temp files for ports
2525 * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
2526 * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
2528 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
2530 * moved tinitalk to device/examples/ds390
2532 2003-01-14 Bernhard Held <bernhard@bernhardheld.de>
2534 * as/mcs51/lkmem.c: rflag is for DS390
2535 * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
2536 * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
2537 (linkEdit): move mem- and map-files the same way as ihx-files
2538 * src/z80/main.c (_setDefaultOptions): removed --generic
2539 * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
2540 * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
2541 * src/pic/glue.c (picglue): --c1mode works again
2542 * src/pic16/glue.c (pic16glue): --c1mode works again
2543 * src/asm.c (printCLine): fix #660034
2545 2003-01-13 Bernhard Held <bernhard@bernhardheld.de>
2547 * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
2548 * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
2549 * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
2550 * as/mcs51/lkmem (summary): better fix for sp problem
2551 * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
2552 * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
2553 * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
2554 remove --stack-after-data
2556 2003-01-12 Bernhard Held <bernhard@bernhardheld.de>
2558 * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
2559 * src/SDCCutil.c (join): ugly bug: missing '\0'
2560 * as/mcs51/lkmem.c (summary): sp on address 7 is safe
2562 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
2564 * src/SDCCmain.c (assemble, linkEdit): preparations for -o
2566 * src/pic/main.c (_asmCmd): gpasm supports -o
2567 * src/z80/main.c: more general macros
2568 * device/lib/Makefile.in: remove intermediate files
2570 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
2572 * .version: Bumped version number to 2.3.3
2573 * src/SDCCBBlock.c: new option -o
2574 * src/SDCCglobl.h: new option -o
2575 * src/SDCCglue.c: new option -o
2576 * src/SDCCmain.c: new option -o
2577 * src/asm.c: new option -o
2578 * src/ds390/main.c: new option -o
2579 * src/pic/glue.c: new option -o
2580 * src/pic/pcode.c: new option -o
2581 * src/pic/ralloc.c: new option -o
2582 * src/pic16/glue.c: new option -o
2583 * src/pic16/pcode.c: new option -o
2584 * src/pic16/ralloc.c: new option -o
2585 * src/z80/main.c: new option -o
2586 * device/lib/Makefile.in: use -o
2587 * support/regression/ports/ds390/spec.mk: use -o
2588 * support/regression/ports/gbz80/spec.mk: use -o
2589 * support/regression/ports/mcs51/spec.mk: use -o
2590 * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
2591 * support/regression/ports/z80/spec.mk: use -o
2592 * support/regression/ports/ucz80/spec.mk: use -o
2593 * support/regression/ports/xa51/spec.mk: use -o
2594 * support/regression/fwk/lib/timeout.c: fix usage string
2596 2003-01-09 Bernhard Held <bernhard@bernhardheld.de>
2597 * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
2599 2003-01-07 <johan@balder>
2601 * src/SDCCast.c (decorateType): fixed bug #600035
2603 2003-01-07 Bernhard Held <bernhard@bernhardheld.de>
2604 * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
2605 * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
2606 * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
2607 * src/pic/pcode.c: outcommented unused variable to remove warnings
2608 * src/pic/ralloc.c: outcommented unused variable to remove warnings
2610 2003-01-06 <karl@turbobit.com>
2611 * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
2614 2003-01-06 <johan@balder>
2616 * src/SDCCicode.c: fixed array add
2618 2002-01-05 Bernhard Held <bernhard@bernhardheld.de>
2619 * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
2620 * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
2622 2003-01-04 <johan@balder>
2624 * src/SDCCval.c (getNelements): fixed the initialized array of structures
2626 2002-12-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2627 * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
2629 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
2630 * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
2631 * support/regression/tests/bug-524697.c: fit mem usage into 8032
2633 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
2634 * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
2636 2002-12-27 Bernhard Held <bernhard@bernhardheld.de>
2637 * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
2639 2002-12-26 Bernhard Held <bernhard@bernhardheld.de>
2640 * src/mcs51/main.c: removed {bindir}{sep} from aslink
2642 2002-12-10 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2644 * in \sdcc\as\mcs51\ changed these files in order to create an
2645 aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
2646 lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the
2647 following files to include the previous two files: aslink.dsp,
2648 Makefile.aslink, Makefile.bcc, and Makefile.in.
2650 * Changed \sdcc\src\SDCCmain.c so it creates files with extension
2651 .adb instead of .cdb
2653 2002-11-09 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2655 * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
2656 value from option --iram-size.
2658 2002-09-20 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2660 * \sdcc\as\mcs51\lklist.c: added boundary check before using
2663 2002-09-18 <wiml@hhhh.org>
2665 * SDCClrange.h: exposed setFromRange() and setToRange()
2666 * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
2667 packRegsForAccUse() (bug 542397)
2668 * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
2669 multiple times and emitting the fetch operations more than once
2670 added aopGetUsesAcc() function to allow binary operators to
2671 fetch their operands in the correct order; made genMinus() emit
2672 compact code for X = LITERAL - Y
2674 2002-09-00 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2675 * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
2676 sprintf() in line 1267.
2678 2002-09-08 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2679 * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
2682 2002-09-04 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2683 Changes to aslink (All the changes are marked with 'JCF'):
2685 * \sdcc\as\mcs51\aslink.h: External definition of sflag and
2688 * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
2689 area BSEG. Also moves, if possible, the DATA area down into the internal
2690 ram so more space is available.
2692 * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
2695 * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
2696 not bytes. Function summary() which creates a memory usage summary
2697 file with extension .mem. Reports of overlaping stack and small stack
2698 size. If the space for the stack is less than 16 bytes aslink trows a
2701 * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
2702 the 8051. Option 'y' for memory summary output file.
2704 Changes to sdcc (All the changes are marked with 'JCF'):
2706 * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
2708 * \sdcc\src\SDCCglue.c: If a register bank is used, creates an
2709 overlaying area for it (uses RegBankUsed[4]).
2711 * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
2712 bank zero as used by default. By default aslink locates the stack
2713 (equivalent to --stack-after-data). Pass option 'y' to aslink for
2714 the creation of the .mem file. Delegates the allocation of data area
2715 to aslink (it is not longer 0x30 by default). If --stack-loc passes
2716 the begining of the stack area to aslink.
2718 * \sdcc\src\SDCCmem.c: If a register bank is used, marks it so
2719 glue() in SDCCglue.c creates an area for it.
2721 2002-09-03 Borut Razem <borut.razem@siol.net>
2722 * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
2723 sdcc/src/pic/glue.c:
2724 introduced atexit() handler for teporay files removal in case of
2725 errors, assertions, ...
2727 2002-08-29 Borut Razem <borut.razem@siol.net>
2728 * sdcc/support/cpp2/auto-host_vc_in.h:
2729 re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
2730 with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
2731 Maybe there is a similar problem with BORLANDC? It should be checked!
2733 * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
2734 corrected improper use of assert: the assignment to clr variable was done inside the assert.
2735 In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
2736 was not executed, and the compiler (cl) launched a warning:
2737 ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
2739 2002-08-28 Bernhard Held <bernhard@bernhardheld.de>
2740 * src/SDCCglue.c (printIvalArray): iterative calculation of array length
2742 2002-08-28 Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
2743 * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
2745 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
2746 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
2747 sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
2748 sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
2749 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
2750 sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
2751 sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
2752 - added Release configuration in VS projects
2753 - review of compiler an linker options
2754 - VC .exe files are generated in bin_vc directory, not to interfere
2755 with binaries generated from other projects (cygwin, mingw, bcc ...)
2757 * sdcc/src/yacc.dsp: added
2759 * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
2760 added - genarate sdcc_vc.h using sdcc_vc_in.h as template
2761 and insert the version number definitions from .version
2763 * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
2765 * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
2766 added - genarate auto-host.h using auto-host_vc_in.h as template
2769 removed from CVS, generated automatically
2771 2002-08-25 Bernhard Held <bernhard@bernhardheld.de>
2772 * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
2774 2002-08-11 Borut Razem <borut.razem@siol.net>
2775 * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
2777 2002-08-10 Borut Razem <borut.razem@siol.net>
2778 * src/SDCCmain.c (main):
2779 file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
2780 platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
2781 The consequence was that some temporary files were not removed.
2784 unification of code in functions tempfilename() and tempfile():
2785 function tempnam() is defined in Visual Studio 6.0 and .NET
2787 * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
2789 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
2790 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
2791 - removed compiler command line option /WX: Treats all warnings as errors
2792 - update a list of source files, included into the project
2794 * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
2795 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
2796 changed project type to Generic Project so that can be correcly converted to VS.NET project
2798 * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
2800 * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
2802 * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
2804 * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
2805 added return 0 statements after assert() to make compiler happy
2807 * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
2808 added newline in the def file to keep MSC compiler satisfied
2810 * sdcc/src/z80/gen.c:
2811 - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
2812 so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
2813 - solved MSC error in function aopDump()
2815 * sdcc_vc.h: define PREFIX as "\\sdcc"
2817 2002-07-18 Bernhard Held <bernhard@bernhardheld.de>
2818 * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
2820 2002-06-22 Scott Dattalo <scott@dattalo.com>
2821 * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
2822 - Rewrote the register banking algorithm.
2823 - Added pCode live-range analysis to registers (for now, only non-used and
2824 singly-used registers optimized away)
2826 * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
2828 * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
2830 2002-05-10 Scott Dattalo <scott@dattalo.com>
2831 * src/pic/*: Added support for multiplication. Fixed many,many bugs.
2833 2002-04-22 Michael Hope <michaelh@vroom>
2835 * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
2837 * configure.in (DD_COPT): Added include support required for gbdk.
2839 * .version: Bumped version number just to increase it.
2841 * src/SDCCmain.c: Added -nostdinc to the default options.
2843 2002-04-15 Michael Hope <michaelh@vroom>
2845 * device/lib/z80/printf.c (sprintf): Added.
2847 * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
2849 * src/z80/peeph.def: Added transpose redundent load rule.
2851 * src/z80/main.c: Added force callee saves for jaune.
2853 * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
2855 * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
2857 2002-03-28 Johan Knol <johan@balder>
2859 * src/SDCCval.c: fixed bug #532436
2861 2002-03-14 Scott Dattalo <scott@dattalo.com>
2863 Added "char *Processor" field to the port structure.
2866 Added -p option. Allows port dependent processor to be specified.
2869 Initialized the new field char *Processor field to NULL in all ports
2872 Compiler generated registers for interrupt context saving
2873 were not getting allocated.
2875 2002-03-16 Sandeep Dutta <sandeep@ddi.com>
2878 Fixed left shift. Will promote the left side of a left shift
2879 if a) left shifting more than size of operand or b) when assigned
2880 to something size > size of left side
2882 2002-03-14 Scott Dattalo <scott@dattalo.com>
2884 tons of changes. Register allocation has been
2885 rewritten. Added customization for the various PICs. Flow
2886 analysis is restructured. ...
2892 Added. device.c is a PIC port hack to accomodate variations
2895 2002-03-13 Michael Hope <michaelh@vroom>
2897 * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah.
2899 2002-03-04 johanknol <johanknol@manik>
2901 * /src/SDCCval.c: fixed
2903 const unsigned char arr[][2] = { { 0, 1 } };
2904 t18.c:1: error: Initializer element is not constant
2906 2002-03-04 bela <bela@manik>
2908 * /device/include/mcs51reg.h:
2909 ds89c420 register definition update
2911 2002-03-03 <johan@FRIJA>
2913 * support/Util/SDCCerr.c: did something, but don't no why anymore
2915 * support/regression/tests/bug-524691.c: made it a little less shy
2917 * src/SDCCast.c (decorateType): fixed bug #524697
2919 * src/SDCCast.c: made some lineno improvements
2921 * src/SDCCval.c (getNelements): changed warning to error
2923 * src/SDCCglue.c (printIvalArray): changed warning to error
2925 * src/SDCCicode.c: fixed a warning for mingw
2927 * src/SDCCast.c (decorateType): fixed the << promotion for ops
2929 * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
2931 2002-03-02 Sandeep Dutta <sandeep@ddi.com>
2933 * src/ds390/peeph.def:
2934 Added some more peephole rules
2936 * src/ds390/gen.c: Various fixes & enhancements
2938 * src/SDCClrange.c, src/SDCClrange.h:
2939 functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
2941 * src/ds390/ralloc.c:
2942 various fixes & enhancements (ds390) specific
2944 * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
2945 Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
2948 * sdcc/src/SDCCcse.c: Better fix for bug # 514308
2950 2002-03-02 <johan@FRIJA>
2952 * src/SDCCast.c (decorateType): fixed bug #524708
2954 * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
2956 * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
2958 2002-03-01 Michael Hope <michaelh@vroom>
2960 * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
2962 * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
2964 2002-03-01 <johan@FRIJA>
2966 * src/SDCCglue.c (printIvalPtr): fixed bug #524211
2968 * src/SDCCast.c (decorateType): fixed bug #524209
2970 * src/SDCCval.c (valNot): fixed bug #524195
2972 2002-02-26 <johan@balder>
2974 * src/xa51/gen.c: fixed a warning
2976 * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
2978 * src/SDCCast.c (decorateType): fixed bug #522534
2980 2002-02-23 <johan@balder>
2982 * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
2984 2002-02-22 <johan@balder>
2986 * src/SDCCast.c: fixed bug #514865
2988 * src/SDCCy.c ("SDCC.y"): fixed bug #516625
2990 2002-02-21 Sandeep Dutta <sandeep@ddi.com>
2992 * sdcc/src/SDCCloop.c:
2993 Previous fix was not good. basic blocks that have "break" or "return" are
2994 not really partof a loop , but live ranges used in these blocks should
2995 be live thru the entire loop, so set partOfLoop but don't add them to
2998 2002-02-21 <johan@FRIJA>
3000 * src/SDCCcse.c: fixed bug #514308
3002 2002-02-20 Sandeep Dutta <sandeep@ddi.com>
3005 Fixed BUG #519583. If a conditional block ended in a return/break
3006 statement inside a loop, it was not being considered part of the loop.
3008 * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
3010 2002-02-10 Karl Bongers <karl@turbobit.com>
3013 Fixed up SDCDB debugger somewhat. Updated debugger/README
3014 with lots of comments and notes.
3016 * device/examples/test2.c:
3017 Fix bug, "red" variable not being initialized(compiler complained).
3019 * device/examples/Makefile, examples/test3.c:
3020 Add Makefile in device/examples folder, compiles test3.c
3021 for use as a multiple module SDCDB test case.
3023 * sim/ucsim/cmd.src/cmdset.cc:
3024 Took out debug printfs in ucsim "next" command.
3027 Karl and Johan start ucsim XA support. Most dissassembly working,
3028 about 75% emulation done(plenty of work remaining).
3030 * sim/ucsim/z80.src:
3031 Add Z80 support to ucsim, add test-ucz80 regression test,
3032 notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
3033 Notice z80 compiler fails on examples/test3.c/crc code.
3035 2002-01-30 Sandeep Dutta <sandeep@ddi.com>
3037 * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
3038 Added support for --parms-in-bank1
3040 * src/ds390/peeph.def:
3041 added a few more peephole optimzations
3044 1) added __builtin_inp & __builtin_outp used to read in data of given length
3045 from a memory mapped port
3046 2) added __builtin_memcmp
3047 3) added __builtin_swapw swap bytes of a short
3049 * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
3050 1) handle multiple send & receives from register bank1
3051 2) ralloc can now allocate DPTR1 to some liveRanges
3053 * src/SDCCsymt.c, src/SDCCsymt.h:
3054 changes to handle multiple sends & receives
3057 added some pointer arithmetic optimization
3060 added some pointer arithmetic optimizations but not stable yet so not
3061 called from anywhere (will get this working shortly)
3063 * src/SDCCopt.c: fixed for multiple sends & receives
3066 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
3067 2) preprocessing done AFTER port->finalizeoptions . This allows ports to
3068 set preprocessor defines (depending on options)
3070 * src/SDCCicode.c, src/SDCCicode.h:
3071 changes made to handle multiple sends & receives
3074 Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
3076 * src/SDCCcse.c, src/SDCCcse.h:
3077 added function findbackward def (to be used in upcoming optimization)
3079 * src/SDCCcflow.c, src/SDCCcflow.h:
3080 added function returnAtEnd - to determine if a basic block terminates with
3083 * src/SDCCast.c, src/SDCCast.h:
3084 added option parms-in-bank1
3086 * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
3087 * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
3088 * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
3089 adjusted for --parms-in-bank1 option
3091 * device/include/string.h:
3092 donot redefine "reentrant" keyword
3094 * device/include/ds80c390.h: Added some more SFRs
3096 2002-01-28 Bernhard Held <bernhard@bernhardheld.de>
3098 * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
3100 2002-01-26 Bernhard Held <bernhard@bernhardheld.de>
3102 * src/SDCCast.c (funcOfType): fix usage of double --float-reent
3104 2002-01-22 Bernhard Held <bernhard@bernhardheld.de>
3106 * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
3108 2002-01-18 Paul Stoffregen <paul@pjrc.com>
3110 * Added --xram-movc option
3112 2002-01-13 Bernhard Held <bernhard@bernhardheld.de>
3114 * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
3116 2002-01-11 Johan Knol
3118 * Added math lib of Jesus Calvino-Fraga
3120 2002-01-08 Bernhard Held <bernhard@bernhardheld.de>
3122 * src/SDCCmain.c (processFile): fix processing of ../../src.c
3123 * support/regression/Makefile: new target test-mcs51-stack-auto
3124 * support/regression/ports/mcs51-stack-auto/spec.mk: added
3126 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
3128 * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
3130 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
3132 * support/regression/ports/mcs51/support.c: correct setup of timer / UART
3134 2002-01-03 Bernhard Held <bernhard@bernhardheld.de>
3136 * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
3138 * src/SDCCglue.h: add definition for printIvalChar()
3140 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
3142 * src/SDCCast.c: fix #498138 by Johan
3144 * src/SDCCglue.c: fix #498138 by Johan
3146 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
3148 * support/regression/Makefile: fix clean
3150 * support/regression/ports/ds390/support.c: fix transmission of last character
3152 2001-12-29 Sandeep Dutta <sandeep@ddi.com>
3154 * /sdcc/src/ds390/gen.c:
3155 a) improved computing address of stack variable
3156 b) took out some #if 0 code
3157 c) improved parmBytes adjustment
3158 d) improved genPlusIncr & genMinusIncr
3159 e) genCmp could generate bad code (when left assigned to DPTR)
3160 f) Fixed bug in hasInc
3162 * /sdcc/src/ds390/ralloc.c:
3163 a) packRegsForSupport could mess up live information (Fixed)
3164 b) packRegsDPTRuse could be incorrect for left & right shift
3166 * /sdcc/src/mcs51/ralloc.c:
3167 packRegsForSupport could mess up the live information (Fixed)
3169 * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
3171 * /sdcc/src/SDCCast.c:
3172 can reverse a loop even if function call is present as long
3173 as the loop control variable is local & is not passed as parameter
3175 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
3177 * /sdcc/ChangeLog: *** empty log message ***
3179 * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
3180 More builtin function additions for TININative
3182 * /sdcc/src/ds390/ralloc.c:
3183 Had broken the regression testsuite
3185 * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
3187 * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
3188 Added funcattr hasStackParms will be set for reentrant functions when there
3189 are paramteres on the stack, this helps in minimizing frame pointer generation
3190 typeFromStr can handle function pointers now
3192 * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
3193 *** empty log message ***
3195 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
3197 * /src/ds390/gen.c, /src/ds390/main.c:
3198 More builtin function additions for TININative
3200 * /src/ds390/ralloc.c:
3201 Had broken the regression testsuite
3203 * /src/SDCCast.c: Fixed a bug in dumptree
3205 * /src/SDCCsymt.c, /src/SDCCsymt.h:
3206 Added funcattr hasStackParms will be set for reentrant functions when there
3207 are paramteres on the stack, this helps in minimizing frame pointer generation
3208 typeFromStr can handle function pointers now
3210 * /doc/builtins.txt, /doc/TININative.txt:
3211 *** empty log message ***
3214 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
3216 * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
3217 ALPHA version for -mTININative
3219 * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
3220 updated to reflect changes in the port structure
3223 added function do_assemble (similar to do_link) if non-null this function
3224 will be called to do assembly (-mTININative) requires a multi command
3226 added function genAssemblerEnd will be called to generate assembler Epilogue
3229 added _JavaNative to debug info printing
3231 * /src/SDCCmain.c: added option --tini-libid
3232 added port->do_assemble function (-mTININative) has a multi command assemble
3234 * /src/SDCCglue.c: Disabled "constExpr" check
3235 added port->genAssemblerEnd function
3237 * /src/SDCCglobl.h: Added option --tini-libid value
3240 tookout optimizeCompare from the header (has no external references)
3242 * /src/SDCCast.c: made one more function "static"
3244 2001-12-23 Michael Hope <michaelh@juju.net.nz>
3246 * src/z80/mappings.i: Added z80asm support.
3248 * src/z80/main.c: Added z80asm support on --asm=z80asm
3250 * src/z80/gen.c: Fixed asm portability issues.
3252 * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support.
3254 * src/SDCCglue.c (printExterns): Added global/extern split.
3256 2001-12-17 Bernhard Held <bernhard@bernhardheld.de>
3258 * support/regression/Makefile: added test for mcs51 model large
3260 * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
3262 * support/regression/ports/gbz80/spec.mk: added -mgbz80
3264 2001-12-05 Michael Hope <michaelh@juju.net.nz>
3266 * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201.
3268 1904-01-06 Michael Hope <michaelh@juju.net.nz>
3270 * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
3272 * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
3274 2001-12-02 Bernhard Held <bernhard@bernhardheld.de>
3276 * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
3278 * support/regression/tests/simplefloat.c: Port to mcs51.
3280 2001-11-25 Michael Hope <michaelh@juju.net.nz>
3281 * support/regression/tests/bug-485362.c: Added.
3283 * support/regression/tests/simplefloat.c (testDivNearOne): Added.
3285 * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
3287 * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
3289 * src/z80/gen.c (aopDump): Added a dump function.
3291 2001-11-25 Bernhard Held <bernhard@bernhardheld.de>
3292 * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
3294 * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
3296 * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
3298 * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
3300 * sim/ucsim/s51.src/uc390cl.h: Work in progress.
3302 * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
3304 * support/regression/fwk/lib/testfwk.c: Run with tinibios.
3306 * support/regression/ports/mcs51/spec.mk: Fine tuninig.
3308 * support/regression/ports/ds390/support.c: Use tinibios.
3310 * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
3312 2001-11-23 Michael Hope <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
3314 * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
3315 (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
3317 * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
3319 * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
3321 2001-11-18 Michael Hope <michaelh@juju.net.nz>
3323 * src/z80/gen.c (genCmp): Fixed compare on unsigned.
3325 * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
3326 (packRegsForIYUse): Created and optimised.
3328 2001-11-07 Michael Hope <michaelh@juju.net.nz>
3330 * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
3331 2001-11-18 Bernhard Held <bernhard@bernhardheld.de>
3333 * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
3335 * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
3337 * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
3339 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
3341 * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
3343 * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
3345 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
3347 * sdcc/sim/ucsim/globals.cc: New: IXRAM.
3349 * sdcc/sim/ucsim/stypes.h: New: IXRAM.
3351 * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
3353 2001-11-07 Michael Hope <michaelh@juju.net.nz>
3355 * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
3356 (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
3357 (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
3359 * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
3361 * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
3362 (genNotFloat): Added.
3363 (genUminusFloat): Added.
3365 * device/lib/z80/Makefile: Added floating pt stubs.
3367 * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
3369 * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
3371 * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
3373 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
3375 * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
3377 * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
3379 * sdcc/support/regression/Makefile: Add port ds390.
3381 * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
3383 * sdcc/support/regression/ports/z80/spec.mk: Minor change.
3385 * sdcc/support/regression/ports/ds390/spec.mk: Added.
3387 * sdcc/support/regression/ports/ds390/support.c: Added.
3389 * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
3391 * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
3393 * sdcc/support/regression/fwk/lib/timeout.c: Paste.
3395 2001-11-04 Michael Hope <michaelh@juju.net.nz>
3397 * device/include/malloc.h: Added z80 and gbz80 support.
3399 * device/lib/gbz80/heap.s: Added.
3401 * device/lib/z80/heap.s: Added.
3403 * device/lib/malloc.c: Added z80 and gbz80 support.
3405 * support/regression/tests/malloc.c (testMalloc): Added.
3407 * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
3409 * support/regression/tests/bug-478094.c: Added.
3411 * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
3413 2001-11-04 Bernhard Held <bernhard@bernhardheld.de>
3415 * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
3417 * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
3419 * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
3421 * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
3423 * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
3425 2001-11-04 Michael Hope <michaelh@juju.net.nz>
3427 * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
3429 2001-11-03 Michael Hope <michaelh@juju.net.nz>
3431 * support/regression/tests/bug-477927.c: Added.
3433 * src/z80/peeph.def: Added minor rules.
3435 * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
3437 * src/z80/peeph.def: Added jump optimisation modification.
3439 2001-11-01 Michael Hope <michaelh@juju.net.nz>
3441 * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
3443 2001-10-30 Michael Hope <michaelh@juju.net.nz>
3445 * support/regression/tests/funptrs.c: Added.
3447 2001-10-29 Michael Hope <michaelh@juju.net.nz>
3449 * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
3451 2001-10-28 Michael Hope <michaelh@juju.net.nz>
3453 * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
3455 * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
3457 * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
3458 (movLeft2ResultLong): Created.
3460 * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
3461 (joinPushes): Added. Joins two char pushes into a word push.
3463 2001-10-27 Michael Hope <michaelh@juju.net.nz>
3465 * support/cpp2/Makefile.in (install): Added creation of dest dir.
3467 * support/makebin/Makefile (install): Added creation of dest dir.
3469 2001-10-24 Karl Bongers <karl@turbobit.com>
3471 * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
3473 2001-10-21 Michael Hope <michaelh@juju.net.nz>
3475 * src/z80/ralloc.c: Turned off faulty pack for one use.
3477 * src/z80/peeph-gbz80.def: Removed redundent restart options.
3479 * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
3481 2001-10-21 Bernhard Held <bernhard@bernhardheld.de>
3483 * support/regression/Makefile: Improved clean
3485 * support/regression/ports/gbz80/spec.mk: Added clean
3487 * support/regression/ports/host/spec.mk: Added clean
3489 * support/regression/ports/z80/spec.mk: Added clean
3491 * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
3493 * support/regression/ports/mcs51/timeout.c: little improvements
3495 2001-10-17 Michael Hope <michaelh@juju.net.nz>
3497 * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
3499 * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
3501 * support/regression/generate-cases.py: Fixed up to use function pts correctly.
3503 2001-10-16 Bernhard Held <bernhard@bernhardheld.de>
3505 * support/regression/port/mcs51/spec.mk: add timeout for uCsim
3507 * support/regression/port/mcs51/timeout.c: add timeout for uCsim
3509 2001-10-13 Michael Hope <michaelh@juju.net.nz>
3510 * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
3512 * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
3514 * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
3516 * src/mcs51/main.c (_linkCmd): Added bin path to command.
3518 * src/SDCCmain.c (initValues): Added support for when it it called just to link.
3520 * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
3522 * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
3524 * support/regression/tests/longor.c: Added.
3526 2001-10-11 Bernhard Held <bernhard@bernhardheld.de>
3528 * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
3530 * as/mcs51/aslink.h: define PATH_MAX
3532 * as/mcs51/asm.h: define PATH_MAX
3534 * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
3536 * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
3538 * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
3540 * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
3542 * src/SDCCglobl.h: define PATH_MAX
3544 * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
3546 * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
3548 2001-10-11 Michael Hope <michaelh@juju.net.nz>
3550 * src/z80/gen.c (gencjneshort): Fixed
3552 * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
3554 2001-10-09 Michael Hope <michaelh@juju.net.nz>
3556 * support/regression/tests/bug-469671.c: Added.
3558 * src/z80/gen.c (shiftIntoPair): Fixed up warning.
3560 2001-10-08 Michael Hope <michaelh@juju.net.nz>
3562 * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
3564 * src/z80/gen.c (genPlus): Fixed to work with extended stack. Also fixed genMinus, genCmp. genUMinus is still left.
3566 2001-10-08 Bernhar Held <bernhard@bernhardheld.de>
3568 * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
3570 * src/device/lib/_mulint.c : removed hint: nooverlay bug
3572 * src/device/lib/_mullong.c : removed hint: nooverlay bug
3574 * src/device/lib/_divuint.c : removed hint: nooverlay bug
3576 * src/device/lib/_divulong.c: removed hint: nooverlay bug
3578 * src/device/lib/_moduint.c : removed hint: nooverlay bug
3580 * src/device/lib/_modulong.c: removed hint: nooverlay bug
3582 2001-10-07 Michael Hope <michaelh@juju.net.nz>
3584 * 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.
3586 * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all. Fixes runtime segfault.
3588 * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
3590 2001-10-07 <johan@FRIJA>
3592 * device/lib/gets.c (gets): fixed the return value.
3594 2001-10-06 Michael Hope <michaelh@juju.net.nz>
3595 * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
3597 * 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.
3599 * 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.
3601 * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
3603 * src/pic/gen.c: Removed Safe_strdup.
3605 * configure.in: Added option to enable libgc support.
3607 * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
3608 (bitVectUnion): Optimised.
3609 (bitVectIntersect): Optimised.
3610 (bitVectBitsInCommon): Optimised.
3611 (bitVectCplAnd): Optimised.
3613 * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it. Sigh.
3615 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
3617 * src/SDCCmain.c: distinguish between assembler debug and plain options
3619 * src/avr/main.c: remove standard assembler options
3621 * src/ds390/main.c: remove standard assembler options
3623 * src/mcs51/main.c: remove standard assembler options
3625 * src/port.h: removed "PENDING" comment
3627 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
3629 * src/device/lib/_mulint.c : new, with assember functions
3631 * src/device/lib/_mullong.c : new, with assember functions
3633 * src/device/lib/_divuint.c : with assember functions
3635 * src/device/lib/_divsint.c : with assember functions
3637 * src/device/lib/_divulong.c: with assember functions
3639 * src/device/lib/_divslong.c: with assember functions
3641 * src/device/lib/_moduint.c : with assember functions
3643 * src/device/lib/_modsint.c : with assember functions
3645 * src/device/lib/_modulong.c: with assember functions
3647 * src/device/lib/_modslong.c: with assember functions
3649 * src/device/lib/libint.lib: replaced _muluint.c and _mulsint.c by _mulint.c
3651 * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
3653 * src/device/lib/Makefile.in: replaced _muluint.c and _mulsint.c by _mulint.c
3654 replaced _mululong.c and _mulslong.c by _mullong.c
3656 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
3658 * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
3660 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
3662 * src/SDCCglue.c: test, if win32api is available for MINGW
3664 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
3666 * src/SDCCsymt.c: no more _modifier in printTypeChain()
3667 * support/regression/tests/driverstruct.c: REENTRANT for mcs51
3668 * support/regression/ports/gbz80/spec.mk: removed GENERIC
3669 * support/regression/ports/host/spec.mk: removed GENERIC
3670 * support/regression/ports/mcs51/spec.mk: removed GENERIC
3671 * support/regression/ports/z80/spec.mk: removed GENERIC
3673 2001-10-01 Michael Hope <michaelh@juju.net.nz>
3675 * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
3677 * support/regression/tests/bug-467035.c: Created.
3679 2001-10-01 <johan@FRIJA>
3681 * src/SDCC.y: fixed bug #466586 part 1
3683 2001-10-01 Johan Knol <johan.knol@iduna.nl>
3685 * SDCCicode.c: z80 has no generic pointers
3686 * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
3688 2001-09-30 Michael Hope <michaelh@juju.net.nz>
3690 * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
3692 2001-09-29 Michael Hope <michaelh@juju.net.nz>
3694 * Makefile (sdcc-libs): Added makebin to the list of standard targets.
3696 * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
3698 2001-09-25 Michael Hope <michaelh@juju.net.nz>
3700 * configure.in: Fixed up so that ucsim is only configured once.
3702 * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
3704 * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
3705 (getPathDifference): As above.
3707 * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory. Fixed case where pre-processing only.
3709 * src/SDCCglue.c (tempfilename): Added function for pre-processor.
3711 2001-09-23 Michael Hope <michaelh@juju.net.nz>
3712 * .version: Updated to 2.3.1
3714 * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
3715 Added copyright header.
3717 * src/SDCCmain.c: Shifted various functions into SDCCutil.c
3718 (assemble): Added support for macro based assembler commands.
3719 (linkEdit): Added support for macro based linker commands.
3720 (preProcess): Changed the pre-processor to use macros.
3721 (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
3722 (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
3724 * device/lib/z80/crt0.s: Added module name for debugging.
3726 2001-09-20 Michael Hope <michaelh@juju.net.nz>
3728 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
3730 * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
3732 * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
3734 * src/Makefile.in: Added SDCCmacro and SDCCutil
3736 2001-09-19 Michael Hope <michaelh@juju.net.nz>
3738 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
3740 2001-09-16 <johan@FRIJA>
3742 * 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.
3744 2001-09-15 <johan@FRIJA>
3746 * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
3747 * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
3749 2001-09-11 <johan@FRIJA>
3751 * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
3753 2001-09-10 Michael Hope <michaelh@juju.net.nz>
3755 * support/regression/tests/bug-460444.c: Added test case.
3757 * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
3758 (genCast): Added justification for all of the asserts.
3760 2001-09-10 Bernhard Held <bernhard@bernhardheld.de>
3762 * support/regression/support.c: _xdata replaced by xdata
3764 * support/regression/spec.mk: removed _generic
3766 2001-09-09 Michael Hope <michaelh@juju.net.nz>
3768 * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
3770 * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
3771 (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
3773 * src/z80/peeph.def: Added a rule to optimise shift then compare.
3775 * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
3777 * support/regression/tests/bug-460010.c: Added test case.
3779 * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
3781 2001-09-09 Bernhard Held <bernhard@bernhardheld.de>
3783 * support/regression/Makefile: inter-port-clean adjusted for mcs51
3785 * support/regression/testfwk.c: removed workaround for bug #436344
3787 * support/regression/tests/bp.c: use less memory with mcs51
3789 * support/regression/tests/bug-441448.c: use less memory
3791 * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
3793 * support/regression/collate-results.py: typo
3795 2001-09-08 Michael Hope <michaelh@juju.net.nz>
3797 * support/regression/tests/fetchoverlap.c: Added new test case.
3799 * support/regression/tests/bp.c: Added new test case.
3801 * support/regression/tests/bug-448984.c: Added new test case.
3803 * support/regression/tests/pow2shifts.c: Added new test case.
3805 * src/z80/gen.c: Turned off the noise it normally generates for the release.
3806 (genlshTwo): Fixed right shift for count > 8.
3808 * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
3810 2001-09-08 <johan@FRIJA>
3812 * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
3814 2001-09-07 <johan@FRIJA>
3816 * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
3818 * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
3820 2001-09-06 <johan@FRIJA>
3822 * src/SDCC.y: this could be a fix for bug #458744 (1.37)
3823 * bernhard noted me at this: "() equals to (void)" (1.38)
3825 2001-09-05 <johan@FRIJA>
3827 * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
3829 2001-09-04 <johan@FRIJA>
3831 * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
3834 2001-09-04 Paul Stoffregen <paul@pjrc.com>
3836 * pragma noinduction broke memcpy on mcs51 large model. Moved it inside z80 optimization
3838 2001-09-03 Michael Hope <michaelh@juju.net.nz>
3840 * link/z80/aslink.h: Fixed path for PATH_MAX
3842 2001-09-02 Michael Hope <michaelh@juju.net.nz>
3844 * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
3846 * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
3848 * support/regression/tests/uminus.c: Added a test for the unary minus operator.
3850 * 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.
3852 2001-09-01 Michael Hope <michaelh@juju.net.nz>
3854 * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
3855 (genCmp): Fixed up genCmp for the GB with longs.
3857 * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
3859 * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
3861 * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
3863 * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
3865 2001-08-30 Paul Stoffregen <paul@pjrc.com>
3867 * added peepholes 223 to 231 to mcs51 port. These improve code when using large model.
3869 2001-08-30 Michael Hope <michaelh@juju.net.nz>
3871 * 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.
3873 * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
3875 2001-08-29 Michael Hope <michaelh@juju.net.nz>
3877 * link/z80/aslink.h: Fixed long file name support. Is now based off PATH_MAX instead of a constant.
3879 * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
3881 2001-08-30 Bernhard Held <bernhard@bernhardheld.de>
3883 * sim/ucsim/configure: little improvement of Cygwin-detection
3884 * sim/ucsim/configure.in: little improvement of Cygwin-detection
3885 * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
3886 * support/regression/tests/bug-221100.c: small changes for mcs51
3887 * support/regression/tests/bug-221168.c: small changes for mcs51
3888 * support/regression/tests/bug-227710.c: small changes for mcs51
3889 * support/regression/tests/staticinit.c: small changes for mcs51
3890 * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
3891 * as/mcs51/lklex.c: accept everything as symbol name in rel-files, bug fix ID 452601
3892 * as/mcs51/lksym.c: accept everything as symbol name in rel-files, bug fix ID 452601