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