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