2004-02-06 Vangelis Rokas <vrokas AT otenet.gr>
[fw/sdcc] / ChangeLog
1 2004-02-06  Vangelis Rokas <vrokas AT otenet.gr>
2
3         * device.c (regCompare): registers are sorted by ascending
4         address and increasing size,
5         * main.c (_pic16_finaliseOptions): removed the declaration
6         of compiler macro MCU. Now a macro of the format pic18fxxxx
7         will be defined from the command line
8
9 2004-02-06  Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
10             patch committed by Vangelis Rokas <vrokas AT otenet.gr>
11
12         * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF
13         PCOP_RLCF was overwritten!
14         * gen.c (genSkip) commented out calls to pic16_emitcode,
15         * (genCmpEQ) fixed "long" compares, only high word did get compared,
16         * (genlshTwo),
17         * (genRRC) added debugging info,
18         * (shiftL2Left2Result) Fixed bug, if offr > offl. Result got
19         overwritten while shifting,
20         * (shiftR2Left2Result) Fixed bug, if offr < offl. Result got
21         overwritten while shifting,
22         * (AccLsh),
23         * (AccRsh),
24         * (shiftLLeftOrResult),
25         * (shiftRLeftOrResult),
26         * (shiftRLong),
27         * (shiftLLong) Implemented with pic16_emitpcode
28         * (genlshFour) Replaced pic16_aopPut with pic16_emitpcode,
29         * (genLeftShift) Fixed bug, operand for shift by variable always
30         was "and"ed with 0x0f,
31         * (genLeftShiftLiteral),
32         * (genrshTwo),
33         * (genRightShiftLiteral) added debugging info,
34         * (genrshFour) added comment,
35         * (genRightShift) determined signedness from operand "left"
36         instead of "result"
37
38 2004-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39
40         * src/SDCCicode.c (geniCodeParms),
41         * src/SDCCast.c (decorateType, processParms): support for ANSI-style
42         function pointers, fixed function pointer bugs #861242 and #861896
43
44 2004-01-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45
46         * device/include/c8051f000.h,
47         * device/include/c8051f120.h,
48         * device/include/c8051f300.h: added header files for Silicon
49         Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
50
51 2004-01-31 Bernhard Held <bernhard AT bernhardheld.de>
52
53         * src/SDCCast.c (processParams): added new type flow and restructured
54         (gatherAutoInit): added new type flow
55         (addCast): cosmetic changes
56         (getLeftResultType): added new type flow for array indices, patch
57         provided by Stas, see FR #877103
58         (decorateType): SDCC_NEWTYPEFLOW removed, new type flow is now standard;
59         array index patch by Stas
60         * src/SDCCast.h: added prototype getResultTypeFromType()
61         * src/SDCCval.h,
62         * src/SDCCval.c (resolveIvalSym) (resolveIvalSym),
63         * src/pic/glue.c (pic14emitStaticSeg),
64         * src/pic16/glue.c (pic16emitStaticSeg),
65         * src/SDCCglue.c (emitRegularMap) (emitStaticSeg): added new type flow
66         for initialization of symbols
67         * src/SDCCicode.c (geniCodeArray): removed warning W_ARRAY_BOUND
68         * support/Util/SDCCerr.h:
69         * support/Util/SDCCerr.c: replaced W_ARRAY_BOUND by W_IDX_OUT_OF_BOUNDS
70         * .version: bumped version number to 2.3.8
71         * device/include/Makefile.in (install),
72         * doc/Makefile (install): changed to 'rm `find ...`' construct to
73         avoid warnings
74
75 2004-01-30 Bernhard Held <bernhard AT bernhardheld.de>
76
77         * support/regression/tests/libmullong.c: fixed for 64 bit hosts
78         Slade Rich fixed an optimization bug
79         * src/pic/pcodepeep.c,
80         * src/pic/pcoderegs.c
81         * doc/Makefile (install): added test for directory
82
83 2004-01-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
84
85         * src/mcs51/ralloc.c (getRegPtr, getRegGpr),
86         * src/ds390/ralloc.c (getRegPtr, getRegGpr),
87         * src/pic/ralloc.c (getRegPtr, getRegGpr),
88         * src/pic16/ralloc.c (getRegPtr, getRegGpr),
89         * src/z80/ralloc.c (getRegGpr): fixed bug #883361
90         * as/mcs51/asexpr.c (term),
91         * as/hc08/asexpr.c (term): fixed bug #887146
92
93 2004-01-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
94
95         * src/z80/gen.c (genMult): handle single byte result product
96         * src/SDCCopt.c (killDeadCode): never convert ADDRESS_OF iCode to
97         DUMMY_READ_VOLATILE (fixed bug #886367)
98
99 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
100
101         * support/regression/tests/libmullong.c: fixed logic, on little endian
102         hosts we ended without a mullong_wrapper()
103
104 2004-01-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
105
106         * ChangeLog: changed "@" to " AT " in hopes of reducing spam and
107         virus/worm forged address usage.
108
109 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
110
111         Fixed promotion, it should be done on AST level:
112         * src/SDCCast.c (addCast): added promotion to int
113         (decorateType): updated call to upCast()
114         * src/SDCCicode.c (geniCodeLeftShift): removed call to
115         usualUnaryConversions()
116
117 2004-01-26  Michael Hope  <michaelh AT juju.net.nz>
118
119         * support/regression/tests/literalop.c (mulWrapper): Added a
120         wrapper to remove integer overflow warnings.
121
122         * support/regression/tests/float_trans.c: Made work on host.
123
124         * support/regression/ports/ucz80/spec.mk (UCZ80): Made detect the
125         location of sz80.
126
127         * support/regression/generate-cases.py (main): Changed from inline
128         to a main method.
129
130         * doc/Makefile (install): Changed to depth first to get rid of
131         missing directory install warning.
132
133         * as/Makefile (install-doc): Made work on Mac.
134
135 2004-01-25 Bernhard Held <bernhard AT bernhardheld.de>
136
137         * src/SDCCast.c: added an additional type flow in decorateType() of
138         opposite direction, see feature request #860006; it's enabled at runtime
139         by setting the environment variable SDCC_NEWTYPEFLOW
140         * src/SDCCast.h: changed prototype of decorateType()
141         * src/SDCCglue.c (emitRegularMap): updated call of decorateType()
142         * src/SDCCicode.c (geniCodeDivision) (geniCodeModulus): promotion from
143         'char' to 'int' can be omitted, if both operands are 'unsigned char';
144         see feature request #877103
145         * src/SDCCval.c: updated call of decorateType()
146         (valBitwise): fixed bug #882876
147         (valMinus): added promotion
148         (valLogicAndOr): result is unsigned
149         (cheapestVal) (constVal): literals from 0...255 are 'unsigned char' now
150         * src/SDCCsymt.c (computeType),
151         * src/mcs51/gen.c (genCmpGt) (genCmpLt): literal 'unsigned char'
152         must not cause an unsigned operation
153         * src/pic/glue (pic14emitRegularMap),
154         * src/pic16/glue.c (pic16emitRegularMap): updated call of decorateType()
155
156 2004-01-23 Bernhard Held <bernhard AT bernhardheld.de>
157
158         * src/pic/pcode.c (PCodeID): commented out left over debug code
159
160 2004-01-20 Bernhard Held <bernhard AT bernhardheld.de>
161
162         * support/valdiag/tests/overflow.c: added shift tests
163         * src/pic/device.c,
164         * src/pic/gen.c,
165         * src/pic/gen.h,
166         * src/pic/glue.c,
167         * src/pic/main.c,
168         * src/pic/pcode.c,
169         * src/pic/pcode.h,
170         * src/pic/pcodepeep.c,
171         * src/pic/pcoderegs.c,
172         * src/pic/ralloc.c,
173         * src/pic/ralloc.h: applied patch from Slade Rich;
174         added support for multiple code pages and multiple RAM banks on the
175         PIC 14 port. The ASM files now no longer simply assume all the
176         code / RAM are in the same page / bank. This means the linker can
177         safely allocate code/RAM of separate ASM files to different pages/banks.
178         * doc/sdccman.lyx: added Slade's tips
179         * src/mcs51/peeph.def: fixed bug #880768
180
181 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
182
183         * src/hc08/ralloc.c (rematStr): fixed bug #879282
184         * src/SDCCast.c (decorateType): fixed bug #880197
185
186 2004-01-20  Michael Hope  <michaelh AT juju.net.nz>
187
188         * sim/ucsim/gui.src/serio.src/main.cc: Fixed unconditional use of
189         getopt.h.
190
191         * debugger/mcs51/cmd.c (getValBasic): Changed strtof to strtod as
192         strtof is not part of C89 and isn't included with Mac OS X.
193
194 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
195
196         * src/hc08/gen.c (genPlusIncr, genUminus, genMinusDec, genCmp,
197         shiftL2Left2Result): fixed bug #879326
198         (genAnd, genOr, genXor): fixed bug when result was of type AOP_CRY
199         (genMultOneByte): fixed bug in signed vs unsigned multiplication
200         * sim/ucsim/hc08.src/inst.cc (inst_clr): added missing effective
201         address fetch for clr instruction
202         * device/lib/hc08/_mulint.c: created optimized assembly version
203         * src/SDCCdflow.c (computeDataFlow): fixed bug #878209
204
205 2004-01-19 Bernhard Held <bernhard AT bernhardheld.de>
206
207         * src/SDCCicode.c (geniCodeArray): applied patch from Stas Sergeev
208         proposed in FR #877103
209
210 2004-01-18 Bernhard Held <bernhard AT bernhardheld.de>
211
212         * src/SDCCval.c (cheapestVal): added missing checks
213         * src/SDCCicode.c (usualBinaryConversions): fixed condition
214         * src/SDCCicode.c (geniCodeAdd): fixed part of bug #877103
215
216 2004-01-16 Klaus Flittner <klaus_flittner AT gmx.de>
217
218         * src/ds390/gen.c (aopOp3): fixed the assignment of different dptrs to
219         equal operands
220
221 2004-01-16 Vangelis Rokas <vrokas AT otenet.gr>
222
223         * src/SDCCmain.c (linkEdit): variable $3 of the linker command is
224         loaded with the linker search paths (-L arguments) and the libraries
225         to be linked with the current source (-l arguments). Changes
226         currently will affect only the pic16 port.
227         * src/pic16/main.c (_pic16_finaliseOptions): add to the linker
228         include path the port specific paths and port specific libraries,
229         * gplink command now contains the $3 argument,
230         * src/pic16/device.h,
231         * src/pic16/device.c,: structure PIC_device is made public and
232         renamed to PIC16_device, the same for variable Pics which is renamed
233         to Pics16. Updated all references to them.
234         * src/pic16/glue.c (pic16glue): corrected bug with code
235         initialization which bypassed the variable initializations block.
236
237         * device/lib/pic16/Makefile.rules: removed --penable-stack from
238         COMPILE_FLAGS and added the --nostdinc option
239
240 2004-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
241
242         * device/include/mc68hc908jb8.h: Register defs for another member
243         of the hc08 family. Contributed by Bjorn Bringert - thanks!
244
245 2004-01-14 Vangelis Rokas <vrokas AT otenet.gr>
246
247         Documenting changes from previous commits.
248         * configure.in (version 1.56),
249         * configure: initially I've added AC_CONFIG_SUBDIRS(device/lib/pic16)
250         when generating output files to configure the pic16 library,
251         but now I've commented it out, since gputils aren't installed in the
252         SF compile farm, so library won't compile
253
254         * device/lib/Makefile.in (version 1.56): initially I've added in
255         target 'all' the prerequestive 'model-pic16' so it compiled the
256         pic16 library, but now I've commented it out for the same reasons
257         above,
258         * added targets 'model-pic16' and 'objects-pic16' to compile the
259         library
260         * added target 'port-specific-objects-pic16' to handle the
261         generated libraries and copy them into the build/ directory
262         * added target 'clean-intermediate-pic16' to clean intermediate
263         files into pic16 directory
264         * in target 'installdirs' added line to create directory pic16 in
265         the installation path
266
267         * device/include/Makefile.in (version 1.11): in target 'install'
268         added lines to copy all header files to installation path,
269         * in target 'installdirs' added line create directory for pic16
270         headers in the installation path
271
272 2004-01-13 Klaus Flittner <klaus_flittner AT gmx.de>
273
274         * src/ds390/gen.c (genCall): fixed a double use of acc and b after
275          a function call
276
277 2004-01-13 Bernhard Held <bernhard AT bernhardheld.de>
278
279         * configure,
280         * device/lib/configure.in,
281         * device/lib/configure: fixed for autoconf 2.57
282
283 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
284
285         * src/z80/main.c (_parseOptions): fixed the portmode= command line
286         option so that it actually works. Made it specific to the z80, since
287         the gbz80 doesn't have these kinds of I/O ports.
288
289 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
290
291         * device/include/z180.h,
292         * device/lib/_memcpy.c,
293         * device/lib/_memmove.c,
294         * device/lib/_mulint.c,
295         * device/lib/ser_ir.c,
296         * device/lib/ser_ir_cts_rts.c,
297         * device/lib/_strcmp.c,
298         * device/lib/_strtok.c: fixed pragmas to non-deprecated form
299         * src/z80/main.c (_process_pragma): add support for pragmas bank and
300         portmode; added deprecation warning for bank= and protmode= forms.
301         Also, guard against buffer overflow.
302         * src/z80/gen.c (aopGet): generate better code for sfr banked read
303
304 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
305
306         * src/hc08/main.c (_hc08_genAssemblerPreamble): fixed bug #875487. Also
307         changed interrupt vector table generation to only emit declared vectors.
308         * device/include/Makefile.in: added missing backslash
309         * device/lib/pic16/Makefile.rules: add $(MODELFLAGS) to $(CFLAGS)
310
311 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
312
313         Mainly changes to support compilation of the device libraries
314         * src/pic16/device.c: stack is allocated via symbol and not
315         via literal number. The symbol is placed in the corresponding
316         position of the data ram
317         * (pic16_dump_section): relocatable and absolute uninitialized
318         data are now emitted in sorted order to reduce section naming,
319         * src/pic16/ralloc.c (newReg): fixed bug with SFR's that
320         weren't marked as being in the access bank,
321
322 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
323
324         Added portion of GNU PIC Library under the directory
325         device/include/pic16 and device/lib/pic16. These files
326         contain the declarations of SFRs for the PIC18Fxx2 devices.
327         The directory is initialized via configure from toplevel.
328         
329 2004-01-12 Klaus Flittner <klaus_flittner AT gmx.de>
330
331         * src/ds390/gen.c (operandsEqu): fixed a little typo, that prevented
332         the spilllocations to be compared correctly
333
334 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
335
336         * src/SDCCast.c (decorateType): fixed bug introduced today
337
338 2004-01-12  Borut Razem <borut.razem AT siol.net>
339
340         * src/SDCC.lex, support/Util/SDCCerr.h, support/Util/SDCCerr.c,
341         doc/sdccman.lyx: upper case pragmas are deprecated
342
343 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
344
345         * src/SDCCast.c (decorateType): replacing 'ul > 0' by  '!ul' results
346         in simpler and even better code
347
348 2004-01-11 Bernhard Held <bernhard AT bernhardheld.de>
349
350         * src/SDCCicode.c (operandOperation): fixed bug #874819
351         * src/SDCCast.c (decorateType): fixed
352         char foo (unsigned long ul) { return ul > 0; }
353
354 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
355
356         * doc/sdccman.lyx: Moved and added some sections, small changes
357         all over. Telling LaTeX to be less strict with word spacing
358         to better keep the right margin. Changed some notes about
359         maintainance of the ports in section 3.2.1 - is it OK like this?
360
361 2004-01-11 Vangelis Rokas <vrokas AT otenet.gr>
362
363         SDCC source changes:
364         * src/SDCCopt.c (cntToFcall, cnvToFloatCast, cnvFromFloatCast,
365         convilong): modified to inform the pic16 port that builtin functions
366         are external
367
368         PIC16 PORT specific changes:
369         * src/pic16/device.c pic16_dump_equates() added,
370         processor registers declared internally by the port are emitted in
371         the translation as equates,
372         * src/pic16/gen.c: inline code is passed unprocessed to the
373         translation,
374         * (pic16_popGetLit2): fnuction modified to take second operand as
375         pCodeOp pointer and not as literal,
376         * (popRegFromIdx): prefixed with pic16_,
377         * (pic16_popCombine2): modified to receive already allocated pCode
378         operands,
379         * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): added
380         * (genFunction): initializes local stack frame and pushes on stack
381         all the registers used by this function,
382         * (genEndFunction): restores all registers from stack and restores
383         stack frame,
384         * src/pic16/glue.c (pic16emitRegularMap): various changes and
385         improvements,
386         * (pic16glue): changed the program startup sequence,
387         * added new dbName code 'A' for functions placed in absolute section
388         * src/pic16/main.c: added function attribute _naked,
389         * added pragma 'code' to place a fnuction at an absolute address,
390         * added command line arguments --debug-ralloc and --pcode-verbose,
391         * (_pic16_finiliseOptions): options.all_callee_saves is set by default
392         * src/pic16/pcode.c (pic16_pBlockConvert2Absolute) added,
393         * (pic16_newpCodeOpLit2): modified to take the second operand as
394         pCodeOp pointer,
395         * (pic16_printpBlock): modified to emit each function in a separate
396         section,
397         * (pic16_get_op): modified to use the gpasm modifiers LOW,HIGH and
398         UPPER for immediate operands,
399         * src/pic16/pcodepeeph.c: added peephole support for the LFSR
400         instruction,
401         * src/pic16/peeph.def: all peepholes with movff are commented out,
402         because there is a problem in the pcode peep optimizer,
403         * src/pic16/ralloc.c: the register allocator can now reuse local
404         function symbols for another function. This saves register usage.
405         * src/pic16/ralloc.h: added flag isLocal in structure regs,
406
407         Added file src/pic16/NOTES with information about program writing on
408         the current port version.
409
410 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
411
412         * src/mcs51/peephole.def: added peepholes 177.c,d (redundant moves)
413         and peephole 252 (array access)
414
415 2004-01-09  Borut Razem <borut.razem AT siol.net>
416
417         * src/SDCCmain.c : fixed #872250: -l command line defined library
418           files are scanned before standard library files
419
420 2004-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
421
422         * src/SDCCast.c (decorateType): fixed bug #874046
423
424 2004-01-09  Borut Razem <borut.razem AT siol.net>
425
426         * support/scripts/sdcc.nsi: remove previous installation
427
428 2004-01-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
429
430         * src/SDCCglue.c (createInterruptVect): don't append 7(5) padding
431         bytes for last interrupt vector (mcs51)
432         * sdcc.spec: fixed typo
433
434 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
435
436         * src/mcs51/gen.c (genFunction, genEndFunction, genReceive, getTempRegs,
437         gen51Code): more efficient parameter receive for --model-large
438         ("bug" #845294)
439
440 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
441
442         * src/ds390/main.c,
443         * src/z80/main.c: added missed needLinkerScript flags (more than
444         one port structure defined in these file)
445         * src/ds390/gen.c (aopForSym, aopOp, operandsEqu, aopOp3): fixed
446         bug #795325
447
448 2004-01-08 Vangelis Rokas <vrokas AT otenet.gr>
449
450         * src/SDCCmain.c: removed various references to DEFAULT_PORT
451         * src/port.h: added flag needLinkerScript in port->linker
452         structure to inform whether to create a .lnk file or not,
453         * src/avr/main.c,
454         * src/ds390/main.c,
455         * src/hc08/main.c,
456         * src/mcs51/main.c,
457         * src/pic/main.c,
458         * src/pic16/main.c,
459         * src/xa51/main.c,
460         * src/z80/main.c: changed appropriately to configure
461         needLinkerScript flag
462         * src/pic/gen.c,
463         * src/pic16/gen.c (genAddrOf): fixed bug #863624
464         * src/pic/glue.c: added variable udata_section_name to
465         override default uninitialized data segment definition for
466         devices only with SHAREBANK memory (reported from Erik Epetrich)
467         * (pic14emitOverlay): modified to emit a commented overlay segment
468         directive when no overlay data exist
469         * (picglue): modified to emit uninitialized data segment
470         according to udata_section_name
471         * src/pic/main.c (_pic14_parseOptions): added command line
472         options --udata-section-name=[name] to override default
473         udata definition name
474         * modified _linkCmd and _asmCmd to include compiler passed
475         arguments via -W option
476         * src/pic16/main.c: added $l in _asmCmd, changed extension for
477         object file from '.rel' to '.o' in port->linker structure,
478         changed size of fptr from 2 to 3 in port structure
479
480 2004-01-07  Borut Razem <borut.razem AT siol.net>
481
482         * support/scripts/sdcc.nsi: update PATH
483         * support/scripts/sdcc.ico: craeted
484
485 2004-01-07 Bernhard Held <bernhard AT bernhardheld.de>
486
487         * device/include/Makefile.in: fix install
488         * doc/Makefile: fix install
489
490 2004-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
491
492         * src/SDCCsymt.c (processFuncArgs): fixed superflous allocation noted
493         in bug #860505
494         * src/SDCCmem.c (printAllocInfoSeg, printAllocInfo): minor changes to
495         how the function variable allocation summary is displayed; also
496         include information about variables allocated to the overlay
497         segment
498
499 2004-01-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
500
501         * as/mcs51/lkmain.c: Help about -Y option
502         * as/mcs51/lkarea.c: Fixed gcc warnings
503
504 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
505
506         * src/SDCCval.c (valShift): changed from 16 to 32 bit shift count,
507         fixed warning
508         * support/valdiag/tests/overflow.c: added
509         * src/SDCCast.c (decorateType),
510         * src/SDCCicode.c (geniCodeLeftShift): added promotion to int for
511         LEFT_OP (left shift)
512
513 2004-01-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
514
515         * as/mcs51/lkmain.c: stack must be after data when option -Y is not used
516         (default behaviour).
517
518 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
519
520         A python script to validate compiler diagnostic messages. It can be
521         used to verify that sdcc complains about bad c source code and
522         gives a good location of the error.
523         * support/valdiag/Makefile,
524         * support/valdiag/valdiag.py,
525         * support/valdiag/tests/*
526
527 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
528
529         * src/SDCC.y (enum_specifier, enumerator_list, opt_assign_expr),
530         * src/SDCCsymt.c (newEnumType),
531         * src/SDCCsymt.h
532         * support/Util/SDCCerr.c,
533         * support/Util/SDCCerr.h: fixed bug #871258 and some other unreported
534         enum related bugs.
535         * support/regression/tests/enum.c: added test for enum values that
536         require at least 2 bytes of storage.
537
538 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
539
540         * src/common.h: added ifndef/define/endif macros
541         around the header file.
542         Bug reported from Jesus Calvino-Fraga
543
544 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
545
546         * sdcc.spec: updated
547         * device/include/Makefile.in: don't install CVS directories
548         * device/lib/Makefile.in: added removal of CVS directories after install
549         * doc/Makefile: fixed install, added local_icons
550         * sim/ucsim/gui.src/Makefile.in: fixed an old typo
551         * src/mcs51/gen.c (genRightShift): fixed bug #870788
552         * src/ds390/gen.c (genRightShift): fixed bug #870788
553         * src/SDCCast.c (decorateType): fixed bug #870781
554
555 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
556
557         PIC16 port related changes:
558         * device.c: removed pic16_finalMapping and pic16_finalMappingSize,
559         added variable stackPos,
560
561         * gen.c: genCall, assignResultValue: added support for
562         pushing/retrieving function parameters to/from stack,
563         genFunction,genEndFunction: setup stack frame for the
564         generated function,
565         genAddrOf: will be changed according to bug 863624
566
567         * added files genutils.c and genutils.h which contain gen*
568         debugged and optimised functions extracted from gen.c
569         
570         * glue.c: added variable 'externs' which holds extern symbols,
571         pic16emitRegularMap: is modified to properly handle relocatable
572          symbols under the new scheme,
573         pic16createInterruptVect: is modified
574         pic16printPublics: is modified to emit 'global' assembler directives,
575         added pic16_printExterns to print extern symbols,
576         pic16glue: initializes stack/frame pointer in the beginning of
577         the assembly output. Temporary hack, will be corrected later,
578         because gplink yet does not support stack and SDCC does not
579         yet support a type of crt0.o object to create the final binary.
580         
581         * Removed many lines that contain 8051 legacy code.
582         * The code is finally placed under a 'code' directive.
583         * Added port specific options.
584         
585         * _process_pragma: simplified since now we do not need *special*
586         include file to define SFR registers. But a separate header
587         will be needed. This will be developed later.
588         * _pic16_parseOptions: added, parses port specific options:
589         --pgen-banksel, --obanksel=, --pomit-config-words, --pomit-ivt,
590         --pleave-reset-vector, --penable-stack, --pstack-model, --debug-xtra
591         --preplace-udata-with=
592         
593         * _pic16_setDefaultOptions: modified to initialize section names,
594         but hack is temporarly out of order since it needs improvement.
595         * _pic16_genAssemblerPreamble: configuration words are emitted by
596         their address instead of their name. This part is incomplete and
597         supports only the 18Fxx2 devices. Other devices will emit an error
598         during assembly since they do not contain the same set of config
599         registers
600         * _pic16_genIVT: is modified,
601         
602         * pcode.c: added definitions for some hardware registers that are needed
603         for stack support
604         * added flag is2LitOp and variable pci_magic in pCodeInstruction.
605         All PCI entries are updated. Now LFSR is supported.
606         * Removed pic16_pciTRIS is mentioned by mdubuc in source
607         * added pic16_newpCodeOpLit2 to support instructions with
608         two literal arguments
609         * pic16_pCode2str: corrected code that emits assembler instructions
610         with two literal operands and those that have an access bit modifier
611         * genericPrint: now PC_ASMDIR pCodes, can emit a label if it exists,
612         this fixes a bug which caused some labels to be lost, when an
613         assembler directive was added, i.e. banksel,
614         * pic16_FixRegisterBanking: improved logic that causes the insertion
615         of bank switching,
616         * InlineFunction: functions that are called once, are not any more
617         inlined. This can be a port option in the future,
618         
619         * pcode.h: added pCodeOpLit2 and added variable label in pCodeAsmDir
620         
621         * ralloc.c: added pic16_rel_udata and pic16_fix_udata variables which
622         hold the corresponding uninitialized symbols,
623         * pic16_allocProcessorRegister: registers have explicit marked the
624         accessBank field,
625         * pic16_allocInternalRegister: registers are explicit marked as
626         not used,
627         * pic16_writeUsedRegs: pic16_dynDirectBitRegs was missing from the
628         processing list, so bit registers were lost,
629         * 
630
631         * ralloc.h: added field 'accessBank' and original symbol operand
632         in register definition,
633         * removed the field isMapped from register definition,
634
635         ** Several functions have been removed from various sources:
636         BanksUsedFlow2,BanksUsedFlow,FixBankFlow,InstructionRegBank,
637         pic16_addMemRange,pic16_isREGinBank,pic16_dump_map,pic16_dump_cblock
638         isSFR,validAddress,mapRegister,assignRegister,pic16_assignFixedRegisters
639         pic16_assignRelocatableRegisters
640         
641         ** others have been introduced:
642         pic16_areRegsSame,pic16_dump_section,checkAddReg,pic16_groupRegistersInSection
643         pic16_popGetLit2,pic16_popCombine2,pushw,pushaop
644         
645 2004-01-05 Vangelis Rokas <vrokas AT otenet.gr>
646
647         * support/scripts/inc2h.pl: changed definition of BIT_AT
648         to emit 'sbit at' instead of 'bit at'. This was a request.
649
650         PIC16 port related preliminary changes:
651         * gen.c: prefixed function popRegFromString with
652         pic16_ and all references to it corrected
653         * pcode.c: all pic16_pc_* hardware registers prefixed
654         with underscore (_),
655         pic16_popCopyGPR2Bit(): function sets register wasUsed=1
656         * ralloc.c: newReg(): when register is REG_SFR then
657         set address to rIdx,
658         pic16_allocProcessorRegister(): marks register wasUsed=0
659         pic16_writeUsedRegs(): added a call to assign processor
660         registers via pic16_assignFixedRegisters
661
662 2004-01-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
663
664         * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c,
665         as/mcs51/lkmain.c, as/mcs51/lkmem.c: 8051 linker can now pack
666         variables in unused register banks.  Also the SSEG is placed
667         wherever there is enough space for it, and IDATA can be anywhere
668         in internal RAM.  For now compile using -Wl-Y[stack_size].
669         The mem file is different for this option as well, since it
670         makes no sense of talking about DSEG lenght.
671
672 2004-01-02 Vangelis Rokas <vrokas AT otenet.gr>
673
674         * src/SDCClrange.c: fixed bug 869095 that caused segfault
675         in certain cases, e.g. when ROM assignment, patch provided
676         from Albert den Haan.
677
678 2004-01-01 Bernhard Held <bernhard AT bernhardheld.de>
679
680         Many signedness and type propagation fixes:
681         * src/SDCCicode.c: made geniCodeCast() static
682         replaced SPEC_ by IS_ (cosmetic)
683         (operandOperation): fixed div and mod operation
684         (usualBinaryConversions): added support for promotion of char
685         (geniCodeMultiply): replaced (unsigned long) by (TYPE_UDWORD)
686         (geniCodeDivision): replaced (unsigned long) by (TYPE_UDWORD)
687         (geniCodeAdd): an array index will stay unsigned, even if promoted
688         from char to int
689         (geniCodeArray): ditto
690         * src/SDCCicode.h: made geniCodeCast() static: removed prototype
691         * src/SDCCsymt.c (computeType): added more support for char;
692         promotion of char is selectable by promoteCharToInt, fixed signedness
693         for all cases
694         (powof2): replaced (unsigned long) by (TYPE_UDWORD)
695         * src/SDCCsymt.h (powof2): replaced (unsigned long) by (TYPE_UDWORD)
696         * src/SDCCval (val*): replaced signedness calculation by
697         computeType()
698         rearranged if-branches (cosmetic)
699         (valShift): added warning W_SHIFT_CHANGED
700         (valCompare): fixed problem with different types
701         * src/hc08/rallo.c (leastUsedLR): fixed gcc 3.3 warning
702         * support/regression/tests/literalop.c: added many cases
703         * support/regression/tests/ast_constant_folding.c: changed finally to
704         'unsigned int'
705         * .version: new year, new version: 2.3.7
706         * src/SDCCmain.c (main): applied patch #866468
707         * debugger/mcs51/sdcdb.c (parseCmdLine): added -k for ucsim, patch
708         provided by Scott Bronson
709         * doc/sdccman.lyx: updated documentation for sdcdb
710         updated and added chapter tips
711
712 2004-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
713
714         * src/SDCCsymt.h: missing from yesterday's commits
715
716 2003-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
717
718         * src/SDCC.y (struct_or_union_specifier),
719         * support/Util/SDCCerr.c,
720         * support/Util/SDCCerr.h: verify that struct & union tags are used
721         as declared.
722
723 2003-12-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
724
725         * src/SDCCglobl.h: missing from yesterday's commits
726
727 2003-12-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
728
729         * src/SDCC.y (external_definition, type_specifier2, sfr_reg_bit,
730         sft_attributes, struct_declaration, parameter_declaration,
731         type_name, start_block, declaration_list),
732         * src/SDCC.lex (check_type): support redefinition of typedef names
733
734 2003-12-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
735
736         * src/mcs51/gen.c (genPlus): added special handling for 256 byte
737         aligned xdata arrays. Erik helped me with the if clause.
738
739 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
740
741         * device/lib/ds390/tinibios.c (CpuSpeed): suppress unreachable code
742         warning
743
744 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
745
746         * src/SDCCast.h,
747         * src/SDCCast.c (newAst_),
748         * src/SDCCicode.h,
749         * src/SDCCicode.c (ast2iCode, newiCode),
750         * src/SDCCglobl.h,
751         * src/SDCC.y (logical_and_expr, logical_or_expr, conditional_expr,
752         expr, statement, expression_statement, selection_statement,
753         iteration_statement, expr_opt, jump_statement): foundation for tracking
754         sequence points
755         * src/SDCCopt.c (killDeadCode): fixed bug #861580 (needs the sequence
756         point code too)
757
758 2003-12-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
759
760         * support/Util/SDCCerr.c,
761         * src/SDCCast.h,
762         * src/SDCCast.c (createCase, createDefault, decorateType),
763         * src/SDCClabel.c (labelUnreach),
764         * src/SDCC.y (labeled_statement, jump_statement): More improvements
765         to error messages.
766         * support/Util/SDCCerr.c (werrorfl): fixed a non-standard declaration
767         (with thanks to Stas Sergeev)
768         * device/include/time.h,
769         * device/lib/time.c (CheckTime): suppress unreachable code warning
770
771 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
772
773         * src/SDCCast.c (createIvalCharPtr),
774         * src/SDCCglue.c (printChar): fixed bug #862241 (an error in my fix for
775         bug #753752)
776         * support/regression/tests/nullstring.c: tests for these two bugs
777
778 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
779
780         * support/Util/SDCCerr.h,
781         * support/Util/SDCCerr.c (E_NOT_ALLOWED),
782         * src/SDCC.y (struct_declaration, struct_or_union_specifier): complain
783         about storage class and 'at' used inside struct or union
784         * src/SDCCBBlock.c (iCodeFromeBBlock),
785         * src/SDCCcse.c (ifxOptimize),
786         * src/SDCCglue.c (emitRegularMap, initPointer, printIvalStruct,
787         printIvalArray, printiValFuncPtr, printIvalCharPtr, printIvalPtr,
788         printIval, emitStaticSeg, emitOverlay),
789         * src/SDCClabel.c (deleteIfx),
790         * src/SDCCopt.c (replaceRegEqv, eBBlockFromiCode),
791         * src/SDCCast.c (resolveSymbols, createIvalStruct, createIvalArray,
792         gatherAutoInit, processParms),
793         * support/Util/SDCCerr.h,
794         * support/Util/SDCCerr.c (werrorfl): Support for better error location
795         reporting for post-parse errors.
796
797 2003-12-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
798
799         * src/SDCCval.c (valPlus, valMinus, valShift): fixed some problems with
800         implicit casts via union; they don't work on big endian systems
801         (possible fix for bug #861138)
802
803 2003-12-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
804
805         (committed by Erik Petrich <epetrich AT ivorytower.norman.ok.us> on Frieder's behalf)
806         * src/mcs51/main.c: fixed the fix for bug #737001
807
808 2003-12-15  Borut Razem <borut.razem AT siol.net>
809
810         * support/scripts/sdcc.nsi: updated for NSIS 2.0 beta 4
811
812 2003-12-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
813
814         * support/makebin/makebin.c: put output in binary mode
815
816 2003-12-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
817
818         * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears
819         xdata and data memory on startup. Set the environment variable
820         SDCC_NOGENRAMCLEAR to disable this.
821         * src/mcs51/peephole.def,
822         * src/ds390/peephole.def: using the atomic test and clear instruction jbc
823         (allows non-interrupt and interrupt code to safely compete for a resource
824         without the non-interrupt code having to disable interrupts)
825
826 2003-12-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
827
828         * src/SDCCicode.c (geniCodeAdd),
829         * src/SDCCast.c (decorateType): fixed bug #857753 (need to be careful
830         with valFromType if type might be a pointer and host is big endian).
831         * src/SDCCast.c (decorateType): unary plus compatible with all arithmetic
832         types, not just integer types.
833         * src/SDCCsymt.c (addSymChain): clarified error message when symbol is
834         multiply defined with mismatching "at" address.
835
836 2003-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
837
838         * src/ds390/main.c (PORT tininative_port): fixed bug #858416
839         * src/SDCCglue.c (printChar, printIvalChar, emitStaticSeg),
840         * src/SDCCast.c (createIvalCharPtr, stringToSymbol): handle strings
841         with embedded nulls (fixed bug #753752)
842
843 2003-12-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
844
845         * src/mcs51/main.c(_mcs51_genRAMCLEAR): using r0 instead of r1/r2.
846         Apparently this did not see much testing (endless loop)
847
848 2003-12-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
849
850         * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
851
852 2003-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
853
854         * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
855         gracefully handle NULL memmap pointers
856
857 2003-12-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
858
859         * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
860         instead of deleting the iCode when an operand is volatile
861         * src/z80/gen.c (genDummyRead),
862         * src/mcs51/gen.c (genDummyRead),
863         * src/ds390/gen.c (genDummyRead),
864         * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
865         not just IC_RIGHT
866         * src/SDCCicode.c (geniCodeCall): fixed bug #851607
867         * src/SDCC.y: fixed bug #850420
868
869 2003-12-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
870
871         Applied z80 i/o port patch from Peter Townson and fixed some operators
872         to better handle operands in A register.
873         * device/include/z180.h
874         * src/SDCC.y
875         * src/SDCCglue.c
876         * src/z80/gen.c
877         * src/z80/gen.h
878         * src/z80/main.c
879         * src/z80/peeph-z80.def
880         * src/z80/peeph.def
881         * src/z80/z80.h
882
883 2003-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
884
885         * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
886
887 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
888
889         * device/lib/hc08/_mullong.c: Removed extra #endif
890
891 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
892
893         * sim/ucsim/hc08.src/inst.cc,
894         * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
895         carries from x to h
896         * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
897         * src/hc08/gen.c (XAccRsh): fixed problem with right shift
898         * device/include/stdarg.h: fixed varargs for hc08
899         * device/lib/Makefile.in,
900         * device/lib/hc08/Makefile,
901         * device/lib/hc08/_mulint.c,
902         * device/lib/hc08/_mullong.c: fixed some endian problems
903
904 2003-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
905
906         * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
907         * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
908         * device/lib/_gptrget.c,
909         * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
910
911 2003-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
912
913         * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
914         * src/SDCCast.c (astErrors): fixed bug #846007
915         * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
916
917 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
918
919         * src/SDCCast.c (decorateType): disabled a transformation I added in
920         revision 1.188 (access to fields of a structure at an absolute address);
921         it breaks with bitfields, extern declarations, and gcse analysis.
922         * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
923         could be assigned through a pointer, so don't complain.
924         * src/SDCCast.c (astErrors),
925         * src/SDCCast.h,
926         * src/SDCCglue.c (emitRegularMap): fixed bug #847813
927
928 2003-11-26 Vangelis Rokas <vrokas AT otenet.gr>
929         
930         * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
931         * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
932         output of __config directives, since gpasm now supports them
933         * src/pic16/main.c (_pic16_finaliseOptions): define MCU
934         pre-processor macro, i.e. -DMCU=p18f452
935         * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
936         and modified to handle 'cast' icode similarly to '=' icode
937         * src/pic16/device.h (typedef struct PIC_device): added field
938         'extMIface' to indicate that chip has external memory interface
939         * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
940         18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
941         18F8720
942
943 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
944
945         * src/SDCC.y (pointer): fixed bug #846006
946         * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
947         * src/SDCCast.c (decorateType): fixed bug #846009
948         * src/ds390/peeph.def,        
949         * src/ds390/gen.c (genAnd, genOr),
950         * src/mcs51/peeph.def,        
951         * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
952
953 2003-11-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
954
955         Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
956         * src/SDCCdflow.c
957         * src/SDCCcse.c
958         * src/SDCCcse.h
959         * src/SDCCBBlock.h
960         * src/SDCCBBlock.c
961
962 2003-11-23 Klaus Flittner <klaus_flittner AT gmx.de>
963
964         fixed bug #845089
965         * src/SDCCbitv.h,
966         * src/SDCCbitv.c: added function to free a bitvector
967         * src/SDCClrange.h,
968         * src/SDCClrange.c: added function to recompute the liveranges
969         * src/avr/ralloc.c,
970         * src/ds390/ralloc.c,
971         * src/hc08/ralloc.c,
972         * src/mcs51/ralloc.c,
973         * src/pic/ralloc.c,
974         * src/pic16/ralloc.c,
975         * src/xa51/ralloc.c,
976         * src/z80/ralloc.c: recompute the liveranges after register packing
977
978 2003-11-21 Klaus Flittner <klaus_flittner AT gmx.de>
979
980         * src/SDCCloop.c (newInduction): fixed bug #845630
981
982 2003-11-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
983
984         * src/SDCCsymt.c (compareTypesExact): disabled debugging output
985         inadvertantly left behind from my 2003-11-12 change
986
987 2003-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
988
989         Updated headers I neglected to commit yesterday.
990         * src/SDCClrange.h,
991         * src/SDCCicode.h
992
993 2003-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
994
995         * src/SDCCcse.c (algebraicOpts): fixed bug #773153
996         * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
997         * src/SDCCopt.c (eBBlockFromiCode),
998         * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
999         the creation of the key hash table from the sequencing so it can be used
1000         earlier (for some GCSE bug fixes still pending)
1001
1002 2003-11-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1003
1004         * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
1005         * support/regression/tests/addsub.c: testing genPlus shortcut
1006
1007 2003-11-15  Borut Razem <borut.razem AT siol.net>
1008
1009         * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
1010
1011 2003-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1012
1013         * src/SDCCcse.c (cseBBlock): fixed bug #527779
1014         * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
1015         ordering is immaterial.
1016         * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
1017
1018 2003-11-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1019         
1020         * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
1021         * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
1022         (SIGSEV) of bug #840381
1023         * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
1024         unlink new file before rename if new and old filenames are the same)
1025
1026 2003-11-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1027
1028         * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
1029         uninitialized variables) for the mcs51. Set environment variable 
1030         SDCC_GENRAMCLEAR to test. 
1031         xdata initialization slightly shorter
1032
1033 2003-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1034
1035         * src/SDCCsymt.h,
1036         * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
1037         #838241 & 780691 (basicly the same bug)
1038         * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
1039         * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
1040
1041 2003-11-11 Bernhard Held <bernhard AT bernhardheld.de>
1042
1043         * src/SDCCmain.c (linkEdit): "fix" #834252
1044
1045 2003-11-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1046
1047         * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
1048         * src/SDCCast.h,
1049         * src/SDCC.y: fixed bug #819403
1050
1051 2003-11-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1052
1053         * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
1054         the reentrant attribute.
1055         * src/hc08/gen.c (genPackBits): added missing stack readjustment
1056         * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
1057         simulation
1058         * src/SDCCast.c (decorateType): fixed bug with storage class not being
1059         updated during pointer dereference; f.e. ~(((char *)1)*) was being
1060         erroneously reduced to a literal.
1061         * src/hc08/ralloc.c (packRegisters, rematStr),
1062         * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
1063         some cases
1064
1065 2003-11-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1066
1067         * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
1068         * doc/sdccman.lyx: changed from 'article' to 'book'
1069         * doc/Makefile: readded test_suite_spec and cdbfileformat
1070
1071 2003-11-08 Bernhard Held <bernhard AT bernhardheld.de>
1072
1073         * device/include/stdlib.h: include malloc.h to comply with ANSI
1074         * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
1075
1076 2003-11-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1077
1078         * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
1079         * doc/clean.mk: also remove *.out files
1080         * doc/sdccman.lyx: some additions, larger top/bottom margins
1081
1082 2003-11-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1083
1084         * src/SDCC.y: fixed bug #837365
1085         * support/regression/tests/bitopcse.c
1086         * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
1087         a symbol (might be valop instead)
1088         * device/lib/Makefile.in: added errno.c to HC08SOURCES
1089         * device/lib/clean.mk: added hc08 to the cleaning list
1090
1091 2003-11-04  Borut Razem <borut.razem AT siol.net>
1092
1093         * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
1094           made 2003-11-04
1095         * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
1096           as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
1097           malloc is declared in standard stdlib.h
1098
1099 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1100
1101         * device/lib/hc08/Makefile: need to clean .rel not .o files
1102         * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
1103
1104 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1105
1106         * src/port.h,
1107         * src/hc08/main.c,
1108         * src/mcs51/main.c,
1109         * src/ds390/main.c,
1110         * src/z80/main.c,
1111         * src/avr/main.c,
1112         * src/pic/main.c,
1113         * src/pic16/main.c,
1114         * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
1115         * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
1116         tests (which uses the port's oclsExpense function)
1117         * src/SDCC.y,
1118         * src/SDCCast.c,
1119         * src/SDCCicode.c,
1120         * src/hc08/gen.c,
1121         * src/ds390/gen.c,
1122         * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
1123
1124 2003-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1125
1126         * src/SDCCcse.c (ifxOptimize),
1127         * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
1128         an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
1129         deleting the IFX iCode.
1130         * src/hc08/ralloc.c: reduced unneeded slocs
1131         * src/hc08/gen.c: fixed bug in asmopToBoolean
1132
1133 2003-11-04  Borut Razem <borut.razem AT siol.net>
1134
1135         * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
1136           support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
1137           as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
1138           transferred to configure
1139
1140 2003-11-03 Bernhard Held <bernhard AT bernhardheld.de>
1141
1142         Use headers defined in the C[++] standards:
1143         * sim/ucsim/gui.src/serio.src/fileio.cc
1144         * sim/ucsim/gui.src/serio.src/frontend.cc
1145         * sim/ucsim/gui.src/serio.src/main.cc
1146         * sim/ucsim/gui.src/serio.src/posix_signal.cc
1147         * support/Util/NewAlloc.c
1148         * as/hc08/lklibr.c
1149         * as/mcs51/lklibr.c
1150         * as/z80/aslist.c
1151         * as/z80/assym.c
1152
1153 2003-11-03  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1154
1155         * Added MSVC projects for hc08 assembler and linker:
1156         all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
1157         /as/hc08/link_hc08.dsp
1158
1159 2003-11-03 Martin Helmling <Martin.Helmling AT octo-soft.de>
1160
1161         * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)
1162
1163 2003-11-02 Bernhard Held <bernhard AT bernhardheld.de>
1164
1165         * src/SDCCmain.c (linkEdit): "fixed" again bug #833605
1166
1167 2003-11-01 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1168
1169         * src/mcs51/main.c: xdata initialization is 13 bytes shorter now
1170
1171 2003-10-31  Borut Razem <borut.razem AT siol.net>
1172
1173         * support/cpp2/cpplib.h,
1174           support/cpp2/cpplib.c,
1175           support/cpp2/cpplex.c,
1176           support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ]
1177           to switch _asm block preprocessing on / off. Default is
1178           #pragma preproc_asm +
1179
1180 2003-10-31  Borut Razem <borut.razem AT siol.net>
1181
1182         * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences
1183           when outputting comment blocks (when executed with -C option) and
1184           _asm (SDCPP specific) blocks
1185
1186 2003-10-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1187         
1188         * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning
1189
1190 2003-10-31 Klaus Flittner <klaus_flittner AT gmx.de>
1191
1192         * src/SDCCcse.c (updateSpillLocation): fixed bug #808027
1193
1194 2003-10-31 Bernhard Held <bernhard AT bernhardheld.de>
1195
1196         * src/SDCCmain.c (linkEdit): "fixed" bug #833605
1197         * src/SDCCast.c (decorateType): fixed bug #832664
1198
1199 2003-10-31  Borut Razem <borut.razem AT siol.net>
1200
1201         * support\cpp2\cpplex.c: fixed for SDCPP:
1202           comments(when executed with -C option) and _asm blocks
1203           were included even if they where in skipped #if block.
1204           Applied solution from GCC cpp 3.3.2
1205
1206 2003-10-31  Borut Razem <borut.razem AT siol.net>
1207
1208         * src/SDCC.lex: sdcc now understands both formats:
1209           '# <line_number> <file_name>' and
1210           '#line <line_number> <file_name>'
1211         * support/cpp2/cppmain.c: sdcpp now generates the standard
1212           '# <line_number> <file_name>' instead of former
1213           '#line <line_number> <file_name>'
1214
1215 2003-10-30  Borut Razem <borut.razem AT siol.net>
1216
1217         * support/cpp2/cpphash.h,
1218         * support/cpp2/cpplib.h
1219         * support/cpp2/cpplex.c,
1220         * support/cpp2/cppmain.c,
1221         * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants
1222
1223 2003-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1224
1225         Fixed a number of problems revealed by bug #827883.
1226         * src/SDCCloop.c (loopInvariants): Spill location of the
1227         result operand should be recomputed if extracted from
1228         a loop. Also, don't extract assignments of an iTemp
1229         from a literal.
1230         * src/SDCCast.c (isConformingBody): loop reversal should
1231         not occur if the control variable is involved with a
1232         relational operator.
1233
1234 2003-10-28 Bernhard Held <bernhard AT bernhardheld.de>
1235
1236         * .version: bumped to 2.3.6 to reflect the big improvements
1237         made by Erik and Klaus. Thanks!
1238
1239 2003-10-28 Klaus Flittner <klaus_flittner AT gmx.de>
1240
1241         Replaced the livrange code.
1242         * src/SDCClrange.c: added new LR code
1243         * src/SDCCloop.c,
1244         * src/SDCCBBlock.h: removed remainig parts from old LR code
1245         * src/ds390/ralloc.c,
1246         * src/ds390/gen.c: minor fixes to make it work with new code
1247
1248 2003-10-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1249
1250         * as/hc08/asm.h,
1251         * as/hc08/lkrloc.c,
1252         * src/hc08/gen.c,
1253         * src/hc08/ralloc.c: Fix various warnings related to the hc08
1254         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717
1255         (tweaked fix for bug #818696)
1256
1257 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1258
1259         * src/z80/ralloc.c (joinPushes): Fixed bug #828742
1260
1261 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1262
1263         * src/SDCCmain.c,
1264         * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work)
1265         * src/mcs51/gen.c (gencjneshort),
1266         * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand
1267         more efficient (per Scott Bronson's suggestion)
1268
1269 2003-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1270
1271         Extended the semantics of the critical keyword to include
1272         individual statements. See RFE #827755 and #799831
1273         * src/SDCC.y
1274         * src/SDCCicode.c
1275         * src/SDCCopt.c
1276         * src/SDCCast.c
1277         * support/Util/SDCCerr.c
1278         * support/Util/SDCCerr.h
1279         * src/mcs51/gen.c
1280         * src/ds390/gen.c
1281         * src/hc08/gen.c
1282
1283 2003-10-19  Borut Razem <borut.razem AT siol.net>
1284
1285         * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31
1286
1287 2003-10-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1288
1289         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode):
1290         Fixed bug #818696
1291         * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement
1292         and predecrement operand is displayed
1293
1294 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
1295
1296         * src/SDCCval.c (valMinus): fixed bug #826041
1297
1298 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1299
1300         Some hc08 related updates that I missed earlier
1301         * sim/ucsim/stypes.h
1302         * support/regression/ports/hc08/spec.mk
1303
1304 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1305
1306         New target "hc08" for the Motorola 68hc08 family of micros
1307
1308         * configure
1309         * configure.in
1310         * Makefile
1311         * src/hc08/*
1312         * src/SDCCmain.c
1313         * src/port.h
1314         * sim/ucsim/hc08.src/*
1315         * sim/ucsim/configure.in
1316         * src/ucsim/configure
1317         * sim/ucsim/packages_in.mk
1318         * as/hc08/*
1319         * as/Makefile
1320         * device/include/mc68hc908qy.h
1321         * device/lib/hc08/*
1322         * device/lib/Makefile.in
1323         * support/regression/ports/hc08/*
1324         * support/regression/Makefile
1325
1326 2003-10-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1327
1328         * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c
1329         regression test
1330         * src/ds390/gen.c (genCast): fixed bug #821957
1331
1332 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
1333
1334         * device/lib/logf.c: "fixed" overlay bug
1335         * support/regression/ports/host/spec.mk: added m library
1336         * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs
1337         * support/regression/tests/float_trans: added (for Eric)
1338
1339 2003-10-12 Bernhard Held <bernhard AT bernhardheld.de>
1340
1341         * src/mcs51/gen.c (genCpl): fixed bug
1342         http://sf.net/mailarchive/message.php?msg_id=6263915
1343
1344 2003-10-10 Bernhard Held <bernhard AT bernhardheld.de>
1345
1346         * src/SDCCast.c (decorateType): added extended constant folding
1347         * src/SDCCsymt.c (computeType): cleanup
1348         * src/SDCCval.c (valShift): minor optimization
1349         * support/regression/tests/ast_constant_folding.c: added
1350
1351 2003-10-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1352
1353         * src/SDCCmain.c: removed some unintended changes
1354
1355 2003-10-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1356
1357         * src/SDCCmain.c (setParseWithComma): fixed bug #816685
1358         * src/z80/gen.c: fixed part of bug #817589
1359         * src/SDCCsymt.c (checkFunction): fixed bug #817895
1360
1361 2003-10-08 Bernhard Held <bernhard AT bernhardheld.de>
1362
1363         Replaced cast (void **) with (void *) to avoid gcc 3 warning:
1364         * src/SDCCcflow.c
1365         * src/SDCCcse.c
1366         * src/SDCCdflow.c
1367         * src/SDCClabel.c
1368         * src/SDCClrange.c
1369         * src/SDCCmem.c
1370         * src/SDCCopt.c
1371         * src/SDCCpeeph.c
1372         * src/SDCCset.c
1373         * src/avr/ralloc.c
1374         * src/ds390/ralloc.c
1375         * src/izt/ralloc.c
1376         * src/mcs51/ralloc.c
1377         * src/pic/ralloc.c
1378         * src/pic16/ralloc.c
1379         * src/xa51/ralloc.c
1380         * src/z80/ralloc.c
1381         * src/z80/gen.c: removed unused label "release:"
1382
1383 2003-10-06  Borut Razem <borut.razem AT siol.net>
1384
1385         * src/SDCC.lex: removed definition of unused variables
1386           save_optimize and save_options
1387
1388 2003-10-06 Bernhard Held <bernhard AT bernhardheld.de>
1389
1390         * clean.mk: removed '=' in "-maxdepth=1"
1391         * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS
1392         * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS
1393
1394 2003-10-06  Borut Razem <borut.razem AT siol.net>
1395
1396         * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions;
1397           my_unput() replaced by unput()
1398
1399 2003-10-05 Bernhard Held <bernhard AT bernhardheld.de>
1400
1401         * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
1402         setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
1403         type-punned pointer will break strict-aliasing rules"
1404         Old LR behaviour is again default; Klaus' LR can be choosen by
1405         defining the environment variable LRKLAUS
1406         * src/SDCCBBlock.h
1407         * src/SDCCloop.c
1408         * src/SDCClrange.c
1409         * src/ds390/ralloc.c (spillThis): applied Klaus' patch
1410         * clean.mk: fixed removal of files in bin/CVS/
1411         * device/lib/clean.mk: fixed removal of directories small and large
1412         * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
1413         * src/SDCCicode.c,
1414         * src/SDCCval.c: removed superflous test for pedantic
1415
1416 2003-10-05  Borut Razem <borut.razem AT siol.net>
1417
1418         * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
1419           Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
1420           message "unmatched #pragma SAVE and #pragma RESTORE"
1421
1422 2003-10-04  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1423
1424         * doc/sdccman.lyx: various additions and updates (interrupts, inline
1425           assembly, critical functions, atomic, nojtbound)
1426
1427 2003-10-04 Bernhard Held <bernhard AT bernhardheld.de>
1428
1429         Applied liferange patch from Klaus Flittner <klaus_flittner AT gmx.de>
1430         * src/SDCCBBlock.h
1431         * src/SDCCloop.c
1432         * src/SDCCloop.h
1433         * src/SDCClrange.c
1434
1435 2003-10-03  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1436
1437         * src/z80/gen.h,
1438         * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
1439         * src/mcs51/gen.h
1440         * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
1441         * src/ds390/gen.h
1442         * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
1443         * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
1444         * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
1445
1446 2003-10-02  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1447
1448         * src/z80/gen.c (genRet): fixed bug #524753
1449         * src/z80/gen.c (genCast): fixed internal error on cast from
1450         pointer to long
1451         * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
1452         fix for bug #477835 to the z80
1453         * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
1454         for tracking iCodes in the peephole optimizer for z80
1455
1456 2003-10-01  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1457
1458         * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
1459         the other part of bug #814548
1460         * src/SDCCpeeph.c (labelInRange): fixed bug #814558
1461
1462 2003-09-30  Bernhard Held <bernhard AT bernhardheld.de>
1463
1464         * src/SDCCcse.c: fixed part of bug #814548
1465
1466 2003-09-28  Borut Razem <borut.razem AT siol.net>
1467
1468         * src/asm.c: rewrite of printILine() to use temporary file instead
1469           a pipe
1470         * src/xa51/main.c: commented out declaration of int rewinds
1471
1472 2003-09-27  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1473
1474         * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
1475
1476 2003-09-26  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1477
1478         * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
1479         * src/asm.c (printILine): Fixed bug #811015
1480
1481 2003-09-22  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1482
1483         *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
1484         freeing.
1485
1486 2003-09-21  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1487
1488         * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
1489         * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
1490         to correctly handle general case of AOP_PAIRPTR
1491         * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
1492
1493 2003-09-21  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1494
1495         * src/mcs51/ralloc.c (fillGaps),
1496         * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
1497         register positioning bug)
1498
1499 2003-09-21  Bernhard Held <bernhard AT bernhardheld.de>
1500
1501         * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
1502
1503 2003-09-19  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1504
1505         * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
1506         genCodePointerGet, genGenPointerGet, genFarPointerSet,
1507         genGenPointerSet): handle AOP_DPTR correctly when loading dptr
1508         (ralloc doesn't intentionally do this now, but perhaps later)
1509         * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
1510         * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
1511         register positioning bugs (Fixed bug #762602 and #795325)
1512         * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
1513         (Fixed bug #808779)
1514         * src/z80/gen.c: increased _vemit2's buffer[] to handle long
1515         lines that --i-code-in-asm generates
1516
1517 2003-09-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1518
1519         *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
1520         trying to fclose a FILE* that was already closed.
1521
1522 2003-09-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1523
1524         * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
1525         of const struct should be treated as if const themselves)
1526
1527 2003-09-18  Bernhard Held <bernhard AT bernhardheld.de>
1528
1529         * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
1530
1531 2003-07-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1532
1533         * support/librarian/sdcclib.c: Generate correct offsets for libraries with
1534         Unix (/n) and DOS (/r/n) line terminations.
1535
1536 2003-09-17  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1537
1538         * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
1539         bug #613775
1540
1541 2003-09-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1542
1543         * src/mcs51/gen.c (genFunction, genEndFunction),
1544         * src/ds390/gen.c (genFunction, genEndFunction): Moved save
1545         and restore of EA so that stack offsets to parameters are
1546         correct when using both critical and reentrant/stack-auto.
1547         * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
1548         size (can be triggered in error if sloc is shared between
1549         different sized objects)
1550         * device/include/float.h: fixed macros to explicitly use
1551         unsigned long where needed
1552
1553 2003-09-15  Bernhard Held <bernhard AT bernhardheld.de>
1554
1555         Feature req. 799831: added code to allow nesting of critical functions
1556         * src/mcs51/gen.c (genFunction, genEndFunction)
1557         * src/ds390/gen.c (genFunction, genEndFunction)
1558
1559 2003-09-14  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1560
1561         * src/SDCCsymt.c (sclsFromPtr),
1562         * src/SDCCsymt.h,
1563         * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
1564         support for standard C idiom of memory mapped variables; for
1565         example, *((xdata int*)0x1234) = 1 is now internally equivalent
1566         to xdata int at 0x1234 tempvar = 1.
1567         * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
1568         provided by Akiya ISHIDA
1569
1570 2003-09-13  Bernhard Held <bernhard AT bernhardheld.de>
1571
1572         * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
1573         * src/SDCCval.c (constVal): added reduction from int to char
1574         * src/SDCCval.c (valMult, valDiv): fixed sign handling
1575         * src/SDCCval.c (valShift): fixed after change of cheapestVal()
1576         * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
1577         to ignore the sign
1578         * support/regression/tests/shifts.c: fixed
1579
1580 2003-09-13  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1581
1582         * src/z80/gen.c (genXor): Fixed bug #805445
1583
1584 2003-09-12  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1585
1586         Fixed bug #621531 (const & volatile confusion in the type chain).
1587         DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
1588         refer to the const or volatile state of the pointer itself.
1589
1590         * src/SDCCast.c
1591         * src/SDCCglue.c
1592         * src/SDCCicode.c
1593         * src/SDCCsymt.c
1594         * src/SDCCval.c
1595         * src/SDCC.y
1596         * src/SDCCsymt.h
1597         * src/pic/gen.c
1598         * src/pic/ralloc.c
1599         * src/pic16/gen.c
1600         * src/pic16/ralloc.c
1601         * support/regression/tests/const.c
1602
1603 2003-09-10  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1604
1605         When checking for duplicated modules, use absolute paths
1606         instead of relative paths.  Files changed:
1607
1608         * as/mcs51/lklib.c
1609         * link/z80/lklib.c
1610
1611 2003-09-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1612
1613         * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
1614
1615 2003-09-07  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1616
1617         * device/include/string.h: added size_t typedef, changed
1618         prototypes to use size_t, eliminated separate reentrant and
1619         non-reentrant declarations, added _memmove declaration
1620         * device/lib/_memcpy.c: changed to use size_t instead of int,
1621         changed /4 to >>2 to avoid division library call
1622         * device/lib/_memcmp.c,
1623         * device/lib/_memset.c,
1624         * device/lib/_strncat.c,
1625         * device/lib/_strncpy.c,
1626         * device/lib/_strncmp.c: changed to use size_t instead of int
1627         * device/lib/_memmove.c: new file (fixed bug #772294)
1628         * device/lib/Makefile.in: added _memmove.c
1629         * device/lib/z80/asm_strings.s: fixed bug #772290
1630         * support/regression/tests/bitfields.c: attempt to fix host assertion
1631         failure on amd64-unknown-linux2.2
1632
1633 2003-09-06  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1634
1635         * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
1636         * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
1637         * as/z80/asmain.c (main): fixed bug #801766
1638
1639 2003-09-06  Bernhard Held <bernhard AT bernhardheld.de>
1640
1641         * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
1642         compilers
1643
1644 2003-09-05  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1645
1646         * src/SDCCast.c (isConformingBody): fixed loop reversal bug
1647         reported in bug #800609
1648
1649 2003-09-04  Vangelis Rokas <vrokas AT otenet.gr>
1650
1651         * Top header beautifications in src/pic16 directory:
1652           device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
1653           pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
1654           pcoderegs.h, ralloc.c, ralloc.h
1655         * main.c: added top header and GPL license notice
1656         * pcode.c: fixed the if-conditional warning
1657  
1658 2003-09-04  Bernhard Held <bernhard AT bernhardheld.de>
1659
1660         * device/lib/_mullong.c: replaced int by short for gcc
1661
1662 2003-08-31  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1663
1664         * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
1665         and JUMPTABLE iCodes properly now (worked by accident before)
1666         * src/mcs51/gen.c (leftRightUseAcc),
1667         * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
1668         iCode properly now. Use getSize instead of nRegs since a & b
1669         aren't part of the nRegs tally.
1670
1671 2003-08-31  Vangelis Rokas <vrokas AT otenet.gr>
1672
1673         * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
1674         * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
1675           before instructions that use the _STATUS register
1676
1677 2003-08-31  Bernhard Held <bernhard AT bernhardheld.de>
1678
1679         * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
1680         * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
1681         fetching of the pointer
1682         * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
1683         copied from genNearPointerSet()
1684         * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
1685         * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
1686         If they pop r0/r1 they must be called in the opposite order than aopOp().
1687         * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
1688         (resp. --stack-auto), prepared for --xstack
1689
1690 2003-08-28  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1691
1692         * doc/sdccman.lyx: reverted tables to those in cvs 1.64
1693
1694 2003-08-28  Bernhard Held <bernhard AT bernhardheld.de>
1695
1696         * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
1697         these ports have their own __sdcc_external_start()
1698
1699 2003-08-26  Bernhard Held <bernhard AT bernhardheld.de>
1700
1701         pic patch provided by Slade Rich <slade_rich AT yahoo.com>
1702         * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
1703         type for bits was changed. It resulted in bit variables becoming
1704         global, which is not permitted in PIC 14 assembly output.
1705
1706 2003-08-23  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1707
1708         * doc/sdccman.lyx: various additions and updates. Rearranged sections
1709
1710 2003-08-22  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1711
1712         Z80 and MCS51 linkers complaint if a public symbol is defined
1713         in more than one library module:
1714
1715         * as/mcs51/lklib.c
1716         * link/z80/lklib.c
1717         * as/mcs51/Makefile.in
1718
1719 2003-08-22  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1720
1721         A few small changes that speed up the peephole optimizer.
1722
1723         * src/SDCCpeeph.c
1724
1725 2003-08-22  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1726
1727         Try to make the peephole optimizer smarter by maintaining
1728         an association between the assembly source code and the
1729         iCodes that originated them. Put this information to use
1730         with a new peephole rule condition "notVolatile" so that
1731         the rules can be aggressive yet still safe.
1732
1733         * src/SDCCpeeph.c
1734         * src/SDCCpeeph.h
1735         * src/mcs51/gen.c
1736         * src/mcs51/peeph.def
1737
1738 2003-08-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1739
1740         Fixed bug #741761
1741
1742         * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
1743         * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
1744         if the left or right operand symbols have the accuse flag set.
1745
1746 2003-08-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1747
1748         Changed the type of the result of the ! (NOT) operator to char;
1749         previously it returned the same type as the source. This allows
1750         us to eliminate all the genFloatNot functions (all of its target
1751         implementations were very buggy) since !float can use the same
1752         code as !long now.
1753
1754         * src/SDCCicode.c (ast2iCode): ! returns char
1755         * src/mcs51/gen.c (genNot, genNotFloat),
1756         * src/ds390/gen.c (genNot, genNotFloat),
1757         * src/z80/gen.c (genNot, genNotFloat),
1758         * src/pic/gen.c (genNot, genNotFloat),
1759         * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
1760
1761 2003-08-19  Bernhard Held <bernhard AT bernhardheld.de>
1762
1763         pic patch provided by Slade Rich <slade_rich AT yahoo.com>
1764         1. Interrupt would not compile properly. Ensure PCLATH register is saved
1765            during interrupts. Ensure WSAVE is located at a shared bank address.
1766         2. Fixed page selection in some places
1767         3. Fixed BTFSS/C to where necessary use registers directly and not simply
1768            the registers name strings.
1769         4. Fixed "signed / unsigned compare" compiler warnings.
1770         5. The PIC port manages its own allocation of the general purpose
1771            registers, but makes no attempt to reuse them. As a result when
1772            compiling it soon runs out of general purpose registers. Some
1773            additional code was added to the files pcode.c and device.c to walk
1774            through the function call tree and rename the registers so that they
1775            get reused.
1776
1777         * src/pic/device.c
1778         * src/pic/gen.c
1779         * src/pic/glue.c
1780         * src/pic/pcode.c
1781         * src/pic/pcode.h
1782         * src/pic/ralloc.c
1783         * src/pic/ralloc.h
1784         * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
1785         genPlus() & genMinus() when the result is the same as left or right
1786
1787 2003-08-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1788
1789         * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
1790
1791 2003-08-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1792
1793         Made bitfield a distinct type from bit so that bitfields
1794         convert as per ANSI C and bits retain their traditional
1795         boolean style behaviour. Implemented bitfield support in
1796         the z80 port.
1797
1798         * src/SDCCsymt.h,
1799         * src/SDCCsymt.c,
1800         * src/SDCCast.c,
1801         * src/cdbFile.c,
1802         * src/mcs51/gen.c,
1803         * src/ds390/gen.c: bit v bitfield split
1804         * src/z80/gen.c: New support for bitfields
1805         * support/regression/tests/bitfields.c: reenabled z80,
1806         added more tests
1807
1808 2003-08-17  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1809
1810         Rules 246.x, 247.x relate to bitfields, the others speed up
1811         access to xdata mapped I/O devices.
1812
1813         * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
1814
1815 2003-08-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1816
1817         Cleaned up genPackBits and genUnpackBits and added two helper
1818         functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
1819         for literal assignments in genPackBits (thanks to Frieder for
1820         reminding me).
1821
1822         * src/mcs51/gen.c
1823         * src/ds390/gen.c
1824
1825 2003-08-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1826
1827         Fixed bug #748310 (pointer to function type mishandled when the
1828         function name is omitted). Also fixed a SIGSEGV when a function
1829         attribute (reentrant, etc) is used on a non-function or on a
1830         function but misplaced before the parameter list.
1831
1832         * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
1833         bug #748310
1834         * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
1835         * support/Util/SDCCerr.h,
1836         * support/Util/SDCCerr.c: Added func attr misuse error msg
1837
1838 2003-08-13  Bernhard Held <bernhard AT bernhardheld.de>
1839
1840         Fixed bug #787649 by anonymous
1841         * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
1842         * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
1843
1844 2003-08-14  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1845
1846         Fixed numerous bitfield problems.
1847
1848         * src/SDCC.y: More bitfield related error checking
1849         * src/SDCCsymt.h,
1850         * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
1851         * support/Util/SDCCerr.h,
1852         * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
1853         * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
1854         * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
1855         * support/regression/tests/bitfields.c: tests added
1856
1857 2003-08-13  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1858
1859         Made the constant following the "interrupt" keyword optional. If
1860         omitted, the function will not automatically be given an entry
1861         in the interrupt vector table (similar to #pragma NOIV, but
1862         less syntacticly kludgy). The interrupt number is also now
1863         range checked. Also fixed a bug in the high order bit example
1864         in the manual.
1865
1866         * src/SDCC.y
1867         * src/SDCCmem.c
1868         * src/SDCCglue.c
1869         * src/SDCCsymt.h
1870         * support/Util/SDCCerr.c
1871         * support/Util/SDCCerr.h
1872         * doc/sdccman.lyx
1873
1874 2003-08-13  Bernhard Held <bernhard AT bernhardheld.de>
1875
1876         * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
1877         * src/SDCCicode.c (operandOperation): rewritten some ops
1878         (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
1879         * src/SDCCsymt.c (computeType): literals are handled the same way as any
1880         other type
1881         * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
1882         be re-activated by defining REDUCE_LITERALS)
1883         * src/SDCCval.c (constVal): fixed; hex and octal constants can be
1884         unsigned, but are signed by default
1885         * src/SDCCval.c (constVal): rearranged
1886         * src/SDCCval.c (valMod): preliminary fix
1887         * src/SDCCval.c (valCastLiteral): use TYPE_* types
1888         * support/regression/literalop.c: added, work in progress
1889
1890 2003-08-12  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1891
1892         Generate warnings for useless declarations like "char data;"
1893         that don't do what new users expect.
1894
1895         * src/SDCC.y
1896         * support/Util/SDCCerr.h
1897         * support/Util/SDCCerr.c
1898
1899 2003-08-09  Bernhard Held <bernhard AT bernhardheld.de>
1900
1901         * src/SDCCval.c (valMult): fix overflow detection of negative int
1902
1903 2003-08-07  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1904
1905         * src/z80/ralloc.c (joinPushes): made compatible with new signedness
1906
1907         Changes to support big endian targets:
1908
1909         * src/ports.h
1910         * src/SDCCglue.c
1911         * src/avr/main.c
1912         * src/ds390/main.c
1913         * src/izt/i186.c
1914         * src/mcs51/main.c
1915         * src/pic/main.c
1916         * src/pic16/main.c
1917         * src/xa51/main.c
1918         * src/z80/main.c
1919
1920 2003-08-06  Bernhard Held <bernhard AT bernhardheld.de>
1921
1922         * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
1923         * device/lib/time.c: fixed warning "integer overflow in expression"
1924
1925 2003-08-05  Bernhard Held <bernhard AT bernhardheld.de>
1926
1927         * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
1928         * src/SDCCval.c (constVal): changed default to signed; hex and octal
1929         constants are unsigned; added recognition of "u" flag for unsigned
1930         * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
1931         * src/SDCCval.c (valDiv, valMod): fixed signdness
1932         * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
1933         signedness of modulo, left and right shift
1934         * support/Util/SDCCerr.c: added warning "integer overflow in expression"
1935         * support/Util/SDCCerr.h: added warning W_INT_OVL
1936         * src/SDCCast.c (decorateType): fixed gcc3.3 warning
1937         * src/SDCCast.c (ast_print): improved output of constants
1938
1939 2003-08-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1940
1941         Fixed some warnings when building with MSVC:
1942
1943         * as\mcs51\asdata.c
1944         * as\z80\asdata.c
1945         * as\mcs51\asm.h
1946         * as\z80\asm.h
1947         * link\z80\aslink.h
1948         * link\z80\lkdata.c
1949         * link\z80\lkeval.c
1950         * link\z80\lkgb.c
1951         * link\z80\lkihx.c
1952         * link\z80\lks19.c
1953         * link\z80\lksym.c
1954         * support\cpp2\cpplib.c
1955         * src\ds390\gen.c
1956         * src\mcs51\gen.c
1957     
1958 2003-08-03  Bernhard Held <bernhard AT bernhardheld.de>
1959
1960         * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth AT isi.edu>
1961
1962 2003-08-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1963
1964         * support\librarian\clean.mk: Do not remove Makefile.
1965         * support\librarian\Makefile: added.
1966
1967 2003-08-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1968
1969         Added librarian to MSVC build:
1970         * all.dsp
1971         * sdcc.dsw
1972         * support\librarian\librarian.dsp
1973
1974         'configure' not needed for librarian, removed:
1975         * support\librarian\configure
1976         * support\librarian\configure.in
1977         * support\librarian\config_in.h
1978         * support\librarian\Makefile.in
1979
1980         Hopefully these ones built the librarian and the rest of sdcc properly:
1981         * Makefile
1982         * Makefile.common.in
1983
1984         Messed up 'configure', so revert to previous version:
1985         * configure
1986         * configure.in
1987
1988 2003-07-31  Bernhard Held <bernhard AT bernhardheld.de>
1989
1990         * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
1991         there, while the mantissa of a double is "only" 53 bits wide.
1992
1993 2003-07-31  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1994
1995         Adding sdcclib to the build.  MSVC project coming soon.
1996         Files added/changed:
1997
1998         * support\librarian\clean.mk
1999         * support\librarian\configure
2000         * support\librarian\configure.in
2001         * support\librarian\config_in.h
2002         * support\librarian\Makefile.bcc
2003         * support\librarian\Makefile.in
2004         * support\librarian\sdcclib.c
2005         * Makefile.bcc
2006         * Makefile
2007         * Makefile.common.in
2008         * configure
2009         * configure.in
2010
2011 2003-07-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2012
2013         Linker now complaints if linked modules have conflicting options, for
2014         example, one compiled using --model-large and another one compiled with
2015         --model-small.  The following files were modified:
2016
2017         * as\mcs51\asdata.c
2018         * as\mcs51\aslink.h
2019         * as\mcs51\asm.h
2020         * as\mcs51\asmain.c
2021         * as\mcs51\asout.c
2022         * as\mcs51\i51pst.c
2023         * as\mcs51\lkdata.c
2024         * as\mcs51\lklibr.c
2025         * as\mcs51\lkmain.c
2026         * as\z80\asdata.c
2027         * as\z80\asm.h
2028         * as\z80\asmain.c
2029         * as\z80\asout.c
2030         * as\z80\z80pst.c
2031         * link\z80\aslink.h
2032         * link\z80\lkdata.c
2033         * link\z80\lklibr.c
2034         * link\z80\lkmain.c
2035         * src\SDCCglue.c
2036
2037 2003-07-28  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2038
2039         *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
2040         as/mcs51/lklibr.c: Generate a warning when a library is not found.
2041
2042 2003-07-28  Bernhard Held <bernhard AT bernhardheld.de>
2043
2044         * src/z80/mappings.i: fix _mul[us][int,long] entries
2045
2046 2003-07-26  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2047
2048         *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
2049
2050 2003-07-24  Bernhard Held <bernhard AT bernhardheld.de>
2051
2052         * src/SDCCicode.c (operandOperation): really fixed problem with bitops
2053         * support/regression/tests/bitopcse.c: added
2054         fixed warning:
2055         * src/avr/gen.c:
2056         * src/pic/gen.c:
2057         * src/pic16/gen.c:
2058         * src/z80/gen.c:
2059         * src/xa51/gen.c:
2060
2061 2003-07-24  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2062
2063         added support for new library format to z80, gbz80 linkers:
2064         *link/z80/aslink.h
2065         *link/z80/lklex.c
2066         *link/z80/lklib.c
2067         *link/z80/lklist.c
2068
2069 2003-07-24  Bernhard Held <bernhard AT bernhardheld.de>
2070
2071         * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
2072         after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
2073
2074 2003-07-23  Bernhard Held <bernhard AT bernhardheld.de>
2075
2076         added DUMMY_READ_VOLATILE:
2077         * src/SDCC.y:
2078         * src/avr/gen.c:
2079         * src/xa51/gen.c:
2080         * src/z80/gen.c:
2081         * src/pic/gen.c:
2082         * src/pic16/gen.c:
2083         * src/mcs51/gen.c:
2084         * src/ds390/gen.c:
2085         * src/SDCCcse.c (algebraicOpts): many improvements
2086         * src/SDCCcse.h: removed algebraicOpts()
2087         * src/SDCCicode.c (picDummyRead): added
2088
2089 2003-07-23  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2090
2091         * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
2092         "Insufficient space in data memory".
2093
2094 2003-07-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2095
2096         * src/mcs51/gen.c: fixed bug #771358
2097         * src/z80/gen.c: fixed bug #759087
2098
2099 2003-07-20  Bernhard Held <bernhard AT bernhardheld.de>
2100
2101         * src/pic16/glue.c: minor cleanup by Vangelis
2102
2103 2003-07-19  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2104
2105         * device/include/regc515c.h: fixed #758477
2106         * device/lib/_gptrget.c: saving some cycles in generic pointer get
2107         * device/lib/_gptrput.c: saved a few bytes
2108         * my tab spacing is 8, yours too?)
2109         * device/lib/_ser.c: process RX bytes earlier than TX bytes
2110         * device/lib/serial.c: process RX bytes earlier than TX bytes
2111         * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
2112
2113 2003-07-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2114
2115         * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
2116
2117 2003-07-17  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2118
2119     * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
2120
2121 2003-07-17  Bernhard Held <bernhard AT bernhardheld.de>
2122
2123         * device/lib/Makefile.in: bad fix, reverted to 1.43
2124
2125 2003-07-16  Bernhard Held <bernhard AT bernhardheld.de>
2126
2127         * device/lib/Makefile.in: added missing z80 object files
2128
2129 2003-07-14  Bernhard Held <bernhard AT bernhardheld.de>
2130
2131         * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
2132         pic16 progress by Vangelis:
2133         * src/SDCCglobl.h:
2134         * src/SDCCmain.c:
2135         * src/pic/Makefile:
2136         * src/pic:
2137         * pic/Makefile:
2138         * pic16/device.c:
2139         * pic16/device.h:
2140         * pic16/gen.c:
2141         * pic16/gen.h:
2142         * pic16/genarith.c:
2143         * pic16/glue.c:
2144         * pic16/main.c:
2145         * pic16/pcode.c:
2146         * pic16/pcode.h:
2147         * pic16/pcodepeep.c:
2148         * pic16/peeph.def:
2149
2150 2003-07-13  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2151
2152     * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
2153
2154 2003-07-12  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2155
2156     * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
2157     added gbz80 build to MSVC project.
2158     * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
2159     link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
2160     from 8051 stuff and setup so it links using a .lnk file.
2161
2162 2003-07-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2163
2164     * support/librarian/sdcclib.c: sdcc librarian.
2165     * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
2166     with sdcclib.
2167
2168 2003-07-03  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2169
2170     * as/mcs51/lkmain.c: properly handle extensions in function afile.
2171
2172 2003-07-02  Borut Razem <borut.razem AT siol.net>
2173
2174         * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
2175         src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
2176         src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
2177         src/xa51/main.c, src/z80/main.c:
2178         virtualization of glue() function: each port has it's own glue function,
2179         which is accessed by do_glue function pointer in PORT.general structure
2180
2181 2003-07-01 Kevin Vigor <kevin AT vigor.nu>
2182
2183         * DS800C400 fun, improved ROM interface and tinibios.
2184
2185 2003-06-27 Kevin Vigor <kevin AT vigor.nu>
2186
2187         * More support for DS80C400. Now includes beginning of interface to ROM.
2188
2189 2003-06-25  Bernhard Held <bernhard AT bernhardheld.de>
2190
2191         * src/mcs51/gen.c (gencjneshort): fixed bug #760345
2192
2193 2003-06-20  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2194
2195         * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
2196
2197 2003-06-19  Borut Razem <borut.razem AT siol.net>
2198
2199         * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
2200
2201 2003-06-19  Borut Razem <borut.razem AT siol.net>
2202
2203         * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
2204         fixed Z80 port - crt0.o: cannot open.
2205
2206 2003-06-19  Bernhard Held <bernhard AT bernhardheld.de>
2207
2208         * support/Util/MySystem.c (merge_command): revert bad fix
2209
2210 2003-06-18  Borut Razem <borut.razem AT siol.net>
2211
2212         * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
2213
2214 2003-06-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2215
2216         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
2217         option --use-stdout sends errors to stdout instead of stderr.
2218
2219 2003-06-18  Bernhard Held <bernhard AT bernhardheld.de>
2220
2221         * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
2222
2223 2003-06-15  Borut Razem <borut.razem AT siol.net>
2224
2225         * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
2226         * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
2227         * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
2228         fixed width array of pointers replaced with sets;
2229         multiple include and lib paths ared transferred to preprocessor and linker
2230         * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
2231         * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
2232         fixed width array of pointers
2233         * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
2234         removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
2235         fixupPath(), getPathDifference()
2236         * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function  inExcludeList() by using sets instead
2237         fixed width array of pointers
2238
2239 2003-06-11  Bernhard Held <bernhard AT bernhardheld.de>
2240
2241         * src/pic16/ralloc.c: fix warnings
2242         * src/pic16/pcode.c: fix warning
2243
2244 2003-06-10  Scott Dattalo  <scott AT dattalo.com>
2245
2246          Scott D. for Vangelis Rokas (vrokas AT otenet.gr). I (scott) don't
2247         know all the details, but essentially this set of changes enable
2248         the pic16 port to generate movff instructions and generate assembler
2249         directives,
2250         * src/SDCCmain.c:
2251         * src/pic16/gen.c:
2252         * src/pic16/glue.c:
2253         * src/pic16/pcode.c:
2254         * src/pic16/device.c:
2255         * src/pic16/main.c:
2256         * src/pic16/pcode.h:
2257         * src/pic16/pcoderegs.c:
2258         * src/pic16/ralloc.c:
2259         * src/pic16/ralloc.h:
2260
2261 2003-06-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2262
2263         * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
2264         added option --vc, so sdcc errors and warnings are compatible with
2265         Microsoft Visual Studio.
2266
2267 2003-06-07  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2268
2269         * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
2270           device/lib/libfloat.lib: added atof function.
2271
2272 2003-06-04  Bernhard Held <bernhard AT bernhardheld.de>
2273
2274         * doc/sdccman.lyx: updated to Lyx 1.3
2275         * doc/cdbfileformat.lyx: updated to Lyx 1.3
2276         * doc/test_suite_spec.lyx: updated to Lyx 1.3
2277         * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
2278
2279 2003-06-03  Bernhard Held <bernhard AT bernhardheld.de>
2280
2281         * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas AT otenet.gr>
2282
2283 2003-06-02  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2284
2285         * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
2286           additions to the "related tools/documentation" section
2287
2288 2003-06-02  Bernhard Held <bernhard AT bernhardheld.de>
2289
2290         * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
2291
2292 2003-05-29  Bernhard Held <bernhard AT bernhardheld.de>
2293
2294         * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn AT vt.edu>
2295         * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
2296
2297 2003-05-28  Bernhard Held <bernhard AT bernhardheld.de>
2298
2299         * doc/sdccman.lyx: fix double dash and other minor things
2300         * doc/Makefile: fix double dash
2301
2302 2003-05-28  Karl Bongers(patches from Martin Helmling)
2303         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
2304           condition and ignore commands.
2305
2306 2003-05-28  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2307
2308         * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
2309           is in parts still quite out of date, I did changes as far as I felt makes sense
2310           for a non-native english speaker.
2311           Please feel free to add to the manual or to correct my changes.
2312         * doc/Makefile: undid touching the date of intermediate tex files.
2313
2314 2003-05-26  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2315
2316         * doc/sdccman.lyx: Manual has an index now
2317
2318 2003-05-25  Bernhard Held <bernhard AT bernhardheld.de>
2319
2320         Finalize muluint/mulsint and mululong/mulslong merging:
2321         * device/lib/_mulint.c
2322         * device/lib/_mullong.c
2323         * device/lib/gbz80/mul.s
2324         * device/lib/gbz80/stubs.s
2325         * device/lib/z80/mul.s
2326         * device/lib/z80/stubs.s
2327         * src/SDCCsymt.c (initCSupport)
2328
2329 2003-05-25  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2330
2331         * as/mcs51/lkaomf51.c: Address space 'z' was missing.
2332         * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
2333           src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
2334           src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
2335           instead of /Zm500.
2336
2337 2003-05-25  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2338
2339         * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
2340           the regression tests I'm not brave enough to enable 245.b, 245.c
2341         * doc/sdccman.lyx: added latex preamble for hyperref package.
2342           Using pdflatex this will give you a hyperlinked pdf file with
2343           bookmarks. (prepend '%' before /usepackage if this breaks something)
2344
2345 2003-05-24  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2346
2347          * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
2348          
2349 2003-05-22  Bernhard Held <bernhard AT bernhardheld.de>
2350
2351         * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
2352
2353 2003-05-21    <johan AT balder>
2354
2355         * src/SDCCglue.c (printIval): fixed bug #739934
2356
2357 2003-05-19  Bernhard Held <bernhard AT bernhardheld.de>
2358
2359         Applied patch from bug 737905 (renamed yylineo to mylineno):
2360         * src/altlex.c
2361         * src/SDCCast.c
2362         * src/SDCglobl.h
2363         * src/SDCC.lex
2364         * src/SDCCsymt.c
2365         * src/SDCCval.c 
2366         * src/pic16/pcode.c: Cleaned warnings
2367         * src/pic16/pcodeflow.c: Cleaned warnings
2368         * src/pic16/pcoderegs.c: Cleaned warnings
2369
2370 2003-05-19  Scott Dattalo  <scott AT dattalo.com>
2371
2372         * src/pic16/pcode.c: Cleaned warnings
2373         * src/pic16/pcodepeep.c: Cleaned warnings
2374         * src/pic16/ralloc.c: Cleaned warnings
2375
2376 2003-05-19  Bernhard Held <bernhard AT bernhardheld.de>
2377
2378         * doc/sdccman.lyx: fixed bug 739745
2379         * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
2380
2381 2003-05-18  Bernhard Held <bernhard AT bernhardheld.de>
2382
2383         * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
2384         it can be defined with CFLAGS when running configure
2385         * src/SDCCmain.c: fixed compiling + linking with object files
2386
2387 2003-05-18  Vangelis Rokas (vrokas AT otenet.gr)
2388
2389         * configure.in: configure for pic16 port,
2390             added --disable-pic16-port
2391         * sdccconf_in.h: added macro OPT_DISABLE_PIC16
2392         * src/SDCCmain.c: linkOptions is changed to set *,
2393             added if/endif conditional macros to remove options help
2394             messages from optionsTable when a port is not configured, added
2395             support for the PIc16 port in the ports table, when executing
2396             the compiler with no port specified on command line, a default
2397             port is selected with the new macro DEFAULT_PORT which is
2398             defined in port.h, in setDefaultOptions() linkOptions is removed
2399             from initialization assignment, since now it is a set,
2400             parseCmdLine uses setParseWithComma for linkOptions, in
2401             linkEdit() linkOptions are accessed with new function indexSet()
2402             which returns the i'th item of a set variable. See SDCCset.c, in
2403             linkEdit() when calling buildCmdLine(), added linkOptions as
2404             last argument. Now users can pass arguments to gplink via the
2405             -Wl option, main() uses pic16glue() to glue up pic16 programs
2406         * src/SDCCpeeph.c: various changes to support pic16
2407         * src/SDCCset.c: added function  void *indexSet(set *, int)  to
2408             return the i'th item of the set
2409         * src/SDCCset.h: added function prototype for indexSet()
2410         * src/SDCCsymt.c: in checkSClass(), added support for PIC16
2411         * src/clean.mk: added pic16 in CLEANALLPORTS variable
2412         * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
2413             added macro DEFAULT_PORT
2414         * src/pic/main.c: corrected arguments of gplnk in _linkCmd
2415         * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
2416             generated
2417         * src/pic16/glue.c: commented out some error producing lines
2418         * src/pic16/main.c: __config directives are commented out to stop
2419             gpasm complaining and test the linkage with gplink, _linkCmd and
2420             _asmCmd changed to be more gplink and gpasm friendly
2421         * src/pic16/peeph.def: peep rule 3 is commented out, since it
2422             produced an error when parsed, peep rule 12 is added to utilize
2423             movff, but it is commented out since the pCode does not support
2424             yet a command with 2 address arguments
2425
2426 2003-05-18    <johan AT balder>
2427
2428         * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
2429         * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
2430 2003-05-17  Karl Bongers(apply patches from Martin Helmling)
2431
2432         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
2433   Added feature to script commands from file.
2434
2435 2003-05-14  Bernhard Held <bernhard AT bernhardheld.de>
2436
2437         * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
2438         * src/SDCCutil.c: include ctype.h for win32
2439
2440 2003-05-13  Bernhard Held <bernhard AT bernhardheld.de>
2441
2442         * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
2443
2444 2003-05-12  Karl Bongers(apply development patches from Martin Helmling)
2445
2446         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
2447   Fixed so you can set breakpoints prior to run, run does not stop
2448   on entry now.  Add tbreak.  Other enhancements and fixes for use
2449   with ddd.
2450
2451 2003-05-12  Borut Razem <borut.razem AT siol.net>
2452
2453         * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
2454
2455 2003-05-11  Borut Razem <borut.razem AT siol.net>
2456
2457         * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
2458         the path of bin directory, so that PATH is the only env. variable, which has to be set
2459         in case of standard installation.
2460         * src/ds390/ds390.dsp: increased value of /Zm option to 1000
2461         * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
2462         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
2463
2464 2003-05-04  Bernhard Held <bernhard AT bernhardheld.de>
2465
2466         * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
2467         * support/regression/Makefile: inter-port-clean is no longer nesessary, the
2468         temp files are in the port dir; clean the gen/test directory when
2469         generating new test.c
2470         * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
2471         * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
2472         * support/regression/tests/zeropad.c: added
2473
2474 2003-05-09    <johan AT balder>
2475
2476         * src/SDCCglue.c: fixed bug #597940
2477
2478 2003-05-05  Karl Bongers(apply patches from Martin Helmling)
2479
2480         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
2481   cache sfr, optimize next,step, fix off by one sourceline,
2482   support ddd list function.
2483         * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
2484
2485 2003-05-04  Bernhard Held <bernhard AT bernhardheld.de>
2486
2487         * support/regression/HTMLgen.py: added compare_s2f()
2488         * support/regression/Makefile: redo 1.27
2489         * support/regression/generate-cases.py: redo 1.5
2490
2491 2003-04-30  Bernhard Held <bernhard AT bernhardheld.de>
2492
2493         * support/regression/tests/float.c: workaround 33 bit hex constant
2494         * support/regression/tests/simplefloat.c: fix division for host
2495
2496 2003-04-29  Scott Dattalo  <scott AT dattalo.com>
2497
2498         * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim AT jimhawkridge.uk.eu.org>
2499         that tame's the PIC's over-aggressive optimizer.
2500
2501 2003-04-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2502
2503          * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
2504          support for MSVC.
2505          
2506 2003-04-29  Kevin Vigor <kevin AT vigor.nu>
2507
2508         Initial support for DS80C400. "Hello world" runs on TINIm400
2509         (with polled I/O).
2510
2511 2003-04-28  Karl Bongers(apply patches for Martin Helmling)
2512
2513          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
2514          * Some notes on ddd usage added in debugger/README
2515          Martin Helmling adding more features and fixes for ddd GUI debugger.
2516          Code added for nexti, stepi, up, down, and other adjustments.
2517
2518 2003-04-28  Scott Dattalo  <scott AT DATTALO.COM>
2519
2520         * src/pic/pCodepeep.c non-wildcard asmops are now handled
2521         * src/pic/peeph.def Added two rules to optimize carry manipulation
2522         * src/pic/* removed debug printfs
2523
2524 2003-04-28  Bernhard Held <bernhard AT bernhardheld.de>
2525
2526         * debugger/mcs51/cmd.c: added header newalloc.h
2527
2528 2003-04-26  Bernhard Held <bernhard AT bernhardheld.de>
2529
2530         * as/Makefile: new EXEEXT
2531         * as/z80/Makefile: remove trailing slash of BUILDIR
2532         * as/z80/clean.mk: new EXEEXT
2533         * Makefile.common.in: add to CFLAGS (and others), don't replace it
2534         * support/cpp2/Makefile.in: new EXEEXT
2535         * src/pic/glue.c (pic14emitRegularMap): fixed warning
2536
2537 2003-04-24  Bernhard Held <bernhard AT bernhardheld.de>
2538
2539         Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
2540         EXEEXT was introduced to fix all related problems with targets
2541         "clean", "install" and "uninstall"; a couple of further flaws
2542         especially with "clean" have been fixed too
2543         * as/mcs51/Makefile.in
2544         * as/mcs51/clean.mk
2545         * as/z80/Makefile
2546         * Makefile
2547         * clean.mk
2548         * debugger/mcs51/Makefile.in
2549         * debugger/mcs51/clean.mk
2550         * link/z80/Makefile
2551         * link/z80/Makefile.in
2552         * link/z80/clean.mk
2553         * link/Makefile
2554         * packihx/Makefile.in
2555         * packihx/clean.mk
2556         * sim/ucsim/Makefile
2557         * sim/ucsim/clean.mk
2558         * sim/ucsim/avr.src/Makefile.in
2559         * sim/ucsim/avr.src/clean.mk
2560         * sim/ucsim/s51.src/Makefile.in
2561         * sim/ucsim/s51.src/clean.mk
2562         * sim/ucsim/xa.src/Makefile.in
2563         * sim/ucsim/xa.src/clean.mk
2564         * sim/ucsim/z80.src/Makefile.in
2565         * sim/ucsim/z80.src/clean.mk
2566         * sim/ucsim/main_in.mk
2567         * sim/ucsim/packages_in.mk
2568         * sim/ucsim/gui.src/Makefile.in
2569         * sim/ucsim/gui.src/serio.src/Makefile.in
2570         * sim/ucsim/gui.src/serio.src/clean.mk
2571         * src/Makefile.in
2572         * src/clean.mk
2573         * support/cpp2/Makefile.in
2574         * support/cpp2/clean.mk
2575         * support/makebin/Makefile
2576         * support/makebin/clean.mk
2577         * support/scripts/sdcc_mingw32: --program-suffix no longer needed
2578         * doc/sdccman.lyx: --program-suffix no longer needed
2579
2580 2003-04-23  Karl Bongers(apply patches for Martin Helmling)
2581
2582          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
2583          Martin Helmling added support for ddd GUI debugger.
2584          Code added to display assembly, set variables, and other commands
2585          to interface to ddd.
2586
2587 2003-04-23  Bernhard Held <bernhard AT bernhardheld.de>
2588
2589         * as/Makefile: fix target clean
2590         * as/clean.mk: fix target clean
2591         * as/z80/clean.mk: fix target clean
2592
2593 2003-04-22  Bernhard Held <bernhard AT bernhardheld.de>
2594
2595         * Makefile.common.in: added  AT EXEEXT AT 
2596         * configure.in: removed all mingw32 stuff
2597         * configure: rebuilt from configure.in
2598         * doc/sdccman.lyx: updated section "installation"
2599         * support/scripts/sdcc_mingw32: adapted to configure
2600         * support/scripts/sdcc_cygwin_mingw32: added
2601
2602 2003-04-22  Scott Dattalo  <scott AT dattalo.com>
2603
2604         * src/pic Added object file support for the PIC port
2605         * src/pic Applied patch from Craig Franklin (this started the object file support)
2606         * src/regression Updated the PIC regression tests for object files
2607
2608 2003-04-20  Borut Razem <borut.razem AT siol.net>
2609
2610         * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
2611           lklex.c: In function `getfid':
2612           lklex.c:203: warning: array subscript has type `char'
2613         * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
2614           with MSVC with global optimization enabled (probably an cl compiler bug ;-)
2615         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
2616           stack handling macros
2617
2618 2003-04-19  Borut Razem <borut.razem AT siol.net>
2619
2620         * "handling space characters in file path" task:
2621         * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
2622         * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
2623         * support/Util/MySystem.h: make it self-sufficient
2624         * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
2625           src/z80/main.c, sdcc/as/mcs51/lklex.c:
2626           handling space characters in file path
2627         * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
2628           (it will be used by assemblers, which have their own includes, e.g. gpasm)
2629         * support/Util/MySystem.c: handling space characters in executable's path
2630
2631 2003-04-19  Bernhard Held <bernhard AT bernhardheld.de>
2632
2633         * as/z80/Makefile: fix permanent rebuild of z80
2634         * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
2635         * support/regression/tests/bitfields.c: added Johan's bitfields.c
2636
2637 2003-04-18      Kevin Vigor <kevin AT vigor.nu>
2638
2639         * src/SDCCopt.c: add special case optimization to replace modulo by
2640           a power of two with a bitwise AND.
2641
2642 2003-04-18    <johan AT balder>
2643
2644         * src/mcs51/gen.c (getFreePtr): fixed bug #635354
2645
2646 2003-04-17    <johan AT balder>
2647
2648         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
2649         * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
2650
2651 2003-04-13  Borut Razem <borut.razem AT siol.net>
2652
2653         * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
2654         * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
2655           fixed mingw problem in adl_NORMALIZE_PATH
2656
2657 2003-04-12  Borut Razem <borut.razem AT siol.net>
2658
2659         * fixed "#pragma SAVE/RESTORE can not be nested":
2660         * src/SDCC.lex: reworked pragma handling functions
2661         * sdcc/src/SDCCglobl.h: reworked stack handling macros
2662         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
2663
2664 2003-04-12  Bernhard Held <bernhard AT bernhardheld.de>
2665
2666         * src/SDCCutil.c (pathEquivalent): defined but not used
2667         * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
2668         * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
2669         * configure: rebuilt from configure.in
2670         * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
2671         * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
2672         * device/include/Makefile.in: replace sdcc_datadir
2673         * device/lib/Makefile.in: replace sdcc_datadir
2674         * Makefile.common.in: add LDFLAGS from configure
2675         * packihx/Makefile.in: use LDFLAGS
2676         * src/Makefile.in: use LDFLAGS
2677         * support/cpp2/Makefile.in: add LDFLAGS from configure
2678         * support/makebin/Makefile: use LDFLAGS
2679         * .version: bumped version number to 2.3.5
2680
2681 2003-04-12  Borut Razem <borut.razem AT siol.net>
2682
2683         * completed "different paths" task:
2684         * src/SDCCmacro.c: fixed bug in handling quotes
2685         * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
2686         * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
2687
2688 2003-04-12  Bernhard Held <bernhard AT bernhardheld.de>
2689
2690         * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
2691
2692 2003-04-11 kevin Vigor <kevin AT vigor.nu>
2693
2694         * ds390/gen.c ds390/peeph.def: fix bug 706781
2695
2696 2003-04-11  Borut Razem <borut.razem AT siol.net>
2697
2698         * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
2699
2700 2003-04-10  Scott Dattalo  <scott AT dattalo.com>
2701
2702         * src/pic/* Applied the pointer-to-function patch from Steve Tell.
2703         * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
2704          set - this bit used to not be set...).
2705         * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated 
2706           bad code in PIC Port
2707         * src/regression/and2.c added to test bug 609268
2708         * src/regression/Makefile added and2.c to regression test
2709
2710
2711 2003-04-08    <johan AT CP255758-A>
2712
2713         * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
2714         * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
2715         * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
2716
2717 2003-04-07  Bernhard Held <bernhard AT bernhardheld.de>
2718
2719         * configure.in: fully support prefix, exec_prefix, datadir, docdir;
2720         fix bug #487815
2721         * support/cpp2/Makefile.in: fix bug #487815
2722         * configure: rebuilt from configure.in
2723         * Makefile.common.in: docdir changed, new path suffixes
2724         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
2725         * sdcc_vc_in.h: reflect changes from sdccconf.h
2726         * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
2727         * src/SDCCutil.h: remove BINDIR hack
2728         * doc/sdccman.lyx: update new path hierarchy
2729
2730 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
2731
2732         * src/SDCCpeeph.c: added okToRemoveSLOC test
2733
2734 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
2735
2736         * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
2737
2738 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
2739
2740         * src/SDCCpeeph.c: added labelIsReturnOnly test
2741         * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
2742
2743 2003-04-05    <johan AT balder>
2744
2745         * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
2746         * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
2747         * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
2748         * src/SDCCast.c: fixed a warning
2749         * src/SDCCast.h: fixed a warning
2750         * src/SDCCicode.c (operandFromAst): fixed a warning
2751
2752 2003-04-04    <johan AT balder>
2753
2754         * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
2755         * src/SDCCast.c (decorateType): fixed bug #715076
2756         * src/SDCC.y: fixed bug #702907
2757
2758 2003-04-03    <johan AT balder>
2759
2760         * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
2761         * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
2762         * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
2763         * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
2764         * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
2765
2766 2003-04-03  Bernhard Held <bernhard AT bernhardheld.de>
2767
2768         * _decdptr.c: fix return values
2769         * _gptrget.c: fix return values
2770         * _gptrgetc.c: fix return values
2771         * _gptrput.c: fix return values
2772         * _mulint.c: fix return values
2773         * as/z80/Makefile: fix 'make -j' problem
2774
2775 2003-04-02  Bernhard Held <bernhard AT bernhardheld.de>
2776
2777         * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
2778         * configure.in: big cleanup, updated to autoconf 2.5x
2779         * configure: rebuilt from configure.in
2780         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
2781         * sdcc_vc_in.h: reflect changes from sdccconf.h
2782         * doc/Makefile: fixed a flaw in "make install"
2783
2784 2003-04-02    <johan AT balder>
2785
2786         * src/ds390/gen.c (genCmp): no comments
2787         * src/mcs51/gen.c (genCmp): no comments
2788         * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
2789         * src/SDCCast.c (ast_print): fixed the function type in --dumptree
2790
2791 2003-04-01  Bernhard Held <bernhard AT bernhardheld.de>
2792
2793         * support/regression/generate-cases.py: place generated file in given sub directory
2794         * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
2795         * support/regression/Makefile: improvements for 'make -j';
2796         side effect: it's simpler and faster now
2797
2798 2003-03-31  Borut Razem <borut.razem AT siol.net>
2799
2800         * src/z80/main.c: link-{port} and as-{port} defined without path
2801         * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
2802
2803 2003-03-31  Bernhard Held <bernhard AT bernhardheld.de>
2804
2805         * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
2806
2807 2003-03-30  Borut Razem <borut.razem AT siol.net>
2808
2809         * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
2810           changed type of list parameter to set
2811         * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
2812         * src/port.h: changed type of do_assemble() parameter to set
2813         * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
2814           sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
2815           definition of "cppoutfilename" macro with NULL value in preProcess()
2816         * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
2817         * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
2818         * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
2819           replaced with set *binPathSet
2820         * shash_add() deallocates the item, if allready exsists, before adding the new one
2821         * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
2822
2823 2003-03-30  Scott Dattalo  <scott AT dattalo.com>
2824
2825         * src/pic/gen.c: Commit patch from Steve Tell <tell AT telltronics.org> that fixes
2826           a nested for loop bug in the PIC port
2827         * src/regression/nestfor.c: new regression test file Steve wrote to test nested
2828           for loops
2829
2830 2003-03-29  Bernhard Held <bernhard AT bernhardheld.de>
2831
2832         * support/Util/dbuf.h: remove C++ stuff to make it portable
2833
2834 2003-03-28  Borut Razem <borut.razem AT siol.net>
2835
2836         * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
2837           literal strings in stringLiteral()
2838         * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
2839         * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
2840           to the project
2841
2842 2003-03-27  Paul Stoffregen <paul AT pjrc.com>
2843
2844         * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
2845
2846 2003-03-26    <johan AT balder>
2847
2848         * src/mcs51/gen.c (saveRegisters): catched symbol abuse
2849         * src/ds390/gen.c (saveRegisters): catched symbol abuse
2850         * src/SDCCast.c (decorateType): fixed " -v < 3"
2851
2852 2003-03-23  Bernhard Held <bernhard AT bernhardheld.de>
2853
2854         * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
2855         Added Lenny Story's debug infrastructure changes:
2856         * src/Makefile.in:  added new files cdbFile.c and SDCCdebug.c
2857         * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
2858         * src/cdbFile.c: added
2859         * src/SDCCdebug.c: added
2860         * src/SDCCdebug.h: added
2861         * src/SDCCast.c (createFunction)
2862         * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
2863         * src/SDCCmain.c (parseCmdLine, main)
2864         * src/SDCCmem.c (redoStackOffsets)
2865         * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
2866         * src/SDCCsymt.h
2867         * src/common.h
2868         * src/avr/gen.c (genAVRCode)
2869         * src/ds390/gen.c (gen390Code)
2870         * src/mcs51/gen.c (gen51Code) 
2871         * src/pic/gen.c (genpic14Code)
2872         * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
2873         * src/xa51/gen.c (genXA51Code)
2874         * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
2875
2876 2003-03-22  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2877
2878         * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
2879         * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
2880
2881 2003-03-22    <johan AT balder>
2882
2883         * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
2884
2885 2003-03-21  Bernhard Held <bernhard AT bernhardheld.de>
2886
2887         * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
2888         * doc/cdbfileformat.lyx: added, written by Lenny Story
2889         * doc/Makefile: added cdbfileformat.lyx
2890         * doc/clean.mk: added cdbfileformat.lyx
2891
2892 2003-03-20  Bernhard Held <bernhard AT bernhardheld.de>
2893
2894         * src/mcs51/peeph.def: fix bug #705773
2895
2896 2003-03-20    <johan AT balder>
2897
2898         An sfr/sbit can have an "at #" AND an initializer
2899         * src/SDCCsymt.c (checkSClass): 
2900         * src/SDCCmem.c (allocGlobal): 
2901         * src/SDCCmem.c (allocLocal):
2902         * src/SDCCast.c (createBlock): 
2903
2904 2003-03-17  Bernhard Held <bernhard AT bernhardheld.de>
2905
2906         * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
2907
2908 2003-03-16    <johan AT balder>
2909
2910         Undid the hackup of const and volatile, the problem is much bigger
2911         * src/SDCC.y:1.65
2912         * src/SDCCast.c:1.171
2913         * src/SDCCglue.c:1.138
2914         * src/SDCCicode.c:1.146
2915         * src/SDCCsymt.c:1.150
2916         * src/SDCCval.c:1.65
2917
2918 2003-03-15  Bernhard Held <bernhard AT bernhardheld.de>
2919
2920         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
2921         * src/ds390/gen.c (genAddrOf): fixed bug #704087
2922
2923 2003-03-13    <johan AT balder>
2924
2925         Hackup const and volatile modifiers in type chains a bit:
2926         * src/SDCC.y:1.63
2927         * src/SDCCast.c:1.169
2928         * src/SDCCglue.c:1.136
2929         * src/SDCCicode.c:1.143
2930         * src/SDCCsymt.c1.146
2931         * src/SDCCsymt.h1.59
2932         * src/SDCCval.c:1.63
2933
2934 2003-03-12    <johan AT balder>
2935
2936         * src/SDCCBBlock.h: more LRH debugging junk
2937         * src/SDCCcflow.h: more LRH debugging junk
2938         * src/SDCCloop.c: more LRH debugging junk
2939         * src/SDCC.y (struct_declaration): fixed bug #697590
2940         * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
2941         * src/ds390/gen.c (aopForRemat): fixed bug #700031
2942         * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
2943
2944 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
2945         * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
2946         test function names must now match exactly).
2947         * src/SDCCcse.c: added special case in findCheaperOp to allow
2948         extending a short integer. Makes less awful code for bug 700121 test case.
2949
2950 2003-03-11  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2951
2952         * as/mcs51/lkmain.c: Added ASlink-Warning to messages 
2953         * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
2954
2955 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
2956
2957         * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
2958         actually called (operandsNotEqual() was called for all 
2959         operandsNotEqualX tests).
2960
2961 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
2962
2963         * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
2964         with shorter literals. Fixes bug 700121.
2965
2966 2003-03-11    <johan AT balder>
2967
2968         * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
2969
2970 2003-03-11  Bernhard Held <bernhard AT bernhardheld.de>
2971
2972         * src/SDCCloop.c (mergeRegions): an evil beast is dead
2973         * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
2974
2975 2003-03-10  Borut Razem <borut.razem AT siol.net>
2976
2977         * src/SDCCmain.c: pipe preprocessor's output
2978         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
2979         * sdcc_vc_in.h: define pclose as _pclose for WIN32
2980         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
2981         which closes all pipes in pipeSet set
2982         * src/SDCCset.c: free deleted item in function deleteSetItem()
2983         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
2984         moved from z80 to src subproject
2985         * .version: increased version number to 2.3.4
2986
2987 2003-03-10  Bernhard Held <bernhard AT bernhardheld.de>
2988
2989         * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
2990         * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
2991         * support/regression/ports/xa51/spec.mk: fix typo
2992
2993 2003-03-09  Bernhard Held <bernhard AT bernhardheld.de>
2994
2995         * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
2996
2997 2003-03-09  Borut Razem <borut.razem AT siol.net>
2998
2999         * src/SDCCmain.c: pipe preprocessor's output
3000         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
3001         * sdcc_vc_in.h: define pclose as _pclose for WIN32
3002         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
3003         which closes all pipes in pipeSet set
3004         * src/SDCCset.c: free deleted item in function deleteSetItem()
3005         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
3006         moved from z80 to src subproject
3007
3008 2003-03-09  Borut Razem <borut.razem AT siol.net>
3009
3010         * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
3011         * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
3012         * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
3013         * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
3014         * src/SDCCglobl.h: unification of WIN32 native definitions
3015
3016 2003-03-09  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3017
3018         * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
3019
3020 2003-03-08  Bernhard Held <bernhard AT bernhardheld.de>
3021
3022         * src/configure.in:   check for endianess (even while cross-compiling)
3023         * src/configure:      check for endianess (even while cross-compiling)
3024         * src/configure_in.h: check for endianess (even while cross-compiling)
3025         * src/avr/gen.c:        remove old endianess stuff
3026         * src/mcs51/gen.c:      remove old endianess stuff
3027         * src/ds390/gen.c:      remove old endianess stuff
3028         * src/pic/gen.c:        remove old endianess stuff
3029         * src/pic/genarith.c:   remove old endianess stuff
3030         * src/pic/glue.c:       fix endianess check
3031         * src/pic16/gen.c:      remove old endianess stuff
3032         * src/pic16/genarith.c: remove old endianess stuff
3033         * src/pic16/glue.c:     fix endianess check
3034         * src/xa51/gen.c:       remove old endianess stuff
3035         * src/z80/gen.c:        fix endianess check
3036         * src/SDCCglue.c:       fix endianess check
3037         * src/ds390/peeph.def: fix bug 700036
3038
3039 2003-03-08  Bernhard Held <bernhard AT bernhardheld.de>
3040
3041         * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
3042         * src/configure: find appropriate data-types on host for SDCC's int and long
3043         * src/configure.in: find appropriate data-types on host for SDCC's int and long
3044         * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
3045         * src/xa51/gen.c: use %d, not %ld for 4 byte variables
3046
3047 2003-03-07    <johan AT balder>
3048
3049         Just a big NOOP:
3050                 some minor cleanups before the big shot
3051                 OP_DEFS and OP_USES now use Kevin's protection
3052                 new option --nolabelopt
3053
3054         * src/SDCCBBlock.c:
3055         * src/SDCCast.c,:
3056         * src/SDCCcflow.c:
3057         * src/SDCCcse.c:
3058         * src/SDCCicode.c:
3059         * src/SDCCicode.h:
3060         * src/SDCClabel.c:
3061         * src/SDCCloop.c:
3062         * src/SDCCmain.c:
3063         * src/ds390/ralloc.c:
3064         * src/mcs51/ralloc.c:
3065         * src/pic/ralloc.c:
3066         * src/xa51/ralloc.c:
3067         * src/z80/ralloc.c:
3068
3069 2003-03-06  Bernhard Held <bernhard AT bernhardheld.de>
3070
3071         * src/pic/pcode.c (get_op): fix 64 bit warnings
3072         * src/pic/pcode.c (pCode2str): fix 64 bit warnings
3073         * src/SDCChasht.c (newHashTable): fix 64 bit warnings
3074         * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
3075         * support/regression/tests/malloc.c: fix 64 bit warnings
3076
3077 2003-03-04  Bernhard Held <bernhard AT bernhardheld.de>
3078
3079         * src/mcs51/gen.c (genMinus): fixed bug 696436
3080
3081 2003-03-02  Borut Razem <borut.razem AT siol.net>
3082
3083         * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
3084
3085 2003-02-26  Bernhard Held <bernhard AT bernhardheld.de>
3086
3087         * configure.in: test for mkstemp
3088         * sdccconf_in.h: add HAVE_MKSTEMP
3089
3090 2003-02-24  Bernhard Held <bernhard AT bernhardheld.de>
3091
3092         * device/include/ctype.h: removed warning while using --stack-auto
3093         * device/include/malloc.h: removed warning while using --stack-auto
3094         * device/include/string.h: removed warning while using --stack-auto
3095
3096 2003-02-23  Borut Razem <borut.razem AT siol.net>
3097
3098         * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
3099         because NDEBUG is defined (see man assert)
3100         * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
3101
3102 2003-02-23  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3103
3104         * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
3105         * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
3106
3107 2003-02-18  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3108
3109         * src/SDCCpeeph.c: added peephole conditions testing for same arguments
3110         * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
3111
3112 2003-02-18    <johan AT balder>
3113
3114         * as/mcs51/asmain.c (asmbl): module can start with a digit
3115         * as/z80/asmain.c (asmbl): module can start with a digit
3116
3117 2003-02-16  Bernhard Held <bernhard AT bernhardheld.de>
3118
3119         * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
3120         * src/asm.c: fix pipe() for Mingw32
3121
3122 2003-02-15  Bernhard Held <bernhard AT bernhardheld.de>
3123
3124         * src/SDCCglue.h: make tmpfileNameSet available for preOutName
3125         * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
3126         make -V work again; --c1mode reads now from stdin
3127         * doc/sdccman.lyx: added --c1mode
3128         * support/Util/SDCCerr.c: new messages for c1 mode
3129         * support/Util/SDCCerr.h: new messages for c1 mode
3130         * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
3131
3132 2003-02-15    <johan AT balder>
3133
3134         * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
3135
3136 2003-02-14  Bernhard Held <bernhard AT bernhardheld.de>
3137
3138         * doc/sdccman.lyx: Environment variables, -o and other minor things
3139
3140 2003-02-14    <johan AT balder>
3141
3142         * src/xa51/main.c: before anyone really tries to use it :)
3143
3144         * Install doc's in share/sdcc/doc
3145         * removed some obsolete files
3146         * Do a proper make distclean and uninstall
3147         M Makefile.common.in
3148         R sdccbuild.sh
3149         M as/Makefile
3150         M device/include/Makefile.in
3151         M device/lib/Makefile.in
3152         M doc/sdccman.lyx
3153         M link/Makefile
3154         M sim/ucsim/doc/Makefile.in
3155         M src/clean.mk
3156         R src/avr/peeph.rul
3157         R src/xa51/peeph.rul
3158         M support/cpp2/Makefile.in
3159         M support/makebin/Makefile
3160
3161
3162 2003-02-13  Bernhard Held <bernhard AT bernhardheld.de>
3163
3164         * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
3165
3166 2003-02-10  Borut Razem <borut.razem AT siol.net>
3167
3168         * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
3169         support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
3170         * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
3171         device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
3172         support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
3173         src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
3174         src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
3175         src/z80/Makefile.bcc: Borland Makefile cleanup
3176         * as/z80/Makefile.bcc: Added Borland Makefile
3177         * support/cpp2/borland.h: Removed
3178
3179 2003-02-10  Bernhard Held <bernhard AT bernhardheld.de>
3180
3181         * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js AT convergence.de>
3182         * src/SDCC.lex: new pragma NOIV
3183         * src/SDCCglobl.h: new pragma NOIV
3184         * src/SDCCmem.c: new pragma NOIV
3185
3186 2003-02-09  Bernhard Held <bernhard AT bernhardheld.de>
3187
3188         * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
3189
3190 2003-02-09  Bernhard Held <bernhard AT bernhardheld.de>
3191
3192         * src/SDCCmain.c: signal handling is switched off by --debug
3193         * doc/Makefile: small fix for install; use clean.mk again
3194         * doc/clean.mk: clean *.pdf and *.html too
3195
3196 2003-02-08  Bernhard Held <bernhard AT bernhardheld.de>
3197
3198         * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
3199         * device/lib/printfl.c: fix a ds390 bug by making it portable
3200         * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
3201         * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
3202         * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
3203         * debugger/mcs51/cmd.c: converted multi-line string literals
3204         * sim/ucsim/globals.cc: converted multi-line string literals
3205         * src/SDCCmain.c: introduced signal handler to remove temp files
3206         * doc/Makefile: small tweaks, implement clean
3207         * doc: removed generated files
3208
3209 2003-02-05  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3210
3211         * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c:  Applied
3212         patch from Jan Rejlek <jr AT apex-lib.cz> to fix Bug 677692: "Extended
3213         Address Record is not correctly generated for DS390."
3214
3215 2003-02-02  Borut Razem <borut.razem AT siol.net>
3216
3217         * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
3218         * as/mcs51/asm.h: fixed compilation with Borland C
3219         * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
3220         * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
3221         * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
3222         * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
3223         src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
3224         src/z80/Makefile.bcc: delete $(LIB) only if exist
3225         * src/Makefile.bcc, src/pic/Makefile.bcc:  fixed compilation with Borland C
3226
3227 2003-02-02  Bernhard Held <bernhard AT bernhardheld.de>
3228
3229         * device/include/malloc.h: introduced NULL
3230         * device/include/string.h: introduced NULL
3231         * device/include/stdlib.h: introduced NULL
3232         * device/lib/_memcpy.c: removed NULL
3233         * device/lib/_strcat.c: removed NULL
3234         * device/lib/_strchr.c: removed NULL
3235         * device/lib/_strcmp.c: removed NULL
3236         * device/lib/_strcpy.c: removed NULL
3237         * device/lib/_strcspn.c: removed NULL
3238         * device/lib/_strlen.c: removed NULL
3239         * device/lib/_strncat.c: removed NULL
3240         * device/lib/_strncmp.c: removed NULL
3241         * device/lib/_strncpy.c: removed NULL
3242         * device/lib/_strpbrk.c: removed NULL
3243         * device/lib/_strrchr.c: removed NULL
3244         * device/lib/_strspn.c: removed NULL
3245         * device/lib/_strstr.c: removed NULL
3246         * device/lib/_strtok.c: removed NULL
3247         * device/lib/malloc.c: removed NULL, include own header
3248
3249 2003-02-02    <johan AT balder>
3250
3251         * 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
3252         * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
3253         * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
3254         * src/z80/gen.c (genZ80Code): added c-lines in asm comments
3255         * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
3256         * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
3257
3258 2003-02-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3259
3260         * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
3261         area 'DATA'"
3262
3263 2003-02-01    <johan AT balder>
3264
3265         * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
3266
3267 2003-01-31    <johan AT CP255758-A>
3268
3269         * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
3270
3271 2003-01-30    <johan AT balder>
3272
3273         * src/SDCCBBlock.c: automatic bug detection
3274         * src/SDCCicode.c: automatic bug detection
3275
3276 2003-01-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3277
3278         * src/SDCCglobl.h:   now --xram-size 0 works
3279         * src/SDCCmain.c:    now --xram-size 0 works
3280
3281 2003-01-29    <johan AT balder>
3282
3283         * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
3284
3285 2003-01-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3286
3287         * as/mcs51/aslink.h: Added options --xram-size and --code-size 
3288         * as/mcs51/lkdata.c: Added options --xram-size and --code-size 
3289         * as/mcs51/lkmain.c: Added options --xram-size and --code-size 
3290         * as/mcs51/lkmem.c:  Added options --xram-size and --code-size 
3291         * src/SDCCglobl.h:   Added options --xram-size and --code-size 
3292         * src/SDCCmain.c:    Added options --xram-size and --code-size 
3293
3294 2003-01-28  Bernhard Held <bernhard AT bernhardheld.de>
3295
3296         * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
3297         * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
3298
3299 2003-01-27    <johan AT balder>
3300
3301         * src/SDCC.y: fixed bug #613764
3302
3303 2003-01-26    <johan AT balder>
3304
3305         * src/SDCClrange.c:  fixed Bernhard's "char * code ptr = &c"
3306         * src/SDCCsymt.h: fixed bug #673374
3307         * src/SDCCglue.c: fixed bug #661910
3308         * src/SDCCast.c: fixed bug #458099 and 673374
3309
3310 2003-01-26  Bernhard Held <bernhard AT bernhardheld.de>
3311
3312         * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
3313         * as/mcs51/strcmpi.h: added
3314         * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
3315         * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
3316         * as/mcs51/asmain.c: strcmpi -> as_strcmpi
3317         * as/mcs51/assym.c: strcmpi -> as_strcmpi
3318         * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
3319         * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
3320         * as/mcs51/lksym.c: strcmpi -> as_strcmpi
3321         * as/mcs51/Makefile.aslink: new module strcmpi
3322         * as/mcs51/Makefile.asx8051: new module strcmpi
3323         * as/mcs51/Makefil.bcc: new module strcmpi
3324         * as/mcs51/Makefile.in: new module strcmpi
3325         * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
3326
3327 2003-01-26    <johan AT balder>
3328
3329         * src/SDCCglue.c: reverted back to 1.124
3330         * src/SDCCast.c: reverted back to 1.156
3331         * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
3332
3333 2003-01-25    <johan AT balder>
3334
3335         * src/SDCCglue.c: A better fix for bug #661910
3336         * src/SDCCast.c: A better fix for bug #661910
3337         * src/SDCCglue.c (emitRegularMap): That was a little too efficient
3338
3339 2003-01-24  Bernhard Held <bernhard AT bernhardheld.de>
3340
3341         * src/Makefile.in: remove spawn.o
3342         * src/SDCCmain.c: remove spawn.h
3343         * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
3344         * src/spawn.c: removed
3345         * src/spawn.h: removed
3346         * support/regression/ports/ds390/spec.mk: link with -r
3347
3348 2003-01-24    <johan AT CP255758-A>
3349
3350         * src/ds390/gen.c (aopOp): fixed bug #667458
3351         * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
3352         * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
3353         (createIvalCharPtr): an ival doesn't always have a storage class anymore
3354
3355 2003-01-24  Bernhard Held <bernhard AT bernhardheld.de>
3356
3357         * src/mcs51/peeph.def: better assembler identation by Frieder
3358         * src/mcs51/gen.c: better assembler identation by Frieder
3359
3360 2003-01-22  Bernhard Held <bernhard AT bernhardheld.de>
3361
3362         * as/z80/string.h: removed for gcc 3.2
3363         * support/makebin/makebin.c: #include <string.h> for gcc 3.2
3364         * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
3365
3366 2003-01-19  Bernhard Held <bernhard AT bernhardheld.de>
3367
3368         * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
3369         * src/SDCCpeeph.c (replaceRule): fix bug #663503
3370         * support/regression/Makefile: separate temp files for ports
3371         * support/regression/generate-cases.py: separate temp files for ports
3372         * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
3373         * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
3374
3375 2003-01-19  Bernhard Held <bernhard AT bernhardheld.de>
3376
3377         * moved tinitalk to device/examples/ds390
3378
3379 2003-01-14  Bernhard Held <bernhard AT bernhardheld.de>
3380
3381         * as/mcs51/lkmem.c: rflag is for DS390
3382         * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
3383         * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
3384                          (linkEdit): move mem- and map-files the same way as ihx-files
3385         * src/z80/main.c (_setDefaultOptions): removed --generic
3386         * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
3387         * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
3388         * src/pic/glue.c (picglue): --c1mode works again
3389         * src/pic16/glue.c (pic16glue): --c1mode works again
3390         * src/asm.c (printCLine): fix #660034
3391
3392 2003-01-13  Bernhard Held <bernhard AT bernhardheld.de>
3393
3394         * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>, 1 by Frieder
3395         * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
3396         * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
3397         * as/mcs51/lkmem (summary): better fix for sp problem
3398         * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
3399         * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
3400         * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
3401                                               remove --stack-after-data
3402
3403 2003-01-12  Bernhard Held <bernhard AT bernhardheld.de>
3404
3405         * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
3406         * src/SDCCutil.c (join): ugly bug: missing '\0'
3407         * as/mcs51/lkmem.c (summary): sp on address 7 is safe
3408
3409 2003-01-11  Bernhard Held <bernhard AT bernhardheld.de>
3410
3411         * src/SDCCmain.c (assemble, linkEdit): preparations for -o
3412         * src/port.h: typo
3413         * src/pic/main.c (_asmCmd): gpasm supports -o
3414         * src/z80/main.c: more general macros
3415         * device/lib/Makefile.in: remove intermediate files
3416
3417 2003-01-11  Bernhard Held <bernhard AT bernhardheld.de>
3418
3419         * .version: Bumped version number to 2.3.3
3420         * src/SDCCBBlock.c: new option -o
3421         * src/SDCCglobl.h: new option -o
3422         * src/SDCCglue.c: new option -o
3423         * src/SDCCmain.c: new option -o
3424         * src/asm.c: new option -o
3425         * src/ds390/main.c: new option -o
3426         * src/pic/glue.c: new option -o
3427         * src/pic/pcode.c: new option -o
3428         * src/pic/ralloc.c: new option -o
3429         * src/pic16/glue.c: new option -o
3430         * src/pic16/pcode.c: new option -o
3431         * src/pic16/ralloc.c: new option -o
3432         * src/z80/main.c: new option -o
3433         * device/lib/Makefile.in: use -o
3434         * support/regression/ports/ds390/spec.mk: use -o
3435         * support/regression/ports/gbz80/spec.mk: use -o
3436         * support/regression/ports/mcs51/spec.mk: use -o
3437         * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
3438         * support/regression/ports/z80/spec.mk: use -o
3439         * support/regression/ports/ucz80/spec.mk: use -o
3440         * support/regression/ports/xa51/spec.mk: use -o
3441         * support/regression/fwk/lib/timeout.c: fix usage string
3442
3443 2003-01-09  Bernhard Held <bernhard AT bernhardheld.de>
3444         * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>
3445         
3446 2003-01-07    <johan AT balder>
3447
3448         * src/SDCCast.c (decorateType): fixed bug #600035
3449
3450 2003-01-07  Bernhard Held <bernhard AT bernhardheld.de>
3451         * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
3452         * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
3453         * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
3454         * src/pic/pcode.c: outcommented unused variable to remove warnings
3455         * src/pic/ralloc.c: outcommented unused variable to remove warnings
3456
3457 2003-01-06    <karl AT turbobit.com>
3458         * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
3459    regression tests.
3460
3461 2003-01-06    <johan AT balder>
3462
3463         * src/SDCCicode.c: fixed array add
3464
3465 2002-01-05  Bernhard Held <bernhard AT bernhardheld.de>
3466         * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
3467         * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
3468
3469 2003-01-04    <johan AT balder>
3470
3471         * src/SDCCval.c (getNelements): fixed the initialized array of structures
3472
3473 2002-12-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3474         * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
3475
3476 2002-12-28  Bernhard Held <bernhard AT bernhardheld.de>
3477         * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann AT web.de>
3478         * support/regression/tests/bug-524697.c: fit mem usage into 8032
3479
3480 2002-12-28  Bernhard Held <bernhard AT bernhardheld.de>
3481         * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
3482
3483 2002-12-27  Bernhard Held <bernhard AT bernhardheld.de>
3484         * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
3485
3486 2002-12-26  Bernhard Held <bernhard AT bernhardheld.de>
3487         * src/mcs51/main.c: removed {bindir}{sep} from aslink
3488
3489 2002-12-10  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3490
3491     * in \sdcc\as\mcs51\ changed these files in order to create an
3492     aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
3493     lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the 
3494     following files to include the previous two files: aslink.dsp,
3495     Makefile.aslink, Makefile.bcc, and Makefile.in.
3496
3497     * Changed \sdcc\src\SDCCmain.c so it creates files with extension
3498     .adb instead of .cdb
3499     
3500 2002-11-09  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3501
3502         * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
3503         value from option --iram-size.
3504
3505 2002-09-20  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3506
3507         * \sdcc\as\mcs51\lklist.c: added boundary check before using
3508         dram[] array.
3509
3510 2002-09-18    <wiml AT hhhh.org>
3511
3512         * SDCClrange.h: exposed setFromRange() and setToRange()
3513         * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
3514           packRegsForAccUse() (bug 542397)
3515         * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
3516           multiple times and emitting the fetch operations more than once
3517           added aopGetUsesAcc() function to allow binary operators to
3518           fetch their operands in the correct order; made genMinus() emit
3519           compact code for X = LITERAL - Y 
3520
3521 2002-09-00  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3522         * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
3523         sprintf() in line 1267.
3524
3525 2002-09-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3526         * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
3527         like ports.
3528
3529 2002-09-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3530         Changes to aslink (All the changes are marked with 'JCF'):
3531
3532         * \sdcc\as\mcs51\aslink.h: External definition of sflag and
3533         summary().
3534
3535         * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
3536         area BSEG.  Also moves, if possible, the DATA area down into the internal
3537         ram so more space is available.
3538
3539         * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
3540         sflag.
3541
3542         * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
3543         not bytes.  Function summary() which creates a memory usage summary
3544         file with extension .mem.  Reports of overlaping stack and small stack
3545         size.  If the space for the stack is less than 16 bytes aslink trows a
3546         warning.
3547         
3548         * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
3549         the 8051.  Option 'y' for memory summary output file.
3550
3551         Changes to sdcc (All the changes are marked with 'JCF'):
3552
3553         * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
3554
3555         * \sdcc\src\SDCCglue.c:  If a register bank is used, creates an
3556         overlaying area for it (uses RegBankUsed[4]).
3557
3558         * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
3559         bank zero as used by default.  By default aslink locates the stack
3560         (equivalent to --stack-after-data).  Pass option 'y' to aslink for
3561         the creation of the .mem file.  Delegates the allocation of data area
3562         to aslink (it is not longer 0x30 by default).  If --stack-loc passes
3563         the begining of the stack area to aslink.
3564
3565         * \sdcc\src\SDCCmem.c:  If a register bank is used, marks it so
3566         glue() in SDCCglue.c creates an area for it.
3567         
3568 2002-09-03  Borut Razem <borut.razem AT siol.net>
3569         * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
3570         sdcc/src/pic/glue.c:
3571         introduced atexit() handler for teporay files removal in case of
3572         errors, assertions, ...
3573
3574 2002-08-29  Borut Razem <borut.razem AT siol.net>
3575         * sdcc/support/cpp2/auto-host_vc_in.h:
3576         re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
3577         with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
3578         Maybe there is a similar problem with BORLANDC? It should be checked!
3579
3580         * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
3581         corrected improper use of assert: the assignment to clr variable was done inside the assert.
3582         In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
3583         was not executed, and the compiler (cl) launched a warning:
3584         ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
3585
3586 2002-08-28  Bernhard Held <bernhard AT bernhardheld.de>
3587         * src/SDCCglue.c (printIvalArray): iterative calculation of array length
3588
3589 2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem AT siol.net>
3590         * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
3591
3592         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
3593           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
3594           sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
3595           sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
3596           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
3597           sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
3598           sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
3599         - added Release configuration in VS projects
3600         - review of compiler an linker options
3601         - VC .exe files are generated in bin_vc directory, not to interfere
3602           with binaries generated from other projects (cygwin, mingw, bcc ...)
3603
3604         * sdcc/src/yacc.dsp: added
3605
3606         * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
3607         added - genarate sdcc_vc.h using sdcc_vc_in.h as template
3608         and insert the version number definitions from .version 
3609
3610         * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
3611
3612         * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
3613         added - genarate auto-host.h using auto-host_vc_in.h as template
3614
3615         * sdcc/sdcc_vc.h,
3616         removed from CVS, generated automatically
3617
3618 2002-08-25  Bernhard Held <bernhard AT bernhardheld.de>
3619         * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
3620
3621 2002-08-11  Borut Razem <borut.razem AT siol.net>
3622         * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
3623
3624 2002-08-10  Borut Razem <borut.razem AT siol.net>
3625         * src/SDCCmain.c (main):
3626         file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
3627         platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
3628         The consequence was that some temporary files were not removed.
3629
3630         * src/SDCCglue.c:
3631         unification of code in functions tempfilename() and tempfile():
3632         function tempnam() is defined in Visual Studio 6.0 and .NET
3633
3634         * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
3635
3636         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
3637           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
3638         - removed compiler command line option /WX: Treats all warnings as errors
3639         - update a list of source files, included into the project
3640
3641         * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
3642           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
3643         changed project type to Generic Project so that can be correcly converted to VS.NET project
3644
3645         * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
3646
3647         * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
3648
3649         * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
3650
3651         * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
3652         added return 0 statements after assert() to make compiler happy
3653
3654         * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
3655         added newline in the def file to keep MSC compiler satisfied
3656
3657         * sdcc/src/z80/gen.c:
3658         - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
3659           so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
3660         - solved MSC error in function aopDump()
3661
3662         * sdcc_vc.h: define PREFIX as "\\sdcc"
3663
3664 2002-07-18  Bernhard Held <bernhard AT bernhardheld.de>
3665         * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
3666
3667 2002-06-22  Scott Dattalo <scott AT dattalo.com>
3668         * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced. 
3669         - Rewrote the register banking algorithm. 
3670         - Added pCode live-range analysis to registers (for now, only non-used and 
3671         singly-used registers optimized away)
3672
3673         * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
3674
3675         * 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.
3676         
3677 2002-05-10  Scott Dattalo <scott AT dattalo.com>
3678         * src/pic/*: Added support for multiplication. Fixed many,many bugs.
3679         
3680 2002-04-22  Michael Hope  <michaelh AT vroom>
3681
3682         * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
3683
3684         * configure.in (DD_COPT): Added include support required for gbdk.
3685
3686         * .version: Bumped version number just to increase it.
3687
3688         * src/SDCCmain.c: Added -nostdinc to the default options.
3689
3690 2002-04-15  Michael Hope  <michaelh AT vroom>
3691
3692         * device/lib/z80/printf.c (sprintf): Added.
3693
3694         * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
3695
3696         * src/z80/peeph.def: Added transpose redundent load rule.
3697
3698         * src/z80/main.c: Added force callee saves for jaune.
3699
3700         * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
3701
3702         * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
3703
3704 2002-03-28  Johan Knol  <johan AT balder>
3705
3706         * src/SDCCval.c: fixed bug #532436
3707
3708 2002-03-14  Scott Dattalo <scott AT dattalo.com>
3709         * /src/port.h:
3710         Added "char *Processor" field to the port structure.
3711
3712         * /src/SDCCmain.c:
3713         Added -p option. Allows port dependent processor to be specified.
3714
3715         * all ports:
3716         Initialized the new field char *Processor field to NULL in all ports
3717
3718         * /src/pic/*:
3719         Compiler generated registers for interrupt context saving
3720         were not getting allocated.
3721                 
3722 2002-03-16  Sandeep Dutta  <sandeep AT ddi.com>
3723
3724         * /src/SDCCast.c:
3725         Fixed left shift. Will promote the left side of a left shift
3726         if a) left shifting more than size of operand or b) when assigned
3727         to something size > size of left side
3728
3729 2002-03-14  Scott Dattalo <scott AT dattalo.com>
3730         * src/pic/*
3731         tons of changes. Register allocation has been 
3732         rewritten. Added customization for the various PICs. Flow
3733         analysis is restructured. ...
3734
3735         * src/pic/device.h:
3736         Added
3737
3738         * src/pic/device.c:
3739         Added. device.c is a PIC port hack to accomodate variations
3740         in PIC devices.
3741
3742 2002-03-13  Michael Hope  <michaelh AT vroom>
3743
3744         * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
3745
3746 2002-03-04  johanknol  <johanknol AT manik>
3747
3748         * /src/SDCCval.c: fixed
3749
3750         const unsigned char arr[][2] = { { 0, 1 } };
3751         t18.c:1: error: Initializer element is not constant
3752
3753 2002-03-04  bela  <bela AT manik>
3754
3755         * /device/include/mcs51reg.h:
3756         ds89c420 register definition update
3757
3758 2002-03-03    <johan AT FRIJA>
3759
3760         * support/Util/SDCCerr.c: did something, but don't no why anymore
3761
3762         * support/regression/tests/bug-524691.c: made it a little less shy 
3763
3764         * src/SDCCast.c (decorateType): fixed bug #524697
3765
3766         * src/SDCCast.c: made some lineno improvements
3767
3768         * src/SDCCval.c (getNelements): changed warning to error
3769
3770         * src/SDCCglue.c (printIvalArray): changed warning to error
3771
3772         * src/SDCCicode.c: fixed a warning for mingw
3773
3774         * src/SDCCast.c (decorateType): fixed the << promotion for ops
3775
3776         * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
3777
3778 2002-03-02  Sandeep Dutta  <sandeep AT ddi.com>
3779
3780         * src/ds390/peeph.def:
3781         Added some more peephole rules
3782
3783         * src/ds390/gen.c: Various fixes & enhancements
3784
3785         * src/SDCClrange.c, src/SDCClrange.h:
3786         functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
3787
3788         * src/ds390/ralloc.c:
3789         various fixes & enhancements (ds390) specific
3790
3791         * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
3792         Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
3793         from rallocs.
3794
3795         * sdcc/src/SDCCcse.c: Better fix for bug # 514308
3796
3797 2002-03-02    <johan AT FRIJA>
3798
3799         * src/SDCCast.c (decorateType): fixed bug #524708
3800
3801         * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
3802
3803         * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
3804
3805 2002-03-01  Michael Hope  <michaelh AT vroom>
3806
3807         * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
3808
3809         * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
3810
3811 2002-03-01    <johan AT FRIJA>
3812
3813         * src/SDCCglue.c (printIvalPtr): fixed bug #524211
3814
3815         * src/SDCCast.c (decorateType): fixed bug #524209
3816
3817         * src/SDCCval.c (valNot): fixed bug #524195
3818
3819 2002-02-26    <johan AT balder>
3820
3821         * src/xa51/gen.c: fixed a warning
3822
3823         * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
3824
3825         * src/SDCCast.c (decorateType): fixed bug #522534
3826
3827 2002-02-23    <johan AT balder>
3828
3829         * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
3830
3831 2002-02-22    <johan AT balder>
3832
3833         * src/SDCCast.c: fixed bug #514865
3834
3835         * src/SDCCy.c ("SDCC.y"): fixed bug #516625
3836
3837 2002-02-21  Sandeep Dutta  <sandeep AT ddi.com>
3838
3839         * sdcc/src/SDCCloop.c:
3840         Previous fix was not good. basic blocks that have "break" or "return" are
3841         not really partof a loop , but live ranges used in these blocks should
3842         be live thru the entire loop, so set partOfLoop but don't add them to
3843         loop region
3844
3845 2002-02-21    <johan AT FRIJA>
3846
3847         * src/SDCCcse.c: fixed bug #514308
3848
3849 2002-02-20  Sandeep Dutta  <sandeep AT ddi.com>
3850
3851         * src/SDCCloop.c:
3852         Fixed BUG #519583. If a conditional block ended in a return/break
3853         statement inside a loop, it was not being considered part of the loop.
3854
3855         * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
3856
3857 2002-02-10  Karl Bongers <karl AT turbobit.com>
3858
3859         * debugger/*:
3860         Fixed up SDCDB debugger somewhat.  Updated debugger/README
3861         with lots of comments and notes.
3862
3863         * device/examples/test2.c:
3864         Fix bug, "red" variable not being initialized(compiler complained).
3865
3866         * device/examples/Makefile, examples/test3.c:
3867         Add Makefile in device/examples folder, compiles test3.c
3868         for use as a multiple module SDCDB test case.
3869
3870         * sim/ucsim/cmd.src/cmdset.cc:
3871         Took out debug printfs in ucsim "next" command.
3872
3873         * sim/ucsim/xa.src:
3874         Karl and Johan start ucsim XA support.  Most dissassembly working,
3875         about 75% emulation done(plenty of work remaining).
3876
3877         * sim/ucsim/z80.src:
3878         Add Z80 support to ucsim, add test-ucz80 regression test,
3879         notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
3880         Notice z80 compiler fails on examples/test3.c/crc code.
3881
3882 2002-01-30  Sandeep Dutta  <sandeep AT ddi.com>
3883
3884         * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
3885         Added support for --parms-in-bank1
3886
3887         * src/ds390/peeph.def:
3888         added a few more peephole optimzations
3889
3890         * src/ds390/main.c:
3891         1) added __builtin_inp & __builtin_outp used to read in data of given length
3892            from a memory mapped port
3893         2) added __builtin_memcmp
3894         3) added __builtin_swapw swap bytes of a short
3895
3896         * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
3897         1) handle multiple send & receives from register bank1
3898         2) ralloc can now allocate DPTR1 to some liveRanges
3899
3900         * src/SDCCsymt.c, src/SDCCsymt.h:
3901         changes to handle multiple sends & receives
3902
3903         * src/SDCCptropt.h:
3904         added some pointer arithmetic optimization
3905
3906         * src/SDCCptropt.c:
3907         added some pointer arithmetic optimizations but not stable yet so not
3908         called from anywhere (will get this working shortly)
3909
3910         * src/SDCCopt.c: fixed for multiple sends & receives
3911
3912         * src/SDCCmain.c:
3913         1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
3914         2) preprocessing done AFTER port->finalizeoptions . This allows ports to
3915            set preprocessor defines (depending on options)
3916
3917         * src/SDCCicode.c, src/SDCCicode.h:
3918         changes made to handle multiple sends & receives
3919
3920         * src/SDCCglobl.h:
3921         Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
3922
3923         * src/SDCCcse.c, src/SDCCcse.h:
3924         added function findbackward def (to be used in upcoming optimization)
3925
3926         * src/SDCCcflow.c, src/SDCCcflow.h:
3927         added function returnAtEnd - to determine if a basic block terminates with
3928         a RETURN iCode
3929
3930         * src/SDCCast.c, src/SDCCast.h:
3931         added option parms-in-bank1
3932
3933         * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c 
3934         * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c 
3935         * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
3936         adjusted for --parms-in-bank1 option
3937
3938         * device/include/string.h:
3939         donot redefine "reentrant" keyword
3940
3941         * device/include/ds80c390.h: Added some more SFRs
3942
3943 2002-01-28  Bernhard Held  <bernhard AT bernhardheld.de>
3944
3945         * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 
3946
3947 2002-01-26  Bernhard Held  <bernhard AT bernhardheld.de>
3948
3949         * src/SDCCast.c (funcOfType): fix usage of double --float-reent
3950
3951 2002-01-22  Bernhard Held  <bernhard AT bernhardheld.de>
3952
3953         * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
3954
3955 2002-01-18  Paul Stoffregen  <paul AT pjrc.com>
3956
3957         * Added --xram-movc option
3958
3959 2002-01-13  Bernhard Held  <bernhard AT bernhardheld.de>
3960
3961         * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
3962
3963 2002-01-11  Johan Knol
3964
3965         * Added math lib of Jesus Calvino-Fraga
3966
3967 2002-01-08  Bernhard Held  <bernhard AT bernhardheld.de>
3968
3969         * src/SDCCmain.c (processFile): fix processing of ../../src.c
3970         * support/regression/Makefile: new target test-mcs51-stack-auto
3971         * support/regression/ports/mcs51-stack-auto/spec.mk: added
3972
3973 2002-01-04  Bernhard Held  <bernhard AT bernhardheld.de>
3974
3975         * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
3976
3977 2002-01-04  Bernhard Held  <bernhard AT bernhardheld.de>
3978
3979         * support/regression/ports/mcs51/support.c: correct setup of timer / UART
3980
3981 2002-01-03  Bernhard Held  <bernhard AT bernhardheld.de>
3982
3983         * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
3984
3985         * src/SDCCglue.h: add definition for printIvalChar()
3986
3987 2002-01-02  Bernhard Held  <bernhard AT bernhardheld.de>
3988
3989         * src/SDCCast.c: fix #498138 by Johan
3990
3991         * src/SDCCglue.c: fix #498138 by Johan
3992
3993 2002-01-02  Bernhard Held  <bernhard AT bernhardheld.de>
3994
3995         * support/regression/Makefile: fix clean
3996
3997         * support/regression/ports/ds390/support.c: fix transmission of last character
3998
3999 2001-12-29  Sandeep Dutta  <sandeep AT ddi.com>
4000
4001         * /sdcc/src/ds390/gen.c:
4002         a) improved computing address of stack variable
4003         b) took out some #if 0 code
4004         c) improved parmBytes adjustment
4005         d) improved genPlusIncr & genMinusIncr
4006         e) genCmp could generate bad code (when left assigned to DPTR)
4007         f) Fixed bug in hasInc
4008
4009         * /sdcc/src/ds390/ralloc.c:
4010         a) packRegsForSupport could mess up live information (Fixed)
4011         b) packRegsDPTRuse could be incorrect for left & right shift
4012
4013         * /sdcc/src/mcs51/ralloc.c:
4014         packRegsForSupport could mess up the live information (Fixed)
4015
4016         * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
4017
4018         * /sdcc/src/SDCCast.c:
4019         can reverse a loop even if function call is present as long
4020         as the loop control variable is local & is not passed as parameter
4021
4022 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
4023
4024         * /sdcc/ChangeLog: *** empty log message ***
4025
4026         * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
4027         More builtin function additions for TININative
4028
4029         * /sdcc/src/ds390/ralloc.c:
4030         Had broken the regression testsuite
4031
4032         * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
4033
4034         * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
4035         Added funcattr hasStackParms will be set for reentrant functions when there
4036         are paramteres on the stack, this helps in minimizing frame pointer generation
4037         typeFromStr can handle function pointers now
4038
4039         * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
4040         *** empty log message ***
4041
4042 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
4043
4044         * /src/ds390/gen.c, /src/ds390/main.c:
4045         More builtin function additions for TININative
4046
4047         * /src/ds390/ralloc.c:
4048         Had broken the regression testsuite
4049
4050         * /src/SDCCast.c: Fixed a bug in dumptree
4051
4052         * /src/SDCCsymt.c, /src/SDCCsymt.h:
4053         Added funcattr hasStackParms will be set for reentrant functions when there
4054         are paramteres on the stack, this helps in minimizing frame pointer generation
4055         typeFromStr can handle function pointers now
4056
4057         * /doc/builtins.txt, /doc/TININative.txt:
4058         *** empty log message ***
4059
4060
4061 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
4062
4063         * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
4064         ALPHA version for -mTININative
4065
4066         * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
4067         updated to reflect changes in the port structure
4068
4069         * /src/port.h:
4070         added function do_assemble (similar to do_link) if non-null this function
4071         will be called to do assembly (-mTININative) requires a multi command
4072         assembly
4073         added function genAssemblerEnd will be called to generate assembler Epilogue
4074
4075         * /src/SDCCsymt.c:
4076         added _JavaNative to debug info printing
4077
4078         * /src/SDCCmain.c: added option --tini-libid
4079         added port->do_assemble function (-mTININative) has a multi command assemble
4080
4081         * /src/SDCCglue.c: Disabled "constExpr" check
4082         added port->genAssemblerEnd function
4083
4084         * /src/SDCCglobl.h: Added option --tini-libid value
4085
4086         * /src/SDCCast.h:
4087         tookout optimizeCompare from the header (has no external references)
4088
4089         * /src/SDCCast.c: made one more function "static"
4090
4091 2001-12-23  Michael Hope  <michaelh AT juju.net.nz>
4092
4093         * src/z80/mappings.i: Added z80asm support.
4094
4095         * src/z80/main.c: Added z80asm support on --asm=z80asm
4096
4097         * src/z80/gen.c: Fixed asm portability issues.
4098
4099         * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
4100
4101         * src/SDCCglue.c (printExterns): Added global/extern split.
4102
4103 2001-12-17  Bernhard Held  <bernhard AT bernhardheld.de>
4104
4105         * support/regression/Makefile: added test for mcs51 model large
4106
4107         * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
4108
4109         * support/regression/ports/gbz80/spec.mk: added -mgbz80
4110
4111 2001-12-05  Michael Hope  <michaelh AT juju.net.nz>
4112
4113         * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
4114
4115 1904-01-06  Michael Hope  <michaelh AT juju.net.nz>
4116
4117         * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
4118
4119         * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
4120
4121 2001-12-02  Bernhard Held  <bernhard AT bernhardheld.de>
4122
4123         * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
4124
4125         * support/regression/tests/simplefloat.c: Port to mcs51.
4126
4127 2001-11-25  Michael Hope  <michaelh AT juju.net.nz>
4128         * support/regression/tests/bug-485362.c: Added.
4129
4130         * support/regression/tests/simplefloat.c (testDivNearOne): Added.
4131
4132         * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
4133
4134         * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
4135
4136         * src/z80/gen.c (aopDump): Added a dump function.
4137
4138 2001-11-25  Bernhard Held  <bernhard AT bernhardheld.de>
4139         * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
4140
4141         * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
4142
4143         * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
4144
4145         * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
4146
4147         * sim/ucsim/s51.src/uc390cl.h: Work in progress.
4148
4149         * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
4150
4151         * support/regression/fwk/lib/testfwk.c: Run with tinibios.
4152
4153         * support/regression/ports/mcs51/spec.mk: Fine tuninig.
4154
4155         * support/regression/ports/ds390/support.c: Use tinibios.
4156
4157         * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
4158
4159 2001-11-23  Michael Hope  <michaelh AT juju.net.nz>support/regression/tests/bug-460010.c
4160
4161         * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
4162         (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
4163
4164         * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
4165
4166         * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
4167
4168 2001-11-18  Michael Hope  <michaelh AT juju.net.nz>
4169
4170         * src/z80/gen.c (genCmp): Fixed compare on unsigned.
4171
4172         * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
4173         (packRegsForIYUse): Created and optimised.
4174
4175 2001-11-07  Michael Hope  <michaelh AT juju.net.nz>
4176
4177         * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
4178 2001-11-18  Bernhard Held  <bernhard AT bernhardheld.de>
4179
4180         * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
4181
4182         * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
4183
4184         * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
4185
4186 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
4187
4188         * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
4189
4190         * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
4191
4192 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
4193
4194         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
4195
4196         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
4197
4198         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
4199
4200 2001-11-07  Michael Hope  <michaelh AT juju.net.nz>
4201
4202         * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
4203         (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
4204         (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
4205
4206         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
4207
4208         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
4209         (genNotFloat): Added.
4210         (genUminusFloat): Added.
4211
4212         * device/lib/z80/Makefile: Added floating pt stubs.
4213
4214         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
4215
4216         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
4217
4218         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
4219
4220 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
4221
4222         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
4223
4224         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
4225
4226         * sdcc/support/regression/Makefile: Add port ds390.
4227
4228         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
4229
4230         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
4231
4232         * sdcc/support/regression/ports/ds390/spec.mk: Added.
4233
4234         * sdcc/support/regression/ports/ds390/support.c: Added.
4235
4236         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
4237
4238         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
4239
4240         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
4241
4242 2001-11-04  Michael Hope  <michaelh AT juju.net.nz>
4243
4244         * device/include/malloc.h: Added z80 and gbz80 support.
4245
4246         * device/lib/gbz80/heap.s: Added.
4247
4248         * device/lib/z80/heap.s: Added.
4249
4250         * device/lib/malloc.c: Added z80 and gbz80 support.
4251
4252         * support/regression/tests/malloc.c (testMalloc): Added.
4253
4254         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
4255
4256         * support/regression/tests/bug-478094.c: Added.
4257
4258         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
4259
4260 2001-11-04  Bernhard Held  <bernhard AT bernhardheld.de>
4261
4262         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
4263
4264         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
4265
4266         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
4267
4268         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
4269
4270         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
4271
4272 2001-11-04  Michael Hope  <michaelh AT juju.net.nz>
4273
4274         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
4275
4276 2001-11-03  Michael Hope  <michaelh AT juju.net.nz>
4277
4278         * support/regression/tests/bug-477927.c: Added.
4279
4280         * src/z80/peeph.def: Added minor rules.
4281
4282         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
4283
4284         * src/z80/peeph.def: Added jump optimisation modification.
4285
4286 2001-11-01  Michael Hope  <michaelh AT juju.net.nz>
4287
4288         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
4289
4290 2001-10-30  Michael Hope  <michaelh AT juju.net.nz>
4291
4292         * support/regression/tests/funptrs.c: Added.
4293
4294 2001-10-29  Michael Hope  <michaelh AT juju.net.nz>
4295
4296         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
4297
4298 2001-10-28  Michael Hope  <michaelh AT juju.net.nz>
4299
4300         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
4301
4302         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
4303
4304         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
4305         (movLeft2ResultLong): Created.
4306
4307         * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
4308         (joinPushes): Added.  Joins two char pushes into a word push.
4309
4310 2001-10-27  Michael Hope  <michaelh AT juju.net.nz>
4311
4312         * support/cpp2/Makefile.in (install): Added creation of dest dir.
4313
4314         * support/makebin/Makefile (install): Added creation of dest dir.
4315
4316 2001-10-24 Karl Bongers <karl AT turbobit.com>
4317
4318         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
4319
4320 2001-10-21  Michael Hope  <michaelh AT juju.net.nz>
4321
4322         * src/z80/ralloc.c: Turned off faulty pack for one use.
4323
4324         * src/z80/peeph-gbz80.def: Removed redundent restart options.
4325
4326         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
4327
4328 2001-10-21  Bernhard Held  <bernhard AT bernhardheld.de>
4329
4330         * support/regression/Makefile: Improved clean
4331
4332         * support/regression/ports/gbz80/spec.mk: Added clean
4333
4334         * support/regression/ports/host/spec.mk: Added clean
4335
4336         * support/regression/ports/z80/spec.mk: Added clean
4337
4338         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
4339
4340         * support/regression/ports/mcs51/timeout.c: little improvements
4341
4342 2001-10-17  Michael Hope  <michaelh AT juju.net.nz>
4343
4344         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
4345
4346         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
4347
4348         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
4349
4350 2001-10-16  Bernhard Held  <bernhard AT bernhardheld.de>
4351
4352         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
4353
4354         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
4355
4356 2001-10-13  Michael Hope  <michaelh AT juju.net.nz>
4357         * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
4358
4359         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
4360
4361         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
4362
4363         * src/mcs51/main.c (_linkCmd): Added bin path to command.
4364
4365         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
4366
4367         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
4368
4369         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
4370
4371         * support/regression/tests/longor.c: Added.
4372
4373 2001-10-11  Bernhard Held  <bernhard AT bernhardheld.de>
4374
4375         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
4376
4377         * as/mcs51/aslink.h: define PATH_MAX
4378
4379         * as/mcs51/asm.h: define PATH_MAX
4380
4381         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
4382
4383         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
4384
4385         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
4386
4387         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
4388
4389         * src/SDCCglobl.h: define PATH_MAX
4390
4391         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
4392
4393         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
4394
4395 2001-10-11  Michael Hope  <michaelh AT juju.net.nz>
4396
4397         * src/z80/gen.c (gencjneshort): Fixed
4398
4399         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
4400
4401 2001-10-09  Michael Hope  <michaelh AT juju.net.nz>
4402
4403         * support/regression/tests/bug-469671.c: Added.
4404
4405         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
4406
4407 2001-10-08  Michael Hope  <michaelh AT juju.net.nz>
4408
4409         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
4410
4411         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
4412
4413 2001-10-08  Bernhar Held  <bernhard AT bernhardheld.de>
4414
4415         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
4416
4417         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
4418
4419         * src/device/lib/_mullong.c : removed hint: nooverlay bug
4420
4421         * src/device/lib/_divuint.c : removed hint: nooverlay bug
4422
4423         * src/device/lib/_divulong.c: removed hint: nooverlay bug
4424
4425         * src/device/lib/_moduint.c : removed hint: nooverlay bug
4426
4427         * src/device/lib/_modulong.c: removed hint: nooverlay bug
4428
4429 2001-10-07  Michael Hope  <michaelh AT juju.net.nz>
4430
4431         * 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.
4432
4433         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
4434
4435         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
4436
4437 2001-10-07    <johan AT FRIJA>
4438
4439         * device/lib/gets.c (gets): fixed the return value.
4440
4441 2001-10-06  Michael Hope  <michaelh AT juju.net.nz>
4442         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
4443
4444         * 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.
4445
4446         * 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.
4447
4448         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
4449
4450         * src/pic/gen.c: Removed Safe_strdup.
4451
4452         * configure.in: Added option to enable libgc support.
4453
4454         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
4455         (bitVectUnion): Optimised.
4456         (bitVectIntersect): Optimised.
4457         (bitVectBitsInCommon): Optimised.
4458         (bitVectCplAnd): Optimised.
4459
4460         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
4461
4462 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
4463
4464         * src/SDCCmain.c: distinguish between assembler debug and plain options
4465
4466         * src/avr/main.c:   remove standard assembler options
4467
4468         * src/ds390/main.c: remove standard assembler options
4469
4470         * src/mcs51/main.c: remove standard assembler options
4471
4472         * src/port.h: removed "PENDING" comment
4473
4474 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
4475
4476         * src/device/lib/_mulint.c  : new, with assember functions
4477
4478         * src/device/lib/_mullong.c : new, with assember functions
4479
4480         * src/device/lib/_divuint.c : with assember functions
4481
4482         * src/device/lib/_divsint.c : with assember functions
4483
4484         * src/device/lib/_divulong.c: with assember functions
4485
4486         * src/device/lib/_divslong.c: with assember functions
4487
4488         * src/device/lib/_moduint.c : with assember functions
4489
4490         * src/device/lib/_modsint.c : with assember functions
4491
4492         * src/device/lib/_modulong.c: with assember functions
4493
4494         * src/device/lib/_modslong.c: with assember functions
4495
4496         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
4497
4498         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
4499
4500         * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
4501                                       replaced _mululong.c and _mulslong.c by _mullong.c
4502
4503 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
4504
4505         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
4506
4507 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
4508
4509         * src/SDCCglue.c: test, if win32api is available for MINGW
4510
4511 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
4512
4513         * src/SDCCsymt.c: no more _modifier in printTypeChain()
4514         * support/regression/tests/driverstruct.c: REENTRANT for mcs51
4515         * support/regression/ports/gbz80/spec.mk: removed GENERIC
4516         * support/regression/ports/host/spec.mk: removed GENERIC
4517         * support/regression/ports/mcs51/spec.mk: removed GENERIC
4518         * support/regression/ports/z80/spec.mk: removed GENERIC
4519
4520 2001-10-01  Michael Hope  <michaelh AT juju.net.nz>
4521
4522         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
4523
4524         * support/regression/tests/bug-467035.c: Created.
4525
4526 2001-10-01    <johan AT FRIJA>
4527
4528         * src/SDCC.y: fixed bug #466586 part 1
4529
4530 2001-10-01  Johan Knol <johan.knol AT iduna.nl>
4531
4532         * SDCCicode.c: z80 has no generic pointers
4533         * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
4534         
4535 2001-09-30  Michael Hope  <michaelh AT juju.net.nz>
4536
4537         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
4538
4539 2001-09-29  Michael Hope  <michaelh AT juju.net.nz>
4540
4541         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
4542
4543         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
4544
4545 2001-09-25  Michael Hope  <michaelh AT juju.net.nz>
4546
4547         * configure.in: Fixed up so that ucsim is only configured once.
4548
4549         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
4550
4551         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
4552         (getPathDifference): As above.
4553
4554         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
4555
4556         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
4557
4558 2001-09-23  Michael Hope  <michaelh AT juju.net.nz>
4559         * .version: Updated to 2.3.1
4560
4561         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
4562         Added copyright header.
4563
4564         * src/SDCCmain.c: Shifted various functions into SDCCutil.c
4565         (assemble): Added support for macro based assembler commands.
4566         (linkEdit): Added support for macro based linker commands.
4567         (preProcess): Changed the pre-processor to use macros.
4568         (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
4569         (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
4570
4571         * device/lib/z80/crt0.s: Added module name for debugging.
4572
4573 2001-09-20  Michael Hope  <michaelh AT juju.net.nz>
4574
4575         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
4576
4577         * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
4578
4579         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
4580
4581         * src/Makefile.in: Added SDCCmacro and SDCCutil
4582
4583 2001-09-19  Michael Hope  <michaelh AT juju.net.nz>
4584
4585         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
4586
4587 2001-09-16    <johan AT FRIJA>
4588
4589         * 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.
4590
4591 2001-09-15    <johan AT FRIJA>
4592
4593         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
4594         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
4595
4596 2001-09-11    <johan AT FRIJA>
4597
4598         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
4599
4600 2001-09-10  Michael Hope  <michaelh AT juju.net.nz>
4601
4602         * support/regression/tests/bug-460444.c: Added test case.
4603
4604         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
4605         (genCast): Added justification for all of the asserts.
4606
4607 2001-09-10  Bernhard Held <bernhard AT bernhardheld.de>
4608
4609         * support/regression/support.c: _xdata replaced by xdata
4610
4611         * support/regression/spec.mk: removed _generic
4612
4613 2001-09-09  Michael Hope  <michaelh AT juju.net.nz>
4614
4615         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
4616
4617         * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
4618         (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
4619
4620         * src/z80/peeph.def: Added a rule to optimise shift then compare.
4621
4622         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
4623
4624         * support/regression/tests/bug-460010.c: Added test case.
4625
4626         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
4627
4628 2001-09-09  Bernhard Held <bernhard AT bernhardheld.de>
4629
4630         * support/regression/Makefile: inter-port-clean adjusted for mcs51
4631
4632         * support/regression/testfwk.c: removed workaround for bug #436344
4633
4634         * support/regression/tests/bp.c: use less memory with mcs51
4635
4636         * support/regression/tests/bug-441448.c: use less memory
4637
4638         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
4639
4640         * support/regression/collate-results.py: typo
4641
4642 2001-09-08  Michael Hope  <michaelh AT juju.net.nz>
4643
4644         * support/regression/tests/fetchoverlap.c: Added new test case.
4645
4646         * support/regression/tests/bp.c: Added new test case.
4647
4648         * support/regression/tests/bug-448984.c: Added new test case.
4649
4650         * support/regression/tests/pow2shifts.c: Added new test case.
4651
4652         * src/z80/gen.c: Turned off the noise it normally generates for the release.
4653         (genlshTwo): Fixed right shift for count > 8.
4654
4655         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
4656
4657 2001-09-08    <johan AT FRIJA>
4658
4659         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
4660
4661 2001-09-07    <johan AT FRIJA>
4662
4663         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
4664
4665         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
4666
4667 2001-09-06    <johan AT FRIJA>
4668
4669         * src/SDCC.y: this could be a fix for bug #458744 (1.37)
4670         * bernhard noted me at this: "() equals to (void)" (1.38)
4671
4672 2001-09-05    <johan AT FRIJA>
4673
4674         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
4675
4676 2001-09-04    <johan AT FRIJA>
4677
4678         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
4679
4680
4681 2001-09-04  Paul Stoffregen  <paul AT pjrc.com>
4682
4683         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
4684
4685 2001-09-03  Michael Hope  <michaelh AT juju.net.nz>
4686
4687         * link/z80/aslink.h: Fixed path for PATH_MAX
4688
4689 2001-09-02  Michael Hope  <michaelh AT juju.net.nz>
4690
4691         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
4692
4693         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
4694
4695         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
4696
4697         * 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.
4698
4699 2001-09-01  Michael Hope  <michaelh AT juju.net.nz>
4700
4701         * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
4702         (genCmp): Fixed up genCmp for the GB with longs.
4703
4704         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
4705
4706         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
4707
4708         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
4709
4710         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
4711
4712 2001-08-30  Paul Stoffregen  <paul AT pjrc.com>
4713
4714         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
4715
4716 2001-08-30  Michael Hope  <michaelh AT juju.net.nz>
4717
4718         * 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.
4719
4720         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
4721
4722 2001-08-29  Michael Hope  <michaelh AT juju.net.nz>
4723
4724         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
4725
4726         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
4727
4728 2001-08-30 Bernhard Held   <bernhard AT bernhardheld.de>
4729
4730   * sim/ucsim/configure:    little improvement of Cygwin-detection      
4731   * sim/ucsim/configure.in: little improvement of Cygwin-detection      
4732   * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
4733   * support/regression/tests/bug-221100.c: small changes for mcs51
4734   * support/regression/tests/bug-221168.c: small changes for mcs51
4735   * support/regression/tests/bug-227710.c: small changes for mcs51
4736   * support/regression/tests/staticinit.c: small changes for mcs51
4737   * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
4738   * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
4739   * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601