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