1 2004-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3 * src/SDCCast.c (decorateType),
4 * src/SDCCicode.c (geniCodeParms, geniCodeCall): fixed bugs in my ANSI
5 function pointer implementation
6 * support/regression/tests/funptrs.c: added tests to verify both forms
7 of function pointers work correctly. Added tests to verify parameters
8 are passed in the correct order.
10 2004-02-06 Vangelis Rokas <vrokas AT otenet.gr>
12 * device.c (regCompare): registers are sorted by ascending
13 address and increasing size,
14 * main.c (_pic16_finaliseOptions): removed the declaration
15 of compiler macro MCU. Now a macro of the format pic18fxxxx
16 will be defined from the command line
18 2004-02-06 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
19 patch committed by Vangelis Rokas <vrokas AT otenet.gr>
21 * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF
22 PCOP_RLCF was overwritten!
23 * gen.c (genSkip) commented out calls to pic16_emitcode,
24 * (genCmpEQ) fixed "long" compares, only high word did get compared,
26 * (genRRC) added debugging info,
27 * (shiftL2Left2Result) Fixed bug, if offr > offl. Result got
28 overwritten while shifting,
29 * (shiftR2Left2Result) Fixed bug, if offr < offl. Result got
30 overwritten while shifting,
33 * (shiftLLeftOrResult),
34 * (shiftRLeftOrResult),
36 * (shiftLLong) Implemented with pic16_emitpcode
37 * (genlshFour) Replaced pic16_aopPut with pic16_emitpcode,
38 * (genLeftShift) Fixed bug, operand for shift by variable always
39 was "and"ed with 0x0f,
40 * (genLeftShiftLiteral),
42 * (genRightShiftLiteral) added debugging info,
43 * (genrshFour) added comment,
44 * (genRightShift) determined signedness from operand "left"
47 2004-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49 * src/SDCCicode.c (geniCodeParms),
50 * src/SDCCast.c (decorateType, processParms): support for ANSI-style
51 function pointers, fixed function pointer bugs #861242 and #861896
53 2004-01-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
55 * device/include/c8051f000.h,
56 * device/include/c8051f120.h,
57 * device/include/c8051f300.h: added header files for Silicon
58 Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
60 2004-01-31 Bernhard Held <bernhard AT bernhardheld.de>
62 * src/SDCCast.c (processParams): added new type flow and restructured
63 (gatherAutoInit): added new type flow
64 (addCast): cosmetic changes
65 (getLeftResultType): added new type flow for array indices, patch
66 provided by Stas, see FR #877103
67 (decorateType): SDCC_NEWTYPEFLOW removed, new type flow is now standard;
68 array index patch by Stas
69 * src/SDCCast.h: added prototype getResultTypeFromType()
71 * src/SDCCval.c (resolveIvalSym) (resolveIvalSym),
72 * src/pic/glue.c (pic14emitStaticSeg),
73 * src/pic16/glue.c (pic16emitStaticSeg),
74 * src/SDCCglue.c (emitRegularMap) (emitStaticSeg): added new type flow
75 for initialization of symbols
76 * src/SDCCicode.c (geniCodeArray): removed warning W_ARRAY_BOUND
77 * support/Util/SDCCerr.h:
78 * support/Util/SDCCerr.c: replaced W_ARRAY_BOUND by W_IDX_OUT_OF_BOUNDS
79 * .version: bumped version number to 2.3.8
80 * device/include/Makefile.in (install),
81 * doc/Makefile (install): changed to 'rm `find ...`' construct to
84 2004-01-30 Bernhard Held <bernhard AT bernhardheld.de>
86 * support/regression/tests/libmullong.c: fixed for 64 bit hosts
87 Slade Rich fixed an optimization bug
88 * src/pic/pcodepeep.c,
90 * doc/Makefile (install): added test for directory
92 2004-01-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
94 * src/mcs51/ralloc.c (getRegPtr, getRegGpr),
95 * src/ds390/ralloc.c (getRegPtr, getRegGpr),
96 * src/pic/ralloc.c (getRegPtr, getRegGpr),
97 * src/pic16/ralloc.c (getRegPtr, getRegGpr),
98 * src/z80/ralloc.c (getRegGpr): fixed bug #883361
99 * as/mcs51/asexpr.c (term),
100 * as/hc08/asexpr.c (term): fixed bug #887146
102 2004-01-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
104 * src/z80/gen.c (genMult): handle single byte result product
105 * src/SDCCopt.c (killDeadCode): never convert ADDRESS_OF iCode to
106 DUMMY_READ_VOLATILE (fixed bug #886367)
108 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
110 * support/regression/tests/libmullong.c: fixed logic, on little endian
111 hosts we ended without a mullong_wrapper()
113 2004-01-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
115 * ChangeLog: changed "@" to " AT " in hopes of reducing spam and
116 virus/worm forged address usage.
118 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
120 Fixed promotion, it should be done on AST level:
121 * src/SDCCast.c (addCast): added promotion to int
122 (decorateType): updated call to upCast()
123 * src/SDCCicode.c (geniCodeLeftShift): removed call to
124 usualUnaryConversions()
126 2004-01-26 Michael Hope <michaelh AT juju.net.nz>
128 * support/regression/tests/literalop.c (mulWrapper): Added a
129 wrapper to remove integer overflow warnings.
131 * support/regression/tests/float_trans.c: Made work on host.
133 * support/regression/ports/ucz80/spec.mk (UCZ80): Made detect the
136 * support/regression/generate-cases.py (main): Changed from inline
139 * doc/Makefile (install): Changed to depth first to get rid of
140 missing directory install warning.
142 * as/Makefile (install-doc): Made work on Mac.
144 2004-01-25 Bernhard Held <bernhard AT bernhardheld.de>
146 * src/SDCCast.c: added an additional type flow in decorateType() of
147 opposite direction, see feature request #860006; it's enabled at runtime
148 by setting the environment variable SDCC_NEWTYPEFLOW
149 * src/SDCCast.h: changed prototype of decorateType()
150 * src/SDCCglue.c (emitRegularMap): updated call of decorateType()
151 * src/SDCCicode.c (geniCodeDivision) (geniCodeModulus): promotion from
152 'char' to 'int' can be omitted, if both operands are 'unsigned char';
153 see feature request #877103
154 * src/SDCCval.c: updated call of decorateType()
155 (valBitwise): fixed bug #882876
156 (valMinus): added promotion
157 (valLogicAndOr): result is unsigned
158 (cheapestVal) (constVal): literals from 0...255 are 'unsigned char' now
159 * src/SDCCsymt.c (computeType),
160 * src/mcs51/gen.c (genCmpGt) (genCmpLt): literal 'unsigned char'
161 must not cause an unsigned operation
162 * src/pic/glue (pic14emitRegularMap),
163 * src/pic16/glue.c (pic16emitRegularMap): updated call of decorateType()
165 2004-01-23 Bernhard Held <bernhard AT bernhardheld.de>
167 * src/pic/pcode.c (PCodeID): commented out left over debug code
169 2004-01-20 Bernhard Held <bernhard AT bernhardheld.de>
171 * support/valdiag/tests/overflow.c: added shift tests
179 * src/pic/pcodepeep.c,
180 * src/pic/pcoderegs.c,
182 * src/pic/ralloc.h: applied patch from Slade Rich;
183 added support for multiple code pages and multiple RAM banks on the
184 PIC 14 port. The ASM files now no longer simply assume all the
185 code / RAM are in the same page / bank. This means the linker can
186 safely allocate code/RAM of separate ASM files to different pages/banks.
187 * doc/sdccman.lyx: added Slade's tips
188 * src/mcs51/peeph.def: fixed bug #880768
190 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
192 * src/hc08/ralloc.c (rematStr): fixed bug #879282
193 * src/SDCCast.c (decorateType): fixed bug #880197
195 2004-01-20 Michael Hope <michaelh AT juju.net.nz>
197 * sim/ucsim/gui.src/serio.src/main.cc: Fixed unconditional use of
200 * debugger/mcs51/cmd.c (getValBasic): Changed strtof to strtod as
201 strtof is not part of C89 and isn't included with Mac OS X.
203 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
205 * src/hc08/gen.c (genPlusIncr, genUminus, genMinusDec, genCmp,
206 shiftL2Left2Result): fixed bug #879326
207 (genAnd, genOr, genXor): fixed bug when result was of type AOP_CRY
208 (genMultOneByte): fixed bug in signed vs unsigned multiplication
209 * sim/ucsim/hc08.src/inst.cc (inst_clr): added missing effective
210 address fetch for clr instruction
211 * device/lib/hc08/_mulint.c: created optimized assembly version
212 * src/SDCCdflow.c (computeDataFlow): fixed bug #878209
214 2004-01-19 Bernhard Held <bernhard AT bernhardheld.de>
216 * src/SDCCicode.c (geniCodeArray): applied patch from Stas Sergeev
217 proposed in FR #877103
219 2004-01-18 Bernhard Held <bernhard AT bernhardheld.de>
221 * src/SDCCval.c (cheapestVal): added missing checks
222 * src/SDCCicode.c (usualBinaryConversions): fixed condition
223 * src/SDCCicode.c (geniCodeAdd): fixed part of bug #877103
225 2004-01-16 Klaus Flittner <klaus_flittner AT gmx.de>
227 * src/ds390/gen.c (aopOp3): fixed the assignment of different dptrs to
230 2004-01-16 Vangelis Rokas <vrokas AT otenet.gr>
232 * src/SDCCmain.c (linkEdit): variable $3 of the linker command is
233 loaded with the linker search paths (-L arguments) and the libraries
234 to be linked with the current source (-l arguments). Changes
235 currently will affect only the pic16 port.
236 * src/pic16/main.c (_pic16_finaliseOptions): add to the linker
237 include path the port specific paths and port specific libraries,
238 * gplink command now contains the $3 argument,
239 * src/pic16/device.h,
240 * src/pic16/device.c,: structure PIC_device is made public and
241 renamed to PIC16_device, the same for variable Pics which is renamed
242 to Pics16. Updated all references to them.
243 * src/pic16/glue.c (pic16glue): corrected bug with code
244 initialization which bypassed the variable initializations block.
246 * device/lib/pic16/Makefile.rules: removed --penable-stack from
247 COMPILE_FLAGS and added the --nostdinc option
249 2004-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
251 * device/include/mc68hc908jb8.h: Register defs for another member
252 of the hc08 family. Contributed by Bjorn Bringert - thanks!
254 2004-01-14 Vangelis Rokas <vrokas AT otenet.gr>
256 Documenting changes from previous commits.
257 * configure.in (version 1.56),
258 * configure: initially I've added AC_CONFIG_SUBDIRS(device/lib/pic16)
259 when generating output files to configure the pic16 library,
260 but now I've commented it out, since gputils aren't installed in the
261 SF compile farm, so library won't compile
263 * device/lib/Makefile.in (version 1.56): initially I've added in
264 target 'all' the prerequestive 'model-pic16' so it compiled the
265 pic16 library, but now I've commented it out for the same reasons
267 * added targets 'model-pic16' and 'objects-pic16' to compile the
269 * added target 'port-specific-objects-pic16' to handle the
270 generated libraries and copy them into the build/ directory
271 * added target 'clean-intermediate-pic16' to clean intermediate
272 files into pic16 directory
273 * in target 'installdirs' added line to create directory pic16 in
274 the installation path
276 * device/include/Makefile.in (version 1.11): in target 'install'
277 added lines to copy all header files to installation path,
278 * in target 'installdirs' added line create directory for pic16
279 headers in the installation path
281 2004-01-13 Klaus Flittner <klaus_flittner AT gmx.de>
283 * src/ds390/gen.c (genCall): fixed a double use of acc and b after
286 2004-01-13 Bernhard Held <bernhard AT bernhardheld.de>
289 * device/lib/configure.in,
290 * device/lib/configure: fixed for autoconf 2.57
292 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
294 * src/z80/main.c (_parseOptions): fixed the portmode= command line
295 option so that it actually works. Made it specific to the z80, since
296 the gbz80 doesn't have these kinds of I/O ports.
298 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
300 * device/include/z180.h,
301 * device/lib/_memcpy.c,
302 * device/lib/_memmove.c,
303 * device/lib/_mulint.c,
304 * device/lib/ser_ir.c,
305 * device/lib/ser_ir_cts_rts.c,
306 * device/lib/_strcmp.c,
307 * device/lib/_strtok.c: fixed pragmas to non-deprecated form
308 * src/z80/main.c (_process_pragma): add support for pragmas bank and
309 portmode; added deprecation warning for bank= and protmode= forms.
310 Also, guard against buffer overflow.
311 * src/z80/gen.c (aopGet): generate better code for sfr banked read
313 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
315 * src/hc08/main.c (_hc08_genAssemblerPreamble): fixed bug #875487. Also
316 changed interrupt vector table generation to only emit declared vectors.
317 * device/include/Makefile.in: added missing backslash
318 * device/lib/pic16/Makefile.rules: add $(MODELFLAGS) to $(CFLAGS)
320 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
322 Mainly changes to support compilation of the device libraries
323 * src/pic16/device.c: stack is allocated via symbol and not
324 via literal number. The symbol is placed in the corresponding
325 position of the data ram
326 * (pic16_dump_section): relocatable and absolute uninitialized
327 data are now emitted in sorted order to reduce section naming,
328 * src/pic16/ralloc.c (newReg): fixed bug with SFR's that
329 weren't marked as being in the access bank,
331 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
333 Added portion of GNU PIC Library under the directory
334 device/include/pic16 and device/lib/pic16. These files
335 contain the declarations of SFRs for the PIC18Fxx2 devices.
336 The directory is initialized via configure from toplevel.
338 2004-01-12 Klaus Flittner <klaus_flittner AT gmx.de>
340 * src/ds390/gen.c (operandsEqu): fixed a little typo, that prevented
341 the spilllocations to be compared correctly
343 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
345 * src/SDCCast.c (decorateType): fixed bug introduced today
347 2004-01-12 Borut Razem <borut.razem AT siol.net>
349 * src/SDCC.lex, support/Util/SDCCerr.h, support/Util/SDCCerr.c,
350 doc/sdccman.lyx: upper case pragmas are deprecated
352 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
354 * src/SDCCast.c (decorateType): replacing 'ul > 0' by '!ul' results
355 in simpler and even better code
357 2004-01-11 Bernhard Held <bernhard AT bernhardheld.de>
359 * src/SDCCicode.c (operandOperation): fixed bug #874819
360 * src/SDCCast.c (decorateType): fixed
361 char foo (unsigned long ul) { return ul > 0; }
363 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
365 * doc/sdccman.lyx: Moved and added some sections, small changes
366 all over. Telling LaTeX to be less strict with word spacing
367 to better keep the right margin. Changed some notes about
368 maintainance of the ports in section 3.2.1 - is it OK like this?
370 2004-01-11 Vangelis Rokas <vrokas AT otenet.gr>
373 * src/SDCCopt.c (cntToFcall, cnvToFloatCast, cnvFromFloatCast,
374 convilong): modified to inform the pic16 port that builtin functions
377 PIC16 PORT specific changes:
378 * src/pic16/device.c pic16_dump_equates() added,
379 processor registers declared internally by the port are emitted in
380 the translation as equates,
381 * src/pic16/gen.c: inline code is passed unprocessed to the
383 * (pic16_popGetLit2): fnuction modified to take second operand as
384 pCodeOp pointer and not as literal,
385 * (popRegFromIdx): prefixed with pic16_,
386 * (pic16_popCombine2): modified to receive already allocated pCode
388 * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): added
389 * (genFunction): initializes local stack frame and pushes on stack
390 all the registers used by this function,
391 * (genEndFunction): restores all registers from stack and restores
393 * src/pic16/glue.c (pic16emitRegularMap): various changes and
395 * (pic16glue): changed the program startup sequence,
396 * added new dbName code 'A' for functions placed in absolute section
397 * src/pic16/main.c: added function attribute _naked,
398 * added pragma 'code' to place a fnuction at an absolute address,
399 * added command line arguments --debug-ralloc and --pcode-verbose,
400 * (_pic16_finiliseOptions): options.all_callee_saves is set by default
401 * src/pic16/pcode.c (pic16_pBlockConvert2Absolute) added,
402 * (pic16_newpCodeOpLit2): modified to take the second operand as
404 * (pic16_printpBlock): modified to emit each function in a separate
406 * (pic16_get_op): modified to use the gpasm modifiers LOW,HIGH and
407 UPPER for immediate operands,
408 * src/pic16/pcodepeeph.c: added peephole support for the LFSR
410 * src/pic16/peeph.def: all peepholes with movff are commented out,
411 because there is a problem in the pcode peep optimizer,
412 * src/pic16/ralloc.c: the register allocator can now reuse local
413 function symbols for another function. This saves register usage.
414 * src/pic16/ralloc.h: added flag isLocal in structure regs,
416 Added file src/pic16/NOTES with information about program writing on
417 the current port version.
419 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
421 * src/mcs51/peephole.def: added peepholes 177.c,d (redundant moves)
422 and peephole 252 (array access)
424 2004-01-09 Borut Razem <borut.razem AT siol.net>
426 * src/SDCCmain.c : fixed #872250: -l command line defined library
427 files are scanned before standard library files
429 2004-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
431 * src/SDCCast.c (decorateType): fixed bug #874046
433 2004-01-09 Borut Razem <borut.razem AT siol.net>
435 * support/scripts/sdcc.nsi: remove previous installation
437 2004-01-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
439 * src/SDCCglue.c (createInterruptVect): don't append 7(5) padding
440 bytes for last interrupt vector (mcs51)
441 * sdcc.spec: fixed typo
443 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
445 * src/mcs51/gen.c (genFunction, genEndFunction, genReceive, getTempRegs,
446 gen51Code): more efficient parameter receive for --model-large
449 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
452 * src/z80/main.c: added missed needLinkerScript flags (more than
453 one port structure defined in these file)
454 * src/ds390/gen.c (aopForSym, aopOp, operandsEqu, aopOp3): fixed
457 2004-01-08 Vangelis Rokas <vrokas AT otenet.gr>
459 * src/SDCCmain.c: removed various references to DEFAULT_PORT
460 * src/port.h: added flag needLinkerScript in port->linker
461 structure to inform whether to create a .lnk file or not,
469 * src/z80/main.c: changed appropriately to configure
470 needLinkerScript flag
472 * src/pic16/gen.c (genAddrOf): fixed bug #863624
473 * src/pic/glue.c: added variable udata_section_name to
474 override default uninitialized data segment definition for
475 devices only with SHAREBANK memory (reported from Erik Epetrich)
476 * (pic14emitOverlay): modified to emit a commented overlay segment
477 directive when no overlay data exist
478 * (picglue): modified to emit uninitialized data segment
479 according to udata_section_name
480 * src/pic/main.c (_pic14_parseOptions): added command line
481 options --udata-section-name=[name] to override default
482 udata definition name
483 * modified _linkCmd and _asmCmd to include compiler passed
484 arguments via -W option
485 * src/pic16/main.c: added $l in _asmCmd, changed extension for
486 object file from '.rel' to '.o' in port->linker structure,
487 changed size of fptr from 2 to 3 in port structure
489 2004-01-07 Borut Razem <borut.razem AT siol.net>
491 * support/scripts/sdcc.nsi: update PATH
492 * support/scripts/sdcc.ico: craeted
494 2004-01-07 Bernhard Held <bernhard AT bernhardheld.de>
496 * device/include/Makefile.in: fix install
497 * doc/Makefile: fix install
499 2004-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
501 * src/SDCCsymt.c (processFuncArgs): fixed superflous allocation noted
503 * src/SDCCmem.c (printAllocInfoSeg, printAllocInfo): minor changes to
504 how the function variable allocation summary is displayed; also
505 include information about variables allocated to the overlay
508 2004-01-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
510 * as/mcs51/lkmain.c: Help about -Y option
511 * as/mcs51/lkarea.c: Fixed gcc warnings
513 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
515 * src/SDCCval.c (valShift): changed from 16 to 32 bit shift count,
517 * support/valdiag/tests/overflow.c: added
518 * src/SDCCast.c (decorateType),
519 * src/SDCCicode.c (geniCodeLeftShift): added promotion to int for
522 2004-01-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
524 * as/mcs51/lkmain.c: stack must be after data when option -Y is not used
527 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
529 A python script to validate compiler diagnostic messages. It can be
530 used to verify that sdcc complains about bad c source code and
531 gives a good location of the error.
532 * support/valdiag/Makefile,
533 * support/valdiag/valdiag.py,
534 * support/valdiag/tests/*
536 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
538 * src/SDCC.y (enum_specifier, enumerator_list, opt_assign_expr),
539 * src/SDCCsymt.c (newEnumType),
541 * support/Util/SDCCerr.c,
542 * support/Util/SDCCerr.h: fixed bug #871258 and some other unreported
544 * support/regression/tests/enum.c: added test for enum values that
545 require at least 2 bytes of storage.
547 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
549 * src/common.h: added ifndef/define/endif macros
550 around the header file.
551 Bug reported from Jesus Calvino-Fraga
553 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
556 * device/include/Makefile.in: don't install CVS directories
557 * device/lib/Makefile.in: added removal of CVS directories after install
558 * doc/Makefile: fixed install, added local_icons
559 * sim/ucsim/gui.src/Makefile.in: fixed an old typo
560 * src/mcs51/gen.c (genRightShift): fixed bug #870788
561 * src/ds390/gen.c (genRightShift): fixed bug #870788
562 * src/SDCCast.c (decorateType): fixed bug #870781
564 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
566 PIC16 port related changes:
567 * device.c: removed pic16_finalMapping and pic16_finalMappingSize,
568 added variable stackPos,
570 * gen.c: genCall, assignResultValue: added support for
571 pushing/retrieving function parameters to/from stack,
572 genFunction,genEndFunction: setup stack frame for the
574 genAddrOf: will be changed according to bug 863624
576 * added files genutils.c and genutils.h which contain gen*
577 debugged and optimised functions extracted from gen.c
579 * glue.c: added variable 'externs' which holds extern symbols,
580 pic16emitRegularMap: is modified to properly handle relocatable
581 symbols under the new scheme,
582 pic16createInterruptVect: is modified
583 pic16printPublics: is modified to emit 'global' assembler directives,
584 added pic16_printExterns to print extern symbols,
585 pic16glue: initializes stack/frame pointer in the beginning of
586 the assembly output. Temporary hack, will be corrected later,
587 because gplink yet does not support stack and SDCC does not
588 yet support a type of crt0.o object to create the final binary.
590 * Removed many lines that contain 8051 legacy code.
591 * The code is finally placed under a 'code' directive.
592 * Added port specific options.
594 * _process_pragma: simplified since now we do not need *special*
595 include file to define SFR registers. But a separate header
596 will be needed. This will be developed later.
597 * _pic16_parseOptions: added, parses port specific options:
598 --pgen-banksel, --obanksel=, --pomit-config-words, --pomit-ivt,
599 --pleave-reset-vector, --penable-stack, --pstack-model, --debug-xtra
600 --preplace-udata-with=
602 * _pic16_setDefaultOptions: modified to initialize section names,
603 but hack is temporarly out of order since it needs improvement.
604 * _pic16_genAssemblerPreamble: configuration words are emitted by
605 their address instead of their name. This part is incomplete and
606 supports only the 18Fxx2 devices. Other devices will emit an error
607 during assembly since they do not contain the same set of config
609 * _pic16_genIVT: is modified,
611 * pcode.c: added definitions for some hardware registers that are needed
613 * added flag is2LitOp and variable pci_magic in pCodeInstruction.
614 All PCI entries are updated. Now LFSR is supported.
615 * Removed pic16_pciTRIS is mentioned by mdubuc in source
616 * added pic16_newpCodeOpLit2 to support instructions with
617 two literal arguments
618 * pic16_pCode2str: corrected code that emits assembler instructions
619 with two literal operands and those that have an access bit modifier
620 * genericPrint: now PC_ASMDIR pCodes, can emit a label if it exists,
621 this fixes a bug which caused some labels to be lost, when an
622 assembler directive was added, i.e. banksel,
623 * pic16_FixRegisterBanking: improved logic that causes the insertion
625 * InlineFunction: functions that are called once, are not any more
626 inlined. This can be a port option in the future,
628 * pcode.h: added pCodeOpLit2 and added variable label in pCodeAsmDir
630 * ralloc.c: added pic16_rel_udata and pic16_fix_udata variables which
631 hold the corresponding uninitialized symbols,
632 * pic16_allocProcessorRegister: registers have explicit marked the
634 * pic16_allocInternalRegister: registers are explicit marked as
636 * pic16_writeUsedRegs: pic16_dynDirectBitRegs was missing from the
637 processing list, so bit registers were lost,
640 * ralloc.h: added field 'accessBank' and original symbol operand
641 in register definition,
642 * removed the field isMapped from register definition,
644 ** Several functions have been removed from various sources:
645 BanksUsedFlow2,BanksUsedFlow,FixBankFlow,InstructionRegBank,
646 pic16_addMemRange,pic16_isREGinBank,pic16_dump_map,pic16_dump_cblock
647 isSFR,validAddress,mapRegister,assignRegister,pic16_assignFixedRegisters
648 pic16_assignRelocatableRegisters
650 ** others have been introduced:
651 pic16_areRegsSame,pic16_dump_section,checkAddReg,pic16_groupRegistersInSection
652 pic16_popGetLit2,pic16_popCombine2,pushw,pushaop
654 2004-01-05 Vangelis Rokas <vrokas AT otenet.gr>
656 * support/scripts/inc2h.pl: changed definition of BIT_AT
657 to emit 'sbit at' instead of 'bit at'. This was a request.
659 PIC16 port related preliminary changes:
660 * gen.c: prefixed function popRegFromString with
661 pic16_ and all references to it corrected
662 * pcode.c: all pic16_pc_* hardware registers prefixed
664 pic16_popCopyGPR2Bit(): function sets register wasUsed=1
665 * ralloc.c: newReg(): when register is REG_SFR then
667 pic16_allocProcessorRegister(): marks register wasUsed=0
668 pic16_writeUsedRegs(): added a call to assign processor
669 registers via pic16_assignFixedRegisters
671 2004-01-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
673 * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c,
674 as/mcs51/lkmain.c, as/mcs51/lkmem.c: 8051 linker can now pack
675 variables in unused register banks. Also the SSEG is placed
676 wherever there is enough space for it, and IDATA can be anywhere
677 in internal RAM. For now compile using -Wl-Y[stack_size].
678 The mem file is different for this option as well, since it
679 makes no sense of talking about DSEG lenght.
681 2004-01-02 Vangelis Rokas <vrokas AT otenet.gr>
683 * src/SDCClrange.c: fixed bug 869095 that caused segfault
684 in certain cases, e.g. when ROM assignment, patch provided
685 from Albert den Haan.
687 2004-01-01 Bernhard Held <bernhard AT bernhardheld.de>
689 Many signedness and type propagation fixes:
690 * src/SDCCicode.c: made geniCodeCast() static
691 replaced SPEC_ by IS_ (cosmetic)
692 (operandOperation): fixed div and mod operation
693 (usualBinaryConversions): added support for promotion of char
694 (geniCodeMultiply): replaced (unsigned long) by (TYPE_UDWORD)
695 (geniCodeDivision): replaced (unsigned long) by (TYPE_UDWORD)
696 (geniCodeAdd): an array index will stay unsigned, even if promoted
698 (geniCodeArray): ditto
699 * src/SDCCicode.h: made geniCodeCast() static: removed prototype
700 * src/SDCCsymt.c (computeType): added more support for char;
701 promotion of char is selectable by promoteCharToInt, fixed signedness
703 (powof2): replaced (unsigned long) by (TYPE_UDWORD)
704 * src/SDCCsymt.h (powof2): replaced (unsigned long) by (TYPE_UDWORD)
705 * src/SDCCval (val*): replaced signedness calculation by
707 rearranged if-branches (cosmetic)
708 (valShift): added warning W_SHIFT_CHANGED
709 (valCompare): fixed problem with different types
710 * src/hc08/rallo.c (leastUsedLR): fixed gcc 3.3 warning
711 * support/regression/tests/literalop.c: added many cases
712 * support/regression/tests/ast_constant_folding.c: changed finally to
714 * .version: new year, new version: 2.3.7
715 * src/SDCCmain.c (main): applied patch #866468
716 * debugger/mcs51/sdcdb.c (parseCmdLine): added -k for ucsim, patch
717 provided by Scott Bronson
718 * doc/sdccman.lyx: updated documentation for sdcdb
719 updated and added chapter tips
721 2004-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
723 * src/SDCCsymt.h: missing from yesterday's commits
725 2003-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
727 * src/SDCC.y (struct_or_union_specifier),
728 * support/Util/SDCCerr.c,
729 * support/Util/SDCCerr.h: verify that struct & union tags are used
732 2003-12-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
734 * src/SDCCglobl.h: missing from yesterday's commits
736 2003-12-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
738 * src/SDCC.y (external_definition, type_specifier2, sfr_reg_bit,
739 sft_attributes, struct_declaration, parameter_declaration,
740 type_name, start_block, declaration_list),
741 * src/SDCC.lex (check_type): support redefinition of typedef names
743 2003-12-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
745 * src/mcs51/gen.c (genPlus): added special handling for 256 byte
746 aligned xdata arrays. Erik helped me with the if clause.
748 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
750 * device/lib/ds390/tinibios.c (CpuSpeed): suppress unreachable code
753 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
756 * src/SDCCast.c (newAst_),
758 * src/SDCCicode.c (ast2iCode, newiCode),
760 * src/SDCC.y (logical_and_expr, logical_or_expr, conditional_expr,
761 expr, statement, expression_statement, selection_statement,
762 iteration_statement, expr_opt, jump_statement): foundation for tracking
764 * src/SDCCopt.c (killDeadCode): fixed bug #861580 (needs the sequence
767 2003-12-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
769 * support/Util/SDCCerr.c,
771 * src/SDCCast.c (createCase, createDefault, decorateType),
772 * src/SDCClabel.c (labelUnreach),
773 * src/SDCC.y (labeled_statement, jump_statement): More improvements
775 * support/Util/SDCCerr.c (werrorfl): fixed a non-standard declaration
776 (with thanks to Stas Sergeev)
777 * device/include/time.h,
778 * device/lib/time.c (CheckTime): suppress unreachable code warning
780 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
782 * src/SDCCast.c (createIvalCharPtr),
783 * src/SDCCglue.c (printChar): fixed bug #862241 (an error in my fix for
785 * support/regression/tests/nullstring.c: tests for these two bugs
787 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
789 * support/Util/SDCCerr.h,
790 * support/Util/SDCCerr.c (E_NOT_ALLOWED),
791 * src/SDCC.y (struct_declaration, struct_or_union_specifier): complain
792 about storage class and 'at' used inside struct or union
793 * src/SDCCBBlock.c (iCodeFromeBBlock),
794 * src/SDCCcse.c (ifxOptimize),
795 * src/SDCCglue.c (emitRegularMap, initPointer, printIvalStruct,
796 printIvalArray, printiValFuncPtr, printIvalCharPtr, printIvalPtr,
797 printIval, emitStaticSeg, emitOverlay),
798 * src/SDCClabel.c (deleteIfx),
799 * src/SDCCopt.c (replaceRegEqv, eBBlockFromiCode),
800 * src/SDCCast.c (resolveSymbols, createIvalStruct, createIvalArray,
801 gatherAutoInit, processParms),
802 * support/Util/SDCCerr.h,
803 * support/Util/SDCCerr.c (werrorfl): Support for better error location
804 reporting for post-parse errors.
806 2003-12-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
808 * src/SDCCval.c (valPlus, valMinus, valShift): fixed some problems with
809 implicit casts via union; they don't work on big endian systems
810 (possible fix for bug #861138)
812 2003-12-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
814 (committed by Erik Petrich <epetrich AT ivorytower.norman.ok.us> on Frieder's behalf)
815 * src/mcs51/main.c: fixed the fix for bug #737001
817 2003-12-15 Borut Razem <borut.razem AT siol.net>
819 * support/scripts/sdcc.nsi: updated for NSIS 2.0 beta 4
821 2003-12-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
823 * support/makebin/makebin.c: put output in binary mode
825 2003-12-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
827 * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears
828 xdata and data memory on startup. Set the environment variable
829 SDCC_NOGENRAMCLEAR to disable this.
830 * src/mcs51/peephole.def,
831 * src/ds390/peephole.def: using the atomic test and clear instruction jbc
832 (allows non-interrupt and interrupt code to safely compete for a resource
833 without the non-interrupt code having to disable interrupts)
835 2003-12-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
837 * src/SDCCicode.c (geniCodeAdd),
838 * src/SDCCast.c (decorateType): fixed bug #857753 (need to be careful
839 with valFromType if type might be a pointer and host is big endian).
840 * src/SDCCast.c (decorateType): unary plus compatible with all arithmetic
841 types, not just integer types.
842 * src/SDCCsymt.c (addSymChain): clarified error message when symbol is
843 multiply defined with mismatching "at" address.
845 2003-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
847 * src/ds390/main.c (PORT tininative_port): fixed bug #858416
848 * src/SDCCglue.c (printChar, printIvalChar, emitStaticSeg),
849 * src/SDCCast.c (createIvalCharPtr, stringToSymbol): handle strings
850 with embedded nulls (fixed bug #753752)
852 2003-12-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
854 * src/mcs51/main.c(_mcs51_genRAMCLEAR): using r0 instead of r1/r2.
855 Apparently this did not see much testing (endless loop)
857 2003-12-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
859 * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
861 2003-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
863 * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
864 gracefully handle NULL memmap pointers
866 2003-12-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
868 * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
869 instead of deleting the iCode when an operand is volatile
870 * src/z80/gen.c (genDummyRead),
871 * src/mcs51/gen.c (genDummyRead),
872 * src/ds390/gen.c (genDummyRead),
873 * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
875 * src/SDCCicode.c (geniCodeCall): fixed bug #851607
876 * src/SDCC.y: fixed bug #850420
878 2003-12-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
880 Applied z80 i/o port patch from Peter Townson and fixed some operators
881 to better handle operands in A register.
882 * device/include/z180.h
888 * src/z80/peeph-z80.def
892 2003-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
894 * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
896 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
898 * device/lib/hc08/_mullong.c: Removed extra #endif
900 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
902 * sim/ucsim/hc08.src/inst.cc,
903 * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
905 * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
906 * src/hc08/gen.c (XAccRsh): fixed problem with right shift
907 * device/include/stdarg.h: fixed varargs for hc08
908 * device/lib/Makefile.in,
909 * device/lib/hc08/Makefile,
910 * device/lib/hc08/_mulint.c,
911 * device/lib/hc08/_mullong.c: fixed some endian problems
913 2003-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
915 * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
916 * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
917 * device/lib/_gptrget.c,
918 * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
920 2003-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
922 * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
923 * src/SDCCast.c (astErrors): fixed bug #846007
924 * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
926 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
928 * src/SDCCast.c (decorateType): disabled a transformation I added in
929 revision 1.188 (access to fields of a structure at an absolute address);
930 it breaks with bitfields, extern declarations, and gcse analysis.
931 * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
932 could be assigned through a pointer, so don't complain.
933 * src/SDCCast.c (astErrors),
935 * src/SDCCglue.c (emitRegularMap): fixed bug #847813
937 2003-11-26 Vangelis Rokas <vrokas AT otenet.gr>
939 * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
940 * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
941 output of __config directives, since gpasm now supports them
942 * src/pic16/main.c (_pic16_finaliseOptions): define MCU
943 pre-processor macro, i.e. -DMCU=p18f452
944 * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
945 and modified to handle 'cast' icode similarly to '=' icode
946 * src/pic16/device.h (typedef struct PIC_device): added field
947 'extMIface' to indicate that chip has external memory interface
948 * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
949 18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
952 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
954 * src/SDCC.y (pointer): fixed bug #846006
955 * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
956 * src/SDCCast.c (decorateType): fixed bug #846009
957 * src/ds390/peeph.def,
958 * src/ds390/gen.c (genAnd, genOr),
959 * src/mcs51/peeph.def,
960 * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
962 2003-11-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
964 Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
971 2003-11-23 Klaus Flittner <klaus_flittner AT gmx.de>
975 * src/SDCCbitv.c: added function to free a bitvector
977 * src/SDCClrange.c: added function to recompute the liveranges
979 * src/ds390/ralloc.c,
981 * src/mcs51/ralloc.c,
983 * src/pic16/ralloc.c,
985 * src/z80/ralloc.c: recompute the liveranges after register packing
987 2003-11-21 Klaus Flittner <klaus_flittner AT gmx.de>
989 * src/SDCCloop.c (newInduction): fixed bug #845630
991 2003-11-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
993 * src/SDCCsymt.c (compareTypesExact): disabled debugging output
994 inadvertantly left behind from my 2003-11-12 change
996 2003-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
998 Updated headers I neglected to commit yesterday.
1002 2003-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1004 * src/SDCCcse.c (algebraicOpts): fixed bug #773153
1005 * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
1006 * src/SDCCopt.c (eBBlockFromiCode),
1007 * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
1008 the creation of the key hash table from the sequencing so it can be used
1009 earlier (for some GCSE bug fixes still pending)
1011 2003-11-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1013 * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
1014 * support/regression/tests/addsub.c: testing genPlus shortcut
1016 2003-11-15 Borut Razem <borut.razem AT siol.net>
1018 * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
1020 2003-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1022 * src/SDCCcse.c (cseBBlock): fixed bug #527779
1023 * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
1024 ordering is immaterial.
1025 * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
1027 2003-11-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1029 * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
1030 * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
1031 (SIGSEV) of bug #840381
1032 * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
1033 unlink new file before rename if new and old filenames are the same)
1035 2003-11-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1037 * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
1038 uninitialized variables) for the mcs51. Set environment variable
1039 SDCC_GENRAMCLEAR to test.
1040 xdata initialization slightly shorter
1042 2003-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1045 * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
1046 #838241 & 780691 (basicly the same bug)
1047 * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
1048 * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
1050 2003-11-11 Bernhard Held <bernhard AT bernhardheld.de>
1052 * src/SDCCmain.c (linkEdit): "fix" #834252
1054 2003-11-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1056 * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
1058 * src/SDCC.y: fixed bug #819403
1060 2003-11-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1062 * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
1063 the reentrant attribute.
1064 * src/hc08/gen.c (genPackBits): added missing stack readjustment
1065 * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
1067 * src/SDCCast.c (decorateType): fixed bug with storage class not being
1068 updated during pointer dereference; f.e. ~(((char *)1)*) was being
1069 erroneously reduced to a literal.
1070 * src/hc08/ralloc.c (packRegisters, rematStr),
1071 * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
1074 2003-11-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1076 * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
1077 * doc/sdccman.lyx: changed from 'article' to 'book'
1078 * doc/Makefile: readded test_suite_spec and cdbfileformat
1080 2003-11-08 Bernhard Held <bernhard AT bernhardheld.de>
1082 * device/include/stdlib.h: include malloc.h to comply with ANSI
1083 * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
1085 2003-11-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1087 * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
1088 * doc/clean.mk: also remove *.out files
1089 * doc/sdccman.lyx: some additions, larger top/bottom margins
1091 2003-11-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1093 * src/SDCC.y: fixed bug #837365
1094 * support/regression/tests/bitopcse.c
1095 * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
1096 a symbol (might be valop instead)
1097 * device/lib/Makefile.in: added errno.c to HC08SOURCES
1098 * device/lib/clean.mk: added hc08 to the cleaning list
1100 2003-11-04 Borut Razem <borut.razem AT siol.net>
1102 * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
1104 * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
1105 as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
1106 malloc is declared in standard stdlib.h
1108 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1110 * device/lib/hc08/Makefile: need to clean .rel not .o files
1111 * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
1113 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1123 * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
1124 * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
1125 tests (which uses the port's oclsExpense function)
1131 * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
1133 2003-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1135 * src/SDCCcse.c (ifxOptimize),
1136 * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
1137 an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
1138 deleting the IFX iCode.
1139 * src/hc08/ralloc.c: reduced unneeded slocs
1140 * src/hc08/gen.c: fixed bug in asmopToBoolean
1142 2003-11-04 Borut Razem <borut.razem AT siol.net>
1144 * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
1145 support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
1146 as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
1147 transferred to configure
1149 2003-11-03 Bernhard Held <bernhard AT bernhardheld.de>
1151 Use headers defined in the C[++] standards:
1152 * sim/ucsim/gui.src/serio.src/fileio.cc
1153 * sim/ucsim/gui.src/serio.src/frontend.cc
1154 * sim/ucsim/gui.src/serio.src/main.cc
1155 * sim/ucsim/gui.src/serio.src/posix_signal.cc
1156 * support/Util/NewAlloc.c
1162 2003-11-03 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1164 * Added MSVC projects for hc08 assembler and linker:
1165 all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
1166 /as/hc08/link_hc08.dsp
1168 2003-11-03 Martin Helmling <Martin.Helmling AT octo-soft.de>
1170 * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)
1172 2003-11-02 Bernhard Held <bernhard AT bernhardheld.de>
1174 * src/SDCCmain.c (linkEdit): "fixed" again bug #833605
1176 2003-11-01 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1178 * src/mcs51/main.c: xdata initialization is 13 bytes shorter now
1180 2003-10-31 Borut Razem <borut.razem AT siol.net>
1182 * support/cpp2/cpplib.h,
1183 support/cpp2/cpplib.c,
1184 support/cpp2/cpplex.c,
1185 support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ]
1186 to switch _asm block preprocessing on / off. Default is
1187 #pragma preproc_asm +
1189 2003-10-31 Borut Razem <borut.razem AT siol.net>
1191 * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences
1192 when outputting comment blocks (when executed with -C option) and
1193 _asm (SDCPP specific) blocks
1195 2003-10-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1197 * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning
1199 2003-10-31 Klaus Flittner <klaus_flittner AT gmx.de>
1201 * src/SDCCcse.c (updateSpillLocation): fixed bug #808027
1203 2003-10-31 Bernhard Held <bernhard AT bernhardheld.de>
1205 * src/SDCCmain.c (linkEdit): "fixed" bug #833605
1206 * src/SDCCast.c (decorateType): fixed bug #832664
1208 2003-10-31 Borut Razem <borut.razem AT siol.net>
1210 * support\cpp2\cpplex.c: fixed for SDCPP:
1211 comments(when executed with -C option) and _asm blocks
1212 were included even if they where in skipped #if block.
1213 Applied solution from GCC cpp 3.3.2
1215 2003-10-31 Borut Razem <borut.razem AT siol.net>
1217 * src/SDCC.lex: sdcc now understands both formats:
1218 '# <line_number> <file_name>' and
1219 '#line <line_number> <file_name>'
1220 * support/cpp2/cppmain.c: sdcpp now generates the standard
1221 '# <line_number> <file_name>' instead of former
1222 '#line <line_number> <file_name>'
1224 2003-10-30 Borut Razem <borut.razem AT siol.net>
1226 * support/cpp2/cpphash.h,
1227 * support/cpp2/cpplib.h
1228 * support/cpp2/cpplex.c,
1229 * support/cpp2/cppmain.c,
1230 * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants
1232 2003-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1234 Fixed a number of problems revealed by bug #827883.
1235 * src/SDCCloop.c (loopInvariants): Spill location of the
1236 result operand should be recomputed if extracted from
1237 a loop. Also, don't extract assignments of an iTemp
1239 * src/SDCCast.c (isConformingBody): loop reversal should
1240 not occur if the control variable is involved with a
1241 relational operator.
1243 2003-10-28 Bernhard Held <bernhard AT bernhardheld.de>
1245 * .version: bumped to 2.3.6 to reflect the big improvements
1246 made by Erik and Klaus. Thanks!
1248 2003-10-28 Klaus Flittner <klaus_flittner AT gmx.de>
1250 Replaced the livrange code.
1251 * src/SDCClrange.c: added new LR code
1253 * src/SDCCBBlock.h: removed remainig parts from old LR code
1254 * src/ds390/ralloc.c,
1255 * src/ds390/gen.c: minor fixes to make it work with new code
1257 2003-10-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1262 * src/hc08/ralloc.c: Fix various warnings related to the hc08
1263 * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717
1264 (tweaked fix for bug #818696)
1266 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1268 * src/z80/ralloc.c (joinPushes): Fixed bug #828742
1270 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1273 * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work)
1274 * src/mcs51/gen.c (gencjneshort),
1275 * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand
1276 more efficient (per Scott Bronson's suggestion)
1278 2003-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1280 Extended the semantics of the critical keyword to include
1281 individual statements. See RFE #827755 and #799831
1286 * support/Util/SDCCerr.c
1287 * support/Util/SDCCerr.h
1292 2003-10-19 Borut Razem <borut.razem AT siol.net>
1294 * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31
1296 2003-10-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1298 * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode):
1300 * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement
1301 and predecrement operand is displayed
1303 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
1305 * src/SDCCval.c (valMinus): fixed bug #826041
1307 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1309 Some hc08 related updates that I missed earlier
1310 * sim/ucsim/stypes.h
1311 * support/regression/ports/hc08/spec.mk
1313 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1315 New target "hc08" for the Motorola 68hc08 family of micros
1323 * sim/ucsim/hc08.src/*
1324 * sim/ucsim/configure.in
1325 * src/ucsim/configure
1326 * sim/ucsim/packages_in.mk
1329 * device/include/mc68hc908qy.h
1331 * device/lib/Makefile.in
1332 * support/regression/ports/hc08/*
1333 * support/regression/Makefile
1335 2003-10-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1337 * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c
1339 * src/ds390/gen.c (genCast): fixed bug #821957
1341 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
1343 * device/lib/logf.c: "fixed" overlay bug
1344 * support/regression/ports/host/spec.mk: added m library
1345 * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs
1346 * support/regression/tests/float_trans: added (for Eric)
1348 2003-10-12 Bernhard Held <bernhard AT bernhardheld.de>
1350 * src/mcs51/gen.c (genCpl): fixed bug
1351 http://sf.net/mailarchive/message.php?msg_id=6263915
1353 2003-10-10 Bernhard Held <bernhard AT bernhardheld.de>
1355 * src/SDCCast.c (decorateType): added extended constant folding
1356 * src/SDCCsymt.c (computeType): cleanup
1357 * src/SDCCval.c (valShift): minor optimization
1358 * support/regression/tests/ast_constant_folding.c: added
1360 2003-10-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1362 * src/SDCCmain.c: removed some unintended changes
1364 2003-10-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1366 * src/SDCCmain.c (setParseWithComma): fixed bug #816685
1367 * src/z80/gen.c: fixed part of bug #817589
1368 * src/SDCCsymt.c (checkFunction): fixed bug #817895
1370 2003-10-08 Bernhard Held <bernhard AT bernhardheld.de>
1372 Replaced cast (void **) with (void *) to avoid gcc 3 warning:
1383 * src/ds390/ralloc.c
1385 * src/mcs51/ralloc.c
1387 * src/pic16/ralloc.c
1390 * src/z80/gen.c: removed unused label "release:"
1392 2003-10-06 Borut Razem <borut.razem AT siol.net>
1394 * src/SDCC.lex: removed definition of unused variables
1395 save_optimize and save_options
1397 2003-10-06 Bernhard Held <bernhard AT bernhardheld.de>
1399 * clean.mk: removed '=' in "-maxdepth=1"
1400 * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS
1401 * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS
1403 2003-10-06 Borut Razem <borut.razem AT siol.net>
1405 * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions;
1406 my_unput() replaced by unput()
1408 2003-10-05 Bernhard Held <bernhard AT bernhardheld.de>
1410 * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
1411 setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
1412 type-punned pointer will break strict-aliasing rules"
1413 Old LR behaviour is again default; Klaus' LR can be choosen by
1414 defining the environment variable LRKLAUS
1418 * src/ds390/ralloc.c (spillThis): applied Klaus' patch
1419 * clean.mk: fixed removal of files in bin/CVS/
1420 * device/lib/clean.mk: fixed removal of directories small and large
1421 * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
1423 * src/SDCCval.c: removed superflous test for pedantic
1425 2003-10-05 Borut Razem <borut.razem AT siol.net>
1427 * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
1428 Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
1429 message "unmatched #pragma SAVE and #pragma RESTORE"
1431 2003-10-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1433 * doc/sdccman.lyx: various additions and updates (interrupts, inline
1434 assembly, critical functions, atomic, nojtbound)
1436 2003-10-04 Bernhard Held <bernhard AT bernhardheld.de>
1438 Applied liferange patch from Klaus Flittner <klaus_flittner AT gmx.de>
1444 2003-10-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1447 * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
1449 * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
1451 * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
1452 * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
1453 * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
1455 2003-10-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1457 * src/z80/gen.c (genRet): fixed bug #524753
1458 * src/z80/gen.c (genCast): fixed internal error on cast from
1460 * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
1461 fix for bug #477835 to the z80
1462 * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
1463 for tracking iCodes in the peephole optimizer for z80
1465 2003-10-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1467 * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
1468 the other part of bug #814548
1469 * src/SDCCpeeph.c (labelInRange): fixed bug #814558
1471 2003-09-30 Bernhard Held <bernhard AT bernhardheld.de>
1473 * src/SDCCcse.c: fixed part of bug #814548
1475 2003-09-28 Borut Razem <borut.razem AT siol.net>
1477 * src/asm.c: rewrite of printILine() to use temporary file instead
1479 * src/xa51/main.c: commented out declaration of int rewinds
1481 2003-09-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1483 * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
1485 2003-09-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1487 * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
1488 * src/asm.c (printILine): Fixed bug #811015
1490 2003-09-22 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1492 *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
1495 2003-09-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1497 * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
1498 * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
1499 to correctly handle general case of AOP_PAIRPTR
1500 * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
1502 2003-09-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1504 * src/mcs51/ralloc.c (fillGaps),
1505 * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
1506 register positioning bug)
1508 2003-09-21 Bernhard Held <bernhard AT bernhardheld.de>
1510 * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
1512 2003-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1514 * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
1515 genCodePointerGet, genGenPointerGet, genFarPointerSet,
1516 genGenPointerSet): handle AOP_DPTR correctly when loading dptr
1517 (ralloc doesn't intentionally do this now, but perhaps later)
1518 * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
1519 * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
1520 register positioning bugs (Fixed bug #762602 and #795325)
1521 * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
1523 * src/z80/gen.c: increased _vemit2's buffer[] to handle long
1524 lines that --i-code-in-asm generates
1526 2003-09-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1528 *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
1529 trying to fclose a FILE* that was already closed.
1531 2003-09-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1533 * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
1534 of const struct should be treated as if const themselves)
1536 2003-09-18 Bernhard Held <bernhard AT bernhardheld.de>
1538 * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
1540 2003-07-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1542 * support/librarian/sdcclib.c: Generate correct offsets for libraries with
1543 Unix (/n) and DOS (/r/n) line terminations.
1545 2003-09-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1547 * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
1550 2003-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1552 * src/mcs51/gen.c (genFunction, genEndFunction),
1553 * src/ds390/gen.c (genFunction, genEndFunction): Moved save
1554 and restore of EA so that stack offsets to parameters are
1555 correct when using both critical and reentrant/stack-auto.
1556 * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
1557 size (can be triggered in error if sloc is shared between
1558 different sized objects)
1559 * device/include/float.h: fixed macros to explicitly use
1560 unsigned long where needed
1562 2003-09-15 Bernhard Held <bernhard AT bernhardheld.de>
1564 Feature req. 799831: added code to allow nesting of critical functions
1565 * src/mcs51/gen.c (genFunction, genEndFunction)
1566 * src/ds390/gen.c (genFunction, genEndFunction)
1568 2003-09-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1570 * src/SDCCsymt.c (sclsFromPtr),
1572 * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
1573 support for standard C idiom of memory mapped variables; for
1574 example, *((xdata int*)0x1234) = 1 is now internally equivalent
1575 to xdata int at 0x1234 tempvar = 1.
1576 * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
1577 provided by Akiya ISHIDA
1579 2003-09-13 Bernhard Held <bernhard AT bernhardheld.de>
1581 * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
1582 * src/SDCCval.c (constVal): added reduction from int to char
1583 * src/SDCCval.c (valMult, valDiv): fixed sign handling
1584 * src/SDCCval.c (valShift): fixed after change of cheapestVal()
1585 * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
1587 * support/regression/tests/shifts.c: fixed
1589 2003-09-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1591 * src/z80/gen.c (genXor): Fixed bug #805445
1593 2003-09-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1595 Fixed bug #621531 (const & volatile confusion in the type chain).
1596 DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
1597 refer to the const or volatile state of the pointer itself.
1609 * src/pic16/ralloc.c
1610 * support/regression/tests/const.c
1612 2003-09-10 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1614 When checking for duplicated modules, use absolute paths
1615 instead of relative paths. Files changed:
1620 2003-09-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1622 * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
1624 2003-09-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1626 * device/include/string.h: added size_t typedef, changed
1627 prototypes to use size_t, eliminated separate reentrant and
1628 non-reentrant declarations, added _memmove declaration
1629 * device/lib/_memcpy.c: changed to use size_t instead of int,
1630 changed /4 to >>2 to avoid division library call
1631 * device/lib/_memcmp.c,
1632 * device/lib/_memset.c,
1633 * device/lib/_strncat.c,
1634 * device/lib/_strncpy.c,
1635 * device/lib/_strncmp.c: changed to use size_t instead of int
1636 * device/lib/_memmove.c: new file (fixed bug #772294)
1637 * device/lib/Makefile.in: added _memmove.c
1638 * device/lib/z80/asm_strings.s: fixed bug #772290
1639 * support/regression/tests/bitfields.c: attempt to fix host assertion
1640 failure on amd64-unknown-linux2.2
1642 2003-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1644 * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
1645 * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
1646 * as/z80/asmain.c (main): fixed bug #801766
1648 2003-09-06 Bernhard Held <bernhard AT bernhardheld.de>
1650 * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
1653 2003-09-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1655 * src/SDCCast.c (isConformingBody): fixed loop reversal bug
1656 reported in bug #800609
1658 2003-09-04 Vangelis Rokas <vrokas AT otenet.gr>
1660 * Top header beautifications in src/pic16 directory:
1661 device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
1662 pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
1663 pcoderegs.h, ralloc.c, ralloc.h
1664 * main.c: added top header and GPL license notice
1665 * pcode.c: fixed the if-conditional warning
1667 2003-09-04 Bernhard Held <bernhard AT bernhardheld.de>
1669 * device/lib/_mullong.c: replaced int by short for gcc
1671 2003-08-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1673 * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
1674 and JUMPTABLE iCodes properly now (worked by accident before)
1675 * src/mcs51/gen.c (leftRightUseAcc),
1676 * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
1677 iCode properly now. Use getSize instead of nRegs since a & b
1678 aren't part of the nRegs tally.
1680 2003-08-31 Vangelis Rokas <vrokas AT otenet.gr>
1682 * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
1683 * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
1684 before instructions that use the _STATUS register
1686 2003-08-31 Bernhard Held <bernhard AT bernhardheld.de>
1688 * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
1689 * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
1690 fetching of the pointer
1691 * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
1692 copied from genNearPointerSet()
1693 * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
1694 * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
1695 If they pop r0/r1 they must be called in the opposite order than aopOp().
1696 * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
1697 (resp. --stack-auto), prepared for --xstack
1699 2003-08-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1701 * doc/sdccman.lyx: reverted tables to those in cvs 1.64
1703 2003-08-28 Bernhard Held <bernhard AT bernhardheld.de>
1705 * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
1706 these ports have their own __sdcc_external_start()
1708 2003-08-26 Bernhard Held <bernhard AT bernhardheld.de>
1710 pic patch provided by Slade Rich <slade_rich AT yahoo.com>
1711 * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
1712 type for bits was changed. It resulted in bit variables becoming
1713 global, which is not permitted in PIC 14 assembly output.
1715 2003-08-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1717 * doc/sdccman.lyx: various additions and updates. Rearranged sections
1719 2003-08-22 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1721 Z80 and MCS51 linkers complaint if a public symbol is defined
1722 in more than one library module:
1726 * as/mcs51/Makefile.in
1728 2003-08-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1730 A few small changes that speed up the peephole optimizer.
1734 2003-08-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1736 Try to make the peephole optimizer smarter by maintaining
1737 an association between the assembly source code and the
1738 iCodes that originated them. Put this information to use
1739 with a new peephole rule condition "notVolatile" so that
1740 the rules can be aggressive yet still safe.
1745 * src/mcs51/peeph.def
1747 2003-08-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1751 * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
1752 * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
1753 if the left or right operand symbols have the accuse flag set.
1755 2003-08-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1757 Changed the type of the result of the ! (NOT) operator to char;
1758 previously it returned the same type as the source. This allows
1759 us to eliminate all the genFloatNot functions (all of its target
1760 implementations were very buggy) since !float can use the same
1763 * src/SDCCicode.c (ast2iCode): ! returns char
1764 * src/mcs51/gen.c (genNot, genNotFloat),
1765 * src/ds390/gen.c (genNot, genNotFloat),
1766 * src/z80/gen.c (genNot, genNotFloat),
1767 * src/pic/gen.c (genNot, genNotFloat),
1768 * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
1770 2003-08-19 Bernhard Held <bernhard AT bernhardheld.de>
1772 pic patch provided by Slade Rich <slade_rich AT yahoo.com>
1773 1. Interrupt would not compile properly. Ensure PCLATH register is saved
1774 during interrupts. Ensure WSAVE is located at a shared bank address.
1775 2. Fixed page selection in some places
1776 3. Fixed BTFSS/C to where necessary use registers directly and not simply
1777 the registers name strings.
1778 4. Fixed "signed / unsigned compare" compiler warnings.
1779 5. The PIC port manages its own allocation of the general purpose
1780 registers, but makes no attempt to reuse them. As a result when
1781 compiling it soon runs out of general purpose registers. Some
1782 additional code was added to the files pcode.c and device.c to walk
1783 through the function call tree and rename the registers so that they
1793 * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
1794 genPlus() & genMinus() when the result is the same as left or right
1796 2003-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1798 * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
1800 2003-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1802 Made bitfield a distinct type from bit so that bitfields
1803 convert as per ANSI C and bits retain their traditional
1804 boolean style behaviour. Implemented bitfield support in
1812 * src/ds390/gen.c: bit v bitfield split
1813 * src/z80/gen.c: New support for bitfields
1814 * support/regression/tests/bitfields.c: reenabled z80,
1817 2003-08-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1819 Rules 246.x, 247.x relate to bitfields, the others speed up
1820 access to xdata mapped I/O devices.
1822 * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
1824 2003-08-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1826 Cleaned up genPackBits and genUnpackBits and added two helper
1827 functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
1828 for literal assignments in genPackBits (thanks to Frieder for
1834 2003-08-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1836 Fixed bug #748310 (pointer to function type mishandled when the
1837 function name is omitted). Also fixed a SIGSEGV when a function
1838 attribute (reentrant, etc) is used on a non-function or on a
1839 function but misplaced before the parameter list.
1841 * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
1843 * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
1844 * support/Util/SDCCerr.h,
1845 * support/Util/SDCCerr.c: Added func attr misuse error msg
1847 2003-08-13 Bernhard Held <bernhard AT bernhardheld.de>
1849 Fixed bug #787649 by anonymous
1850 * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
1851 * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
1853 2003-08-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1855 Fixed numerous bitfield problems.
1857 * src/SDCC.y: More bitfield related error checking
1859 * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
1860 * support/Util/SDCCerr.h,
1861 * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
1862 * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
1863 * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
1864 * support/regression/tests/bitfields.c: tests added
1866 2003-08-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1868 Made the constant following the "interrupt" keyword optional. If
1869 omitted, the function will not automatically be given an entry
1870 in the interrupt vector table (similar to #pragma NOIV, but
1871 less syntacticly kludgy). The interrupt number is also now
1872 range checked. Also fixed a bug in the high order bit example
1879 * support/Util/SDCCerr.c
1880 * support/Util/SDCCerr.h
1883 2003-08-13 Bernhard Held <bernhard AT bernhardheld.de>
1885 * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
1886 * src/SDCCicode.c (operandOperation): rewritten some ops
1887 (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
1888 * src/SDCCsymt.c (computeType): literals are handled the same way as any
1890 * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
1891 be re-activated by defining REDUCE_LITERALS)
1892 * src/SDCCval.c (constVal): fixed; hex and octal constants can be
1893 unsigned, but are signed by default
1894 * src/SDCCval.c (constVal): rearranged
1895 * src/SDCCval.c (valMod): preliminary fix
1896 * src/SDCCval.c (valCastLiteral): use TYPE_* types
1897 * support/regression/literalop.c: added, work in progress
1899 2003-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1901 Generate warnings for useless declarations like "char data;"
1902 that don't do what new users expect.
1905 * support/Util/SDCCerr.h
1906 * support/Util/SDCCerr.c
1908 2003-08-09 Bernhard Held <bernhard AT bernhardheld.de>
1910 * src/SDCCval.c (valMult): fix overflow detection of negative int
1912 2003-08-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1914 * src/z80/ralloc.c (joinPushes): made compatible with new signedness
1916 Changes to support big endian targets:
1929 2003-08-06 Bernhard Held <bernhard AT bernhardheld.de>
1931 * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
1932 * device/lib/time.c: fixed warning "integer overflow in expression"
1934 2003-08-05 Bernhard Held <bernhard AT bernhardheld.de>
1936 * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
1937 * src/SDCCval.c (constVal): changed default to signed; hex and octal
1938 constants are unsigned; added recognition of "u" flag for unsigned
1939 * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
1940 * src/SDCCval.c (valDiv, valMod): fixed signdness
1941 * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
1942 signedness of modulo, left and right shift
1943 * support/Util/SDCCerr.c: added warning "integer overflow in expression"
1944 * support/Util/SDCCerr.h: added warning W_INT_OVL
1945 * src/SDCCast.c (decorateType): fixed gcc3.3 warning
1946 * src/SDCCast.c (ast_print): improved output of constants
1948 2003-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1950 Fixed some warnings when building with MSVC:
1963 * support\cpp2\cpplib.c
1967 2003-08-03 Bernhard Held <bernhard AT bernhardheld.de>
1969 * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth AT isi.edu>
1971 2003-08-01 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1973 * support\librarian\clean.mk: Do not remove Makefile.
1974 * support\librarian\Makefile: added.
1976 2003-08-01 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1978 Added librarian to MSVC build:
1981 * support\librarian\librarian.dsp
1983 'configure' not needed for librarian, removed:
1984 * support\librarian\configure
1985 * support\librarian\configure.in
1986 * support\librarian\config_in.h
1987 * support\librarian\Makefile.in
1989 Hopefully these ones built the librarian and the rest of sdcc properly:
1991 * Makefile.common.in
1993 Messed up 'configure', so revert to previous version:
1997 2003-07-31 Bernhard Held <bernhard AT bernhardheld.de>
1999 * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
2000 there, while the mantissa of a double is "only" 53 bits wide.
2002 2003-07-31 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2004 Adding sdcclib to the build. MSVC project coming soon.
2005 Files added/changed:
2007 * support\librarian\clean.mk
2008 * support\librarian\configure
2009 * support\librarian\configure.in
2010 * support\librarian\config_in.h
2011 * support\librarian\Makefile.bcc
2012 * support\librarian\Makefile.in
2013 * support\librarian\sdcclib.c
2016 * Makefile.common.in
2020 2003-07-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2022 Linker now complaints if linked modules have conflicting options, for
2023 example, one compiled using --model-large and another one compiled with
2024 --model-small. The following files were modified:
2046 2003-07-28 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2048 *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
2049 as/mcs51/lklibr.c: Generate a warning when a library is not found.
2051 2003-07-28 Bernhard Held <bernhard AT bernhardheld.de>
2053 * src/z80/mappings.i: fix _mul[us][int,long] entries
2055 2003-07-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2057 *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
2059 2003-07-24 Bernhard Held <bernhard AT bernhardheld.de>
2061 * src/SDCCicode.c (operandOperation): really fixed problem with bitops
2062 * support/regression/tests/bitopcse.c: added
2070 2003-07-24 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2072 added support for new library format to z80, gbz80 linkers:
2078 2003-07-24 Bernhard Held <bernhard AT bernhardheld.de>
2080 * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
2081 after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
2083 2003-07-23 Bernhard Held <bernhard AT bernhardheld.de>
2085 added DUMMY_READ_VOLATILE:
2094 * src/SDCCcse.c (algebraicOpts): many improvements
2095 * src/SDCCcse.h: removed algebraicOpts()
2096 * src/SDCCicode.c (picDummyRead): added
2098 2003-07-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2100 * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
2101 "Insufficient space in data memory".
2103 2003-07-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2105 * src/mcs51/gen.c: fixed bug #771358
2106 * src/z80/gen.c: fixed bug #759087
2108 2003-07-20 Bernhard Held <bernhard AT bernhardheld.de>
2110 * src/pic16/glue.c: minor cleanup by Vangelis
2112 2003-07-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2114 * device/include/regc515c.h: fixed #758477
2115 * device/lib/_gptrget.c: saving some cycles in generic pointer get
2116 * device/lib/_gptrput.c: saved a few bytes
2117 * my tab spacing is 8, yours too?)
2118 * device/lib/_ser.c: process RX bytes earlier than TX bytes
2119 * device/lib/serial.c: process RX bytes earlier than TX bytes
2120 * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
2122 2003-07-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2124 * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
2126 2003-07-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2128 * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
2130 2003-07-17 Bernhard Held <bernhard AT bernhardheld.de>
2132 * device/lib/Makefile.in: bad fix, reverted to 1.43
2134 2003-07-16 Bernhard Held <bernhard AT bernhardheld.de>
2136 * device/lib/Makefile.in: added missing z80 object files
2138 2003-07-14 Bernhard Held <bernhard AT bernhardheld.de>
2140 * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
2141 pic16 progress by Vangelis:
2156 * pic16/pcodepeep.c:
2159 2003-07-13 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2161 * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
2163 2003-07-12 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2165 * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
2166 added gbz80 build to MSVC project.
2167 * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
2168 link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
2169 from 8051 stuff and setup so it links using a .lnk file.
2171 2003-07-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2173 * support/librarian/sdcclib.c: sdcc librarian.
2174 * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
2177 2003-07-03 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2179 * as/mcs51/lkmain.c: properly handle extensions in function afile.
2181 2003-07-02 Borut Razem <borut.razem AT siol.net>
2183 * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
2184 src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
2185 src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
2186 src/xa51/main.c, src/z80/main.c:
2187 virtualization of glue() function: each port has it's own glue function,
2188 which is accessed by do_glue function pointer in PORT.general structure
2190 2003-07-01 Kevin Vigor <kevin AT vigor.nu>
2192 * DS800C400 fun, improved ROM interface and tinibios.
2194 2003-06-27 Kevin Vigor <kevin AT vigor.nu>
2196 * More support for DS80C400. Now includes beginning of interface to ROM.
2198 2003-06-25 Bernhard Held <bernhard AT bernhardheld.de>
2200 * src/mcs51/gen.c (gencjneshort): fixed bug #760345
2202 2003-06-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2204 * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
2206 2003-06-19 Borut Razem <borut.razem AT siol.net>
2208 * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
2210 2003-06-19 Borut Razem <borut.razem AT siol.net>
2212 * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
2213 fixed Z80 port - crt0.o: cannot open.
2215 2003-06-19 Bernhard Held <bernhard AT bernhardheld.de>
2217 * support/Util/MySystem.c (merge_command): revert bad fix
2219 2003-06-18 Borut Razem <borut.razem AT siol.net>
2221 * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
2223 2003-06-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2225 * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
2226 option --use-stdout sends errors to stdout instead of stderr.
2228 2003-06-18 Bernhard Held <bernhard AT bernhardheld.de>
2230 * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
2232 2003-06-15 Borut Razem <borut.razem AT siol.net>
2234 * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
2235 * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
2236 * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
2237 fixed width array of pointers replaced with sets;
2238 multiple include and lib paths ared transferred to preprocessor and linker
2239 * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
2240 * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
2241 fixed width array of pointers
2242 * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
2243 removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
2244 fixupPath(), getPathDifference()
2245 * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function inExcludeList() by using sets instead
2246 fixed width array of pointers
2248 2003-06-11 Bernhard Held <bernhard AT bernhardheld.de>
2250 * src/pic16/ralloc.c: fix warnings
2251 * src/pic16/pcode.c: fix warning
2253 2003-06-10 Scott Dattalo <scott AT dattalo.com>
2255 Scott D. for Vangelis Rokas (vrokas AT otenet.gr). I (scott) don't
2256 know all the details, but essentially this set of changes enable
2257 the pic16 port to generate movff instructions and generate assembler
2262 * src/pic16/pcode.c:
2263 * src/pic16/device.c:
2265 * src/pic16/pcode.h:
2266 * src/pic16/pcoderegs.c:
2267 * src/pic16/ralloc.c:
2268 * src/pic16/ralloc.h:
2270 2003-06-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2272 * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
2273 added option --vc, so sdcc errors and warnings are compatible with
2274 Microsoft Visual Studio.
2276 2003-06-07 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2278 * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
2279 device/lib/libfloat.lib: added atof function.
2281 2003-06-04 Bernhard Held <bernhard AT bernhardheld.de>
2283 * doc/sdccman.lyx: updated to Lyx 1.3
2284 * doc/cdbfileformat.lyx: updated to Lyx 1.3
2285 * doc/test_suite_spec.lyx: updated to Lyx 1.3
2286 * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
2288 2003-06-03 Bernhard Held <bernhard AT bernhardheld.de>
2290 * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas AT otenet.gr>
2292 2003-06-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2294 * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
2295 additions to the "related tools/documentation" section
2297 2003-06-02 Bernhard Held <bernhard AT bernhardheld.de>
2299 * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
2301 2003-05-29 Bernhard Held <bernhard AT bernhardheld.de>
2303 * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn AT vt.edu>
2304 * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
2306 2003-05-28 Bernhard Held <bernhard AT bernhardheld.de>
2308 * doc/sdccman.lyx: fix double dash and other minor things
2309 * doc/Makefile: fix double dash
2311 2003-05-28 Karl Bongers(patches from Martin Helmling)
2312 * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
2313 condition and ignore commands.
2315 2003-05-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2317 * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
2318 is in parts still quite out of date, I did changes as far as I felt makes sense
2319 for a non-native english speaker.
2320 Please feel free to add to the manual or to correct my changes.
2321 * doc/Makefile: undid touching the date of intermediate tex files.
2323 2003-05-26 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2325 * doc/sdccman.lyx: Manual has an index now
2327 2003-05-25 Bernhard Held <bernhard AT bernhardheld.de>
2329 Finalize muluint/mulsint and mululong/mulslong merging:
2330 * device/lib/_mulint.c
2331 * device/lib/_mullong.c
2332 * device/lib/gbz80/mul.s
2333 * device/lib/gbz80/stubs.s
2334 * device/lib/z80/mul.s
2335 * device/lib/z80/stubs.s
2336 * src/SDCCsymt.c (initCSupport)
2338 2003-05-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2340 * as/mcs51/lkaomf51.c: Address space 'z' was missing.
2341 * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
2342 src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
2343 src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
2346 2003-05-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2348 * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
2349 the regression tests I'm not brave enough to enable 245.b, 245.c
2350 * doc/sdccman.lyx: added latex preamble for hyperref package.
2351 Using pdflatex this will give you a hyperlinked pdf file with
2352 bookmarks. (prepend '%' before /usepackage if this breaks something)
2354 2003-05-24 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2356 * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
2358 2003-05-22 Bernhard Held <bernhard AT bernhardheld.de>
2360 * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
2362 2003-05-21 <johan AT balder>
2364 * src/SDCCglue.c (printIval): fixed bug #739934
2366 2003-05-19 Bernhard Held <bernhard AT bernhardheld.de>
2368 Applied patch from bug 737905 (renamed yylineo to mylineno):
2375 * src/pic16/pcode.c: Cleaned warnings
2376 * src/pic16/pcodeflow.c: Cleaned warnings
2377 * src/pic16/pcoderegs.c: Cleaned warnings
2379 2003-05-19 Scott Dattalo <scott AT dattalo.com>
2381 * src/pic16/pcode.c: Cleaned warnings
2382 * src/pic16/pcodepeep.c: Cleaned warnings
2383 * src/pic16/ralloc.c: Cleaned warnings
2385 2003-05-19 Bernhard Held <bernhard AT bernhardheld.de>
2387 * doc/sdccman.lyx: fixed bug 739745
2388 * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
2390 2003-05-18 Bernhard Held <bernhard AT bernhardheld.de>
2392 * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
2393 it can be defined with CFLAGS when running configure
2394 * src/SDCCmain.c: fixed compiling + linking with object files
2396 2003-05-18 Vangelis Rokas (vrokas AT otenet.gr)
2398 * configure.in: configure for pic16 port,
2399 added --disable-pic16-port
2400 * sdccconf_in.h: added macro OPT_DISABLE_PIC16
2401 * src/SDCCmain.c: linkOptions is changed to set *,
2402 added if/endif conditional macros to remove options help
2403 messages from optionsTable when a port is not configured, added
2404 support for the PIc16 port in the ports table, when executing
2405 the compiler with no port specified on command line, a default
2406 port is selected with the new macro DEFAULT_PORT which is
2407 defined in port.h, in setDefaultOptions() linkOptions is removed
2408 from initialization assignment, since now it is a set,
2409 parseCmdLine uses setParseWithComma for linkOptions, in
2410 linkEdit() linkOptions are accessed with new function indexSet()
2411 which returns the i'th item of a set variable. See SDCCset.c, in
2412 linkEdit() when calling buildCmdLine(), added linkOptions as
2413 last argument. Now users can pass arguments to gplink via the
2414 -Wl option, main() uses pic16glue() to glue up pic16 programs
2415 * src/SDCCpeeph.c: various changes to support pic16
2416 * src/SDCCset.c: added function void *indexSet(set *, int) to
2417 return the i'th item of the set
2418 * src/SDCCset.h: added function prototype for indexSet()
2419 * src/SDCCsymt.c: in checkSClass(), added support for PIC16
2420 * src/clean.mk: added pic16 in CLEANALLPORTS variable
2421 * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
2422 added macro DEFAULT_PORT
2423 * src/pic/main.c: corrected arguments of gplnk in _linkCmd
2424 * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
2426 * src/pic16/glue.c: commented out some error producing lines
2427 * src/pic16/main.c: __config directives are commented out to stop
2428 gpasm complaining and test the linkage with gplink, _linkCmd and
2429 _asmCmd changed to be more gplink and gpasm friendly
2430 * src/pic16/peeph.def: peep rule 3 is commented out, since it
2431 produced an error when parsed, peep rule 12 is added to utilize
2432 movff, but it is commented out since the pCode does not support
2433 yet a command with 2 address arguments
2435 2003-05-18 <johan AT balder>
2437 * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
2438 * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
2439 2003-05-17 Karl Bongers(apply patches from Martin Helmling)
2441 * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
2442 Added feature to script commands from file.
2444 2003-05-14 Bernhard Held <bernhard AT bernhardheld.de>
2446 * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
2447 * src/SDCCutil.c: include ctype.h for win32
2449 2003-05-13 Bernhard Held <bernhard AT bernhardheld.de>
2451 * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
2453 2003-05-12 Karl Bongers(apply development patches from Martin Helmling)
2455 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
2456 Fixed so you can set breakpoints prior to run, run does not stop
2457 on entry now. Add tbreak. Other enhancements and fixes for use
2460 2003-05-12 Borut Razem <borut.razem AT siol.net>
2462 * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
2464 2003-05-11 Borut Razem <borut.razem AT siol.net>
2466 * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
2467 the path of bin directory, so that PATH is the only env. variable, which has to be set
2468 in case of standard installation.
2469 * src/ds390/ds390.dsp: increased value of /Zm option to 1000
2470 * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
2471 * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
2473 2003-05-04 Bernhard Held <bernhard AT bernhardheld.de>
2475 * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
2476 * support/regression/Makefile: inter-port-clean is no longer nesessary, the
2477 temp files are in the port dir; clean the gen/test directory when
2478 generating new test.c
2479 * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
2480 * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
2481 * support/regression/tests/zeropad.c: added
2483 2003-05-09 <johan AT balder>
2485 * src/SDCCglue.c: fixed bug #597940
2487 2003-05-05 Karl Bongers(apply patches from Martin Helmling)
2489 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
2490 cache sfr, optimize next,step, fix off by one sourceline,
2491 support ddd list function.
2492 * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
2494 2003-05-04 Bernhard Held <bernhard AT bernhardheld.de>
2496 * support/regression/HTMLgen.py: added compare_s2f()
2497 * support/regression/Makefile: redo 1.27
2498 * support/regression/generate-cases.py: redo 1.5
2500 2003-04-30 Bernhard Held <bernhard AT bernhardheld.de>
2502 * support/regression/tests/float.c: workaround 33 bit hex constant
2503 * support/regression/tests/simplefloat.c: fix division for host
2505 2003-04-29 Scott Dattalo <scott AT dattalo.com>
2507 * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim AT jimhawkridge.uk.eu.org>
2508 that tame's the PIC's over-aggressive optimizer.
2510 2003-04-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2512 * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
2515 2003-04-29 Kevin Vigor <kevin AT vigor.nu>
2517 Initial support for DS80C400. "Hello world" runs on TINIm400
2520 2003-04-28 Karl Bongers(apply patches for Martin Helmling)
2522 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
2523 * Some notes on ddd usage added in debugger/README
2524 Martin Helmling adding more features and fixes for ddd GUI debugger.
2525 Code added for nexti, stepi, up, down, and other adjustments.
2527 2003-04-28 Scott Dattalo <scott AT DATTALO.COM>
2529 * src/pic/pCodepeep.c non-wildcard asmops are now handled
2530 * src/pic/peeph.def Added two rules to optimize carry manipulation
2531 * src/pic/* removed debug printfs
2533 2003-04-28 Bernhard Held <bernhard AT bernhardheld.de>
2535 * debugger/mcs51/cmd.c: added header newalloc.h
2537 2003-04-26 Bernhard Held <bernhard AT bernhardheld.de>
2539 * as/Makefile: new EXEEXT
2540 * as/z80/Makefile: remove trailing slash of BUILDIR
2541 * as/z80/clean.mk: new EXEEXT
2542 * Makefile.common.in: add to CFLAGS (and others), don't replace it
2543 * support/cpp2/Makefile.in: new EXEEXT
2544 * src/pic/glue.c (pic14emitRegularMap): fixed warning
2546 2003-04-24 Bernhard Held <bernhard AT bernhardheld.de>
2548 Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
2549 EXEEXT was introduced to fix all related problems with targets
2550 "clean", "install" and "uninstall"; a couple of further flaws
2551 especially with "clean" have been fixed too
2552 * as/mcs51/Makefile.in
2557 * debugger/mcs51/Makefile.in
2558 * debugger/mcs51/clean.mk
2560 * link/z80/Makefile.in
2563 * packihx/Makefile.in
2565 * sim/ucsim/Makefile
2566 * sim/ucsim/clean.mk
2567 * sim/ucsim/avr.src/Makefile.in
2568 * sim/ucsim/avr.src/clean.mk
2569 * sim/ucsim/s51.src/Makefile.in
2570 * sim/ucsim/s51.src/clean.mk
2571 * sim/ucsim/xa.src/Makefile.in
2572 * sim/ucsim/xa.src/clean.mk
2573 * sim/ucsim/z80.src/Makefile.in
2574 * sim/ucsim/z80.src/clean.mk
2575 * sim/ucsim/main_in.mk
2576 * sim/ucsim/packages_in.mk
2577 * sim/ucsim/gui.src/Makefile.in
2578 * sim/ucsim/gui.src/serio.src/Makefile.in
2579 * sim/ucsim/gui.src/serio.src/clean.mk
2582 * support/cpp2/Makefile.in
2583 * support/cpp2/clean.mk
2584 * support/makebin/Makefile
2585 * support/makebin/clean.mk
2586 * support/scripts/sdcc_mingw32: --program-suffix no longer needed
2587 * doc/sdccman.lyx: --program-suffix no longer needed
2589 2003-04-23 Karl Bongers(apply patches for Martin Helmling)
2591 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
2592 Martin Helmling added support for ddd GUI debugger.
2593 Code added to display assembly, set variables, and other commands
2594 to interface to ddd.
2596 2003-04-23 Bernhard Held <bernhard AT bernhardheld.de>
2598 * as/Makefile: fix target clean
2599 * as/clean.mk: fix target clean
2600 * as/z80/clean.mk: fix target clean
2602 2003-04-22 Bernhard Held <bernhard AT bernhardheld.de>
2604 * Makefile.common.in: added AT EXEEXT AT
2605 * configure.in: removed all mingw32 stuff
2606 * configure: rebuilt from configure.in
2607 * doc/sdccman.lyx: updated section "installation"
2608 * support/scripts/sdcc_mingw32: adapted to configure
2609 * support/scripts/sdcc_cygwin_mingw32: added
2611 2003-04-22 Scott Dattalo <scott AT dattalo.com>
2613 * src/pic Added object file support for the PIC port
2614 * src/pic Applied patch from Craig Franklin (this started the object file support)
2615 * src/regression Updated the PIC regression tests for object files
2617 2003-04-20 Borut Razem <borut.razem AT siol.net>
2619 * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
2620 lklex.c: In function `getfid':
2621 lklex.c:203: warning: array subscript has type `char'
2622 * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
2623 with MSVC with global optimization enabled (probably an cl compiler bug ;-)
2624 * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
2625 stack handling macros
2627 2003-04-19 Borut Razem <borut.razem AT siol.net>
2629 * "handling space characters in file path" task:
2630 * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
2631 * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
2632 * support/Util/MySystem.h: make it self-sufficient
2633 * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
2634 src/z80/main.c, sdcc/as/mcs51/lklex.c:
2635 handling space characters in file path
2636 * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
2637 (it will be used by assemblers, which have their own includes, e.g. gpasm)
2638 * support/Util/MySystem.c: handling space characters in executable's path
2640 2003-04-19 Bernhard Held <bernhard AT bernhardheld.de>
2642 * as/z80/Makefile: fix permanent rebuild of z80
2643 * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
2644 * support/regression/tests/bitfields.c: added Johan's bitfields.c
2646 2003-04-18 Kevin Vigor <kevin AT vigor.nu>
2648 * src/SDCCopt.c: add special case optimization to replace modulo by
2649 a power of two with a bitwise AND.
2651 2003-04-18 <johan AT balder>
2653 * src/mcs51/gen.c (getFreePtr): fixed bug #635354
2655 2003-04-17 <johan AT balder>
2657 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
2658 * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
2660 2003-04-13 Borut Razem <borut.razem AT siol.net>
2662 * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
2663 * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
2664 fixed mingw problem in adl_NORMALIZE_PATH
2666 2003-04-12 Borut Razem <borut.razem AT siol.net>
2668 * fixed "#pragma SAVE/RESTORE can not be nested":
2669 * src/SDCC.lex: reworked pragma handling functions
2670 * sdcc/src/SDCCglobl.h: reworked stack handling macros
2671 * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
2673 2003-04-12 Bernhard Held <bernhard AT bernhardheld.de>
2675 * src/SDCCutil.c (pathEquivalent): defined but not used
2676 * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
2677 * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
2678 * configure: rebuilt from configure.in
2679 * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
2680 * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
2681 * device/include/Makefile.in: replace sdcc_datadir
2682 * device/lib/Makefile.in: replace sdcc_datadir
2683 * Makefile.common.in: add LDFLAGS from configure
2684 * packihx/Makefile.in: use LDFLAGS
2685 * src/Makefile.in: use LDFLAGS
2686 * support/cpp2/Makefile.in: add LDFLAGS from configure
2687 * support/makebin/Makefile: use LDFLAGS
2688 * .version: bumped version number to 2.3.5
2690 2003-04-12 Borut Razem <borut.razem AT siol.net>
2692 * completed "different paths" task:
2693 * src/SDCCmacro.c: fixed bug in handling quotes
2694 * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
2695 * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
2697 2003-04-12 Bernhard Held <bernhard AT bernhardheld.de>
2699 * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
2701 2003-04-11 kevin Vigor <kevin AT vigor.nu>
2703 * ds390/gen.c ds390/peeph.def: fix bug 706781
2705 2003-04-11 Borut Razem <borut.razem AT siol.net>
2707 * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
2709 2003-04-10 Scott Dattalo <scott AT dattalo.com>
2711 * src/pic/* Applied the pointer-to-function patch from Steve Tell.
2712 * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
2713 set - this bit used to not be set...).
2714 * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated
2715 bad code in PIC Port
2716 * src/regression/and2.c added to test bug 609268
2717 * src/regression/Makefile added and2.c to regression test
2720 2003-04-08 <johan AT CP255758-A>
2722 * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
2723 * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
2724 * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
2726 2003-04-07 Bernhard Held <bernhard AT bernhardheld.de>
2728 * configure.in: fully support prefix, exec_prefix, datadir, docdir;
2730 * support/cpp2/Makefile.in: fix bug #487815
2731 * configure: rebuilt from configure.in
2732 * Makefile.common.in: docdir changed, new path suffixes
2733 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
2734 * sdcc_vc_in.h: reflect changes from sdccconf.h
2735 * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
2736 * src/SDCCutil.h: remove BINDIR hack
2737 * doc/sdccman.lyx: update new path hierarchy
2739 2003-04-06 Paul Stoffregen <paul AT pjrc.com>
2741 * src/SDCCpeeph.c: added okToRemoveSLOC test
2743 2003-04-06 Paul Stoffregen <paul AT pjrc.com>
2745 * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
2747 2003-04-06 Paul Stoffregen <paul AT pjrc.com>
2749 * src/SDCCpeeph.c: added labelIsReturnOnly test
2750 * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
2752 2003-04-05 <johan AT balder>
2754 * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
2755 * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
2756 * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
2757 * src/SDCCast.c: fixed a warning
2758 * src/SDCCast.h: fixed a warning
2759 * src/SDCCicode.c (operandFromAst): fixed a warning
2761 2003-04-04 <johan AT balder>
2763 * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
2764 * src/SDCCast.c (decorateType): fixed bug #715076
2765 * src/SDCC.y: fixed bug #702907
2767 2003-04-03 <johan AT balder>
2769 * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
2770 * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
2771 * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
2772 * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
2773 * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
2775 2003-04-03 Bernhard Held <bernhard AT bernhardheld.de>
2777 * _decdptr.c: fix return values
2778 * _gptrget.c: fix return values
2779 * _gptrgetc.c: fix return values
2780 * _gptrput.c: fix return values
2781 * _mulint.c: fix return values
2782 * as/z80/Makefile: fix 'make -j' problem
2784 2003-04-02 Bernhard Held <bernhard AT bernhardheld.de>
2786 * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
2787 * configure.in: big cleanup, updated to autoconf 2.5x
2788 * configure: rebuilt from configure.in
2789 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
2790 * sdcc_vc_in.h: reflect changes from sdccconf.h
2791 * doc/Makefile: fixed a flaw in "make install"
2793 2003-04-02 <johan AT balder>
2795 * src/ds390/gen.c (genCmp): no comments
2796 * src/mcs51/gen.c (genCmp): no comments
2797 * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
2798 * src/SDCCast.c (ast_print): fixed the function type in --dumptree
2800 2003-04-01 Bernhard Held <bernhard AT bernhardheld.de>
2802 * support/regression/generate-cases.py: place generated file in given sub directory
2803 * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
2804 * support/regression/Makefile: improvements for 'make -j';
2805 side effect: it's simpler and faster now
2807 2003-03-31 Borut Razem <borut.razem AT siol.net>
2809 * src/z80/main.c: link-{port} and as-{port} defined without path
2810 * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
2812 2003-03-31 Bernhard Held <bernhard AT bernhardheld.de>
2814 * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
2816 2003-03-30 Borut Razem <borut.razem AT siol.net>
2818 * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
2819 changed type of list parameter to set
2820 * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
2821 * src/port.h: changed type of do_assemble() parameter to set
2822 * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
2823 sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
2824 definition of "cppoutfilename" macro with NULL value in preProcess()
2825 * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
2826 * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
2827 * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
2828 replaced with set *binPathSet
2829 * shash_add() deallocates the item, if allready exsists, before adding the new one
2830 * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
2832 2003-03-30 Scott Dattalo <scott AT dattalo.com>
2834 * src/pic/gen.c: Commit patch from Steve Tell <tell AT telltronics.org> that fixes
2835 a nested for loop bug in the PIC port
2836 * src/regression/nestfor.c: new regression test file Steve wrote to test nested
2839 2003-03-29 Bernhard Held <bernhard AT bernhardheld.de>
2841 * support/Util/dbuf.h: remove C++ stuff to make it portable
2843 2003-03-28 Borut Razem <borut.razem AT siol.net>
2845 * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
2846 literal strings in stringLiteral()
2847 * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
2848 * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
2851 2003-03-27 Paul Stoffregen <paul AT pjrc.com>
2853 * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
2855 2003-03-26 <johan AT balder>
2857 * src/mcs51/gen.c (saveRegisters): catched symbol abuse
2858 * src/ds390/gen.c (saveRegisters): catched symbol abuse
2859 * src/SDCCast.c (decorateType): fixed " -v < 3"
2861 2003-03-23 Bernhard Held <bernhard AT bernhardheld.de>
2863 * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
2864 Added Lenny Story's debug infrastructure changes:
2865 * src/Makefile.in: added new files cdbFile.c and SDCCdebug.c
2866 * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
2867 * src/cdbFile.c: added
2868 * src/SDCCdebug.c: added
2869 * src/SDCCdebug.h: added
2870 * src/SDCCast.c (createFunction)
2871 * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
2872 * src/SDCCmain.c (parseCmdLine, main)
2873 * src/SDCCmem.c (redoStackOffsets)
2874 * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
2877 * src/avr/gen.c (genAVRCode)
2878 * src/ds390/gen.c (gen390Code)
2879 * src/mcs51/gen.c (gen51Code)
2880 * src/pic/gen.c (genpic14Code)
2881 * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
2882 * src/xa51/gen.c (genXA51Code)
2883 * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
2885 2003-03-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2887 * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
2888 * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
2890 2003-03-22 <johan AT balder>
2892 * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
2894 2003-03-21 Bernhard Held <bernhard AT bernhardheld.de>
2896 * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
2897 * doc/cdbfileformat.lyx: added, written by Lenny Story
2898 * doc/Makefile: added cdbfileformat.lyx
2899 * doc/clean.mk: added cdbfileformat.lyx
2901 2003-03-20 Bernhard Held <bernhard AT bernhardheld.de>
2903 * src/mcs51/peeph.def: fix bug #705773
2905 2003-03-20 <johan AT balder>
2907 An sfr/sbit can have an "at #" AND an initializer
2908 * src/SDCCsymt.c (checkSClass):
2909 * src/SDCCmem.c (allocGlobal):
2910 * src/SDCCmem.c (allocLocal):
2911 * src/SDCCast.c (createBlock):
2913 2003-03-17 Bernhard Held <bernhard AT bernhardheld.de>
2915 * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
2917 2003-03-16 <johan AT balder>
2919 Undid the hackup of const and volatile, the problem is much bigger
2921 * src/SDCCast.c:1.171
2922 * src/SDCCglue.c:1.138
2923 * src/SDCCicode.c:1.146
2924 * src/SDCCsymt.c:1.150
2925 * src/SDCCval.c:1.65
2927 2003-03-15 Bernhard Held <bernhard AT bernhardheld.de>
2929 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
2930 * src/ds390/gen.c (genAddrOf): fixed bug #704087
2932 2003-03-13 <johan AT balder>
2934 Hackup const and volatile modifiers in type chains a bit:
2936 * src/SDCCast.c:1.169
2937 * src/SDCCglue.c:1.136
2938 * src/SDCCicode.c:1.143
2939 * src/SDCCsymt.c1.146
2940 * src/SDCCsymt.h1.59
2941 * src/SDCCval.c:1.63
2943 2003-03-12 <johan AT balder>
2945 * src/SDCCBBlock.h: more LRH debugging junk
2946 * src/SDCCcflow.h: more LRH debugging junk
2947 * src/SDCCloop.c: more LRH debugging junk
2948 * src/SDCC.y (struct_declaration): fixed bug #697590
2949 * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
2950 * src/ds390/gen.c (aopForRemat): fixed bug #700031
2951 * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
2953 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
2954 * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
2955 test function names must now match exactly).
2956 * src/SDCCcse.c: added special case in findCheaperOp to allow
2957 extending a short integer. Makes less awful code for bug 700121 test case.
2959 2003-03-11 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2961 * as/mcs51/lkmain.c: Added ASlink-Warning to messages
2962 * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
2964 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
2966 * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
2967 actually called (operandsNotEqual() was called for all
2968 operandsNotEqualX tests).
2970 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
2972 * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
2973 with shorter literals. Fixes bug 700121.
2975 2003-03-11 <johan AT balder>
2977 * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
2979 2003-03-11 Bernhard Held <bernhard AT bernhardheld.de>
2981 * src/SDCCloop.c (mergeRegions): an evil beast is dead
2982 * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
2984 2003-03-10 Borut Razem <borut.razem AT siol.net>
2986 * src/SDCCmain.c: pipe preprocessor's output
2987 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
2988 * sdcc_vc_in.h: define pclose as _pclose for WIN32
2989 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
2990 which closes all pipes in pipeSet set
2991 * src/SDCCset.c: free deleted item in function deleteSetItem()
2992 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
2993 moved from z80 to src subproject
2994 * .version: increased version number to 2.3.4
2996 2003-03-10 Bernhard Held <bernhard AT bernhardheld.de>
2998 * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
2999 * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
3000 * support/regression/ports/xa51/spec.mk: fix typo
3002 2003-03-09 Bernhard Held <bernhard AT bernhardheld.de>
3004 * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
3006 2003-03-09 Borut Razem <borut.razem AT siol.net>
3008 * src/SDCCmain.c: pipe preprocessor's output
3009 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
3010 * sdcc_vc_in.h: define pclose as _pclose for WIN32
3011 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
3012 which closes all pipes in pipeSet set
3013 * src/SDCCset.c: free deleted item in function deleteSetItem()
3014 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
3015 moved from z80 to src subproject
3017 2003-03-09 Borut Razem <borut.razem AT siol.net>
3019 * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
3020 * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
3021 * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
3022 * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
3023 * src/SDCCglobl.h: unification of WIN32 native definitions
3025 2003-03-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3027 * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
3029 2003-03-08 Bernhard Held <bernhard AT bernhardheld.de>
3031 * src/configure.in: check for endianess (even while cross-compiling)
3032 * src/configure: check for endianess (even while cross-compiling)
3033 * src/configure_in.h: check for endianess (even while cross-compiling)
3034 * src/avr/gen.c: remove old endianess stuff
3035 * src/mcs51/gen.c: remove old endianess stuff
3036 * src/ds390/gen.c: remove old endianess stuff
3037 * src/pic/gen.c: remove old endianess stuff
3038 * src/pic/genarith.c: remove old endianess stuff
3039 * src/pic/glue.c: fix endianess check
3040 * src/pic16/gen.c: remove old endianess stuff
3041 * src/pic16/genarith.c: remove old endianess stuff
3042 * src/pic16/glue.c: fix endianess check
3043 * src/xa51/gen.c: remove old endianess stuff
3044 * src/z80/gen.c: fix endianess check
3045 * src/SDCCglue.c: fix endianess check
3046 * src/ds390/peeph.def: fix bug 700036
3048 2003-03-08 Bernhard Held <bernhard AT bernhardheld.de>
3050 * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
3051 * src/configure: find appropriate data-types on host for SDCC's int and long
3052 * src/configure.in: find appropriate data-types on host for SDCC's int and long
3053 * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
3054 * src/xa51/gen.c: use %d, not %ld for 4 byte variables
3056 2003-03-07 <johan AT balder>
3059 some minor cleanups before the big shot
3060 OP_DEFS and OP_USES now use Kevin's protection
3061 new option --nolabelopt
3072 * src/ds390/ralloc.c:
3073 * src/mcs51/ralloc.c:
3075 * src/xa51/ralloc.c:
3078 2003-03-06 Bernhard Held <bernhard AT bernhardheld.de>
3080 * src/pic/pcode.c (get_op): fix 64 bit warnings
3081 * src/pic/pcode.c (pCode2str): fix 64 bit warnings
3082 * src/SDCChasht.c (newHashTable): fix 64 bit warnings
3083 * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
3084 * support/regression/tests/malloc.c: fix 64 bit warnings
3086 2003-03-04 Bernhard Held <bernhard AT bernhardheld.de>
3088 * src/mcs51/gen.c (genMinus): fixed bug 696436
3090 2003-03-02 Borut Razem <borut.razem AT siol.net>
3092 * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
3094 2003-02-26 Bernhard Held <bernhard AT bernhardheld.de>
3096 * configure.in: test for mkstemp
3097 * sdccconf_in.h: add HAVE_MKSTEMP
3099 2003-02-24 Bernhard Held <bernhard AT bernhardheld.de>
3101 * device/include/ctype.h: removed warning while using --stack-auto
3102 * device/include/malloc.h: removed warning while using --stack-auto
3103 * device/include/string.h: removed warning while using --stack-auto
3105 2003-02-23 Borut Razem <borut.razem AT siol.net>
3107 * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
3108 because NDEBUG is defined (see man assert)
3109 * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
3111 2003-02-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3113 * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
3114 * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
3116 2003-02-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3118 * src/SDCCpeeph.c: added peephole conditions testing for same arguments
3119 * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
3121 2003-02-18 <johan AT balder>
3123 * as/mcs51/asmain.c (asmbl): module can start with a digit
3124 * as/z80/asmain.c (asmbl): module can start with a digit
3126 2003-02-16 Bernhard Held <bernhard AT bernhardheld.de>
3128 * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
3129 * src/asm.c: fix pipe() for Mingw32
3131 2003-02-15 Bernhard Held <bernhard AT bernhardheld.de>
3133 * src/SDCCglue.h: make tmpfileNameSet available for preOutName
3134 * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
3135 make -V work again; --c1mode reads now from stdin
3136 * doc/sdccman.lyx: added --c1mode
3137 * support/Util/SDCCerr.c: new messages for c1 mode
3138 * support/Util/SDCCerr.h: new messages for c1 mode
3139 * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
3141 2003-02-15 <johan AT balder>
3143 * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
3145 2003-02-14 Bernhard Held <bernhard AT bernhardheld.de>
3147 * doc/sdccman.lyx: Environment variables, -o and other minor things
3149 2003-02-14 <johan AT balder>
3151 * src/xa51/main.c: before anyone really tries to use it :)
3153 * Install doc's in share/sdcc/doc
3154 * removed some obsolete files
3155 * Do a proper make distclean and uninstall
3156 M Makefile.common.in
3159 M device/include/Makefile.in
3160 M device/lib/Makefile.in
3163 M sim/ucsim/doc/Makefile.in
3166 R src/xa51/peeph.rul
3167 M support/cpp2/Makefile.in
3168 M support/makebin/Makefile
3171 2003-02-13 Bernhard Held <bernhard AT bernhardheld.de>
3173 * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
3175 2003-02-10 Borut Razem <borut.razem AT siol.net>
3177 * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
3178 support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
3179 * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
3180 device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
3181 support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
3182 src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
3183 src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
3184 src/z80/Makefile.bcc: Borland Makefile cleanup
3185 * as/z80/Makefile.bcc: Added Borland Makefile
3186 * support/cpp2/borland.h: Removed
3188 2003-02-10 Bernhard Held <bernhard AT bernhardheld.de>
3190 * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js AT convergence.de>
3191 * src/SDCC.lex: new pragma NOIV
3192 * src/SDCCglobl.h: new pragma NOIV
3193 * src/SDCCmem.c: new pragma NOIV
3195 2003-02-09 Bernhard Held <bernhard AT bernhardheld.de>
3197 * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
3199 2003-02-09 Bernhard Held <bernhard AT bernhardheld.de>
3201 * src/SDCCmain.c: signal handling is switched off by --debug
3202 * doc/Makefile: small fix for install; use clean.mk again
3203 * doc/clean.mk: clean *.pdf and *.html too
3205 2003-02-08 Bernhard Held <bernhard AT bernhardheld.de>
3207 * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
3208 * device/lib/printfl.c: fix a ds390 bug by making it portable
3209 * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
3210 * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
3211 * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
3212 * debugger/mcs51/cmd.c: converted multi-line string literals
3213 * sim/ucsim/globals.cc: converted multi-line string literals
3214 * src/SDCCmain.c: introduced signal handler to remove temp files
3215 * doc/Makefile: small tweaks, implement clean
3216 * doc: removed generated files
3218 2003-02-05 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3220 * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied
3221 patch from Jan Rejlek <jr AT apex-lib.cz> to fix Bug 677692: "Extended
3222 Address Record is not correctly generated for DS390."
3224 2003-02-02 Borut Razem <borut.razem AT siol.net>
3226 * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
3227 * as/mcs51/asm.h: fixed compilation with Borland C
3228 * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
3229 * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
3230 * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
3231 * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
3232 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
3233 src/z80/Makefile.bcc: delete $(LIB) only if exist
3234 * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C
3236 2003-02-02 Bernhard Held <bernhard AT bernhardheld.de>
3238 * device/include/malloc.h: introduced NULL
3239 * device/include/string.h: introduced NULL
3240 * device/include/stdlib.h: introduced NULL
3241 * device/lib/_memcpy.c: removed NULL
3242 * device/lib/_strcat.c: removed NULL
3243 * device/lib/_strchr.c: removed NULL
3244 * device/lib/_strcmp.c: removed NULL
3245 * device/lib/_strcpy.c: removed NULL
3246 * device/lib/_strcspn.c: removed NULL
3247 * device/lib/_strlen.c: removed NULL
3248 * device/lib/_strncat.c: removed NULL
3249 * device/lib/_strncmp.c: removed NULL
3250 * device/lib/_strncpy.c: removed NULL
3251 * device/lib/_strpbrk.c: removed NULL
3252 * device/lib/_strrchr.c: removed NULL
3253 * device/lib/_strspn.c: removed NULL
3254 * device/lib/_strstr.c: removed NULL
3255 * device/lib/_strtok.c: removed NULL
3256 * device/lib/malloc.c: removed NULL, include own header
3258 2003-02-02 <johan AT balder>
3260 * 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
3261 * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
3262 * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
3263 * src/z80/gen.c (genZ80Code): added c-lines in asm comments
3264 * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
3265 * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
3267 2003-02-01 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3269 * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
3272 2003-02-01 <johan AT balder>
3274 * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
3276 2003-01-31 <johan AT CP255758-A>
3278 * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
3280 2003-01-30 <johan AT balder>
3282 * src/SDCCBBlock.c: automatic bug detection
3283 * src/SDCCicode.c: automatic bug detection
3285 2003-01-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3287 * src/SDCCglobl.h: now --xram-size 0 works
3288 * src/SDCCmain.c: now --xram-size 0 works
3290 2003-01-29 <johan AT balder>
3292 * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
3294 2003-01-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3296 * as/mcs51/aslink.h: Added options --xram-size and --code-size
3297 * as/mcs51/lkdata.c: Added options --xram-size and --code-size
3298 * as/mcs51/lkmain.c: Added options --xram-size and --code-size
3299 * as/mcs51/lkmem.c: Added options --xram-size and --code-size
3300 * src/SDCCglobl.h: Added options --xram-size and --code-size
3301 * src/SDCCmain.c: Added options --xram-size and --code-size
3303 2003-01-28 Bernhard Held <bernhard AT bernhardheld.de>
3305 * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
3306 * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
3308 2003-01-27 <johan AT balder>
3310 * src/SDCC.y: fixed bug #613764
3312 2003-01-26 <johan AT balder>
3314 * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c"
3315 * src/SDCCsymt.h: fixed bug #673374
3316 * src/SDCCglue.c: fixed bug #661910
3317 * src/SDCCast.c: fixed bug #458099 and 673374
3319 2003-01-26 Bernhard Held <bernhard AT bernhardheld.de>
3321 * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
3322 * as/mcs51/strcmpi.h: added
3323 * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
3324 * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
3325 * as/mcs51/asmain.c: strcmpi -> as_strcmpi
3326 * as/mcs51/assym.c: strcmpi -> as_strcmpi
3327 * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
3328 * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
3329 * as/mcs51/lksym.c: strcmpi -> as_strcmpi
3330 * as/mcs51/Makefile.aslink: new module strcmpi
3331 * as/mcs51/Makefile.asx8051: new module strcmpi
3332 * as/mcs51/Makefil.bcc: new module strcmpi
3333 * as/mcs51/Makefile.in: new module strcmpi
3334 * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
3336 2003-01-26 <johan AT balder>
3338 * src/SDCCglue.c: reverted back to 1.124
3339 * src/SDCCast.c: reverted back to 1.156
3340 * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
3342 2003-01-25 <johan AT balder>
3344 * src/SDCCglue.c: A better fix for bug #661910
3345 * src/SDCCast.c: A better fix for bug #661910
3346 * src/SDCCglue.c (emitRegularMap): That was a little too efficient
3348 2003-01-24 Bernhard Held <bernhard AT bernhardheld.de>
3350 * src/Makefile.in: remove spawn.o
3351 * src/SDCCmain.c: remove spawn.h
3352 * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
3353 * src/spawn.c: removed
3354 * src/spawn.h: removed
3355 * support/regression/ports/ds390/spec.mk: link with -r
3357 2003-01-24 <johan AT CP255758-A>
3359 * src/ds390/gen.c (aopOp): fixed bug #667458
3360 * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
3361 * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
3362 (createIvalCharPtr): an ival doesn't always have a storage class anymore
3364 2003-01-24 Bernhard Held <bernhard AT bernhardheld.de>
3366 * src/mcs51/peeph.def: better assembler identation by Frieder
3367 * src/mcs51/gen.c: better assembler identation by Frieder
3369 2003-01-22 Bernhard Held <bernhard AT bernhardheld.de>
3371 * as/z80/string.h: removed for gcc 3.2
3372 * support/makebin/makebin.c: #include <string.h> for gcc 3.2
3373 * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
3375 2003-01-19 Bernhard Held <bernhard AT bernhardheld.de>
3377 * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
3378 * src/SDCCpeeph.c (replaceRule): fix bug #663503
3379 * support/regression/Makefile: separate temp files for ports
3380 * support/regression/generate-cases.py: separate temp files for ports
3381 * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
3382 * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
3384 2003-01-19 Bernhard Held <bernhard AT bernhardheld.de>
3386 * moved tinitalk to device/examples/ds390
3388 2003-01-14 Bernhard Held <bernhard AT bernhardheld.de>
3390 * as/mcs51/lkmem.c: rflag is for DS390
3391 * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
3392 * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
3393 (linkEdit): move mem- and map-files the same way as ihx-files
3394 * src/z80/main.c (_setDefaultOptions): removed --generic
3395 * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
3396 * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
3397 * src/pic/glue.c (picglue): --c1mode works again
3398 * src/pic16/glue.c (pic16glue): --c1mode works again
3399 * src/asm.c (printCLine): fix #660034
3401 2003-01-13 Bernhard Held <bernhard AT bernhardheld.de>
3403 * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>, 1 by Frieder
3404 * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
3405 * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
3406 * as/mcs51/lkmem (summary): better fix for sp problem
3407 * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
3408 * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
3409 * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
3410 remove --stack-after-data
3412 2003-01-12 Bernhard Held <bernhard AT bernhardheld.de>
3414 * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
3415 * src/SDCCutil.c (join): ugly bug: missing '\0'
3416 * as/mcs51/lkmem.c (summary): sp on address 7 is safe
3418 2003-01-11 Bernhard Held <bernhard AT bernhardheld.de>
3420 * src/SDCCmain.c (assemble, linkEdit): preparations for -o
3422 * src/pic/main.c (_asmCmd): gpasm supports -o
3423 * src/z80/main.c: more general macros
3424 * device/lib/Makefile.in: remove intermediate files
3426 2003-01-11 Bernhard Held <bernhard AT bernhardheld.de>
3428 * .version: Bumped version number to 2.3.3
3429 * src/SDCCBBlock.c: new option -o
3430 * src/SDCCglobl.h: new option -o
3431 * src/SDCCglue.c: new option -o
3432 * src/SDCCmain.c: new option -o
3433 * src/asm.c: new option -o
3434 * src/ds390/main.c: new option -o
3435 * src/pic/glue.c: new option -o
3436 * src/pic/pcode.c: new option -o
3437 * src/pic/ralloc.c: new option -o
3438 * src/pic16/glue.c: new option -o
3439 * src/pic16/pcode.c: new option -o
3440 * src/pic16/ralloc.c: new option -o
3441 * src/z80/main.c: new option -o
3442 * device/lib/Makefile.in: use -o
3443 * support/regression/ports/ds390/spec.mk: use -o
3444 * support/regression/ports/gbz80/spec.mk: use -o
3445 * support/regression/ports/mcs51/spec.mk: use -o
3446 * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
3447 * support/regression/ports/z80/spec.mk: use -o
3448 * support/regression/ports/ucz80/spec.mk: use -o
3449 * support/regression/ports/xa51/spec.mk: use -o
3450 * support/regression/fwk/lib/timeout.c: fix usage string
3452 2003-01-09 Bernhard Held <bernhard AT bernhardheld.de>
3453 * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>
3455 2003-01-07 <johan AT balder>
3457 * src/SDCCast.c (decorateType): fixed bug #600035
3459 2003-01-07 Bernhard Held <bernhard AT bernhardheld.de>
3460 * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
3461 * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
3462 * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
3463 * src/pic/pcode.c: outcommented unused variable to remove warnings
3464 * src/pic/ralloc.c: outcommented unused variable to remove warnings
3466 2003-01-06 <karl AT turbobit.com>
3467 * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
3470 2003-01-06 <johan AT balder>
3472 * src/SDCCicode.c: fixed array add
3474 2002-01-05 Bernhard Held <bernhard AT bernhardheld.de>
3475 * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
3476 * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
3478 2003-01-04 <johan AT balder>
3480 * src/SDCCval.c (getNelements): fixed the initialized array of structures
3482 2002-12-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3483 * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
3485 2002-12-28 Bernhard Held <bernhard AT bernhardheld.de>
3486 * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann AT web.de>
3487 * support/regression/tests/bug-524697.c: fit mem usage into 8032
3489 2002-12-28 Bernhard Held <bernhard AT bernhardheld.de>
3490 * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
3492 2002-12-27 Bernhard Held <bernhard AT bernhardheld.de>
3493 * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
3495 2002-12-26 Bernhard Held <bernhard AT bernhardheld.de>
3496 * src/mcs51/main.c: removed {bindir}{sep} from aslink
3498 2002-12-10 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3500 * in \sdcc\as\mcs51\ changed these files in order to create an
3501 aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
3502 lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the
3503 following files to include the previous two files: aslink.dsp,
3504 Makefile.aslink, Makefile.bcc, and Makefile.in.
3506 * Changed \sdcc\src\SDCCmain.c so it creates files with extension
3507 .adb instead of .cdb
3509 2002-11-09 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3511 * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
3512 value from option --iram-size.
3514 2002-09-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3516 * \sdcc\as\mcs51\lklist.c: added boundary check before using
3519 2002-09-18 <wiml AT hhhh.org>
3521 * SDCClrange.h: exposed setFromRange() and setToRange()
3522 * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
3523 packRegsForAccUse() (bug 542397)
3524 * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
3525 multiple times and emitting the fetch operations more than once
3526 added aopGetUsesAcc() function to allow binary operators to
3527 fetch their operands in the correct order; made genMinus() emit
3528 compact code for X = LITERAL - Y
3530 2002-09-00 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3531 * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
3532 sprintf() in line 1267.
3534 2002-09-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3535 * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
3538 2002-09-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3539 Changes to aslink (All the changes are marked with 'JCF'):
3541 * \sdcc\as\mcs51\aslink.h: External definition of sflag and
3544 * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
3545 area BSEG. Also moves, if possible, the DATA area down into the internal
3546 ram so more space is available.
3548 * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
3551 * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
3552 not bytes. Function summary() which creates a memory usage summary
3553 file with extension .mem. Reports of overlaping stack and small stack
3554 size. If the space for the stack is less than 16 bytes aslink trows a
3557 * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
3558 the 8051. Option 'y' for memory summary output file.
3560 Changes to sdcc (All the changes are marked with 'JCF'):
3562 * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
3564 * \sdcc\src\SDCCglue.c: If a register bank is used, creates an
3565 overlaying area for it (uses RegBankUsed[4]).
3567 * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
3568 bank zero as used by default. By default aslink locates the stack
3569 (equivalent to --stack-after-data). Pass option 'y' to aslink for
3570 the creation of the .mem file. Delegates the allocation of data area
3571 to aslink (it is not longer 0x30 by default). If --stack-loc passes
3572 the begining of the stack area to aslink.
3574 * \sdcc\src\SDCCmem.c: If a register bank is used, marks it so
3575 glue() in SDCCglue.c creates an area for it.
3577 2002-09-03 Borut Razem <borut.razem AT siol.net>
3578 * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
3579 sdcc/src/pic/glue.c:
3580 introduced atexit() handler for teporay files removal in case of
3581 errors, assertions, ...
3583 2002-08-29 Borut Razem <borut.razem AT siol.net>
3584 * sdcc/support/cpp2/auto-host_vc_in.h:
3585 re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
3586 with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
3587 Maybe there is a similar problem with BORLANDC? It should be checked!
3589 * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
3590 corrected improper use of assert: the assignment to clr variable was done inside the assert.
3591 In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
3592 was not executed, and the compiler (cl) launched a warning:
3593 ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
3595 2002-08-28 Bernhard Held <bernhard AT bernhardheld.de>
3596 * src/SDCCglue.c (printIvalArray): iterative calculation of array length
3598 2002-08-28 Jesus Calvino-Fraga and Borut Razem <borut.razem AT siol.net>
3599 * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
3601 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
3602 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
3603 sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
3604 sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
3605 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
3606 sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
3607 sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
3608 - added Release configuration in VS projects
3609 - review of compiler an linker options
3610 - VC .exe files are generated in bin_vc directory, not to interfere
3611 with binaries generated from other projects (cygwin, mingw, bcc ...)
3613 * sdcc/src/yacc.dsp: added
3615 * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
3616 added - genarate sdcc_vc.h using sdcc_vc_in.h as template
3617 and insert the version number definitions from .version
3619 * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
3621 * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
3622 added - genarate auto-host.h using auto-host_vc_in.h as template
3625 removed from CVS, generated automatically
3627 2002-08-25 Bernhard Held <bernhard AT bernhardheld.de>
3628 * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
3630 2002-08-11 Borut Razem <borut.razem AT siol.net>
3631 * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
3633 2002-08-10 Borut Razem <borut.razem AT siol.net>
3634 * src/SDCCmain.c (main):
3635 file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
3636 platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
3637 The consequence was that some temporary files were not removed.
3640 unification of code in functions tempfilename() and tempfile():
3641 function tempnam() is defined in Visual Studio 6.0 and .NET
3643 * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
3645 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
3646 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
3647 - removed compiler command line option /WX: Treats all warnings as errors
3648 - update a list of source files, included into the project
3650 * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
3651 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
3652 changed project type to Generic Project so that can be correcly converted to VS.NET project
3654 * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
3656 * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
3658 * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
3660 * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
3661 added return 0 statements after assert() to make compiler happy
3663 * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
3664 added newline in the def file to keep MSC compiler satisfied
3666 * sdcc/src/z80/gen.c:
3667 - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
3668 so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
3669 - solved MSC error in function aopDump()
3671 * sdcc_vc.h: define PREFIX as "\\sdcc"
3673 2002-07-18 Bernhard Held <bernhard AT bernhardheld.de>
3674 * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
3676 2002-06-22 Scott Dattalo <scott AT dattalo.com>
3677 * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
3678 - Rewrote the register banking algorithm.
3679 - Added pCode live-range analysis to registers (for now, only non-used and
3680 singly-used registers optimized away)
3682 * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
3684 * support/scripts/inc2h.pl Kevin L. Pauba <klpauba AT cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
3686 2002-05-10 Scott Dattalo <scott AT dattalo.com>
3687 * src/pic/*: Added support for multiplication. Fixed many,many bugs.
3689 2002-04-22 Michael Hope <michaelh AT vroom>
3691 * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
3693 * configure.in (DD_COPT): Added include support required for gbdk.
3695 * .version: Bumped version number just to increase it.
3697 * src/SDCCmain.c: Added -nostdinc to the default options.
3699 2002-04-15 Michael Hope <michaelh AT vroom>
3701 * device/lib/z80/printf.c (sprintf): Added.
3703 * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
3705 * src/z80/peeph.def: Added transpose redundent load rule.
3707 * src/z80/main.c: Added force callee saves for jaune.
3709 * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
3711 * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
3713 2002-03-28 Johan Knol <johan AT balder>
3715 * src/SDCCval.c: fixed bug #532436
3717 2002-03-14 Scott Dattalo <scott AT dattalo.com>
3719 Added "char *Processor" field to the port structure.
3722 Added -p option. Allows port dependent processor to be specified.
3725 Initialized the new field char *Processor field to NULL in all ports
3728 Compiler generated registers for interrupt context saving
3729 were not getting allocated.
3731 2002-03-16 Sandeep Dutta <sandeep AT ddi.com>
3734 Fixed left shift. Will promote the left side of a left shift
3735 if a) left shifting more than size of operand or b) when assigned
3736 to something size > size of left side
3738 2002-03-14 Scott Dattalo <scott AT dattalo.com>
3740 tons of changes. Register allocation has been
3741 rewritten. Added customization for the various PICs. Flow
3742 analysis is restructured. ...
3748 Added. device.c is a PIC port hack to accomodate variations
3751 2002-03-13 Michael Hope <michaelh AT vroom>
3753 * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah.
3755 2002-03-04 johanknol <johanknol AT manik>
3757 * /src/SDCCval.c: fixed
3759 const unsigned char arr[][2] = { { 0, 1 } };
3760 t18.c:1: error: Initializer element is not constant
3762 2002-03-04 bela <bela AT manik>
3764 * /device/include/mcs51reg.h:
3765 ds89c420 register definition update
3767 2002-03-03 <johan AT FRIJA>
3769 * support/Util/SDCCerr.c: did something, but don't no why anymore
3771 * support/regression/tests/bug-524691.c: made it a little less shy
3773 * src/SDCCast.c (decorateType): fixed bug #524697
3775 * src/SDCCast.c: made some lineno improvements
3777 * src/SDCCval.c (getNelements): changed warning to error
3779 * src/SDCCglue.c (printIvalArray): changed warning to error
3781 * src/SDCCicode.c: fixed a warning for mingw
3783 * src/SDCCast.c (decorateType): fixed the << promotion for ops
3785 * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
3787 2002-03-02 Sandeep Dutta <sandeep AT ddi.com>
3789 * src/ds390/peeph.def:
3790 Added some more peephole rules
3792 * src/ds390/gen.c: Various fixes & enhancements
3794 * src/SDCClrange.c, src/SDCClrange.h:
3795 functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
3797 * src/ds390/ralloc.c:
3798 various fixes & enhancements (ds390) specific
3800 * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
3801 Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
3804 * sdcc/src/SDCCcse.c: Better fix for bug # 514308
3806 2002-03-02 <johan AT FRIJA>
3808 * src/SDCCast.c (decorateType): fixed bug #524708
3810 * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
3812 * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
3814 2002-03-01 Michael Hope <michaelh AT vroom>
3816 * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
3818 * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
3820 2002-03-01 <johan AT FRIJA>
3822 * src/SDCCglue.c (printIvalPtr): fixed bug #524211
3824 * src/SDCCast.c (decorateType): fixed bug #524209
3826 * src/SDCCval.c (valNot): fixed bug #524195
3828 2002-02-26 <johan AT balder>
3830 * src/xa51/gen.c: fixed a warning
3832 * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
3834 * src/SDCCast.c (decorateType): fixed bug #522534
3836 2002-02-23 <johan AT balder>
3838 * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
3840 2002-02-22 <johan AT balder>
3842 * src/SDCCast.c: fixed bug #514865
3844 * src/SDCCy.c ("SDCC.y"): fixed bug #516625
3846 2002-02-21 Sandeep Dutta <sandeep AT ddi.com>
3848 * sdcc/src/SDCCloop.c:
3849 Previous fix was not good. basic blocks that have "break" or "return" are
3850 not really partof a loop , but live ranges used in these blocks should
3851 be live thru the entire loop, so set partOfLoop but don't add them to
3854 2002-02-21 <johan AT FRIJA>
3856 * src/SDCCcse.c: fixed bug #514308
3858 2002-02-20 Sandeep Dutta <sandeep AT ddi.com>
3861 Fixed BUG #519583. If a conditional block ended in a return/break
3862 statement inside a loop, it was not being considered part of the loop.
3864 * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
3866 2002-02-10 Karl Bongers <karl AT turbobit.com>
3869 Fixed up SDCDB debugger somewhat. Updated debugger/README
3870 with lots of comments and notes.
3872 * device/examples/test2.c:
3873 Fix bug, "red" variable not being initialized(compiler complained).
3875 * device/examples/Makefile, examples/test3.c:
3876 Add Makefile in device/examples folder, compiles test3.c
3877 for use as a multiple module SDCDB test case.
3879 * sim/ucsim/cmd.src/cmdset.cc:
3880 Took out debug printfs in ucsim "next" command.
3883 Karl and Johan start ucsim XA support. Most dissassembly working,
3884 about 75% emulation done(plenty of work remaining).
3886 * sim/ucsim/z80.src:
3887 Add Z80 support to ucsim, add test-ucz80 regression test,
3888 notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
3889 Notice z80 compiler fails on examples/test3.c/crc code.
3891 2002-01-30 Sandeep Dutta <sandeep AT ddi.com>
3893 * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
3894 Added support for --parms-in-bank1
3896 * src/ds390/peeph.def:
3897 added a few more peephole optimzations
3900 1) added __builtin_inp & __builtin_outp used to read in data of given length
3901 from a memory mapped port
3902 2) added __builtin_memcmp
3903 3) added __builtin_swapw swap bytes of a short
3905 * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
3906 1) handle multiple send & receives from register bank1
3907 2) ralloc can now allocate DPTR1 to some liveRanges
3909 * src/SDCCsymt.c, src/SDCCsymt.h:
3910 changes to handle multiple sends & receives
3913 added some pointer arithmetic optimization
3916 added some pointer arithmetic optimizations but not stable yet so not
3917 called from anywhere (will get this working shortly)
3919 * src/SDCCopt.c: fixed for multiple sends & receives
3922 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
3923 2) preprocessing done AFTER port->finalizeoptions . This allows ports to
3924 set preprocessor defines (depending on options)
3926 * src/SDCCicode.c, src/SDCCicode.h:
3927 changes made to handle multiple sends & receives
3930 Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
3932 * src/SDCCcse.c, src/SDCCcse.h:
3933 added function findbackward def (to be used in upcoming optimization)
3935 * src/SDCCcflow.c, src/SDCCcflow.h:
3936 added function returnAtEnd - to determine if a basic block terminates with
3939 * src/SDCCast.c, src/SDCCast.h:
3940 added option parms-in-bank1
3942 * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
3943 * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
3944 * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
3945 adjusted for --parms-in-bank1 option
3947 * device/include/string.h:
3948 donot redefine "reentrant" keyword
3950 * device/include/ds80c390.h: Added some more SFRs
3952 2002-01-28 Bernhard Held <bernhard AT bernhardheld.de>
3954 * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
3956 2002-01-26 Bernhard Held <bernhard AT bernhardheld.de>
3958 * src/SDCCast.c (funcOfType): fix usage of double --float-reent
3960 2002-01-22 Bernhard Held <bernhard AT bernhardheld.de>
3962 * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
3964 2002-01-18 Paul Stoffregen <paul AT pjrc.com>
3966 * Added --xram-movc option
3968 2002-01-13 Bernhard Held <bernhard AT bernhardheld.de>
3970 * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
3972 2002-01-11 Johan Knol
3974 * Added math lib of Jesus Calvino-Fraga
3976 2002-01-08 Bernhard Held <bernhard AT bernhardheld.de>
3978 * src/SDCCmain.c (processFile): fix processing of ../../src.c
3979 * support/regression/Makefile: new target test-mcs51-stack-auto
3980 * support/regression/ports/mcs51-stack-auto/spec.mk: added
3982 2002-01-04 Bernhard Held <bernhard AT bernhardheld.de>
3984 * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
3986 2002-01-04 Bernhard Held <bernhard AT bernhardheld.de>
3988 * support/regression/ports/mcs51/support.c: correct setup of timer / UART
3990 2002-01-03 Bernhard Held <bernhard AT bernhardheld.de>
3992 * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
3994 * src/SDCCglue.h: add definition for printIvalChar()
3996 2002-01-02 Bernhard Held <bernhard AT bernhardheld.de>
3998 * src/SDCCast.c: fix #498138 by Johan
4000 * src/SDCCglue.c: fix #498138 by Johan
4002 2002-01-02 Bernhard Held <bernhard AT bernhardheld.de>
4004 * support/regression/Makefile: fix clean
4006 * support/regression/ports/ds390/support.c: fix transmission of last character
4008 2001-12-29 Sandeep Dutta <sandeep AT ddi.com>
4010 * /sdcc/src/ds390/gen.c:
4011 a) improved computing address of stack variable
4012 b) took out some #if 0 code
4013 c) improved parmBytes adjustment
4014 d) improved genPlusIncr & genMinusIncr
4015 e) genCmp could generate bad code (when left assigned to DPTR)
4016 f) Fixed bug in hasInc
4018 * /sdcc/src/ds390/ralloc.c:
4019 a) packRegsForSupport could mess up live information (Fixed)
4020 b) packRegsDPTRuse could be incorrect for left & right shift
4022 * /sdcc/src/mcs51/ralloc.c:
4023 packRegsForSupport could mess up the live information (Fixed)
4025 * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
4027 * /sdcc/src/SDCCast.c:
4028 can reverse a loop even if function call is present as long
4029 as the loop control variable is local & is not passed as parameter
4031 2001-12-24 Sandeep Dutta <sandeep AT ddi.com>
4033 * /sdcc/ChangeLog: *** empty log message ***
4035 * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
4036 More builtin function additions for TININative
4038 * /sdcc/src/ds390/ralloc.c:
4039 Had broken the regression testsuite
4041 * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
4043 * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
4044 Added funcattr hasStackParms will be set for reentrant functions when there
4045 are paramteres on the stack, this helps in minimizing frame pointer generation
4046 typeFromStr can handle function pointers now
4048 * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
4049 *** empty log message ***
4051 2001-12-24 Sandeep Dutta <sandeep AT ddi.com>
4053 * /src/ds390/gen.c, /src/ds390/main.c:
4054 More builtin function additions for TININative
4056 * /src/ds390/ralloc.c:
4057 Had broken the regression testsuite
4059 * /src/SDCCast.c: Fixed a bug in dumptree
4061 * /src/SDCCsymt.c, /src/SDCCsymt.h:
4062 Added funcattr hasStackParms will be set for reentrant functions when there
4063 are paramteres on the stack, this helps in minimizing frame pointer generation
4064 typeFromStr can handle function pointers now
4066 * /doc/builtins.txt, /doc/TININative.txt:
4067 *** empty log message ***
4070 2001-12-24 Sandeep Dutta <sandeep AT ddi.com>
4072 * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
4073 ALPHA version for -mTININative
4075 * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
4076 updated to reflect changes in the port structure
4079 added function do_assemble (similar to do_link) if non-null this function
4080 will be called to do assembly (-mTININative) requires a multi command
4082 added function genAssemblerEnd will be called to generate assembler Epilogue
4085 added _JavaNative to debug info printing
4087 * /src/SDCCmain.c: added option --tini-libid
4088 added port->do_assemble function (-mTININative) has a multi command assemble
4090 * /src/SDCCglue.c: Disabled "constExpr" check
4091 added port->genAssemblerEnd function
4093 * /src/SDCCglobl.h: Added option --tini-libid value
4096 tookout optimizeCompare from the header (has no external references)
4098 * /src/SDCCast.c: made one more function "static"
4100 2001-12-23 Michael Hope <michaelh AT juju.net.nz>
4102 * src/z80/mappings.i: Added z80asm support.
4104 * src/z80/main.c: Added z80asm support on --asm=z80asm
4106 * src/z80/gen.c: Fixed asm portability issues.
4108 * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support.
4110 * src/SDCCglue.c (printExterns): Added global/extern split.
4112 2001-12-17 Bernhard Held <bernhard AT bernhardheld.de>
4114 * support/regression/Makefile: added test for mcs51 model large
4116 * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
4118 * support/regression/ports/gbz80/spec.mk: added -mgbz80
4120 2001-12-05 Michael Hope <michaelh AT juju.net.nz>
4122 * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201.
4124 1904-01-06 Michael Hope <michaelh AT juju.net.nz>
4126 * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
4128 * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
4130 2001-12-02 Bernhard Held <bernhard AT bernhardheld.de>
4132 * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
4134 * support/regression/tests/simplefloat.c: Port to mcs51.
4136 2001-11-25 Michael Hope <michaelh AT juju.net.nz>
4137 * support/regression/tests/bug-485362.c: Added.
4139 * support/regression/tests/simplefloat.c (testDivNearOne): Added.
4141 * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
4143 * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
4145 * src/z80/gen.c (aopDump): Added a dump function.
4147 2001-11-25 Bernhard Held <bernhard AT bernhardheld.de>
4148 * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
4150 * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
4152 * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
4154 * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
4156 * sim/ucsim/s51.src/uc390cl.h: Work in progress.
4158 * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
4160 * support/regression/fwk/lib/testfwk.c: Run with tinibios.
4162 * support/regression/ports/mcs51/spec.mk: Fine tuninig.
4164 * support/regression/ports/ds390/support.c: Use tinibios.
4166 * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
4168 2001-11-23 Michael Hope <michaelh AT juju.net.nz>support/regression/tests/bug-460010.c
4170 * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
4171 (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
4173 * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
4175 * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
4177 2001-11-18 Michael Hope <michaelh AT juju.net.nz>
4179 * src/z80/gen.c (genCmp): Fixed compare on unsigned.
4181 * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
4182 (packRegsForIYUse): Created and optimised.
4184 2001-11-07 Michael Hope <michaelh AT juju.net.nz>
4186 * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
4187 2001-11-18 Bernhard Held <bernhard AT bernhardheld.de>
4189 * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
4191 * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
4193 * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
4195 2001-11-07 Bernhard Held <bernhard AT bernhardheld.de>
4197 * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
4199 * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
4201 2001-11-07 Bernhard Held <bernhard AT bernhardheld.de>
4203 * sdcc/sim/ucsim/globals.cc: New: IXRAM.
4205 * sdcc/sim/ucsim/stypes.h: New: IXRAM.
4207 * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
4209 2001-11-07 Michael Hope <michaelh AT juju.net.nz>
4211 * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
4212 (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
4213 (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
4215 * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
4217 * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
4218 (genNotFloat): Added.
4219 (genUminusFloat): Added.
4221 * device/lib/z80/Makefile: Added floating pt stubs.
4223 * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
4225 * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
4227 * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
4229 2001-11-07 Bernhard Held <bernhard AT bernhardheld.de>
4231 * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
4233 * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
4235 * sdcc/support/regression/Makefile: Add port ds390.
4237 * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
4239 * sdcc/support/regression/ports/z80/spec.mk: Minor change.
4241 * sdcc/support/regression/ports/ds390/spec.mk: Added.
4243 * sdcc/support/regression/ports/ds390/support.c: Added.
4245 * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
4247 * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
4249 * sdcc/support/regression/fwk/lib/timeout.c: Paste.
4251 2001-11-04 Michael Hope <michaelh AT juju.net.nz>
4253 * device/include/malloc.h: Added z80 and gbz80 support.
4255 * device/lib/gbz80/heap.s: Added.
4257 * device/lib/z80/heap.s: Added.
4259 * device/lib/malloc.c: Added z80 and gbz80 support.
4261 * support/regression/tests/malloc.c (testMalloc): Added.
4263 * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
4265 * support/regression/tests/bug-478094.c: Added.
4267 * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
4269 2001-11-04 Bernhard Held <bernhard AT bernhardheld.de>
4271 * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
4273 * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
4275 * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
4277 * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
4279 * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
4281 2001-11-04 Michael Hope <michaelh AT juju.net.nz>
4283 * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
4285 2001-11-03 Michael Hope <michaelh AT juju.net.nz>
4287 * support/regression/tests/bug-477927.c: Added.
4289 * src/z80/peeph.def: Added minor rules.
4291 * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
4293 * src/z80/peeph.def: Added jump optimisation modification.
4295 2001-11-01 Michael Hope <michaelh AT juju.net.nz>
4297 * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
4299 2001-10-30 Michael Hope <michaelh AT juju.net.nz>
4301 * support/regression/tests/funptrs.c: Added.
4303 2001-10-29 Michael Hope <michaelh AT juju.net.nz>
4305 * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
4307 2001-10-28 Michael Hope <michaelh AT juju.net.nz>
4309 * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
4311 * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
4313 * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
4314 (movLeft2ResultLong): Created.
4316 * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
4317 (joinPushes): Added. Joins two char pushes into a word push.
4319 2001-10-27 Michael Hope <michaelh AT juju.net.nz>
4321 * support/cpp2/Makefile.in (install): Added creation of dest dir.
4323 * support/makebin/Makefile (install): Added creation of dest dir.
4325 2001-10-24 Karl Bongers <karl AT turbobit.com>
4327 * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
4329 2001-10-21 Michael Hope <michaelh AT juju.net.nz>
4331 * src/z80/ralloc.c: Turned off faulty pack for one use.
4333 * src/z80/peeph-gbz80.def: Removed redundent restart options.
4335 * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
4337 2001-10-21 Bernhard Held <bernhard AT bernhardheld.de>
4339 * support/regression/Makefile: Improved clean
4341 * support/regression/ports/gbz80/spec.mk: Added clean
4343 * support/regression/ports/host/spec.mk: Added clean
4345 * support/regression/ports/z80/spec.mk: Added clean
4347 * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
4349 * support/regression/ports/mcs51/timeout.c: little improvements
4351 2001-10-17 Michael Hope <michaelh AT juju.net.nz>
4353 * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
4355 * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
4357 * support/regression/generate-cases.py: Fixed up to use function pts correctly.
4359 2001-10-16 Bernhard Held <bernhard AT bernhardheld.de>
4361 * support/regression/port/mcs51/spec.mk: add timeout for uCsim
4363 * support/regression/port/mcs51/timeout.c: add timeout for uCsim
4365 2001-10-13 Michael Hope <michaelh AT juju.net.nz>
4366 * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
4368 * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
4370 * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
4372 * src/mcs51/main.c (_linkCmd): Added bin path to command.
4374 * src/SDCCmain.c (initValues): Added support for when it it called just to link.
4376 * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
4378 * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
4380 * support/regression/tests/longor.c: Added.
4382 2001-10-11 Bernhard Held <bernhard AT bernhardheld.de>
4384 * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
4386 * as/mcs51/aslink.h: define PATH_MAX
4388 * as/mcs51/asm.h: define PATH_MAX
4390 * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
4392 * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
4394 * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
4396 * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
4398 * src/SDCCglobl.h: define PATH_MAX
4400 * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
4402 * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
4404 2001-10-11 Michael Hope <michaelh AT juju.net.nz>
4406 * src/z80/gen.c (gencjneshort): Fixed
4408 * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
4410 2001-10-09 Michael Hope <michaelh AT juju.net.nz>
4412 * support/regression/tests/bug-469671.c: Added.
4414 * src/z80/gen.c (shiftIntoPair): Fixed up warning.
4416 2001-10-08 Michael Hope <michaelh AT juju.net.nz>
4418 * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
4420 * src/z80/gen.c (genPlus): Fixed to work with extended stack. Also fixed genMinus, genCmp. genUMinus is still left.
4422 2001-10-08 Bernhar Held <bernhard AT bernhardheld.de>
4424 * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
4426 * src/device/lib/_mulint.c : removed hint: nooverlay bug
4428 * src/device/lib/_mullong.c : removed hint: nooverlay bug
4430 * src/device/lib/_divuint.c : removed hint: nooverlay bug
4432 * src/device/lib/_divulong.c: removed hint: nooverlay bug
4434 * src/device/lib/_moduint.c : removed hint: nooverlay bug
4436 * src/device/lib/_modulong.c: removed hint: nooverlay bug
4438 2001-10-07 Michael Hope <michaelh AT juju.net.nz>
4440 * 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.
4442 * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all. Fixes runtime segfault.
4444 * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
4446 2001-10-07 <johan AT FRIJA>
4448 * device/lib/gets.c (gets): fixed the return value.
4450 2001-10-06 Michael Hope <michaelh AT juju.net.nz>
4451 * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
4453 * 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.
4455 * 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.
4457 * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
4459 * src/pic/gen.c: Removed Safe_strdup.
4461 * configure.in: Added option to enable libgc support.
4463 * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
4464 (bitVectUnion): Optimised.
4465 (bitVectIntersect): Optimised.
4466 (bitVectBitsInCommon): Optimised.
4467 (bitVectCplAnd): Optimised.
4469 * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it. Sigh.
4471 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
4473 * src/SDCCmain.c: distinguish between assembler debug and plain options
4475 * src/avr/main.c: remove standard assembler options
4477 * src/ds390/main.c: remove standard assembler options
4479 * src/mcs51/main.c: remove standard assembler options
4481 * src/port.h: removed "PENDING" comment
4483 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
4485 * src/device/lib/_mulint.c : new, with assember functions
4487 * src/device/lib/_mullong.c : new, with assember functions
4489 * src/device/lib/_divuint.c : with assember functions
4491 * src/device/lib/_divsint.c : with assember functions
4493 * src/device/lib/_divulong.c: with assember functions
4495 * src/device/lib/_divslong.c: with assember functions
4497 * src/device/lib/_moduint.c : with assember functions
4499 * src/device/lib/_modsint.c : with assember functions
4501 * src/device/lib/_modulong.c: with assember functions
4503 * src/device/lib/_modslong.c: with assember functions
4505 * src/device/lib/libint.lib: replaced _muluint.c and _mulsint.c by _mulint.c
4507 * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
4509 * src/device/lib/Makefile.in: replaced _muluint.c and _mulsint.c by _mulint.c
4510 replaced _mululong.c and _mulslong.c by _mullong.c
4512 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
4514 * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
4516 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
4518 * src/SDCCglue.c: test, if win32api is available for MINGW
4520 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
4522 * src/SDCCsymt.c: no more _modifier in printTypeChain()
4523 * support/regression/tests/driverstruct.c: REENTRANT for mcs51
4524 * support/regression/ports/gbz80/spec.mk: removed GENERIC
4525 * support/regression/ports/host/spec.mk: removed GENERIC
4526 * support/regression/ports/mcs51/spec.mk: removed GENERIC
4527 * support/regression/ports/z80/spec.mk: removed GENERIC
4529 2001-10-01 Michael Hope <michaelh AT juju.net.nz>
4531 * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
4533 * support/regression/tests/bug-467035.c: Created.
4535 2001-10-01 <johan AT FRIJA>
4537 * src/SDCC.y: fixed bug #466586 part 1
4539 2001-10-01 Johan Knol <johan.knol AT iduna.nl>
4541 * SDCCicode.c: z80 has no generic pointers
4542 * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
4544 2001-09-30 Michael Hope <michaelh AT juju.net.nz>
4546 * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
4548 2001-09-29 Michael Hope <michaelh AT juju.net.nz>
4550 * Makefile (sdcc-libs): Added makebin to the list of standard targets.
4552 * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
4554 2001-09-25 Michael Hope <michaelh AT juju.net.nz>
4556 * configure.in: Fixed up so that ucsim is only configured once.
4558 * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
4560 * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
4561 (getPathDifference): As above.
4563 * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory. Fixed case where pre-processing only.
4565 * src/SDCCglue.c (tempfilename): Added function for pre-processor.
4567 2001-09-23 Michael Hope <michaelh AT juju.net.nz>
4568 * .version: Updated to 2.3.1
4570 * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
4571 Added copyright header.
4573 * src/SDCCmain.c: Shifted various functions into SDCCutil.c
4574 (assemble): Added support for macro based assembler commands.
4575 (linkEdit): Added support for macro based linker commands.
4576 (preProcess): Changed the pre-processor to use macros.
4577 (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
4578 (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
4580 * device/lib/z80/crt0.s: Added module name for debugging.
4582 2001-09-20 Michael Hope <michaelh AT juju.net.nz>
4584 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
4586 * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
4588 * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
4590 * src/Makefile.in: Added SDCCmacro and SDCCutil
4592 2001-09-19 Michael Hope <michaelh AT juju.net.nz>
4594 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
4596 2001-09-16 <johan AT FRIJA>
4598 * 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.
4600 2001-09-15 <johan AT FRIJA>
4602 * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
4603 * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
4605 2001-09-11 <johan AT FRIJA>
4607 * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
4609 2001-09-10 Michael Hope <michaelh AT juju.net.nz>
4611 * support/regression/tests/bug-460444.c: Added test case.
4613 * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
4614 (genCast): Added justification for all of the asserts.
4616 2001-09-10 Bernhard Held <bernhard AT bernhardheld.de>
4618 * support/regression/support.c: _xdata replaced by xdata
4620 * support/regression/spec.mk: removed _generic
4622 2001-09-09 Michael Hope <michaelh AT juju.net.nz>
4624 * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
4626 * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
4627 (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
4629 * src/z80/peeph.def: Added a rule to optimise shift then compare.
4631 * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
4633 * support/regression/tests/bug-460010.c: Added test case.
4635 * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
4637 2001-09-09 Bernhard Held <bernhard AT bernhardheld.de>
4639 * support/regression/Makefile: inter-port-clean adjusted for mcs51
4641 * support/regression/testfwk.c: removed workaround for bug #436344
4643 * support/regression/tests/bp.c: use less memory with mcs51
4645 * support/regression/tests/bug-441448.c: use less memory
4647 * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
4649 * support/regression/collate-results.py: typo
4651 2001-09-08 Michael Hope <michaelh AT juju.net.nz>
4653 * support/regression/tests/fetchoverlap.c: Added new test case.
4655 * support/regression/tests/bp.c: Added new test case.
4657 * support/regression/tests/bug-448984.c: Added new test case.
4659 * support/regression/tests/pow2shifts.c: Added new test case.
4661 * src/z80/gen.c: Turned off the noise it normally generates for the release.
4662 (genlshTwo): Fixed right shift for count > 8.
4664 * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
4666 2001-09-08 <johan AT FRIJA>
4668 * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
4670 2001-09-07 <johan AT FRIJA>
4672 * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
4674 * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
4676 2001-09-06 <johan AT FRIJA>
4678 * src/SDCC.y: this could be a fix for bug #458744 (1.37)
4679 * bernhard noted me at this: "() equals to (void)" (1.38)
4681 2001-09-05 <johan AT FRIJA>
4683 * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
4685 2001-09-04 <johan AT FRIJA>
4687 * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
4690 2001-09-04 Paul Stoffregen <paul AT pjrc.com>
4692 * pragma noinduction broke memcpy on mcs51 large model. Moved it inside z80 optimization
4694 2001-09-03 Michael Hope <michaelh AT juju.net.nz>
4696 * link/z80/aslink.h: Fixed path for PATH_MAX
4698 2001-09-02 Michael Hope <michaelh AT juju.net.nz>
4700 * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
4702 * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
4704 * support/regression/tests/uminus.c: Added a test for the unary minus operator.
4706 * 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.
4708 2001-09-01 Michael Hope <michaelh AT juju.net.nz>
4710 * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
4711 (genCmp): Fixed up genCmp for the GB with longs.
4713 * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
4715 * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
4717 * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
4719 * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
4721 2001-08-30 Paul Stoffregen <paul AT pjrc.com>
4723 * added peepholes 223 to 231 to mcs51 port. These improve code when using large model.
4725 2001-08-30 Michael Hope <michaelh AT juju.net.nz>
4727 * 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.
4729 * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
4731 2001-08-29 Michael Hope <michaelh AT juju.net.nz>
4733 * link/z80/aslink.h: Fixed long file name support. Is now based off PATH_MAX instead of a constant.
4735 * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
4737 2001-08-30 Bernhard Held <bernhard AT bernhardheld.de>
4739 * sim/ucsim/configure: little improvement of Cygwin-detection
4740 * sim/ucsim/configure.in: little improvement of Cygwin-detection
4741 * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
4742 * support/regression/tests/bug-221100.c: small changes for mcs51
4743 * support/regression/tests/bug-221168.c: small changes for mcs51
4744 * support/regression/tests/bug-227710.c: small changes for mcs51
4745 * support/regression/tests/staticinit.c: small changes for mcs51
4746 * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
4747 * as/mcs51/lklex.c: accept everything as symbol name in rel-files, bug fix ID 452601
4748 * as/mcs51/lksym.c: accept everything as symbol name in rel-files, bug fix ID 452601