1 2003-04-22 Scott Dattalo <scott@dattalo.com>
3 * src/pic Added object file support for the PIC port
4 * src/pic Applied patch from Craig Franklin (this started the object file support)
5 * src/regression Updated the PIC regression tests for object files
7 2003-04-20 Borut Razem <borut.razem@siol.net>
9 * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
10 lklex.c: In function `getfid':
11 lklex.c:203: warning: array subscript has type `char'
12 * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
13 with MSVC with global optimization enabled (probably an cl compiler bug ;-)
14 * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
17 2003-04-19 Borut Razem <borut.razem@siol.net>
19 * "handling space characters in file path" task:
20 * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
21 * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
22 * support/Util/MySystem.h: make it self-sufficient
23 * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
24 src/z80/main.c, sdcc/as/mcs51/lklex.c:
25 handling space characters in file path
26 * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
27 (it will be used by assemblers, which have their own includes, e.g. gpasm)
28 * support/Util/MySystem.c: handling space characters in executable's path
30 2003-04-19 Bernhard Held <bernhard@bernhardheld.de>
32 * as/z80/Makefile: fix permanent rebuild of z80
33 * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
34 * support/regression/tests/bitfields.c: added Johan's bitfields.c
36 2003-04-18 Kevin Vigor <kevin@vigor.nu>
38 * src/SDCCopt.c: add special case optimization to replace modulo by
39 a power of two with a bitwise AND.
41 2003-04-18 <johan@balder>
43 * src/mcs51/gen.c (getFreePtr): fixed bug #635354
45 2003-04-17 <johan@balder>
47 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
48 * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
50 2003-04-13 Borut Razem <borut.razem@siol.net>
52 * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
53 * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
54 fixed mingw problem in adl_NORMALIZE_PATH
56 2003-04-12 Borut Razem <borut.razem@siol.net>
58 * fixed "#pragma SAVE/RESTORE can not be nested":
59 * src/SDCC.lex: reworked pragma handling functions
60 * sdcc/src/SDCCglobl.h: reworked stack handling macros
61 * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
63 2003-04-12 Bernhard Held <bernhard@bernhardheld.de>
65 * src/SDCCutil.c (pathEquivalent): defined but not used
66 * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
67 * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
68 * configure: rebuilt from configure.in
69 * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
70 * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
71 * device/include/Makefile.in: replace sdcc_datadir
72 * device/lib/Makefile.in: replace sdcc_datadir
73 * Makefile.common.in: add LDFLAGS from configure
74 * packihx/Makefile.in: use LDFLAGS
75 * src/Makefile.in: use LDFLAGS
76 * support/cpp2/Makefile.in: add LDFLAGS from configure
77 * support/makebin/Makefile: use LDFLAGS
78 * .version: bumped version number to 2.3.5
80 2003-04-12 Borut Razem <borut.razem@siol.net>
82 * completed "different paths" task:
83 * src/SDCCmacro.c: fixed bug in handling quotes
84 * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
85 * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
87 2003-04-12 Bernhard Held <bernhard@bernhardheld.de>
89 * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
91 2003-04-11 kevin Vigor <kevin@vigor.nu>
93 * ds390/gen.c ds390/peeph.def: fix bug 706781
95 2003-04-11 Borut Razem <borut.razem@siol.net>
97 * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
99 2003-04-10 Scott Dattalo <scott@dattalo.com>
101 * src/pic/* Applied the pointer-to-function patch from Steve Tell.
102 * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
103 set - this bit used to not be set...).
104 * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated
106 * src/regression/and2.c added to test bug 609268
107 * src/regression/Makefile added and2.c to regression test
110 2003-04-08 <johan@CP255758-A>
112 * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
113 * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
114 * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
116 2003-04-07 Bernhard Held <bernhard@bernhardheld.de>
118 * configure.in: fully support prefix, exec_prefix, datadir, docdir;
120 * support/cpp2/Makefile.in: fix bug #487815
121 * configure: rebuilt from configure.in
122 * Makefile.common.in: docdir changed, new path suffixes
123 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
124 * sdcc_vc_in.h: reflect changes from sdccconf.h
125 * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
126 * src/SDCCutil.h: remove BINDIR hack
127 * doc/sdccman.lyx: update new path hierarchy
129 2003-04-06 Paul Stoffregen <paul@pjrc.com>
131 * src/SDCCpeeph.c: added okToRemoveSLOC test
133 2003-04-06 Paul Stoffregen <paul@pjrc.com>
135 * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
137 2003-04-06 Paul Stoffregen <paul@pjrc.com>
139 * src/SDCCpeeph.c: added labelIsReturnOnly test
140 * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
142 2003-04-05 <johan@balder>
144 * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
145 * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
146 * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
147 * src/SDCCast.c: fixed a warning
148 * src/SDCCast.h: fixed a warning
149 * src/SDCCicode.c (operandFromAst): fixed a warning
151 2003-04-04 <johan@balder>
153 * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
154 * src/SDCCast.c (decorateType): fixed bug #715076
155 * src/SDCC.y: fixed bug #702907
157 2003-04-03 <johan@balder>
159 * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
160 * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
161 * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
162 * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
163 * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
165 2003-04-03 Bernhard Held <bernhard@bernhardheld.de>
167 * _decdptr.c: fix return values
168 * _gptrget.c: fix return values
169 * _gptrgetc.c: fix return values
170 * _gptrput.c: fix return values
171 * _mulint.c: fix return values
172 * as/z80/Makefile: fix 'make -j' problem
174 2003-04-02 Bernhard Held <bernhard@bernhardheld.de>
176 * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
177 * configure.in: big cleanup, updated to autoconf 2.5x
178 * configure: rebuilt from configure.in
179 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
180 * sdcc_vc_in.h: reflect changes from sdccconf.h
181 * doc/Makefile: fixed a flaw in "make install"
183 2003-04-02 <johan@balder>
185 * src/ds390/gen.c (genCmp): no comments
186 * src/mcs51/gen.c (genCmp): no comments
187 * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
188 * src/SDCCast.c (ast_print): fixed the function type in --dumptree
190 2003-04-01 Bernhard Held <bernhard@bernhardheld.de>
192 * support/regression/generate-cases.py: place generated file in given sub directory
193 * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
194 * support/regression/Makefile: improvements for 'make -j';
195 side effect: it's simpler and faster now
197 2003-03-31 Borut Razem <borut.razem@siol.net>
199 * src/z80/main.c: link-{port} and as-{port} defined without path
200 * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
202 2003-03-31 Bernhard Held <bernhard@bernhardheld.de>
204 * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
206 2003-03-30 Borut Razem <borut.razem@siol.net>
208 * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
209 changed type of list parameter to set
210 * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
211 * src/port.h: changed type of do_assemble() parameter to set
212 * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
213 sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
214 definition of "cppoutfilename" macro with NULL value in preProcess()
215 * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
216 * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
217 * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
218 replaced with set *binPathSet
219 * shash_add() deallocates the item, if allready exsists, before adding the new one
220 * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
222 2003-03-30 Scott Dattalo <scott@dattalo.com>
224 * src/pic/gen.c: Commit patch from Steve Tell <tell@telltronics.org> that fixes
225 a nested for loop bug in the PIC port
226 * src/regression/nestfor.c: new regression test file Steve wrote to test nested
229 2003-03-29 Bernhard Held <bernhard@bernhardheld.de>
231 * support/Util/dbuf.h: remove C++ stuff to make it portable
233 2003-03-28 Borut Razem <borut.razem@siol.net>
235 * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
236 literal strings in stringLiteral()
237 * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
238 * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
241 2003-03-27 Paul Stoffregen <paul@pjrc.com>
243 * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
245 2003-03-26 <johan@balder>
247 * src/mcs51/gen.c (saveRegisters): catched symbol abuse
248 * src/ds390/gen.c (saveRegisters): catched symbol abuse
249 * src/SDCCast.c (decorateType): fixed " -v < 3"
251 2003-03-23 Bernhard Held <bernhard@bernhardheld.de>
253 * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
254 Added Lenny Story's debug infrastructure changes:
255 * src/Makefile.in: added new files cdbFile.c and SDCCdebug.c
256 * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
257 * src/cdbFile.c: added
258 * src/SDCCdebug.c: added
259 * src/SDCCdebug.h: added
260 * src/SDCCast.c (createFunction)
261 * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
262 * src/SDCCmain.c (parseCmdLine, main)
263 * src/SDCCmem.c (redoStackOffsets)
264 * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
267 * src/avr/gen.c (genAVRCode)
268 * src/ds390/gen.c (gen390Code)
269 * src/mcs51/gen.c (gen51Code)
270 * src/pic/gen.c (genpic14Code)
271 * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
272 * src/xa51/gen.c (genXA51Code)
273 * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
275 2003-03-22 Frieder Ferlemann <Frieder.Ferlemann@web.de>
277 * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
278 * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
280 2003-03-22 <johan@balder>
282 * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
284 2003-03-21 Bernhard Held <bernhard@bernhardheld.de>
286 * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
287 * doc/cdbfileformat.lyx: added, written by Lenny Story
288 * doc/Makefile: added cdbfileformat.lyx
289 * doc/clean.mk: added cdbfileformat.lyx
291 2003-03-20 Bernhard Held <bernhard@bernhardheld.de>
293 * src/mcs51/peeph.def: fix bug #705773
295 2003-03-20 <johan@balder>
297 An sfr/sbit can have an "at #" AND an initializer
298 * src/SDCCsymt.c (checkSClass):
299 * src/SDCCmem.c (allocGlobal):
300 * src/SDCCmem.c (allocLocal):
301 * src/SDCCast.c (createBlock):
303 2003-03-17 Bernhard Held <bernhard@bernhardheld.de>
305 * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
307 2003-03-16 <johan@balder>
309 Undid the hackup of const and volatile, the problem is much bigger
311 * src/SDCCast.c:1.171
312 * src/SDCCglue.c:1.138
313 * src/SDCCicode.c:1.146
314 * src/SDCCsymt.c:1.150
317 2003-03-15 Bernhard Held <bernhard@bernhardheld.de>
319 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
320 * src/ds390/gen.c (genAddrOf): fixed bug #704087
322 2003-03-13 <johan@balder>
324 Hackup const and volatile modifiers in type chains a bit:
326 * src/SDCCast.c:1.169
327 * src/SDCCglue.c:1.136
328 * src/SDCCicode.c:1.143
329 * src/SDCCsymt.c1.146
333 2003-03-12 <johan@balder>
335 * src/SDCCBBlock.h: more LRH debugging junk
336 * src/SDCCcflow.h: more LRH debugging junk
337 * src/SDCCloop.c: more LRH debugging junk
338 * src/SDCC.y (struct_declaration): fixed bug #697590
339 * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
340 * src/ds390/gen.c (aopForRemat): fixed bug #700031
341 * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
343 2003-03-11 Kevin Vigor <kevin@vigor.nu>
344 * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
345 test function names must now match exactly).
346 * src/SDCCcse.c: added special case in findCheaperOp to allow
347 extending a short integer. Makes less awful code for bug 700121 test case.
349 2003-03-11 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
351 * as/mcs51/lkmain.c: Added ASlink-Warning to messages
352 * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
354 2003-03-11 Kevin Vigor <kevin@vigor.nu>
356 * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
357 actually called (operandsNotEqual() was called for all
358 operandsNotEqualX tests).
360 2003-03-11 Kevin Vigor <kevin@vigor.nu>
362 * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
363 with shorter literals. Fixes bug 700121.
365 2003-03-11 <johan@balder>
367 * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
369 2003-03-11 Bernhard Held <bernhard@bernhardheld.de>
371 * src/SDCCloop.c (mergeRegions): an evil beast is dead
372 * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
374 2003-03-10 Borut Razem <borut.razem@siol.net>
376 * src/SDCCmain.c: pipe preprocessor's output
377 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
378 * sdcc_vc_in.h: define pclose as _pclose for WIN32
379 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
380 which closes all pipes in pipeSet set
381 * src/SDCCset.c: free deleted item in function deleteSetItem()
382 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
383 moved from z80 to src subproject
384 * .version: increased version number to 2.3.4
386 2003-03-10 Bernhard Held <bernhard@bernhardheld.de>
388 * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
389 * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
390 * support/regression/ports/xa51/spec.mk: fix typo
392 2003-03-09 Bernhard Held <bernhard@bernhardheld.de>
394 * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
396 2003-03-09 Borut Razem <borut.razem@siol.net>
398 * src/SDCCmain.c: pipe preprocessor's output
399 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
400 * sdcc_vc_in.h: define pclose as _pclose for WIN32
401 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
402 which closes all pipes in pipeSet set
403 * src/SDCCset.c: free deleted item in function deleteSetItem()
404 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
405 moved from z80 to src subproject
407 2003-03-09 Borut Razem <borut.razem@siol.net>
409 * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
410 * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
411 * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
412 * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
413 * src/SDCCglobl.h: unification of WIN32 native definitions
415 2003-03-09 Frieder Ferlemann <Frieder.Ferlemann@web.de>
417 * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
419 2003-03-08 Bernhard Held <bernhard@bernhardheld.de>
421 * src/configure.in: check for endianess (even while cross-compiling)
422 * src/configure: check for endianess (even while cross-compiling)
423 * src/configure_in.h: check for endianess (even while cross-compiling)
424 * src/avr/gen.c: remove old endianess stuff
425 * src/mcs51/gen.c: remove old endianess stuff
426 * src/ds390/gen.c: remove old endianess stuff
427 * src/pic/gen.c: remove old endianess stuff
428 * src/pic/genarith.c: remove old endianess stuff
429 * src/pic/glue.c: fix endianess check
430 * src/pic16/gen.c: remove old endianess stuff
431 * src/pic16/genarith.c: remove old endianess stuff
432 * src/pic16/glue.c: fix endianess check
433 * src/xa51/gen.c: remove old endianess stuff
434 * src/z80/gen.c: fix endianess check
435 * src/SDCCglue.c: fix endianess check
436 * src/ds390/peeph.def: fix bug 700036
438 2003-03-08 Bernhard Held <bernhard@bernhardheld.de>
440 * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
441 * src/configure: find appropriate data-types on host for SDCC's int and long
442 * src/configure.in: find appropriate data-types on host for SDCC's int and long
443 * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
444 * src/xa51/gen.c: use %d, not %ld for 4 byte variables
446 2003-03-07 <johan@balder>
449 some minor cleanups before the big shot
450 OP_DEFS and OP_USES now use Kevin's protection
451 new option --nolabelopt
462 * src/ds390/ralloc.c:
463 * src/mcs51/ralloc.c:
468 2003-03-06 Bernhard Held <bernhard@bernhardheld.de>
470 * src/pic/pcode.c (get_op): fix 64 bit warnings
471 * src/pic/pcode.c (pCode2str): fix 64 bit warnings
472 * src/SDCChasht.c (newHashTable): fix 64 bit warnings
473 * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
474 * support/regression/tests/malloc.c: fix 64 bit warnings
476 2003-03-04 Bernhard Held <bernhard@bernhardheld.de>
478 * src/mcs51/gen.c (genMinus): fixed bug 696436
480 2003-03-02 Borut Razem <borut.razem@siol.net>
482 * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
484 2003-02-26 Bernhard Held <bernhard@bernhardheld.de>
486 * configure.in: test for mkstemp
487 * sdccconf_in.h: add HAVE_MKSTEMP
489 2003-02-24 Bernhard Held <bernhard@bernhardheld.de>
491 * device/include/ctype.h: removed warning while using --stack-auto
492 * device/include/malloc.h: removed warning while using --stack-auto
493 * device/include/string.h: removed warning while using --stack-auto
495 2003-02-23 Borut Razem <borut.razem@siol.net>
497 * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
498 because NDEBUG is defined (see man assert)
499 * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
501 2003-02-23 Frieder Ferlemann <Frieder.Ferlemann@web.de>
503 * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
504 * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
506 2003-02-18 Frieder Ferlemann <Frieder.Ferlemann@web.de>
508 * src/SDCCpeeph.c: added peephole conditions testing for same arguments
509 * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
511 2003-02-18 <johan@balder>
513 * as/mcs51/asmain.c (asmbl): module can start with a digit
514 * as/z80/asmain.c (asmbl): module can start with a digit
516 2003-02-16 Bernhard Held <bernhard@bernhardheld.de>
518 * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
519 * src/asm.c: fix pipe() for Mingw32
521 2003-02-15 Bernhard Held <bernhard@bernhardheld.de>
523 * src/SDCCglue.h: make tmpfileNameSet available for preOutName
524 * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
525 make -V work again; --c1mode reads now from stdin
526 * doc/sdccman.lyx: added --c1mode
527 * support/Util/SDCCerr.c: new messages for c1 mode
528 * support/Util/SDCCerr.h: new messages for c1 mode
529 * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
531 2003-02-15 <johan@balder>
533 * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
535 2003-02-14 Bernhard Held <bernhard@bernhardheld.de>
537 * doc/sdccman.lyx: Environment variables, -o and other minor things
539 2003-02-14 <johan@balder>
541 * src/xa51/main.c: before anyone really tries to use it :)
543 * Install doc's in share/sdcc/doc
544 * removed some obsolete files
545 * Do a proper make distclean and uninstall
549 M device/include/Makefile.in
550 M device/lib/Makefile.in
553 M sim/ucsim/doc/Makefile.in
557 M support/cpp2/Makefile.in
558 M support/makebin/Makefile
561 2003-02-13 Bernhard Held <bernhard@bernhardheld.de>
563 * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
565 2003-02-10 Borut Razem <borut.razem@siol.net>
567 * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
568 support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
569 * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
570 device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
571 support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
572 src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
573 src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
574 src/z80/Makefile.bcc: Borland Makefile cleanup
575 * as/z80/Makefile.bcc: Added Borland Makefile
576 * support/cpp2/borland.h: Removed
578 2003-02-10 Bernhard Held <bernhard@bernhardheld.de>
580 * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js@convergence.de>
581 * src/SDCC.lex: new pragma NOIV
582 * src/SDCCglobl.h: new pragma NOIV
583 * src/SDCCmem.c: new pragma NOIV
585 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
587 * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
589 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
591 * src/SDCCmain.c: signal handling is switched off by --debug
592 * doc/Makefile: small fix for install; use clean.mk again
593 * doc/clean.mk: clean *.pdf and *.html too
595 2003-02-08 Bernhard Held <bernhard@bernhardheld.de>
597 * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
598 * device/lib/printfl.c: fix a ds390 bug by making it portable
599 * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
600 * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
601 * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
602 * debugger/mcs51/cmd.c: converted multi-line string literals
603 * sim/ucsim/globals.cc: converted multi-line string literals
604 * src/SDCCmain.c: introduced signal handler to remove temp files
605 * doc/Makefile: small tweaks, implement clean
606 * doc: removed generated files
608 2003-02-05 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
610 * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied
611 patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
612 Address Record is not correctly generated for DS390."
614 2003-02-02 Borut Razem <borut.razem@siol.net>
616 * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
617 * as/mcs51/asm.h: fixed compilation with Borland C
618 * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
619 * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
620 * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
621 * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
622 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
623 src/z80/Makefile.bcc: delete $(LIB) only if exist
624 * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C
626 2003-02-02 Bernhard Held <bernhard@bernhardheld.de>
628 * device/include/malloc.h: introduced NULL
629 * device/include/string.h: introduced NULL
630 * device/include/stdlib.h: introduced NULL
631 * device/lib/_memcpy.c: removed NULL
632 * device/lib/_strcat.c: removed NULL
633 * device/lib/_strchr.c: removed NULL
634 * device/lib/_strcmp.c: removed NULL
635 * device/lib/_strcpy.c: removed NULL
636 * device/lib/_strcspn.c: removed NULL
637 * device/lib/_strlen.c: removed NULL
638 * device/lib/_strncat.c: removed NULL
639 * device/lib/_strncmp.c: removed NULL
640 * device/lib/_strncpy.c: removed NULL
641 * device/lib/_strpbrk.c: removed NULL
642 * device/lib/_strrchr.c: removed NULL
643 * device/lib/_strspn.c: removed NULL
644 * device/lib/_strstr.c: removed NULL
645 * device/lib/_strtok.c: removed NULL
646 * device/lib/malloc.c: removed NULL, include own header
648 2003-02-02 <johan@balder>
650 * 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
651 * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
652 * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
653 * src/z80/gen.c (genZ80Code): added c-lines in asm comments
654 * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
655 * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
657 2003-02-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
659 * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
662 2003-02-01 <johan@balder>
664 * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
666 2003-01-31 <johan@CP255758-A>
668 * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
670 2003-01-30 <johan@balder>
672 * src/SDCCBBlock.c: automatic bug detection
673 * src/SDCCicode.c: automatic bug detection
675 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
677 * src/SDCCglobl.h: now --xram-size 0 works
678 * src/SDCCmain.c: now --xram-size 0 works
680 2003-01-29 <johan@balder>
682 * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
684 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
686 * as/mcs51/aslink.h: Added options --xram-size and --code-size
687 * as/mcs51/lkdata.c: Added options --xram-size and --code-size
688 * as/mcs51/lkmain.c: Added options --xram-size and --code-size
689 * as/mcs51/lkmem.c: Added options --xram-size and --code-size
690 * src/SDCCglobl.h: Added options --xram-size and --code-size
691 * src/SDCCmain.c: Added options --xram-size and --code-size
693 2003-01-28 Bernhard Held <bernhard@bernhardheld.de>
695 * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
696 * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
698 2003-01-27 <johan@balder>
700 * src/SDCC.y: fixed bug #613764
702 2003-01-26 <johan@balder>
704 * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c"
705 * src/SDCCsymt.h: fixed bug #673374
706 * src/SDCCglue.c: fixed bug #661910
707 * src/SDCCast.c: fixed bug #458099 and 673374
709 2003-01-26 Bernhard Held <bernhard@bernhardheld.de>
711 * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
712 * as/mcs51/strcmpi.h: added
713 * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
714 * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
715 * as/mcs51/asmain.c: strcmpi -> as_strcmpi
716 * as/mcs51/assym.c: strcmpi -> as_strcmpi
717 * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
718 * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
719 * as/mcs51/lksym.c: strcmpi -> as_strcmpi
720 * as/mcs51/Makefile.aslink: new module strcmpi
721 * as/mcs51/Makefile.asx8051: new module strcmpi
722 * as/mcs51/Makefil.bcc: new module strcmpi
723 * as/mcs51/Makefile.in: new module strcmpi
724 * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
726 2003-01-26 <johan@balder>
728 * src/SDCCglue.c: reverted back to 1.124
729 * src/SDCCast.c: reverted back to 1.156
730 * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
732 2003-01-25 <johan@balder>
734 * src/SDCCglue.c: A better fix for bug #661910
735 * src/SDCCast.c: A better fix for bug #661910
736 * src/SDCCglue.c (emitRegularMap): That was a little too efficient
738 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
740 * src/Makefile.in: remove spawn.o
741 * src/SDCCmain.c: remove spawn.h
742 * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
743 * src/spawn.c: removed
744 * src/spawn.h: removed
745 * support/regression/ports/ds390/spec.mk: link with -r
747 2003-01-24 <johan@CP255758-A>
749 * src/ds390/gen.c (aopOp): fixed bug #667458
750 * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
751 * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
752 (createIvalCharPtr): an ival doesn't always have a storage class anymore
754 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
756 * src/mcs51/peeph.def: better assembler identation by Frieder
757 * src/mcs51/gen.c: better assembler identation by Frieder
759 2003-01-22 Bernhard Held <bernhard@bernhardheld.de>
761 * as/z80/string.h: removed for gcc 3.2
762 * support/makebin/makebin.c: #include <string.h> for gcc 3.2
763 * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
765 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
767 * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
768 * src/SDCCpeeph.c (replaceRule): fix bug #663503
769 * support/regression/Makefile: separate temp files for ports
770 * support/regression/generate-cases.py: separate temp files for ports
771 * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
772 * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
774 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
776 * moved tinitalk to device/examples/ds390
778 2003-01-14 Bernhard Held <bernhard@bernhardheld.de>
780 * as/mcs51/lkmem.c: rflag is for DS390
781 * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
782 * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
783 (linkEdit): move mem- and map-files the same way as ihx-files
784 * src/z80/main.c (_setDefaultOptions): removed --generic
785 * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
786 * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
787 * src/pic/glue.c (picglue): --c1mode works again
788 * src/pic16/glue.c (pic16glue): --c1mode works again
789 * src/asm.c (printCLine): fix #660034
791 2003-01-13 Bernhard Held <bernhard@bernhardheld.de>
793 * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
794 * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
795 * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
796 * as/mcs51/lkmem (summary): better fix for sp problem
797 * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
798 * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
799 * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
800 remove --stack-after-data
802 2003-01-12 Bernhard Held <bernhard@bernhardheld.de>
804 * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
805 * src/SDCCutil.c (join): ugly bug: missing '\0'
806 * as/mcs51/lkmem.c (summary): sp on address 7 is safe
808 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
810 * src/SDCCmain.c (assemble, linkEdit): preparations for -o
812 * src/pic/main.c (_asmCmd): gpasm supports -o
813 * src/z80/main.c: more general macros
814 * device/lib/Makefile.in: remove intermediate files
816 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
818 * .version: Bumped version number to 2.3.3
819 * src/SDCCBBlock.c: new option -o
820 * src/SDCCglobl.h: new option -o
821 * src/SDCCglue.c: new option -o
822 * src/SDCCmain.c: new option -o
823 * src/asm.c: new option -o
824 * src/ds390/main.c: new option -o
825 * src/pic/glue.c: new option -o
826 * src/pic/pcode.c: new option -o
827 * src/pic/ralloc.c: new option -o
828 * src/pic16/glue.c: new option -o
829 * src/pic16/pcode.c: new option -o
830 * src/pic16/ralloc.c: new option -o
831 * src/z80/main.c: new option -o
832 * device/lib/Makefile.in: use -o
833 * support/regression/ports/ds390/spec.mk: use -o
834 * support/regression/ports/gbz80/spec.mk: use -o
835 * support/regression/ports/mcs51/spec.mk: use -o
836 * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
837 * support/regression/ports/z80/spec.mk: use -o
838 * support/regression/ports/ucz80/spec.mk: use -o
839 * support/regression/ports/xa51/spec.mk: use -o
840 * support/regression/fwk/lib/timeout.c: fix usage string
842 2003-01-09 Bernhard Held <bernhard@bernhardheld.de>
843 * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
845 2003-01-07 <johan@balder>
847 * src/SDCCast.c (decorateType): fixed bug #600035
849 2003-01-07 Bernhard Held <bernhard@bernhardheld.de>
850 * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
851 * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
852 * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
853 * src/pic/pcode.c: outcommented unused variable to remove warnings
854 * src/pic/ralloc.c: outcommented unused variable to remove warnings
856 2003-01-06 <karl@turbobit.com>
857 * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
860 2003-01-06 <johan@balder>
862 * src/SDCCicode.c: fixed array add
864 2002-01-05 Bernhard Held <bernhard@bernhardheld.de>
865 * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
866 * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
868 2003-01-04 <johan@balder>
870 * src/SDCCval.c (getNelements): fixed the initialized array of structures
872 2002-12-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
873 * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
875 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
876 * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
877 * support/regression/tests/bug-524697.c: fit mem usage into 8032
879 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
880 * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
882 2002-12-27 Bernhard Held <bernhard@bernhardheld.de>
883 * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
885 2002-12-26 Bernhard Held <bernhard@bernhardheld.de>
886 * src/mcs51/main.c: removed {bindir}{sep} from aslink
888 2002-12-10 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
890 * in \sdcc\as\mcs51\ changed these files in order to create an
891 aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
892 lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the
893 following files to include the previous two files: aslink.dsp,
894 Makefile.aslink, Makefile.bcc, and Makefile.in.
896 * Changed \sdcc\src\SDCCmain.c so it creates files with extension
899 2002-11-09 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
901 * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
902 value from option --iram-size.
904 2002-09-20 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
906 * \sdcc\as\mcs51\lklist.c: added boundary check before using
909 2002-09-18 <wiml@hhhh.org>
911 * SDCClrange.h: exposed setFromRange() and setToRange()
912 * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
913 packRegsForAccUse() (bug 542397)
914 * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
915 multiple times and emitting the fetch operations more than once
916 added aopGetUsesAcc() function to allow binary operators to
917 fetch their operands in the correct order; made genMinus() emit
918 compact code for X = LITERAL - Y
920 2002-09-00 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
921 * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
922 sprintf() in line 1267.
924 2002-09-08 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
925 * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
928 2002-09-04 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
929 Changes to aslink (All the changes are marked with 'JCF'):
931 * \sdcc\as\mcs51\aslink.h: External definition of sflag and
934 * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
935 area BSEG. Also moves, if possible, the DATA area down into the internal
936 ram so more space is available.
938 * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
941 * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
942 not bytes. Function summary() which creates a memory usage summary
943 file with extension .mem. Reports of overlaping stack and small stack
944 size. If the space for the stack is less than 16 bytes aslink trows a
947 * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
948 the 8051. Option 'y' for memory summary output file.
950 Changes to sdcc (All the changes are marked with 'JCF'):
952 * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
954 * \sdcc\src\SDCCglue.c: If a register bank is used, creates an
955 overlaying area for it (uses RegBankUsed[4]).
957 * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
958 bank zero as used by default. By default aslink locates the stack
959 (equivalent to --stack-after-data). Pass option 'y' to aslink for
960 the creation of the .mem file. Delegates the allocation of data area
961 to aslink (it is not longer 0x30 by default). If --stack-loc passes
962 the begining of the stack area to aslink.
964 * \sdcc\src\SDCCmem.c: If a register bank is used, marks it so
965 glue() in SDCCglue.c creates an area for it.
967 2002-09-03 Borut Razem <borut.razem@siol.net>
968 * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
970 introduced atexit() handler for teporay files removal in case of
971 errors, assertions, ...
973 2002-08-29 Borut Razem <borut.razem@siol.net>
974 * sdcc/support/cpp2/auto-host_vc_in.h:
975 re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
976 with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
977 Maybe there is a similar problem with BORLANDC? It should be checked!
979 * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
980 corrected improper use of assert: the assignment to clr variable was done inside the assert.
981 In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
982 was not executed, and the compiler (cl) launched a warning:
983 ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
985 2002-08-28 Bernhard Held <bernhard@bernhardheld.de>
986 * src/SDCCglue.c (printIvalArray): iterative calculation of array length
988 2002-08-28 Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
989 * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
991 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
992 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
993 sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
994 sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
995 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
996 sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
997 sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
998 - added Release configuration in VS projects
999 - review of compiler an linker options
1000 - VC .exe files are generated in bin_vc directory, not to interfere
1001 with binaries generated from other projects (cygwin, mingw, bcc ...)
1003 * sdcc/src/yacc.dsp: added
1005 * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
1006 added - genarate sdcc_vc.h using sdcc_vc_in.h as template
1007 and insert the version number definitions from .version
1009 * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
1011 * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
1012 added - genarate auto-host.h using auto-host_vc_in.h as template
1015 removed from CVS, generated automatically
1017 2002-08-25 Bernhard Held <bernhard@bernhardheld.de>
1018 * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
1020 2002-08-11 Borut Razem <borut.razem@siol.net>
1021 * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
1023 2002-08-10 Borut Razem <borut.razem@siol.net>
1024 * src/SDCCmain.c (main):
1025 file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
1026 platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
1027 The consequence was that some temporary files were not removed.
1030 unification of code in functions tempfilename() and tempfile():
1031 function tempnam() is defined in Visual Studio 6.0 and .NET
1033 * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
1035 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
1036 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
1037 - removed compiler command line option /WX: Treats all warnings as errors
1038 - update a list of source files, included into the project
1040 * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
1041 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
1042 changed project type to Generic Project so that can be correcly converted to VS.NET project
1044 * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
1046 * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
1048 * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
1050 * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
1051 added return 0 statements after assert() to make compiler happy
1053 * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
1054 added newline in the def file to keep MSC compiler satisfied
1056 * sdcc/src/z80/gen.c:
1057 - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
1058 so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
1059 - solved MSC error in function aopDump()
1061 * sdcc_vc.h: define PREFIX as "\\sdcc"
1063 2002-07-18 Bernhard Held <bernhard@bernhardheld.de>
1064 * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
1066 2002-06-22 Scott Dattalo <scott@dattalo.com>
1067 * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
1068 - Rewrote the register banking algorithm.
1069 - Added pCode live-range analysis to registers (for now, only non-used and
1070 singly-used registers optimized away)
1072 * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
1074 * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
1076 2002-05-10 Scott Dattalo <scott@dattalo.com>
1077 * src/pic/*: Added support for multiplication. Fixed many,many bugs.
1079 2002-04-22 Michael Hope <michaelh@vroom>
1081 * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
1083 * configure.in (DD_COPT): Added include support required for gbdk.
1085 * .version: Bumped version number just to increase it.
1087 * src/SDCCmain.c: Added -nostdinc to the default options.
1089 2002-04-15 Michael Hope <michaelh@vroom>
1091 * device/lib/z80/printf.c (sprintf): Added.
1093 * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
1095 * src/z80/peeph.def: Added transpose redundent load rule.
1097 * src/z80/main.c: Added force callee saves for jaune.
1099 * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
1101 * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
1103 2002-03-28 Johan Knol <johan@balder>
1105 * src/SDCCval.c: fixed bug #532436
1107 2002-03-14 Scott Dattalo <scott@dattalo.com>
1109 Added "char *Processor" field to the port structure.
1112 Added -p option. Allows port dependent processor to be specified.
1115 Initialized the new field char *Processor field to NULL in all ports
1118 Compiler generated registers for interrupt context saving
1119 were not getting allocated.
1121 2002-03-16 Sandeep Dutta <sandeep@ddi.com>
1124 Fixed left shift. Will promote the left side of a left shift
1125 if a) left shifting more than size of operand or b) when assigned
1126 to something size > size of left side
1128 2002-03-14 Scott Dattalo <scott@dattalo.com>
1130 tons of changes. Register allocation has been
1131 rewritten. Added customization for the various PICs. Flow
1132 analysis is restructured. ...
1138 Added. device.c is a PIC port hack to accomodate variations
1141 2002-03-13 Michael Hope <michaelh@vroom>
1143 * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah.
1145 2002-03-04 johanknol <johanknol@manik>
1147 * /src/SDCCval.c: fixed
1149 const unsigned char arr[][2] = { { 0, 1 } };
1150 t18.c:1: error: Initializer element is not constant
1152 2002-03-04 bela <bela@manik>
1154 * /device/include/mcs51reg.h:
1155 ds89c420 register definition update
1157 2002-03-03 <johan@FRIJA>
1159 * support/Util/SDCCerr.c: did something, but don't no why anymore
1161 * support/regression/tests/bug-524691.c: made it a little less shy
1163 * src/SDCCast.c (decorateType): fixed bug #524697
1165 * src/SDCCast.c: made some lineno improvements
1167 * src/SDCCval.c (getNelements): changed warning to error
1169 * src/SDCCglue.c (printIvalArray): changed warning to error
1171 * src/SDCCicode.c: fixed a warning for mingw
1173 * src/SDCCast.c (decorateType): fixed the << promotion for ops
1175 * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
1177 2002-03-02 Sandeep Dutta <sandeep@ddi.com>
1179 * src/ds390/peeph.def:
1180 Added some more peephole rules
1182 * src/ds390/gen.c: Various fixes & enhancements
1184 * src/SDCClrange.c, src/SDCClrange.h:
1185 functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
1187 * src/ds390/ralloc.c:
1188 various fixes & enhancements (ds390) specific
1190 * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
1191 Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
1194 * sdcc/src/SDCCcse.c: Better fix for bug # 514308
1196 2002-03-02 <johan@FRIJA>
1198 * src/SDCCast.c (decorateType): fixed bug #524708
1200 * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
1202 * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
1204 2002-03-01 Michael Hope <michaelh@vroom>
1206 * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
1208 * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
1210 2002-03-01 <johan@FRIJA>
1212 * src/SDCCglue.c (printIvalPtr): fixed bug #524211
1214 * src/SDCCast.c (decorateType): fixed bug #524209
1216 * src/SDCCval.c (valNot): fixed bug #524195
1218 2002-02-26 <johan@balder>
1220 * src/xa51/gen.c: fixed a warning
1222 * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
1224 * src/SDCCast.c (decorateType): fixed bug #522534
1226 2002-02-23 <johan@balder>
1228 * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
1230 2002-02-22 <johan@balder>
1232 * src/SDCCast.c: fixed bug #514865
1234 * src/SDCCy.c ("SDCC.y"): fixed bug #516625
1236 2002-02-21 Sandeep Dutta <sandeep@ddi.com>
1238 * sdcc/src/SDCCloop.c:
1239 Previous fix was not good. basic blocks that have "break" or "return" are
1240 not really partof a loop , but live ranges used in these blocks should
1241 be live thru the entire loop, so set partOfLoop but don't add them to
1244 2002-02-21 <johan@FRIJA>
1246 * src/SDCCcse.c: fixed bug #514308
1248 2002-02-20 Sandeep Dutta <sandeep@ddi.com>
1251 Fixed BUG #519583. If a conditional block ended in a return/break
1252 statement inside a loop, it was not being considered part of the loop.
1254 * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
1256 2002-02-10 Karl Bongers <karl@turbobit.com>
1259 Fixed up SDCDB debugger somewhat. Updated debugger/README
1260 with lots of comments and notes.
1262 * device/examples/test2.c:
1263 Fix bug, "red" variable not being initialized(compiler complained).
1265 * device/examples/Makefile, examples/test3.c:
1266 Add Makefile in device/examples folder, compiles test3.c
1267 for use as a multiple module SDCDB test case.
1269 * sim/ucsim/cmd.src/cmdset.cc:
1270 Took out debug printfs in ucsim "next" command.
1273 Karl and Johan start ucsim XA support. Most dissassembly working,
1274 about 75% emulation done(plenty of work remaining).
1276 * sim/ucsim/z80.src:
1277 Add Z80 support to ucsim, add test-ucz80 regression test,
1278 notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
1279 Notice z80 compiler fails on examples/test3.c/crc code.
1281 2002-01-30 Sandeep Dutta <sandeep@ddi.com>
1283 * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
1284 Added support for --parms-in-bank1
1286 * src/ds390/peeph.def:
1287 added a few more peephole optimzations
1290 1) added __builtin_inp & __builtin_outp used to read in data of given length
1291 from a memory mapped port
1292 2) added __builtin_memcmp
1293 3) added __builtin_swapw swap bytes of a short
1295 * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
1296 1) handle multiple send & receives from register bank1
1297 2) ralloc can now allocate DPTR1 to some liveRanges
1299 * src/SDCCsymt.c, src/SDCCsymt.h:
1300 changes to handle multiple sends & receives
1303 added some pointer arithmetic optimization
1306 added some pointer arithmetic optimizations but not stable yet so not
1307 called from anywhere (will get this working shortly)
1309 * src/SDCCopt.c: fixed for multiple sends & receives
1312 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
1313 2) preprocessing done AFTER port->finalizeoptions . This allows ports to
1314 set preprocessor defines (depending on options)
1316 * src/SDCCicode.c, src/SDCCicode.h:
1317 changes made to handle multiple sends & receives
1320 Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
1322 * src/SDCCcse.c, src/SDCCcse.h:
1323 added function findbackward def (to be used in upcoming optimization)
1325 * src/SDCCcflow.c, src/SDCCcflow.h:
1326 added function returnAtEnd - to determine if a basic block terminates with
1329 * src/SDCCast.c, src/SDCCast.h:
1330 added option parms-in-bank1
1332 * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
1333 * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
1334 * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
1335 adjusted for --parms-in-bank1 option
1337 * device/include/string.h:
1338 donot redefine "reentrant" keyword
1340 * device/include/ds80c390.h: Added some more SFRs
1342 2002-01-28 Bernhard Held <bernhard@bernhardheld.de>
1344 * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
1346 2002-01-26 Bernhard Held <bernhard@bernhardheld.de>
1348 * src/SDCCast.c (funcOfType): fix usage of double --float-reent
1350 2002-01-22 Bernhard Held <bernhard@bernhardheld.de>
1352 * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
1354 2002-01-18 Paul Stoffregen <paul@pjrc.com>
1356 * Added --xram-movc option
1358 2002-01-13 Bernhard Held <bernhard@bernhardheld.de>
1360 * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
1362 2002-01-11 Johan Knol
1364 * Added math lib of Jesus Calvino-Fraga
1366 2002-01-08 Bernhard Held <bernhard@bernhardheld.de>
1368 * src/SDCCmain.c (processFile): fix processing of ../../src.c
1369 * support/regression/Makefile: new target test-mcs51-stack-auto
1370 * support/regression/ports/mcs51-stack-auto/spec.mk: added
1372 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
1374 * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
1376 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
1378 * support/regression/ports/mcs51/support.c: correct setup of timer / UART
1380 2002-01-03 Bernhard Held <bernhard@bernhardheld.de>
1382 * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
1384 * src/SDCCglue.h: add definition for printIvalChar()
1386 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
1388 * src/SDCCast.c: fix #498138 by Johan
1390 * src/SDCCglue.c: fix #498138 by Johan
1392 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
1394 * support/regression/Makefile: fix clean
1396 * support/regression/ports/ds390/support.c: fix transmission of last character
1398 2001-12-29 Sandeep Dutta <sandeep@ddi.com>
1400 * /sdcc/src/ds390/gen.c:
1401 a) improved computing address of stack variable
1402 b) took out some #if 0 code
1403 c) improved parmBytes adjustment
1404 d) improved genPlusIncr & genMinusIncr
1405 e) genCmp could generate bad code (when left assigned to DPTR)
1406 f) Fixed bug in hasInc
1408 * /sdcc/src/ds390/ralloc.c:
1409 a) packRegsForSupport could mess up live information (Fixed)
1410 b) packRegsDPTRuse could be incorrect for left & right shift
1412 * /sdcc/src/mcs51/ralloc.c:
1413 packRegsForSupport could mess up the live information (Fixed)
1415 * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
1417 * /sdcc/src/SDCCast.c:
1418 can reverse a loop even if function call is present as long
1419 as the loop control variable is local & is not passed as parameter
1421 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1423 * /sdcc/ChangeLog: *** empty log message ***
1425 * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
1426 More builtin function additions for TININative
1428 * /sdcc/src/ds390/ralloc.c:
1429 Had broken the regression testsuite
1431 * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
1433 * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
1434 Added funcattr hasStackParms will be set for reentrant functions when there
1435 are paramteres on the stack, this helps in minimizing frame pointer generation
1436 typeFromStr can handle function pointers now
1438 * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
1439 *** empty log message ***
1441 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1443 * /src/ds390/gen.c, /src/ds390/main.c:
1444 More builtin function additions for TININative
1446 * /src/ds390/ralloc.c:
1447 Had broken the regression testsuite
1449 * /src/SDCCast.c: Fixed a bug in dumptree
1451 * /src/SDCCsymt.c, /src/SDCCsymt.h:
1452 Added funcattr hasStackParms will be set for reentrant functions when there
1453 are paramteres on the stack, this helps in minimizing frame pointer generation
1454 typeFromStr can handle function pointers now
1456 * /doc/builtins.txt, /doc/TININative.txt:
1457 *** empty log message ***
1460 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1462 * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
1463 ALPHA version for -mTININative
1465 * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
1466 updated to reflect changes in the port structure
1469 added function do_assemble (similar to do_link) if non-null this function
1470 will be called to do assembly (-mTININative) requires a multi command
1472 added function genAssemblerEnd will be called to generate assembler Epilogue
1475 added _JavaNative to debug info printing
1477 * /src/SDCCmain.c: added option --tini-libid
1478 added port->do_assemble function (-mTININative) has a multi command assemble
1480 * /src/SDCCglue.c: Disabled "constExpr" check
1481 added port->genAssemblerEnd function
1483 * /src/SDCCglobl.h: Added option --tini-libid value
1486 tookout optimizeCompare from the header (has no external references)
1488 * /src/SDCCast.c: made one more function "static"
1490 2001-12-23 Michael Hope <michaelh@juju.net.nz>
1492 * src/z80/mappings.i: Added z80asm support.
1494 * src/z80/main.c: Added z80asm support on --asm=z80asm
1496 * src/z80/gen.c: Fixed asm portability issues.
1498 * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support.
1500 * src/SDCCglue.c (printExterns): Added global/extern split.
1502 2001-12-17 Bernhard Held <bernhard@bernhardheld.de>
1504 * support/regression/Makefile: added test for mcs51 model large
1506 * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
1508 * support/regression/ports/gbz80/spec.mk: added -mgbz80
1510 2001-12-05 Michael Hope <michaelh@juju.net.nz>
1512 * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201.
1514 1904-01-06 Michael Hope <michaelh@juju.net.nz>
1516 * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
1518 * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
1520 2001-12-02 Bernhard Held <bernhard@bernhardheld.de>
1522 * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
1524 * support/regression/tests/simplefloat.c: Port to mcs51.
1526 2001-11-25 Michael Hope <michaelh@juju.net.nz>
1527 * support/regression/tests/bug-485362.c: Added.
1529 * support/regression/tests/simplefloat.c (testDivNearOne): Added.
1531 * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
1533 * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
1535 * src/z80/gen.c (aopDump): Added a dump function.
1537 2001-11-25 Bernhard Held <bernhard@bernhardheld.de>
1538 * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
1540 * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
1542 * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
1544 * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
1546 * sim/ucsim/s51.src/uc390cl.h: Work in progress.
1548 * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
1550 * support/regression/fwk/lib/testfwk.c: Run with tinibios.
1552 * support/regression/ports/mcs51/spec.mk: Fine tuninig.
1554 * support/regression/ports/ds390/support.c: Use tinibios.
1556 * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
1558 2001-11-23 Michael Hope <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
1560 * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
1561 (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
1563 * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
1565 * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
1567 2001-11-18 Michael Hope <michaelh@juju.net.nz>
1569 * src/z80/gen.c (genCmp): Fixed compare on unsigned.
1571 * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
1572 (packRegsForIYUse): Created and optimised.
1574 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1576 * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
1577 2001-11-18 Bernhard Held <bernhard@bernhardheld.de>
1579 * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
1581 * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
1583 * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
1585 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1587 * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
1589 * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
1591 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1593 * sdcc/sim/ucsim/globals.cc: New: IXRAM.
1595 * sdcc/sim/ucsim/stypes.h: New: IXRAM.
1597 * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
1599 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1601 * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
1602 (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
1603 (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
1605 * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
1607 * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
1608 (genNotFloat): Added.
1609 (genUminusFloat): Added.
1611 * device/lib/z80/Makefile: Added floating pt stubs.
1613 * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
1615 * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
1617 * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
1619 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1621 * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
1623 * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
1625 * sdcc/support/regression/Makefile: Add port ds390.
1627 * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
1629 * sdcc/support/regression/ports/z80/spec.mk: Minor change.
1631 * sdcc/support/regression/ports/ds390/spec.mk: Added.
1633 * sdcc/support/regression/ports/ds390/support.c: Added.
1635 * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
1637 * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
1639 * sdcc/support/regression/fwk/lib/timeout.c: Paste.
1641 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1643 * device/include/malloc.h: Added z80 and gbz80 support.
1645 * device/lib/gbz80/heap.s: Added.
1647 * device/lib/z80/heap.s: Added.
1649 * device/lib/malloc.c: Added z80 and gbz80 support.
1651 * support/regression/tests/malloc.c (testMalloc): Added.
1653 * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
1655 * support/regression/tests/bug-478094.c: Added.
1657 * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
1659 2001-11-04 Bernhard Held <bernhard@bernhardheld.de>
1661 * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
1663 * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
1665 * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
1667 * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
1669 * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
1671 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1673 * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
1675 2001-11-03 Michael Hope <michaelh@juju.net.nz>
1677 * support/regression/tests/bug-477927.c: Added.
1679 * src/z80/peeph.def: Added minor rules.
1681 * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
1683 * src/z80/peeph.def: Added jump optimisation modification.
1685 2001-11-01 Michael Hope <michaelh@juju.net.nz>
1687 * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
1689 2001-10-30 Michael Hope <michaelh@juju.net.nz>
1691 * support/regression/tests/funptrs.c: Added.
1693 2001-10-29 Michael Hope <michaelh@juju.net.nz>
1695 * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
1697 2001-10-28 Michael Hope <michaelh@juju.net.nz>
1699 * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
1701 * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
1703 * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
1704 (movLeft2ResultLong): Created.
1706 * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
1707 (joinPushes): Added. Joins two char pushes into a word push.
1709 2001-10-27 Michael Hope <michaelh@juju.net.nz>
1711 * support/cpp2/Makefile.in (install): Added creation of dest dir.
1713 * support/makebin/Makefile (install): Added creation of dest dir.
1715 2001-10-24 Karl Bongers <karl@turbobit.com>
1717 * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
1719 2001-10-21 Michael Hope <michaelh@juju.net.nz>
1721 * src/z80/ralloc.c: Turned off faulty pack for one use.
1723 * src/z80/peeph-gbz80.def: Removed redundent restart options.
1725 * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
1727 2001-10-21 Bernhard Held <bernhard@bernhardheld.de>
1729 * support/regression/Makefile: Improved clean
1731 * support/regression/ports/gbz80/spec.mk: Added clean
1733 * support/regression/ports/host/spec.mk: Added clean
1735 * support/regression/ports/z80/spec.mk: Added clean
1737 * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
1739 * support/regression/ports/mcs51/timeout.c: little improvements
1741 2001-10-17 Michael Hope <michaelh@juju.net.nz>
1743 * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
1745 * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
1747 * support/regression/generate-cases.py: Fixed up to use function pts correctly.
1749 2001-10-16 Bernhard Held <bernhard@bernhardheld.de>
1751 * support/regression/port/mcs51/spec.mk: add timeout for uCsim
1753 * support/regression/port/mcs51/timeout.c: add timeout for uCsim
1755 2001-10-13 Michael Hope <michaelh@juju.net.nz>
1756 * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
1758 * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
1760 * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
1762 * src/mcs51/main.c (_linkCmd): Added bin path to command.
1764 * src/SDCCmain.c (initValues): Added support for when it it called just to link.
1766 * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
1768 * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
1770 * support/regression/tests/longor.c: Added.
1772 2001-10-11 Bernhard Held <bernhard@bernhardheld.de>
1774 * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
1776 * as/mcs51/aslink.h: define PATH_MAX
1778 * as/mcs51/asm.h: define PATH_MAX
1780 * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
1782 * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
1784 * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
1786 * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
1788 * src/SDCCglobl.h: define PATH_MAX
1790 * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
1792 * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
1794 2001-10-11 Michael Hope <michaelh@juju.net.nz>
1796 * src/z80/gen.c (gencjneshort): Fixed
1798 * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
1800 2001-10-09 Michael Hope <michaelh@juju.net.nz>
1802 * support/regression/tests/bug-469671.c: Added.
1804 * src/z80/gen.c (shiftIntoPair): Fixed up warning.
1806 2001-10-08 Michael Hope <michaelh@juju.net.nz>
1808 * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
1810 * src/z80/gen.c (genPlus): Fixed to work with extended stack. Also fixed genMinus, genCmp. genUMinus is still left.
1812 2001-10-08 Bernhar Held <bernhard@bernhardheld.de>
1814 * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
1816 * src/device/lib/_mulint.c : removed hint: nooverlay bug
1818 * src/device/lib/_mullong.c : removed hint: nooverlay bug
1820 * src/device/lib/_divuint.c : removed hint: nooverlay bug
1822 * src/device/lib/_divulong.c: removed hint: nooverlay bug
1824 * src/device/lib/_moduint.c : removed hint: nooverlay bug
1826 * src/device/lib/_modulong.c: removed hint: nooverlay bug
1828 2001-10-07 Michael Hope <michaelh@juju.net.nz>
1830 * 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.
1832 * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all. Fixes runtime segfault.
1834 * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
1836 2001-10-07 <johan@FRIJA>
1838 * device/lib/gets.c (gets): fixed the return value.
1840 2001-10-06 Michael Hope <michaelh@juju.net.nz>
1841 * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
1843 * 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.
1845 * 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.
1847 * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
1849 * src/pic/gen.c: Removed Safe_strdup.
1851 * configure.in: Added option to enable libgc support.
1853 * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
1854 (bitVectUnion): Optimised.
1855 (bitVectIntersect): Optimised.
1856 (bitVectBitsInCommon): Optimised.
1857 (bitVectCplAnd): Optimised.
1859 * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it. Sigh.
1861 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1863 * src/SDCCmain.c: distinguish between assembler debug and plain options
1865 * src/avr/main.c: remove standard assembler options
1867 * src/ds390/main.c: remove standard assembler options
1869 * src/mcs51/main.c: remove standard assembler options
1871 * src/port.h: removed "PENDING" comment
1873 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1875 * src/device/lib/_mulint.c : new, with assember functions
1877 * src/device/lib/_mullong.c : new, with assember functions
1879 * src/device/lib/_divuint.c : with assember functions
1881 * src/device/lib/_divsint.c : with assember functions
1883 * src/device/lib/_divulong.c: with assember functions
1885 * src/device/lib/_divslong.c: with assember functions
1887 * src/device/lib/_moduint.c : with assember functions
1889 * src/device/lib/_modsint.c : with assember functions
1891 * src/device/lib/_modulong.c: with assember functions
1893 * src/device/lib/_modslong.c: with assember functions
1895 * src/device/lib/libint.lib: replaced _muluint.c and _mulsint.c by _mulint.c
1897 * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
1899 * src/device/lib/Makefile.in: replaced _muluint.c and _mulsint.c by _mulint.c
1900 replaced _mululong.c and _mulslong.c by _mullong.c
1902 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1904 * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
1906 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1908 * src/SDCCglue.c: test, if win32api is available for MINGW
1910 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1912 * src/SDCCsymt.c: no more _modifier in printTypeChain()
1913 * support/regression/tests/driverstruct.c: REENTRANT for mcs51
1914 * support/regression/ports/gbz80/spec.mk: removed GENERIC
1915 * support/regression/ports/host/spec.mk: removed GENERIC
1916 * support/regression/ports/mcs51/spec.mk: removed GENERIC
1917 * support/regression/ports/z80/spec.mk: removed GENERIC
1919 2001-10-01 Michael Hope <michaelh@juju.net.nz>
1921 * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
1923 * support/regression/tests/bug-467035.c: Created.
1925 2001-10-01 <johan@FRIJA>
1927 * src/SDCC.y: fixed bug #466586 part 1
1929 2001-10-01 Johan Knol <johan.knol@iduna.nl>
1931 * SDCCicode.c: z80 has no generic pointers
1932 * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
1934 2001-09-30 Michael Hope <michaelh@juju.net.nz>
1936 * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
1938 2001-09-29 Michael Hope <michaelh@juju.net.nz>
1940 * Makefile (sdcc-libs): Added makebin to the list of standard targets.
1942 * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
1944 2001-09-25 Michael Hope <michaelh@juju.net.nz>
1946 * configure.in: Fixed up so that ucsim is only configured once.
1948 * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
1950 * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
1951 (getPathDifference): As above.
1953 * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory. Fixed case where pre-processing only.
1955 * src/SDCCglue.c (tempfilename): Added function for pre-processor.
1957 2001-09-23 Michael Hope <michaelh@juju.net.nz>
1958 * .version: Updated to 2.3.1
1960 * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
1961 Added copyright header.
1963 * src/SDCCmain.c: Shifted various functions into SDCCutil.c
1964 (assemble): Added support for macro based assembler commands.
1965 (linkEdit): Added support for macro based linker commands.
1966 (preProcess): Changed the pre-processor to use macros.
1967 (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
1968 (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
1970 * device/lib/z80/crt0.s: Added module name for debugging.
1972 2001-09-20 Michael Hope <michaelh@juju.net.nz>
1974 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1976 * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
1978 * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
1980 * src/Makefile.in: Added SDCCmacro and SDCCutil
1982 2001-09-19 Michael Hope <michaelh@juju.net.nz>
1984 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1986 2001-09-16 <johan@FRIJA>
1988 * 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.
1990 2001-09-15 <johan@FRIJA>
1992 * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
1993 * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
1995 2001-09-11 <johan@FRIJA>
1997 * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
1999 2001-09-10 Michael Hope <michaelh@juju.net.nz>
2001 * support/regression/tests/bug-460444.c: Added test case.
2003 * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
2004 (genCast): Added justification for all of the asserts.
2006 2001-09-10 Bernhard Held <bernhard@bernhardheld.de>
2008 * support/regression/support.c: _xdata replaced by xdata
2010 * support/regression/spec.mk: removed _generic
2012 2001-09-09 Michael Hope <michaelh@juju.net.nz>
2014 * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
2016 * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
2017 (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
2019 * src/z80/peeph.def: Added a rule to optimise shift then compare.
2021 * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
2023 * support/regression/tests/bug-460010.c: Added test case.
2025 * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
2027 2001-09-09 Bernhard Held <bernhard@bernhardheld.de>
2029 * support/regression/Makefile: inter-port-clean adjusted for mcs51
2031 * support/regression/testfwk.c: removed workaround for bug #436344
2033 * support/regression/tests/bp.c: use less memory with mcs51
2035 * support/regression/tests/bug-441448.c: use less memory
2037 * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
2039 * support/regression/collate-results.py: typo
2041 2001-09-08 Michael Hope <michaelh@juju.net.nz>
2043 * support/regression/tests/fetchoverlap.c: Added new test case.
2045 * support/regression/tests/bp.c: Added new test case.
2047 * support/regression/tests/bug-448984.c: Added new test case.
2049 * support/regression/tests/pow2shifts.c: Added new test case.
2051 * src/z80/gen.c: Turned off the noise it normally generates for the release.
2052 (genlshTwo): Fixed right shift for count > 8.
2054 * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
2056 2001-09-08 <johan@FRIJA>
2058 * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
2060 2001-09-07 <johan@FRIJA>
2062 * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
2064 * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
2066 2001-09-06 <johan@FRIJA>
2068 * src/SDCC.y: this could be a fix for bug #458744 (1.37)
2069 * bernhard noted me at this: "() equals to (void)" (1.38)
2071 2001-09-05 <johan@FRIJA>
2073 * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
2075 2001-09-04 <johan@FRIJA>
2077 * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
2080 2001-09-04 Paul Stoffregen <paul@pjrc.com>
2082 * pragma noinduction broke memcpy on mcs51 large model. Moved it inside z80 optimization
2084 2001-09-03 Michael Hope <michaelh@juju.net.nz>
2086 * link/z80/aslink.h: Fixed path for PATH_MAX
2088 2001-09-02 Michael Hope <michaelh@juju.net.nz>
2090 * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
2092 * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
2094 * support/regression/tests/uminus.c: Added a test for the unary minus operator.
2096 * 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.
2098 2001-09-01 Michael Hope <michaelh@juju.net.nz>
2100 * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
2101 (genCmp): Fixed up genCmp for the GB with longs.
2103 * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
2105 * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
2107 * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
2109 * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
2111 2001-08-30 Paul Stoffregen <paul@pjrc.com>
2113 * added peepholes 223 to 231 to mcs51 port. These improve code when using large model.
2115 2001-08-30 Michael Hope <michaelh@juju.net.nz>
2117 * 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.
2119 * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
2121 2001-08-29 Michael Hope <michaelh@juju.net.nz>
2123 * link/z80/aslink.h: Fixed long file name support. Is now based off PATH_MAX instead of a constant.
2125 * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
2127 2001-08-30 Bernhard Held <bernhard@bernhardheld.de>
2129 * sim/ucsim/configure: little improvement of Cygwin-detection
2130 * sim/ucsim/configure.in: little improvement of Cygwin-detection
2131 * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
2132 * support/regression/tests/bug-221100.c: small changes for mcs51
2133 * support/regression/tests/bug-221168.c: small changes for mcs51
2134 * support/regression/tests/bug-227710.c: small changes for mcs51
2135 * support/regression/tests/staticinit.c: small changes for mcs51
2136 * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
2137 * as/mcs51/lklex.c: accept everything as symbol name in rel-files, bug fix ID 452601
2138 * as/mcs51/lksym.c: accept everything as symbol name in rel-files, bug fix ID 452601