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