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