Improve setjmp/longjmp for z80-related ports, patch #479 by Janko Stamenović.
[sdcc.git] / sdcc / ChangeLog
blob13dfa528f66edef4e7d4918bf5704f060099a377
1 2024-06-22 Philipp Klaus Krause <philipp@colecovision.eu>
3         * device/*/ez80_z80/setjmp.s:
4           Improve setjmp/longjmp for z80-related ports, patch #479 by Janko Stamenović.
6 2024-06-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8         * device/lib/s08-stack-auto/_setjmp.c: fix bug #3743
9         * support/regression/tests/longjump.c: re-enable test affected by bug
11 2024-06-17 Philipp Klaus Krause <philipp@colecovision.eu>
13         * device/lib/sm83/Makefile.in:
14           Fix strnlen build for sm83 port.
16 2024-06-16 Philipp Klaus Krause <philipp@colecovision.eu>
18         * support/regression/tests/longjmp.c:
19           Disable a test for configuration affected by known bug #3743 (-ms08 --stack-auto).
21 2024-06-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23         * src/hc08/main.c (hasExtBitOp),
24           src/mos6502/main.c (hasExtBitOp): fix bug #3731
25         * support/regression/tests/sha3-256.c: only enabled for ports
26           that can handle returning large structs 
27         * src/mos6502/gen.c (genRet): fail unsupported struct return better
29 2024-06-13 Philipp Klaus Krause <philipp@colecovision.eu>
31         * device/lib/r2k/setjmp.s
32           device/lib/r2ka/setjmp.s
33           device/lib/r3ka/setjmp.s
34           support/regression/tests/setjmp.c,
35           support/regression/tests/longjmp.c:
36           Fix setjmp/longjmp return value for Rabbits.
37         * device/include/string.h,
38           device/lib/strlen.v,
39           device/lib/strnlen.v,
40           device/lib/strndup.c,
41           device/lib/Makefile.in,
42           device/lib/*/Makefile.in,
43           device/lib/pic14/libc/Makefile.am,
44           device/lib/pic14/libc/Makefile.in,
45           support/regression/tests/strnlen.c:
46           C2Y strnlen.
47         * support/regression/tests/bug-3730.c,
48           support/regression/tests/bug-3740.c:
49           Disable warnings on (intentionally) unused parameters in two regression tests.
50         * device/lib/tlcs90/setjmp.s:
51           Fix TLCs-90 interrupt flag handling in longjmp.
53 2024-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
55         * src/SDCCsalloc.hpp:
56           Fix handling of edges in vertex removal from stack conflict graph on spill location parameter merge.
58 2024-06-06 Philipp Klaus Krause <philipp@colecovision.eu>
60         * support/regression/tests/bug-3741.c:
61           Fix test for ports without banked function calls.
63 2024-06-05 Philipp Klaus Krause <philipp@colecovision.eu>
65         * support/regression/tests/bug-3741.c:
66           Add a regression test for a reported bug that I haven't been able to reproduce locally.
68 2024-06-03 Philipp Klaus Krause <philipp@colecovision.eu>
70         * src/SDCCgenconstprop.cc,
71           src/SDCCdflow.h:
72           Fix a z80 codegen issue in the handling of information from generalized constant propagation.
74 2024-06-03 Philipp Klaus Krause <philipp@colecovision.eu>
76         * src/z80/gen.c,
77           support/regression/tests/bug-3740.c:
78           Fix bug #3740.
80 2024-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
82         * src/z80/peep.c:
83           Parse ZX Spectrum Next nextreg instruction.
85 2024-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
87         * src/SDCCralloc.hpp,
88           src/hc08/gen.c:
89           Reject boost 1.85.0.
91 2024-05-29 Philipp Klaus Krause <philipp@colecovision.eu>
93         * src/z80/gen.c:
94           Skip leading zeroes on comparisons and some increments.
96 2024-05-28 Philipp Klaus Krause <philipp@colecovision.eu>
98         * src/z80/gen.c:
99           Use information from generalized constant propagation to optimize comparisons of signed types.
101 2024-05-27 Philipp Klaus Krause <philipp@colecovision.eu>
103         * src/z80/gen.c:
104           z80 codegen improvements.
106 2024-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
108         * src/SDCCsalloc.hpp,
109           src/stm8/ralloc2.cc,
110           src/stm8/gen.c,
111           src/z80/ralloc2.cc:
112           Use stack parameter locations as spill locations in some simple cases.
114 2024-05-16 Philipp Klaus Krause <philipp@colecovision.eu>
116         * src/z80/peeph.def,
117           support/regression/tests/bug-3733.c:
118           Fix bug #3733.
120 2024-05-03 Philipp Klaus Krause <philipp@colecovision.eu>
122         * support/regression/tests/sha3-256.c:
123           SHA3-256 test assumes little endian, so disable it for other systems.
125 2024-05-02 Philipp Klaus Krause <philipp@colecovision.eu>
127         * doc/sdccman.lyx:
128           mcs51 named address space clarifications.
129         * support/regression/tests/sha3-256.c:
130           Test for bug #3731.
132 2024-05-01 Philipp Klaus Krause <philipp@colecovision.eu>
134         * src/z80/peeph.def:
135           Fix an issue in previous commit.
137 2024-04-30 Philipp Klaus Krause <philipp@colecovision.eu>
139         * src/z80/ralloc2.cc,
140           src/z80/peeph.def:
141           Improve use of register a and (hl) in comparisons.
143 2024-04-29 Philipp Klaus Krause <philipp@colecovision.eu>
145         * src/z80/gen.c,
146           Fix an issue in the handling of register hl vs a in write via pointer.
148 2024-04-26 Philipp Klaus Krause <philipp@colecovision.eu>
150         * src/z80/ralloc2.cc:
151           Fix bug #3730.
153 2024-04-25 Philipp Klaus Krause <philipp@colecovision.eu>
155         * support/regression/tests/bug-3730.c:
156           Test for bug #3730.
158 2024-04-24 Philipp Klaus Krause <philipp@colecovision.eu>
160         * doc/sdccman.lyx:
161           Update documentation on implementation-defined behaviour.
162         * sdas/astlcs90/t90.h,
163           sdas/astlcs90/t90mch.c,
164           sdas/astlcs90/t90pst.c,
165           src/z80/gen.c:
166           Use lda for tlcs90 codegen.
168 2024-04-23 Felix Salfelder <felix AT salfelder.org>
170         * support/cpp/gcc/cc1_dummies.cc
171           Amend unused function prototypes. Fixes #3725
173 2024-04-23 Philipp Klaus Krause <philipp@colecovision.eu>
175         * src/z80/gen.c:
176           Global operand handling fixes.
178 2024-04-22 Philipp Klaus Krause <philipp@colecovision.eu>
180         * src/z80/gen.c,
181           support/regression/ports/ucz80-unsafe-read:
182           Allow use 16-bit loads from memory to load 8-bit registers.
184 2024-04-22 Philipp Klaus Krause <philipp@colecovision.eu>
186         * src/z80/gen.c,
187           src/z80/peeph.def:
188           Improve storing of 0 into global variables.
190 2024-04-22 Philipp Klaus Krause <philipp@colecovision.eu>
192         * support/scripts/as2gbmap.py:
193           Migrate as2gbmap to Python 3, patch from Debian.
194         * src/z80/peep.c:
195           Improve handling of function calls in notUsed(From)('iy').
196         * src/z80/gen.c:
197           Fix handling of operand in a in built-in strchr.
199 2024-04-19 Philipp Klaus Krause <philipp@colecovision.eu>
201         * src/z80/gen.c:
202           Improve handling of register argument in a in register allocation.
204 2024-04-19 Philipp Klaus Krause <philipp@colecovision.eu>
206         * src/z80/gen.c:
207           Fix generation of a redundant instruction in z80 comparison.
209 2024-04-18 Philipp Klaus Krause <philipp@colecovision.eu>
211         * src/z80/peep.c:
212           Improve handling of function calls in notUsed(From).
213         * src/z80/gen.c:
214           Improve addition of 256 to 16-bit register operand.
216 2024-04-17 Philipp Klaus Krause <philipp@colecovision.eu>
218         * support/regression/tests/discussion-1854.c,
219           support/regression/tests/bug-3728.c,
220           support/regression/tests/bug-3729.c:
221           Add 2 regression tests for potential issues.
223 2024-04-16 Philipp Klaus Krause <philipp@colecovision.eu>
225         * device/include/asm/r2k/features.h,
226           device/include/asm/r3ka/features.h,
227           device/include/asm/sm83/features.h,
228           device/include/asm/stm8/features.h,
229           device/include/asm/tlcs90/features.h,
230           device/include/asm/z80/features.h,
231           device/lib/_strcmp.c,
232           device/lib/_strcpy.c,
233           src/z80/peeph.def,
234           support/regression/tests/bug-3728.c:
235           Fix bug #3728.
236         * support/regression/tests/bug-3727.c:
237           Simplify regression test, as suggested by Janko Stamenović.
239 2024-04-16 Philipp Klaus Krause <philipp@colecovision.eu>
241         * src/z80/gen.c,
242           src/z80/peeph.def,
243           src/z80/ralloc2.cc:
244           Improve use of hl, towards RFE #905.
246 2024-04-13 Philipp Klaus Krause <philipp@colecovision.eu>
248         * src/z80/gen.c,
249           src/z80/ralloc2.cc:
250           Small z80 codegen improvements, part of RFE #905.
252 2024-04-12 Philipp Klaus Krause <philipp@colecovision.eu>
254         * src/z80/gen.c:
255           Small z80 codegen improvements, RFE #904.
256         * support/regression/tests/bug-3727.c:
257           Regression test (for now disabled) for not-yet fixed bug #3727.
259 2024-03-31 Philipp Klaus Krause <philipp@colecovision.eu>
261         * src/z80/ralloc2.cc,
262           src/z80/gen.c:
263           Improve code generation for z80 comparisons.
264         * src/SDCClospre.cc,
265           src/SDCClospre.hpp:
266           Improve lospre debug output.
268 2024-03-29 Philipp Klaus Krause <philipp@colecovision.eu>
270         * src/z80/gen.c,
271           src/stm8/ralloc.c,
272           src/pdk/ralloc.c,
273           src/z80/ralloc.c:
274           Enable more register packing optimizations.
276 2024-03-28 Philipp Klaus Krause <philipp@colecovision.eu>
278         * src/z80/peeph.def:
279           Optimize out some more intermediate pop/push.
280         * src/z80/gen.c:
281           Fine-tune djnz optimization hint.
283 2024-03-27 Philipp Klaus Krause <philipp@colecovision.eu>
285         * src/SDCCgenconstprop.cc:
286           Fix an issue introduced in yesterday's fix for bug #3720.
288 2024-03-26 Philipp Klaus Krause <philipp@colecovision.eu>
290         * src/z80/gen.c:
291           Fix an optimization hint inversion bug that prevented use of djnz.
293 2024-03-26 Philipp Klaus Krause <philipp@colecovision.eu>
295         * src/SDCCgenconstprop.cc,
296           src/SDCCsymt.c:
297           Fix bug #3720.
298         * src/z80/gen.c:
299           Allow for some more flexibility in the handling of register arguments.
301 2024-03-25 Philipp Klaus Krause <philipp@colecovision.eu>
303         * src/SDCCgenconstprop.cc:
304           Improve generalized constant propagation analysis accuracy.
305         * src/stm8/peep.c,
306           src/z80/peep.c:
307           Fix a peephole optimizer issue in the handling of register parameters to calls through function pointers when a symbol had the same name as a register.
309 2024-03-23 Philipp Klaus Krause <philipp@colecovision.eu>
311         * src/SDCCgenconstprop.cc,
312           support/regression/tests/bug-3717.c:
313           Fix bug #3717.
315 2024-03-23 Philipp Klaus Krause <philipp@colecovision.eu>
317         * src/SDCCgenconstprop.cc,
318           src/pdk/gen.c:
319           Improve generalized constant propagation analysis accuracy.
321 2024-03-18 Philipp Klaus Krause <philipp@colecovision.eu>
323         * src/z80/ralloc2.cc:
324           Improve use of hl for --reserve-regs-iy.
326 2024-03-17 Philipp Klaus Krause <philipp@colecovision.eu>
328         * src/stm8/peeph.def:
329           Optimize out some tnz(w).
331 2024-03-16 Philipp Klaus Krause <philipp@colecovision.eu>
333         * src/stm8/peeph.def:
334           Simplify some stm8 pushw, common at beginning of function.
336 2024-03-03 Benedikt Freisen <b.freisen AT gmx.net>
338         * src/SDCCgenconstprop.cc:
339           Remove semicolon after if-condition. (bug #3713)
341 2024-03-01 Philipp Klaus Krause <philipp@colecovision.eu>
343         * doc/sdccman.lyx:
344           Workaround for a LyX 2.4 issue, fixes bug #3708.
346 2024-02-29 Gabriele Gorla <gorlik@yahoo.com>
348         * src/mos6502/gen.c:
349           change safeLabelKey2num macro to safeLabeNum function.
351 2024-02-29 Philipp Klaus Krause <philipp@colecovision.eu>
353         * src/mcs51/gen.c,
354           src/SDCCsymt.c,
355           support/regression/tests/bug-3711.c:
356           Fix bug #3711.
358 2024-02-20 Gabriele Gorla <gorlik@yahoo.com>
360         * src/mos6502/gen.c:
361           Rename jflag in genIfxJump from "a" to "z".
362           Refactor genAnd, GenOr, GenXor.
363         
364 2024-02-19 Gabriele Gorla <gorlik@yahoo.com>
366         * src/mos6502/gen.c:
367           Remove a few dead code paths.
368           Improve tracking of literals in the RegTemp stack.
369         * src/mos6502/peeph.def:
370           Add rule for tax/tay followed by tax/tay.
371         
372 2024-02-17 Gabriele Gorla <gorlik@yahoo.com>
374         * src/mos6502/gen.c,
375           src/mos6502/main.c,
376           src/mos6502/ralloc.c:
377           Fix compile warnings and a few typos.
378         
379 2024-02-10 Benedikt Freisen <b.freisen AT gmx.net>
381         * device/include/mcs51/stc89.h:
382           Fix typo in watchdog SFR definition. (bug #3710)
384 2024-02-04 Benedikt Freisen <b.freisen AT gmx.net>
386         * debugger/mcs51/sdcdb.h,
387           debugger/mcs51/symtab.c:
388           Fix bug #3529 via patch #450 by Mark Symonds.
390 2024-02-04 Benedikt Freisen <b.freisen AT gmx.net>
392         * device/include/stddef.h:
393           Use >= instead of > for C23 test. (bug #3709)
395 2024-02-03 Philipp Klaus Krause <philipp@colecovision.eu>
397         * support/scripts/sdcc.nsi:
398           Fix installer creation script for recent pic16 library changes.
400 2024-02-01 Philipp Klaus Krause <philipp@colecovision.eu>
402         * sdas/asrab/rabmch.c:
403           Back-port error messages from asrab 5.40, patch #473 by D-mo.
404         * support/scripts/sdcc.nsi:
405           Fix installer creation script for recent pic16 library changes.
407 2024-01-31 Philipp Klaus Krause <philipp@colecovision.eu>
409         * device/include/pic16,
410           device/lib/pic16,
411           device/non-free/lib/pic16,
412           src/pic16,
413           device/include/asm/pic16/features.h,
414           device/include/sdcc-lib.h,
415           device/include/setjmp.h,
416           device/include/stdarg.h,
417           device/include/stdint.h,
418           support/regression/tests/float_single.c.in:
419           pic16 refactoring and fixes, parts 1 to 3 and 7 to 10 of patch #472 by Jonathon Hall.
421 2024-01-29 Philipp Klaus Krause <philipp@colecovision.eu>
423         * Merge next branch to trunk.
425 2024-01-28 Gabriele Gorla <gorlik@yahoo.com>
427         * src/mos6502/gen.c:
428           Refactor asmopToBool().
429         * src/mos6502/gen.c:
430           Improvements to genAnd().
432 2024-01-27 Gabriele Gorla <gorlik@yahoo.com>
434         * src/mos6502/gen.c,
435           src/mos6502/ralloc.h:
436           Remove dead references to M6502MASK_REV.
438 2024-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
440         * sdas/asz80/z80mch.c:
441           Fix bug #3700.
443 2024-01-27 Gabriele Gorla <gorlik@yahoo.com>
445         * src/mos6502/ralloc.c:
446           Small cleanup of m6502_dirtyReg.
447         * src/mos6502/gen.c:
448           Imporvements to genCmp.
450 2024-01-26 Philipp Klaus Krause <philipp@colecovision.eu>
452         * sdas/asgb/gbmch.c
453           .version,
454           doc/sdccman.lyx:
455           Export 32-bit addresses from gb assembler (instead of 24-bit).
457 2024-01-22 Philipp Klaus Krause <philipp@colecovision.eu>
459         * src/pdk/gen.c:
460           Fix pdk code generation issues, bug #3697.
461         * sdas/asz80/z80mch.c:
462           Export 32-bit addresses from z80 assembler (instead of 24-bit).
464 2024-01-16 Benedikt Freisen <b.freisen AT gmx.net>
466         * src/Makefile.in:
467           Makeshift fix for bug #3694: Delete sdcpp in uninstall.
469 2024-01-15 Gabriele Gorla <gorlik@yahoo.com>
471         * src/mos6502/peep.def:
472           Fix bug in peephole load 12 rule.
473         * src/mos6502/gen.c,
474           src/mos6502/peep.def:
475           Improvements in genCast(), genCopy() and loadRegFromAop().
477 2024-01-15 Philipp Klaus Krause <philipp@colecovision.eu>
479         * support/scripts/sdcc.nsi:
480           Fix bug #3695.
482 2023-01-14 Philipp Klaus Krause <philipp@colecovision.eu>
484         * src/pdk/gen.c,
485           src/pdk/ralloc.c,
486           src/pdk/ralloc2.cc:
487           Optimize pdk register packing for some operations on __sfr (part of RFE #801).
489 2024-01-13 Gabriele Gorla <gorlik@yahoo.com>
491         * src/mos6502/gen.c:
492           Fix constanRange regression failure for mos6502-stack-auto.
493           Implement special case for genCompare < 0
494         * src/mos6502/ralloc2.cc:
495           Add instruction cost for IPUSH_VALUE_AT_ADDRESS icode.
496         * src/mos6502/peep.def:
497           Add several new rules that take advantage of if used().
498         * support/regression/ports/uc6502-stack-auto/spec.mk,
499           support/regression/tests/gcc-torture-execute-20010129-1.c,
500           support/regression/tests/gcc-torture-execute-20030916-1.c,
501           support/regression/tests/gcc-torture-execute-20071030-1.c,
502           support/regression/tests/gcc-torture-execute-930614-2.c,
503           support/regression/tests/gcc-torture-execute-930628-1.c,
504           support/regression/tests/gcc-torture-execute-990513-1.c,
505           support/regression/tests/gcc-torture-execute-ssad-run.c,
506           support/regression/tests/gcc-torture-execute-usad-run.c,
507           support/regression/tests/lonesha256.c,
508           support/regression/tests/tinyaes.c.in:
509           disable tests failing in the mos6502-stack-auto port due to stack size limitation.
510         * src/mos6502/main.c:
511       Rearrange memory segments to support systems without ROM space.
512         * src/mos6502/gen.c,
513           src/mos6502/ralloc.h:
514           Remove dead code to support registers in reverse order.
515           
516 2024-01-12 Gabriele Gorla <gorlik@yahoo.com>
518         * src/mos6502/gen.c:
519           Improve asmopToBool.
521 2024-01-12 Philipp Klaus Krause <philipp@colecovision.eu>
523         * src/hc08/main.c:
524           Fix bug #3690.
526 2024-01-12 Philipp Klaus Krause <philipp@colecovision.eu>
528         * src/pdk/peep.c:
529           Improve pdk notUsed() accuracy.
531 2024-01-11 Philipp Klaus Krause <philipp@colecovision.eu>
533         * src/z80/main.c:
534           Fix bug #3693.
535         * support/scripts/sdcc.nsi:
536           Fix bug #3686.
538 2024-01-10 Gabriele Gorla <gorlik@yahoo.com>
540         * src/mos6502/gen.c:
541           Implement a few 65C02 optimizations.
542           
543 2024-01-09 Gabriele Gorla <gorlik@yahoo.com>
545         * src/mos6502/gen.c:
546           Additional carry flag tracking optimizations.
547         * src/mos6502/gen.c:
548           Improve debug messages.
549           
550 2024-01-08 Philipp Klaus Krause <philipp@colecovision.eu>
552         * support/regression/ports/pic16/spec.mk,
553           sdcc/src/pic16/gen.c,
554           sdcc/src/pic16/gen.h,
555           sdcc/src/pic16/genutils.c,
556           sdcc/src/pic16/genutils.h,
557           sdcc/src/pic16/ralloc.c,
558           sdcc/src/SDCCsymt.c:
559           Basic pic16 long long support, patch #471 by Jonathon Hall.
561 2024-01-08 Gabriele Gorla <gorlik@yahoo.com>
563         * src/mos6502/gen.c:
564           replace all instances of emitLabel() with safeEmitLabel().
565         * src/mos6502/gen.c,
566           src/mos6502/main.c:
567       enable last operation flag tracking.
568         * src/mos6502/gen.c:
569           enable carry flag tracking.
571 2024-01-03 Philipp Klaus Krause <philipp@colecovision.eu>
573         * device/lib/_divuchar.c,
574           device/lib/_moduchar.c:
575           Fix optimization turning division support troutines into infinite loops.
576         * device/lib/pdk*/Makefile.in,
577           device/lib/pdk*/_muluchar.s:
578           Improve pdk 8x8 multiplication efficiency, based on patch #470 by Konstantin Kim.
580 2024-01-02 Philipp Klaus Krause <philipp@colecovision.eu>
582         * support/regression/tests/satcounteroverflow.c.in:
583           Regression test for saturating counter implemented via overflow-check-revert, inspired by discussion of patch #447 by Konstantin Kim.
585 2023-12-30 Philipp Klaus Krause <philipp@colecovision.eu>
587         * src/pdk/peeph.def:
588           Fixes for z flag handling in pdk peephole optimizer rules.
589         * src/pdk/gen.c,
590           src/pdk/peeph.def:
591           Optimize out some redundant stores to a, insprired by parts of patch #447 by Konstantin Kim.
592         * src/SDCCpeeph.c:
593           Fix notVolatile('a') for pdk.
594         * src/pdk/peep.c:
595           Improve flag handling in pdk peephole optimizer.
596         * src/z80/peep.c:
597           Improve flag handling in z80 peephole optimizer.
599 2023-12-29 Gabriele Gorla <gorlik@yahoo.com>
601         * src/mos6502/gen.c:
602           Imporve use of BIT instruction.
603         * src/mos6502/ralloc.c,
604           src/mos6502/ralloc.h:
605           Prepare for improved register pair handling.
606         * src/mos6502/gen.c:
607           correct constant size in isLiteralBit().
608         * src/mos6502/gen.c:
609           Prepare for improved register pair handling.
610           
611 2023-12-29 Philipp Klaus Krause <philipp@colecovision.eu>
613         * src/pdk/peep.c:
614           pdk peephole optimizer improvements, mostly from patch #447 by Konstantin Kim.
615         * support/regression/tests/iobit.c.in:
616           Improve test coverage for bit access on __sfr, inspired by discussion of patch #447.
617         * src/pdk/peeph.def:
618           Add a peephole optimizer rule from patch #447 by Konstantin Kim.
620 2023-12-29 Gabriele Gorla <gorlik@yahoo.com>
622         * src/mos6502/gen.c,
623           src/mos6502/gen.h,
624           src/hc08/gen.c,
625           src/hc08/gen.h:
626           remove unused aop_immd2 from aop structure.
628 2023-12-28 Gabriele Gorla <gorlik@yahoo.com>
630         * device/lib/mos6502/_divuchar.s,
631           device/lib/mos6502/_moduchar.s:
632           Fix regression failures introduced by r14555
633         * src/mos6502/gen.c,
634           src/hc08/gen.c,
635           support/regression/tests/gcc-torture-execute-strlen-4.c:
636           Fix bug #2987 and enable gcc-torture-execute-strlen-4 for mos6502 and hc08.
637         * src/SDCCicode.c:
638           Fix small debug print bug.
639         * src/mos6502/peep.c:
640           Fix affected flags and add "sec".
641         * src/mos6502/gen.c:
642           Minor code cleanups
643           Make comments style consistent
645 2023-12-28 Philipp Klaus Krause <philipp@colecovision.eu>
647         * src/mcs51/peeph.def:
648           Optimize out some unnecessary register use.
650 2023-12-27 Philipp Klaus Krause <philipp@colecovision.eu>
652         * src/z80/peep.c:
653           Improve handling of I/O and tail calls, fixes bug #3688.
654         * src/SDCCerr.c,
655           src/SDCCerr.h,
656           src/SDCCpeeph.c:
657           Peephole rule application limit, fixes bug #3557.
658         * src/SDCCgenconstprop.cc:
659           Improve narrowing of multiplicative operators based on generalized constant propagation.
660         * src/mcs51/peeph.def:
661           Peephole optimizer rule to optimize another variant of __code array access.
662         * src/mos6502/main.c,
663           src/mos6502/peeph.def,
664           src/mos6502/peep.c,
665           src/mos6502/peep.h:
666           notUsed/notUsedFrom for mos6502 flags.
668 2023-12-20 Philipp Klaus Krause <philipp@colecovision.eu>
670         * doc/sdccman.lyx:
671           Remove comment on non-compliance with C2X draft N3047 wrt. tag compatibility: current C23 draft N3149 matches SDCC behaviour.
673 2023-12-20 Benedikt Freisen <b.freisen AT gmx.net>
675         * doc/sdccman.lyx:
676           Various updates to the manual.
678 2023-12-20 Philipp Klaus Krause <philipp@colecovision.eu>
680         * .version,
681           doc/INSTALL.txt,
682           sdcc.spec:
683           Set version to 4.4.0 to prepare for release.
684         * sdcc/support/scripts/sdcc.nsi
685           Enable mos65c02 port.
687 2023-12-19 Philipp Klaus Krause <philipp@colecovision.eu>
689         * sdcc/configure,
690           sdcc/configure.ac:
691           Enable mos65c02 port.
693 2023-12-18 Philipp Klaus Krause <philipp@colecovision.eu>
695         * src/z80/gen.c:
696           Fix bug #3681.
697         * src/z80/peeph.def:
698           Whitespace fix.
699         * src/stm8/gen.c:
700           Fix bug #3683.
702 2023-12-17 Gabriele Gorla <gorlik@yahoo.com>
704         * src/mos6502/main.c
705           fix bra in the opcode table. Use strncmp in the opcode search to support 65C02 bit manipulation instructions.
706         * src/mos6502/gen.c
707           fix wrong offset for struct return in mos6502-stack-auto port
708           indentation changes
710 2023-12-14 Philipp Klaus Krause <philipp@colecovision.eu>
712         * support/regression/tests/bug-3685.c:
713           Provide extern declartion to make test compile on hosts that choose not to inline.
715 2023-12-13 Gabriele Gorla <gorlik@yahoo.com>
717         * support/regression/tests/stack-restore.c.in
718           partially disable test for mos6502-stack-auto due to stack size limitations
720 2023-12-13 Philipp Klaus Krause <philipp@colecovision.eu>
722         * configure.ac,
723           configure:
724           Fix bug #3508, patch by Steve Schnepp.
726 2023-12-12 Gabriele Gorla <gorlik@yahoo.com>
728         * src/mos6502/gen.c
729           fix bug3223041 regression failure for mos6502-stack-auto port
730           fix bug3531687 regression failure for mos6502-stack-auto port
731         * device/lib/mos65c02/Makefile.in,
732           device/lib/mos65c02/__memcpy.s,
733           device/lib/mos65c02/_memcmp.s,
734           device/lib/mos65c02/_memset.s,
735           device/lib/mos65c02/_mullong.s,
736           device/lib/mos65c02/_mulschar.s,
737           device/lib/mos65c02/_muluchar.s,
738           device/lib/mos65c02/_setjmp.s,
739           device/lib/mos65c02/_strcmp.s,
740           device/lib/mos65c02/_strcpy.s,
741           device/lib/mos65c02/_strlen.s,
742           device/lib/mos65c02/abs.s,
743           device/lib/mos65c02/crt0.s,
744           device/lib/mos65c02/memcpy.s
745       add mos6502 improvements to mos65c02 port 
747 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
749         * src/SDCCopt.c:
750           Enable elimination of dead RECEIVE iCodes. Fixs the rest of bug #3482.
752 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
754         * src/z80/gen.c,
755           tests/bug-3482.c:
756           Fix the worst part of bug #3482.
758 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
760         * src/z80/gen.c,
761           support/regression/tests/bug-3685.c:
762           Fix bug #3685.
764 2023-12-11 Philipp Klaus Krause <philipp@colecovision.eu>
766         * device/lib/pic16/libc/Makefile.am,
767           device/lib/pic16/libc/Makefile.in,
768           device/include/pic16/setjmp.h,
769           device/lib/pic16/libc/stdlib/setjmp.c:
770           setjmp for pic16, patch by Jonathon Hall.
772 2023-12-10 Philipp Klaus Krause <philipp@colecovision.eu>
774         * sim/ucsim/pdk.src/inst.cc:
775           Fix simulation of z flag for not and neg.
776         * src/pdk/gen.c:
777           pdk code generation improvements.
778         * src/z80/gen.c:
779           Fix a Rabbit multiplication code generation bug.
781 2023-12-09 Philipp Klaus Krause <philipp@colecovision.eu>
783         * src/pdk/gen.c:
784           Fix a popP bug.
786 2023-12-07 Gabriele Gorla <gorlik@yahoo.com>
788         * device/lib/mos6502/memcpy.s,
789           device/lib/mos6502/_memcmp.s,
790           device/lib/mos6502/_setjmp.s,
791           device/lib/mos6502/Makefile.in
792           optimize memcpy, memcmp amd setjump implemetations
793         
794 2023-12-06 Gabriele Gorla <gorlik@yahoo.com>
796         * device/lib/mos6502/_muluchar.s,
797           device/lib/mos6502/_mulschar.s
798           use ZP instead of absolute address
799         * device/lib/mos6502/_strcpy.s,
800           device/lib/mos6502/_strcmp.s
801           use DPTR instead of temp
802         * device/lib/mos6502/_strlen.s
803           implement strlen in asm
804         * device/lib/mos6502/_memset.s,
805           device/lib/mos6502/crt0.s
806           implement memset in asm
807         * device/lib/mos6502/abs.s,
808           device/lib/mos6502/abs.c
809           rename abs.c to abs.s
810         * doc/sdccman.lyx
811           add mos6502 port documentation to SDCC manual
812           
813 2023-12-05 Philipp Klaus Krause <philipp@colecovision.eu>
815         * device/include/pic16/pic16devices.txt,
816           device/lib/pic16/startup/crt0iz.c,
817           src/pic16/glue.c,
818           support/regression/ports/pic16/spec.mk:
819           pic16 memory zeroing fixes, patch by Jonathon Hall.
821 2023-12-04 Gabriele Gorla <gorlik@yahoo.com>
823         * device/lib/mos6502/_setjump.c,
824           device/lib/mos65c02/_setjump.c,
825           device/lib/mos6502-stack-auto/_setjump.c
826           Reduce ZP usage in setjump.
827         * device/lib/mos6502/_ret01.s,
828           device/lib/mos6502/_ret23.s,
829           device/lib/mos6502/_ret4567.s,
830           device/lib/mos65c02/_ret01.s,
831           device/lib/mos65c02/_ret23.s,
832           device/lib/mos65c02/_ret4567.s,
833           device/lib/mos6502-stack-auto/_ret01.s,
834           device/lib/mos6502-stack-auto/_ret23.s,
835           device/lib/mos6502-stack-auto/_ret4567.s
836           Remove unnecessary .optsdcc directive.
837         * src/SDCCmem.c,
838           src/SDCCglobl.h,
839           src/mos6502/ralloc.c,
840           src/mos6502/main.c
841           Add --no-zp-spill option to avoid register spills in ZP.
842           
843 2023-12-03 Gabriele Gorla <gorlik@yahoo.com>
845         * src/mos6502/gen.c
846           Fix bug #3511
847         * src/mos6502/gen.c,
848           src/SDCCsymt.c
849           Add limited support to return aggregates to mos6502 port.
850         * device/lib/div.c,
851           device/lib/ldiv.c,
852           device/include/stdlib.h
853           Add div and ldiv to the mos6502 standard library.
854         * device/lib/_divulonglong.c
855           Trivial spelling fix.
856         * sdas/as6500/r6500.h,
857           sdas/as6500/r65adr.c,
858           sdas/as6500/r65mch.c,
859           sdas/as6500/pst.c
860           Merge several minor changes from upstream asxxxx 5.50
861         * support/regression/MakeList,
862           support/regression/tests/bigstack.c.in,
863           support/regression/tests/div.c,
864           support/regression/tests/gcc-roture-execute-20131127-1.c
865           Enable additional tests for mos6502.
867 2023-12-02 Gabriele Gorla <gorlik@yahoo.com>
869         * src/mos6502/gen.c,
870           support/regression/tests/structreturn.c.in,
871           support/regression/tests/gcc-torture-execute-va-arg-4.c,
872           support/regression/tests/gcc-torture-execute-va-arg-23.c,
873           support/regression/tests/gcc-torture-execute-struct-ret-1.c,
874           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
875           support/regression/tests/gcc-torture-execute-pr60017.c,
876           support/regression/tests/gcc-torture-execute-920625-1.c,
877           support/regression/tests/funptrsstructreturn.c,
878           support/regression/tests/div.c,
879           support/regression/tests/bug-3385.c,
880           support/regression/tests/bug-3368.c,
881           support/regression/tests/bug-2776.c,
882           support/regression/tests/bigreturn-remat.c.in,
883           support/regression/MakeList,
884           Implement IPUSH_VALUE_AT_ADDRESS iCode and enable corresponding regression tests.
885           Disable failing tests for mos65c02.
886         * src/mos6502/gen.c
887           Make sure result is a register before dereferencing the pointer (fix bug #3631)
888         
889 2023-12-02 Gabriele Gorla <gorlik@yahoo.com>
891         * src/mos6502/main.c
892           Correct opcode ordering.
893           Fix get_model() reporting.
894         * src/mos6502/gen.c
895           Make mos65c02 register transfer code use phx/phy/plx/ply.
896         * src/mos6502/gen.c,
897           src/hc08/gen.c
898           Reformat comments to match other ports.
900 2023-12-02 Philipp Klaus Krause <philipp@colecovision.eu>
902         * support/regression/ports/pic16/spec.mk:
903           pic16 regression test infrastructure fix, patch by Jonathon Hall.
904         * support/regression/tests/sdcccall.c.in:
905           Disable a long long test for pic16, which does not support long long yet, patch by Jonathon Hall.
907 2023-12-02 Gabriele Gorla <gorlik@yahoo.com>
909         * sdas/asz80/z80pst.c,
910           sdas/asz80/z80.h,
911           sdas/asxxsrc/asxxxx.h,
912           sdas/as6808/m6808.h,
913           sdas/as6808/m08pst.c:
914           Change several constants to match upstream asxxxx.
915         * sdas/as6500/r6500.h,
916           sdas/as6500/r65mch.c,
917           sdas/as6500/r65pst.c:
918           Enable cpu type selection for as6500.
919         * device/lib/mos65c02/Makefile.in,
920           device/lib/mos65c02/crt0.s,
921           device/lib/mos65c02/abs.c,
922           device/lib/mos65c02/_srulonglong.c,
923           device/lib/mos65c02/_srslonglong.c,
924           device/lib/mos65c02/_setjmp.c,
925           device/lib/mos65c02/_ret4567.s,
926           device/lib/mos65c02/_ret23.s,
927           device/lib/mos65c02/_ret01.s,
928           device/lib/mos65c02/_muluchar.s,
929           device/lib/mos65c02/_mulschar.s,
930           device/lib/mos65c02/_mulint.s,
931           device/lib/mos65c02/__memcpy.s
932           Make the mos65c02 library compile.
933         * support/regression/ports/uc65c02/uCsim.cmd,
934           support/regression/ports/uc65c02/support.c,
935           support/regression/ports/uc65c02/spec.mk
936           Add regression for mos65c02 using uCsim.
937         * src/mos6502/main.c
938           Add crt to mos65c02 link step by default.
939         * src/mos6502/gen.c
940           Implement GenAnd and GenOr for mos65c02.
941                           
942 2023-12-02 Philipp Klaus Krause <philipp@colecovision.eu>
944         * support/regression/tests/bug-2776.c,
945           support/regression/tests/bug-3368.c,
946           support/regression/tests/gcc-torture-execute-920625-1.c,
947           support/regression/tests/gcc-torture-execute-va-arg-23.c,
948           support/regression/tests/gcc-torture-execute-va-arg-4.c:
949           Enable struct parameter tests for all ports except mos6502 (which doesn't support them yet).
951 2023-12-01 Gabriele Gorla <gorlik@yahoo.com>
953         * sdas/asxxsrc/asmain.c:
954           simplify parsing of number radix (similar to upstream asxxxx).
955         * src/mos6502/main.c:
956           add ".r56c02" to the assembler output for mos65c02 port.
957         * src/device/lib/mos65c02/Makefile.in,
958           src/device/lib/mos65c02/__sdcc_indirect_jsr.s,
959           src/device/lib/mos65c02/_dptr.s,
960           src/device/lib/mos65c02/_temp.s
961           add missing files to the mos65c02 std lib.
962           
963 2023-12-01 Philipp Klaus Krause <philipp@colecovision.eu>
965         * src/stm8/gen.c:
966           Port a simplification from f8 to stm8.
967         * src/mcs51/main.c:
968           Fix an mcs51 peephole optimizer issue noticed by Oleg Endo.
970 2023-11-29 Gabriele Gorla <gorlik@yahoo.com>
972         * sdas/as6500/r65mch.c:
973           enable 24bit address in sdas for mos6502 (patch #436).
974           
975 2023-11-29 Philipp Klaus Krause <philipp@colecovision.eu>
977         * src/mcs51/main.c:
978           Fix handling of jz, jnz in asmLineNodeFromLineNode.
980 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
982         * src/z80/gen.c:
983           Fix bug #3682.
985 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
987         * src/stm8/gen.c:
988           Fix an stm8 codegen bug resulting an omitted carry for some wide subtractions where the least-significant byte of the subtrahend is in a.
989         * src/mcs51/peep.c:
990           Fix checking of return values for mcs51 notUsed.
992 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
994         * src/mcs51/peep.c,
995           src/mcs51/peeph.def:
996           Replace deadMove by notUsed in non-push/pop roles.
997         * src/stm8/gen.c:
998           Fix an stm8 rotation codegen issue resulting in invalid asm for --opt-code-speed.
1000 2023-11-27 Philipp Klaus Krause <philipp@colecovision.eu>
1002         * src/z80/gen.c:
1003           Fix a codegen crash affecting sm83 function calls via pointers to functions returning struct.
1005 2023-11-26 Philipp Klaus Krause <philipp@colecovision.eu>
1007         * src/z80/gen.c,
1008           src/z80/ralloc2.cc:
1009           Fully enable code speed optimization for z80 (and related).
1011 2023-11-25 Philipp Klaus Krause <philipp@colecovision.eu>
1013         * src/z80/gen.c:
1014           Improve cost function accuracy.
1016 2023-11-25 Philipp Klaus Krause <philipp@colecovision.eu>
1018         * src/stm8/gen.c,
1019           src/z80/gen.c:
1020           Shift optimization using information from generalized constant propagation.
1022 2023-11-24 Philipp Klaus Krause <philipp@colecovision.eu>
1024         * src/z80/gen.c:
1025           Fix bug #3680.
1027 2023-11-24 Philipp Klaus Krause <philipp@colecovision.eu>
1029         * src/z80/gen.c:
1030           Fix bug #3679.
1032 2023-11-23 Philipp Klaus Krause <philipp@colecovision.eu>
1034         * src/z80/gen.c:
1035           Speed optimization in register allocation for z80 and related.
1037 2023-11-22 Philipp Klaus Krause <philipp@colecovision.eu>
1039         * src/z80/gen.c:
1040           Preparations for improved speed optimization for z80.
1041         * src/*/ralloc2.cc:
1042           Do another execution frequency estimate just before register allocation to improve the accuracy of speed optimizations.
1043         * src/mcs51/main.c,
1044           src/mcs51/peep.c,
1045           src/mcs51/peep.h:
1046           Implement notUsed peephole condition for mcs51, patch by Oleg Endo.
1048 2023-11-21 Philipp Klaus Krause <philipp@colecovision.eu>
1050         * src/z80/gen.c,
1051           src/pdk/gen.c,
1052           support/regression/tests/bug-3678.c:
1053           Preparations for improved speed optimization for z80. Fix bug #3678.
1054         * src/z80/peeph.def:
1055           Fix a peephole rule bug.
1056         * src/SDCCmain.c:
1057           Use -std=c23 when calling preprocessor.
1059 2023-11-20 Felix Salfelder <felix AT salfelder.org>
1061         * support/cpp/gcc/c-family/c-common.{cc,h},
1062           support/cpp/gcc/c-family/c-{lex,opts}.cc,
1063           support/cpp/gcc/c-family/c.opt,
1064           support/cpp/gcc/c/c-errors.cc:
1065           Fix #3677.
1067 2023-11-20 Philipp Klaus Krause <philipp@colecovision.eu>
1069         * src/z80/gen.c,
1070           src/z80/ralloc2.cc:
1071           Optimize towards djnz use.
1072         * sdccman.lyx:
1073           Fix dead link.
1074         * src/mcs51/gen.c,
1075           support/regression/tests/gcc-torture-execute-20050713-1.c:
1076           Fix an mcs51 codegen bug affecting calls to reentrant functions where the last parameter is a struct, and some registers are live across the call.
1078 2023-11-19 Philipp Klaus Krause <philipp@colecovision.eu>
1080         * src/SDCCicode.c,
1081           support/regression/tests/bug-3675.c,
1082           support/regression/tests/gcc-torture-execute-20180131-1.c,
1083           support/regression/tests/gcc-torture-execute-pr67226.c,
1084           support/regression/tests/gcc-torture-execute-20040707-1.c:
1085           Fix bug #3675.
1087 2023-11-18 Philipp Klaus Krause <philipp@colecovision.eu>
1089         * src/SDCCicode.c,
1090           src/SDCCicode.h:
1091           Directly create iCode chain instead of via intermediate set-style linked list.
1093 2023-11-18 Philipp Klaus Krause <philipp@colecovision.eu>
1095         * support/regression/tests/bug-3675.c:
1096           Regression test for bug #3675.
1097         * src/SDCCicode.c,
1098           src/SDCCopt.c,
1099           src/SDCCgenconstprop.cc,
1100           src/SDCClrange.c:
1101           Code refactoring for iCode operand replacement.
1102         * src/mcs51/gen.c:
1103           Fix a typo.
1105 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1107         * src/mcs51/gen.c,
1108           src/mcs51/gen.h:
1109           Provide mcs51IsParmInCall.
1111 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1113         * src/mcs51/gen.c:
1114           Replace further uses of fReturn by aopArg and aopRet.
1116 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1118         * src/mcs51/ralloc.c,
1119           src/mcs51/ralloc.h:
1120           Fix mcs51_regname_to_idx, patch by Oleg Endo.
1121         * src/mcs51/peeph.def:
1122           Fix peephole optimizer rule 186.e, patch by Oleg Endo.
1124 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1126         * doc/sdccman.lyx:
1127           Improve mcs51 calling convention documentation.
1128         * src/mcs51/gen.c,
1129           src/mcs51/gen.h,
1130           src/mcs51/main.c,
1131           src/mcs51/rtrack:
1132           Use aopArg, provide mcs51IsReturned and mcs51IsRegArg.
1134 2023-11-14 Philipp Klaus Krause <philipp@colecovision.eu>
1136         * src/mcs51/gen.c,
1137           src/mcs51/gen.h:
1138           Use aopRet.
1140 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1142         * src/mcs51/gen.c:
1143           Basic aopArg for mcs51.
1145 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1147         * src/mcs51/gen.c,
1148           src/mcs51/gen.h,
1149           src/stm8/gen.c,
1150           src/z80/gen.c:
1151           Handle return values via aopRet.
1153 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1155         * src/mcs51/gen.h,
1156           src/mcs51/gen.c:
1157           mcs51 code generation refactoring.
1159 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1161         * src/z80/gen.h,
1162           src/z80/gen.c:
1163           Burn AOP_STR.
1165 2023-11-12 Philipp Klaus Krause <philipp@colecovision.eu>
1167         * src/mcs51/gen.c:
1168           Make aopGet use asmop * instead of operand *.
1170 2023-11-12 Philipp Klaus Krause <philipp@colecovision.eu>
1172         * src/mcs51/gen.c:
1173           Fix opIsGptr, so it works even when the op has no aop yet.
1175 2023-11-11 Philipp Klaus Krause <philipp@colecovision.eu>
1177         * src/mcs51/gen.c,
1178           src/mcs51/gen.h,
1179           src/mcs51/main.c,
1180           src/mcs51/ralloc.c,
1181           src/SDCCglue.c:
1182           mcs51 code generation refactoring.
1184 2023-11-11 Felix Salfelder <felix AT salfelder.org>
1186         * Makefile.in:
1187           Fix Ticket #193
1189 2023-11-10 Philipp Klaus Krause <philipp@colecovision.eu>
1191         * .version,
1192           doc/sdccman.lyx,
1193           src/mcs51/gen.c,
1194           src/mcs51/main.c:
1195           Remove --parms-in-bank1 support in mcs51 port.
1197 2023-11-00 Felix Salfelder <felix AT salfelder.org>
1199         * support/cpp/gcc/cc1_dummies.cc:
1200           Rectify dummy prototype. Fixes bug #3654.
1202 2023-11-09 Philipp Klaus Krause <philipp@colecovision.eu>
1204         * src/SDCCmain.c:
1205           Fix --std-c2x.
1206         * src/SDCCralloc.hpp:
1207           Fix an UB issue in register allocation affecting z80 (and related).
1208         * src/mcs51/ralloc.h,
1209           src/mcs51/ralloc.c:
1210           Destroy the xreg relics.
1212 2023-11-08 Felix Salfelder <felix AT salfelder.org>
1214         * support/cpp/gcc/diagnostic-color.cc,
1215           support/cpp/gcc/prefix.cc:
1216           attempt to fix bug #3669, cf
1217           https://gcc.gnu.org/pipermail/gcc-patches/2023-January/609526.html
1219 2023-11-07 Philipp Klaus Krause <philipp@colecovision.eu>
1221         * .version,
1222           device/lib/Makefile.in,
1223           device/lib/ckd_add.c,
1224           device/lib/ckd_mul.c,
1225           device/lib/ckd_sub.c,
1226           device/lib/*/Makefile.in,
1227           doc/sdccman.lyx,
1228           src/SDCC.lex,
1229           src/SDCC.y,
1230           src/SDCCglobl.h,
1231           src/SDCCmain.c,
1232           src/SDCCval.c,
1233           support/regression/tests/assert.c,
1234           support/regression/tests/auto.c,
1235           support/regression/tests/bitcount.c.in,
1236           support/regression/tests/bitcountleading.c.in,
1237           support/regression/tests/bitcounttrailing.c.in,
1238           support/regression/tests/bitfirst.c.in,
1239           support/regression/tests/bitfirstleading.c.in,
1240           support/regression/tests/bitwidth.c.in,
1241           support/regression/tests/c2xkeywords.c,
1242           support/regression/tests/checkedint.c.in,
1243           support/regression/tests/digit_separators.c,
1244           support/regression/tests/memalignment.c.in,
1245           support/regression/tests/typeof.c,
1246           support/regression/tests/unreachable.c,
1247           support/valdiag/tests/enum.c,
1248           support/valdiag/tests/static_assert.c,
1249           support/valdiag/tests/struct.c:
1250           Since the standard name is now fixed at C23, use that instead of C2X (for compatibility, keep c2x option and pragma for now).
1252 2023-11-07 Philipp Klaus Krause <philipp@colecovision.eu>
1254         * src/SDCClrange.c,
1255           support/regression/tests/bug-3642.c,
1256           .version:
1257           Fix bug #3642.
1259 2023-11-06 Philipp Klaus Krause <philipp@colecovision.eu>
1261         * src/SDCCpeeph.c:
1262           Fix bug #3656.
1263         * src/SDCCgenconstprop.cc,
1264           src/SDCCcse.c:
1265           Fix bug #3640.
1267 2023-11-02 Philipp Klaus Krause <philipp@colecovision.eu>
1269         * src/mcs51/gen.c,
1270           src/mcs51/main.c,
1271           support/regression/tests/bitintshift.c.in:
1272           Fix bug #3634.
1274 2023-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
1276         * Makefile.common.in,
1277         * Makefile.in,
1278         * sdccconf_in.h: added OPT_DISABLE_R800
1280 2023-10-28 Philipp Klaus Krause <philipp@colecovision.eu>
1282         * src/SDCCpeeph.c:
1283           operandsNotRelated improvements for mcs51 (and related), based on patch 1 from patch ticket #466 by Oleg Endo.
1284         * src/mcs51/gen.c:
1285           Patch 2 from patch ticket #466 by Oleg Endo.
1286         * src/mcs51/peep.c,
1287           src/mcs51/ralloc.c,
1288           src/mcs51/ralloc.h,
1289           src/mcs51/rtrack.c:
1290           Patch 3 from patch ticket #466 by Oleg Endo.
1291         * src/mcs51/main.c:
1292           Patch 6 from patch ticket #466 by Oleg Endo.
1293         * src/SDCCbitv.c,
1294           src/SDCCbitv.h:
1295           Patch 10 from patch ticket #466 by Oleg Endo.
1297 2023-10-28 Philipp Klaus Krause <philipp@colecovision.eu>
1299         * src/SDCCgenconstprop.cc:
1300           Fix generalized constant propagation analysis of pointers for host with 32-bit long (bug #3667).
1302 2023-10-26 Philipp Klaus Krause <philipp@colecovision.eu>
1304         * support/regression/tests/bug-3579.c,
1305           support/regression/tests/bug-3606.c:
1306           Fix reads from unitialized memory in regression tests, should fix bug #3583.
1307         * support/regression/tests/bug-3642.c:
1308           Regression test for bug #3642 (disabled for now, as the bug is not yet fixed).
1310 2023-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
1312         * support/regression/tests/push_pop_sp.c: bug fix, remove unintended code
1313         * src/SDCCmem.c(printAllocInfoSeg): adjust stack offsets for struct
1314           returning functions
1315         * src/mcs51/gen.c(genRet): fixed stack/xstack with/without framepointer
1317 2023-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
1319         * sdas/linksrc/lklist.c,
1320         * sdas/linksrc/lkmem.c,
1321         * sdas/linksrc/lkrloc3.c: cosmetics
1322         * src/SDCCglobl.h: reduced LEVEL_UNIT to 10000 for human readability
1323         * src/SDCCicode.c(geniCodeCall): support xstack
1324         * src/SDCCmem.c(printAllocInfoSeg): also print size on stack
1325         * src/mcs51/gen.c(pushbigreturn): use xstack when asked for,
1326           (genCall): clean up xstack when asked for,
1327           (genFunction): optimize stack adjustment > 7,
1328           (genRet): try to use tempregs for bigreturn,
1329           use add in A instead of many inc dptr for larger offsets,
1330           support xstack,
1331           (genPagedPointerSet): add pdata support
1332         * src/mcs51/rtrack.c(_mcs51_rtrackUpdate): updated comments
1333         * src/mos6502/main.c(m6502_genAssemblerPreamble): attempt to keep areas in
1334           correct order
1335         * support/regression/tests/gcc-torture-execute-20020328-1.c: renamed testit()
1336           to tryit() since the test prefix has special meaning in regression testing
1337         * support/regression/tests/push_pop_sp.c: new, added
1339 2023-10-13 Philipp Klaus Krause <philipp@colecovision.eu>
1341         * device/lib/r*/crt0.s:
1342           Fix reti vs. ipres ret in crt0 templates for Rabbits (last part of bug #3652).
1344 2023-10-13 Maarten Brock <sourceforge.brock AT dse.nl>
1346         * src/mos6502/gen.h: moved NUM_TEMP_REGS into gen.c
1347         * src/mos6502/gen.c: renamed __DPTR & __TEMP to DPTR & REGTEMP to remove
1348           them from the C namespace,
1349           simplified INDFMT_IY macro
1350         * src/mos6502/main.c (m6502_genAssemblerPreamble): moved __DPTR & __TEMP
1351           definition to libraries,
1352           removed ZPABS so --data_loc works as expected, leaving address 0 unused
1353         * device/lib/mos6502/__memcpy.s: use REGTEMP instead of ___SDCC_m6502_retN,
1354           use local labels
1355         * device/lib/mos6502-stack-auto/__sdcc_indirect_jsr.s,
1356         * device/lib/mos6502/__sdcc_indirect_jsr.s: use renamed REGTEMP
1357         * device/lib/mos6502-stack-auto/_dptr.s,
1358         * device/lib/mos6502/_dptr.s: new, DPTR in zero page
1359         * device/lib/mos6502-stack-auto/_ret.c,
1360         * device/lib/mos6502/_ret.c: replace by _ret01.s, _ret23.s & _ret4567.s
1361         * device/lib/mos6502-stack-auto/_ret01.s,
1362         * device/lib/mos6502-stack-auto/_ret23.s,
1363         * device/lib/mos6502-stack-auto/_ret4567.s,
1364         * device/lib/mos6502/_ret01.s,
1365         * device/lib/mos6502/_ret23.s,
1366         * device/lib/mos6502/_ret4567.s: new, ___SDCC_m6502_retN in zero page
1367         * device/lib/mos6502-stack-auto/_temp.s,
1368         * device/lib/mos6502/_temp.s: new, REGTEMP in zeropage
1369         * device/lib/mos6502-stack-auto/Makefile.in,
1370         * device/lib/mos6502/Makefile.in: added _dptr.rel, _ret01.rel, _re23,rel,
1371           _ret4567.rel & _temp.rel
1373 2023-10-13 Philipp Klaus Krause <philipp@colecovision.eu>
1375         * .version:
1376           Bump version for now fully working generalized constant propagation.
1378 2023-10-09 Philipp Klaus Krause <philipp@colecovision.eu>
1380         * src/SDCCerr.c,
1381           src/SDCCerr.h,
1382           src/SDCCmain.c:
1383           Fix bug #3658 by warning on non-default sdcccall with default stdlib or crt0.
1384         * src/z80/main.c,
1385           doc/sdccman.lyx,
1386           device/lib/r2k/*.s,
1387           device/lib/r2ka/*.s,
1388           device/lib/r3ka/*.s,
1389           device/lib/tlcs90/*.s,
1390           device/lib/ez80_z80/*.s,
1391           device/lib/_memset:
1392           Make new calling convention the default for r2k, r2ka, r3ka, tlcs90, ez80-z80.
1393         * support/regression/ports/uc6502/spec.mk:
1394           Increase test-uc6502 timeout to work around bug #3663.
1396 2023-10-07 Philipp Klaus Krause <philipp@colecovision.eu>
1398         * src/SDCCgenconstprop.cc:
1399           Fix a use of an uninitialized struct member in generalized constant propagation analysis of some left shifts: bugs #3625, #3665.
1401 2023-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
1403         * src/SDCCmain.c (parseCmdLine): place -Wl-f options in linkOptionsSet2,
1404           (linkEdit): pass linkOptionsSet2 for $L,
1405           (assemble): pass NULL for $L
1406         * src/SDCCutil.h,
1407         * src/SDCCutil.c (buildCmdLine): added list2 for $L command line options
1408         * src/ds390/main.c (_tininative_do_assemble): pass NULL for $L
1409         * src/avr/main.c (_linkCmd),
1410         * src/ds390/main.c (_linkCmd),
1411         * src/hc08/main.c (_linkCmd),
1412         * src/mcs51/main.c (_linkCmd),
1413         * src/mos6502/main.c (_linkCmd),
1414         * src/pdk/main.c (_linkCmd),
1415         * src/stm8/main.c (_linkCmd),
1416         * src/z80/main.c (_z80LinkCmd): added $L for command line options
1417         * src/z80/main.c (_sm83_rgblink): pass NULL for $L
1418         * src/SDCCsymt.c (checkSClass): cosmetics
1420 2023-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
1422         * sdas/linksrc/lkmain.c (parse): warn about ignored nested linker script
1424 2023-10-04 Philipp Klaus Krause <philipp@colecovision.eu>
1426         * src/SDCCopt.c,
1427           support/regression/tests/bug-3660.c:
1428           Fix bug #3660.
1430 2023-10-04 Philipp Klaus Krause <philipp@colecovision.eu>
1432         * src/z80/gen.c:
1433           Rabbit interrupt handling fixes, based on patch by D-mo.
1435 2023-10-03 Philipp Klaus Krause <philipp@colecovision.eu>
1437         * sdas/asrab/rabmch.c:
1438           Fix bug #3661, patch by D-mo.
1439         * support/regression/tests/bug-3661.c:
1440           Regression test for bug #3661.
1442 2023-09-30 Maarten Brock <sourceforge.brock AT dse.nl>
1444         * support/regression/ports/uc6502-stack-auto/support.c,
1445         * support/regression/ports/uc6502-stack-auto/uCsim.cmd,
1446         * support/regression/ports/uc6502/support.c,
1447         * support/regression/ports/uc6502/uCsim.cmd: moved simif to safer location
1449 2023-09-27 Philipp Klaus Krause <philipp@colecovision.eu>
1451         * device/lib/r2k/crt0.s,
1452           device/lib/r2ka/crt0.s,
1453           device/lib/r3ka/crt0.s:
1454           Place interrupt vector table at multiple of 512B, as required on Rabbit 3000 and above.
1456 2023-09-27 Maarten Brock <sourceforge.brock AT dse.nl>
1458         * support/regression/tests/bug-3563.c: revert accidental enable of failing test
1460 2023-09-25 Philipp Klaus Krause <philipp@colecovision.eu>
1462         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c:
1463           Disable test for FreeBSD 13 / clang-14, where it fails due to known bug.
1465 2023-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
1467         * device/lib/mos6502-stack-auto/crt0.s,
1468         * device/lib/mos6502/crt0.s: clear zero page, reorder areas
1469         * src/mos6502/main.c(m6502_finaliseOptions): use whole zero page,
1470           improved default memory map
1471           (m6502_genAssemblerPreamble): move __DPTR & __TEMP to fixed
1472           address from 0 and up,
1473           (m6502_genIVT): fixed, allow only 2 interrupts
1474         * support/regression/ports/uc6502-stack-auto/spec.mk,
1475         * support/regression/ports/uc6502/spec.mk: use more logical memory map
1476         * support/regression/gte/pr34099.c: suppress valid warning
1477         * support/regression/gte/pr97404.c,
1478         * support/regression/gte/pr97836.c,
1479         * support/regression/tests/bug-3563.c: fixed warnings
1481 2023-09-21 Philipp Klaus Krause <philipp@colecovision.eu>
1483         * sdas/asstm8/stm8.h,
1484           sdas/asstm8/stm8mch.c,
1485           sdas/linksrc/lklist.c,
1486           src/SDCCopt.c,
1487           src/SDCCval.c:
1488           Fix a few cases of undefined behavior.
1489         * device/lib/r*k*/crt0.s:
1490           Fix location of secondary watchdog interrupt vector (part of bug #3652).
1492 2023-09-18 Philipp Klaus Krause <philipp@colecovision.eu>
1494         * support/regression/tests/charconst.c,
1495           support/regression/tests/escape.c,
1496           support/regression/tests/new_wide.c,
1497           support/regression/tests/string.c,
1498           support/regression/tests/wchar.c.in:
1499           Handle hosts that are C11-compliant on the compiler side, but not the library side better.
1500         * support/regression/tests/wchar.c.in:
1501           Disable a test for OpenBSD, where it fails due to known OpenBSD bug.
1503 2023-09-14 Philipp Klaus Krause <philipp@colecovision.eu>
1505         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c,
1506           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c,
1507           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_xy.c,
1508           support/regression/tests/setjmp.c,
1509           support/regression/tests/wchar.c.in:
1510           Disable tests where they fail due to known FreeBSD 13 bugs.
1512 2023-09-11 Philipp Klaus Krause <philipp@colecovision.eu>
1514         * src/SDCCcse.c,
1515           src/SDCClrange.c:
1516           Fix issues that resulted in isaddr flag value loss, confusing the ds390 register allocator.
1517         * src/SDCCgenconstprop.cc:
1518           Improve optimizations based on information from generalized constant propagation.
1519         * support/regression/tests/bug-3641.c:
1520           Disable test for target where it fails due to known bug #3643.
1522 2023-09-10 Philipp Klaus Krause <philipp@colecovision.eu>
1524         * support/regression/tests/bug-3641.c:
1525           Support pre-C23 hosts in test for bug #3641.
1527 2023-09-09 Philipp Klaus Krause <philipp@colecovision.eu>
1529         * support/regression/tests/bug-3641.c:
1530           Regression test for bug #3641.
1532 2023-09-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1534         * src/hc08/gen.c (genAssignLit): fix bug #3641
1536 2023-09-01 Philipp Klaus Krause <philipp@colecovision.eu>
1538         * src/SDCCgenconstprop.cc,
1539           src/pdk/gen.c:
1540           Optimize some pointer writes using intrinsic named address space information from generalized constant propagation.
1542 2023-09-01 Philipp Klaus Krause <philipp@colecovision.eu>
1544         * support/regression/tests/bitintshift.c.in:
1545           Disable parts of test that fail due to known bug #3634.
1547 2023-08-29 Philipp Klaus Krause <philipp@colecovision.eu>
1549         * sdas/asrab/rab.h,
1550           sdas/asrab/rabmch.c,
1551           sdas/asrab/rabpst.c:
1552           Fix handling of some valid instructions in Rabbit assembler (bug #3639, patch by by D-mo).
1553         * support/regression/tests/bug-3639.c:
1554           Regression test for bug #3639.
1556 2023-08-28 Philipp Klaus Krause <philipp@colecovision.eu>
1558         * doc/README.txt,
1559           doc/sdccman.lyx:
1560           Basic r800 port documentation.
1561         * support/scripts/sdcc.nsi:
1562           Include r800 library in Windows installer.
1563         * src/z80/gen.c:
1564           Cost function fixes for z80-related backends.
1566 2023-08-27 Philipp Klaus Krause <philipp@colecovision.eu>
1568         * Merge r800 branch to trunk.
1569         * support/regression/Makefile.in:
1570           Include r800 port in test-z80 regression test target.
1571         * support/regression/MakeList:
1572           Disable a test for r800 that fails for all z80-related ports.
1574 2023-08-27 Philipp Klaus Krause <philipp@colecovision.eu>
1576         * sim/ucsim/z80.src/inst_ed.cc,
1577           src/z80/gen.c,
1578           src/z80/peep.c:
1579           Fixes for R800 multiplication instructions.
1581 2023-08-27 Felix Salfelder <felix AT salfelder.org>
1583         * support/regression/Makefile.in: deal with longer subresult list.
1584         * support/regression/tests/bitintshift.c.in: more subcases.
1586 2023-08-27 Philipp Klaus Krause <philipp@colecovision.eu>
1588         * support/regression/fwk/include/testfwk.h,
1589           support/regression/ports/ucr800/spec.mk:
1590           r800 regression test infrstructure.
1591         * src/z80/gen.c:
1592           r800 calling convention fix.
1594 2023-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
1596         * support/regression/gte/960830-1.c: deleted, is only relevant for i386
1597         * support/regression/ports/mcs51-common/support.c: don't include mcs51reg.h,
1598           define TI & SBUF directly instead, prevents name clash with B
1599         * support/regression/MakeList: enabled tcc_30_hanoi
1600         * support/regression/cases/Makefile.in: remove disabled warnings,
1601           fixed warnings
1602         * support/regression/collate-results.py,
1603         * support/regression/compact-results.py: cosmetics
1604         * support/regression/gte/20001124-1.c,
1605         * support/regression/gte/20001229-1.c,
1606         * support/regression/gte/20010119-1.c,
1607         * support/regression/gte/20030216-1.c,
1608         * support/regression/gte/20091229-1.c,
1609         * support/regression/gte/900409-1.c,
1610         * support/regression/gte/930930-2.c,
1611         * support/regression/gte/950426-2.c,
1612         * support/regression/gte/951204-1.c,
1613         * support/regression/gte/960405-1.c,
1614         * support/regression/gte/970214-1.c,
1615         * support/regression/gte/970214-2.c,
1616         * support/regression/gte/990324-1.c,
1617         * support/regression/gte/991019-1.c,
1618         * support/regression/gte/alias-access-path-2.c,
1619         * support/regression/gte/pr17252.c,
1620         * support/regression/gte/pr22493-1.c,
1621         * support/regression/gte/pr23047.c,
1622         * support/regression/gte/pr38048-2.c,
1623         * support/regression/gte/pr40493.c,
1624         * support/regression/gte/pr49712.c: fixed warnings
1625         * support/regression/gte/20010329-1.c,
1626         * support/regression/gte/20030404-1.c,
1627         * support/regression/gte/20080222-1.c,
1628         * support/regression/gte/980526-2.c,
1629         * support/regression/gte/pr17133.c,
1630         * support/regression/gte/pr29798.c,
1631         * support/regression/gte/pr34099-2.c,
1632         * support/regression/gte/pr43629.c,
1633         * support/regression/gte/pr44942.c,
1634         * support/regression/gte/pr53465.c: suppressed valid warnings
1635         * support/regression/qct/0025-string.c,
1636         * support/regression/qct/0027-charval.c,
1637         * support/regression/qct/0032-indec.c,
1638         * support/regression/qct/0059-multistring.c,
1639         * support/regression/tcc/30_hanoi.c: cosmetics
1641 2023-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
1643         * support/regression/tests/bug-3165.c: enabled for mcs51 & ds390,
1644           fixed warnings
1646 2023-08-26 Philipp Klaus Krause <philipp@colecovision.eu>
1648         * sdas/asrab/rab.h,
1649           sdas/asrab/rabadr.c,
1650           sdas/asrab/rabmch.c:
1651           Fix handling of some valid instructions in Rabbit assembler (bug #3636, patch by by D-mo).
1652         * support/regression/tests/bug-3636.c:
1653           Regression test for bug #3636.
1655 2023-08-26 Philipp Klaus Krause <philipp@colecovision.eu>
1657         * sdas/asrab/rab.h,
1658           sdas/asrab/rabadr.c,
1659           sdas/asrab/rabmch.c:
1660           Fix handling of some invalid instructions in Rabbit assembler (bug #3638, patch by by D-mo).
1662 2023-08-26 Philipp Klaus Krause <philipp@colecovision.eu>
1664         * support/regression/tests/bug-3165.c,
1665           support/regression/tests/bug-3167.c:
1666           Rename regression test to match correct bug number.
1668 2023-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
1670         * device/lib/pic16/libc/string/memchr.c,
1671         * device/lib/pic16/libc/string/memchrpgm.c,
1672         * device/lib/pic16/libc/string/memchrram.c: fixed buggy implementations
1673         * src/pic14/genarith.c(genPlus): fixed warning
1674         * support/regression/qct/0026-implicitret.c: disable expected warning 278
1675         * support/regression/tcc/97_utf8_string_literal.c: replaced abort() by
1676           return, is this test even linked, let alone run?
1677         * support/regression/tests/gcc-torture-execute-930106-1.c: very odd test,
1678           fixed warnings
1679         * support/regression/tests/gcc-torture-execute-cmpsf-1.c: enabled for mcs51
1680           with correct_results[] const, fixed warnings
1681         * support/regression/tests/gcc-torture-execute-strct-varg-1.c: enabled for
1682           hc08 & s08, fixed warnings
1683         * support/regression/tests/lonesha256.c: disabled for mcs51-stack-auto
1684         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_2_xy.c:
1685           added comment about incorrect warning 127
1686         * support/regression/tcc/109_float_struct_calling.c,
1687         * support/regression/tcc/10_pointer.c,
1688         * support/regression/tcc/11_precedence.c,
1689         * support/regression/tcc/30_hanoi.c,
1690         * support/regression/tcc/52_unnamed_enum.c,
1691         * support/regression/tcc/54_goto.c,
1692         * support/regression/tcc/55_lshift_type.c,
1693         * support/regression/tests/gcc-torture-execute-20000717-3.c,
1694         * support/regression/tests/gcc-torture-execute-20020201-1.c,
1695         * support/regression/tests/gcc-torture-execute-20020328-1.c,
1696         * support/regression/tests/gcc-torture-execute-20020819-1.c,
1697         * support/regression/tests/gcc-torture-execute-20041019-1.c,
1698         * support/regression/tests/gcc-torture-execute-20100430-1.c,
1699         * support/regression/tests/gcc-torture-execute-20120427-1.c,
1700         * support/regression/tests/gcc-torture-execute-20120427-2.c,
1701         * support/regression/tests/gcc-torture-execute-920202-1.c,
1702         * support/regression/tests/gcc-torture-execute-920428-1.c,
1703         * support/regression/tests/gcc-torture-execute-920520-1.c,
1704         * support/regression/tests/gcc-torture-execute-920812-1.c,
1705         * support/regression/tests/gcc-torture-execute-921123-1.c,
1706         * support/regression/tests/gcc-torture-execute-930123-1.c,
1707         * support/regression/tests/gcc-torture-execute-930518-1.c,
1708         * support/regression/tests/gcc-torture-execute-930603-2.c,
1709         * support/regression/tests/gcc-torture-execute-931017-1.c,
1710         * support/regression/tests/gcc-torture-execute-950322-1.c,
1711         * support/regression/tests/gcc-torture-execute-950621-1.c,
1712         * support/regression/tests/gcc-torture-execute-950809-1.c,
1713         * support/regression/tests/gcc-torture-execute-960219-1.c,
1714         * support/regression/tests/gcc-torture-execute-960302-1.c,
1715         * support/regression/tests/gcc-torture-execute-960327-1.c,
1716         * support/regression/tests/gcc-torture-execute-960402-1.c,
1717         * support/regression/tests/gcc-torture-execute-980701-1.c,
1718         * support/regression/tests/gcc-torture-execute-990106-1.c,
1719         * support/regression/tests/gcc-torture-execute-991023-1.c,
1720         * support/regression/tests/gcc-torture-execute-cmpsi-1.c,
1721         * support/regression/tests/gcc-torture-execute-divconst-1.c,
1722         * support/regression/tests/gcc-torture-execute-divmod-1.c,
1723         * support/regression/tests/gcc-torture-execute-lto-tbaa-1.c,
1724         * support/regression/tests/gcc-torture-execute-packed-1.c,
1725         * support/regression/tests/gcc-torture-execute-postmod-1.c,
1726         * support/regression/tests/gcc-torture-execute-strct-stdarg-1.c,
1727         * support/regression/tests/gcc-torture-execute-string-opt-5.c,
1728         * support/regression/tests/gcc-torture-execute-va-arg-1.c,
1729         * support/regression/tests/gcc-torture-execute-va-arg-5.c,
1730         * support/regression/tests/gcc-torture-execute-va-arg-6.c: fixed warnings
1732 2023-08-25 Maarten Brock <sourceforge.brock AT dse.nl>
1734         * src/mcs51/rtrack.c(_mcs51_rtrackUpdate): added dptr+=2 case,
1735           added detecting modified bits in B
1737 2023-08-21 Maarten Brock <sourceforge.brock AT dse.nl>
1739         * device/lib/mcs51/Makefile.in: reverted accidental commit
1741 2023-08-19 Maarten Brock <sourceforge.brock AT dse.nl>
1743         * device/include/asm/default/features.h,
1744         * device/include/asm/ds390/features.h,
1745         * device/include/asm/mcs51/features.h,
1746         * device/include/asm/pic14/features.h,
1747         * device/include/asm/pic16/features.h,
1748         * device/include/asm/r2k/features.h,
1749         * device/include/asm/r3ka/features.h,
1750         * device/include/asm/sm83/features.h,
1751         * device/include/asm/stm8/features.h,
1752         * device/include/asm/tlcs90/features.h,
1753         * device/include/asm/z80/features.h: added __SDCC_NONBANKED
1754         * device/include/float.h: use __SDCC_NONBANKED for __SDCC_FLOAT_NONBANKED
1755         * device/include/sdcc-lib.h: cosmetics
1756         * device/lib/_divsint.c,
1757         * device/lib/_divslong.c,
1758         * device/lib/_divslonglong.c,
1759         * device/lib/_divuint.c,
1760         * device/lib/_divulong.c,
1761         * device/lib/_divulonglong.c,
1762         * device/lib/_modsint.c,
1763         * device/lib/_modslong.c,
1764         * device/lib/_modslonglong.c,
1765         * device/lib/_moduint.c,
1766         * device/lib/_modulong.c,
1767         * device/lib/_modulonglong.c,
1768         * device/lib/_mulint.c,
1769         * device/lib/_mullong.c,
1770         * device/lib/_mullonglong.c: moved __SDCC_NONBANKED to sdcc-lib.h
1771         * device/lib/_slonglong2fs.c: cosmetics
1772         * device/lib/Makefile.in,
1773         * device/lib/hc08/Makefile.in,
1774         * device/lib/mos6502/Makefile.in,
1775         * device/lib/mos6502-stack-auto/Makefile.in,
1776         * device/lib/mos65c02/Makefile.in,
1777         * device/lib/pdk13/Makefile.in,
1778         * device/lib/pdk14/Makefile.in,
1779         * device/lib/pdk15/Makefile.in,
1780         * device/lib/pdk15-stack-auto/Makefile.in,
1781         * device/lib/s08/Makefile.in,
1782         * device/lib/s08-stack-auto/Makefile.in,
1783         * device/lib/stm8/Makefile.in,
1784         * device/lib/stm8-large/Makefile.in,
1785         * src/SDCCsymt.c (initCSupport): renamed _r[lr][su]longlong.c to
1786           _s[lr][su]longlong.c because they are shifts not rotates
1787         * device/lib/_slslonglong.c: renamed from _rlslonglong.c,
1788           moved __SDCC_NONBANKED to sdcc-lib.h
1789         * device/lib/_slulonglong.c: renamed from _rlulonglong.c,
1790           moved __SDCC_NONBANKED to sdcc-lib.h,
1791           use _AUTOMEM for better code generation
1792         * device/lib/_srslonglong.c: renamed from _rrslonglong.c,
1793           bugfix little endian variant,
1794           moved __SDCC_NONBANKED to sdcc-lib.h,
1795           use _AUTOMEM for better code generation,
1796           removed comment about non-existing rrulonglong_rrx_s.c
1797         * device/lib/_srulonglong.c: renamed from _rrulonglong.c,
1798           moved __SDCC_NONBANKED to sdcc-lib.h,
1799           use _AUTOMEM for better code generation,
1800           removed comment about non-existing rrulonglong_rrx_s.c
1801         * device/lib/mos6502/_srslonglong.c: renamed from _rrslonglong.c
1802         * device/lib/mos6502/_srulonglong.c: renamed from _rrulonglong.c
1803         * device/lib/mos6502-stack-auto/_srslonglong.c: renamed from _rrslonglong.c
1804         * device/lib/mos6502-stack-auto/_srulonglong.c: renamed from _rrulonglong.c
1806         * device/lib/atomic_flag_clear.c: generate external definition for
1807           inline definition with external linkage
1808         * device/include/stdatomic.h: inline atomic_flag_clear(),
1809           use 0xfe for z80-like,
1810           use __SDCC_NONBANKED
1811         * device/lib/ez80_z80/atomic_flag_test_and_set.s,
1812         * device/lib/r2k/atomic_flag_test_and_set.s,
1813         * device/lib/r2ka/atomic_flag_test_and_set.s,
1814         * device/lib/r3ka/atomic_flag_test_and_set.s,
1815         * device/lib/sm83/atomic_flag_test_and_set.s,
1816         * device/lib/z180/atomic_flag_test_and_set.s,
1817         * device/lib/z80/atomic_flag_test_and_set.s,
1818         * device/lib/z80n/atomic_flag_test_and_set.s: use sra on 0xfe and drop ccf
1820         * device/lib/strtoull.c: drop oldret
1821         * device/lib/wcstoull.c: drop oldret,
1822           (_isdigit): fix L'a',
1823           (strtoull): bugfix, renamed to wcstoull() & use iswblank()
1825         * debugger/mcs51/sdcdb.c (readCdb): fixed warning/bug
1826         * src/SDCC.y: fixed warnings
1827         * src/SDCCval.h,
1828         * src/SDCCval.c (ullFromVal): make val const to fix warnings
1829         * src/mcs51/ralloc.c (regsUsedIniCode): removed label to fix warning
1830         * src/mos6502/gen.c (opInfo): fix warning,
1831           (genRightShift): fixed warning
1832         * src/z80/ralloc.c (regsUsedIniCode): removed label to fix warning
1833         * support/cpp/gcc/diagnostic.cc (fancy_abort): fixed warning,
1834           removed formfeeds
1835         * support/cpp/gcc/gcc.cc (insert_comments,get_random_number): fixed warnings
1836           removed formfeeds
1837         * support/cpp/libcpp/expr.cc (cpp_classify_number): fixed warnings,
1838           removed formfeeds
1839         * support/cpp/libcpp/macro.cc (update,create_iso_definition): fixed warnings
1840         * support/makebin/makebin.c: fixed warning
1842 2023-08-17 Benedikt Freisen <b.freisen AT gmx.net>
1844         * device/include/inttypes.h,
1845           device/include/stdlib.h,
1846           device/include/wchar.h,
1847           device/lib/Makefile.in,
1848           device/lib/imaxabs.c,
1849           device/lib/imaxdiv.c,
1850           device/lib/incl.mk,
1851           device/lib/llabs.c,
1852           device/lib/strtoimax.c,
1853           device/lib/strtoll.c,
1854           device/lib/strtoul.c,
1855           device/lib/strtoull.c,
1856           device/lib/strtoumax.c,
1857           device/lib/wcsncmp.c,
1858           device/lib/wcstoimax.c,
1859           device/lib/wcstol.c,
1860           device/lib/wcstoll.c,
1861           device/lib/wcstoul.c,
1862           device/lib/wcstoull.c,
1863           device/lib/wcstoumax.c,
1864           support/regression/tests/wcsto.c:
1865           Add inttypes.h and missing dependencies.
1867 2023-08-17 Philipp Klaus Krause <philipp@colecovision.eu>
1869         * src/pdk/gen.c:
1870           Fix a bug in pdk code generation for shifts.
1871         * support/regression/tests/shifts2.c.in:
1872           Disable a part of a test for configurations where it fails due to lack of memory.
1874 2023-08-17 Maarten Brock <sourceforge.brock AT dse.nl>
1876         * src/pic14/glue.c,
1877         * src/pic16/glue.c: moved no_assemble into options
1879 2023-08-17 Philipp Klaus Krause <philipp@colecovision.eu>
1881         * support/regression/tests/shifts2.c.in,
1882           support/regression/tests/bitintshift.c.in:
1883           Improve test coverage for shifts of wide variables.
1884         * device/lib/_rlulonglong.c,
1885           device/lib/_rrslonglong.c,
1886           device/lib/_rrulonglong.c:
1887           Fix choice of endiannness for support functions for shifts of wide variables.
1889 2023-08-16 Maarten Brock <sourceforge.brock AT dse.nl>
1891         * debugger/mcs51/cmd.c: fixed compiler warning
1892         * src/SDCCglobl.h,
1893         * src/SDCCglue.c,
1894         * src/SDCCmain.c: moved syntax_only & no_assemble into options
1895         * src/SDCCopt.c(eBBlockFromiCode): do not call assignRegisters() for
1896             --syntax-only
1898 2023-08-15 Maarten Brock <sourceforge.brock AT dse.nl>
1900         * sim/ucsim/test-target.mk: do not remove ihx files that are in svn
1902 2023-08-14 Maarten Brock <sourceforge.brock AT dse.nl>
1904         * src/SDCCmain.c: added --syntax-only option, implements RFE #886
1905         * doc/sdccman.lyx: documented --syntax-only
1907 2023-08-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1909         * support/regression/tests/charconst.c,
1910           support/regression/tests/wchar.c.in: disable for MacOS host test
1912 2023-08-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1914         * support/regression/tests/bug-2855.c: disable for MacOS host test
1915         * support/regression/tests/charconst.c,
1916           support/regression/tests/string.c,
1917           support/regression/tests/wchar.c.in: work around missing uchar.h
1918           on MacOS host test
1920 2023-08-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1922         * support/scripts/sdcc.nsi: Remove unused/unbuilt simulators
1924 2023-08-03 Philipp Klaus Krause <philipp@colecovision.eu>
1926         * src/ds390/gen.c,
1927           src/ds390/ralloc.c,
1928           src/hc08/gen.c,
1929           src/mcs51/gen.c,
1930           src/mcs51/ralloc.c,
1931           src/pdk/gen.c,
1932           src/z80/gen.c:
1933           Fix various bugs found by sanitizers.
1935 2023-08-01 Philipp Klaus Krause <philipp@colecovision.eu>
1937         * src/SDCCgenconstprop.cc,
1938           src/SDCCpeeph.c,
1939           src/pdk/gen.c,
1940           src/stm8/gen.c,
1941           src/z80/gen.c:
1942           Fix various bugs found by sanitizers.
1944 2023-07-31 Philipp Klaus Krause <pkk@spth.de>
1946         * support/regression/ports/ucr800/spec.mk:
1947           Infrastructure for future r800 regression testing.
1949 2023-07-31 Philipp Klaus Krause <philipp@colecovision.eu>
1951         * src/SDCCgenconstprop.cc,
1952           src/pdk/ralloc.c:
1953           Fix some issues, mostly in generalized constant propagation.
1955 2023-07-29 Philipp Klaus Krause <philipp@colecovision.eu>
1957         * src/SDCCcse.c,
1958           src/SDCCcse.h,
1959           src/SDCCopt.c,
1960           support/regression/tests/bug-3636.c:
1961           Fix bug #3626.
1962         * src/SDCCsymt.c,
1963           support/regression/tests/bug-3597.c:
1964           Fix bug #3597.
1965         * src/SDCCast.c,
1966           support/valdiag/tests/bug-2240.c:
1967           Fix bug #2240.
1969 2023-07-28 Philipp Klaus Krause <pkk@spth.de>
1971         * sdas/asz80/z80.h,
1972           sdas/asz80/z80mch.c,
1973           sdas/asz80/z80pst.c:
1974           Basic R800 assembler support.
1975         * configure,
1976           configure.ac,
1977           src/SDCCmain.c,
1978           src/port.h,
1979           src/z80/main.c,
1980           src/SDCCglue.c,
1981       src/z80/gen.c,
1982       src/z80/z80.h,
1983       src/z80/peep.c,
1984       device/include/*.h,
1985       device/lib/Makefile.in,
1986       device/lib/_memset.c,
1987       device/lib/clean.mk,
1988       device/lib/r800:
1989           Infrastructure for r800 port, use multu for 8x8->16 multiplication.
1991 2023-07-27 Philipp Klaus Krause <philipp@colecovision.eu>
1993         * device/lib/mbrtowc.c,
1994           support/regression/tests/wchar.c.in:
1995           Fix an issue in the return value of mbrtowc for 0 character (it indirectly also affected mbrtoc16 and mbrtoc32).
1997 2023-07-27 Philipp Klaus Krause <philipp@colecovision.eu>
1999         * src/z80/gen.c:
2000           Fix bug #3619.
2002 2023-07-27 Philipp Klaus Krause <philipp@colecovision.eu>
2004         * device/lib:
2005           Spelling fixes, patch #465 by Konstantin Kim.
2007 2023-07-26 Maarten Brock <sourceforge.brock AT dse.nl>
2009         * _gptrget.c,
2010         * _gptrgetc.c,
2011         * _gptrput.c: applied patch #464, Thanks Konstantin Kim
2012             also fixed/improved non-active SDCC_MODEL_MEDIUM variants of this lib
2014 2023-07-21 Benedikt Freisen <b.freisen AT gmx.net>
2016         * doc/sdccman.lyx:
2017           Update documentation of pragma sdcc_hash.
2019 2023-07-17 Felix Salfelder <felix AT salfelder.org>
2021         * support/regression/cases/generate-cases.py:
2022           Fix bug #3614.
2024 2023-07-17 Felix Salfelder <felix AT salfelder.org>
2026         * support/regression/Makefile.in,
2027           support/regression/compact-results.py:
2028           Fix bug #3613.
2030 2023-07-13 Philipp Klaus Krause <philipp@colecovision.eu>
2032         * src/pdk/gen.c:
2033           Fix bug #3615 for pdk15.
2035 2023-07-13 Philipp Klaus Krause <philipp@colecovision.eu>
2037         * support/regression/tests/_minimal.c:
2038           Fix an accidentially comitted debug line.
2039         * src/stm8/gen.c:
2040           Fix bug #3615 for stm8.
2042 2023-07-10 Philipp Klaus Krause <philipp@colecovision.eu>
2044         * src/z80/gen.c:
2045           Fix a Z(1)80 bug in wide reads from pointers into registers.
2047 2023-07-09 Philipp Klaus Krause <philipp@colecovision.eu>
2049         * src/SDCCicode.c,
2050           src/*/main.c:
2051           Fix bug #3611 via patch by bbbbbr.
2052         * src/SDCCgenconstprop.cc:
2053           Use (CHAR_BIT * sizeof (unsigned long long)) when C2X ULLONG_WIDTH is not available.
2054         * src/SDCCcse.c:
2055           Fix bug #3612.
2057 2023-07-07 Philipp Klaus Krause <philipp@colecovision.eu>
2059         * Merge genconstprop branch to trunk.
2061 2023-07-07 Philipp Klaus Krause <philipp@colecovision.eu>
2063         * .version:
2064           Bump version for generalized constant propagation.
2066 2023-07-07 Philipp Klaus Krause <philipp@colecovision.eu>
2068         * Merge next branch to trunk.
2069         * device/lib/stm8/support:
2070           Cleanup.
2072 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2074         * src/SDCCopt.c:
2075           Fix a compiler crash due to operation narrowing invalidating iCode sequence numbers.
2077 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2079         * src/ds390/gen.c:
2080           Fix an issue in ds390 casts to _BitInt.
2082 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2084         * src/SDCCgenconstprop.cc,
2085           src/pdk/main.c:
2086           Generalized constant propagation optimization for pdk and mcs51 pointers.
2088 2023-07-02 Philipp Klaus Krause <philipp@colecovision.eu>
2090         * src/SDCCgenconstprop.cc:
2091           Basic generalized constant propagation analysis for pdk and mcs51 pointers.
2093 2023-07-02 Philipp Klaus Krause <philipp@colecovision.eu>
2095         * src/SDCCgenconstprop.cc:
2096           Fix dumping of generalized constant propagation analysis graph debug info for initialization of global objects.
2098 2023-07-01 Philipp Klaus Krause <philipp@colecovision.eu>
2100         * src/mcs51/gen.c,
2101           support/regression/tests/bug-3607.c:
2102           Fix bug #3607, using a variant of the patch by Oleg Endo.
2104 2023-06-30 Philipp Klaus Krause <philipp@colecovision.eu>
2106         * src/stm8/gen.c:
2107           Fix bug #3609.
2108         * src/z80/gen.c,
2109           support/regression/tests/bug-3606.c:
2110           Fix bug #3606.
2111         * src/hc08/gen.c:
2112           Fix bug #3604.
2113         * doc/README.txt:
2114           Fix bug #3605.
2116 2023-06-30 Philipp Klaus Krause <philipp@colecovision.eu>
2118         * src/stm8/gen.c:
2119           Improve 16-bit comparisons.
2121 2023-06-29 Philipp Klaus Krause <philipp@colecovision.eu>
2123         * src/SDCCgenconstprop.cc:
2124           Improve generalized constant propagation analysis for /, %.
2126 2023-06-27 Philipp Klaus Krause <philipp@colecovision.eu>
2128         * src/SDCCgenconstprop.cc:
2129           Improve interval / bit synchronization in generalized constant propagation analysis.
2131 2023-06-27 Philipp Klaus Krause <philipp@colecovision.eu>
2133         * src/SDCCast.c,
2134           support/valdiag/tests/bug-3603.c:
2135           Fix bug #3603.
2136         * src/SDCCmain.c,
2137           src/pdk/main.c,
2138           src/z80/main.c:
2139           Improve error message on invalid -mmarch option, part of RFE #881.
2141 2023-06-22 Philipp Klaus Krause <philipp@colecovision.eu>
2143         * support/scripts/sdcc.nsi:
2144           Change references to bin\cc1.exe to libexec\sdcc\cc1 (picked from nativecrosstools branch).
2146 2023-06-21 Philipp Klaus Krause <philipp@colecovision.eu>
2148         * src/SDCCgenconstprop.cc,
2149           src/SDCCopt.c,
2150           src/hc08/main.c,
2151           src/*/ralloc2.cc:
2152           Fixes for generalized constant propagation and support functions for _BitInt.
2154 2023-06-20 Philipp Klaus Krause <philipp@colecovision.eu>
2156         * src/SDCCgenconstprop.cc:
2157           Improve generalized constant propagation analysis and optimization.
2159 2023-06-20 Philipp Klaus Krause <philipp@colecovision.eu>
2161         * src/SDCCBBlock.c,
2162           src/SDCCgenconstprop.cc,
2163           src/SDCCopt.c,
2164           src/SDCCopt.h:
2165           Replace a multiplication narrowing optimization by a more generic one based on generalized constant propagation.
2167 2023-06-20 Philipp Klaus Krause <philipp@colecovision.eu>
2169         * src/SDCCgenconstprop.cc:
2170           Improve generalized constant propgation analysis and optimization.
2171         * src/hc08/gen.c,
2172           src/pdk/gen.c,
2173           src/stm8/gen.c,
2174           src/z80/gen.c,
2175           src/mos6502/ralloc2.cc:
2176           Further use of information from generalized constant propagation analysis in code generation.
2178 2023-06-19 Philipp Klaus Krause <philipp@colecovision.eu>
2180         * src/hc08/gen.c,
2181           src/hc08/gen.h,
2182           src/hc08/main.c,
2183           src/hc08/ralloc.c,
2184           src/hc08/ralloc2.cc:
2185           Use information from generalized constant propagation analysis in hc08 code generation, remove support for old register allocator.
2187 2023-06-18 Philipp Klaus Krause <philipp@colecovision.eu>
2189         * src/SDCCgenconstprop.cc,
2190           src/pdk/gen.c:
2191           Improve generalized constant propagation analysis and optimization.
2193 2023-06-18 Philipp Klaus Krause <philipp@colecovision.eu>
2195         * src/SDCCgenconstprop.cc,
2196           src/z80/gen.c,
2197           src/pdk/gen.c,
2198           src/stm8/gen.c:
2199           Use information from generalized constant propagation analysis in code generation.
2201 2023-06-15 Philipp Klaus Krause <philipp@colecovision.eu>
2203         * src/SDCCBBlock.c,
2204           src/SDCCcse.c,
2205           src/SDCCdflow.c,
2206           src/SDCClrange.c,
2207           src/SDCCopt.c,
2208           src/SDCCralloc.hpp,
2209           src/*/ralloc.c,
2210           src/*/ralloc2.cc:
2211           Simplify based on IC_(JT)COND now being an alias for IC_LEFT.
2213 2023-06-15 Philipp Klaus Krause <philipp@colecovision.eu>
2215         * src/SDCCdflow.h,
2216           src/SDCCgenconstprop.cc,
2217           src/SDCCopt.c,
2218           src/z80/gen.c,
2219           src/z80/gen.h,
2220           src/z80/ralloc2.cc,
2221           src/stm8/gen.c,
2222           src/stm8/gen.h,
2223           src/stm8/ralloc2.cc:
2224           Basic generalized constant propgation analysis and optimization for individual operand bits.
2226 2023-06-13 Philipp Klaus Krause <philipp@colecovision.eu>
2228         * src/SDCCgenconstprop.cc:
2229           Fixes and improvements for generalized constant propagation optimization and analysis.
2231 2023-06-13 Philipp Klaus Krause <philipp@colecovision.eu>
2233         * src/mos6502/gen.c
2234           Fix negation of literals for mos6502.
2235         * src/SDCCgenconstprop.cc:
2236           Fix handling of __bit in generalized constant propagation analysis.
2238 2023-06-12 Philipp Klaus Krause <philipp@colecovision.eu>
2240         * src/SDCCopt.c:
2241           Fix an issue in handling parameters during conversion of builtin functions at the beginning of a basic block.
2243 2023-06-12 Philipp Klaus Krause <philipp@colecovision.eu>
2245         * src/SDCCBBlock.c,
2246           src/SDCCglobl.h,
2247           src/SDCCopt.c:
2248           Dump iCode after generalized constant propagation.
2250 2023-06-12 Philipp Klaus Krause <philipp@colecovision.eu>
2252         * src/SDCClrange.c:
2253           Fix a corner case in live-range separation that would hang SDCC on compiling the pic14 library (and result in some missed optimizations for other ports).
2254         * src/pdk/gen.c:
2255           Fix a pdk codegen issue that could result in invalid asm for pdk13 on bitwise and in if condition.
2256         * src/SDCCopt.c:
2257           Fix an issue in support function call handling that gets exposed in the genconstprop branch via incorrect elimination of an iCode in live range separation.
2259 2023-06-11 Philipp Klaus Krause <philipp@colecovision.eu>
2261         * src/SDCCdflow.h,
2262           src/SDCCgenconstprop.cc,
2263           src/SDCCsymt.c,
2264           src/SDCCsymt.h:
2265           Basic generalized constant propagation operation narrowing optimization.
2267 2023-06-11 Philipp Klaus Krause <philipp@colecovision.eu>
2269         * src/SDCCgenconstprop.cc:
2270           Improve generalized constant propagation analysis.
2272 2023-06-11 Philipp Klaus Krause <philipp@colecovision.eu>
2274         * device/include/stdckdint.h:
2275           Work around an issue in inlining _Generic results to mitigate strtotul code size regression.
2277 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2279         * src/SDCCgenconstprop.cc:
2280           A few more bits of generalized constant propagation analysis and optimization.
2282 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2284         * src/SDCCgenconstprop.cc:
2285           Improve proof-of-concept for generalized constant propagation analysis and optimization to the point where it almost passes regression tests.
2286         * src/SDCCglobl.h,
2287           src/SDCCmain.c,
2288           src/SDCCopt.c:
2289           Introduce --nogenconstprop option.
2291 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2293         * src/SDCCgenconstprop.cc:
2294           Refactor proof-of-concept for generalized constant propagation analysis using new iCode operand handling.
2296 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2298         * src/SDCCicode.h:
2299           Store operands of IFX and JUMPTAB the same way as operands of other iCodes.
2301 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2303         * src/SDCCdflow.h,
2304           src/SDCCicode.c,
2305           src/SDCCicode.h,
2306           src/SDCClrange.c,
2307           src/SDCCopt.c,
2308           src/SDCCgenconstprop.cc:
2309           A first proof-of-concept for generalized constant propagation analysis.
2311 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2313         * support/regression/MakeList:
2314           Disable tests that fail due to known -ms08 --stack-auto bugs.
2315         * doc/sdccman.lyx:
2316           Document hc08/s08 struct/union parameter support.
2318 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2320         * src/hc08/gen.c,
2321           src/mos6502/gen.c,
2322           src/z80/gen.c:
2323           support/regression/MakeList:
2324           Fix a right-shift codegen sign issue triggered by register packing.
2326 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2328         * src/hc08/gen.c,
2329           support/regression/MakeList:
2330           Catch bug #3598 early.
2332 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2334         * src/hc08/gen.c:
2335           Fix stacked hx result in shifts.
2336         * support/regression/MakeList:
2337           Exclude some tests that need features not yet supported by s08 from s08-stack-auto testing.
2339 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
2341         * src/hc08/gen.c:
2342           hc08/s08 --stack-auto struct/union parameters.
2344 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
2346         * src/SDCCsymt.c,
2347           src/hc08/gen.c:
2348           Caller-side support for hc08/s08 struct/union return.
2350 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
2352         * src/z80/gen.c:
2353           Improve z80 rotation.
2354         * src/mcs51/ralloc.c:
2355           Work around a mcs51 register saving issue (codegen cannot handle a return value in a bit if other bits are live at the call).
2356         * src/SDCCicode.c,
2357           src/SDCCopt.c:
2358           Fix bug #3595.
2360 2023-06-03 Philipp Klaus Krause <philipp@colecovision.eu>
2362         * support/regression/MakeList:
2363           Disable trigraph test for host, since many host compilers no longer support trigraphs.
2365 2023-06-02 Philipp Klaus Krause <philipp@colecovision.eu>
2367         * support/regression/ports/host/spec.mk.in:
2368           Fix C99 flag handling.
2369         * support/regression/tests/align.c.in:
2370           Fix test for current state of SDCC and host compilers wrt. C11 alignment support.
2372 2023-06-02 Philipp Klaus Krause <philipp@colecovision.eu>
2374         * src/SDCCast.c:
2375           Fix type of result in optimization of shifts wider than operand.
2376         * src/z80/gen.c:
2377           Fix left-shift for wide _BitInt.
2378         * src/hc08/gen.c:
2379           Fix shift issues.
2380         * src/pdk/gen.c:
2381           Fix 16-bit bitwise or for register operand with global operand. Fix a in left shift by 8 code generation that overwrote a live pseudoregister p when storing the shift result onto the stack.
2382         * src/stm8/gen.c:
2383           Fix stack balance issue in left shift code generation.
2384         * support/regression/tests/bitintrot.c.in:
2385           _BitInt rotation test.
2387 2023-06-02 Philipp Klaus Krause <philipp@colecovision.eu>
2389         * src/z80/main.c,
2390           src/z80/gen.c:
2391           Improve z80 rotations.
2392         * src/pdk/main.c,
2393           src/pdk/gen.c,
2394           src/pdk/peeph.def:
2395           Improve pdk rotations.
2396         * src/mcs51/main.c,
2397           src/mcs51/gen.c:
2398           Improve mcs51 rotations.
2399         * src/hc08/main.c,
2400           src/hc08/gen.c:
2401           Improve hc08 rotations.
2403 2023-06-01 Philipp Klaus Krause <philipp@colecovision.eu>
2405         * src/SDCCast.c,
2406           src/SDCCsymt.c:
2407           Simplify ROT optimization.
2408         * src/stm8/gen.c,
2409           src/stm8/main.c:
2410           Improve stm8 rotations.
2412 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2414         * src/pdk/main.c,
2415           src/pdk/gen.c:
2416           Support arbitrary rotations of 8-bit values in pdk code generation.
2417         * src/stm8/main.c,
2418           src/stm8/gen.c:
2419           Support arbitrary rotations of 8-bit values in stm8 code generation.
2420         * src/hc08/gen.c,
2421           src/hc08/ralloc2.cc:
2422           Improve code generation for hc08/s08 rotations.
2424 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2426         * .version,
2427           doc/sdccman.lyx,
2428           src/SDCC.lex,
2429           src/SDCC.y,
2430           src/SDCCast.c,
2431           src/SDCCcse.c,
2432           src/SDCCicode.c,
2433           src/SDCClospre.cc,
2434           src/SDCCopt.c,
2435           src/*/gen.c,
2436           src/*/main.c,
2437           src/*/ralloc2.cc:
2438           Replace RLC, RRC, SWAP by ROT, RFE #877.
2440 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2442         * src/port.h,
2443           src/SDCCast.c,
2444           src/*/main.c:
2445           Prepare for generalized swap / rotation support.
2447 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2449         * configure,
2450           configure.ac,
2451           device/lib/Makefile.in,
2452           device/lib/clean.mk,
2453           device/lib/s08-stack-auto,
2454           support/regression/ports/s08-stack-auto:
2455           Infrastructure for testing s08 port with --stack-auto.
2457 2023-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
2459         * aclocal.m4,
2460           configure,
2461           configure.ac,
2462           sdccconf_in.h:
2463           Update configure-time host C compiler checks for currently used standard.
2465 2023-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
2467         * doc/sdccman.lyx:
2468           Document change in -MMD vs. -MF argument.
2469         * .version,
2470           doc/INSTALL.txt,
2471           sdcc.spec:
2472           Bump version to prepare for 4.3.0 release.
2474 2023-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
2476         * src/mos6502/peeph.def,
2477           support/regression/tests/bug-3593.c:
2478           Fix bug #3593, using a variant of a patch by Christopher Williams.
2480 2023-05-29 Philipp Klaus Krause <philipp@colecovision.eu>
2482         * device/lib/pic14/Makefile.in,
2483           device/lib/pic14/aclocal.m4,
2484           device/lib/pic14/configure,
2485           device/lib/pic14/configure.ac,
2486           device/lib/pic14/libc/Makefile.in,
2487           device/lib/pic14/libm/Makefile.in,
2488           device/lib/pic14/libsdcc/enhanced/Makefile.in,
2489           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
2490           device/lib/pic14/libsdcc/regular/Makefile.in,
2491           device/lib/pic16/Makefile.in,
2492           device/lib/pic16/aclocal.m4,
2493           device/lib/pic16/configure,
2494           device/lib/pic16/configure.ac,
2495           device/lib/pic16/debug/Makefile.in,
2496           device/lib/pic16/libc/Makefile.in,
2497           device/lib/pic16/libio/Makefile.in,
2498           device/lib/pic16/libm/Makefile.in,
2499           device/lib/pic16/libsdcc/Makefile.in,
2500           device/lib/pic16/startup/Makefile.in,
2501           device/non-free/lib/pic14/configure,
2502           device/non-free/lib/pic14/configure.ac,
2503           device/non-free/lib/pic16/Makefile.in,
2504           device/non-free/lib/pic16/aclocal.m4,
2505           device/non-free/lib/pic16/configure,
2506           device/non-free/lib/pic16/configure.ac,
2507           device/non-free/lib/pic16/libdev/Makefile.in:
2508           Updates to pic library build system, fix bug #3140 by implementing maintainer mode.
2510 2023-05-25 Philipp Klaus Krause <philipp@colecovision.eu>
2512         * support/regression/tests/bug-2854.,
2513           support/regression/tests/bug-3474.c,
2514           support/regression/tests/strto.c:
2515           Disable tests for mcs51 medium model that need too much memory since recent strtoul fixes (see also RFE #875).
2517 2023-05-24 Philipp Klaus Krause <philipp@colecovision.eu>
2519         * src/stm8/gen.c,
2520           support/regression/tests/bigstack.c.in:
2521           Improve guards against a potential issue in the interaction of function entry stack adjustment and register parameters.
2522         * src/mos6502/gen.c:
2523           Fix missing statement after label.
2525 2023-05-23 Philipp Klaus Krause <philipp@colecovision.eu>
2527         * src/SDCCopt.c:
2528           Optimize out some redundant iTemps.
2529         * src/SDCClrange.c:
2530           Live range separation fixes.
2532 2023-05-23 Philipp Klaus Krause <philipp@colecovision.eu>
2534         * device/lib/stm8/__mululonguchar2ulonglong.s,
2535           device/lib/stm8-large/__mululonguchar2ulonglong.s,
2536           device/lib/stm8/Makefile.in,
2537           device/lib/stm8-large/Makefile.in,
2538           src/SDCCopt.c,
2539           src/SDCCsymt.c,
2540           src/SDCCsymt.h,
2541           src/port.h,
2542           src/*/main.c:
2543           Special handling of 32x8->64 unsigned multiplication for optimization.
2545 2023-05-23 Philipp Klaus Krause <philipp@colecovision.eu>
2547         * src/stm8/gen.c:
2548           Fix a segfault in a corner case in stm8 codegen.
2549         * device/lib/strtoul.c:
2550           Improve strtoul range error check.
2551         * support/regression/tests/mulextra.c:
2552           Improve test coverage for multiplication with operands of different types.
2554 2023-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
2556         * src/mos6502/gen.c,
2557           src/mos6502/main.c:
2558           mos6502 _BitInt support.
2559         * device/lib/strtoul.c,
2560           support/regression/tests/strto.c:
2561           Fix C23 binary prefix for strtoo(u)l.
2562         * src/hc08/gen.c:
2563           Comparison codegen improvement.
2564         * device/lib/strtoul.c,
2565           support/regression/tests/strto.c:
2566           Fix a corner case in strtoul range check.
2568 2023-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
2570         * src/hc08/gen.c
2571           src/hc08/main.c,
2572           doc/sdccman.lyx:
2573           hc08/s08 _BitInt support up to 64 bits.
2575 2023-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
2577         * src/hc08/gen.c,
2578           src/hc08/main.c:
2579           hc08/s08 _BitInt support: codegen for addition, subtraction and 16-bit shifts. Enable _BitInt up to 16 bits.
2581 2023-05-19 Philipp Klaus Krause <philipp@colecovision.eu>
2583         * src/hc08/ralloc2.cc,
2584           src/hc08/gen.c:
2585           Prepare for hc08/s08 _BitInt support: codegen for casts.
2587 2023-05-17 Philipp Klaus Krause <philipp@colecovision.eu>
2589         * doc/sdccman.lyx:
2590           Fix whitespace in cross-build configure example.
2591         * support/regression/tests/gcc-torture-execute-strlen-4.c:
2592           Enable some more bits of this test that now pass.
2594 2023-05-16 Felix Salfelder <felix AT salfelder.org>
2596         * bin/sd{ar,cpp,nm,objcopy,ranlib}.in:
2597           fix #3587 (with Philipp).
2599 2023-05-16 Philipp Klaus Krause <philipp@colecovision.eu>
2601         * src/SDCClrange.c,
2602           support/regression/tests/bug-3455.c:
2603           Fix bug #3455.
2604         * support/regression/tests/sizeof.c.in:
2605           Disable a warning where we intentionally test something that is implementation-defined in SDCC (though undefined in the standard).
2606         * device/lib/ds400/Makefile.in:
2607           Fix invokation of sdar during ds400 library build.
2609 2023-05-15 Philipp Klaus Krause <philipp@colecovision.eu>
2611         * sdas/linksrc/Makefile.in,
2612           sdas/linksrc/aslink.h,
2613           sdas/linksrc/lkout.c,
2614           sdas/linksrc/lks19.c:
2615           Port Motorola SREC format support from upstream asxxxx 5.40 to fix bug #3559.
2617 2023-05-15 Philipp Klaus Krause <philipp@colecovision.eu>
2619         * src/SDCCsymt.c,
2620           support/regression/tests/bug-3585.c:
2621           Fix bug #3585.
2623 2023-05-01 Felix Salfelder <felix AT salfelder.org>
2625         * support/sdbinutils/bfd/{asxxxx,targets}.c:
2626           Fix bug #3569 and a memory leak.
2628 2023-05-11 Philipp Klaus Krause <philipp@colecovision.eu>
2630         * support/regression/tests/bug-3352.c,
2631           support/regression/tests/bug-3465.c,
2632           support/regression/tests/bug-3523.c,
2633           support/regression/tests/bug-3532.c,
2634           support/regression/tests/bug-3547.c:
2635           Disable warning 85 for some tests (as parameters are intentionally unused in these).
2637 2023-05-10 Philipp Klaus Krause <philipp@colecovision.eu>
2639         * support/regression/tests/bug-3563.c:
2640           Regression test for bug #3563 (disabled for mcs51, as the bug is not yet fixed).
2641         * src/SDCCmem.c,
2642           support/regression/tests/*.c:
2643           Fix bug #2874.
2645 2023-05-04 Philipp Klaus Krause <philipp@colecovision.eu>
2647         * src/z80/gen.c,
2648           support/regression/tests/bug-3579.c:
2649           iy handling fixes in code generation.
2651 2023-04-26 Philipp Klaus Krause <philipp@colecovision.eu>
2653         * src/SDCCdwarf2.c:
2654           Fix bug #3576.
2656 2023-04-13 Philipp Klaus Krause <philipp@colecovision.eu>
2658         * sdas/asz80/z80mch.c:
2659           Fix error message on use of undocumented inc/dec ixl/ixh/iyl/iyh. Fix error message on undocumented load between ix/iy l/h. Fix bug #3574.
2661 2023-04-12 Philipp Klaus Krause <philipp@colecovision.eu>
2663         * src/SDCCpeeph.c:
2664           Improve error message on missing skip instruction target label at end of inline asm in __naked function. Fix bug #3566.
2665         * src/SDCCast.c,
2666           support/regression/tests/bug-3570.c:
2667           Fix bug #3570.
2668         * src/SDCCmem.c:
2669           Fix bug #3030.
2671 2023-03-21 Felix Salfelder <felix AT salfelder.org>
2673         * src/SDCCmain.c:
2674           Use -MF to pass dependency output file to sdcpp, fixing bug #3541.
2675           See https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#Invocation.
2677 2023-03-20 Philipp Klaus Krause <philipp@colecovision.eu>
2679         * support/regression/tests/bug-3567.c:
2680           Disable a test for mcs51 small model, where it fails due to lack of memory.
2682 2023-03-19 Philipp Klaus Krause <philipp@colecovision.eu>
2684         * src/z80/gen.c,
2685           support/regression/tests/bug-3567.c:
2686           Fix bug #3567.
2688 2023-03-16 Philipp Klaus Krause <philipp@colecovision.eu>
2690         * src/pdk/gen.c,
2691           support/regression/tests/bug-3556.c:
2692           Fix an issue in pdk shift codegen for non-dead shift amount in acc.
2694 2023-03-15 Philipp Klaus Krause <philipp@colecovision.eu>
2696         * src/SDCCast.c,
2697           support/regression/tests/bug-3564.c:
2698           Fix bug #3564.
2700 2023-03-08 Philipp Klaus Krause <philipp@colecovision.eu>
2702         * support/regression/tests/bigreturn-remat.c.in,
2703           support/regression/tests/rotate.c.in:
2704           Improve test coverage.
2706 2023-03-01 Philipp Klaus Krause <philipp@colecovision.eu>
2708         * support/regression/tests/atomic.c,
2709           support/regression/tests/bug-1918.c,
2710           support/regression/tests/bug-2124.c,
2711           support/regression/tests/bug-2181.c,
2712           support/regression/tests/bug-2271.c,
2713           support/regression/tests/bug-2373.c,
2714           support/regression/tests/bug-2455.c,
2715           support/regression/tests/bug-2497.c,
2716           support/regression/tests/bug-716242.c,
2717           support/regression/tests/bug1908493.c,
2718           support/regression/tests/gcc-torture-execute-20030714-1.c,
2719           support/regression/tests/gcc-torture-execute-980707-1.c:
2720           Document why some regression tests are disabled for pdk.
2721         * device/include/mcs51/stc89.h,
2722           src/SDCC.y,
2723           src/SDCCmem.c,
2724           src/SDCCsymt.c:
2725           Fix typos.
2726         * src/SDCCicode.c:
2727           Fix bug #3290.
2729 2023-02-28 Maarten Brock <sourceforge.brock AT dse.nl>
2731         * src/mcs51/rtrack.c: placed all comment emitting code in D(),
2732           (_mcs51_rtrackUpdate): enabled literal mov to register part by removing D(),
2733                                  enabled tracking dptr by removing if(options.verboseAsm)
2734         * device/lib/ds390/Makefile.in,
2735         * device/lib/ds390/lcd390.c: removed buggy lcd390.c, the DS80C390 has no native LCD interface
2737 2023-02-26 Philipp Klaus Krause <philipp@colecovision.eu>
2739         * src/SDCCloop.c,
2740           support/regression/tests/bug-3560.c:
2741           Fix bug #3560.
2743 2023-02-24 Philipp Klaus Krause <philipp@colecovision.eu>
2745         * support/regression/tests/_minimal.c:
2746           Pick minimal regression test from MP8 fork of sdcc to ease initial debugging of new ports.
2748 2023-02-20 Felix Salfelder <felix AT salfelder.org>
2750         * Makefile.in:
2751           fix literal sdcc-sdbinutils dep, towards fixing bug #3491.
2753 2023-02-17 Felix Salfelder <felix AT salfelder.org>
2755         * support/cpp/libcpp/files.cc:
2756           Remove stray assert, fix bug #3483.
2758 2023-02-16 Felix Salfelder <felix AT salfelder.org>
2760         * src/clean.mk: Delete Makefile target only.
2762 2023-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
2764         * src/SDCCerr.h,
2765           src/SDCCerr.c: changed possible to probable
2766         * src/SDCCast.c,
2767           doc/sdccman.lyx: fixed spelling
2769 2023-02-09 Philipp Klaus Krause <philipp@colecovision.eu>
2771         * doc/sdccman.lyx:
2772           Fix bug #3382.
2773         * support/regression/tests/*.c,
2774           src/*:
2775           Spelling fixes for comments, from patch #459 by Konstantin Kim.
2777 2023-02-08 Philipp Klaus Krause <philipp@colecovision.eu>
2779         * src/SDCCicode.c,
2780           support/regression/tests/bug-2776.c,
2781           support/regression/tests/bug-3368.c:
2782           Fix bugs #2776, #3378.
2784 2023-02-06 Philipp Klaus Krause <philipp@colecovision.eu>
2786         * src/SDCCicode.c,
2787           support/regression/tests/bug-3352.c:
2788           Fix bug #3352.
2789         * device/lib/sm83/crt0.s:
2790           Fix bug #3548.
2791         * support/regression/tests/gcc-torture-execute-pr91137.c:
2792           Fix bug #3549.
2793         * support/regression/tests/bug1723128.c:
2794           Fix bug #3550.
2796 2023-02-05 Philipp Klaus Krause <philipp@colecovision.eu>
2798         * src/z80/gen.c,
2799           support/regression/tests/bug-3547.c:
2800           Fix bug #3547.
2802 2023-02-04 Philipp Klaus Krause <philipp@colecovision.eu>
2804         * src/SDCCerr.h,
2805           src/SDCCerr.c,
2806           src/SDCC.y:
2807           Warn on deprecated _sdcc_external_startup, RFE #868.
2808         * device/lib/printf_large.c,
2809           .version,
2810           doc/sdccman.lyx,
2811           support/regression/tests/snprintf.c.in:
2812           Fix endiannness of %p output, based on patch #457 by Basil Hussain, bug #3543.
2813         * src/SDCCast.c,
2814           src/SDCCglue.c,
2815           support/valdiag/tests/bug-3060.c:
2816           Fix bug #3060.
2817         * src/SDCCpeeph.c:
2818           Fix bug #3545.
2820 2023-02-02 Philipp Klaus Krause <philipp@colecovision.eu>
2822         * support/regression/cases/Makefile.in:
2823           Disable a test that often times out on slower machines in the compile farm (due a large number of slow operations in a loop).
2825 2023-02-01 Philipp Klaus Krause <philipp@colecovision.eu>
2827         * support/regression/tests/bug-3249.c:
2828           Do not test non-intrinsic named address space areas for mcs51, as DATA is overwritten by stack there.
2829         * support/regression/MakeList:
2830           Disable a test for -mmcs51 --model-small --stack-auto that is known to fail for mcs51 with --stack-auto (bug #3540).
2831         * src/SDCCglue.c,
2832           support/regression/tests/bug-1981238.c:
2833           Fix bug #3542.
2835 2023-01-31 Philipp Klaus Krause <philipp@colecovision.eu>
2837         * src/SDCCglue.c:
2838           Fix bug #2837 for z80 and related.
2840 2023-01-30 Philipp Klaus Krause <philipp@colecovision.eu>
2842         * src/SDCCsymt.c,
2843           support/regression/tests/bug-3025.c,
2844           support/regression/cases/Makefile.in,
2845           Fix bug #3025.
2846         * src/mos6502/peeph.def:
2847           Disable a rule that uses not-yet-implemented notUsed.
2848         * src/pdk/gen.c:
2849           Fix a pdk issue similar to mcs51 bug #3023.
2850         * src/SDCC.y,
2851           device/lib/printf_large.c,
2852           device/lib/printfl.c,
2853           device/lib/sprintf.c,
2854           device/lib/vprintf.c:
2855           Fix bug #3497.
2856         * src/z80/gen.c,
2857           support/regression/tests/bug-3249.c:
2858           Fix bug #3249.
2859         * support/regression/tests/inline.c:
2860           Disable a test for host, which fails on GNU/Linux on aarch64 using GCC 12.2.
2861         * src/SDCC.y,
2862           src/SDCCast.c,
2863           src/SDCCerr.c,
2864           src/SDCCerr.h:
2865           Fix error message test for empty translation units.
2867 2023-01-29 Benedikt Freisen <b.freisen AT gmx.net>
2869         * device/include/float.h,
2870           device/lib/_divsint.c,
2871           device/lib/_divslong.c,
2872           device/lib/_divslonglong.c,
2873           device/lib/_divuint.c,
2874           device/lib/_divulong.c,
2875           device/lib/_divulonglong.c,
2876           device/lib/_modsint.c,
2877           device/lib/_modslong.c,
2878           device/lib/_modslonglong.c,
2879           device/lib/_moduint.c,
2880           device/lib/_modulong.c,
2881           device/lib/_modulonglong.c,
2882           device/lib/_mulint.c,
2883           device/lib/_mullong.c,
2884           device/lib/_mullonglong.c,
2885           device/lib/_rlslonglong.c,
2886           device/lib/_rlulonglong.c,
2887           device/lib/_rrslonglong.c,
2888           device/lib/_rrulonglong.c,
2889           device/lib/_slonglong2fs.c,
2890           device/lib/_ulonglong2fs.c:
2891           Add conditional `__nonbanked` to fix mcs51 library build.
2893 2023-01-28 Philipp Klaus Krause <philipp@colecovision.eu>
2895         * src/SDCCerr.c,
2896           src/SDCCerr.h,
2897           src/ds390/gen.c,
2898           src/mcs51/gen.c,
2899           support/regression/tests/bug-3023.c:
2900           Fix bug #3023.
2902 2023-01-28 Philipp Klaus Krause <philipp@colecovision.eu>
2904         * src/SDCCast.c,
2905           src/SDCCerr.c,
2906           src/SDCCerr.h,
2907           src/SDCCsymt.c,
2908           src/port.h,
2909           src/*/main.c:
2910           Fix bug #3160.
2911         * src/mos6502/ralloc.c,
2912           src/z80/ralloc.c:
2913           Code cleanup.
2915 2023-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
2917         * src/SDCCicode.c,
2918           support/regression/cases/Makefile.in,
2919           support/regression/MakeList:
2920           Fix bug #3394.
2921         * src/SDCCerr.h,
2922           src/SDCCerr.c,
2923           src/stm8/gen.c,
2924           src/z80/gen.c,
2925           support/valdiag/tests/bug-3228.c:
2926           Fix bug #3228.
2927         * src/SDCCsymt.c,
2928           .version,
2929           doc/sdccman.lyx:
2930           Fix bug #3263.
2932 2023-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
2934         * sdas/aspdk15/pdk15mch.c:
2935           Fix bug #3191.
2936         * src/SDCCsymt.c:
2937           Fix bug #3516.
2938         * src/SDCCopt.c,
2939           support/regression/cases/Makefile.in:
2940           Fix bug #3400.
2942 2023-01-26 Philipp Klaus Krause <philipp@colecovision.eu>
2944         * src/SDCCval.c:
2945           Make ulFromVal a wrapper for ullFromVal to remove duplicate code and partially fix bug #3539.
2946         * src/z80/gen.c:
2947           Fix an sm83 issue similar to z80 bug #3503.
2948         * doc/sdccman.lyx:
2949           Add _BitInt to type list in manual.
2950         * src/SDCCglue.c:
2951           Skip invalid init list bits. Fix bug #2928.
2952         * src/SDCCicode.c,
2953           support/regression/tests/bug-2983.c:
2954           Fix bug #2983.
2955         * src/pdk/peeph.def:
2956           Fix an issue in two pdk peephole rule conditions.s
2957         * src/SDCCsymt.c:
2958           Fix bug #2998.
2959         * src/SDCC.lex,
2960           support/valdiag/tests/bug-3012.c:
2961           Fix bug #3012.
2963 2023-01-25 Philipp Klaus Krause <philipp@colecovision.eu>
2965         * src/SDCCval.c:
2966           Type fixes (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
2967         * src/stm8/gen.c:
2968           Fix an stm8 issue similar to z80 bug #3503.
2969         * src/pdk/peeph.def:
2970           Fix use of cneqsn, which is not supported on pdk13.
2972 2023-01-24 Philipp Klaus Krause <philipp@colecovision.eu>
2974         * doc/sdccman.lyx,
2975           doc/z80-stack-cleanup.svg:
2976           Improve documentation on stack cleanup (support request #182).
2977         * src/SDCCpeeph.c,
2978           src/pdk/gen.c,
2979           src/pdk/peeph.def,
2980           support/regression/tests/bug-3525.c:
2981           Fix bug #3525.
2983 2023-01-23 Philipp Klaus Krause <philipp@colecovision.eu>
2985         * src/SDCCbtree.cc:
2986           Fix bug #3505.
2987         * src/ds390/gen.c,
2988           src/mcs51/gen.c,
2989           src/z80/gen.c:
2990           Type fixes for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
2991         * device/include/stdckdint.h,
2992           device/lib/strtol.c,
2993           device/lib/strtoul.c,
2994           support/regression/tests/bug-3474.c,
2995           support/regression/tests/bug-2854.c
2996           Fix bug #3474.
2997         * support/regression/tests/gcc-torture-execute-p18298.c:
2998           extern declaration for inline function to pass host regression tests where the host compiler does not inline.
2999         * support/regression/MakeList:
3000           Exclude test for host, since it fails for GCC 7, which is still used on the PPC macOS machine in the compile farm.
3001         * src/z80/gen.c,
3002           src/pdk/gen.c,
3003           support/regression/tests/bug-3503.c:
3004           Fix bug #3503.
3006 2023-01-21 Philipp Klaus Krause <philipp@colecovision.eu>
3008         * src/mos6502/main.c:
3009           stdlib selection, patch #454 by Basil Hussain.
3010         * debugger/mcs51/cmd.c:
3011           Avoid debugger segfault, patch #449 by Mark Symonds.
3012         * doc/sdccman.lyx:
3013           Enhance documentation for __sdcc_external_startup, patch #456 by Basil Hussain.
3014         * src/SDCC.y:
3015           Remove null-pointer checks on something that is not a pointer in current SDCC, patch #442 by Reini Urban.
3016         * src/pdk/main.c,
3017           .version:
3018           __sdcc_external_startup return checking for pdk, patch #455 by Basil Hussain.
3019         * src/mos6502/peeph.def:
3020           mos6502 peephole rule fix, patch #453 by Michel Iwaniec.
3021         * src/stm8/gen.c
3022           Type fix for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
3023         * src/z80/gen.c,
3024           support/regression/tests/bug-3532.c:
3025           Fix bug #3532.
3026         * src/SDCCbtree.cc,
3027           support/regression/tests/bug-3523.c,
3028           support/regression/tests/bug-3487.c:
3029           Fix bugs #3523, #3487.
3031 2023-01-19 Philipp Klaus Krause <philipp@colecovision.eu>
3033         * device/lib/*/crt0.s,
3034           src/SDCCglue.c,
3035           src/stm8/main.c,
3036           .version:
3037           Patch #453 by Basil Hussain to further harmonize __sdcc_external_startup (RFE #859).
3038         * src/z80/gen.c,
3039           src/ds390/gen.c,
3040           src/mcs51/gen.c:
3041           Type fixes for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
3042         * doc/sdccman.lyx:
3043           Improve __sdcc_external_startup documentation.
3045 2023-01-17 Philipp Klaus Krause <philipp@colecovision.eu>
3047         * support/regression/tests/gcc-torture-execute-va-arg-5.c:
3048           Disable Test for GCC up to 11, since it still fails on x86 hosts for that version.
3049         * support/regression/cases/Makefile.in:
3050           Disable Test that tests for GCC implementation-defined behaviour (GIMPLE memory model).
3052 2023-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3054         * src/SDCCcse.c: Improve pointer aliasing handling,
3055           minor reduction in memory leakage
3056         * support/regression/tests/bug-2957.c,
3057           support/regression/tests/gcc-torture-execute-pr20466-1.c:
3058           Reenable tests
3060 2023-01-08 Benedikt Freisen <b.freisen AT gmx.net>
3062         * src/SDCCmain.c:
3063           Add "TD-" to the version string of treedec-less builds.
3065 2023-01-08 Benedikt Freisen <b.freisen AT gmx.net>
3067         * doc/sdccman.lyx:
3068           Amend claims concerning intrinsic address space support.
3070 2023-01-02 Philipp Klaus Krause <philipp@colecovision.eu>
3072         * src/SDCCast.c,
3073           support/regression/tests/bug-3504.c:
3074           Fix bug #3504.
3076 2022-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3078         * src/SDCClabel.c (labelUnreach, deleteIfx),
3079           src/SDCCcse.c (ifxOptimize): disable conditional flow change and
3080           unreachable code warnings within function inlining
3081         * src/SDCClabel.c (labelJumptable,iCodeLabelOptimize),
3082           src/SDCCcse.c (cseBBlock): optimize jump tables
3083         * src/SDCClabel.c (labelUnreach): clean up dead code def/use info
3085 2022-12-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3087         * support/cpp/gcc/configure.ac,
3088           support/cpp/gcc/configure: disable some assembler and
3089           target tests unneeded for the preprocessor
3091 2022-12-16 Philipp Klaus Krause <pkk AT spth.de>
3093         * doc/sdccman.lyx:
3094           Fix bug #3500.
3095         * src/stm8/gen.c,
3096           src/pdk/gen.c:
3097           Fix bug #3515.
3099 2022-12-15 Philipp Klaus Krause <pkk AT spth.de>
3101         * support/regression/tests/gcc-torture-execute-941021-1.c:
3102           Remove a test that apparently relies on implementation-defined floating-point rounding behaviour.
3104 2022-12-14 Philipp Klaus Krause <pkk AT spth.de>
3106         * support/regression/tests/bug-2567.c,
3107           support/regression/tests/bug-2752.c:
3108           Provide external declaration of inline function to pass test-host for non-inlining host compilers.
3109         * sdas/aspdk14/pdk14mch.c,
3110           sdas/aspdk15/pdk15mch.c:
3111           Fix bug #3376, patch by Free-PDK.
3113 2022-12-13 Philipp Klaus Krause <pkk AT spth.de>
3115         * device/lib/sm83/divint.s,
3116           support/regression/tests/muldiv.c.in,
3117           support/regression/tests/onebyte.c.in:
3118           Fix a % sm83 library issue, patch by Job Bolle.
3119         * src/stm8/main.c:
3120           Fix __sdcc_external_startup handling for stm8 large memory model.
3121         * src/z80/peeph.def:
3122           Fix bug #3528.
3124 2022-12-04 Philipp Klaus Krause <pkk AT spth.de>
3126         * src/SDCCopt.c,
3127           support/regression/tests/bug-3522.c:
3128           Fix bug #3522.
3130 2022-12-03 Philipp Klaus Krause <pkk AT spth.de>
3132         * device/lib/_startup.c,
3133           device/lib/ds390/tinibios.c,
3134           device/lib/ez80_z80/crt0.s,
3135           device/lib/mcs51/crtstart.asm,
3136           device/lib/mcs51/crtxstack.asm,
3137           device/lib/mos6502/crt0.s,
3138           device/lib/mos6502-stack-auto/crt0.s,
3139           device/lib/r2k/crt0.s,
3140           device/lib/r2ka/crt0.s,
3141           device/lib/r3ka/crt0.s,
3142           device/lib/sm83/crt0.s,
3143           device/lib/tlcs90/crt0.s,
3144           device/lib/z180/crt0.s,
3145           device/lib/z80/crt0.s,
3146           device/lib/z80n/crt0.s,
3147           doc/sdccman.lyx,
3148           src/ds390/main.c,
3149           src/hc08/main.c,
3150           src/pdk/main.c,
3151           src/stm8/main.c,
3152           support/regression/ports/mcs51-common/support.c:
3153           Rename _sdcc_external_startup to __sdcc_external_startup and make it work for all ports. Fixes bug #3520.
3155 2022-11-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3157         * support/cpp/gcc/pretty-print.cc: define some console
3158           attribute constants if they are missing
3159         * support/cpp/gcc/gcc.cc,
3160           support/cpp/gcc/opts.cc,
3161           support/cpp/gcc/opts-common.cc,
3162           support/cpp/gcc/opts-global.cc,
3163           support/cpp/gcc/prefix.cc,
3164           support/cpp/gcc/toplev.cc,
3165           support/cpp/libcpp/lex.cc,
3166           support/cpp/libcpp/mkdeps.cc,
3167           support/cpp/gcc/c-family/c-opts.cc,
3168           support/cpp/gcc/c-family/c-ppoutput.cc:
3169           Possible fix for bug #3524
3171 2022-11-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3173         * support/cpp/gcc/system.h: don't try to check inodes when
3174           compiled for Windows
3176 2022-11-28 Philipp Klaus Krause <pkk AT spth.de>
3178         * src/pdk/peep.c,
3179           src/pdk/gen.c:
3180           Pdk peephole infrastructure improvements, patch #446 by Konstantin Kim.
3182 2022-11-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3184         * support/scripts/sdcc.nsi: add cc1.exe
3185         * support/cpp/gcc/Makefile.in,
3186           support/cpp/gcc/cc1_dummies.cc,
3187           support/cpp/gcc/c/Make-lang.in,
3188           support/cpp/gcc/c-family/c-common.h,
3189           support/cpp/gcc/c-family/c-opts.cc: remove some unneeded
3190           compile time executable requirement so cross compile with
3191           mingw can succeed
3193 2022-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3195         * support/cpp/gcc/Makefile.in: add missing $(exeext)
3196         * support/cpp/gcc/gcc.cc,
3197           support/cpp/gcc/opts.cc,
3198           support/cpp/gcc/opts-common.cc,
3199           support/cpp/gcc/prefix.cc,
3200           support/cpp/gcc/toplev.cc,
3201           support/cpp/libcpp/lex.cc,
3202           support/cpp/libcpp/mkdeps.cc,
3203           support/cpp/gcc/c-family/c-opts.cc,
3204           support/cpp/gcc/c-family/c-ppoutput.cc: move iostream header
3205           last to avoid inconsistent struct offsets and thus segfaults
3207 2022-11-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3209         * src/SDCClabel.c (labelGotoGoto, labelUnreach),
3210           src/SDCCBBlock.c (iCodeFromeBBlock),
3211           src/SDCCicode.h: fix bug #3501
3213 2022-11-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3215         * src/SDCC.lex: process #line directive in __asm__ blocks
3217 2022-11-14 Benedikt Freisen <b.freisen AT gmx.net>
3219         * src/pic16/pcodepeep.c:
3220           Fix type mismatches, one of them critical. See [bugs:#3179].
3222 2022-11-11 Felix Salfelder <felix AT salfelder.org>
3224         * support/cpp/gcc/config.gcc:
3225           Workaround: Ignore "unsupported target"
3226           ... as suggested by Free-PDK in bug #3517.
3228 2022-11-06 Philipp Klaus Krause <pkk AT spth.de>
3230         * src/z80/gen.c:
3231           Fix an issue related to bug #3471.
3233 2022-11-04 Philipp Klaus Krause <pkk AT spth.de>
3235         * src/z80/peep.c,
3236           src/z80/peeph.def:
3237           Fix iy handling in peephole optimizer, variant of patch #441 by Job Bolle.
3238         * src/stm8/peeph.def,
3239           support/regression/tests/modulong.c,
3240           support/regression/ports/stm8/spec.mk:
3241           clr-push stm8 peephole optimizer rule, variant of patch #443 by Basil Hussain.
3243 2022-11-03 Benedikt Freisen <b.freisen AT gmx.net>
3245         * support/cpp/gcc/config/riscv/arch-canonicalize:
3246           Add missing file from GCC CPP.
3248 2022-10-25 Felix Salfelder <felix AT salfelder.org>
3250         * support/cpp/gcc/cc1_dummies.cc:
3251           Fix argument type in dummy, #3492.
3253 2022-10-21 Philipp Klaus Krause <pkk AT spth.de>
3255         * doc/sdccman.lyx:
3256           Fix a typo noticed by Basil Hussain, that makes an aspect of the stm8 calling convention, version 0, ambiguous.
3258 2022-10-13 Philipp Klaus Krause <pkk AT spth.de>
3260         * src/SDCCopt.c:
3261           Relax type match requirements on literal operands to multiplication support functions.
3263 2022-10-11 Philipp Klaus Krause <pkk AT spth.de>
3265         * src/pdk/gen.c,
3266           src/pdk/ralloc.c,
3267           src/stm8/gen.c,
3268           src/stm8/ralloc.c:
3269           Small improvements in reads of bool bit-fields.
3271 2022-10-07 Felix Salfelder <felix AT salfelder.org>
3273         * support/cpp/gcc/cc1_dummies.cc:
3274           Add two more dummies.
3276 2022-10-03 Benedikt Freisen <b.freisen AT gmx.net>
3278         * device/include/gcc_attr.h:
3279           Use C23 version macro.
3281 2022-10-01 Philipp Klaus Krause <pkk AT spth.de>
3283         * support/regression/MakeList:
3284           Disable a test for pdk14 that fails due to lack of memory on the target device.
3286 2022-09-29 Philipp Klaus Krause <pkk AT spth.de>
3288         * src/stm8/peeph.def:
3289           Use mov in more cases, patch by Basil Hussain.
3290         * device/include/assert.h:
3291           Fix static_assert for C11.
3293 2022-09-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3295         * src/SDCCmain.c,
3296           support/cpp/libcpp/init.cc:
3297           Fix handling of c2x standard for preprocessor.
3298         * device/include/stdlib.h,
3299           device/lib/Makefile.in,
3300           device/lib/__stdc_count_leading_zeros.c,
3301           device/lib/__stdc_first_leading_one.c,
3302           device/lib/__stdc_first_trailing_oneull.c,
3303           device/lib/_divslonglong.c,
3304           device/lib/_divulonglong.c,
3305           device/lib/_modslonglong.c,
3306           device/lib/_mullonglong.c,
3307           device/lib/_rlslonglong.c,
3308           device/lib/_rlulonglong.c,
3309           device/lib/_rrslonglong.c,
3310           device/lib/_rrulonglong.c,
3311           device/lib/aligned_alloc.c,
3312           device/lib/*/Makefile.in,
3313           device/lib/ds390/lcd390.c,
3314           device/lib/printf_large.c,
3315           device/lib/printfl.c,
3316           device/lib/sprintf.c,
3317           device/lib/vprintf.c:
3318           Fix bug #3496.
3320 2022-09-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3322         * device/include/assert.h,
3323           device/include/ctype.h,
3324           device/include/limits.h,
3325           device/include/stdarg.h,
3326           device/include/stdbool.h,
3327           device/include/stddef.h,
3328           device/include/stdlib.h,
3329           device/include/uchar.h,
3330           device/include/setjmp.h,
3331           device/include/stdalign.h,
3332           device/include/stdint.h:
3333           Replace include guards by C23 header version macros.
3335 2022-09-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3337         * src/z80/peep.c:
3338           Improve handling of iyl, iyh in peephole rules, based on patch by Job Bolle.
3340 2022-09-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3342         * src/z80/peep.c:
3343           Handling of immediates in canAssign for z80 and related.
3345 2022-09-20 Maarten Brock <sourceforge.brock AT dse.nl>
3347         * src/z80/peeph.def: fixed rules 85a, 85b to fix bug #3486,
3348           Thanks Job Bolle
3350 2022-09-19 Felix Salfelder <felix AT salfelder.org>
3352         * src/SDCCmain.c:
3353           Pass -xc to preprocessor, overriding file-type-by-extension magic.
3355 2022-09-18 Maarten Brock <sourceforge.brock AT dse.nl>
3357         * debugger/mcs51/cmd.c: applied patch #439,
3358             also applied patch from bug #3485, Thanks Mark Symonds,
3359             also cleaned up many whitespace irregularities
3361 2022-09-17 Felix Salfelder <felix AT salfelder.org>
3363         * support/regression/MakeList,
3364           support/regression/tcc/83_utf8_in_identifiers.c:
3365           Revive erroneously disabled utf8 test.
3367 2022-09-13 Benedikt Freisen <b.freisen AT gmx.net>
3369         * doc/sdccman.lyx,
3370           src/ds390/gen.c,
3371           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
3372           support/regression/tests/gcc-torture-execute-va-arg-23.c,
3373           support/regression/tests/gcc-torture-execute-va-arg-4.c:
3374           struct / union parameters on the stack for ds390, copied from mcs51.
3376 2022-09-13 Felix Salfelder <felix AT salfelder.org>
3378         * support/cpp/gcc/{system,double-int}.h:
3379           Remove wrong/unneeded gmp use.
3381 2022-09-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3383         * device/include/tinibios.h,
3384           device/lib/ds390/tinibios.c,
3385           device/lib/ds400/tinibios.c:
3386           Provide function prototypes for tinybios.
3388 2022-09-11 Benedikt Freisen <b.freisen AT gmx.net>
3390         * doc/sdccman.lyx,
3391           src/SDCC.y,
3392           src/SDCCerr.c,
3393           src/SDCCsymt.c,
3394           support/regression/cases/Makefile.in:
3395           Handle types double and long double in checkTypeSanity.
3397 2022-09-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3399         * src/SDCCsymt.c,
3400           src/SDCCast.c,
3401           support/regression/tests/bug-3481.c:
3402           Fix part of bug #3481.
3404 2022-09-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3406         * src/z80/gen.c:
3407           Fix bug #3480.
3409 2022-09-08 Felix Salfelder <felix AT salfelder.org>
3411         * support/cpp/libbacktrace/allocfail.sh:
3412           Delete unused file.
3414 2022-09-08 Felix Salfelder <felix AT salfelder.org>
3416         * device/lib/incl.mk:
3417           Fix %.rel rules. Thanks to Job Bolle, see discussion/1865.
3419 2022-09-08 Felix Salfelder <felix AT salfelder.org>
3421         * support/cpp/gcc/Makefile.in:
3422           avoid tm-preds.h cleanup once more.
3424 2022-09-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3426         * src/SDCCpeeph.c,
3427           src/z80/peeph.def,
3428           support/regression/tests/bug-3478.c:
3429           Fix bug #3478.
3431 2022-09-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3433         * src/z80/gen.c,
3434           support/regression/tests/bug-3471.c:
3435           Fix bug #3471.
3437 2022-09-06 Felix Salfelder <felix AT salfelder.org>
3439         * support/cpp/gcc/Makefile.in,
3440           support/cpp/libbacktrace/Makefile.am:
3441           Revisit don't clean no-longer autogenerated files.
3443 2022-09-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3445         * src/SDCCcse.c,
3446           support/regression/tests/bug-3470.c:
3447           Fix part of bug #3470.
3449 2022-09-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3451         * Merge cpp branch to trunk.
3453 2022-09-04 Felix Salfelder <felix AT salfelder.org>
3455         * support/cpp/gcc/hash-table.h:
3456           Revert a compile warning fix.
3458 2022-09-02 Felix Salfelder <felix AT salfelder.org>
3460         * support/cpp/gcc/cc1_dummies.cc,
3461           support/cpp/gcc/ggc-common.cc,
3462           support/cpp/gcc/hash-map.h,
3463           support/cpp/gcc/hash-table.h,
3464           support/cpp/gcc/vec.h:
3465           Fix compile warnings
3467 2022-09-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3469         * support/valdiag/tests/universal.c,
3470           support/valdiag/tests/universal2.c:
3471           Separate out a test that needs to reside in a file on its own, since the diagnostic is emitted even inside #if 0.
3473 2022-08-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3475         * support/regression/tests/checkedint.c.in:
3476           Disable test for mcs51 medium memory model, where it fails due to lack of memory.
3478 2022-08-31 Felix Salfelder <felix AT salfelder.org>
3480         * sdcc/support/cpp/gcc/opts.cc,
3481           sdcc/support/cpp/libcpp/mkdeps.cc:
3482           Test x2.
3484 2022-08-30 Felix Salfelder <felix AT salfelder.org>
3486         * support/cpp/configure, support/cpp/configure.ac:
3487           Omit gmp/mpfr checks and GCC_TOPLEV_SUBDIRS.
3489 2022-08-23 Felix Salfelder <felix AT salfelder.org>
3491         * support/cpp/configure, support/cpp/configure.ac,
3492           support/cpp/gcc/configure, support/cpp/gcc/configure.ac:
3493           Reduce diff against upstream gcc.
3495 2022-08-21 Felix Salfelder <felix AT salfelder.org>
3497         * support/regression/Makefile.in,
3498           support/regression/cases/Makefile.in:
3499           Test summary depends on test set.
3501 2022-08-20 Felix Salfelder <felix AT salfelder.org>
3503         * support/cpp/gcc/Makefile.in:
3504           Do not clean no-longer autogenerated files.
3506 2022-08-30 Felix Salfelder <felix AT salfelder.org>
3508         * support/regression/cases/Makefile.in:
3509           Add distclean rule.
3511 2022-08-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3513         * src/SDCCmem.c,
3514           support/regression/tests/bug-3040.c.in:
3515           Fix bug #3073.
3516         * support/regression/tests/checkedint.c.in:
3517           Test checked integers, part of RFE #749.
3518         * tests/gcc-torture-execute-920711-1.c:
3519           Remove a test that relies on undefined behaviour on signed integer overflow.
3520         * src/SDCCcse.c,
3521           support/valdiag/tests/bug-3457.c:
3522           Fix bug #3457.
3523         * src/SDCCmem.c,
3524           src/SDCCval.c,
3525           support/valdiag/tests/bug-3031.c:
3526           Fix bug #3383.
3528 2022-08-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3530         * support/regression/cases/Makefile.in:
3531           Disable a GCC test that tests for GCC implementation-defined floating-point behaviour.
3533 2022-08-26 Felix Salfelder <felix AT salfelder.org>
3535         * regression/ports/pic14/spec.mk:
3536           LDFLAGS & EMU invocation fixes
3538 2022-08-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3540         * support/regression/ports/hc08/spec.mk,
3541           support/regression/ports/s08/spec.mk:
3542           Increase regression test timeout slightly, so a passive-cooled Raspi 4B can run the qct_0042-prime regression test in Summer.
3544 2022-08-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3546         * doc/sdccman.lyx,
3547           .version,
3548           support/regression/tests/pragma_pedantic_parse_number.c:
3549           Document dropped support for --pedantic-parse-number and #pragma pedantic_parse_number.
3551 2022-08-16 Felix Salfelder <felix AT salfelder.org>
3553         * support/cpp:
3554           Partially import gcc (12.1.0, 1ea978e3066a),
3555           Isolate, dissect, gcc/cpp,
3556           Create dummy target files,
3557           (Re)add -obj-ext option,
3558           Change # to #line in cpp output,
3559         * Makefile.common.in:
3560           Set .DELETE_ON_ERROR
3561         * configure.ac, src/Makefile.in:
3562           Obtain svn revision and paste into version.h
3563         * configure.ac, Makefile.in, bin/*:
3564           Add Makefile, wrap executables, adjust rules.
3566 2022-08-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3568         * device/lib/pic16/startup/crt0.c,
3569           device/lib/pic16/startup/crt0i.c,
3570           device/lib/pic16/startup/crt0iz.c:
3571           Update interrupt syntax for new parser
3573 2022-08-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3575         * device/include/stdbit.h:
3576           Fix bit and byte utilities find first leading bit functions for ports that don't have _BitInt yet.
3578 2022-08-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3580         * doc/sdccman.lyx,
3581           src/SDCC.y:
3582           Document intentional deviation from C2X draft N3047 rules for tag compatibility for unions.
3584 2022-08-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3586         * src/SDCCast.c:
3587           Fix handling of pointers to short, long and long long (without explicit int) in _Generic associations.
3588         * device/include/stdckdint.h,
3589           device/lib/incl.mk,
3590           device/lib/ckd_add.c,
3591           device/lib/ckd_mul.c,
3592           device/lib/ckd_sub.c,
3593           doc/sdccman.lyx,
3594           .version:
3595           Checked integer arithmetic for all types except (unsigned) long long, part of RFE #749.
3597 2022-08-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3599         * src/SDCC.y,
3600           .version,
3601           support/valdiag/tests/enum.c:
3602           C2X enum tag compatibility rules, RFE #852.
3604 2022-08-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3606         * src/SDCC.y,
3607           src/SDCCerr.c,
3608           src/SDCCerr.h,
3609           src/SDCCsymt.c,
3610           src/SDCCsymt.h,
3611           support/valdiag/tests/struct.c:
3612           C2X struct / union tag compatibility rules, part of RFE #852.
3614 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3616         * device/include/stdlib.h,
3617           device/lib/incl.mk,
3618           device/lib/call_once.c:
3619           call_once, RFE #777.
3621 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3623         * device/include/stdbit.h,
3624           device/lib/incl.mk,
3625           device/lib/__stdc_first_leading_one.c,
3626           support/regression/tests/bitfirstleading.c.in:
3627           Provide bit and byte utilities find first leading bit functions. RFE #854.
3629 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3631         * device/include/stdbit.h,
3632           device/lib/incl.mk,
3633           device/lib/__stdc_count_leading_zeros.c,
3634           support/regression/tests/bitcountleading.c.in:
3635           Provide bit and byte utilities count leading bits functions. Part of RFE #854.
3636         * src/SDCCast.c:
3637           Fix type handling for bit-precise types in _Generic association.
3639 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3641         * device/include/stdbit.h,
3642           device/lib/incl.mk,
3643           device/lib/__stdc_first_trailing_oneull.c,
3644           support/regression/tests/bitfirst.c.in:
3645           Provide bit and byte utilities first trailing bit functions. Part of RFE #854.
3647 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3649         * device/include/stdbit.h,
3650           device/lib/__stdc_count_trailing_onesull.c,
3651           device/lib/incl.mk,
3652           support/regression/tests/bitcounttrailing.c.in:
3653           Provide bit and byte utilities trailing bit count functions. Part of RFE #854.
3655 2022-08-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3657         * src/SDCCsymt.c,
3658           support/regression/tests/c2xkeywords.c:
3659           Fix bug #3468.
3661 2022-08-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3663         * device/include/stdbit.h,
3664           device/lib/incl.mk,
3665           device/lib/__stdc_bit_ceilull.c,
3666           device/lib/__stdc_bit_widthull.c,
3667           support/regression/tests/bitcount.c.in:
3668           Provide bit and byte utilities bit width floor and ceiling functions. Part of RFE #854.
3670 2022-08-05 Benedikt Freisen <b.freisen AT gmx.net>
3672         * device/include/stddef.h:
3673           Protect NULL macro with parentheses, fixing bug #3467.
3675 2022-08-05 Benedikt Freisen <b.freisen AT gmx.net>
3677         * doc/sdccman.lyx:
3678           Missing K&R function support is not a deviation from C2X compliance.
3680 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3682         * device/include/stdbit.h,
3683           device/include/stdint.h,
3684           device/lib/_mulint.c,
3685           device/lib/_mullong.c,
3686           device/lib/_rlulonglong.c,
3687           device/lib/_rrslonglong.c,
3688           device/lib/_rrulonglong.c,
3689           device/lib/_startup.c,
3690           device/lib/__stdc_count_onesull.c,
3691           support/regression/tests/bitcount.c.in,
3692           device/lib/_mullong.c:
3693           Provide and use bit and byte utility types and macros. Provide bit and byte utilities bit count and single-bit check functions. Part of RFE #854.
3695 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3697         * .version,
3698           src/SDCC.y,
3699           src/SDCCerr.c,
3700           src/SDCCerr.h,
3701           src/SDCCsymt.c,
3702           support/regression/tests/bug-3462.c:
3703           Fix bug #3462.
3704         * doc/sdccman.lyx:
3705           Update manual section on standard compliance for recent improvements.
3707 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3709         * Merge parser branch to trunk.
3711 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3713         * src/SDCC.y,
3714           src/SDCCsymt.c,
3715           src/SDCCsymt.h,
3716           support/regression/tests/bug-3465.c:
3717           Basic C99 VLA type support, RFE #786, fix bug #3465.
3719 2022-08-04 Benedikt Freisen <b.freisen AT gmx.net>
3721         * support/scripts/sdcc.nsi:
3722           Correct STM8 memory model name from small to medium, fixing bug #3466.
3724 2022-08-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3726         * src/SDCC.y,
3727           src/SDCCerr.c,
3728           src/SDCCerr.h,
3729           src/SDCCmem.c,
3730           src/SDCCsymt.c,
3731           src/SDCCsymt.h:
3732           Infrastructure for VLA types.
3734 2022-08-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3736         * src/SDCC.y,
3737           src/SDCCerr.c,
3738           src/SDCCerr.h,
3739           src/SDCCsymt.c,
3740           src/SDCCval.h,
3741           C2X {} empty initializers, RFE #782.
3743 2022-08-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3745         * support/util/dbuf_string.c:
3746           Code cleanup.
3747         * src/SDCCglue.c:
3748           Fix area directive for sseg, patch by Tarn.
3750 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3752         * src/SDCC.y:
3753           Refactor handling of array declarators.
3755 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3757         * Merge parser branch to trunk.
3759 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3761         * src/SDCCerr.h,
3762           src/SDCCerr.c,
3763           src/SDCC.y:
3764           Allow more attribute arguments, warn on unknown attributes.
3766 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3768         * src/SDCC.y:
3769           Allow attributes in direct declarators. Avoiding grammar conflicts for K&R function definitions made this a bit more complex.
3771 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3773         * src/SDCC.y,
3774           src/SDCCsymt.c,
3775           src/SDCCsymt.h,
3776           support/regression/tests/bug-2664.c:
3777           Fix bug #2664.
3778         * support/valdiag/tests/bug-3009.c,
3779           support/valdiag/tests/bug-3011.c:
3780           Ignore a warning that is irrelevant for these test cases.
3782 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3784         * src/SDCC.y,
3785           src/SDCCast.c,
3786           src/SDCCsymt.c,
3787           src/SDCCsymt.h,
3788           support/regression/tests/bug-2222.c,
3789           support/regression/tests/bug-2263.c,
3790           support/regression/tests/bug-2320.c,
3791           support/regression/tests/bug-2629.c,
3792           support/regression/tests/bug-2956.c,
3793           support/regression/tests/bug-3079.c,
3794           support/regression/tests/bug-3081.c,
3795           support/regression/tests/bug-3093.c,
3796           support/regression/tests/bug-3135.c,
3797           support/regression/tests/bug-3169.c,
3798           support/regression/tests/bug-3215.c:
3799           Fix handling of pre-C2X function declarators without prototype, RFE #776.
3801 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3803         * Merge parser branch to trunk.
3805 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3807         * src/SDCC.y,
3808           src/SDCCsymt.c,
3809           support/regression/tests/auto.c,
3810           support/valdiag/tests/bug-3464.c:
3811           C2X auto, RFE #849, fix bug #3464.
3813 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3815         * src/SDCC.y,
3816           src/SDCCast.h,
3817           src/SDCCast.c,
3818           .version,
3819           support/regression/tests/typeof.c:
3820           C2X typeof, typeof_unqual, RFE #739, RFE #783.
3822 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3824         * device/include/stddef.h,
3825           src/SDCCicode.c,
3826           src/SDCCsymt.c,
3827           support/regression/tests/unreachable.c:
3828           C2X unreachable, RFE #778.
3830 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3832         * device/include/stdlib.h,
3833           device/lib/incl.mk,
3834           device/lib/memalignment.c,
3835           support/regression/tests/memalignment.c.in:
3836           C2X memalignment, RFE #856.
3838 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3840         * Merge parser branch to trunk.
3842 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3844         * src/SDCC.lex,
3845           src/SDCC.y,
3846           src/SDCCast.c,
3847           src/SDCCerr.c,
3848           src/SDCCerr.h,
3849           src/SDCCsymt.h,
3850           device/include/stddef.h,
3851           support/regression/tests/c2xkeywords.c,
3852           support/regression/tests/typeof.c:
3853           Basic C2X typeof and typeof_unqual support, part of RFE #739, RFE #783. RFE #853.
3855 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3857         * src/SDCC.lex,
3858           src/SDCC.y,
3859           src/SDCCerr.c,
3860           src/SDCCerr.h,
3861           src/SDCCsymt.c,
3862           src/SDCCsymt.h,
3863           src/SDCCval.c,
3864           src/SDCCval.h:
3865           Basic C2X nullptr support, part of RFE #853.
3867 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3869         * src/SDCC.y:
3870           Simplify grammar rules for enum.
3872 2022-07-29 Felix Salfelder <felix AT salfelder.org>
3874         * src/SDCC.y:
3875           Remove obsolete __func__ magic handling from parser.
3877 2022-07-26 Felix Salfelder <felix AT salfelder.org>
3879         * device/lib/Makefile.in, device/lib/*/Makefile.in,
3880           device/lib/incl.mk:
3881           Deduplicate CC, introduce SDAR, add Makefile rules,
3882           fix error propagation.
3884 2022-07-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3886         * device/lib/ds400/ds400rom.c:
3887           Fix use of macro for #.
3889 2022-07-22 Felix Salfelder <felix AT salfelder.org>
3891         * src/SDCC.lex:
3892           Skip "line" in lineinfo line. This fixes [r13587].
3894 2022-07-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3896         * src/SDCCast.c,
3897           support/regression/tests/bug-3401.c:
3898           Fix bug #3401.
3900 2022-07-22 Felix Salfelder <felix AT salfelder.org>
3902         * support/cpp/c-ppoutput.c:
3903           Add "line" to lineinfo lines, following the standard.
3905 2022-07-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3907         * src/SDCCglue.c,
3908           support/regression/tests/bug-3461.c:
3909           Fix third and last part of bug #3461.
3911 2022-07-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3913         * src/ds390/gen.c,
3914           src/hc08/gen.c,
3915           src/mcs51/gen.c,
3916           src/mos6502/gen.c,
3917           support/regression/tests/bug-3463.c:
3918           Fix bug #3463.
3920 2022-07-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3922         * src/pdk/gen.c,
3923           src/stm8/gen.c,
3924           src/z80/gen.c,
3925           support/regression/tests/bug-3461.c:
3926           Fix bug #3461.
3928 2022-07-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3930         * support/regression/tests/bug-3410.c.in:
3931           Disable a test for mos6502, since that port it still lacks _BitInt.
3932         * support/regression/tests/bug-3461.c:
3933           New (currently disabled) test for bug #3461.
3934         * device/lib/ds400/ds400rom.c:
3935           Remove use of #pragma sdcc_hash.
3936         * src/stm8/gen.c,
3937           src/pdk/gen.c,
3938           src/z80/gen.c:
3939           Partial fix for bug #3461.
3941 2022-07-16 Felix Salfelder <felix AT salfelder.org>
3943         * src/SDCC.{lex,y}, support/cpp/libcpp/{init,macro}.c:
3944           move __func__ elaboration entirely to sdcc.
3946 2022-07-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3948         * support/regression/tests/bug-1952.c,
3949           support/valdiag/tests/bug-1952.c:
3950           Tests for __func__.
3951         * support/regression/tests/bug-3410.c.in:
3952           Disable a test for mos65c02, since that port it still lacks _BitInt.
3954 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3956         * src/SDCCsymt.c,
3957           support/regression/tests/bug-3410.c.in:
3958           Fix bug #3410.
3959         * src/SDCCsalloc.hpp:
3960           Fix bug #3397.
3962 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3964         * src/z80/gen.c,
3965           support/regression/tests/bug-3459.c:
3966           Fix bug #3459.
3968 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3970         * src/SDCCsymt.c,
3971           support/regression/tests/bug-3456.c,
3972           support/regression/tests/bug-3459.c,
3973           support/regression/tests/bug-3460.c.in:
3974           Fix bug #3460.
3976 2022-07-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3978         * support/regression/tests/bug-3459.c:
3979           An attempt at creating a regression test for bug #3459.
3980         * src/z80/gen.c,
3981           support/regression/tests/bug-3456.c:
3982           Fix bug #3456.
3984 2022-07-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3986         * support/regression/MakeList:
3987           Exclude a test for host (since it fails when compiled with clang on FreeBSD 13.1 on aarch64).
3989 2022-07-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3991         * support/regression/MakeList:
3992           Disable tcc/110_average test for pdk, due to lack of memory on those targets.
3994 2022-06-29 Benedikt Freisen <b.freisen AT gmx.net>
3996         * device/include/float.h,
3997           src/SDCCmain.c:
3998           Provide macros for double, as requested in [feature-requests:#304].
4000 2022-06-29 Benedikt Freisen <b.freisen AT gmx.net>
4002         * device/lib/_slonglong2fs.c,
4003           device/lib/_ulonglong2fs.c,
4004           device/lib/incl.mk,
4005           doc/sdccman.lyx,
4006           support/regression/cases/Makefile.in:
4007           Implement long long to float conversion, fixing bug #3396.
4009 2022-06-28 Benedikt Freisen <b.freisen AT gmx.net>
4011         * doc/sdccman.lyx,
4012           src/SDCCargs.h,
4013           src/SDCCerr.c,
4014           src/SDCCerr.h
4015           src/SDCCmain.c:
4016           Improve command line parser flexibility and GCC compatibility.
4018 2022-06-28 Maarten Brock <sourceforge.brock AT dse.nl>
4020         * device/include/mcs51/at89c55.h,
4021           device/include/mcs51/at89x51.h,
4022           device/include/mcs51/at89x52.h,
4023           device/include/mcs51/C8051F040.h,
4024           device/include/mcs51/C8051F060.h,
4025           device/include/mcs51/mcs51reg.h,
4026           device/include/mcs51/reg764.h,
4027           device/include/mcs51/regc515c.h,
4028           device/include/mcs51/sab80515.h: fixed SBIT uses
4030 2022-06-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4032         * src/z80/gen.c,
4033           support/regression/tests/bug-3458.c.in:
4034           Fix bug #3458.
4036 2022-06-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4038         * src/SDCC.y:
4039           Fix SDCC crash on error message for duplicate default label.
4041 2022-06-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4043         * doc/sdccman.lyx,
4044           device/lib/ds390/lcd390.c,
4045           device/lib/ds390/rtc390.c,
4046           support/regression/tests/absolute.c.in,
4047           support/regression/tests/bitfields-bits1.c.in,
4048           support/regression/tests/bitfields-checks.c.in,
4049           support/regression/tests/bitfields-dead-loop.c.in,
4050           support/regression/tests/bitfields-nibbles.c.in,
4051           support/regression/tests/bug1723128.c,
4052           support/regression/tests/bug1750318.c,
4053           support/regression/tests/bug663539.c,
4054           support/regression/tests/simplefloat.c:
4055           Place __at next to identifier in declarations.
4057 2022-06-21 Maarten Brock <sourceforge.brock AT dse.nl>
4059         * src/SDCCicode.c/h (PRINTFUNC, +piCode, iCodePrint): replaced
4060           void*/iCode* with const iCode*
4061         * device/include/ds80c390.h,
4062           device/include/mcs51/at89S8252.h: use parentheses with __at
4063         * device/include/mcs51/at89c55.h,
4064           device/include/mcs51/at89x51.h,
4065           device/include/mcs51/at89x52.h,
4066           device/include/mcs51/C8051F040.h,
4067           device/include/mcs51/C8051F060.h,
4068           device/include/mcs51/mcs51reg.h,
4069           device/include/mcs51/reg764.h,
4070           device/include/mcs51/regc515c.h,
4071           device/include/mcs51/sab80515.h: use compiler.h
4072         * device/include/mcs51/at89x051.h: cosmetics
4073         * device/lib/_setjmp.c: stack is in __idata
4074         * device/lib/ds390/tinibios.c,
4075           device/lib/ds400/tinibios.c,
4076           device/lib/ser_ir.c: use parentheses with __interrupt
4077         * device/lib/ser_ir_cts_rts.c: use __bit
4078         * src/mos6502/gen.c,
4079           src/z80/gen.c: commented out some unused code to fix warnings
4080         * src/z80/peeph.def: removed rule 88 as it is a duplicate of 85a
4082 2022-06-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4084         * src/SDCC.y:
4085           Fix handling of C2X predefined constants.
4086         * device/lib/ds390/tinibios.c:
4087           Fix use of __interrupt.
4088         * support/regression/tests/compare_2_n.m4:
4089           Fix missing return type.
4091 2022-06-20 Felix Salfelder <felix AT salfelder.org>
4093         * support/regression/cases/Makefile.in:
4094           suppress implicit return type warnings in gte main functions.
4096 2022-06-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4098         * src/SDCC.y:
4099           Remove warning on label without statement, as it gives too many false positives.
4100         * support/regression/tests/rotate2.c.in:
4101           Fix missing return type.
4103 2022-06-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4105         * Merge from parser branch.
4107 2022-06-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4109         * SDCC.y,
4110           SDCCerr.h,
4111           SDCCerr.c:
4112           C2X allows labels in blocks even when not followed by a statement. Warn on C90 implicit int return type.
4114 2022-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4116         * src/SDCC.lex,
4117           src/SDCC.y,
4118           src/SDCCerr.c,
4119           src/SDCCerr.h,
4120           .version,
4121           doc/sdccman.lyx,
4122           device/include/mcs51/ser.h,
4123           device/include/mcs51/ser_ir.h,
4124           device/include/mcs51/serial.h,
4125           device/include/tinibios.h,
4126           support/regression/fwk/lib/testfwk.c,
4127           support/regression/ports/mcs51-common/T2_isr.c,
4128           support/regression/tests/bug1535242.c,
4129           support/regression/tests/critical.c,
4130           support/regression/tests/interrupt.c.in,
4131           support/regression/tests/setjmp.c,
4132           device/lib/_ser.c,
4133           device/lib/serial.c:
4134           Steps towards a parser suitable for C2X, inspired by the Jutta Degener grammar as extended by Jens Gustedt.
4136 2022-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4138         * doc/sdccman.lyx:
4139           Document standard version pragmas.
4141 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4143         * Merge from parser branch.
4145 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4147         * src/SDCC.lex,
4148           src/SDCC.y,
4149           src/SDCCerr.c,
4150           src/SDCCerr.h:
4151           Lexer support for complex numbers and decimal floating point (to emit an error message for these unsupported features instead of a non-descriptive syntax error)
4152         * tests/bitintconst.c.in:
4153           Test for bug #3454.
4155 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4157         * src/SDCC.lex,
4158           src/SDCCval.c:
4159           Fix bug #3454.
4161 2022-06-15 Maarten Brock <sourceforge.brock AT dse.nl>
4163         * src/z80/peeph.def: fixed rules 79 to 82 to fix bug #3387
4164         * support/regression/tests/bug-3387.c: new, added
4166 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4168         * doc/sdccman.lyx:
4169           Fix two typos in the manual
4171 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4173         * src/SDCC.lex,
4174           src/SDCC.y,
4175           src/pic14/ralloc.c,
4176           src/pic16/ralloc.c,
4177           src/altlex.c,
4178           src/Makefile.in:
4179           Steps towards a lexer suitable for C2X, inspired by the Jutta Degener grammar as extended by Jens Gustedt.
4181 2022-06-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4183         * doc/sdccman.lyx:
4184           Improve calling convention documentation, fix bug #3412.
4186 2022-06-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4188         * src/z80/gen.c,
4189           support/regression/tests/bug-3406.c:
4190           Fix bug #3406.
4192 2022-06-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4194         * src/SDCCast.c:
4195           Add an assertion to show the underlying issue of bug #3401.
4197 2022-05-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4199         * support/regression/cases/Makefile.in:
4200           Document reasons for some failing gte tests, enable tests that failed due to bug #3402 before.
4202 2022-05-31 Felix Salfelder <felix AT salfelder.org>
4204         * support/regression/cases/Makefile.in:
4205           jump to end of gte test in wrapped exit(0) calls, enable two
4206           more, 20010116-1.c, 20070424-1.c
4208 2022-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
4210         * support/sdbinutils/include/ansidecl.h: revert to previous
4211         * support/sdbinutils/libiberty/Makefile.in: check local include
4212           files first
4214 2022-05-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
4216         * support/regression/cases/Makefile.in: replace "echo -n" with
4217           "printf" to handle hosts that don't support "-n" option
4218         * support/sdbinutils/include/ansidecl.h: disable some attributes
4219           when compiling with clang so the Mac OS snapshot will build
4221 2022-05-24 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
4223         * support/scripts/sdcc.nsi: install/deinstall more uCsim
4224           binaries with correct names
4226 2022-05-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
4228         * support/scripts/sdcc.nsi: update for hc08 simulator name change
4229         * support/regression/Makefile.in: only display first 20 failures
4230           per test file (check the .out file if you need all of them)
4232 2022-05-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4234         * support/regression/MakeList,
4235           support/regression/cases/Makefile.in:
4236           Document reasons for some failing gte tests.
4238 2022-05-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4240         * support/regression/MakeList,
4241           support/regression/cases/Makefile.in:
4242           Document reasons for some failing TinyC tests.
4244 2022-05-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4246         * support/regression/MakeList,
4247           support/regression/cases/Makefile.in:
4248           Document reasons for some failing gte tests.
4250 2022-05-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4252         * support/regression/MakeList,
4253           support/regression/cases/Makefile.in:
4254           Document reasons for failing QuickC tests (lack of memory / speed vs. SDCC bugs).
4256 2022-05-21 Felix Salfelder <felix AT salfelder.org>
4258         * support/sdbinutils/bfd/asxxxx.c:
4259           name 2 unnamed parameters to comply with c99 & al.
4261 2022-05-20 Felix Salfelder <felix AT salfelder.org>
4263         * support/sdbinutils/bfd/asxxxx.c:
4264           edit out C++ style comments.
4266 2022-05-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4268         * support/regression/MakeList:
4269           Disable a test for targets that cannot complete it within reasonable time.
4271 2022-05-19 Felix Salfelder <felix AT salfelder.org>
4273         * support/packihx/Makefile.in:
4274           packihx: fix build (MAKEDEP related).
4276 2022-05-19 Felix Salfelder <felix AT salfelder.org>
4278         * support/regression/cases/Makefile.in:
4279           avoid segv in __fail, ASSERT(0) instead.
4281 2022-05-18 Felix Salfelder <felix AT salfelder.org>
4283         * Makefile.common.in, Makefile.in,
4284           sdas/*/Makefile.in, src/Makefile.in, src/port.mk:
4285           deduplicate dependency generation and fix for ports
4287 2022-05-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4289         * support/regression/MakeList,
4290           support/regression/cases/Makefile.in:
4291           Disable a test that tests for QuickC implementation-defined behaviour.
4293 2022-05-18 Felix Salfelder <felix AT salfelder.org>
4295         * Makefile.common.in, configure, configure.ac, src/Makefile.in:
4296           C vs. C++ distinction in dependency generation.
4298 2022-05-18 Felix Salfelder <felix AT salfelder.org>
4300         * support/sdbinutils:
4301           Merge upstream GNU Binutils 2.38 (feature request #766).
4302         * support/regression/Makefile.in:
4303           clean-results rule
4305 2022-05-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4307         * support/regression/tests/setjmp.c,
4308           support/regression/tests/loop.c.in:
4309           Disable two tests for FreeBSD 13.1, since a known issue from FreeBSD 13.0 is still present.
4310         * support/regression/MakeList:
4311           Disable a test for targets that cannot complete it within reasonable time.
4312         * support/regression/tests/bug-3385.c:
4313           Disable new test for mos6502, where it fails (bug #3386).
4314         * support/regression/tests/gcc-torture-execute-20040409-?.c:
4315           Disable parts of tests that test for GCC implementation-defined behaviour.
4316         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c,
4317           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c,
4318           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_xy.c:
4319           Disable tests for clang 13 that fail there due to clang 13 TS 6010 Provenance non-compliance.
4321 2022-05-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4323         * Merge regtest branch.
4325 2022-05-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4327         * src/SDCCval.c,
4328           src/SDCCast.c:
4329           support/regression/tests/bug-3391.c:
4330           Fix bug #3391.
4332 2022-05-16 Felix Salfelder <felix AT salfelder.org>
4334         * support/regression/Makefile.in:
4335           avoid various newline compound echo arguments.
4337 2022-05-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4339         * src/z80/gen.c:
4340           Fix bug #3388.
4341         * src/SDCCsymt.c,
4342           support/valdiag/tests/bug-3389.c:
4343           device/include/float.h,
4344           support/regression/tests/bug-1805702.c:
4345           Fix bug #3389.
4347 2022-05-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4349         * support/regression/tests/bug-3385.c:
4350           Disable new test for hc08 and s08, where it fails (bug #3386).
4352 2022-05-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4354         * Merge regtest branch.
4356 2022-05-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4358         * src/stm8/peeph.def,
4359           support/regression/tests/bug-3385.c:
4360           Fix bug #3385, patch by Ryan Hartlage (ryanplusplus).
4362 2022-05-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4364         * support/regression/MakeList:
4365           Exclude tests that fail on mcs51 due to abnormal stops.
4367 2022-05-11 Felix Salfelder <felix AT salfelder.org>
4369         * support/regression/MakeList
4370           exclude queen on pdk15-stack-auto.
4372 2022-05-11 Felix Salfelder <felix AT salfelder.org>
4374         * support/regression/Makefile.in:
4375           verbosity fix.
4377 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4379         * support/valdiag/Makefile.in:
4380           adjust compact-results invocation, add Makefile rule.
4382 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4384         * support/regression/compact-results.py:
4385           simplify compact-results output.
4387 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4389         * support/regression/Makefile.in:
4390           honour EXCLUDE_PORTS in test-mcs51.
4392 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4394         * support/regression/MakeList:
4395           tcc_49_bracket_evaluation excludes on mcs51.
4397 2022-05-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4399         * src/SDCCglue.c:
4400           Fix bug #3031.
4401         * src/SDCCerr.h,
4402           src/SDCCerr.c,
4403           src/SDCCutil.c,
4404           src/SDCC.lex,
4405           support/valdiag/tests/universal.c:
4406           ISO C23 diagnostics for invalid universal character names.
4408 2022-05-02 Benedikt Freisen <b.freisen AT gmx.net>
4410         * doc/sdccman.lyx:
4411           Document language override option -x.
4413 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4415         * support/regression/Makefile.in,
4416           support/regression/ports/host/spec.mk.in:
4417           Deduplicate EMU rule: handle test-host similar to other targets, patch by Felix Salfelder (felixs).
4419 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4421         * support/regression/MakeList:
4422           Exclude a test for some pdk15-stack-auto target (due to lack of memory), patch by Felix Salfelder (felixs).
4424 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4426         * support/regression/MakeList:
4427           Exclude some tests for some mcs51 targets (due to lack of memory), patch by Felix Salfelder (felixs).
4429 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4431         * support/regression/tests/bug-1981238.c,
4432           support/regression/tests/bug-3368.c:
4433           Disable some warnings about stuff that is meant to be tested.
4435 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4437         * support/regression/MakeList:
4438           Exclude some known-failing among the new tests, patch by Felix Salfelder (felixs).
4439         * support/regression/Makefile.in,
4440           support/regression/ports/host/spec.mk.in:
4441           Work around a linker error reporting issue, patch by Felix Salfelder (felixs).
4443 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4445         * device/lib/z180/setjmp.s,
4446           device/lib/z80/setjmp.s,
4447           device/lib/z80n/setjmp.s:
4448           Fix an issue triggered by tail-call optimization on calls to longjmp.
4450 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4452         * support/regression/gte/README,
4453           support/regression/qct/README,
4454           support/regression/tcc/README:
4455           Document Licenses of imported tests, patch by Felix Salfelder (felixs).
4457 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4459         * support/regression/MakeList,
4460           support/regression/cases/Makefile.in,
4461           support/regression/tcc,
4462           support/regression/qct:
4463           Add tests from TCC, QuickC, patch by Felix Salfelder (felixs).
4465 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4467         * support/regression/cases/Makefile.in:
4468           Disable some warnings in gce tests, patch by Felix Salfelder (felixs).
4469         * support/regression/MakeList:
4470           Disable new tests for z80-undoc (where they fail), patch by Felix Salfelder (felixs).
4472 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4474         * support/regression/Makefile.in,
4475           support/regression/cases/Makefile.in,
4476           support/regression/ports/mcs51-common/spec.mk,
4477           support/regression/ports/stm8/spec.mk,
4478           support/regression/gte:
4479           GCC tests from the execute part of the torture suite. Patch by Felix Salfelder (felixs).
4480         * support/regression/gte/951204-1.c:
4481           Un-edit a GCC torture-execute test, patch by Felix Salfelder (felixs).
4483 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4485         * support/regression/Makefile.in,
4486           support/regression/ports/host/spec.mk.in:
4487           Fix out creation logic to avoid duplicates, patch by Felix Salfelder (felixs).
4489 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4491         * support/regression/tests/genericnonintrinsicnaddr.c:
4492           Use PORT_HOST, just like the other tests, instead of TEST_HOST.
4494 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4496         * support/regression/Makefile.in:
4497           Hack to silence trigraph warning in p99 test, patch by Felix Salfelder (felixs).
4499 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4501         * support/regression/Makefile.in:
4502           Filter out tests listed in EXCLUDE_${PORT}, TEST_PREFIX: select tests by prefix (e.g. m4_), TEST_SLICE: slice test list (Python style). Patch by Felix Salfelder (felixs).
4504 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4506         * support/regression/Makefile.in:
4507           .PRECIOUS does not play with .DELETE_ON_ERROR, use .SECONDARY instead. Patch by Felix Salfelder (felixs).
4509 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4511         * Merge implicitintrinsicnamedaddressspaces branch.
4513 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4515         * support/regression/Makefile.in:
4516           Split EXCLUDE_PORTS, add uc6502-stack-auto, patch Felix Salfelder (felixs).
4518 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4520         * support/regression/tests/genericintrinsicnaddr.c,
4521           support/regression/tests/genericnonintrinsicnaddr.c:
4522           Test _Generic on pointers into named address spaces.
4523         * src/SDCCmem.c,
4524           src/SDCCast.c:
4525           Fix a _Generic implicit intrinsic named address space issue affecting large and huge mcs51 memory model.
4527 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4529         * support/regression/MakeList,
4530           support/regression/Makefile.in,
4531           support/regression/cases/Makefile.in,
4532           support/regression/gte:
4533           Import missing gcc torture execute tests, patch by by Felix Salfelder (felixs).
4535 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4537         * Merge regtest branch.
4539 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4541         * support/regression/cases/Makefile.in:
4542           Test cases cleanup, patch by Felix Salfelder (felixs).
4544 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4546         * src/SDCCast.c,
4547           src/SDCCcse.c,
4548           src/SDCCglue.c,
4549           src/SDCCicode.c,
4550           src/SDCClospre.hpp,
4551           src/SDCCopt.c,
4552           src/SDCCsymt.c,
4553           src/SDCCsymt.h,
4554           src/ds390/ralloc.c,
4555           src/mcs51/ralloc.c,
4556           src/pic14/glue.c,
4557           src/pic14/ralloc.c,
4558           src/pic16/glue.c,
4559           src/pic16/ralloc.c,
4560           support/regression/tests/bug-3254.c,
4561           support/regression/tests/bug-3245.c:
4562           Fix bugs #3254, #3145.
4564 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4566         * src/SDCCglue.c,
4567           support/valdiag/tests/generic.c:
4568           Fix another part of bug #3145.
4570 2022-04-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4572         * src/SDCCast.c:
4573           Fix array-to-pointer decay in _Generic.
4575 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4577         * src/SDCCsymt.c,
4578           support/regression/tests/bug-2629.c:
4579           Fix bug #2629.
4581 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4583         * src/SDCCsymt.c:
4584           Assertion to catch bug #2629 earlier.
4585         * support/regression/tests/bug-2629.c:
4586           (Disabled) test for bug #2629.
4588 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4590         * src/SDCCsymt.c:
4591           Fix printing of plain char for error messages and debug output.
4593 2022-04-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4595         * doc/sdccman.lyx:
4596           Update documentation on standard compliance.
4598 2022-04-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4600         * src/stm8/gen.c,
4601           support/regression/tests/bug-3379.c:
4602           Fix bug #3379.
4604 2022-04-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4606         * support/regression/tests/bug-2981.c:
4607           Test for bug #2981.
4608         * src/SDCCast.c,
4609           support/regression/tests/bug-3255.c:
4610           Fix bug #3255.
4611         * src/SDCCglue.c,
4612           support/valdiag/tests/generic.c:
4613           Fix part of bug #3145.
4615 2022-04-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4617         * support/regression/cases/Makefile.in:
4618           Fix rm flag for cleaning MakeList.
4619         * support/regression/Makefile.in:
4620           Fix build of mcs51 regression test framework libraries, fix by Felix Salfelder (felixs).
4622 2022-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4624         * support/regression/Makefile.in,
4625           support/regression/ports/mcs51-small-stack-auto:
4626           Rename mcs51-stack-auto to mcs51-small-stack-auto for consistency with mcs51-small and mcs51-large-stack-auto.
4627         * doc/sdccman.lyx:
4628           Clarify __z88dk_callee behaviour.
4630 2022-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4632         * src/mcs51/gen.c,
4633           src/stm8/gen.c,
4634           support/regression/tests/funptrsstructreturn.c.in:
4635           Fixes for calls via function pointers to functions returning struct / union.
4637 2022-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4639         * src/SDCCicode.c,
4640           src/SDCCsymt.c,
4641           src/mcs51/gen.c,
4642           src/mcs51/main.c,
4643           support/regression/tests/structreturn.c.in,
4644           device/lib/div.c,
4645           device/lib/ldiv.c,
4646           device/lib/lldiv.c,
4647           device/lib/mcs51/Makefile.in,
4648           support/regression/tests/div.c,
4649           device/include/stdlib.h:
4650           struct / union return for mcs51.
4652 2022-04-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4654         * src/mcs51/gen.c,
4655           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
4656           support/regression/tests/gcc-torture-execute-va-arg-23.c,
4657           support/regression/tests/gcc-torture-execute-va-arg-4.c,
4658           support/regression/tests/structparam.c,
4659           support/regression/tests/structparam.c.in:
4660           struct / union parameters on the stack for mcs51.
4662 2022-04-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4664         * ChangeLog,
4665           src/SDCCicode.c,
4666           src/SDCCmem.c,
4667           support/regression/ports/mcs51-common/spec.mk,
4668           support/regression/tests/gcc-torture-execute-20040707-1.c,
4669           support/regression/tests/gcc-torture-execute-20050713-1.c,
4670           support/regression/tests/gcc-torture-execute-20180131-1.c,
4671           support/regression/tests/gcc-torture-execute-pr67226.c,
4672           support/regression/tests/structparam.c:
4673           Fix bug #3377.
4675 2022-03-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4677         * src/SDCCicode.c,
4678           src/SDCCsymt.c,
4679           src/ds390/main.c,
4680           src/hc08/main.c,
4681           src/mcs51/main.c,
4682           src/mos6502/main.c,
4683           support/regression/tests/bug-3368.c,
4684           support/regression/tests/gcc-torture-execute-20050713-1.c,
4685           support/regression/tests/gcc-torture-execute-20180131-1.c,
4686           support/regression/tests/gcc-torture-execute-pr67226.c,
4687           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
4688           support/regression/tests/gcc-torture-execute-va-arg-4.c,
4689           support/regression/tests/structparam.c,
4690           support/regression/tests/gcc-torture-execute-20021118-1.c,
4691           support/regression/tests/gcc-torture-execute-20040707-1.c,
4692           support/regression/tests/gcc-torture-execute-20180131-1.c,
4693           support/regression/tests/gcc-torture-execute-pr67226.c,
4694           support/regression/tests/gcc-torture-execute-920625-1.c,
4695           support/regression/tests/gcc-torture-execute-va-arg-23.c:
4696           struct parameter support for non-reentrant functions.
4698 2022-03-29 Benedikt Freisen <b.freisen AT gmx.net>
4700         * doc/sdccman.lyx:
4701           Reference section 3.2.5 in 3.2.4, fix typo in 1.2.
4703 2022-03-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4705         * support/sdbinutils/bfd/*:
4706           Delete unused files as suggested by Felix Salfelder (felixs).
4708 2022-03-28 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4710         * device/lib/tlcs90/strlen.s:
4711           Fix regression from [r13318].
4713 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4715         * support/regression/ports/tlcs90/spec.mk:
4716           Do not emit debug info to ease reading asm files.
4717         * src/z80/ralloc2.cc:
4718           Fix code generation issues in use of iy.
4720 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4722         * support/regression/Makefile.in:
4723           Conditional MakeList include, and conditional test-port, part of patch #430 by Felix Salfelder (felixs).
4725 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4727         * support/regression/Makefile.in,
4728           support/regression/cases/Makefile.in:
4729           Silence case expansion messages by default, part of patch #430 by Felix Salfelder (felixs).
4731 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4733         * support/regression/Makefile.in,
4734           support/regression/cases/Makefile.in,
4735           support/regression/ports/host/spec.mk.in:
4736           V flag to control verbosity, decouple test-ports and print-summary. Part of patch #430 by Felix Salfelder (felixs).
4738 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4740         * support/regression/Makefile.in,
4741           support/regression/ports/*/spec.mk:
4742           Deduplicate spec.mk by using rules in Makefile.in instead. Part of patch #430 by Felix Salfelder (felixs).
4744 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4746         * support/regression/Makefile.in,
4747           support/regression/ports/host/spec.mk.in:
4748           Regression test infrastructure, picked from patch #430 by Felix Salfelder (felixs): fixes for error reporting, number of compact-results calls, CLEAN_PORTS.
4750 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4752         * src/z80/gen.c:
4753           Fix bug #3373.
4755 2022-03-28 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4757         * sim/ucsim/z80.src/gb80.cc,
4758           sim/ucsim/z80.src/gb80cl.h,
4759           sim/ucsim/z80.src/inst.cc,
4760           sim/ucsim/z80.src/inst_gb80.cc:
4761           Fix cycle accuracy.
4763 2022-03-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4765         * sdas/astlcs90/tt90.asm,
4766           sim/ucsim/tlcs.src/inst_arith.cc,
4767           sim/ucsim/tlcs.src/inst_jump.cc,
4768           sim/ucsim/tlcs.src/tlcs.cc:
4769           Improve cycle accuracy.
4771 2022-03-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4773         * sdas/astlcs90/tt90.asm:
4774           Add some test assembly.
4776 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4778         * support/regression/tests/bitintvararg.c.in:
4779           Fix host test disable condition.
4781 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4783         * support/regression/Makefile.in,
4784           support/regression/cases/Makefile.in,
4785           support/regression/cases/mkdrv.py,
4786           support/regression/ports/*/spec.mk,
4787           support/regression/ports/host/spec.mk.in:
4788           Regression test infrastructure, picked from patch #430 by Felix Salfelder (felixs).
4789         * support/regression/tests/structparam.c.in:
4790           Fix test file extension for parametrized test.
4792 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4794         * configure,
4795           configure.ac,
4796           support/regression/Makefile.in,
4797           support/regression/ports/host/spec.mk.in,
4798           support/regression/cases:
4799           Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs), made less verbose.
4803 2022-03-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4805         * device/lib/tlcs90/abs.s,
4806           device/lib/tlcs90/atomic_flag_test_and_set.s,
4807           device/lib/tlcs90/crt0.s,
4808           device/lib/tlcs90/memcpy.s,
4809           device/lib/tlcs90/memmove.s,
4810           device/lib/tlcs90/strcpy.s,
4811           device/lib/tlcs90/strlen.s:
4812           Optimize handwritten assembly.
4814 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4816         * support/regression/Makefile.in:
4817           Fix an issue in test-host regression test output, fix suggested via chat by Felix Salfelder (felixs).
4819 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4821         * support/regression/tests/bitintvararg.c.in:
4822           Disable a test for clang 11.0 host, where it fails.
4823         * device/lib/tlcs90/atomic_flag_test_and_set.s:
4824           Bring back previous atomic_flag_test_and_set implementation as comment, explain why it was chosen, and under which circumstances we might want to revert back to it.
4826 2022-03-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4828         * sim/ucsim/tlcs.src/inst_arith.cc
4829           sim/ucsim/tlcs.src/inst_bit.cc
4830           sim/ucsim/tlcs.src/inst_jump.cc
4831           sim/ucsim/tlcs.src/tlcs.cc:
4832           Add partial cycle counting.
4834 2022-03-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4836         * device/include/stdatomic.h,
4837           device/lib/atomic_flag_clear.c,
4838           device/lib/tlcs90/atomic_flag_test_and_set.s:
4839           Switch to faster atomic test with shift. (8T vs 12T)
4841 2022-03-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4843         * support/regression/Makefile.in,
4844           support/regression/generate-cases.py,
4845           support/regression/tests/*.c.in:
4846           Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
4848 2022-03-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4850         * support/regression/Makefile.in:
4851           Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
4853 2022-03-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4855         * src/SDCCglobl.h,
4856           src/SDCCglue.c,
4857           src/z80/main.c,
4858           src/z80/z80.h,
4859           support/regression/ports/ucz80-undoc,
4860           support/regression/Makefile.in,
4861           src/z80/gen.c:
4862           Support for undocumented Z80 instructions.
4864 2022-03-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4866         * sdas/asz80/z80mch.c:
4867           Disable undocumented instructions for Z180.
4869 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4871         * support/regression/Makefile.in,
4872           support/regression/generate-cases.py:
4873           Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
4875 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4877         * src/SDCCast.c,
4878           src/SDCCsymt.c,
4879           support/regression/tests/widebitintbitfield.c:
4880           _BitInt promotion fix.
4881         * src/SDCCicode.c:
4882           support/regression/tests/gcc-torture-execute-920625-1.c,
4883           support/regression/tests/bug-3368.c:
4884           Fix bug #3368.
4885         * support/regression/tests/bug-3235.c:
4886           Test for a bug that was fixed a while ago.
4888 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4890         * src/SDCCast.c,
4891           support/regression/tests/bug-3372.c:
4892           Fix bug #3372.
4893         * src/SDCCsymt.c:
4894           Improve debug output for bit-fields.
4896 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4898         * sdas/as8xcxxx/ds8adr.c,
4899           sdas/as8xcxxx/ds8mch.c:
4900           Merge error messages from upstream ASxxxx 5.40.
4902 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4904         * sdas/as8xcxxx/ds8pst.c,
4905           sdas/aspdk13/pdk13pst.c,
4906           sdas/aspdk14/pdk14pst.c,
4907           sdas/aspdk15/pdk15pst.c,
4908           sdas/aspdk16/pdk16pst.c,
4909           sdas/asrab/rabpst.c,
4910           sdas/asstm8/stm8pst.c,
4911           sdas/astlcs90/t90pst.c,
4912           sdas/asz80/z80pst.c:
4913           Enable .incbin for all targets.
4915 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4917         * support/regression/tests/widebitintbitfield.c:
4918           Disable a test that had been accidentially enabled even for ports where the feature is not supported.
4920 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4922         * sdas/as8051/i51adr.c,
4923           sdas/as8051/i51mch.c,
4924           sdas/as8051/i51pst.c:
4925           Merge error messages from upstream ASxxxx 5.40.
4927 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4929         * sdas/asz80/z80.h:
4930           Fix .allow_undocumented for z80 [bugs:#3275].
4932 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4934         * sdas/asxxsrc/assubr.c:
4935           Fix detailed error messages in sdas.
4937 2022-03-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4939         * support/regression/tests/widebitintbitfield.c:
4940           Temporarily disable new failing _BitInt test.
4942 2022-03-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4944         * support/regression/tests/bitint.c,
4945           support/regression/tests/bitintarith.c,
4946           support/regression/tests/bitintbitfield.c,
4947           support/regression/tests/bitintvararg.c,
4948           support/regression/tests/widebitintbitfield.c:
4949           Enable some tests for bit-precise integers on clang 11 host.
4951 2022-03-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4953         * src/SDCCcse.c,
4954           support/regression/tests/bitint.c:
4955           Fix bug #3371.
4957 2022-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4959         * sdas/asz80/z80mch.c:
4960           Fix/add cycles of z80 and z80n.
4962 2022-03-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4964         * src/SDCCglue.c:
4965           Fix bug #3353.
4967 2022-03-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4969         * src/pdk/gen.c,
4970           support/regression/tests/bug-2368.c,
4971           support/regression/tests/bug-2770.c,
4972           support/regression/tests/bug-3231.c,
4973           support/regression/tests/bug3440327.c,
4974           support/regression/tests/cse.c,
4975           support/regression/tests/gcc-torture-execute-20021118-1.c,
4976           support/regression/tests/gcc-torture-execute-20040707-1.c,
4977           support/regression/tests/gcc-torture-execute-20050713-1.c,
4978           support/regression/tests/gcc-torture-execute-20180131-1.c,
4979           support/regression/tests/gcc-torture-execute-pr67226.c,
4980           support/regression/tests/malloc.c,
4981           support/regression/tests/memory.c,
4982           support/regression/tests/preserves_regs.c,
4983           support/regression/tests/structparam.c:
4984           struct parameters for pdk (--stack-auto only).
4986 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4988         * src/pdk/ralloc2.cc,
4989           src/stm8/ralloc2.cc,
4990           src/z80/ralloc2.cc,
4991           support/regression/tests/gcc-torture-execute-20050713-1.c,
4992           support/regression/tests/gcc-torture-execute-920625-1.c:
4993           Fix a register allocation issue affecting calls to functions with multiple struct parameters.
4995 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4997         * src/SDCC.y,
4998           src/SDCCcse.c,
4999           src/SDCCicode.c,
5000           src/SDCCicode.h,
5001           src/pdk/gen.c,
5002           src/stm8/gen.c,
5003           src/z80/gen.c,
5004           support/regression/tests/gcc-torture-execute-20021118-1.c,
5005           support/regression/tests/gcc-torture-execute-20050713-1.c,
5006           support/regression/tests/gcc-torture-execute-20180131-1.c,
5007           support/regression/tests/gcc-torture-execute-pr67226.c,
5008           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
5009           support/regression/tests/gcc-torture-execute-struct-ret-1.c,
5010           support/regression/tests/gcc-torture-execute-va-arg-23.c,
5011           support/regression/tests/gcc-torture-execute-va-arg-4.c,
5012           support/regression/tests/structparam.c:
5013           Rewrite struct parameter support to fix bug #3365.
5015 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5017         * src/SDCCast.c,
5018           support/regression/tests/gcc-torture-execute-920625-1.c,
5019           support/regression/tests/gcc-torture-execute-strct-stdarg-1.c,
5020           support/regression/tests/gcc-torture-execute-strct-varg-1.c:
5021           Basic support for struct varargs.
5022         * support/regression/tests/gcc-torture-execute-20040707-1.c,
5023           support/regression/tests/gcc-torture-execute-pr71700.c,
5024           support/regression/tests/gcc-torture-execute-struct-ini-1.c,
5025           support/regression/tests/gcc-torture-execute-va-arg-23.c,
5026           support/regression/tests/gcc-torture-execute-va-arg-4.c:
5027           Enable some GCC tests that pass due to recent improvements in struct / union support.
5028         * src/mos6502/gen.c,
5029           src/mos6502/ralloc.c,
5030           src/pdk/gen.c,
5031           src/pdk/ralloc.c,
5032           src/stm8/gen.c,
5033           src/stm8/ralloc.c,
5034           src/z80/gen.c,
5035           src/z80/ralloc.c:
5036           Remove remains of support for unused IPOP.
5037         * doc/README.txt,
5038           doc/sdccman.lyx,
5039           LICENSE:
5040           Make it a bit easier to read about the license situation.
5042 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5044         * src/mcs51/gen.c:
5045           Fix bug #3364.
5046         * support/regression/tests/bitintvararg.c:
5047           Enable test for widths, for which it passes.
5048         * support/regression/tests/gcc-torture-execute-bswap-2.c:
5049           Remove GCC test that requires int to be at least 32 bits wide.
5050         * support/regression/tests/gcc-torture-execute-20020215-1.c,
5051           support/regression/tests/gcc-torture-execute-20020810-1.c,
5052           support/regression/tests/gcc-torture-execute-20021010-2.c,
5053           support/regression/tests/gcc-torture-execute-20021118-1.c,
5054           support/regression/tests/gcc-torture-execute-20050713-1.c,
5055           support/regression/tests/gcc-torture-execute-20170401-1.c,
5056           support/regression/tests/gcc-torture-execute-20180131-1.c,
5057           support/regression/tests/gcc-torture-execute-920625-1.c,
5058           support/regression/tests/gcc-torture-execute-pr67226.c,
5059           support/regression/tests/gcc-torture-execute-restrict-1.c,
5060           support/regression/tests/gcc-torture-execute-strct-stdarg-1.c,
5061           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
5062           support/regression/tests/gcc-torture-execute-struct-ret-1.c:
5063           Enable some GCC tests that pass due to recent improvements in struct / union support.
5065 2022-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5067         * device/include/stdarg.h,
5068           src/SDCCast.c,
5069           src/SDCCerr.c,
5070           src/SDCCicode.c,
5071           support/regression/tests/gcc-torture-execute-pr60017.c,
5072           support/regression/tests/bitintvararg.c:
5073           Fixes for bit-precise varargs, bug #3361.
5075 2022-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5077         * src/SDCCicode.c,
5078           src/SDCCsymt.c,
5079           src/stm8/gen.c,
5080           src/z80/gen.c,
5081           support/regression/tests/bug-3359.c,
5082           support/regression/tests/structparam.c,
5083           .version,
5084           doc/sdccman.lyx:
5085           Fix bug #3359 and implement struct / union parameters for stm8, z80 and related (and for pdk with --stack-auto), RFE #23.
5087 2022-03-16 Gabriele Gorla <gorlik@yahoo.com>
5089         * src/mos6502/gen.c:
5090           Refactor genAnd(), genOr() and genXor().
5092 2022-03-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5094         * src/z80/gen.c:
5095           Fix access before array.
5096         * support/regression/tests/gcc-torture-execute-20020206-1.c,
5097           support/regression/tests/gcc-torture-execute-20050713-1.c,
5098           support/regression/tests/gcc-torture-execute-20071210-1.c,
5099           support/regression/tests/gcc-torture-execute-20131127-1.c,
5100           support/regression/tests/gcc-torture-execute-20170401-1.c,
5101           support/regression/tests/gcc-torture-execute-20171008-1.c,
5102           support/regression/tests/gcc-torture-execute-pr60017.c,
5103           support/regression/tests/gcc-torture-execute-pr82387.c,
5104           support/regression/tests/gcc-torture-execute-pr82388.c:
5105           Update reasons why we skip some gcc tests.
5106         * device/include/uchar.h,
5107           src/SDCCval.c:
5108           In C23, u8-prefixed string literals are arrays of char8_t, a typedef for unsigned char. RFE #779.
5110 2022-03-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5112         * support/regression/Makefile.in,
5113           support/regression/ports/ds390/spec.mk,
5114           support/regression/ports/ez80-z80/spec.mk,
5115           support/regression/ports/mcs51-common/spec.mk,
5116           support/regression/ports/pdk13/spec.mk,
5117           support/regression/ports/pdk15/spec.mk,
5118           support/regression/ports/pdk15-stack-auto/spec.mk,
5119           support/regression/ports/stm8/spec.mk,
5120           support/regression/ports/ucz180/spec.mk,
5121           support/regression/ports/ucz180-resiy/spec.mk,
5122           support/regression/ports/ucz80-nmos/spec.mk,
5123           support/regression/ports/ucz80n/spec.mk:
5124           Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
5126 2022-03-15 Gabriele Gorla <gorlik@yahoo.com>
5128         * support/regression/tests/div.c,
5129           device/lib/s08/Makefile.in,
5130           device/lib/hc08/Makefile.in,
5131           device/lib/mos6502/Makefile.in,
5132           device/lib/mos65c02/Makefile.in,
5133           device/lib/mos6502-stack-auto/Makefinle.in:
5134           Enable div and ldviv for mos6502 and hc08/s08 ports.
5135         * src/mos6502/gen.c,
5136           src/mos6502/main.c:
5137           Add support for GETBYTE and GETWORD iCodes.
5139 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5141         * src/pdk/gen.c,
5142           device/lib/lldiv.c:
5143           Fix pdk heap corruption on returning large struct.
5144         * src/stm8/gen.c:
5145           Fixes for large struct return.
5147 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5149         * device/lib/div.c,
5150           device/lib/ldiv.c,
5151           device/lib/lldiv.c,
5152           support/regression/tests/div.c,
5153           device/lib/Makefile.in,
5154           device/lib/*/Makefile.in:
5155           Division functions, RFE #167.
5157 2022-03-15 Benedikt Freisen <b.freisen AT gmx.net>
5159         * device/include/gcc_attr.h:
5160           Compatibility macros for GCC attribute syntax.
5162 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5164         * src/SDCCsymt.c,
5165           support/regression/tests/structreturn.c:
5166           Enable struct / union return for hc08, s08, mos6502, ds390.
5167         * device/include/stdlib.h:
5168           Provide prototypes for division functions.
5170 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5172         * src/pdk/gen.c,
5173           src/z80/gen.c,
5174           src/SDCCsymt.c,
5175           doc/sdccman.lyx,
5176           support/regression/tests/structreturn.c:
5177           struct / union return support for pdk and z80 and related.
5179 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5181         * src/SDCCcse.c,
5182           src/SDCCicode.c,
5183           src/SDCCicode.h,
5184           src/SDCClrange.c,
5185           src/SDCCopt.c,
5186           src/SDCCsymt.c,
5187           src/ds390/ralloc.c,
5188           src/mcs51/ralloc.c,
5189           src/pic14/glue.c,
5190           src/pic14/ralloc.c,
5191           src/pic16/glue.c,
5192           src/pic16/ralloc.c,
5193           src/stm8/gen.c,
5194           src/z80/ralloc.c:
5195           struct / union return support for stm8.
5197 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5199         * device/include/assert.h:
5200           Improve test for assert C23-compliance.
5202 2022-03-15 Gabriele Gorla <gorlik@yahoo.com>
5204         * src/mos6502/gen.c:
5205           genPlusInc(), genMinusDec() and genlshTwo() improvements.
5207 2022-03-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5209         * src/z80/main.c,
5210           src/z80/gen.c:
5211           Enable _BitInt for sm83 up to 64 bits.
5212         * device/include/assert.h,
5213           support/regression/tests/assert.c:
5214           C23-compliant assert, RFE #780.
5216 2022-03-14 Gabriele Gorla <gorlik@yahoo.com>
5218         * support/regression/tests/gcc-torture-execute-20021120-1.c:
5219           Make stack-auto exception only for mos6502 port. Enable test for S08 and HC08.
5221 2022-03-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5223         * support/regression/tests/bitintarith.c:
5224           Disable part of test for pdk14 to not run out of code memory.
5225         * src/z80/gen.c,
5226           support/regression/tests/bitintbitfield.c,
5227           support/regression/tests/widebitintbitfield.c:
5228           Fix write to wide bit-field on z80.
5230 2022-03-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5232         * src/SDCCval.c:
5233           Use unsigned long long to represent bit-field values at compile time.
5234         * src/mcs51/main.c:
5235           Enable _BitInt for mcs51.
5236         * support/regression/tests/bitintarith.c,
5237           support/regression/tests/bug-3355.c:
5238           Test for bug #3355 (disabled for now).
5239         * src/ds390/main.c,
5240           src/ds390/gen.c:
5241           _BitInt for ds390.
5242         * src/z80/gen.c,
5243           support/regression/tests/bitintarith.c:
5244           Fix a z80 _BitInt decrement issue.
5246 2022-03-14 Gabriele Gorla <gorlik@yahoo.com>
5248         * src/mos6502/gen.c:
5249           Make regInfoStr display SP relative values when appropriate.
5250           Additional improvements to genAddrOf().
5252 2022-03-13 Gabriele Gorla <gorlik@yahoo.com>
5254         * support/regression/tests/gcc-torture-execute-20021120-1.c:
5255           Make large local allocation static when compiling with --stack-auto.
5257 2022-03-13 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5259         * sdas/as6500/r65pst.c,
5260           sdas/as6808/m08pst.c,
5261           sdas/as8051/i51pst.c,
5262           sdas/as8xcxxx/ds8pst.c,
5263           sdas/aspdk13/pdk13pst.c,
5264           sdas/aspdk14/pdk14pst.c,
5265           sdas/aspdk15/pdk15pst.c,
5266           sdas/aspdk16/pdk16pst.c,
5267           sdas/asrab/rabpst.c,
5268           sdas/asstm8/stm8pst.c,
5269           sdas/astlcs90/t90pst.c,
5270           sdas/asz80/z80pst.c:
5271           Enable new mnemonics on all ports.
5273 2022-03-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5275         * support/regression/tests/bitintarith.c,
5276           src/pdk/main.c:
5277           Disable a test that failed on pdk15 for wide _BitInt due to lack of memory, reenable 64-_BitInt support for pdk.
5279 2022-03-12 Gabriele Gorla <gorlik@yahoo.com>
5281         * src/mod6502/gen.c:
5282           Small genCast() improvements.
5284 2022-03-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5286         * src/z80/peeph.def:
5287           Eliminate nop jps.
5289 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5291         * src/pdk/main.c:
5292           Limit _BitInt size to 16 for pdk (temporarily, until an issue is fixed).
5293         * src/pdk/main.c:
5294           Fix handling of parameters of odd size > 2.
5296 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5298         * Merge _BitInt branch.
5300 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5302         * src/mcs51/gen.c:
5303           Basic _BitInt support for mcs51.
5305 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5307         * src/pdk/gen.c,
5308           src/stm8/gen.c,
5309           src/z80/gen.c,
5310           support/regression/tests/bitint.c,
5311           support/regression/tests/widebitintbitfield.c:
5312           Fix cast from signed integer type to wider unsigned bit-precise type.
5314 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5316         * Merge _BitInt branch.
5318 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5320         * src/SDCCsymt.c,
5321           src/SDCCval.c,
5322           src/z80/gen.c:
5323           support/regression/tests/widebitintbitfield.c:
5324           Fixes for bit-precise bit-fields.
5326 2022-03-11 Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu>
5328         * src/pdk/gen.c:
5329           Fix compile by gcc 9.4.0: label must be on statement
5331 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5333         * src/SDCCglue.c,
5334           src/SDCCsymt.c,
5335           src/SDCCval.c,
5336           support/regression/tests/bitint.c,
5337           support/regression/tests/bitintbitfield.c:
5338           Fix issues in casts between bitprecise types of different sign.
5340 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5342         * src/ds390/main.c,
5343           src/hc08/main.c,
5344           src/mcs51/main.c,
5345           src/pic14/main.c,
5346           src/pic16/main.c:
5347           Explicitly state _BitInt non-support.
5349 2022-03-10 Gabriele Gorla <gorlik@yahoo.com>
5351         * src/SDCCglue.c:
5352           Make assembly comments more consistent.
5353         * src/mos6502/main.c,
5354           src/mos6502/ralloc2.cc:
5355           Refactor to make files more similar to stm8 port.
5357 2022-03-10 Benedikt Freisen <b.freisen AT gmx.net>
5359         * doc/sdccman.lyx:
5360           Clarify --std-cxx and --std-sdccxx.
5362 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5364         * Merge _BitInt branch.
5366 2022-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5368         * src/SDCCpeeph.c:
5369           Calculate size of general ASxxx directives, apply [patches:428].
5371 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5373         * src/SDCCmain.c
5374           src/pdk/gen.c
5375           src/pdk/main.c
5376           src/pdk/peep.c
5377           Support for bit-precise integer types on pdk.
5378         * src/stm8/gen.c,
5379           src/stm8/main.c,
5380           src/z80/gen.c,
5381           support/regression/tests/bitintarith.c:
5382           Fix left shift of bit-precise integer types.
5384 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5386         * src/z80/gen.c,
5387           src/z80/main.c:
5388           Support for bit-precise integer types on sm83 up to a width of 16.
5390 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5392         * Merge _BitInt branch.
5394 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5396         * doc/sdccman.lyx,
5397           src/z80/gen.c,
5398           src/z80/main.c,
5399           support/regression/tests/bitint.c:
5400           Bit-precise types and bit-fields thereof for z80-related (except sm83, which only gets support up to a width of 8 bits for now).
5402 2022-03-09 Gabriele Gorla <gorlik@yahoo.com>
5404         * src/mos6502/gen.c,
5405           src/mos6502/main.c,
5406           src/mos6502/ralloc.h:
5407           Avoid marking the accumulator dirty after a compare operation.
5409 2022-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5411         * sdas/asxxsrc/asmain.c,
5412           sdas/asxxsrc/asxxxx.h:
5413           Merge all kinds of .if directives from upstream ASxxxx.
5414         * sdas/asgb/gbpst.c:
5415           Enable in sm83 for testing.
5417 2022-03-09 Gabriele Gorla <gorlik@yahoo.com>
5419         * src/mos6502/peeph.def:
5420           Add rules for redundant stores after loads.
5421         * device/lib/mos6502/crt0.s:
5422           Use ZP for memcpy and memset parameters.
5424 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5426         * Merge _BitInt branch.
5428 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5430         * src/SDCCsymt.c,
5431           support/regression/tests/bitintbitfield.c:
5432           Fix signed bit-precise bit-fields.
5434 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5436         * src/SDCCopt.c,
5437           src/SDCCsymt.h,
5438           src/SDCCval.c,
5439           src/stm8/gen.c,
5440           support/regression/tests/bitint.c,
5441           support/regression/tests/bitintarith.c:
5442           Multiplicative operators for bit-precise integers.
5444 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5446         * src/SDCCopt.c,
5447           src/stm8/main.c:
5448           Improve diagnostics for unimplemented bit-precise operators.
5450 2022-03-09 Gabriele Gorla <gorlik@yahoo.com>
5452         * src/mos6502/gen.c:
5453           Fix corner cases in genPointerSet() and genPointerGet().
5455 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5457         * src/SDCCast.c,
5458           src/SDCCval.c,
5459           support/regression/tests/bitint.c,
5460           support/regression/tests/bitintarith.c,
5461           src/stm8/gen.c:
5462           Various _BitInt fixes.
5464 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5466         * src/SDCCast.c,
5467           src/SDCCsymt.c,
5468           src/SDCCval.c:
5469           Fix casts for bit-precise types.
5470         * src/stm8/gen.c:
5471           Fix return of types with odd size greater than 4.
5472         * support/regression/tests/bitint.c,
5473           support/regression/tests/bitintarith.c:
5474           Somethings already work for _BitInt, so we can test them!
5476 2022-03-09 Maarten Brock <sourceforge.brock AT dse.nl>
5478         * doc/sdccman.lyx: fixed bug #3343
5480 2022-03-08 Gabriele Gorla <gorlik@yahoo.com>
5482         * src/mos6502/peeph.def:
5483           Minor peephole optimizations.
5484         * src/mos6502/gen.c:
5485           Special case 16b left and 8bit right in genPlus and genMinus.
5487 2022-03-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5489         * sdas/as8xcxxx/ds8mch.c,
5490           sdas/asxxsrc/asxxxx.h:
5491           Fix ASxxxx warnings by merging with upstream for [bugs:#3347].
5493 2022-03-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5495         * src/SDCC.lex,
5496           src/SDCCerr.c,
5497           src/SDCCerr.h,
5498           src/SDCCsymt.c,
5499           src/SDCCval.c,
5500           src/stm8/main.c,
5501           src/SDCCglue.c,
5502           src/SDCCast.c,
5503           src/SDCCsymt.h,
5504           src/stm8/gen.c:
5505           Infrastructure for bit-precise integer literals.
5507 2022-03-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5509         * device/include/limits.h,
5510           src/SDCC.lex,
5511           src/SDCC.y,
5512           src/SDCCerr.c,
5513           src/SDCCerr.h,
5514           src/SDCCmain.c,
5515           src/SDCCsymt.c,
5516           src/SDCCsymt.h,
5517           src/SDCCval.c,
5518           src/port.h:
5519           Infrastructure for bit-precise integers.
5521 2022-03-08 Philipp Klaus Krause <pkk AT spth.de>
5523         * .version:
5524           Start post-4.2.0 development.
5526 2022-03-08 Philipp Klaus Krause <pkk AT spth.de>
5528         * Merge sdcc-next branch to trunk.
5530 2022-03-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5532         * src/z80/peep.c:
5533           Make it compile again.
5535 2022-03-07 Gabriele Gorla <gorlik@yahoo.com>
5537         * support/regression/tests/bug3475630.c,
5538           support/regression/tests/bug2094505.c:
5539           Adjust tests parameters for stack-auto.
5540         * src/mos6502/gen.c,
5541           src/mos6502/main.c,
5542           src/mos6502/ralloc2.cc:
5543           Use DPTR instead of YX for indexed addressing.
5545 2022-03-07 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5547         * src/z80/peep.c:
5548           Accept more z80, sm83 and z80n mnemonics for size counting [bugs:#3330].
5550 2022-03-07 Gabriele Gorla <gorlik@yahoo.com>
5552         * src/mos6502/gen.c:
5553           Clear temp register literal values after a label.
5554         * src/mos6502/gen.c,
5555           src/mos6502/ralloc2.cc:
5556           Add codegen for rotate.
5558 2022-03-07 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5560         * sim/ucsim/z80.src/inst_gb80.cc:
5561           Add `ld (c), a`.
5562           support/regression/ports/ucgbz80/support.c,
5563           support/regression/ports/ucgbz80/uCsim.cmd:
5564           Reduce size of __put.
5566 2022-03-07 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5568         * sim/ucsim/z80.src/gb80.cc,
5569           sim/ucsim/z80.src/inst_cb.cc,
5570           sim/ucsim/z80.src/inst_gb80.cc:
5571           Improve cycle counting.
5573 2022-03-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5575         * sim/ucsim/z80.src/gb80.cc,
5576           sim/ucsim/z80.src/z80mac.h:
5577           Fix bug #3340 (`pop af` and `and`).
5579 2022-03-06 Gabriele Gorla <gorlik@yahoo.com>
5581         * src/mos6502/ralloc.c,
5582           src/mos6502/ralloc.h,
5583           src/mos6502/ralloc2.cc:
5584           Prepare for new spillt allocator.
5586 2022-03-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5588         * src/z80/peeph.def:
5589           Remove rlca when sub already sets carry.
5591 2022-03-05 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5593         * src/SDCCgen.c:
5594           Improve labels in inline assembly and fix bug #2831.
5595           Patch based on patch by Tom Li.
5596         * device/lib/_memmove.c,
5597           device/lib/sm83/crt0.s,
5598           device/lib/sm83/memcpy.s,
5599           src/z80/gen.c,
5600           src/z80/main.c,
5601           src/z80/peep.c:
5602           Add missing copyright notices.
5604 2022-03-05 Gabriele Gorla <gorlik@yahoo.com>
5606         * src/mos6502/gen.c:
5607           Improve debug output.
5609 2022-03-04 Gabriele Gorla <gorlik@yahoo.com>
5611         * src/mos6502/gen.c,
5612           src/mos6502/gen.h:
5613           Change asmop.type to enum.
5614         * src/mos6502/gen.c:
5615           Remove unused "result" parameter from aopOp().
5616         * src/mos6502/gen.c:
5617           Allow AX in genCpl().
5618         * src/mos6502/gen.c:
5619           Remove unused parameters in freeAsmop().
5620         * src/mos6502/main.c,
5621           src/mos6502/main.h:
5622           Removed unnecessary main.h
5624 2022-03-03 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5626         * device/lib/sm83/memcpy.s:
5627           Replace redundancy with macros.
5629 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5631         * src/z80/peeph.def:
5632           Disable rule that pessimized some ports.
5634 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5636         * src/z80/main.c:
5637           Add -bo and -ba for z80, apply patch #399.
5639 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5641         * device/lib/sm83/mul.s:
5642           Speed up multiplication algorithm.
5644 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5646         * device/lib/_memset.c,
5647           device/lib/sm83/abs.s,
5648           device/lib/sm83/crt0.s,
5649           device/lib/sm83/memcpy.s,
5650           device/lib/sm83/setjmp.s:
5651           Improve sm83 assembly.
5653 2022-03-01 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5655         * sdas/asxxsrc/asdata.c,
5656           sdas/asxxsrc/asmain.c,
5657           sdas/asxxsrc/asxxxx.h:
5658           Add -h and hidden -t flags.
5659         * sdas/asgb/gbadr.c,
5660           sdas/asgb/gb.h:
5661           Reduce customizations.
5663 2022-03-01 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5665         * src/z80/peeph.def:
5666           Improve stdlib code through peephole rules.
5668 2022-02-28 Gabriele Gorla <gorlik@yahoo.com>
5670         * src/mos6502/gen.c:
5671           Refactor storeRegToAop()
5673 2022-02-28 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5675         * sdas/asz80/z80adr.c,
5676           sdas/asz80/z80mch.c:
5677           Merge error messages from upstream ASxxxx 5.40.
5678           Add a few for extensions/custom ports. Part 2.
5680 2022-02-27 Gabriele Gorla <gorlik@yahoo.com>
5682         * src/mos6502/ralloc.c,
5683           src/mos6502/gen.c:
5684           Remove freeAllRegs()
5685         * src/mos6502/gen.c:
5686           Fix corner cases in assignResultValue() and genPointerSet()
5687         * support/regression/ports/mos6502/spec.mk
5688           Removed redundant --out-fmt-ihx command line option
5689         * device/lib/mos6502/_strcpy.s,
5690           device/lib/mos6502/_strcmp.s,
5691           device/lib/mos6502/_mullong.s,
5692           device/lib/mos6502/_mulint.s,
5693           device/lib/mos6502/_divuint.s,
5694           device/lib/mos6502/_divulong.s,
5695           device/lib/mos6502/__memcpy.s:
5696           Move function parameters to overlay segment.
5697         * device/lib/mos6502/_divsint.s,
5698           device/lib/mos6502/_divslong.s,
5699           device/lib/mos6502/_modsint.s,
5700           device/lib/mos6502/_modslong.s,
5701           device/lib/mos6502/_moduint.s,
5702           device/lib/mos6502/_modulong.s,
5703           device/lib/mos6502/_mulschar.s,
5704           device/lib/mos6502/_muluchar.s,
5705           device/lib/mos6502/abs.c:
5706           Add assembly implementation of divs, mod, mulchar and abs.
5707         * src/mos6502/gen.c:
5708           Add m6502_unimplemented()
5709         * src/mos6502/gen.c:
5710           Refactopr genCpl() and genPointerSet()
5712 2022-02-26 Gabriele Gorla <gorlik@yahoo.com>
5714         * sdas/asxxsrc/aslist.c:
5715           Revert changes in slew() which caused regression failures on z80 ports.
5716         * src/mos6502/ralloc.c:
5717           Remove dead code from old ralloc.
5719 2022-02-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5721         * sdas/asgb/gbmch.c:
5722           Add cycle table from upstream.
5724 2022-02-26 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5726         * src/SDCCsymt.c,
5727           support/regression/tests/bug-3332.c:
5728           Fix bugs #3332 and #3333.
5730 2022-02-24 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5732         * doc/sdccman.lyx:
5733           Improve calling convention documentation.
5735 2022-02-24 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5737         * doc/sdccman.lyx:
5738           Fix a minor documentation issue.
5740 2022-02-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5742         * src/z80/peeph.def:
5743           Remove ldi/ldh rules.
5744         * src/z80/peeph-sm83.def:
5745           Add ldi/ldh rules.
5747 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5749         * sdas/asxxsrc/asxxxx.h,
5750           sdas/asxxsrc/asmain.c,
5751           sdas/as6500/r65pst.c:
5752           Add .error and .message directives.
5753         * sdas/asxxsrc/assubr.c,
5754           sdas/asxxsrc/aslex.c,
5755           sdas/asxxsrc/asexpr.c:
5756           More updates from upstream asxxxx 5.40
5758 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5760         * sdas/asxxsrc/asxxxx.h,
5761           sdas/asxxsrc/asmain.c,
5762           sdas/asxxsrc/asexpr.c,
5763           sdas/asxxsrc/asdata.c:
5764           Enable -v option (out of range errors) from upstream asxxxx 5.40.
5765         * sdas/asxxsrc/assubr.c,
5766           sdas/asxxsrc/asout.c,
5767           sdas/asxxsrc/asmcro.c,
5768           sdas/asxxsrc/aslex.c:
5769           Change protoypes to ANSI C. Add some detailed error messages.
5770         * sdas/asxxsrc/assym.c:
5771           Make area name comparisons case insensitive.
5773 2022-02-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5775         * sdas/asgb/gbadr.c,
5776           sdas/asgb/gbmch.c,
5777           sdas/asrab/rabadr.c,
5778           sdas/asrab/rabmch.c:
5779           Merge error messages from upstream ASxxxx 5.40.
5780           Add a few for extensions/custom ports.
5782 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5784         * src/SDCC.lex,
5785           src/mos6502/main.c:
5786           Add __zp keyword to the mos6502 port.
5787         * src/SDCCmain.c,
5788           src/mos6502/main.c,
5789           device/lib/mos6502/crt0.s,
5790           device/lib/mos6502/_strcpy.s,
5791           device/lib/mos6502/_strcmp.s,
5792           device/lib/mos6502/_setjmp.c,
5793           device/lib/mos6502/_mullong.s,
5794           device/lib/mos6502/_mulint.s,
5795           device/lib/mos6502/_divulong.s,
5796           device/lib/mos6502/_divuint.s,
5797           device/lib/mos6502/__memcpy.s,
5798           device/lib/mos6502-stack-auto/crt0.s,
5799           device/lib/mos6502-stack-auto/_setjmp.c:
5800           Rename linker segments.
5801         * src/mos6502/gen.h:
5802           Remove unused anonymous enum.
5803         * sdas/as6500/r65pst.c:
5804           Prepeare for additional asxxxx upstream merge.
5806 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5808         * sdas/asxxsrc/asxxxx.h,
5809           sdas/asxxsrc/assym.c,
5810           sdas/asxxsrc/assubr.c,
5811           sdas/asxxsrc/asmcro.c,
5812           sdas/asxxsrc/asmain.c,
5813           sdas/asxxsrc/aslist.c,
5814           sdas/asxxsrc/aslex.c,
5815           sdas/asxxsrc/asexpr.c,
5816           sdas/asxxsrc/asdata.c:
5817           Several updates from upstream asxxxx 5.40
5818         * sdas/aasz80/z80pst.c:
5819           Use I_CODE in S_INCL entry instead of 0.
5820         * sdas/as6500/r65pst.c,
5821           sdas/as6500/r65mch.c,
5822           sdas/as6500/r65adr.c,
5823           sdas/as6500/r6500.h:
5824           Add .incbin, .define, .undefine, .ifdef and .ifndef to the 6502 assembler.
5825         * sdas/as6808/m6808.h,
5826           sdas/as6808/m08pst.c,
5827           sdas/as6808/m08mch.c,
5828           sdas/as6808/m08adr.c:
5829           Add .incbin hc08/s08 assembler.
5830         * sdas/asstm8/stm8pst.c:
5831           Use I_CODE in S_INCL entry instead of 0.
5833 2022-02-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5835         * src/z80/peeph.def:
5836           Add new rules to improve library code.
5838 2022-02-21 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5840         * src/z80/gen.c:
5841           Fix bug #3327.
5843 2022-02-20 Gabriele Gorla <gorlik@yahoo.com>
5845         * src/mos6502/gen.c:
5846           Improve genCpl.
5848 2022-02-20 Gabriele Gorla <gorlik@yahoo.com>
5850         * support/regression/tests/bp.c,
5851           support/regression/tests/bug-2253.c,
5852           support/regression/tests/bug-3003.c:
5853           Special case __SDCC_STACK_AUTO
5855 2022-02-20 Gabriele Gorla <gorlik@yahoo.com>
5857         * src/mos6502/gen.c:
5858           Improve genPointerSet. Make comments formatting more consistent.
5859         * support/regression/Makefile.in,
5860           support/regression/ports/uc6502-stack-auto/spec.mk,
5861           support/regression/ports/uc6502-stack-auto/support.c,
5862           support/regression/ports/uc6502-stack-auto/uCsim.cmd,
5863           support/regression/ports/uc6502-stack-auto:
5864           Add regression for mos6502-stack-auto target.
5866 2022-02-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5868         * src/z80/gen.c:
5869           Improve stack cleaning before jp (hl) on sm83.
5871 2022-02-19 Gabriele Gorla <gorlik@yahoo.com>
5873         * src/mos6502/gen.c:
5874           Replace assembly with generic code in a few places.
5876 2022-02-19 Gabriele Gorla <gorlik@yahoo.com>
5878         * device/lib/mos6502/Makefile.in,
5879           device/lib/mos6502/__sdcc_indirect_jsr.s,
5880           device/lib/mos6502-stack-auto/Makefile.in,
5881           device/lib/mos6502-stack-auto/__sdcc_indirect_jsr.s,
5882           src/mos6502/gen.c:
5883           Add runtime support for indirect jsr.
5884         * src/mos6502/peeph.def:
5885           Refactored rules and improved asm inline comments.
5886         * src/mos6502/gen.c:
5887           Changed return type for smallAdjustReg().
5889 2022-02-19 Gabriele Gorla <gorlik@yahoo.com>
5891         * sdcc/devicel/lib/mos6502/crt0.s:
5892           Remove incorrect loading of the second memset parameter.
5893         * support/regression/ports/u6502/spec.mk:
5894           Remove redundant --out-fmt-ihx parameter.
5895         * device/lib/mos6502-stack-auto/Makefile.in,
5896           device/lib/mos6502-stack-auto/crt0.s,
5897           device/lib/mos6502-stack-auto/atomic_flasg_test_and_set.c,
5898           device/lib/mos6502-stack-auto/_setjmp.c,
5899           device/lib/mos6502-stack-auto/_rrulonglong.c,
5900           device/lib/mos6502-stack-auto/_rrslonglong.c,
5901           device/lib/mos6502-stack-auto/_ret.c,
5902           device/lib/mos6502-stack-auto/,
5903           device/lib/Makefile.in,
5904           device/lib/clean.mk,
5905           sdcc/configure.ac,
5906           sdcc/configure.ac:
5907           Add mos6502 stack auto target.
5908         * src/mos6502/main.c:
5909           Correct flags affected by cld.
5911 2022-02-19 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5913         * device/lib/sm83/memcpy.s,
5914           device/lib/_memset.c:
5915           Switch to GBDK-2020's algorithm with partial loop unrolling.
5916         * device/lib/_memmove.c:
5917           On sm83 call memcpy where possible.
5919 2022-02-19 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5921         * src/SDCCast.c:
5922           Fix an issue in the fix for bug #3320.
5924 2022-02-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5926         * src/z80/gen.c:
5927           Fix bug #3322.
5928         * support/regression/tests/bug-3320.c:
5929           Test for bug #3320.
5931 2022-02-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
5933         * src/SDCCast.c (gatherImplicitVariables): fix bug #3320
5935 2022-02-16 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5937         * device/lib/isspace.c,
5938           device/lib/isxdigit.c:
5939           Check high and low byte separately for some targets, also sort compares by frequency and int value.
5940         * device/lib/sm83/memcpy.s,
5941           device/lib/_memset.c,
5942           device/lib/gets.c:
5943           Optimize sm83 assembly.
5945 2022-02-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5947         * support/regression/tests/bug-3322.c:
5948           Test for bug #3322.
5950 2022-02-14 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5952         * .version,
5953           doc/INSTALL.txt,
5954           sdcc.spec:
5955           Preparations for 4.2.0.
5957 2022-02-14 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5959         * support/regression/tests/bug-3289.c:
5960           Test for recently-fixed bug #3289.
5962 2022-02-13 Gabriele Gorla <gorlik@yahoo.com>
5964         * src/mos6502/gen.c:
5965           Avoid generating illegal 6502 instructions in a few corner cases.
5967 2022-02-13 Gabriele Gorla <gorlik@yahoo.com>
5969         * src/mos6502/gen.c,
5970           src/SDCCglue.c:
5971           Removed hack that assigned function pointers entry address-1.
5972         * src/mos6502/main.c:
5973           Changed default output to ihx.
5975 2022-02-12 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5977         * support/valdiag/Makefile.in:
5978           Skip not-built-by-default 65c02 port in valdiag testing.
5980 2022-02-10 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5982         * device/lib/pdk14/__setjmp.s:
5983           Fix typo (bug #3318).
5985 2022-02-10 Gabriele Gorla <gorlik@yahoo.com>
5987         * src/mos6502/gen.c,
5988           src/mos6502/ralloc.c:
5989           Fix all warnings.
5991 2022-02-10 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5993         * device/lib/pdk*/__gptrget.s,
5994           device/lib/pdk*/__gptrget2.s,
5995           device/lib/pdk*/__setjmp.s:
5996           Get rid of some warnings by changing old-style pdk io assembler to new style.
5997         * tests/bug-2912.c,
5998           tests/bug-3102.c:
5999           Disable warning about intentionally unused parameter in test.
6000         * sdccconf_in.h:
6001           Regenerate file via autoheader, fixes bug #3316.
6003 2022-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
6005         * src/SDCCsymt.c (leaveBlockScope): fix bug #3289
6007 2022-02-09 Gabriele Gorla <gorlik@yahoo.com>
6009         * src/mos6502/gen.c:
6010           General code cleanup.
6011         * src/SDCCpeeph.c:
6012           Fix bug 3291.
6014 2022-02-09 Gabriele Gorla <gorlik@yahoo.com>
6016         * src/mos6502/gen.c:
6017           Additional improvements in genPointerGet/genPointerSet.
6019 2022-02-08 Gabriele Gorla <gorlik@yahoo.com>
6021         * src/mos6502/gen.c:
6022           Fix corner cases in genPointerSet.
6023         * src/mos6502/gen.c:
6024           Add peephole rules to remove redundnat php/plp.
6026 2022-02-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6028         * device/include/mcs51/p89lpc9321.h,
6029           device/include/mcs51/p89lpc9331.h,
6030           device/include/mcs51/p89lpc9351.h:
6031           Switch from Windows 1252 to UTF-8.
6032         * sdas/as6500/r65pst.c,
6033           support/regression/tests/bitfields-dead-loop.c,
6034           support/regression/tests/bitfields-bits1.c,
6035           support/regression/tests/bitfields-checks.c,
6036           support/sdbinutils/binutils/bfdtest2.c,
6037           device/include/mcs51/w7100.h,
6038           device/include/mcs51/at89c51id2.h:
6039           Switch from mixed CRLF/LF to LF.
6041 2022-02-08 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6043         * configure,
6044           configure.ac:
6045           Fix alignment of 6502 and 65c02 port in configure output.
6047 2022-02-08 Gabriele Gorla <gorlik@yahoo.com>
6049         * src/mos6502/gen.c:
6050           Load literal constant instead of temp reg when possible.
6052 2022-02-07 Gabriele Gorla <gorlik@yahoo.com>
6054         * src/mos6502/gen.c:
6055           Workaround bug-3129 failures when optimizing for size.
6057 2022-02-07 Gabriele Gorla <gorlik@yahoo.com>
6059         * src/mos6502/gen.c:
6060           Additional improvements to genPointerGet and genPointerSet.
6062 2022-02-06 Gabriele Gorla <gorlik@yahoo.com>
6064         * src/mos6502/gen.c:
6065           Improve genPointerGet.
6067 2022-02-06 Gabriele Gorla <gorlik@yahoo.com>
6069         * src/hc08/gen.c:
6070           Removed useless offset increment.
6071         * src/mos6502/gen.c:
6072           Track temp reg literal values across store/load.
6074 2022-02-06 Gabriele Gorla <gorlik@yahoo.com>
6076         * src/mos6502/gen.c:
6077           Fixed a few corner cases in genPointerGet/genPointerSet.
6079 2022-02-06 Benedikt Freisen <b.freisen AT gmx.net>
6081         * support/scripts/sdcc.nsi:
6082           Add missing Delete and RMDir entries.
6084 2022-02-05 Gabriele Gorla <gorlik@yahoo.com>
6086         * src/mos6502/gen.c:
6087           Changed regalloc_dry_run_cost_cycles to float.
6088         * src/mos6502/ralloc.c,
6089           src/mos6502/ralloc.h,
6090           src/mos6502/ralloc2.cc:
6091           Initial merge of stm8 and pdk improvements to the register allocator.
6093 2022-02-04 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6095         * support/scripts/sdcc.nsi:
6096           (Un)install sdas6500 assembler, fix left-over mcs51 huge lib after uninstall (bug #2972),
6097           installation options for r2ka and mos6502 libraries.
6099 2022-02-03 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6101         * doc/README.txt:
6102           Update port status in README.
6104 2022-02-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6106         * support/makebin/makebin.c:
6107           Fix segmentation fault when using -yp and patching of wrong address.
6109 2022-02-03 Benedikt Freisen <b.freisen AT gmx.net>
6111         * doc/sdccman.lyx:
6112           Update documentation.
6114 2022-02-03 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6116         * device/lib/printf_large.c,
6117           src/SDCCBBlock.h,
6118           src/SDCCast.c,
6119           src/SDCCdwarf2.c,
6120           src/SDCCicode.c,
6121           src/SDCClabel.c,
6122           src/SDCCloop.c,
6123           src/SDCCmacro.c,
6124           src/SDCCset.c,
6125           src/SDCCutil.c,
6126           src/ds390/ralloc.c,
6127           src/z80/ralloc.c,
6128           support/regression/generate-cases.py:
6129           Fix typos in comments.
6130         * src/z80/gen.c,
6131           src/pdk/gen.c,
6132           src/stm8/gen.c,
6133           src/stm8/main.c,
6134           src/SDCCval.h,
6135           src/SDCCval.c:
6136           Use CSD representation for multiplication by literal in a.
6138 2022-02-02 Gabriele Gorla <gorlik@yahoo.com>
6140         * src/mos6502/gen.c,
6141           src/mos6502/gen.h,
6142           src/mos6502/main.c,
6143           src/mos6502/ralloc.c,
6144           src/mos6502/ralloc.h,
6145           src/mos6502/ralloc2.cc:
6146           Removed dead code and refactored load/stroreRegTemp.
6148 2022-02-02 Benedikt Freisen <b.freisen AT gmx.net>
6150         * support/scripts/sdcc.ico:
6151           Add a 48x48 pixel icon.
6153 2022-02-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6155         * sdas/asxxsrc/asxxxx.h:
6156           Raise NCPS to 256 like in upstream ASXXXX. (workaround for bug-3277)
6158 2022-02-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6160         * support/makebin/makebin.c:
6161           Improve SMS/GG defaults and allow to define an offset that's skipped for the rom.
6163 2022-02-02 Benedikt Freisen <b.freisen AT gmx.net>
6165         * src/SDCCdwarf2.c,
6166           src/SDCCutil.c,
6167           src/SDCCutil.h:
6168           Add string escaping to dwWriteString.
6170 2022-02-02 Benedikt Freisen <b.freisen AT gmx.net>
6172         * sdas/asxxsrc/asmain.c:
6173           Fix bug #2970 via trivial patch by David Grayson.
6175 2022-02-02 Gabriele Gorla <gorlik@yahoo.com>
6177         * device/lib/mos6502/Makefile.in:
6178           Enable optimization for the library.
6179         * src/mos6502/gen.c:
6180           Commented out code that triggers bug-477927 regression.
6181         * src/mos6502/peep.def:
6182           Add rule to optimize function entry.
6184 2022-02-02 Gabriele Gorla <gorlik@yahoo.com>
6186         * src/mos6502/gen.c:
6187           Implement cost based on both code size and cycles.
6189 2022-02-01 Gabriele Gorla <gorlik@yahoo.com>
6191         * src/mos6502/gen.c:
6192           Fix several bugs in the code generator.
6194 2022-02-01 Gabriele Gorla <gorlik@yahoo.com>
6196         * device/lib/mos6502/__memcpy.c,
6197           device/lib/mos6502/_mulint.s,
6198           device/lib/mos6502/_mullong.s,
6199           device/lib/mos6502/_divuint.s,
6200           device/lib/mos6502/_divulong.s,
6201           device/lib/mos6502/_strcmp.s,
6202           device/lib/mos6502/_strcpy.s:
6203           Implement additional library functions in assembly.
6205 2022-02-01 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6207         * support/regression/Makefile.in:
6208           Do not run mos6502 and mcs51-xstack-auto tests for all target, since they have extra dependencies.
6209         * support/regression/ports/*/spec.mk:
6210           Increase some timeouts in hope of making the bug-3129 regression test pass on that slow PPC Mac in the compile farm.
6211         * support/regression/tests/gcc-torture-execute-920711-1.c,
6212           support/regression/tests/gcc-torture-execute-941021-1.c:
6213           Disable two tests for hosts with older gcc, where they apparently fail.
6215 2022-01-31 Gabriele Gorla <gorlik@yahoo.com>
6217         * device/lib/mos6502/_mulint.c,
6218           device/lib/mos6502/_mulint.s,
6219           device/lib/mos6502/_mullong.s,
6220           device/lib/mos6502/_ret.c:
6221           Implement mulint and mullong in assembly.
6223 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6225         * src/mos6502/gen.c:
6226           Improve memory shift operations.
6228 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6230         * src/mos6502/gen.c:
6231           Improve register shift operations.
6233 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6235         * src/mos6502/gen.c:
6236           Expand use of inc/dec for literal add/sub operations.
6238 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6240         * src/mos6502/gen.c:
6241           Enable inc/dec on register targets.
6243 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6245         * src/mos6502/gen.c:
6246           storeRegIndexed improvements.
6248 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6250         * src/mos6502/gen.c:
6251           Special case X->Y and Y->X whith literal values.
6253 2022-01-29 Gabriele Gorla <gorlik@yahoo.com>
6255         * src/mos6502/gen.c,
6256           src/mos6502/ralloc2.cc:
6257           General code cleanup.
6259 2022-01-29 Gabriele Gorla <gorlik@yahoo.com>
6261         * src/hc08/gen.c,
6262           src/hc08/ralloc2.cc:
6263           Fix a overflow bug in dry run cost calculation.
6265 2022-01-29 Gabriele Gorla <gorlik@yahoo.com>
6267         * src/mos6502/gen.c,
6268           src/mos6502/ralloc.c,
6269           src/mos6502/ralloc2.cc:
6270           Fix a overflow bug in dry run cost calculation.
6272 2022-01-28 Gabriele Gorla <gorlik@yahoo.com>
6274         * src/mos6502/gen.c:
6275           Add new peephole rules.
6277 2022-01-28 Gabriele Gorla <gorlik@yahoo.com>
6279         * src/mos6502/gen.c:
6280           Improve register transfer operations.
6282 2022-01-26 Gabriele Gorla <gorlik@yahoo.com>
6284         * src/mos6502/gen.c:
6285           Improved genLeftShift and genRightShift.
6287 2022-01-25 Gabriele Gorla <gorlik@yahoo.com>
6289         * src/mos6502/gen.c,
6290           src/mos6502/ralloc.c,
6291           src/mos6502/ralloc.h,
6292           src/mos6502/ralloc2.c:
6293           Make m6502_dirtyReg take only one parameter.
6295 2022-01-25 Gabriele Gorla <gorlik@yahoo.com>
6297         * src/mos6502/gen.c:
6298           Refactor verbose assembler debug code.
6300 2022-01-25 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6302         * doc/z80-arguments.svg:
6303           Fix documentation on z80 calling convention for 32-bit argument followed by 16-bit argument.
6305 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6307         * src/mos6502/gen.c:
6308           Add swapAX function.
6310 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6312         * src/mos6502/gen.c:
6313           Add cycle based cost calculation.
6315 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6317         * src/mos6502/gen.c:
6318           Implement a few missing codegen paths.
6320 2022-01-23 Benedikt Freisen <b.freisen AT gmx.net>
6322         * device/include/mcs51/P89LPC901.h,
6323           device/include/mcs51/P89LPC922.h,
6324           device/include/mcs51/P89LPC925.h,
6325           device/include/mcs51/P89LPC932.h,
6326           device/include/mcs51/P89c51RD2.h,
6327           device/include/mcs51/cc1110.h,
6328           device/include/mcs51/cc2430.h,
6329           device/include/mcs51/cc2530.h,
6330           device/include/mcs51/uPSD33xx.h:
6331           Fix bug #3300, namely encoding issues in various headers.
6333 2022-01-23 Benedikt Freisen <b.freisen AT gmx.net>
6335         * src/SDCCmain.c:
6336           Implement CLI option --include.
6338 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6340         * src/mos6502/gen.c,
6341           src/mos6502/ralloc.c,
6342           src/mos6502/ralloc.h:
6343           Update opcode table and unified opcode size code.
6345 2022-01-22 Gabriele Gorla <gorlik@yahoo.com>
6347         * src/mos6502/gen.c:
6348           Use code gen functions instead of raw assembly when possible.
6350 2022-01-21 Gabriele Gorla <gorlik@yahoo.com>
6352         * src/mos6502/peep.def:
6353           Improved 6502 peephole rules.
6355 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6357         * src/mos6502/gen.c:
6358           Add instruction cost as asm comments.
6360 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6362         * src/mos6502/main.c:
6363           Correctly compute instruction distance when asm lines contain comments.
6365 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6367         * src/mos6502/main.c:
6368           Fix m6502_instructionSize.
6370 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6372         * src/mos6502/main.c:
6373           Cleanup m6502opcodedata.
6375 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6377         * src/SDCCpeeph.c:
6378           Allow peephole rules to match asm lines with comments.
6380 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6382         * src/mos6502/peep.def:
6383           Initial MOS6502 peephole rules.
6385 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6387         * src/mos6502/gen.c:
6388           Fix out of range branch in genCmpEQorNE.
6390 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6392         * src/mos6502/gen.c:
6393           Fix AX->XA bug in loadRegFromAop.
6395 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6397         * src/mos6502/gen.c:
6398           Improve pusReg/PullReg.
6400 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6402         * src/mos6502/gen.c:
6403           Improve dry_run_cost accuracy.
6405 2022-01-17 Gabriele Gorla <gorlik@yahoo.com>
6407         * src/mos6502/gen.c:
6408           Refactor dry_run_cost computation.
6410 2022-01-17 Gabriele Gorla <gorlik@yahoo.com>
6412         * src/mos6502/gen.c:
6413           Improve debug messages.
6415 2022-01-17 Gabriele Gorla <gorlik@yahoo.com>
6417         * src/mos6502/gen.c:
6418           Make opcode output more consistent.
6420 2022-01-16 Gabriele Gorla <gorlik@yahoo.com>
6422         * src/mos6502/gen.c:
6423           Correct dry_run_cost for several code paths.
6425 2022-01-16 Gabriele Gorla <gorlik@yahoo.com>
6427         * src/mos6502/gen.c:
6428           Disable verbose debugging in the generated assembly.
6430 2022-01-15 Gabriele Gorla <gorlik@yahoo.com>
6432         * src/mos6502/gen.c:
6433           Imporve preparePointer.
6435 2022-01-15 Benedikt Freisen <b.freisen AT gmx.net>
6437         * device/lib/_fs2ulong.c,
6438           device/lib/_ulong2fs.c,
6439           support/regression/tests/bug-3276.c:
6440           Fix bug #3276.
6442 2022-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
6444         * support/regression/tests/bug-3129.c: partial fix for bug #3309
6446 2022-01-15 Gabriele Gorla <gorlik@yahoo.com>
6448         * support/regression/tests/reentrant.c:
6449           Disable failing test for DS390 port.
6450         * support/regression/tests/bug-3129.c:
6451           Disable failing test for MOS6502 port.
6453 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6455         * src/mos6502/gen.c:
6456           Imporve genAddrOf.
6458 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6460         * src/mos6502/gen.c:
6461           Fix gcc-torture-execute-981001-1 regression failure.
6463 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6465         * src/mos6502/gen.c,
6466           device/lib/mos6502/crt0.s:
6467           Remove use of BASEPTR.
6469 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6471         * src/mos6502/gen.c:
6472           Let storeConstToAop use X and Y as well.
6474 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6476         * src/mos6502/ralloc.h,
6477           src/mos6502/gen.c:
6478           Refactor genAssignLit and remove old defines.
6480 2022-01-13 Gabriele Gorla <gorlik@yahoo.com>
6482         * support/regression/tests/reentrant.c:
6483           Reduce recursion depth to fit into mcs51 stack.
6485 2022-01-12 Gabriele Gorla <gorlik@yahoo.com>
6487         * src/mos6502/main.c:
6488           Fix library names.
6490 2022-01-12 Gabriele Gorla <gorlik@yahoo.com>
6492         * support/regression/tests/reentrant.c:
6493           Add reentrant function regression test.
6495 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6497         * src/mos6502/gen.c:
6498           Fix gcc-torture-execute-990128-1 regression failure.
6500 2022-01-11 Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu>
6502         * support/regression/ports/mcs51-common/spec.mk:
6503           Generate debug info when compile regtest of mcs51 ports.
6505 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6507         * src/mos6502/gen.c:
6508           Fix bug #3304.
6510 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6512         * src/mos6502/gen.c:
6513           Fix bug1115321 regression failure.
6515 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6517         * src/mos6502/gen.c:
6518           Fix gcc-torture-execute-pr34456 regression failure.
6520 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6522         * src/mos6502/ralloc.c,
6523           src/hc08/ralloc.c:
6524           Remove more dead code.
6526 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6528         * support/valdiag/tests/bug-2798.c:
6529           Exclude test for mos6502 port (no support for __sfr).
6531 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6533         * src/mos6502/gen.c:
6534           Fix several compiler warnings.
6536 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6538         * src/mos6502/ralloc.c:
6539           Remove oldralloc dead code.
6541 2022-01-09 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6543         * device/lib/pic16/Makefile.in,
6544           device/lib/pic16/aclocal.m4,
6545           device/lib/pic16/configure,
6546           device/lib/pic16/configure.ac,
6547           device/lib/pic16/debug/Makefile.in,
6548           device/lib/pic16/libc/Makefile.in,
6549           device/lib/pic16/libio/Makefile.in,
6550           device/lib/pic16/libm/Makefile.in,
6551           device/lib/pic16/libsdcc/Makefile.in,
6552           device/lib/pic16/missing,
6553           device/lib/pic16/startup/Makefile.in:
6554           Update pic16 library build infrastructure (fixes a configuration time warning).
6555         * support/regression/ports/mos6502/spec.mk:
6556           Fix makebin path.
6558 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6560         * src/SDCCsymt.c,
6561           src/SDCCpeeph.c,
6562           src/SDCCmain.c,
6563           src/SDCCicode.c,
6564           src/SDCCglue.c,
6565           src/port.h,
6566           src/clean.mk,
6567           sdcc/Makefile.in,
6568           device/lib/Makefile.in,
6569           device/include/Makefile.in,
6570           sdcc/configure.ac,
6571           sdcc/configure:
6572           Enable the mos6502 port.
6574 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6576         * support/regression/tests/z88dk_callee.c,
6577           support/regression/tests/z88dk.c,
6578           support/regression/tests/gcc-torture-execute-strlen-4.c,
6579           support/regression/tests/gcc-torture-execute-func-ptr-1.c,
6580           support/regression/tests/gcc-torture-execute-9911112-1.c,
6581           support/regression/tests/gcc-torture-execute-930702-1.c,
6582           support/regression/tests/gcc-torture-execute-921208-1.c,
6583           support/regression/tests/gcc-torture-execute-20000412-2.c,
6584           support/regression/tests/critical.c,
6585           support/regression/tests/bug3379723.c,
6586           support/regression/tests/bug3167.c,
6587           support/regression/tests/bug2855.c,
6588           support/regression/tests/bug2767.c,
6589           support/regression/tests/bug2663.c,
6590           support/regression/tests/bug2305.c:
6591           Disable tests not relevant for the mos6502 port.
6593 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6595         * src/mos6502/ralloc2.cc,
6596           src/mos6502/ralloc.h,
6597           src/mos6502/ralloc.c,
6598           src/mos6502/peeph.def,
6599           src/mos6502/main.h,
6600           src/mos6502/main.c,
6601           src/mos6502/m6502.h,
6602           src/mos6502/gen.h,
6603           src/mos6502/gen.c,
6604           src/mos6502/Makefile.in:
6605           Add mos6502 port code generation.
6607 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6609         * support/valdiag/valdiag.py,
6610           support/valdiag/Makefile.in,
6611           support/regression/ports/mos6502/support.c,
6612           support/regression/ports/mos6502/spec.mk,
6613           support/regression/fwk/include/testfwk.h,
6614           support/regression/Makefile.in:
6615           Add regression to mos6502 port.
6617 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6619         * device/lib/mos65c02/Makefile.in,
6620           device/lib/mos65c02/atomic_flag_test_and_set.c,
6621           device/lib/mos65c02/_setjmp.c,
6622           device/lib/mos65c02/_ret.c,
6623           device/lib/mos65c02/_mulint.c,
6624           device/lib/mos6502/Makefile.in,
6625           device/lib/mos6502/crt0.s,
6626           device/lib/mos6502/atomic_flag_test_and_set.c,
6627           device/lib/mos6502/_setjmp.c,
6628           device/lib/mos6502/_rrulonglong.c,
6629           device/lib/mos6502/_rrslonglong.c,
6630           device/lib/mos6502/_ret.c,
6631           device/lib/mos6502/_mulint.c,
6632           device/lib/malloc.c,
6633           device/lib/atomic_flag_clear.c,
6634           device/lib/clean.mk:
6635           Add mos6502 and mos65c02 library code.
6637 2022-01-06 Gabriele Gorla <gorlik@yahoo.com>
6639         * device/include/string.h,
6640           device/include/stdlib.h,
6641           device/include/stdatomic.h,
6642           device/include/stdarg.h,
6643           device/include/setjmp.h:
6644           Add mos6502 to standard includes.
6646 2022-01-06 Gabriele Gorla <gorlik@yahoo.com>
6648         * support/regression/ports/uc6502/spec.mk:
6649           Rename m6502 port to mos6502.
6651 2022-01-05 Gabriele Gorla <gorlik@yahoo.com>
6653         * sdas/as6500/clean.mk,
6654           sdas/as6500/Makefile.in,
6655           sdas/as6500/r6500.h,
6656           sdas/as6500/r65adr.c,
6657           sdas/as6500/r65mch.c,
6658           sdas/as6500/r65pst.c:
6659           Add as6500 in preparation of mos6502 port merge.
6661 2022-01-05 Gabriele Gorla <gorlik@yahoo.com>
6663         * src/hc08/gen.c,
6664           src/hc08/main.c,
6665           src/hc08/ralloc.c:
6666           Replace TRUE/FALSE with true/false.
6668 2022-01-05 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6670         * src/z80/gen.c:
6671           Fix bug #3295.
6672         * sdas/asrab/rab.h:
6673           Fix bug #3261.
6675 2022-01-02 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6677         * doc/sdccman.lyx,
6678           doc/sm83-arguments.svg,
6679           doc/stm8-arguments.svg,
6680           doc/z80-arguments.svg:
6681           Improve calling convention documentation.
6683 2021-12-28 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6685         * doc/sdccman.lyx:
6686           Document z80 banked calls (fix bug #3299).
6688 2021-12-27 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6690         * device/lib/*/__sdcc_bcall.s,
6691           support/regression/tests/banked.c:
6692           Fix bug # 3298.
6694 2021-12-20 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6696         * sdccconf_in.h:
6697           Fix bug #3297.
6699 2021-12-10 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6701         * .version,
6702           Makefile.common.in,
6703           Makefile.in,
6704           configure,
6705           configure.ac,
6706           device/include/asm/sm83,
6707           device/include/math.h,
6708           device/include/sdcc-lib.h,
6709           device/include/setjmp.h,
6710           device/include/stdarg.h,
6711           device/include/stdatomic.h,
6712           device/lib/Makefile.in,
6713           device/lib/_memset.c,
6714           device/lib/_mullong.c,
6715           device/lib/atomic_flag_clear.c,
6716           device/lib/sm83,
6717           doc/sdccman.lyx,
6718           sdcc.spec,
6719           src/SDCCast.c,
6720           src/SDCCglobl.h,
6721           src/SDCCglue.c,
6722           src/SDCCmain.c,
6723           src/SDCCopt.c,
6724           src/SDCCpeeph.c,
6725           src/port.h,
6726           src/z80/gen.c,
6727           src/z80/main.c,
6728           src/z80/peep.c,
6729           src/z80/ralloc.c,
6730           src/z80/ralloc2.cc,
6731           src/z80/z80.h,
6732           support/regression/fwk/include/testfwk.h,
6733           support/regression/ports/ucgbz80/spec.mk,
6734           support/regression/tests/banked.c,
6735           support/regression/tests/bug-2305.c,
6736           support/regression/tests/bug-3296.c,
6737           support/regression/tests/bug2729218.c,
6738           support/regression/tests/bug3379723.c,
6739           support/regression/tests/gcc-torture-execute-20031012-1.c,
6740           support/regression/tests/malloc.c,
6741           support/regression/tests/mm-pnvi-ae-udi-pointer_from_integer_2g.c,
6742           support/regression/tests/sdcccall.c,
6743           support/scripts/sdcc.nsi,
6744           support/valdiag/Makefile.in,
6745           support/valdiag/tests/bug-2798.c,
6746           support/valdiag/valdiag.py:
6747           Rename gbz80 port to sm83.
6749 2021-11-22 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6751         * src/stm8/gen.c,
6752           src/stm8/main.c:
6753           Support GETBYTE and GETWORD.
6754         * src/SDCCsalloc.hpp:
6755           Fix an issue in shifts of partially spilt variables.
6757 2021-11-20 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6759         * src/z80/gen.c:
6760           Fix bug-3129 z80 on FreeBSD 13 regression.
6762 2021-11-19 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6764         * src/z80/gen.c:
6765           Use SM83 ldh in code generation.
6767 2021-11-18 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6769         * src/stm8/gen.c:
6770           Fix bug #3296.
6772 2021-11-17 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6774         * src/z80/gen.c:
6775           Infrastructure for optimization for code speed.
6776         * support/regression/ports/ez80-z80/spec.mk,
6777           support/regression/ports/ucr2k/spec.mk,
6778           support/regression/ports/ucr2ka/spec.mk:
6779           Do not use no-longer-existing --profile in regtests.
6781 2021-11-16 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6783         * src/SDCCglobl.h,
6784           src/SDCCmain.c,
6785           src/z80/gen.c,
6786           src/z80/mappings.i,
6787           doc/sdccman.lyx,
6788           .version:
6789           Remove profiling support.
6791 2021-11-16 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6793         * src/z80/gen.c:
6794           Rematerialization of stack locations.
6796 2021-11-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6798         * src/z80/gen.c:
6799           Preparations for the rematerialization of stack locations.
6801 2021-11-10 Philipp Klaus Krause <pkk AT spth.de>
6803         * device/lib/atomic_flag_clear.c:
6804           Fix handling of atomic_flag with clear state 1.
6806 2021-11-10 Philipp Klaus Krause <pkk AT spth.de>
6808         * src/stm8/ralloc.c,
6809           src/stm8/gen.c:
6810           Improve rematerialization of stack addresses.
6812 2021-11-09 Philipp Klaus Krause <pkk AT spth.de>
6814         * support/regression/tests/tinyaes.c:
6815           AES regression test.
6817 2021-11-09 Philipp Klaus Krause <pkk AT spth.de>
6819         * device/include/stdatomic.h,
6820           device/lib/tlcs90/atomic_flag_test_and_set.s,
6821           device/lib/atomic_flag_clear.c:
6822           Improve atomic_flag using TLCS-90 test-and-set instruction.
6823         * sdas/astlcs90/t90.h,
6824           sdas/astlcs90/t90mch.c,
6825           sdas/astlcs90/t90pst.c:
6826           Support tset.
6828 2021-11-04 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6830         * src/stm8/gen.c:
6831           Improve use of ldw for 8-bit assignment.
6833 2021-11-04 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6835         * support/makebin/makebin.c:
6836           Fix buffer overflow, patch #400 by bbbbbr.
6838 2021-10-29 Philipp Klaus Krause <pkk AT spth.de>
6840         * support/makebin/makebin.c:
6841           Option for logo omission, patch #395 by bbbbbr.
6843 2021-10-20 Philipp Klaus Krause <pkk AT spth.de>
6845         * src/z80/gen.c:
6846           Fix issues in cost handling for large functions.
6848 2021-10-18 Philipp Klaus Krause <pkk AT spth.de>
6850         * src/stm8/peeph.def:
6851           Peephole rule refactoring inspired by fix to a bug found by roybaer.
6853 2021-10-14 Philipp Klaus Krause <pkk AT spth.de>
6855         * device/lib/stm8/_divulong.s,
6856           device/lib/stm8/_modulong.s,
6857           device/lib/stm8/Makefile.in,
6858           src/stm8/peeph.def:
6859           Revert some hand-written asm back to generic C, since SDCC now generates better code.
6861 2021-10-13 Philipp Klaus Krause <pkk AT spth.de>
6863         * device/lib/btowc.c:
6864           Fix btowc handling of int values that are valid characters when cast to unsigned char.
6866 2021-10-13 Philipp Klaus Krause <pkk AT spth.de>
6868         * src/stm8/gen.c:
6869           Improve wide left shift by literal.
6871 2021-10-11 Philipp Klaus Krause <pkk AT spth.de>
6873         * src/stm8/gen.c:
6874           Minor code cleanup.
6875         * device/lib/_strchr.c:
6876           Fix strchr handling of c outside of char range.
6878 2021-09-28 Philipp Klaus Krause <pkk AT spth.de>
6880         * device/lib/z80/__mulsint2slong.s:
6881           Improve int x int -> long multiplication for z80.
6883 2021-09-27 Philipp Klaus Krause <pkk AT spth.de>
6885         * device/lib/z80/__mulsint2slong.s:
6886           Improve int x int -> long multiplication for z80.
6888 2021-09-26 Philipp Klaus Krause <pkk AT spth.de>
6890         * device/lib/z80/__mulsint2slong.s,
6891           src/z80/main.c,
6892           device/lib/z80/Makefile.in:
6893           int x int -> long multiplication support routine for z80.
6895 2021-09-25 Philipp Klaus Krause <pkk AT spth.de>
6897         * src/z80/main.c,
6898           src/z80/gen.c,
6899           doc/sdccman.lyx,
6900           device/lib/z80,
6901           device/lib/z180,
6902           device/lib/z80n,
6903           device/lib/_memset.c,
6904           support/regression/ports/*/spec.mk,
6905           support/regression/tests/z80n-push-nn.c,
6906           .version:
6907           __sdcccall(1) convention as default for z80, z80n and z180 picked from breaktheworld branch.
6909 2021-09-23 Philipp Klaus Krause <pkk AT spth.de>
6911         * src/stm8/ralloc.c:
6912           Optimize out some redundant temporaries early.
6913         * src/stm8/peep.c,
6914           src/stm8/peeph.def,
6915           src/stm8/gen.c:
6916           Fix handling of v flag.
6917         * device/lib/_fs2ulong.c,
6918           device/lib/_fsmul.c,
6919           device/lib/stm8/__mulsint2slong.s:
6920           Minor improvements in float support.
6922 2021-09-22 Philipp Klaus Krause <pkk AT spth.de>
6924         * support/regression/tests/bug-3282.c:
6925           Test for bug #3282.
6926         * src/z80/gen.c,
6927           src/z80/peeph.def,
6928           support/regression/tests/bug-3283.c:
6929           Fix bug #3283.
6931 2021-09-20 Philipp Klaus Krause <pkk AT spth.de>
6933         * src/stm8/ralloc2.cc,
6934           src/stm8/gen.c:
6935           Fix bug #3282.
6937 2021-09-18 Philipp Klaus Krause <pkk AT spth.de>
6939         * src/z80/gen.c,
6940           src/z80/peep.c:
6941           Use more Z80N-specific instructions in z80n codegen.
6943 2021-09-17 Philipp Klaus Krause <pkk AT spth.de>
6945         * src/z80/gen.c,
6946           doc/sdccman.lyx,
6947           .version:
6948           Use Z80N Core 2.0 shift instructions.
6950 2021-09-17 Philipp Klaus Krause <pkk AT spth.de>
6952         * src/z80/gen.c:
6953           Improve single byte rotation.
6955 2021-09-14 Philipp Klaus Krause <pkk AT spth.de>
6957         * src/z80/peep.c:
6958           Fix a peephole optimizer bug in the handling of SM83 / Z80N swap instruction, part of bug #3280.
6960 2021-09-10 Philipp Klaus Krause <pkk AT spth.de>
6962         * src/stm8/gen.c:
6963           Fix bug #3279.
6965 2021-09-08 Philipp Klaus Krause <pkk AT spth.de>
6967         * .version,
6968           ChangeLog,
6969           device/lib/_memset.c,
6970           device/lib/gbz80/abs.s,
6971           device/lib/gbz80/atomic_flag_test_and_set.s,
6972           device/lib/gbz80/div.s,
6973           device/lib/gbz80/memcpy.s,
6974           device/lib/gbz80/mul.s,
6975           device/lib/gbz80/setjmp.s,
6976           device/lib/gbz80/strlen.s,
6977           device/lib/stm8/__mulsint2slong.s,
6978           device/lib/stm8/_divsint.s,
6979           device/lib/stm8/_modsint.s,
6980           device/lib/stm8/_mulint.s,
6981           device/lib/stm8/atomic_flag_test_and_set.s,
6982           device/lib/stm8/memcpy.s,
6983           device/lib/stm8/setjmp.s,
6984           device/lib/stm8/strcmp.s,
6985           device/lib/stm8/strcpy.s,
6986           device/lib/stm8-large/__mulsint2slong.s,
6987           device/lib/stm8-large/_divsint.s,
6988           device/lib/stm8-large/_modsint.s,
6989           device/lib/stm8-large/_mulint.s,
6990           device/lib/stm8-large/atomic_flag_test_and_set.s,
6991           device/lib/stm8-large/memcpy.s,
6992           device/lib/stm8-large/setjmp.s,
6993           device/lib/stm8-large/strcmp.s,
6994           device/lib/stm8-large/strcpy.s,
6995           doc/sdccman.lyx,
6996           src/stm8/main.c,
6997           src/z80/main.c,
6998           support/regression/ports/ucgbz80/spec.mk,
6999           support/regression/tests/sdcccall.c:
7000           __sdcccall(1) convention as default for stm8 and gbz80 picked from breaktheworld branch.
7002 2021-09-08 Philipp Klaus Krause <pkk AT spth.de>
7004         * src/stm8/gen.c:
7005           Improve callee-cleanup of stack parameters.
7007 2021-09-06 Philipp Klaus Krause <pkk AT spth.de>
7009         * src/stm8/main.c,
7010           src/z80/ralloc.c:
7011           Minor option handling cleanup.
7013 2021-09-02 Philipp Klaus Krause <pkk AT spth.de>
7015         * device/include/stdlib.h:
7016           C23 sized memory deallocation.
7017         * sdas/asz80/z80pst.c:
7018           incbin support, patch by bbbbbr.
7020 2021-09-01 Philipp Klaus Krause <pkk AT spth.de>
7022         * src/z80/gen.c:
7023           Fix comparison with left operand lower word in hl, upper word in de, right operand on stack.
7025 2021-08-29 Philipp Klaus Krause <pkk AT spth.de>
7027         * support/valdiag/tests/callingconvention.c:
7028           Fix ___sdcccall diagnostics test.
7030 2021-08-27 Philipp Klaus Krause <pkk AT spth.de>
7032         * support/valdiag/valdiag.py:
7033           Fix typo that disable some regression testing for gbz80.
7034         * src/z80/gen.c:
7035           Fix __z88dk_fastcall stack cleanup.
7037 2021-08-26 Philipp Klaus Krause <pkk AT spth.de>
7039         * src/z80/peep.c:
7040           Fix handling of Rabbit or iy, de in peephole optimizer.
7042 2021-08-22 Philipp Klaus Krause <pkk AT spth.de>
7044         * device/lib/pic16/libsdcc/float/fseq.c,
7045           device/lib/pic16/libsdcc/float/fsgt.c,
7046           device/lib/pic16/libsdcc/float/fslt.c,
7047           device/lib/pic16/libsdcc/float/fsneq.c:
7048           Fix bug #3274.
7050 2021-08-20 Philipp Klaus Krause <pkk AT spth.de>
7052         * src/z80/main.c,
7053           doc/sdccman.lyx,
7054           .version:
7055           Enable new calling convention for z80, z180, z80n, r2k, r2ka, r3ka, tlcs90, ez80_z80.
7057 2021-08-20 Philipp Klaus Krause <pkk AT spth.de>
7059         * src/z80/gen.c:
7060           Do not use some aspects of new calling convention for banked functions.
7062 2021-08-14 Philipp Klaus Krause <pkk AT spth.de>
7064         * src/SDCCsymt.c,
7065           support/valdiag/tests/callingconvention.c,
7066           support/valdiag/valdiag.py:
7067           Fix diagnostics for __raisonance calling convention.
7069 2021-08-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7071         * src/SDCCval.c (valCastLiteral): possibly fix bug #3273
7073 2021-08-12 Philipp Klaus Krause <pkk AT spth.de>
7075         * src/stm8/main.c,
7076           doc/sdccman.lyx,
7077           .version:
7078           Enable new calling convention for stm8.
7080 2021-08-11 Philipp Klaus Krause <pkk AT spth.de>
7082         * src/SDCCsymt.c,
7083           support/valdiag/tests/callingconvention.c:
7084           Diagnostics for conflicting calling conventions.
7086 2021-08-10 Philipp Klaus Krause <pkk AT spth.de>
7088         * src/stm8/peep.c:
7089           Fix buffer overflow reported in patch #397 by Arnout Engelen .
7091 2021-08-08 Philipp Klaus Krause <pkk AT spth.de>
7093         * src/z80/main.c,
7094           doc/sdccman.lyx:
7095           .version:
7096           Enable new calling convention for gbz80.
7098 2021-08-08 Philipp Klaus Krause <pkk AT spth.de>
7100         * src/SDCC.lex,
7101           src/SDCC.y,
7102           src/SDCCglobl.h,
7103           src/SDCCmain.c,
7104           src/SDCCopt.c,
7105           src/SDCCsymt.c,
7106           src/SDCCsymt.h,
7107           src/ds390/main.c,
7108           src/hc08/main.c,
7109           src/mcs51/main.c,
7110           src/pdk/main.c,
7111           src/pic14/main.c,
7112           src/pic16/main.c,
7113           src/port.h,
7114           src/stm8/gen.c,
7115           src/stm8/main.c,
7116           src/z80/gen.c,
7117           src/z80/main.c:
7118           Calling convention selection infrastructure from breaktheworld branch.
7120 2021/07/28 Visenri
7122     * sim/ucsim/pdk.src/inst.cc
7123     Fix bug in pdk15 simulation (introduced in [r12557]).
7124     
7125 2021/07/28 Visenri
7127     * support/regression/compact-results.py
7128       Fix parsing of test name.
7129       
7130 2021/07/27 Visenri
7132     * src/pdk/gen.c
7133       support/regression/tests/getbyte_param.c
7134       Fix bug #3269.
7135       Add test for it.
7137 2021/07/26 Visenri
7139     * support/regression/Makefile.in
7140       support/regression/ports/pdk13
7141       support/regression/ports/pdk13/spec.mk
7142       support/regression/ports/pdk13/support.c
7143       support/regression/ports/pdk13/uCsim.cmd
7144       Added infrastructure to test pdk13.
7145       It is in the filter-out list to avoid automatic test, because many tests still need some work to be passed/skipped [#394].
7147 2021/07/26 Visenri
7149     * support/regression/fwk/include/testfwk.h
7150       support/regression/fwk/lib/testfwk.c
7151       Lightweight version of test framework (testfwk) [#393].
7152       Added new macro to indicate we are targeting a very low memory device: TARGET_VERY_LOW_MEMORY.
7153       Added macros to easy the check of all pdk variants with 1 or 2 checks [#394].
7154       Different implementation of __printd with hex output (for TARGET_VERY_LOW_MEMORY).
7155       Skipped some strings in "Summary" output to save memory (for TARGET_VERY_LOW_MEMORY).
7157 2021/07/26 Visenri
7159     * support/regression/collate-results.py
7160       support/regression/compact-results.py
7161       Added processing for the stack overflow message from simulator.
7162       Added new check to reset state machine and name with "Simulation started" string
7163       Added checks to validate the name after "--- Running", because sometimes we get garbage, because of caotic program behavior (due to stack overflow or wrong code).
7164       Added the possibility to parse hex values instead of decimal [#393].
7165       Better output in case of a catastrophic failure ("--- Summary" not found).
7166       Fixed wrong regular expression to find ".ihx" file.
7168 2021/07/26 Visenri
7170     * sdas/aspdk13/pdk13mch.c
7171       sdas/aspdk13/pdk13pst.c
7172       sdas/aspdk14/pdk14mch.c
7173       sdas/aspdk14/pdk14pst.c
7174       sdas/aspdk15/pdk15mch.c
7175       sdas/aspdk15/pdk15pst.c
7176       sdas/aspdk16/pdk16mch.c
7177       sdas/aspdk16/pdk16pst.c
7178       sdas/aspdk/pdk.h
7179       sdas/aspdk/pdkadr.c
7180       sdas/aspdk/pdkmch.c
7181       Added assembler support for new pdk .io mnemonics (bug #3259).
7183     * src/pdk/gen.c
7184       src/pdk/main.c
7185       src/pdk/peep.c
7186       src/pdk/peeph.def
7187       Updated compiler generated assembly and rules according to new pdk .io mnemonics
7189 2021/07/26 Visenri
7191     * sim/ucsim/pdk.src/inst.cc
7192     * sim/ucsim/pdk.src/instcl.h
7193     * sim/ucsim/sim.src/sim.cc
7194       Added support for stack overflow detection.
7195       Fixed wrong order of output to stdout when program is stopped.
7196       Added newline to make sure we get a separate line for the "Stop"
7198 2021-07-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7200         * src/SDCC.y,
7201         * src/SDCCsymt.c,
7202         * src/SDCCsymt.h: fix bugs #3212 and #3213
7204 2021-07-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7206         * src/SDCCsymt.c (processFuncArgs): minor correction to #3260 bug fix
7208 2021-07-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7210         * src/SDCCsymt.c (processFuncPtrArgs,processFuncArgs),
7211         * src/SDCCsymt.h,
7212         * src/SDCCmem.c (allocVariables): fix bug #3260
7213         * support/regression/tests/bug-3260.c: added test
7215 2021-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7217         * src/SDCCast.c (decorateType): fix bug #2546
7219 2021-07-16 Visenri
7221     * src/SDCC.lex
7222       src/SDCC.y
7223       Added builtins: "__builtin_rlc", "__builtin_rrc" & "__builtin_swap".
7224       These functions will allow swap and rotate operations with volatile variables.
7225     * src/SDCCast.c
7226       src/SDCCsymt.c
7227       src/SDCCsymt.h
7228       src/SDCCval.c
7229       src/SDCCval.h
7230       Support for conditional type reduction (patch #392) for optimized values to 0.
7231       Fixed size calculation for ptrdiff type.
7232       Fixed int promotion for shift operations: using only left operand.
7233       Added checks for side effects or volatility in optimizeRRCRLC (like optimizeSWAP, bug #3218)
7235 2021-07-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7237         * src/mcs51/gen.c (genMinusDec),
7238         * src/ds390/gen.c (genMinusDec): fix bug #3246
7240 2021-07-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7242         * src/SDCCast.c (copyAst): fix bug #3264
7243         * support/regression/tests/inline.c: add test for bug #3264
7245 2021-07-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7247         * support/valdiags/tests/struct.c: add test for bug #3086
7249 2021-07-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7251         * support/regression/tests/bug-3141.c: reenable for mcs51
7252         * src/SDCCsymt.c (promoteAnonStructs): fix bug #3086
7254 2021-07-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7256         * src/SDCCdwarf2.c (dwWriteFrames): fix bug #3161
7258 2021-07-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7260         * src/SDCCdwarf2.h: fix incorrect DW_CFA_nop value
7261         * src/SDCCdwarf2.c (dwWriteTags): fix problem with excess
7262           end-of-sibling-chain markers at end of compilation unit
7263         * src/SDCCdwarf2.c (dwWriteAbbrevs): write abbreviations in
7264           numerical order rather than hash table order
7265         * src/SDCCdwarf2.c (dwGenCFIins,dwWriteFDE): keep start of
7266           CIE and FDE entries 32-bit aligned
7268 2021-07-06 Philipp Klaus Krause <pkk AT spth.de>
7270         * src/z80/gen.c:
7271           Fix bug #3262.
7273 2021-07-05 Visenri
7274     * src/pic14/glue.c
7275       src/pic16/glue.c
7276       src/SDCCast.c
7277       src/SDCCast.h
7278       src/SDCCglue.c
7279       src/SDCCicode.c
7280       src/SDCCval.c
7281       src/SDCCval.h
7282       Implemented partial support for conditional type reduction (patch #392), for now only used by SIZEOF.
7283       OR - XOR type reduction optimization (patch #392).
7284     * support/regression/fwk/include/testfwk.h
7285       support/regression/tests/sizeof.c
7286       Removed empty definition of __data for pdk from testfwk.h.
7287       Added tests for SIZEOF operator.
7288       
7289 2021-07-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7291         * src/SDCClospre.hpp: fix bug #3166
7292         * support/regression/tests/bug-3166.c: enable test
7294 2021-07-01 Philipp Klaus Krause <pkk AT spth.de>
7296         * src/z80/gen.c:
7297           genMove_o improvements.
7299 2021-07-01 Philipp Klaus Krause <pkk AT spth.de>
7301         * src/z80/gen.c:
7302           Function pointer call for --reserve-regs-iy when hl and bc are in use for register arguments.
7304 2021-06-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7306         * src/SDCCast.c (expandInlineFuncs): fix bug #3175
7308 2021-06-30 Philipp Klaus Krause <pkk AT spth.de>
7310         * src/stm8/gen.c,
7311           src/z80/gen.c:
7312           Improve tail call optimization.
7314 2021-06-30 Philipp Klaus Krause <pkk AT spth.de>
7316         * src/z80/gen.c,
7317           src/z80/ralloc2.cc:
7318           Assignment to / from global variables with non-free hl.
7320 2021-06-29 Philipp Klaus Krause <pkk AT spth.de>
7322         * src/pdk/main.c,
7323           src/pdk/ralloc.c,
7324           src/stm8/main.c,
7325           src/stm8/ralloc.c,
7326           src/z80/gen.c,
7327           src/z80/main.c,
7328           src/z80/ralloc.c:
7329           Fix initialization of asmops for use of aopArg in _reg_parm.
7331 2021-06-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7333         * src/mcs51/gen.c (genPcall): fix bug #2994
7334         * support/regression/tests/bug-2993.c: reenable for mcs51-huge
7336 2021-06-28 Sergey Belyashov <sergey.belyashov@gmail.com>
7338         * src/SDCCglue.c:
7339           Fix bug #3253: patch by Oleg Endo
7341 2021-06-28 Philipp Klaus Krause <pkk AT spth.de>
7343         * src/stm8/main.c,
7344           src/stm8/gen.c,
7345           src/SDCC.lex,
7346           src/SDCC.y,
7347           src/SDCCsymt.c,
7348           src/SDCCsymt.h:
7349           Experimental __newcall calling convention.
7350         * src/z80/peeph.def,
7351           src/z80/peep.c:
7352           Fix peephole rule 49a for Rabbits.
7354 2021-06-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7356         * src/stm8/gen.c (genFunction): possible fix for bug #3199
7358 2021-06-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7360         * src/SDCCast.c (optimizeSWAP): fix bug #3218
7362 2021-06-26 Visenri
7363         * support/regression/tests/bug2686159.c:
7364           Added support for pdk in test bug2686159.
7366 2021-06-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7368         * src/mcs51/gen.c (genlshFixed): fix bug #3072
7370 2021-06-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7372         * src/mcs51/gen.c (aopPut, genSwap): fix bug #3188
7373         * support/regression/tests/rotate2.c: reenable mcs51 stack-auto tests
7375 2021-06-21 Maarten Brock <sourceforge.brock AT dse.nl>
7377         * src/mcs51/peep.c (doPushScan): added param instr,
7378           added removeDeadPushPop()
7379         * src/mcs51/peeph.def: moved rules 301-302 to 302-303, added rule 301
7380         * support/regression/Makefile.in: introduced results/*.sum
7381         * support/regression/tests/wchar.c: subdivided in several cases to allow
7382           testing on mcs51-small, char16 still doesn't fit in memory though
7384 2021-06-20 Maarten Brock <sourceforge.brock AT dse.nl>
7386         * src/SDCCopt.c (optimizeOpWidth):
7387           applied todays patch 392 from Visenri along with some cosmetics
7389 2021-06-20 Philipp Klaus Krause <pkk AT spth.de>
7391         * support/regression/tests/bug-3256.c:
7392           Fix missing return.
7394 2021-06-18 Philipp Klaus Krause <pkk AT spth.de>
7396         * src/stm8/gen.c:
7397           Improve framepointer handling.
7399 2021-06-18 Philipp Klaus Krause <pkk AT spth.de>
7401         * src/stm8/gen.c,
7402           src/stm8/peeph.def:
7403           Fix bug #3258.
7405 2021-06-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7407         * src/SDCCopt.c (optimizeOpWidth): fix bug #3236
7409 2021-06-16 Philipp Klaus Krause <pkk AT spth.de>
7411         * src/stm8/gen.c,
7412           support/regression/tests/bug-3257.c:
7413           Fix bug #3257.
7415 2021-06-16 Philipp Klaus Krause <pkk AT spth.de>
7417         * src/stm8/gen.c,
7418           src/stm8/peeph.def,
7419           support/regression/tests/z88dk_callee.c:
7420           Improve tail call optimization for __z88dk_callee functions.
7421         * tests/stm8-conventions.c:
7422           Enable test that had been disabled due to now-fixed bug #3239.
7423         * src/stm8/peep.c,
7424           support/regression/tests/bug-3256.c:
7425           Fix bug #3256.
7427 2021-06-15 Philipp Klaus Krause <pkk AT spth.de>
7429         * src/SDCCast.c:
7430           Report type of _Generic match error.
7431         * device/include/stdckdint.h:
7432           Checked integer arithmetic for most types (needs bug #3254 and #3255 fixed to really work).
7434 2021-06-14 Philipp Klaus Krause <pkk AT spth.de>
7436         * src/stm8/gen.c:
7437           Use frame pointer to speed up handling of big return values.
7439 2021-06-13 Philipp Klaus Krause <pkk AT spth.de>
7441         * src/stm8/gen.c:
7442           Generalize handling of return values in frame pointer.
7444 2021-06-13 Visenri
7446         * src/stm8/gen.c,
7447           src/stm8/peep.c,
7448           src/stm8/peeph.def:
7449           STM8 - Multiple improvements regarding peephole rules & argCont function.
7450           Modified code generation (genPointerSet) to allow optimizations without reordering rules for ld-and (120) from pack 1 (#362).
7451           Implemented some improvements in peep.c (argCont) to avoid false 'x' positives, a tiny step towards #290.
7452           Fixed double spaces in rules 10f & 10h (that were messing notUsed logic).
7453           Replaced rules 18, 19, 20 & 21 by 202x, 203x, 204x 205x, 210x &220x making use of new "operandsLitOrSym".
7454           Expanded rule 131 scope.
7455           Modified rules (140, 141, 150, 160, 161) to work without needing rule 121 from pack 1 (#362).
7456           Added new rules 515 & 516, similar to 512 & 513 when comparison is done with 'dec' instead of 'cp'.
7458 2021-06-11 Philipp Klaus Krause <pkk AT spth.de>
7460         * src/stm8/gen.c,
7461           src/stm8/peep.c:
7462           Implement register parameter tracking for peephole optimizer to fix code size regression caused by bugfix in previous commit.
7464 2021-06-11 Philipp Klaus Krause <pkk AT spth.de>
7466         * src/SDCCsymt.c,
7467           src/stm8/gen.c,
7468           src/stm8/main.c,
7469           src/stm8/peep.c,
7470           support/regression/tests/bug-3251.c,
7471           support/regression/tests/bug-2349.c,
7472           support/regression/tests/bug-2455.c,
7473           support/regression/tests/bug-3244.c,
7474           support/regression/tests/compare.c,
7475           support/regression/tests/fptr_cast_array_init.c,
7476           support/regression/tests/genptrs.c,
7477           support/regression/tests/z80n-push-nn.c:
7478           Fix bugs #3251, #3243.
7480 2021-06-09 Visenri
7482         * src/stm8/peeph.def:
7483           STM8 - Added missing rule 625a from my pack #6 from patch #362, fixed tabs/spaces.
7485 2021-06-08 Philipp Klaus Krause <pkk AT spth.de>
7487         * doc/sdccman.lyx,
7488           src/ds390/gen.c,
7489           src/hc08/gen.c,
7490           src/mcs51/gen.c,
7491           src/pic14/gen.c,
7492           src/pic14/main.c,
7493           src/pic14/ralloc.c,
7494           src/pic16/gen.c,
7495           src/pic16/main.c,
7496           src/pic16/ralloc.c,
7497           src/port.h,
7498           src/z80/gen.c,
7499           src/SDCC.y,
7500           src/SDCCast.c,
7501           src/SDCCcse.c,
7502           src/SDCCicode.c,
7503           src/SDCClospre.cc:
7504           Remove infrastructure for obsolete GETHBIT.
7506 2021-06-08 Philipp Klaus Krause <pkk AT spth.de>
7508         * src/ds390/gen.c,
7509           src/ds390/main.c:
7510           Support GETABIT instead of GETHBIT.
7512 2021-06-08 Visenri
7513         * src/SDCCpeeph.c:
7514           Fixed buffer overflow in operand string in "immdInRange" function.
7515           
7516 2021-06-07 Philipp Klaus Krause <pkk AT spth.de>
7518         * src/stm8/main.c,
7519           src/stm8/gen.c,
7520           src/stm8/ralloc2.cc:
7521           Rotate support, inspired by patch #363 by Visenri.
7522         * src/z80/gen.c,
7523           src/z80/main.c,
7524           src/z80/ralloc2.cc:
7525           Remove redundant z80 GETHBIT support.
7527 2021-06-07 Visenri
7528         * src/stm8/peeph.def:
7529           Removed unused rules 660a & 660b because of patches applied in r12420 (SWAP implementation).
7530         * ChangeLog:
7531           Fixed wrong date of previous commit.
7533 2021-06-07 Visenri
7534         * src/stm8/peep.c,
7535           Fixed typo regarding instruction 'jrsgt'.
7536         * src/stm8/peeph.def:
7537           Added rules 600a & 600b from patch #362 that were failing because of the 'jrsgt' typo.
7539 2021-06-04 Philipp Klaus Krause <pkk AT spth.de>
7541         * src/stm8/main.c,
7542           src/stm8/gen.c:
7543           Swap support, inspired by patch #363 by Visenri.
7545 2021-06-03 Philipp Klaus Krause <pkk AT spth.de>
7547         * support/regression/tests/bug-2349.c,
7548           support/regression/tests/bug-2455.c,
7549           support/regression/tests/compare.c,
7550           support/regression/tests/fptr_cast_array_init.c,
7551           support/regression/tests/genptrs.c,
7552           support/regression/tests/z80n-push-nn.c:
7553           Disable tests that fail due to known bug #3243.
7554         * src/stm8/peeph.def:
7555           Rule packs 1, 3, 5, 6 from patch #362 by Visenri.
7556         * src/SDCCast.c,
7557           src/SDCCerr.c,
7558           src/SDCCerr.h,
7559           support/valdiag/tests/bug-2798.c:
7560           Fix bug #2798.
7562 2021-05-31 Philipp Klaus Krause <pkk AT spth.de>
7564         * src/stm8/peeph.def:
7565           Fix an issue in inconsistent application of patches in previous commits.
7567 2021-05-28 Philipp Klaus Krause <pkk AT spth.de>
7569         * support/regression/tests/bitfields-nibbles.c:
7570           Test from patch #373 by Visenri.
7571         * src/SDCCpeeph.c:
7572           Peephole optimizer helper function refactoring, from patch #362 by Visenri.
7573         * src/stm8/peeph.def:
7574           Peephole rule refactoring, from patch #361 by Basil Hussain.
7576 2021-05-27 Philipp Klaus Krause <pkk AT spth.de>
7578         * src/z80/gen.c,
7579           support/regression/tests/bug-3244.c:
7580           Fix bug #3244.
7582 2021-05-20 Philipp Klaus Krause <pkk AT spth.de>
7584         * support/regression/Makefile.in,
7585           support/regression/ports/ucz180-resiy:
7586           Test z180 port with --reserve-regs-iy.
7587         * support/regression/ports/ucz80/spec.mk,
7588           support/regression/ports/ucr3ka/spec.mk:
7589           Drop --profile option, so we get better coverage of tail call optimization.
7591 2021-05-20 Philipp Klaus Krause <pkk AT spth.de>
7593         * src/stm8/gen.c:
7594           Improvements for handling of literal values in wide registers: patch #388 by Visenri.
7596 2021-05-19 Philipp Klaus Krause <pkk AT spth.de>
7598         * src/z80/gen.c:
7599           Partial fix for bug #3054.
7600         * device/include/float.h,
7601           device/include/pic16/float.h,
7602           device/lib/_fseq.c,
7603           device/lib/_fslt.c,
7604           device/lib/_fsneq.c,
7605           src/SDCCsymt.c:
7606           Make floating-point comparison support routines return _Bool.
7608 2021-05-18 Philipp Klaus Krause <pkk AT spth.de>
7610         * src/z80/gen.c,
7611           support/regression/tests/bug-3242.c:
7612           Fix bug #3242.
7613         * doc/sdccman.lyx:
7614           Fix some typos.
7616 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7618         * src/stm8/gen.c,
7619           src/z80/gen.c:
7620           Tail call optimization for functions with no stack parameters.
7622 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7624         * src/SDCCpeeph.c,
7625           src/pdk/peep.c,
7626           src/stm8/peep.c,
7627           src/z80/gen.c,
7628           src/z80/peep.c,
7629           support/regression/tests/bug-3239.c:
7630           Fix bugs #3235, 3239.
7632 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7634         * src/z80/gen.c:
7635           Fix a code generation bug in hl handling.
7637 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7639         * src/stm8/gen.c,
7640           src/z80/gen.c:
7641           Refactor __z88dk_callee support to allow other calling conventions to use callee stack cleanup.
7643 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7645         * src/SDCCicode.h,
7646           src/SDCCicode.c,
7647           src/SDCCsalloc.hpp,
7648           src/stm8/gen.c,
7649           src/z80/gen.c,
7650           support/regression/tests/bug-3240.c:
7651           Tail call optimization fixes for register parameters.
7653 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7655         * doc/sdccman.lyx,
7656           src/SDCC.lex,
7657           src/SDCC.y,
7658           src/SDCCerr.c,
7659           src/SDCCerr.h,
7660           src/SDCCsymt.h,
7661           src/SDCCsymt.c,
7662           src/stm8/gen.c,
7663           src/stm8/main.c,
7664           src/stm8/peep.c,
7665           support/regression/tests/stm8-conventions.c:
7666           Support calling conventions of Raisonance, IAR and Cosmic compilers for STM8.
7667         * support/regression/tests/bug2084206.c:
7668           Disable test that relies on size of void * being the same as function pointer for ds390.
7670 2021-05-16 Philipp Klaus Krause <pkk AT spth.de>
7672         * src/SDCCsalloc.hpp,
7673           support/regression/tests/bug-3238.c:
7674           Fix bug #3238.
7675         * src/stm8/gen.c:
7676           Fix a register parameter issue in code generation for function pointers in large model.
7678 2021-05-15 Philipp Klaus Krause <pkk AT spth.de>
7680         * src/SDCCsymt.c,
7681           support/regression/tests/bug2084206.c:
7682           Function pointer size fix.
7683         * src/stm8/gen.c:
7684           Tail-call optimization fix.
7685         * src/stm8/peep.c:
7686           Peephole optimizer fix for register arguments.
7687         * src/SDCCast.c:
7688           Fixes for strcpy->memcpy optimization.
7690 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
7692         * src/z80/gen.c,
7693           src/stm8/gen.c:
7694           Fix code generation bugs triggered by register arguments.
7695         * src/stm8/ralloc2.cc:
7696           Fix cost function for register parameters.
7697         * src/z80/ralloc2.cc:
7698           Fix cost function for byte and bit access.
7699         * src/stm8/peep.c:
7700           Register parameter support infrastructure.
7702 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
7704         * src/z80/gen.c:
7705           Improve tail calloptimization.
7707 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
7709         * src/z80/gen.c:
7710           Fix a bug in handling of register parameters to function calls via pointer.
7712 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7714         * src/z80/gen.c,
7715           src/stm8/gen.c:
7716           Fix handling of multiple register parameters.
7718 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7720         * src/stm8/gen.c:
7721           Infrastructure for register parameters.
7723 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7725         * src/SDCClrange.c:
7726           Improve handling of register parameters.
7727         * src/stm8/gen.c:
7728           Improve code generation for shift by slightly-less-than-a-multiple-of-8.
7729         * src/z80/gen.c,
7730           src/z80/ralloc.c:
7731           Increase some regalloc_dry_run_cost penalties to avoid invalid allocation even when all alternatives result in expensive spilling.
7733 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7735         * src/z80/peep.c,
7736           src/z80/gen.c:
7737           Fixes for register parameter in a, l or hl.
7739 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7741         * src/stm8/gen.c,
7742           src/stm8/gen.h,
7743           src/stm8/main.c:
7744           Infrastructure for register parameters.
7745         * src/SDCCast.c:
7746           Fix register parameters for printf->puts optimization.
7747         * src/z80/peep.c:
7748           Fix bug #3234.
7750 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7752         * src/z80/gen.c,
7753           src/z80/gen.h,
7754           src/z80/main.c,
7755           src/z80/peep.c:
7756           Infrastructure for non-__z88dk_fastcall register arguments.
7757         * src/stm8/gen.c:
7758           Fix bug #3233.
7759         * src/SDCCast.c,
7760           src/SDCCopt.c,
7761           src/SDCCsymt.c,
7762           src/SDCCsymt.h:
7763           Fix handling of register parameters of not-really-builtin memcpy.
7765 2021-05-11 Philipp Klaus Krause <pkk AT spth.de>
7767         * src/SDCCsymt.c,
7768           src/*/main.c:
7769           Make restriction on register parameters for vararg functions port-specific.
7771 2021-05-11 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
7773         * support/regression/tests/bug-3231.c:
7774           Disable __critical test for host.
7776 2021-05-09 Philipp Klaus Krause <pkk AT spth.de>
7778         * doc/sdccman.lyx:
7779           Put all the documentation required by Annex J.3, "Implementation-defined behaviour", of the C standard in one place.
7781 2021-05-09 Philipp Klaus Krause <pkk AT spth.de>
7783         * src/z80/gen.c,
7784           src/stm8/gen.c:
7785           Improve stack adjustment.
7787 2021-05-09 Philipp Klaus Krause <pkk AT spth.de>
7789         * src/z80/gen.c,
7790           support/regression/tests/bug-3231.c:
7791           Fix bug #3231.
7793 2021-05-08 Philipp Klaus Krause <pkk AT spth.de>
7795         * src/z80/gen.c,
7796           support/regression/tests/bug-3230.c:
7797           Fix bug #3230.
7799 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7801         * src/stm8/gen.c,
7802           src/z80/gen.c,
7803           support/regression/tests/bug-3229.c:
7804           Fix bug #3229.
7806 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7808         * src/z80/gen.c:
7809           Fix some bugs triggered by return values in other than the conventional registers.
7811 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7813         * src/z80/gen.c:
7814           Fix a bug in handling of return values in bc.
7815         * device/lib/clean.mk:
7816           Fix clean for r2ka library.
7818 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7820         * src/stm8/gen.h,
7821           src/stm8/gen.c,
7822           src/stm8/peep.c,
7823           src/z80/gen.h,
7824           src/z80/gen.c,
7825           src/z80/peep.c:
7826           Deduplicate return value handling in peephole optimizer vs code generation.
7828 2021-05-05 Philipp Klaus Krause <pkk AT spth.de>
7830         * support/regression/tests/z88dk_callee.c
7831           Adapt test for ds390.
7833 2021-05-04 Philipp Klaus Krause <pkk AT spth.de>
7835         * src/z80/gen.c:
7836           Code clenaup.
7838 2021-05-04 Philipp Klaus Krause <pkk AT spth.de>
7840         * src/z80/gen.c,
7841           support/regression/tests/bug-3223.c:
7842           Fix bug #3223.
7844 2021-05-03 Philipp Klaus Krause <pkk AT spth.de>
7846         * src/stm8/gen.c,
7847           src/stm8/main.c,
7848           doc/sdccman.lyx,
7849           .version,
7850           support/regression/fwk/include/testfwk.h,
7851           support/regression/tests/z88dk_callee.c:
7852           __z88dk_callee support for stm8.
7854 2021-05-03 Philipp Klaus Krause <pkk AT spth.de>
7856         * src/z80/gen.c,
7857           doc/sdccman.lyx,
7858           .version,
7859           support/regression/tests/z88dk.c,
7860           support/regression/tests/z88dk_callee.c:
7861           Implement __z88dk_callee support on callee side.
7863 2021-05-02 Philipp Klaus Krause <pkk AT spth.de>
7865         * src/z80/gen.c:
7866           Caching of floating literals.
7868 2021-05-01 Philipp Klaus Krause <pkk AT spth.de>
7870         * support/regression/tests/bug-3215.c:
7871           Fix condition for skipping test on host.
7872         * src/z80/gen.c:
7873           Improve loading of immediate into register pair.
7875 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7877         * src/z80/gen.c:
7878           Another fix for #3220.
7880 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7882         * src/z80/gen.c:
7883           Improve handling of 32-Bit variables.
7885 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7887         * src/z80/gen.c:
7888           Do not use double push / pop for 16-bit load when optimizing for speed.
7890 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7892         * src/z80/gen.c:
7893           Improve ldir assignment heuristic for r3ka and ez80_z80: Fix bug #3220.
7895 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7897         * src/z80/gen.c:
7898           Small wide improvements.
7900 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7902         * src/z80/gen.c:
7903           Fix bug #3217.
7904         * src/z80/peep.c:
7905           Fix instruction size for or hl, de and and hl, de.
7907 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7909         * src/z80/gen.c:
7910           Fix a --reserve-regs-iy bug.
7912 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7914         * device/lib/_mullong.c,
7915           src/z80/main.c,
7916           src/SDCCopt.c:
7917           Improve Rabbit multiplication.
7918         * src/z80/gen.c:
7919           Fix gbz80 part of bug #3217.
7921 2021-04-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7923         * support/regression/tests/bitfields-bits1.c,
7924           support/regression/tests/bitfields-checks.c,
7925           support/regression/tests/bitfields-dead-loop.c:
7926           Fix or disable host tests on hosts that allocate bitfields
7927           in MSB to LSB order
7929 2021-04-24 Philipp Klaus Krause <pkk AT spth.de>
7931         * src/z80/gen.c:
7932           Fix bugs affecting z80 code generation for --reserve-regs-iy.
7934 2021-04-24 Philipp Klaus Krause <pkk AT spth.de>
7936         * src/z80/gen.c,
7937           support/regression/tests/bug-3216.c:
7938           Fix bug #3216.
7940 2021-04-23 Philipp Klaus Krause <pkk AT spth.de>
7942         * sdas/asxxsrc/asxxxx.h,
7943           sdas/asxxsrc/asdata.c,
7944           sdas/asxxsrc/asexpr.c,
7945           sdas/asxxsrc/asmain.c:
7946           Option to defer resolution of some symbols to link time, patch by Tony Pavlov.
7947         * src/SDCCopt.c,
7948           support/regression/tests/bug-3215.c:
7949           Fix bug #3215.
7950         * src/z80/gen.c:
7951           Fix bug #3214.
7952         * support/valdiag/tests/bug-3010.c:
7953           Simplify test.
7955 2021-04-22 Philipp Klaus Krause <pkk AT spth.de>
7957         * support/regression/tests/setjmp.c,
7958           support/regression/tests/loop.c:
7959           Skip tests that fail due to broken FreeBSD 13 setjmp.
7960         * support/regression/tests/gcc-torture-execute-20040409-?.c:
7961           Skip tests that fail due to broken clang.
7962         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c,
7963           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c,
7964           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_xy.c:
7965           Skip tests that fail due to broken clang 11 (memory model PNVI-ae-udi non-compliance).
7966         * sdccman.lyx:
7967           Simplify --max-allocs-per-node documentation.
7969 2021-04-20 Philipp Klaus Krause <pkk AT spth.de>
7971         * src/z80/gen.c:
7972           Improve heuristic for use of rabbit mul.
7974 2021-04-19 Philipp Klaus Krause <pkk AT spth.de>
7976         * src/z80/gen.c:
7977           Use genCopy also for assignment with source on extended stack.
7979 2021-04-18 Sebastian 'basxto' Riedel <sdcc@basxto.de>
7981         * support/makebin/makebin.c:
7982           Generate SMS/GG rom headers.
7984 2021-04-13 Philipp Klaus Krause <pkk AT spth.de>
7986         * src/SDCCbtree.h,
7987           src/SDCCbtree.cc:
7988           Use int consistently for block, patch by Oleg Endo.
7990 2021-04-13 Sebastian 'basxto' Riedel <sdcc@basxto.de>
7992         * src/z80/gen.c:
7993           Overwrite A in genMove_o only if not source register.
7995 2021-04-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
7997         * src/z80/gen.c:
7998           Get sign bit with rlca instead of rla to allow flag restricted ph rules.
8000 2021-04-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8002         * sdas/asgb/gbpst.c,
8003           sdas/asgb/gbmch.c,
8004           sdas/asgb/gb.h,
8005           sdas/asxxsrc/asmain.c,
8006           sdas/asxxsrc/asxxxx.h:
8007           Backport .incbin and .tile for sm83 from ASXXXX 5.40
8009 2021-04-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8011         * src/z80/gen.c,
8012           src/z80/peeph-gbz80.def,
8013           src/z80/peeph.def:
8014           Don't emit pop/push for stack adjustment on sm83.
8015           (For easier detection of uninitialized memory)
8017 2021-04-11 Philipp Klaus Krause <pkk AT spth.de>
8019         * src/z80/gen.c:
8020           Improve unsigned shift by 4 and 5.
8022 2021-04-11 Philipp Klaus Krause <pkk AT spth.de>
8024         * src/z80/gen.c:
8025           Avoid some unnecessary copies.
8027 2021-04-09 Philipp Klaus Krause <pkk AT spth.de>
8029         * support/regression/tests/bitfields-bits1.c,
8030           support/regression/tests/bitfields-bits2.c,
8031           support/regression/tests/bitfields-checks.c,
8032           support/regression/tests/bitfields-dead-loop.c:
8033           Tests for bitfields at absolute addresses, picked from patch #373 by Visenri.
8034         * src/z80/gen.c,
8035           support/regression/tests/bitwise8reg.c:
8036           Fix use of 16-bit bitwise instructions for 8-bit calculations.
8038 2021-04-07 Philipp Klaus Krause <pkk AT spth.de>
8040         * support/regression/tests/gcc-torture-execute-20060110-volatile.c,
8041           support/regression/tests/stack-restore.c,
8042           support/regression/tests/swap_add.c:
8043           Improve stm8 peephole rule coverage, picked from patch #373 by Visenri.
8045 2021-04-07 Sergey Belyashov <sergey.belyashov@gmail.com>
8047         * src/z80/gen.c:
8048           isRegInUse renamed to isRegDead.
8050 2021-04-06 Sergey Belyashov <sergey.belyashov@gmail.com>
8052         * src/z80/gen.c:
8053           Make code more readable by adding isRegInUse.
8055 2021-04-04 Philipp Klaus Krause <pkk AT spth.de>
8057         * support/regression/ports/host/spec.mk.in:
8058           Timeout for host regression tests (fix bug #3209).
8059         * src/SDCClospre.hpp:
8060           Avoid unecessary flush of cout.
8061         * device/lib/tlcs90/crt0.s:
8062           Fix implicit initialization.
8063         * src/z80/ralloc2.cc:
8064           Document frame pointer omission heuristic.
8065         * support/regression/tests/bug-3205.c:
8066           Regression test for bug #3205.
8068 2021-04-03 Philipp Klaus Krause <pkk AT spth.de>
8070         * device/lib/ez80_z80/crt0.s,
8071           device/lib/tlcs90/crt0.s,
8072           device/lib/z180/crt0.s,
8073           device/lib/z80/crt0.s,
8074           device/lib/z80n/crt0.s:
8075           Do default-initalization in crt0 to not rely on simulator zeroing memory.
8076         * device/lib/gbz80/crt0.s:
8077           src/z80/main.c,
8078           .version:
8079           Improve explicit initialization.
8080         * configure.ac,
8081           aclocal.m4,
8082           configure:
8083           Improve detection of python interpreter binary.
8085 2021-04-03 Philipp Klaus Krause <pkk AT spth.de>
8087         * src/SDCClospre.cc:
8088           Fix bug #3207.
8090 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8092         * src/z80/gen.c:
8093           Remove AOP, AOP_SIZE, AOP_TYPE macros.
8095 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8097         * src/z80/gen.c:
8098           Fix possible errors caused by operands allocation.
8100 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8102         * src/z80/gen.c:
8103           Fix one of highlighted bugs by change from Apr 01.
8105 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8107         * src/z80/z80.h,
8108           src/z80/ralloc2.cc:
8109           Remove infrastructure for reserving hl in register allocator.
8111 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8113         * src/z80/ralloc.c,
8114           src/z80/gen.c:
8115           Remove old register allocator code from z80-related backends.
8117 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8119         * src/z80/main.c,
8120           src/z80/ralloc.c,
8121           .version,
8122           doc/sdccman.lyx:
8123           Deprecate --oldralloc for z80-related backends.
8125 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8127         * src/z80/gen.c:
8128           Fix one of highlighted bugs by previous change.
8130 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8132         * src/z80/gen.c:
8133           Partially fix bug #3203, but highlights new bugs.
8135 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8137         * sdas/asz80/z80mch.c:
8138           Enable undocumented Z80 instructions for Z80N.
8140 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8142         * src/z80/gen.c:
8143           Partially fix bug #3203.
8145 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8147         * src/z80/peeph.def:
8148           Fix many regressions caused by changes in r12173.
8150 2021-03-27 Sergey Belyashov <sergey.belyashov@gmail.com>
8152         * src/z80/peeph.def:
8153           Partially fix bug #3203.
8155 2021-03-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8157         * src/z80/peeph.def:
8158           Add new rules for pushing and treating xor a like #0.
8160 2021-03-26 Philipp Klaus Krause <pkk AT spth.de>
8162         * src/z80/gen.c:
8163           Fix issues in handling of (iy) operands (last part of fix for bug #3202).
8165 2021-03-25 Philipp Klaus Krause <pkk AT spth.de>
8167         * src/z80/gen.c:
8168           Fix an issue affecting 4-byte swap with both operands on extended stack.
8170 2021-03-25 Philipp Klaus Krause <pkk AT spth.de>
8172         * src/z80/gen.c:
8173           Fix handling of extended stack in addition and subtraction.
8175 2021-03-25 Philipp Klaus Krause <pkk AT spth.de>
8177         * src/z80/gen.c:
8178           Fix handling of frame pointer omission in dry run.
8180 2021-03-25 Sergey Belyashov <sergey.belyashov@gmail.com>
8182         * device/lib/_strcmp.c:
8183           strcmp optimization.
8185 2021-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8187         * src/z80/gen.c:
8188           Emit ldhl for calls on SM83.
8190 2021-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
8192         * device/lib/_fsdiv.c: fixed bug with very small, but normal numbers
8193         * device/include/float.h: no need to mask off bit23 in MANT() macro
8195 2021-03-24 Philipp Klaus Krause <pkk AT spth.de>
8197         * src/z80/gen.c:
8198           Disable accidentially comitted gbz80 zero push optimization.
8200 2021-03-24 Sergey Belyashov <sergey.belyashov@gmail.com>
8202         * src/z80/peeph.def:
8203           Fix some rules and remove invalid ones.
8205 2021-03-24 Sergey Belyashov <sergey.belyashov@gmail.com>
8207         * src/z80/peeph-gbz80.def,
8208           src/z80/peeph.def:
8209           Make some GBZ80 rules common.
8211 2021-03-22 Philipp Klaus Krause <pkk AT spth.de>
8213         * src/z80/gen.c:
8214           Fix a bug in tlcs90 interrupt handling.
8216 2021-03-22 Philipp Klaus Krause <pkk AT spth.de>
8218         * doc/sdccman.lyx,
8219           src/z80/gen.c,
8220           src/z80/main.c,
8221           configure.ac,
8222           configure:
8223           The GameBoy's CPU core is the SM83, also used in some Sharp microcontrollers.
8225 2021-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
8227         * device/include/float.h: added __NAN
8228         * device/lib/_fsdiv.c: many small optimizations, starting from patch
8229           #368, thanks Marco Bodrato
8230         * device/lib/_ulong2fs.c: fixed warning
8231         * support/regression/tests/bug-2516.c: do not use denormal float
8233 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8235         * src/z80/mappings.i:
8236           Fix broken debug symbols.
8238 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8240         * src/z80/peeph-gbz80.def,
8241           src/z80/peeph.def:
8242           Fix rule 1b, remove redundant rules.
8244 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8246         * src/z80/gen.c:
8247           Optimize pushing of 4B+ constant arguments.
8249 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8251         * device/lib/gbz80/crt0.s,
8252           support/regression/ports/ucgbz80/uCsim.cmd:
8253           Change emulator entry to 0x100 like after real bootrom
8255 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8257         * src/z80/gen.c:
8258           Optimize return of 4B numbers
8260 2021-03-21 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8262         * src/z80/peeph-gbz80.def:
8263           Add rules for faster stack push.
8264         * src/z80/peeph.def:
8265           Improve safety of some rules.
8267 2021-03-21 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8269         * src/SDCCpeeph.c:
8270           Make operandsLiteral pickier and fix bug #3198.
8272 2021-03-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8274         * sim/ucsim/z80.src/inst_lr35902.cc:
8275           Harmonize disassembly syntax with syntax emitted by sdcc.
8277 2021-03-19 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8279         * src/z80/peeph-gbz80.def,
8280           src/z80/peeph.def:
8281           Add new peephole rules for precalc, constants reusage and stack access rearranging.
8283 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8285         * src/pdk/gen.c,
8286           src/pdk/main.c,
8287           src/pdk/ralloc2.cc:
8288           GETBYTE support for pdk.
8290 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8292         * src/z80/ralloc2.cc,
8293           src/z80/gen.c:
8294           Improve register allocation for GETWORD and SWAP iCodes.
8296 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8298         * src/z80/gen.c:
8299           Use genMove to simplify genSwap.
8301 2021-03-18 Sergey Belyashov <sergey.belyashov@gmail.com>
8303         * src/z80/gen.c:
8304           Fix bug #3194.
8306 2021-03-18 Sergey Belyashov <sergey.belyashov@gmail.com>
8308         * src/z80/peeph.def:
8309           Fix common peephole rule 41a: do not elimitate ld l,? before ld l,(hl)
8311 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8313         * src/z80/peeph-gbz80.def:
8314           Added rules to move inc/dec hl possible upper.
8316 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8318         * src/z80/peeph.def:
8319           Add two new peepholes for Z80.
8321 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8323         * src/SDCCicode.c:
8324           Fix RFE #736.
8326 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8328         * src/z80/gen.c:
8329           Add Z80 GETWORD optimization for Z80.
8331 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8333         * src/z80/gen.c:
8334           Add Z80 SWAP implementation using RRD.
8336 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8338         * src/z80/gen.c,
8339           src/z80/main.c:
8340           Add GetABit for all Z80 ports.
8342 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8344         * sim/ucsim/z80.src/inst_lr35902.cc:
8345           Fix SWAP H/L instructions simulation for GBZ80.
8347 2021-03-16 Philipp Klaus Krause <pkk AT spth.de>
8349         * src/z80/gen.c:
8350           Fix a genMove_o hl issue, part of bug #3194.
8352 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8354         * src/z80/gen.c,
8355           src/z80/main.c:
8356           Enable multibyte RRC/RLC for GBZ80.
8358 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8360         * src/z80/gen.c:
8361           Fix typos (replace & by && in some conditions).
8363 2021-03-15 Sergey Belyashov <sergey.belyashov@gmail.com>
8365         * src/z80/gen.c,
8366           src/z80/main.c:
8367           Add RLC/RRC for all Z80 ports (GBZ80: only 8b).
8369 2021-03-15 Sergey Belyashov <sergey.belyashov@gmail.com>
8371         * src/z80/gen.c,
8372           src/z80/main.c:
8373           Add 32b swap for all Z80 ports.
8375 2021-03-14 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8377         * src/z80/gen.c:
8378           Improve 16b swap for z80ies.
8380 2021-03-13 Philipp Klaus Krause <pkk AT spth.de>
8382         * src/z80/gen.c,
8383           src/z80/ralloc2.cc:
8384           Fix bug #3190.
8386 2021-03-13 Philipp Klaus Krause <pkk AT spth.de>
8388         * support/regression/Makefile.in:
8389           Helper rule for testing pdk ports.
8390         * src/pdk/gen.c,
8391           src/pdk/main.c:
8392           8-bit swap for pdk.
8393         * support/regression/tests/rotate2.c:
8394           Disable test for pdk15-stack-auto due to lack of memory.
8395         * src/z80/gen.c,
8396           src/z80/ralloc2.cc:
8397           Improve handling of hl in equality comparison.
8399 2021-03-12 Philipp Klaus Krause <pkk AT spth.de>
8401         * src/z80/gen.c,
8402           src/z80/ralloc2.cc:
8403           Some small improvements and fixes in register handling.
8405 2021-03-11 Philipp Klaus Krause <pkk AT spth.de>
8407         * src/z80/gen.c,
8408           src/z80/ralloc2.cc:
8409           Improve nibble swap.
8411 2021-03-11 Sergey Belyashov <sergey.belyashov@gmail.com>
8413         * src/z80/gen.c,
8414           src/z80/main.c:
8415           Fix regressions coused by previous change.
8417 2021-03-11 Sergey Belyashov <sergey.belyashov@gmail.com>
8419         * src/z80/gen.c,
8420           src/z80/main.c:
8421           Add basic support for SWAP iCode for all Z80 ports.
8423 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8425         * src/z80/gen.c:
8426           Fix issue that resulted in adc hl, hl being emitted on gbz80.
8428 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8430         * device/include/typeof.h:
8431           Remove apparently unused header that has been broken for many years.
8432         * src/z80/ralloc2.cc,
8433           src/z80/gen.c:
8434           Flexible register handling for GETBYTE.
8436 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8438         * src/z80/gen.c,
8439           src/z80/mappings.i:
8440           Use placeholders more and add new ones. (Improves rgbds asm generation)
8442 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8444         * src/z80/gen.c:
8445           Improve register pair handling in code generation.
8447 2021-03-10 Sergey Belyashov <sergey.belyashov@gmail.com>
8449         * src/z80/gen.c,
8450           src/z80/main.c:
8451           Add basic support for GETBYTE iCode for all Z80 ports.
8453 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8455         * src/z80/gen.c:
8456           Improve handling of iyl and iyh in + and | for eZ80.
8458 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8460         * src/z80/main.c,
8461           support/makebin/makebin.c:
8462           Fix help texts for gbz80.
8464 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8466         * src/z80/gen.c: Get parameters faster on gbz80 sometimes.
8468 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8470         * device/lib/gbz80/setjmp.s:
8471           Rewrite setjmp for gbz80.
8473 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8475         * device/lib/gbz80/__initrleblock.s,
8476           device/lib/gbz80/crt0.s,
8477           device/lib/gbz80/div.s,
8478           device/lib/gbz80/memcpy.s,
8479           device/lib/gbz80/mul.s,
8480           device/lib/gbz80/setjmp.s:
8481           Do some obvious asm improvements for gbz80's stdlib.
8483 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8485         * src/z80/gen.c,
8486           src/z80/ralloc2.cc:
8487           Improve handling of iy.
8489 2021-03-09 Philipp Klaus Krause <pkk AT spth.de>
8491         * src/z80/gen.c,
8492           src/z80/ralloc2.cc:
8493           Improve handling of iy.
8494         * device/include/string.h,
8495           device/lib/memset_explicit.c,
8496           device/lib/incl.mk:
8497           C23 memset_explicit.
8499 2021-03-09 Philipp Klaus Krause <pkk AT spth.de>
8501         * src/z80/gen.c,
8502           src/z80/ralloc2.cc:
8503           Fix an issue affecting cost estimation for some register-to-register loads.
8505 2021-03-09 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8507         * src/z80/peeph-gbz80.def,
8508           src/z80/peeph.def:
8509           Add new peephole rules. (Based on generated code from stdlib)
8511 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8513         * src/z80/gen.c:
8514           Fix a gbz80 parameter push bug.
8515         * support/regression/tests/rotate2.c:
8516           Disable test for mcs51 (bug #3188).
8518 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8520         * src/z80/ralloc2.cc,
8521           src/z80/gen.c,
8522           src/z80/peeph.def_
8523           Improve use of iy.
8525 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8527         * src/z80/gen.c:
8528           Optimize last byte of negation, part of RFE #734.
8530 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8532         * src/z80/gen.c:
8533           Fix bug #3187.
8535 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8537         * src/SDCCpeeph.c:
8538           Pick notUsedFrom improvement and optimizeFor from patch #62 by Visenri.
8539         * src/z80/peeph.def:
8540           Small z80 peephole rule cleanup.
8541         * src/z80/gen.c:
8542           Improve gbz80 comparison with 0, part of RFE #734.
8544 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8546         * Merge sdcc-next branch to trunk.
8548 2021-03-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8550         * .version: post release bump to 4.1.1
8552 2021-03-06 Philipp Klaus Krause <pkk AT spth.de>
8554         * doc/sdccman.lyx:
8555           Document the use of DWARF debug information with ELF binaries.
8557 2021-03-05 Philipp Klaus Krause <pkk AT spth.de>
8559         * src/z80/gen.c,
8560           src/z80/ralloc2.cc:
8561           Improved handling of a.
8562         * src/pdk/gen.c,
8563           support/regression/tests/rotate2.c:
8564           Fix bug #3185.
8566 2021-03-05 Philipp Klaus Krause <pkk AT spth.de>
8568         * src/z80/gen.c,
8569           src/z80/ralloc2.cc:
8570           Improved handling of hl.
8572 2021-03-04 Philipp Klaus Krause <pkk AT spth.de>
8574         * src/z80/gen.c,
8575           src/z80/ralloc2.cc:
8576           Improved handling of hl in binary bitwise operators.
8578 2021-03-04 Philipp Klaus Krause <pkk AT spth.de>
8580         * src/z80/gen.c:
8581           Fix another issue related to bug #3181.
8582         * src/stm8/gen.c:
8583           exg, exgw handling cleanup, picked from patch #363 by Visenri.
8584         * support/regression/tests/rotate2.c:
8585           Tests for rotation and swap, picked from patch #363 by Visenri.
8586         * sdas/linksrc/lksdcdb.c:
8587           Fix a debug info issue, patch #346 by Benedikt Kleiner.
8589 2021-03-02 Maarten Brock <sourceforge.brock AT dse.nl>
8591         * src/ds390/ralloc.c (isOperandInFarSpace2): fixed warning
8592         * src/mcs51/peep.c (doPushScan): fixed warning
8594 2021-02-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8596         * .version,
8597           doc/INSTALL.txt,
8598           sdcc.spec: Update version to 4.1.0 for release
8599         * doc/sdccman.lyx: update to reflect Freescale/NXP merger
8601 2021-02-19 Philipp Klaus Krause <pkk AT spth.de>
8603         * src/z80/gen.c,
8604           support/regression/tests/lonesha256.c:
8605           Fix gbz80 xor code generation bug #3181.
8607 2021-02-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8609         * support/makebin/makebin.c: Replace getline with fgetc
8611 2021-02-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8613         * support/makebin/makebin.c: Tone down filter of -yS
8615 2021-02-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8617         * support/makebin/makebin.c: Add patch #365 (-yS)
8619 2021-02-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8621         * support/makebin/makebin.c: Add patch #364 (-yp)
8623 2021-02-09 Philipp Klaus Krause <pkk AT spth.de>
8625         * src/SDCCpeeph.c
8626           src/port.h
8627           src/z80/gen.c
8628           src/z80/peep.c
8629           src/z80/peep.h,
8630           support/regression/tests/bug-3178.c:
8631           Fix bug #3178.
8633 2021-02-09 Benedikt Freisen <b.freisen AT gmx.net>
8635         * src/SDCCerr.c,
8636           src/SDCCerr.h,
8637           src/SDCCmain.c:
8638           Add language override option -x (feature request #667).
8640 2021-02-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8642         * src/SDCCpeeph.c: fix function names in error messages
8644 2021-02-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8646         * support/makebin/makebin.c: add patch #360
8648 2021-02-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8650         * src/SDCCattr.c: fix include filename
8651         * ChangeLog: it's no longer 2020
8653 2021-02-04 Philipp Klaus Krause <pkk AT spth.de>
8655         * src/z80/gen.c:
8656           Make end-of-call stack adjustment tolerate return value in a.
8658 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8660         * src/z80/gen.c:
8661           Separate __z88dk_fastcall registers from return value registers.
8663 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8665         * src/z80/gen.c:
8666           Fix a bug in code generation for wide unary minus with upper operand word in hl.
8668 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8670         * src/z80/gen.c,
8671           src/z80/peep.c:
8672           Refactor handling of return value registers.
8674 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8676         * src/SDCCsymt.c:
8677           Fix printing of function with variable arguments (e.g. for debug dumps).
8678         * src/z80/gen.c,
8679           src/stm8/gen.c:
8680           Refactor register asmop intialization.
8682 2021-02-02 Philipp Klaus Krause <pkk AT spth.de>
8684         * src/SDCCattr.h,
8685           src/SDCCattr.c,
8686           src/SDCC.y,
8687           src/SDCCsymt.h,
8688           src/Makefile.in:
8689           Infrastructure for attributes.
8691 2021-02-01 Philipp Klaus Krause <pkk AT spth.de>
8693         * src/z80/gen.c,
8694           src/z80/ralloc2.cc:
8695           Fix bug #3174.
8697 2021-01-29 Philipp Klaus Krause <pkk AT spth.de>
8699         * src/z80/peep.c:
8700           Fix bug #3173.
8701         * src/z80/peeph.def:
8702           Split rule for add from adc, sbc rule due to differences in flag handling.
8704 2021-01-27 Philipp Klaus Krause <pkk AT spth.de>
8706         * src/stm8/peeph.def:
8707           Pick some improvements from patch #362 by Visenri.
8708         * support/regression/tests/bug-3172.c:
8709           Test for bug #3172.
8710         * device/lib/_strcpy.c:
8711           Pick a fix from noasm2 branch.
8713 2021-01-26 Philipp Klaus Krause <pkk AT spth.de>
8715         * src/stm8/peeph.def:
8716           Pick some improvements from patch #362 by Visenri.
8718 2021-01-25 Philipp Klaus Krause <pkk AT spth.de>
8720         * src/stm8/peeph.def:
8721           Pick some improvements from patch #362 by Visenri.
8723 2021-01-22 Philipp Klaus Krause <pkk AT spth.de>
8725         * src/stm8/peeph.def:
8726           Fix bug #3170.
8728 2021-01-21 Philipp Klaus Krause <pkk AT spth.de>
8730         * src/z80/gen.c,
8731           support/regression/tests/bug-3169.c:
8732           Fix bug #3169.
8734 2021-01-12 Philipp Klaus Krause <pkk AT spth.de>
8736         * src/z80/gen.c:
8737           Fix an issue in handling of non-dead a in __sfr access, possibly bug #3168.
8739 2021-01-01 Philipp Klaus Krause <pkk AT spth.de>
8741         * src/z80/gen.c,
8742           src/pdk/gen.c,
8743           support/regression/tests/bug-3167.c:
8744           Fix bug #3167.
8746 2021-01-01 Philipp Klaus Krause <pkk AT spth.de>
8748         * src/z80/gen.c:
8749           Fix an issue in handling surviving a when assigning single bytes from (hl) to stack.
8750         * support/regression/tests/bug-3166.c:
8751           Test for bug #3166.
8753 2021-01-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8755         * src/SDCCast.c,
8756           src/SDCCast.h,
8757           src/SDCCicode.c,
8758           src/SDCCicode.h,
8759           src/SDCCdwarf2.c,
8760           src/cdbFile.c: partial fix for bug #3153
8761         * suppport/regression/tests/bug-3081.c: avoid redefinition warning
8763 2021-01-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8765         * sim/ucsim/cmd.src/cmdlex.l: reverted previous change
8766         * sim/ucism/cmd.src/cmdutil.h: ensure SOCKET_AVAIL defined before use
8768 2021-01-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8770         * sim/ucsim/cmd.src/cmdlex.l: change #include order so SOCKET defined
8772 2020-12-29 Philipp Klaus Krause <pkk AT spth.de>
8774         * src/z80/gen.c:
8775           Fixes in handling register operands.
8776         * src/z80/ralloc2.cc:
8777           More flexibility for register operands in cast and ^.
8779 2020-12-27 Philipp Klaus Krause <pkk AT spth.de>
8781         * src/z80/gen.c:
8782           Fix an issue in handling of surviving registers in unsigned upcast.
8784 2020-12-16 Philipp Klaus Krause <pkk AT spth.de>
8786         * device/lib/pic14/aclocal.m4:
8787           Update to automake 1.16.2 to fix bug #3140.
8788         * device/lib/pic14/libc/Makefile.am:
8789           Port itoa, ltoa rename to pic14 to fix bug #3110.
8790         * src/clean.mk:
8791           Include pdk ports in make clean to fix bug #3152.
8792         * support/regression/ports/stm8/spec.mk,
8793           support/regression/ports/stm8-large/spec.mk:
8794           Increase stm8 test timeout by 50%, to accomodate slow macOS PPC (bug #3149).
8796 2020-12-03 Philipp Klaus Krause <pkk AT spth.de>
8798         * src/SDCC.lex,
8799           src/SDCCerr.c,
8800           src/SDCCerr.h,
8801           src/SDCCval.c,
8802           .version,
8803           support/regression/test/digit_separators.c:
8804           C23 digit separators.
8806 2020-12-03 Philipp Klaus Krause <pkk AT spth.de>
8808         * src/SDCC.lex,
8809           src/SDCCerr.h,
8810           src/SDCCerr.c,
8811           src/SDCCval.c,
8812           .version:
8813           C23 disallows concatenation of differently-prefixed string literals (N2594).
8815 2020-12-01 Philipp Klaus Krause <pkk AT spth.de>
8817         * src/z80/gen.c:
8818           Improve &, |, ^ by integer constant expression, merge ^ and ~.
8820 2020-11-29 Philipp Klaus Krause <pkk AT spth.de>
8822         * src/SDCCmain.c,
8823           device/include/Makefile.in,
8824           device/include/rab,
8825           .version:
8826           Migrate Rabbit headers from OpenRabbit to SDCC.
8828 2020-11-28 Philipp Klaus Krause <pkk AT spth.de>
8830         * src/z80/main.c:
8831           Change Rabbit default data location to 0xa000.
8833 2020-11-27 Philipp Klaus Krause <pkk AT spth.de>
8835         * doc/sdccman.lyx:
8836           Update links to upstream ASxxxx, patch by Warner Losh.
8838 2020-11-24 Philipp Klaus Krause <pkk AT spth.de>
8840         * src/stm8/gen.c:
8841           Unify ~,^.
8843 2020-11-24 Philipp Klaus Krause <pkk AT spth.de>
8845         * src/stm8/gen.c:
8846           Improve handling of rematerialized stack locations in +,-.
8847         * src/stm8/peeph.def:
8848           Improve negation of carry result.
8850 2020-11-23 Philipp Klaus Krause <pkk AT spth.de>
8852         * src/SDCCopt.c:
8853           Enable non-zero right GET_VALUE_AT_ADDRESS operand for tlcs90.
8854         * src/SDCClospre.cc:
8855           Enable speculative division for pdk in lospre (though pdk does not use lospre yet).
8857 2020-11-21 Philipp Klaus Krause <pkk AT spth.de>
8859         * src/pic14/glue.c:
8860           --code-loc support for pic14, patch by Georgi Georgiev.
8862 2020-11-10 Philipp Klaus Krause <pkk AT spth.de>
8864         * sim/ucsim/sim.src/mem.cc:
8865           Fix spelling in debug message.
8866           sim/ucsim/doc/index.html:
8867           Reencode to UTF-8.
8869 2020-11-04 Philipp Klaus Krause <pkk AT spth.de>
8871         * support/regression/tests/bug-3141.c:
8872           Disable test for mcs51 due to bug #3146.
8874 2020-11-02 Philipp Klaus Krause <pkk AT spth.de>
8876         * src/stm8/gen.c,
8877           support/regression/tests/bug-3141.c:
8878           Fix bug #3141.
8879         * src/z80/gen.c,
8880           support/regression/tests/shifts2.c:
8881           Fix bug #3142.
8883 2020-11-02 Philipp Klaus Krause <pkk AT spth.de>
8885         * src/z80/main.c:
8886           Disable array initalizer support for gbz80 in trunk, so the remining issues can be worked out in a branch instead.
8888 2020-10-29 Philipp Klaus Krause <pkk AT spth.de>
8890         * src/z80/gen.c:
8891           Fix bug #3134.
8893 2020-10-28 Philipp Klaus Krause <pkk AT spth.de>
8895         * src/SDCCsymt.h:
8896           Increase limits, patch by Oleg Endo <olegendo@gcc.gnu.org>.
8897         * support/regression/Makefile.in:
8898           add pdk15-stack-auto ton default target.
8900 2020-10-27 Philipp Klaus Krause <pkk AT spth.de>
8902         * src/pdk/ralloc2.cc,
8903           src/pdk/gen.c:
8904           Improve register allocation for bitwise xor.
8906 2020-10-26 Philipp Klaus Krause <pkk AT spth.de>
8908         * support/regression/tests/bug-3135.c,
8909           src/z80/ralloc2.cc:
8910           Attempt to fix bug #3135.
8911         * src/pdk/ralloc2.cc,
8912           src/pdk/gen.c:
8913           Improve register allocation for bitwise and, or.
8915 2020-10-21 Sergey Belyashov <sergey.belyashov@gmail.com>
8917         * src/z80/gen.c,
8918         * src/z80/mappings.i:
8919           Fix bug #3137.
8921 2020-10-16 Philipp Klaus Krause <pkk AT spth.de>
8923         * src/SDCCerr.h,
8924           src/SDCCerr.c,
8925           src/SDCC.lex:
8926           Improve diagnostics for binary integer literals.
8928 2020-10-14 Philipp Klaus Krause <pkk AT spth.de>
8930         * device/lib/r2k/crt0.s,
8931           device/lib/r2ka/crt0.s,
8932           device/lib/r3ka/crt0.s,
8933           .version:
8934           Use a default crt0 that works well on typical Rabbit hardware.
8936 2020-10-13 Sergey Belyashov <sergey.belyashov@gmail.com>
8938         * src/SDCCpeeph.c:
8939           Peephole rule immdInRange now accepts mul, div, and mod operations.
8940           immdInRange silently fail in case of non-number (label) arguments.
8941         * src/z80/peeph.def:
8942           Add new peephole rules.
8944 2020-10-13 Philipp Klaus Krause <pkk AT spth.de>
8946         * support/regression/tests/bug-3129.c:
8947           Disable test for ds390.
8948         * support/regression/tests/bug-3132.c:
8949           Remove conflicting (for ds390) __sdcc_external_startup definition.
8951 2020-10-12 Philipp Klaus Krause <pkk AT spth.de>
8953         * src/pdk/gen.c,
8954           support/regression/tests/bug-3132.c:
8955           Fix bug #3132.c.
8956         * src/z80/gen.c:
8957           Fix overoptimistic stack coalescing assumption in cost function, RFE #710.
8959 2020-10-11 Philipp Klaus Krause <pkk AT spth.de>
8961         * src/z80/gen.c,
8962           support/regression/tests/bug-3127.c,
8963           support/regression/tests/bug-3129.c:
8964           Fix bugs #3127, #3128, #3129, #3130, #3131.
8966 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
8968         * src/z80/gen.c:
8969           Improve wide subtraction.
8971 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
8973         * src/z80/gen.c:
8974           Improve Rabbit negation.
8976 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
8978         * src/z80/gen.c:
8979           Improve register shuffling.
8981 2020-10-08 Philipp Klaus Krause <pkk AT spth.de>
8983         * src/z80/gen.c,
8984           src/z80/ralloc2.cc:
8985           Improve left shift.
8987 2020-10-08 Philipp Klaus Krause <pkk AT spth.de>
8989         * src/z80/gen.c,
8990           support/regression/tests/bug-3126.c:
8991           Fix bug #3126.
8993 2020-10-07 Philipp Klaus Krause <pkk AT spth.de>
8995         * src/z80/gen.c:
8996           Improve register-to-stack copy.
8997         * sim/ucsim/z80.src/z80mac.h,
8998           sim/ucsim/z80.src/inst_r2k.cc:
8999           Fix handling of offset in sp-relative addressing.
9001 2020-10-05 Philipp Klaus Krause <pkk AT spth.de>
9003         * src/z80/gen.c:
9004           Fix a z80 --reserve-regs-iy regression test failure.
9006 2020-10-04 Philipp Klaus Krause <pkk AT spth.de>
9008         * sdccconf_in.h:
9009           Regenerated file via autoheader to pick up r2ka port.
9011 2020-10-03 Philipp Klaus Krause <pkk AT spth.de>
9013         * Makefile.common.in:
9014           Fix bug #3122.
9015         * src/z80/gen.c:
9016           Improve use of ld d(ix), hl and ld hl, d(ix) for Rabbits.
9018 2020-09-29 Philipp Klaus Krause <pkk AT spth.de>
9020         * src/z80/gen.c:
9021           Fix use of mul for 16-bit multiplication by constant for r2k vs. r2ka.
9022         * support/scripts/sdcc.nsi:
9023           Fix r2ka library Windows installation.
9025 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9027         * Makefile.in,
9028           configure,
9029           configure.ac,
9030           device/lib/Makefile.in,
9031           device/lib/r2ka,
9032           device/lib/atomic_flag_clear.c,
9033           device/include/Makefile.in,
9034           device/include/*.h
9035           src/SDCCmain.c,
9036           src/port.h,
9037           src/z80/main.c,
9038           src/z80/z80.h,
9039           support/regression/Makefile.in,
9040           support/regression/fwk/include/testfwk.h,
9041           support/regression/ports/ucr2ka,
9042           support/regression/tests/*.c,
9043           doc/sdccman.lyx,
9044           r2ka port to better support Rabbit 2000A, 2000B, 2000C, 3000. RFE #709.
9046 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9048         * src/z80/gen.c,
9049           src/z80/main.c,
9050           device/lib/r3ka/mulchar.s,
9051           device/lib/r3ka/Makefile.in:
9052           Use mul for r3ka, RFE #372.
9054 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9056         * src/z80/ralloc2.cc,
9057           src/z80/peeph.def,
9058           src/z80/peeph-r2k.def,
9059           src/SDCCval.h,
9060           src/SDCCval.c:
9061           Small improvements for z80 and related.
9063 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9065         * src/z80/gen.c:
9066           Improve speed of r2k builtins.
9067         * src/SDCCast.c:
9068           Optimize strcpy on Rabbits.
9069         * src/port.h:
9070           Prepare for r2ka port.
9072 2020-09-26 Philipp Klaus Krause <pkk AT spth.de>
9074         * src/z80/gen.c:
9075           Improve use of Rabbit instructions.
9077 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9079         * src/z80/gen.c,
9080           device/lib/r2k/crt0.s,
9081           src/SDCCgen.h,
9082           src/SDCCgen.c,
9083           device/lib/r2k/memcpy.s,
9084           device/lib/r2k/memmove.s:
9085           Work around Rabbit 2000 / 3000 ldir / lddr wait state bugs.
9086         * src/z80/z80.h:
9087           Prepare for r2ka port.
9089 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9091         * src/z80/gen.c:
9092           Work around Rabbit 2000 mul wait state bug.
9094 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9096         * src/z80/gen.c:
9097           Fix bug #3105.
9099 2020-09-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9101         * configure,
9102           configure.ac:
9103           Apply patch #357 from Tim Stahlhut: fix bug #3114.
9105 2020-09-23 Philipp Klaus Krause <pkk AT spth.de>
9107         * src/z80/peep.c:
9108           Fix handling of ioi, ioe in peephole optimizer, including bug #3118.
9110 2020-09-20 Philipp Klaus Krause <pkk AT spth.de>
9112         * src/z80/gen.c:
9113           Fix bug #3116.
9115 2020-09-18 Sergey Belyashov <sergey.belyashov@gmail.com>
9117         * sdcc/sim/ucsim/app.cc,
9118           sdcc/sim/ucsim/doc/ucsim.1:
9119           Apply part of patch #349: simulator rng seed option
9121 2020-09-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9123         * device/lib/gbz80/abs.s,
9124           device/lib/gbz80/strlen.s:
9125           Assembler optimized abs() and strlen() for GBZ80.
9127 2020-09-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9129         * device/lib/_memset.c:
9130           More optimized memset implementation.
9132 2020-09-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9134         * sim/ucsim/app.cc,
9135           sim/ucsim/chars.cc,
9136           sim/ucsim/errorcl.h,
9137           sim/ucsim/option.cc,
9138           sim/ucsim/optioncl.h,
9139           sim/ucsim/p1516.src/p1516.cc,
9140           sim/ucsim/pdk.src/pdk.cc,
9141           sim/ucsim/pobj.cc,
9142           sim/ucsim/pobjcl.h,
9143           sim/ucsim/pobjt.h,
9144           sim/ucsim/sim.src/brk.cc,
9145           sim/ucsim/sim.src/brkcl.h,
9146           sim/ucsim/sim.src/hw.cc,
9147           sim/ucsim/sim.src/itsrc.cc,
9148           sim/ucsim/sim.src/itsrccl.h,
9149           sim/ucsim/sim.src/mem.cc,
9150           sim/ucsim/sim.src/memcl.h,
9151           sim/ucsim/sim.src/simif.cc,
9152           sim/ucsim/sim.src/uc.cc,
9153           sim/ucsim/sim.src/uccl.h,
9154           sim/ucsim/sim.src/var.cc,
9155           sim/ucsim/sim.src/varcl.h:
9156           Apply patch #343 and patch #347 from Mike Jagdis.
9158 2020-09-15 Philipp Klaus Krause <pkk AT spth.de>
9160         * sim/ucsim/z80.src/inst_r2k.cc:
9161           Fix xpc handling in Rabbit MMU.
9163 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9165         * src/z80/main.c:
9166           Temporary enable initializer list support for GBZ80.
9168 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9170         * src/z80/gen.c:
9171           Fix regression introduced in previous change.
9173 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9175         * src/SDCCval.c,
9176           src/SDCCval.h,
9177           src/z80/gen.c:
9178           Fix bug #3104.
9180 2020-09-13 Philipp Klaus Krause <pkk AT spth.de>
9182         * src/SDCCerr.c:
9183           Fix missing include, patch #354 by Tim Stahlhut.
9185 2020-09-12 Philipp Klaus Krause <pkk AT spth.de>
9187         * src/stm8/gen.c:
9188           Minor code quality improvements, patch #353 by Tim Stahlhut.
9190 2020-09-10 Philipp Klaus Krause <pkk AT spth.de>
9192         * src/z80/gen.c:
9193           Improve use of bool hl instruction for zeroing.
9194         * src/stm8/gen.c:
9195           Fix handling of 24-bit return values, patch by Tim Stahlhut.
9196         * src/stm8/peep.c:
9197           Fix a bug in handling 24-bit return values in notUsed().
9199 2020-09-07 Philipp Klaus Krause <pkk AT spth.de>
9201         * sdas/asstm8/clean.mk:
9202           Fix clean target for sdasstm8, patch #350 by Tim Stahlhut.
9203         * src/Makefile.in:
9204           Fix C++ linker flags, patch by Mike Jagdis.
9206 2020-08-30 Philipp Klaus Krause <pkk AT spth.de>
9208         * doc/sdccman.lyx:
9209           Remove mention of Rabbit 4000, since it is currently supported in Rabbit 300 compability mode only.
9211 2020-08-28 Sergey Belyashov <sergey.belyashov@gmail.com>
9213         * support/regression/tests/memory.c:
9214           Apply patch #334: Enhanced regression testing for memmove()
9216 2020-08-28 Sergey Belyashov <sergey.belyashov@gmail.com>
9218         * sdas/asz80/z80mch.c,
9219           sdas/asz80/z80pst.c:
9220           Implement RFE#656: add barrel shifts and jp (c) instruction support.
9222 2020-08-28 Ben Shi <powerstudio1st AT 163 DOT com>
9224         * support/regression/tests/gcc-torture-execute-20040409-1.c:
9225         * support/regression/tests/gcc-torture-execute-20040409-2.c:
9226         * support/regression/tests/gcc-torture-execute-20040409-3.c:
9227         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c:
9228         * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
9229         * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_yx.c:
9230           Disabled for clang-6.0 and below.
9232 2020-08-27 Sergey Belyashov <sergey.belyashov@gmail.com>
9234         * device/lib/gbz80/Makefile.in,
9235           device/lib/gbz80/crt0_rle.s: crt0_rle.s renamed to __initrleblock.s
9236         * src/z80/gen.c,
9237           src/z80/peep.c,
9238           device/lib/gbz80/__initrleblock.s:
9239           Prepare to implement RFE#670 and RFE#707. Not enabled in z80/main.c,
9240           because there are failed tests:
9241             gcc-torture-execute-921013-1
9242             gcc-torture-execute-pr83383
9244 2020-08-27 Sergey Belyashov <sergey.belyashov@gmail.com>
9246         * src/SDCCval.c:
9247           Fix possible bug in reorderIlist() when empty array is passed.
9249 2020-08-27 Sergey Belyashov <sergey.belyashov@gmail.com>
9251         * src/z80/peeph.def:
9252           New peephole rules, fixed and reenabled rule 44.
9254 2020-08-25 Philipp Klaus Krause <pkk AT spth.de>
9256         * src/z80/peeph.def,
9257           support/regression/tests/bug-3102.c:
9258           Disable some peephole rules for bug #3102.
9260 2020-08-25 Ben Shi <powerstudio1st AT 163 DOT com>
9262         * sim/ucsim/app.cc:
9263           Improve back compatibility with elder gcc/g++.
9265 2020-08-24 Ben Shi <powerstudio1st AT 163 DOT com>
9267         * sim/ucsim/app.cc:
9268           Fix unmatched right parentheses.
9270 2020-08-22 Philipp Klaus Krause <pkk AT spth.de>
9272         * src/z80/gen.c:
9273           Fix bug #3101.
9275 2020-08-21 Philipp Klaus Krause <pkk AT spth.de>
9277         * src/z80/gen.c:
9278           Implement RFE #404.
9280 2020-08-21 Philipp Klaus Krause <pkk AT spth.de>
9282         * src/z80/gen.c:
9283           Small improvements for left-shift by constant expression.
9285 2020-08-19 Philipp Klaus Krause <pkk AT spth.de>
9287         * support/regression/tests/bug-3093.c:
9288           Test for bug #3093.
9289         * src/z80/gen.c:
9290           Improve left shift, RFE #465.
9292 2020-08-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9294         * src/SDCCast.c (resultTypePropagate): Fix bug #3093
9296 2020-08-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9298         * support/regression/tests/p99-conformance.c: Disable another test
9299           for pdk14 to avoid RAM overflow
9301 2020-08-12 Philipp Klaus Krause <pkk AT spth.de>
9303         * src/z80/gen.c,
9304           support/regression/tests/bug-3097.c:
9305           Fix bug #3097.
9307 2020-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9309         * support/regression/tests/p99-conformance.c: Disable a test for
9310           mcs51-small due to limited memory
9311         * support/regression/tests/bug-2645.c: Disable warning 88 too
9313 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9315         * device/lib/tlcs90/abs.s,
9316           device/lib/tlcs90/memcpy.s,
9317           device/lib/tlcs90/memmove.s,
9318           device/lib/tlcs90/setjmp.s,
9319           device/lib/tlcs90/strcpy.s,
9320           device/lib/tlcs90/strlen.s:
9321           Small stdlib optimizations for tlcs90.
9323 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9325         * device/lib/r2k/atomic_flag_test_and_set.s,
9326           device/lib/r3ka/atomic_flag_test_and_set.s:
9327           Optimize atomic_flag_test_and_set() for r2k and r3ka.
9329 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9331         * device/lib/tlcs90/Makefile.in,
9332           device/lib/tlcs90/atomic_flag_test_and_set.s,
9333           device/include/stdatomic.h,
9334           device/lib/atomic_flag_clear.c,
9335           support/regression/tests/atomic.c:
9336           Basic implementation of RFE #649 for tlcs90.
9338 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9340         * device/lib/r2k/Makefile.in,
9341           device/lib/r2k/memcpy.s,
9342           device/lib/r3ka/Makefile.in,
9343           device/lib/r3ka/memcpy.s,
9344           device/lib/tlcs90/Makefile.in,
9345           device/lib/tlcs90/memcpy.s,
9346           device/lib/tlcs90/memmove.s:
9347           Implement RFE #664 for tlcs90, r2k and r3ka.
9349 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9351         * support/regression/tests/bug-2645.c:
9352           Disable warning 154 in regression testsuit.
9354 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9356         * src/z80/peeph.def:
9357           Make some of Z80 common peephole rules more generic.
9359 2020-08-10 Sergey Belyashov <sergey.belyashov@gmail.com>
9361         * src/z80/peep.c:
9362           Fix always false conditions in code.
9364 2020-08-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9366         * src/ds390/gen.c (aopForRemat): fix regression test bug-2363
9367           failure on ds390
9369 2020-08-07 Sergey Belyashov <sergey.belyashov@gmail.com>
9371         * src/z80/peeph.def:
9372           Make some of Z80 common peephole rules more generic.
9374 2020-08-07 Sergey Belyashov <sergey.belyashov@gmail.com>
9376         * src/z80/peep.c:
9377           More accurate Z80 flag handling by notUsed.
9379 2020-08-06 Philipp Klaus Krause <pkk AT spth.de>
9381         * src/z80/gen.c:
9382           Avoid unecessary stack save of hl, RFE #699.
9384 2020-08-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9386         * src/z80/peeph-gbz80.def,
9387           src/z80/peeph.def:
9388           Use flag rules for all z80 ports.
9390 2020-08-06 Sergey Belyashov <sergey.belyashov@gmail.com>
9392         * src/z80/peep.c:
9393           canAssign now return true for (IX)/(IY)/(HL) with any register
9394           pair for eZ80_Z80 port.
9396 2020-08-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9398         * src/z80/peep.c:
9399           Fix pop af handling for notUsed('f').
9401 2020-08-06 Sergey Belyashov <sergey.belyashov@gmail.com>
9403         * src/z80/peep.c:
9404           Enable "sp" and flags for notUsed peephole constraint for all Z80
9405           ports.
9407 2020-08-06 Philipp Klaus Krause <pkk AT spth.de>
9409         * src/SDCCutil.c,
9410           support/regression/tests/p99-conformance.c:
9411           Fix handling of digits 8 and 9 in universal character names.
9412         * support/regression/tests/bug-2363.c:
9413           Redisable test for targets without enough memory.
9415 2020-08-05 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9417         * src/z80/peep.c:
9418           Fix notUsed('f') for jr/jp (Bug #3095)
9419         * src/z80/peeph-gbz80.def:
9420           Add rules for regression tests.
9422 2020-08-05 Sergey Belyashov <sergey.belyashov@gmail.com>
9424         * support/regression/tests/bug-2363.c:
9425           Enable test because bug #2363 looks to be fixed.
9427 2020-08-05 Sergey Belyashov <sergey.belyashov@gmail.com>
9429         * device/lib/z80/Makefile.in,
9430           device/lib/z80/__sdcc_critical.s,
9431           src/z80/gen.c,
9432           src/z80/main.c,
9433           src/z80/z80.h,
9434           support/regression/Makefile.in,
9435           support/regression/ports/ucz80-nmos,
9436           support/regression/ports/ucz80-nmos/spec.mk:
9437           Fix bug #2321: Z80 generates unsafe code for critcial function entry.
9439 2020-08-05 Sergey Belyashov <sergey.belyashov@gmail.com>
9441         * device/lib/ez80_z80/Makefile.in,
9442           device/lib/ez80_z80/__sdcc_bcall.s,
9443           device/lib/z180/Makefile.in,
9444           device/lib/z180/__sdcc_bcall.s,
9445           device/lib/z80n/Makefile.in,
9446           device/lib/z80n/__sdcc_bcall.s,
9447           support/regression/tests/banked.c:
9448           Implement RFE #152 for eZ80_Z80, Z180, Z80N.
9450 2020-08-05 Philipp Klaus Krause <pkk AT spth.de>
9452         * src/z80/peep.c:
9453           Improve notUsed precision.
9455 2020-08-04 Sergey Belyashov <sergey.belyashov@gmail.com>
9457         * src/SDCCpeeph.c,
9458           src/z80/peeph-z80n.def:
9459           Implement RFE #678: new peephole constraint unusedRegs.
9461 2020-08-04 Philipp Klaus Krause <pkk AT spth.de>
9463         * src/z80/gen.c,
9464           src/z80/peeph.def:
9465           Improve parameter pushing.
9467 2020-08-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9469         * src/z80/peeph-z80n.def:
9470           New rules to replace push nn by ld rr,nn / push rr.
9472 2020-08-03 Philipp Klaus Krause <pkk AT spth.de>
9474         * src/stm8/peeph.def:
9475           Use more indexed adressing where it makes sense.
9477 2020-08-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9479         * sim/ucsim/z80.src/z80.cc,
9480           src/z80/gen.c,
9481           support/regression/tests/z80n-push-nn.c:
9482           Fix bug #3032: Something wrong with z80n push nn.
9484 2020-08-03 Philipp Klaus Krause <pkk AT spth.de>
9486         * src/stm8/main.c,
9487           src/stm8/gen.c:
9488           Optimize signed division by small powers of 2.
9490 2020-07-31 Sergey Belyashov <sergey.belyashov@gmail.com>
9492         * src/SDCCasm.c,
9493           src/SDCCasm.h,
9494           src/z80/main.c,
9495           src/z80/mappings.i:
9496           Apply patch #312: Initial support for GNU Assembler for Z80 port.
9498 2020-07-31 Philipp Klaus Krause <pkk AT spth.de>
9500         * src/pdk/gen.c,
9501           support/regression/tests/bug-3083.c:
9502           Fix bug #3083.
9504 2020-07-31 Maarten Brock <sourceforge.brock AT dse.nl>
9506         * src/SDCCpeeph.c: removed portIsDS390, fixed isPort() coding style
9507         * src/ds390/peeph.def: replaced portIsDS390 by isPort('ds390' 'ds400')
9509 2020-07-30 Sergey Belyashov <sergey.belyashov@gmail.com>
9511         * src/z80/peeph.def:
9512           Implement RFE #669: optimize out unnecessary JP instructions generated
9513           by switch statement.
9515 2020-07-29 Philipp Klaus Krause <pkk AT spth.de>
9517         * src/pdk/main.c,
9518           src/pdk/gen.h,
9519           src/pdk/gen.c:
9520           Fix bug #3091, patch by Free-PDK.
9521         * src/z80/gen.c,
9522           support/regression/tests/bug-3090.c:
9523           Fix bug #3090.
9525 2020-07-27 Maarten Brock <sourceforge.brock AT dse.nl>
9527         * device/include/stdatomic.h: enabled for ds390, force nonbanked for mcs51
9528         * device/lib/ds390/atomic_flag_clear.c,
9529         * device/lib/ds390/atomic_flag_test_and_set.c: new, added
9530         * device/lib/ds390/Makefile.in: added atomic_flag_*
9531         * device/lib/mcs51/atomic_flag_clear.asm,
9532         * device/lib/mcs51/atomic_flag_test_and_set.asm: new, added
9533         * support/regression/tests/atomic.c: enabled for ds390
9534         * sim/ucsim/z80.src/inst_ed.cc: fixed bug by paying attention to warnings
9536 2020-07-27 Philipp Klaus Krause <pkk AT spth.de>
9538         * Makefile.in:
9539           Fix bug #3078, fix by Free-PDK.
9540         * src/SDCCmain.c:
9541           Disable --stack-loc deprecation warning for pdk and stm8.
9543 2020-07-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9545         * sdas/linksrc/lkmain.c:
9546           Add -j to help of sdldgb.
9548 2020-07-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9550         * src/SDCCasm.c,
9551           src/SDCCglue.c,
9552           src/z80/gen.c,
9553           src/z80/main.c,
9554           src/z80/mappings.i:
9555           Fix rgdbs asm generation for gbz80.
9556           Original fix by toxa.
9558 2020-07-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9560         * src/z80/peep.c:
9561           Fix ldh size estimation for gbz80.
9563 2020-07-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9565         * src/z80/main.c,
9566           src/port.h:
9567           Change implementation of -ba and -bo.
9569 2020-07-24 Maarten Brock <sourceforge.brock AT dse.nl>
9571         * device/include/stdatomic.h: enable mcs51, atomic_flag must reside in data/idata
9572         * device/lib/mcs51/Makefile.in: added atomic_flag_test_and_set.rel & atomic_flag_clear.rel,
9573           fixed include path
9574         * support/regression/tests/atomic.c: enabled test for mcs51,
9575           added test for atomic_flag within struct
9577 2020-07-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9579         * src/z80/main.c:
9580           Fix initialization of data-seg when using -ba for bug #3088.
9582 2020-07-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9584         * sdas/linksrc/lkout.c:
9585           Fix address translation bug found by toxa.
9587 2020-07-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9589         * support/makebin/makebin.c:
9590           Add ROM header options for gbz80.
9592 2020-07-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9594         * support/makebin/makebin.c:
9595           Apply record type 04 32bit extension to all 00.
9597 2020-07-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9599         * src/SDCCasm.c,
9600           src/z80/gen.c,
9601           src/z80/mappings.i:
9602           Add new mapping !hashedbankimmeds.
9604 2020-07-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9606         * src/SDCCasm.c,
9607           src/z80/gen.c,
9608           support/regression/tests/banked.c:
9609           Fix incorrect syntax of ASXXXX assembler code generated for banked calls.
9611 2020-07-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9613         * sdas/linksrc/lkout.c,
9614           support/makebin/makebin.c:
9615           Translate virtual addresses to real addresses in ihx for gbz80.
9617 2020-07-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9619         * src/SDCCpeeph.c:
9620           Fix bug #3089: sdcc hangs under Windows.
9622 2020-07-22 Sergey Belyashov <sergey.belyashov@gmail.com>
9624         * sdas/asz80/z80mch.c,
9625           support/regression/tests/z80n-push-nn.c:
9626           Fix invalid relocation of Z80N PUSH immediate instruction.
9628 2020-07-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9630         * sdas/linksrc/lkarea.c:
9631           Set sane default values for gbz80 banks.
9633 2020-07-22 Sergey Belyashov <sergey.belyashov@gmail.com>
9635         * support/regression/tests/memory.c:
9636           Fix test compilation on small systems.
9638 2020-07-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9640         * src/z80/mappings.i:
9641           Unify emitted gbz80 asm and fix indentation.
9643 2020-07-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9645         * src/z80/main.c:
9646           Improve rule order for gbz80
9647         * src/z80/peeph-gbz80.def:
9648           Remove sp0, which wasn't interrupt safe
9650 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9652         * device/lib/ez80_z80/memcpy.s,
9653           device/lib/z180/memcpy.s,
9654           device/lib/z80/memcpy.s,
9655           device/lib/z80n/memcpy.s,
9656           support/regression/tests/memory.c:
9657           Fix invalid return value of memcpy implementation for Z80.
9659 2020-07-21 Sergey Belyashov <sergey.belyashov@gmail.com>
9661         * src/SDCCpeeph.c:
9662           Fix possible ready beyond a buffer in canJoinRegs constraint.
9664 2020-07-21 Philipp Klaus Krause <pkk AT spth.de>
9666         * src/SDCCpeeph.c:
9667           Sanity checks for sscanf arguments.
9669 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9671         * device/lib/ez80_z80/Makefile.in,
9672           device/lib/ez80_z80/__itoa.s,
9673           device/lib/ez80_z80/__ltoa.s,
9674           device/lib/ez80_z80/__strreverse.s,
9675           device/lib/ez80_z80/__uitobcd.s,
9676           device/lib/ez80_z80/__ultobcd.s:
9677           Fix Bug #3077 for eZ80_Z80 port
9678         * device/lib/z180/Makefile.in,
9679           device/lib/z180/__itoa.s,
9680           device/lib/z180/__ltoa.s,
9681           device/lib/z180/__strreverse.s,
9682           device/lib/z180/__uitobcd.s,
9683           device/lib/z180/__ultobcd.s:
9684           Fix Bug #3077 for Z180 port
9685         * device/lib/z80n/Makefile.in,
9686           device/lib/z80n/__itoa.s,
9687           device/lib/z80n/__ltoa.s,
9688           device/lib/z80n/__strreverse.s,
9689           device/lib/z80n/__uitobcd.s,
9690           device/lib/z80n/__ultobcd.s:
9691           Fix Bug #3077 for Z80N port
9693 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9695         * src/z80/peeph-ez80_z80.def:
9696           Fix ez80 peephole rules 9hl and 9de.
9698 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9700         * support/makebin/makebin.c:
9701           Fix compiler warning.
9703 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9705         * src/z80/peeph-ez80_z80.def,
9706           src/z80/peeph.def:
9707           New useful peephole rules for Z80-like targets.
9709 2020-07-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9711         * support/support/makebin.c:
9712           Add virtual address translation for gbz80 ROMs.
9713           This is a workaround for #115.
9716 2020-07-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9718         * support/support/makebin.c:
9719           Support IHX record type 0x04 introduced in [r11746].
9720           This is needed for #115.
9722 2020-07-19 Philipp Klaus Krause <pkk AT spth.de>
9724         * src/z80/ralloc2.cc,
9725           src/z80/gen.c,
9726           src/z80/peeph-ez80_z80.def:
9727           Improve use of hl in z80 (and related) register allocation.
9729 2020-07-18 Maarten Brock <sourceforge.brock AT dse.nl>
9731         * sdas/asgb/gbmch.c (minit),
9732         * sdas/asz80/z80mch.c (minit): set address space to 24 bit
9733         * sdas/linksrc/lkdata.c,
9734         * sdas/linksrc/aslink.h: removed packflag
9735         * sdas/linksrc/lkmain.c: removed packflag and warn on removed -Y option
9736         * src/ds390/main.c,
9737         * src/mcs51/main.c: removed --pack-iram, --no-pack-iram
9738         * src/SDCCglobl.h,
9739         * src/SDCCmain.c: removed options.no_pack_iram, no -Y output,
9740           auto-define __SDCC_OPTIMIZE_SPEED or __SDCC_OPTIMIZE_SIZE when appropriate
9741           (thanks Basil Hussain, RFE 675)
9743 2020-07-18 Philipp Klaus Krause <pkk AT spth.de>
9745         * src/z80/ralloc2.cc,
9746           src/z80/gen.c:
9747           Enable use of hl in gbz80 register allocation.
9749 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9751         * src/z80/main.c,
9752           src/z80/z80.h,
9753           src/z80/gen.c,
9754           src/z80/ralloc.c,
9755           src/z80/ralloc2.cc:
9756           Enable some use of hl in gbz80 register allocation.
9758 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9760         * src/z80/ralloc2.cc,
9761           support/regression/tests/bug-3087.c,
9762           src/z80/gen.c:
9763           Fix bug #3087, implement part of RFE #691.
9765 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9767         * device/lib/ez80_z80/memcpy.s,
9768           device/lib/ez80_z80/Makefile.in,
9769           device/lib/gbz80/memcpy.s,
9770           device/lib/gbz80/Makefile.in,
9771           device/lib/z180/memcpy.s,
9772           device/lib/z180/Makefile.in,
9773           device/lib/z80n/memcpy.s,
9774           device/lib/z80n/Makefile.in:
9775           Implement RFE #664 for ez80_z80, GBZ80, Z180 and Z80N ports
9777 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9779         * src/z80/gen.c:
9780           Implement RFE #636: optimize stack allocation for eZ80
9782 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9784         * src/SDCCval.c:
9785           Revert unnecessary change.
9787 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9789         * device/lib/z80/Makefile.in,
9790           device/lib/z80/__sdcc_bcall.s,
9791           src/SDCCval.c,
9792           src/z80/gen.c,
9793           src/z80/main.c,
9794           src/z80/peep.c,
9795           src/z80/z80.h:
9796           Initial implementation of RFE #152 for Z80 port.
9798 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9800         * src/pdk/gen.c,
9801           support/regression/tests/bug-3085.c:
9802           Fix bug #3085.
9804 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9806         * src/pdk/gen.c,
9807           support/regression/tests/bug-3080.c:
9808           Fix bug #3080.
9810 2020-07-16 Philipp Klaus Krause <pkk AT spth.de>
9812         * device/include/stdlib.h,
9813           device/lib/__itoa.c,
9814           device/lib/__ltoa.c,
9815           device/lib/Makefile.in,
9816           device/lib/*/Makefile.in,
9817           device/lib/printfl.c,
9818           device/lib/z80/__itoa.s,
9819           device/lib/z80/__ltoa.s,
9820           doc/sdccman.lyx,
9821           support/regression/tests/itoa.c,
9822           support/regression/tests/ltoa.c,
9823           .version:
9824           Fix remaining part of bug #3077.
9825         * src/stm8/peeph.def:
9826           Bit testing jump inversion rules, picked from patch by Basil Hussain.
9828 2020-07-16 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9830         * src/z80/peeph-gbz80.def,
9831           src/z80/peeph-r2k.def,
9832           src/z80/peeph-tlcs90.def,
9833           src/z80/peeph-z80.def,
9834           src/z80/peeph.def:
9835           Merge common peep hole rules for Z80 family.
9837 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9839         * src/z80/gen.c,
9840           src/z80/main.c,
9841           src/z80/z80.h:
9842           Revert changes in banked_call parameters.
9844 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9846         * src/SDCCasm.c,
9847           src/SDCCglue.c,
9848           src/z80/gen.c,
9849           src/z80/main.c:
9850           Add generation of function bank symbol.
9851           Initial implementation of RFE #152
9853 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9855         * device/lib/z80/memcpy.s:
9856           Small optimization
9858 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9860         * device/lib/z80/__uitobcd.s,
9861           device/lib/z80/__ultobcd.s,
9862           support/regression/tests/uitobcd.c,
9863           support/regression/tests/ultobcd.c:
9864           Add functions ___uitobcd() and ___ultobcd()
9865         * device/lib/z80/__strreverse.s:
9866           Add function ___strreverse() to reverse order of string
9867         * device/lib/z80/__itoa.s,
9868           device/lib/z80/__ltoa.s,
9869           device/lib/z80/Makefile.in:
9870           Fix Bug #3077 for Z80/Z80-resiy ports.
9872 2020-07-14 Sergey Belyashov <sergey.belyashov@gmail.com>
9874         * device/lib/z80/Makefile.in,
9875           device/lib/z80/memcpy.s:
9876           Implement RFE #664 for Z80 port.
9878 2020-07-14 Sergey Belyashov <sergey.belyashov@gmail.com>
9880         * device/lib/Makefile.in:
9881           Add lib file removing before creating new one to prevent merging
9882           Add device/lib/Makefile refreshing after changing Makefile.in
9884 2020-07-14 Sergey Belyashov <sergey.belyashov@gmail.com>
9886         * support/regression/tests/itoa.c,
9887           support/regression/tests/ltoa.c:
9888           Split itoa/ltoa tests on 5 parts. Possible workaround for Bug #3082.
9889           Add tests for uncommon radix.
9891 2020-07-10 Philipp Klaus Krause <pkk AT spth.de>
9893         * src/z80/gen.c,
9894           support/regression/tests/bug-3081.c:
9895           Fix bug #3081.
9897 2020-07-10 Sergey Belyashov <sergey.belyashov@gmail.com>
9899         * device/lib/_memmove.c:
9900           Small optimization of generic memmove() implementation
9902 2020-07-08 Sergey Belyashov <sergey.belyashov@gmail.com>
9904         * support/regression/tests/itoa.c:
9905           Add tests for _uitoa() and _itoa()
9906         * support/regression/tests/ltoa.c:
9907           Add tests for _ultoa() and _ltoa()
9909 2020-07-06 Sergey Belyashov <sergey.belyashov@gmail.com>
9911         * src/SDCCpeeph.c,
9912           src/ds390/main.c,
9913           src/mcs51/main.c,
9914           src/pdk/main.c,
9915           src/stm8/main.c,
9916           src/port.h,
9917           src/z80/main.c,
9918           src/z80/peep.c,
9919           src/z80/peep.h,
9920           src/z80/peeph-z80.def:
9921           Implement RFE #683: Add canSplitReg peephole constraint
9923 2020-07-06 Philipp Klaus Krause <pkk AT spth.de>
9925         * support/regression/tests/memory.c:
9926           Document some design choices in memory function tests.
9928 2020-07-05 Philipp Klaus Krause <pkk AT spth.de>
9930         * src/z80/gen.c,
9931           support/regression/tests/bug-3079.c:
9932           Fix bug #3079.
9934 2020-07-04 Sergey Belyashov <sergey.belyashov@gmail.com>
9935         * src/SDCCpeeph.c:
9936           Implement RFE #661: Add newLabel peephole optimizer constraint
9938 2020-07-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9940         * src/SDCCpeeph.c,
9941           src/port.h,
9942           src/z80/peep.c,
9943           src/z80/peep.h:
9944           Add 'unordered' support to canJoinRegs peephole constraint
9946 2020-07-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9948         * src/SDCCpeeph.c,
9949           src/z80/peeph-z80.def:
9950           Implement RFE #684
9952 2020-07-02 Philipp Klaus Krause <pkk AT spth.de>
9954         * src/pdk/gen.c,
9955           src/pdk/ralloc.c:
9956           Improve __sfr ^ with literal.
9958 2020-07-02 Philipp Klaus Krause <pkk AT spth.de>
9960         * src/z80/gen.c:
9961           Use rlca instead of rlc a, RFE #686.
9962         * src/pdk/gen.c:
9963           Improve read from literal pointer.
9964         * src/SDCCopt.c:
9965           Fix bug #3075.
9966         * src/pdk/ralloc.c:
9967           Improve bit set/reset for I/O.
9969 2020-07-01 Philipp Klaus Krause <pkk AT spth.de>
9971         * src/pdk/gen.c,
9972           support/regression/tests/bug-3040.c:
9973           Fix code generation for pdk additive operators with two block-scope const static operands.
9975 2020-06-30 Sergey Belyashov <sergey.belyashov@gmail.com>
9977         * src/SDCCpeeph.c,
9978           src/ds390/main.c,
9979           src/mcs51/main.c,
9980           src/pdk/main.c,
9981           src/port.h,
9982           src/stm8/main.c,
9983           src/z80/main.c,
9984           src/z80/peep.c,
9985           src/z80/peep.h,
9986           src/z80/peeph-ez80_z80.def:
9987           Partially implement RFE #683: Support canJoinRegs peephole constraint
9989 2020-06-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9991         * debugger/mcs51/Makefile.in: include dependancy on dbuf*
9993 2020-06-29 Sergey Belyashov <sergey.belyashov@gmail.com>
9995         * src/z80/main.c,
9996           src/z80/peeph-ez80_z80.def,
9997           src/z80/peeph-z80n.def:
9998           Implement RFE #632: Add separate peephole definition files for eZ80 and Z80N
10000 2020-06-28 Philipp Klaus Krause <pkk AT spth.de>
10002         * src/SDCCpeeph.c:
10003           Fix notSimilar(), patch #332 by Baŝto.
10005 2020-06-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10007         * sdas/asxxsrc/asdbg.c (BaseFileName): Possible fix for bug #3068
10009 2020-06-25 Philipp Klaus Krause <pkk AT spth.de>
10011         * src/z80/peep.c,
10012           src/z80/main.c:
10013           instructionSize peephole support for gbz80, patch by Baŝto.
10015 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10017         * src/z80/gen.c,
10018           support/regression/tests/bug-3066.c:
10019           Fix bug #3066.
10020         * src/pdk/gen.c,
10021           support/regression/tests/bug-3065.c:
10022           Fix bug #3065.
10024 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10026         * src/z80/peep.c,
10027           src/z80/peeph-gbz80.def:
10028           Support for sp in notUsed for gbz80, patch #326 by Baŝto.
10029         * src/z80/gen.c:
10030           Use tlcs90 (sp) adressing mode.
10031         * src/z80/peep.c,
10032           src/z80/main.c:
10033           notUsed() for gbz80 with flag support, from patch by Baŝto.
10035 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10037         * src/z80/peeph-gbz80.def:
10038           Rename operation in immdInRange rule to prepare for further patches, patch by Baŝto.
10039         * src/SDCCpeeph.c:
10040           Allow bitwise operation in immdInRange, patch by Baŝto.
10041         * device/lib/stm8-large/*
10042           Use optimized support routines for large memory model, patch by Basil Hussain.
10044 2020-06-21 Philipp Klaus Krause <pkk AT spth.de>
10046         * src/z80/gen.c:
10047           Fix bug #3064.
10049 2020-06-20 Erik Petrich <epetrich AT ivorytower.normna.ok.us>
10051         * src/pdk/gen.c (cheapMove, aopOp): Fix bug #3038
10052         * src/SDCCast.c (expandInlineFuncs): Fix bug #3029
10054 2020-06-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10056         * support/regression/tests/bug-3056.c,
10057           src/SDCCsymt.c: Fix bug #3056 for pdk too
10058         * src/SDCCsymt.c: Fix bugs #3059, #3049, #3047 (same cause)
10060 2020-06-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10062         * src/SDCCmem.c,
10063           src/pic16/main.c: Fix bug #3056
10064         * src/pic16/gen.c: Fix bug #3057
10066 2020-06-16 Philipp Klaus Krause <pkk AT spth.de>
10068         * support/regression/tests/bug-2368.c:
10069           Fix bug #3063.
10070         * src/z80/gen.c,
10071           src/z80/main.c:
10072           Fix bug #3055.
10073         * src/SDCCerr.h,
10074           src/SDCCerr.c,
10075           src/stm8/gen.c:
10076           Fix bug #3044.
10078 2020-06-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10080         * src/hc08/ralloc.c: Fix bug #3061
10081         * src/SDCCcse.c (algebraicOpts): Fix bug #3062
10083 2020-06-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10085         * src/SDCCicode.c (geniCodeJumpTable): Fix bug #3034
10086         * src/SDCCerr.c (vwerror),
10087           src/SDCCerr.h: Suppress duplicate diagnostic messages
10089 2020-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10091         * src/SDCClrange.c: Fix rest of bug #3045
10093 2020-06-13 Philipp Klaus Krause <pkk AT spth.de>
10095         * src/pdk/main.c,
10096           src/stm8/main.c:
10097           Fix bug #2944.
10099 2020-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10101         * src/SDCClrange.c,
10102           src/SDCCopt.c: Fix bug #3045 and #3046
10103         * src/ds390/ralloc.c: Don't assume operand is symbol
10105 2020-06-13 Philipp Klaus Krause <pkk AT spth.de>
10107         * src/SDCCpeeph.c:
10108           isPort: Implement RFE #679 via patch #372 by Basil Hussain.
10110 2020-06-12 Philipp Klaus Krause <pkk AT spth.de>
10112         * src/SDCCast.c,
10113           src/SDCCerr.c,
10114           src/SDCCerr.h,
10115           src/pdk/gen.c,
10116           src/stm8/gen.c,
10117           support/regression/tests/bug-3043.c,
10118           support/valdiag/tests/bug-3043.c:
10119           Fix bug #3043.
10121 2020-06-09 Philipp Klaus Krause <pkk AT spth.de>
10123         * src/SDCCmain.c:
10124           Fix bug #3033.
10126 2020-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10128         * src/SDCCloop.c (basicInduction): Fix bug #3022
10130 2020-06-08 Philipp Klaus Krause <pkk AT spth.de>
10132         * src/z80/gen.c:
10133           Disable use of z80n push nn until bug #3032 is fixed.
10134         * device/lib/ez80_z80/README,
10135           device/lib/ez80_z80/crt0.s,
10136           device/lib/ez80_z80/setjmp.s,
10137           device/lib/z180/crt0.s,
10138           device/lib/z80/crt0.s:
10139           eZ80 setjmp/longjmp improvement, patch by b-s-a.
10141 2020-06-08 Philipp Klaus Krause <pkk AT spth.de>
10143         * support/regression/ports/ucz80n,
10144           support/regression/Makefile.in,
10145           support/regression/fwk/include/testfwk.h:
10146           z80n regression testing infrastructure.
10147         * device/include/stdatomic.h,
10148           device/lib/atomic_flag_clear.c,
10149           device/lib/z80n/Makefile.in:
10150           atomic_flag for z80n.
10151         * src/SDCCglue.c:
10152           Fix __sfr handling for z80n.
10153         * src/z80/gen.c:
10154           Fix z80n immediate push, use pop / push for z80n like for z80.
10156 2020-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10158         * src/SDCCopt.c (optimizeOpWidth),
10159           src/SDCCloop.c (loopInduction): Fix bug #3027
10160         * support/regression/tests/bug-3027: Add test
10162 2020-06-07 Philipp Klaus Krause <pkk AT spth.de>
10164         * src/z80/peep.c,
10165           src/z80/peeph-gbz80.def:
10166           Improve z80 peephole functions, patch by Baŝto.
10167         * device/include/mcs51/stc89.h:
10168           STC89 header, patch by Diego Elio Pettenò.
10170 2020-06-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10172         * src/hc08/gen.c (genAddrOf): Make better use of HX
10174 2020-06-05 Philipp Klaus Krause <pkk AT spth.de>
10176         * src/SDCC.y,
10177           support/valdiag/tests/bug-3011.c:
10178           Fix bug #3011.
10180 2020-06-05 Philipp Klaus Krause <pkk AT spth.de>
10182         * src/SDCC.y,
10183           support/valdiag/tests/bug-3014.c:
10184           Fix bug #3014.
10186 2020-06-04 Philipp Klaus Krause <pkk AT spth.de>
10188         * src/z80/main.c,
10189           src/z80/peep.c,
10190           src/z80/peeph-gbz80.def:
10191           notUsed for gbz80, patch by Baŝto.
10193 2020-06-03 Philipp Klaus Krause <pkk AT spth.de>
10195         * src/SDCCast.c:
10196           Fix bug #3006, patch by Roy Rankin.
10198 2020-06-03 Philipp Klaus Krause <pkk AT spth.de>
10200         * src/SDCCmem.c,
10201           src/SDCCast.c,
10202           support/valdiag/tests/bug-3010.c:
10203           Fix bug #3010.
10204         * src/SDCC.y,
10205           support/valdiag/tests/bug-3009.c:
10206           Fix bug #3009.
10207         * src/stm8/gen.c:
10208           Improve assignment from 8-bit I/O to file-scope and static objects.
10210 2020-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
10212         * src/mcs51/peeph.def: added rule 302
10214 2020-05-30 Maarten Brock <sourceforge.brock AT dse.nl>
10216         * src/mcs51/ralloc.c (getRegBitTry): reverted to getRegBit
10217           (serialRegAssign): prefer to spil bit over using register
10218           (fillGaps): bug fix, do not change reg_type
10220 2020-05-29 Philipp Klaus Krause <pkk AT spth.de>
10222         * src/pdk/gen.c:
10223           Improve comparison with 0xff.
10225 2020-05-29 Philipp Klaus Krause <pkk AT spth.de>
10227         * src/pdk/ralloc2.cc,
10228           src/pdk/gen.c,
10229           support/regression/tests/bug-3007.c:
10230           Improve jump-on-decrement.
10232 2020-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
10234         * device/lib/hc08/atomic_flag_test_and_set.c: fix warning
10235         * device/lib/s08/atomic_flag_test_and_set.c: fix warning
10237 2020-05-28 Philipp Klaus Krause <pkk AT spth.de>
10239         * src/pdk/ralloc2.cc,
10240           src/pdk/gen.c,
10241           support/regression/tests/bug-3007.c:
10242           Fix bug #3007.
10244 2020-05-28 Maarten Brock <sourceforge.brock AT dse.nl>
10246         * src/SDCCcse.c (ifxOptimize): do not replace condition after '-' so
10247           djnz and alike can be generated
10248         * src/mcs51/gen.c (aopOp, aopGet, aopPut, outBitC): bugfix, fill
10249           aop_dir with "c" for ru_only and acc_use AOP_CRY
10250           (genCmp): fixed warning
10251         * src/SDCCsymt.h: removed unused printSymChain, printStruct
10252         * src/hc08/gen.c (genAddrOf): increased buffer to fix warning
10254 2020-05-25 Philipp Klaus Krause <pkk AT spth.de>
10256         * src/stm8/gen.c:
10257           Improve stack operand range assertion.
10259 2020-05-24 Philipp Klaus Krause <pkk AT spth.de>
10261         * device/lib/pdk13/Makefile.in,
10262           device/lib/pdk13/__gptrget2.s,
10263           device/lib/pdk13/__setjmp.s:
10264           Fix missing asm support functions for pdk13.
10265         * Makefile.common.in,
10266           Makefile.in,
10267           configure.ac,
10268           configure,
10269           sdccconf_in.h:
10270           Fix --disable-z80n-port configure option.
10272 2020-05-23 Philipp Klaus Krause <pkk AT spth.de>
10274         * src/stm8/gen.c:
10275           Stack operand range assertion.
10277 2020-05-23 Maarten Brock <sourceforge.brock AT dse.nl>
10279         * src/SDCCsymt.c (addDecl): removed fix for bug 1253, no longer required
10280         * support/regression/tests/bug1253.c: new, added
10282 2020-05-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10284         * src/SDCCicode.c (operandFromSymbol),
10285           src/SDCCmem.c (allocLocal): fix bug #3003
10286         * support/regression/tests/bug-3003.c: enable test
10288 2020-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10290         * src/SDCCicode.c,
10291           src/SDCCicode.h: new support functions for updating operands
10292                            and their def/use
10293         * src/SDCCopt.c: final fixes for bug #2828
10295 2020-05-21 Philipp Klaus Krause <pkk AT spth.de>
10297         * support/regression/tests/bug-3003.c:
10298           Regression test for bug #3003 (disabled until bug is fixed).
10300 2020-05-19 Philipp Klaus Krause <pkk AT spth.de>
10302         * device/include/iso646.h,
10303           support/regression/tests/iso646.c:
10304           Fix compl macro.
10306 2020-05-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10308         * src/SDCCicode.c: Fix bug #2827
10310 2020-05-18 Philipp Klaus Krause <pkk AT spth.de>
10312         * src/SDCCBBlock.c,
10313           src/SDCCerr.c,
10314           src/SDCCerr.h,
10315           src/SDCCglobl.h,
10316           src/SDCCglue.c,
10317           src/SDCCmain.c,
10318           src/pic14/glue.c,
10319           src/pic14/pcode.c,
10320           src/pic14/ralloc.c,
10321           src/pic16/glue.c,
10322           src/pic16/pcode.c,
10323           src/pic16/ralloc.c,
10324           src/z80/main.c:
10325           Improve file open error messages (patch by jbit).
10327 2020-05-17 Philipp Klaus Krause <pkk AT spth.de>
10329         * doc/sdccman.lyx:
10330           Fix link to wiki (was still pointing at previous, no-longer-existing wiki).
10332 2020-05-15 Philipp Klaus Krause <pkk AT spth.de>
10334         * src/stm8/gen.c,
10335           support/regression/tests/bug-3002.c:
10336           Fix bug #3002.
10337         * device/lib/*/Makefile.in:
10338           Compile libraries with --max-allocs-per-node 25000 for more optimization.
10340 2020-05-11 Philipp Klaus Krause <pkk AT spth.de>
10342         * support/regression/tests/wchar.c:
10343           Fix bug #2572
10345 2020-05-11 Maarten Brock <sourceforge.brock AT dse.nl>
10347         * support/regression/tests/wchar.c: fix bug #2572
10349 2020-05-10 Philipp Klaus Krause <pkk AT spth.de>
10351         * src/SDCC.y,
10352           src/SDCCerr.h,
10353           src/SDCCerr.c,
10354           support/valdiag/tests/enum.c,
10355           support/regression/tests/enum.c:
10356           Fix handling of trailing comma after enumerator list.
10358 2020-05-10 Philipp Klaus Krause <pkk AT spth.de>
10360         * support/scripts/sdcc.nsi:
10361           Fix bug #2972 for tlcs90.
10362         * support/valdiag/Makefile.in:
10363           Fix bug #2971.
10364         * src/SDCC.y,
10365           src/SDCCerr.h,
10366           src/SDCCerr.c:
10367           Align grammar more closely with C2X draft N2479.
10369 2020-05-07 Philipp Klaus Krause <pkk AT spth.de>
10371         * src/z80/gen.c:
10372           Fix bug #3001.
10374 2020-05-05 Philipp Klaus Krause <pkk AT spth.de>
10376         * sdas/asz80/z80.h,
10377           sdas/asz80/z80mch.c,
10378           sdas/asz80/z80pst.c:
10379           Remove Z80N MMU instruction support.
10381 2020-05-04 Philipp Klaus Krause <pkk AT spth.de>
10383         * src/z80/gen.c,
10384           src/z80/peep.c:
10385           Implement RFE #676.
10386         * device/lib/pic16/libc/stdlib/g_ftoa.S,
10387           device/lib/pic16/libc/utils/cvtdec.S:
10388           Fix bug #3000 (patch by Roy Rankin).
10390 2020-05-03 Philipp Klaus Krause <pkk AT spth.de>
10392         * sdas/asz80/z80mch.c,
10393           src/z80/gen.c,
10394           src/z80/peep.c:
10395           Support Z80N mlt and swap instructions, part of RFE #573, #656.
10397 2020-05-03 Philipp Klaus Krause <pkk AT spth.de>
10399         * src/z80/gen.c:
10400           Improve stack parameter pushing, overlaps with RFE #676.
10402 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10404         * src/z80/gen.c:
10405           Fix a bug in pushing on-stack-parameters on r2k.
10407 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10409         * src/z80/gen.c,
10410           src/z80/ralloc2.cc:
10411           Improve ifx on 8-bit value (remaining part of RFE #668).
10413 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10415         * Merge z80n branch.
10417 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10419         * support/regression/tests/gcc-torture-execute-pr88714.c:
10420           Bug #2949 wasn't a bug, just lack of RAM resulting in a stack overflow.
10422 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10424         * src/pdk/gen.c:
10425           Improve pointer write on rematerialized stack location.
10427 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10429         * src/pdk/gen.c,
10430           support/regression/tests/gcc-torture-execute-950511-1.c:
10431           Fix bug #2938.
10433 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10435         * src/pdk/gen.c:
10436           Improve pointer read on rematerialized stack location.
10438 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10440         * src/pdk/gen.c,
10441           support/regression/tests/gcc-torture-execute-20000113-1.c:
10442           Fix bug #2937.
10444 2020-04-26 Philipp Klaus Krause <pkk AT spth.de>
10446         * support/regression/tests/bug-2995.c:
10447           Disable test for mcs51, pdk until I find out how to place space_a segment in RAM in a regression test.
10449 2020-04-25 Philipp Klaus Krause <pkk AT spth.de>
10451         * .version:
10452           Bump version post 4.0.0-release.
10453         * src/SDCCsymt.c,
10454           src/SDCCopt.c,
10455           src/SDCCmem.c,
10456           support/regression/tests/bug-2995.c:
10457           Fix bug #2995.
10459 2020-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10461         * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
10462           Check for either __PPC__ or __POWERPC__
10464 2020-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10466         * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
10467           Disable test for GCC on PPC instead of clang
10469 2020-04-21 Philipp Klaus Krause <pkk AT spth.de>
10471         * support/regression/tests/bug-2993.c:
10472           Disable test for mcs51-huge (bug #2994).
10473         * support/regression/tests/callee_saves.c:
10474           Fix macro spelling to enable for mcs51.
10476 2020-04-15 Philipp Klaus Krause <pkk AT spth.de>
10478         * src/stm8/gen.c,
10479           support/regression/tests/bug-2993.c:
10480           Fix bug #2993.
10482 2020-04-11 Philipp Klaus Krause <pkk AT spth.de>
10484         * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
10485           Disable test for clang, since older clang is known to fail it (resulting in false macOS regression test failures).
10486         * src/SDCCast.c,
10487           src/SDCCicode.c:
10488           Simplify code removing obstacles for struct parameter support.
10490 2020-04-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10492         * sim/ucsim/z80.src/ez80.cc: change int8_t to i8_t
10494 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
10496         * src/pdk/gen.c,
10497           support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10498           Fix bug #2992.
10500 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
10502         * src/stm8/gen.c,
10503           support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10504           Fix bug #2989.
10506 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
10508         * src/pdk/gen.c,
10509           support/regression/tests/mm-pnvi-ae-udi-pointer_offset_from_int_subtraction_auto_xy.c,
10510           support/regression/tests/mm-pnvi-ae-udi-pointer_offset_from_int_subtraction_auto_yx.c,
10511           support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10512           Fix bug #2990.
10514 2020-04-03 Philipp Klaus Krause <pkk AT spth.de>
10516         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_2.c,
10517           support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_2_xy.c:
10518           Fix bug #2991.
10520 2020-04-03 Philipp Klaus Krause <pkk AT spth.de>
10522         * support/regression/tests/mm-pnvi-ae-udi-*:
10523           Memory model tests, RFE #672.
10525 2020-03-31 Philipp Klaus Krause <pkk AT spth.de>
10527         * device/lib/realloc.c:
10528           Document some realloc details.
10530 2020-03-22 Philipp Klaus Krause <pkk AT spth.de>
10532         * src/stm8/gen.c,
10533           support/regression/tests/gcc-torture-execute-strlen-4.c:
10534           Fix stm8-specific aspect of bug #2987.
10536 2020-03-22 Philipp Klaus Krause <pkk AT spth.de>
10538         * src/SDCCast.c,
10539           support/valdiag/Makefile.in,
10540           support/valdiag/valdiag.py,
10541           support/valdiag/tests/bug-2984.c:
10542           Fix bug #2984, enable valdiag tests for pdk13 and pdk14.
10543         * support/regression/tests/gcc-torture-execute-strlen-4.c:
10544           Partially enable a test that now compiles.
10546 2020-03-12 Philipp Klaus Krause <pkk AT spth.de>
10548         * src/SDCCsymt.c,
10549           support/regression/tests/bug-2817.c,
10550           support/regression/tests/bug-2973.c:
10551           Fix bugs #2817 and #2973, patches by Thomas.
10553 2020-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10555         * device/lib/hc08/Makefile.in,
10556         * device/lib/s08/Makefile.in: add atomic_flag_clear.c
10558 2020-03-09 Philipp Klaus Krause <pkk AT spth.de>
10560         * device/include/stdatomic.h,
10561           device/lib/atomic_flag_clear.c,
10562           device/lib/*/atomic_flag_test_and_set.s,
10563           device/lib/*/Makfeile.in,
10564           support/regression/tests/atomic.c:
10565           Basic atomic_flag support.
10567 2020-03-06 Philipp Klaus Krause <pkk AT spth.de>
10569         * src/z80/peep.c,
10570           support/regression/tests/bug-2982.c:
10571           Fix bug #2982.
10572         * src/z80/gen.c:
10573           Improve code generation for 16-bit addition with literal.
10575 2020-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10577         * src/mcs51/gen.c,
10578         * src/ds390/gen.c: fixed bug #2980
10580 2020-02-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10582         * src/z80/peeph-z80.def,
10583           src/z80/peeph-r2k.def:
10584           Improve flexibility of some peephole rules.
10586 2020-02-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10588         * src/z80/peeph-z80.def:
10589           Additional z80 peephole rules picked from patch #314 by b-s-a.
10591 2020-02-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10593         * src/SDCCopt.c,
10594           src/z80/gen.c:
10595           Allow non-literal third argument for ldir-memcpy().
10597 2020-02-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10599         * src/z80/gen.c:
10600           Use macros for immediate data to improve assembler portability, patch #315 by b-s-a.
10602 2020-02-09 Philipp Klaus Krause <pkk AT spth.de>
10604         * src/z80/peeph-gbz80.def:
10605           Fix bug #2974.
10607 2020-01-23 Philipp Klaus Krause <pkk AT spth.de>
10609         * sdas/linksrc/Makefile.in:
10610           Fix bug #2969.
10612 2020-01-22 Philipp Klaus Krause <pkk AT spth.de>
10614         * src/z80/gen.c:
10615           Fix bug #2967.
10617 2020-01-19 Philipp Klaus Krause <pkk AT spth.de>
10619         * doc/sdccman.lyx:
10620           Fix a typo in documentation.
10622 2020-01-18 Philipp Klaus Krause <pkk AT spth.de>
10624         * doc/sdccman.lyx:
10625           Update manual.
10626         * .version,
10627           doc/INSTALL.txt,
10628           sdcc.spec:
10629           Bump version in preparation of 4.0.0 release.
10631 2020-01-14 Philipp Klaus Krause <pkk AT spth.de>
10633         * src/z80/peep.c,
10634           support/regression/tests/bug-2966.c:
10635           Fix bug #2966.
10637 2020-01-14 Benedikt Freisen <b.freisen AT gmx.net>
10639         * src/SDCCglue.c,
10640           support/regression/tests/fptr_cast_array_init.c:
10641           Implement feature request #598 (Cannot initialize arrays with type cast function pointers).
10643 2020-01-13 Benedikt Freisen <b.freisen AT gmx.net>
10645         * src/SDCCast.c,
10646           support/regression/tests/bug-2859.c,
10647           support/valdiag/tests/bug-2859.c:
10648           Fix bug #2859 (Cannot compare function to 0)
10650 2020-01-13 Benedikt Freisen <b.freisen AT gmx.net>
10652         * src/SDCC.y,
10653           src/SDCCerr.c,
10654           src/SDCCerr.h: Add parser rules and an error message for compound literals.
10656 2020-01-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10658         * configure.ac,
10659           configure,
10660           src/SDCC.lex: Gracefully handle when uchar.h is missing
10662 2020-01-10 Benedikt Freisen <b.freisen AT gmx.net>
10664         * sdas/asxxsrc/asdata.c,
10665           sdas/asxxsrc/aslex.c,
10666           sdas/asxxsrc/asxxxx.h,
10667           sdas/linksrc/aslink.h,
10668           sdas/linksrc/lkdata.c,
10669           sdas/linksrc/lklex.c:
10670           Make the character input routines in sdas and sdld 8-bit-safe (bug #2961) and interpret all extended ASCII characters as letters.
10671         * src/SDCC.lex,
10672           src/SDCCutil.c,
10673           support/regression/tests/idf_ucn_utf8.c:
10674           Add compiler support for UCNs and non-ASCII-utf8 in identifiers (patch #311) -- the internal representation is utf8.
10676 2020-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10678         * src/hc08/gen.c,
10679           support/regression/tests/bug-2825.c:
10680           Fix bug #2825.
10681         * support/regression/tests/gcc-torture-execute-20040409-1.c,
10682           support/regression/tests/gcc-torture-execute-20040409-2.c,
10683           support/regression/tests/gcc-torture-execute-20040409-3.c:
10684           Remove some tests that depend on older GCC implementation-defined behaviour on signed int overflow.
10686 2020-01-08 Philipp Klaus Krause <pkk AT spth.de>
10688         * src/stm8/gen.c,
10689           support/regression/tests/bug-2964.c:
10690           Fix bug #2964.
10692 2019-12-29 Philipp Klaus Krause <pkk AT spth.de>
10694         * src/stm8/ralloc2.cc,
10695           src/stm8/gen.c,
10696           src/SDCCsymt.c:
10697           Reenable partial register allocation for stm8, that was accidentially partially disabled when enabling the new stack allocator.
10699 2019-12-15 Philipp Klaus Krause <pkk AT spth.de>
10701         * src/z80/gen.c:
10702           Use add dd, a for z80n.
10703         * support/scripts/sdcc.nsi:
10704           Include z80n library in Windows installer.
10706 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10708         * src/z80/gen.c:
10709           Enable use of rld and rrd for z80n.
10711 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10713         * src/z80/gen.c:
10714           Use tst a, n for z80n.
10716 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10718         * src/z80/gen.c:
10719           Revive non-destructive &.
10721 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10723         * src/z80/gen.c,
10724           src/z80/peep.c:
10725           Use add dd, nn for z80n.
10727 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10729         * src/z80/gen.c,
10730           src/z80/ralloc2.cc:
10731           Use push nn for z80n.
10733 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10735         * sdas/asrab/rabmch.c:
10736           Fix ex (sp), hl for Rabbits.
10737         * src/z80/gen.c:
10738           Fix an issue in eZ80 pointer read.
10740 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10742         * configure,
10743           configure.ac,
10744           device/lib/Makefile.in,
10745           device/lib/clean.mk,
10746           device/lib/z80n/Makefile.in,
10747           sdcc.spec,
10748           src/SDCCgue.c,
10749           src/SDCCmain.c,
10750           src/SDCCopt.c,
10751           src/port.h,
10752           src/z80/gen.c,
10753           src/z80/main.c,
10754           src/z80/z80.h,
10755           device/include/*,
10756           device/lib/z80n:
10757           Infrastructure for z80n backend.
10759 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10761         * src/SDCCopt.c,
10762           support/regression/tests/bug-2932.c:
10763           Fix bug #2932.
10765 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10767         * src/SDCCopt.c,
10768           support/regression/tests/bug-2932.c:
10769           Fix bug #2932.
10771 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10773         * src/z80/gen.c,
10774           src/z80/ralloc2.cc,
10775           src/z80/main.c:
10776           Improve use of sbc hl, rr in comparisons, part of RFE #641.
10778 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10780         * src/z80/gen.c,
10781           src/z80/ralloc2.cc:
10782           Improve <<, part of RFE #639.
10784 2019-12-10 Philipp Klaus Krause <pkk AT spth.de>
10786         * support/regression/tests/literalop.c:
10787           Avoid testing for undefined behaviour that happens to be implementation-defined in GCC, but not clang.
10789 2019-12-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10791         * src/SDCClospre.cc:
10792           Improve handling of ADDRESS_OF.
10793         * support/regression/tests/bug-2957.c:
10794           Test for bug #2957.
10795         * src/pdk/gen.c,
10796           support/regression/tests/bug-2959.c,
10797           support/regression/tests/bug-2958.c:
10798           Fix bugs #2959, #2958.
10800 2019-12-02 Philipp Klaus Krause <pkk AT spth.de>
10802         * support/regression/tests/string.c:
10803           Make preprocessor guards compatible with default setting of clang-9.
10805 2019-11-28 Philipp Klaus Krause <pkk AT spth.de>
10807         * src/SDCClrange.c,
10808           support/regression/tests/bug-2956.c:
10809           Fix bug #2956.
10811 2019-11-22 Philipp Klaus Krause <pkk AT spth.de>
10813         * src/SDCC.y:
10814           Fix bug #2953.
10816 2019-11-21 Philipp Klaus Krause <pkk AT spth.de>
10818         * src/SDCC.y:
10819           Fix bug #2954.
10821 2019-11-21 Philipp Klaus Krause <pkk AT spth.de>
10823         * src/SDCC.y:
10824           Revert previous syntax error on multiple data types commit, since it broke __at (which in SDCC is a type specifier).
10826 2019-11-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10828         * src/SDCC.y:
10829           Allow C2X attribute declarations and attribute arguments.
10831 2019-11-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10833         * src/SDCC.y:
10834           Reorganize grammar by appendix A.2 of C2X.
10836 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10838         * src/SDCC.lex,
10839           src/SDCC.y,
10840           src/SDCCerr.h,
10841           src/SDCCerr.c:
10842           Allow C2X attributes on statements.
10844 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10846         * src/pdk/gen.c,
10847           support/regression/tests/gcc-torture-execute-20181120-1.c:
10848           Fix bug #2947.
10849         * src/SDCC.lex,
10850           support/regression/tests/c2xkeywords.c:
10851           Support C2X keyword from N2457.
10852         * support/regression/tests/gcc-torture-execute-pr47148.c,
10853           support/regression/tests/gcc-torture-execute-pr63659.c,
10854           support/regression/tests/gcc-torture-execute-pr64682.c:
10855           Enable some tests that depend on C99 features now supported by SDCC.
10857 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10859         * support/regression/tests/gcc-torture-execute-*:
10860           Add more GCC tests, RFE #652.
10862 2019-11-14 Philipp Klaus Krause <pkk AT spth.de>
10864         * src/z80/peeph-z80.def,
10865           src/z80/peeph-tlcs90.def,
10866           src/z80/peeph-r2k.def,
10867           src/z80/peeph-gbz80.def:
10868           Improve fix for bug #2914.
10870 2019-11-11 Philipp Klaus Krause <pkk AT spth.de>
10872         * src/SDCC.lex,
10873           src/SDCCval.c,
10874           src/SDCCerr.h,
10875           src/SDCCerr.c:
10876           C2X u8 character constants (N2418).
10878 2019-11-09 Philipp Klaus Krause <pkk AT spth.de>
10880         * src/SDCClospre.cc,
10881           support/regression/tests/bug-2942.c:
10882           Fix bug #2942.
10884 2019-11-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10886         * support/regression/ports/pdk15-stack-auto/spec.mk:
10887           Increase timeout for regression testing on ARMv6.
10889 2019-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10891         * src/SDCClrange.c:
10892           Allow more live-range shortening for stm8, pdk.
10894 2019-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10896         * src/stm8/gen.c:
10897           Improve wide & by small constants and register result.
10898         * src/SDCCsymt.c,
10899           src/SDCCerr.h,
10900           src/SDCCerr.c,
10901           support/valdiag/tests/bug-2940.c:
10902           Fix bug #2940.
10904 2019-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10906         * src/pdk/gen.c,
10907           src/stm8/gen.c,
10908           src/z80/gen.c:
10909           Fix a bug in optimization of tail calls in interrupt handlers.
10911 2019-11-02 Philipp Klaus Krause <pkk AT spth.de>
10913         * support/scripts/sdcc.nsi:
10914           Fix Windows installation of pdk13 and pdk15-stack-auto files.
10916 2019-11-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10918         * support/sdbinutils/binutils/Makefile.am,
10919           support/sdbinutils/binutils/Makefile.in: prefer static linked libz
10920           for the Windows snapshot builds so that we don't need another DLL
10922 2019-11-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10924         * src/SDCCsymt.c,
10925           src/SDCCopt.c,
10926           support/regression/tests/bug-2907.c:
10927           Fix bug #2907.
10928         * support/regression/ports/pdk15-stack-auto/spec.mk:
10929           Increase timeout for regression testing on ARMv6.
10931 2019-10-25 Philipp Klaus Krause <pkk AT spth.de>
10933         * src/stm8/gen.c:
10934           Fix handling of rematerialized pointers to the stack in y.
10936 2019-10-24 Philipp Klaus Krause <pkk AT spth.de>
10938         * src/stm8/peeph.def,
10939           src/stm8/gen.c,
10940           src/stm8/ralloc.c:
10941           Various small improvements.
10943 2019-10-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10945         * src/stm8/gen.c,
10946           src/pdk/gen.c:
10947           Improve ! of bool.
10949 2019-10-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10951         * src/stm8/gen.c:
10952           Register shuffling fix, small | improvement.
10954 2019-10-21 Philipp Klaus Krause <pkk AT spth.de>
10956         * src/pdk/gen.c:
10957           Fix an issue in stack operands of shifts.
10958         * support/regression/tests/gcc-torture-execute-20000113-1.c,
10959           support/regression/tests/gcc-torture-execute-950511-1.c,
10960           support/regression/tests/gcc-torture-execute-pr42833.c:
10961           Disable tests failing due to known bugs.
10963 2019-10-16 Philipp Klaus Krause <pkk AT spth.de>
10965         * src/pdk/gen.c:
10966           Fix a typo that resulted in comp being emitted for pdk13.
10968 2019-10-19 Philipp Klaus Krause <pkk AT spth.de>
10970         * device/lib/pdk15-stack-auto/__setjmp.s:
10971           Fix bug #2934.
10972         * src/pdk/gen.c:
10973           Fix 3 issues in handling of non-dead p.
10975 2019-10-16 Philipp Klaus Krause <pkk AT spth.de>
10977         * src/pdk/gen.c:
10978           Use pdk15 comp.
10980 2019-10-15 Philipp Klaus Krause <pkk AT spth.de>
10982         * src/stm8/gen.c:
10983           Fix code generation for calls via function pointers.
10985 2019-10-14 Philipp Klaus Krause <pkk AT spth.de>
10987         * Merge pic14 branch.
10989 2019-10-13 Philipp Klaus Krause <pkk AT spth.de>
10991         * src/SDCCicode.h,
10992           src/SDCCicode.c,
10993           src/SDCCsalloc.hpp,
10994           src/stm8/gen.c,
10995           src/z80/gen.c,
10996           src/pdk/gen.c:
10997           Improve tail call optimization.
10999 2019-10-11 Philipp Klaus Krause <pkk AT spth.de>
11001         * src/SDCCsymt.h:
11002           Fix error message, patch #307 by RvS.
11003         * src/SDCCsymt.c:
11004           Indentation fix.
11006 2019-10-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11008         * src/pic14/glue.c:
11009           Improve compability with trunk, patches by Gonzalo Pérez de Olaguer Córdoba.
11011 2019-10-06 Philipp Klaus Krause <pkk AT spth.de>
11013         * sdas/aspdk15/pdk15pst.c:
11014           Fix swapc bug #2935.
11016 2019-10-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11018         * src/pdk/gen.c:
11019           Improve handling of stack operands in comparison.
11021 2019-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11023         * src/pdk/gen.c:
11024           Fixes and improvements for stack operands.
11025         * .version:
11026           Bump version for advances in -mpdk15 --stack-auto.
11027         * configure.ac,
11028           configure,
11029           sim/ucsim/configure.ac,
11030           sim/ucsim/configure,
11031           sdccconf_in.h,
11032           sim/ucsim/ddconfig_in.h:
11033           Remove check for strerror(), which is part of C89 and used unconditionally in SDCC anyway.
11035 2019-09-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11037         * src/pdk/gen.c:
11038           Fixes and improvements for stack operands.
11039         * configure,
11040           configure.ac,
11041           device/lib/Makefile.in,
11042           device/lib/clean.mk,
11043           device/lib/pdk15-stack-auto,
11044           src/pdk/main.c,
11045           support/regression/Makefile.in,
11046           support/regression/ports/pdk15-stack-auto:
11047           Infrastructure for -mpdk15 --stack-auto regression testing.
11049 2019-09-28 Philipp Klaus Krause <pkk AT spth.de>
11051         * src/pdk/gen.c:
11052           Fixes for stack operands and rematerialized stack locations.
11054 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11056         * src/pdk/gen.c:
11057           Fixes for stack operands.
11059 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11061         * src/pdk/gen.c:
11062           Fix tracking of pseudoregister in shifts.
11064 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11066         * src/pdk/ralloc.c:
11067           Fix a bug affecting rematerialized addresses cast to integers of multiple widths.
11069 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11071         * src/pdk/gen.c,
11072           src/pdk/ralloc2.cc:
11073           Improve register allocation.
11075 2019-09-26 Philipp Klaus Krause <pkk AT spth.de>
11077         * src/pdk/gen.c,
11078           src/pdk/gen.h,
11079           src/pdk/ralloc.c,
11080           src/pdk/ralloc2.cc:
11081           Rematerialize stack adresses, improve handling of on-stack operands.
11083 2019-09-25 Philipp Klaus Krause <pkk AT spth.de>
11085         * src/pdk/gen.c,
11086           support/regression/tests/gcc-torture-execute-20020402-3.c,
11087           support/regression/tests/gcc-torture-execute-divconst-2.c,
11088           support/regression/tests/gcc-torture-execute-pr78791.c:
11089           Fixes for on-stack operands.
11091 2019-09-24 Philipp Klaus Krause <pkk AT spth.de>
11093         * support/regression/tests/addsub.c,
11094           support/regression/tests/ato.c,
11095           support/regression/tests/bitfields.c,
11096           support/regression/tests/bitwise.c,
11097           support/regression/tests/bug-2621.c,
11098           support/regression/tests/bug-2833.c,
11099           support/regression/tests/bug1115321.c,
11100           support/regression/tests/bug3410878.c,
11101           support/regression/tests/bug3521024.c,
11102           support/regression/tests/compare.c,
11103           support/regression/tests/condopptr.c,
11104           support/regression/tests/constantRange.c,
11105           support/regression/tests/ctype.c,
11106           support/regression/tests/funptrs.c,
11107           support/regression/tests/gcc-torture-execute-20000603-1.c,
11108           support/regression/tests/gcc-torture-execute-20000731-1.c,
11109           support/regression/tests/gcc-torture-execute-20020201-1.c,
11110           support/regression/tests/gcc-torture-execute-20020506-1.c,
11111           support/regression/tests/gcc-torture-execute-20040409-2.c,
11112           support/regression/tests/gcc-torture-execute-ashldi-1.c,
11113           support/regression/tests/gcc-torture-execute-ashrdi-1.c,
11114           support/regression/tests/gcc-torture-execute-divcmp-4.c,
11115           support/regression/tests/gcc-torture-execute-divconst-3.c,
11116           support/regression/tests/gcc-torture-execute-divmod-1.c,
11117           support/regression/tests/gcc-torture-execute-lshrdi-1.c,
11118           support/regression/tests/gcc-torture-execute-pr19606.c,
11119           support/regression/tests/gcc-torture-execute-pr39339.c,
11120           support/regression/tests/gcc-torture-execute-pr19606.c,
11121           support/regression/tests/gcc-torture-execute-string-opt-5.c,
11122           support/regression/tests/gcc-torture-execute-pr19606.c,
11123           support/regression/tests/gcc-torture-execute-va-arg-10.c
11124           support/regression/tests/gcc-torture-execute-pr19606.c,
11125           support/regression/tests/gcc-torture-execute-va-arg-9.c,
11126           support/regression/tests/gcc-torture-execute-pr19606.c,
11127           support/regression/tests/logic.c,
11128           support/regression/tests/gcc-torture-execute-pr19606.c,
11129           support/regression/tests/malloc.c,
11130           support/regression/tests/gcc-torture-execute-pr19606.c,
11131           support/regression/tests/memory.c,
11132           support/regression/tests/gcc-torture-execute-pr19606.c,
11133           support/regression/tests/muldiv.c,
11134           support/regression/tests/gcc-torture-execute-pr19606.c,
11135           support/regression/tests/onebyte.c,
11136           support/regression/tests/gcc-torture-execute-pr19606.c,
11137           support/regression/tests/rotate.c,
11138           support/regression/tests/shifts.c,
11139           support/regression/tests/shifts2.c,
11140           support/regression/tests/staticinit.c,
11141           support/regression/tests/string.c,
11142           support/regression/tests/switch.c,
11143           support/regression/tests/wchar.c:
11144           Preparations for -mpdk15 --stack-auto regression testing.
11146 2019-09-24 Philipp Klaus Krause <pkk AT spth.de>
11148         * src/SDCCopt.c,
11149           src/pdk/gen.c,
11150           support/regression/ports/pdk14/support.c,
11151           support/regression/ports/pdk15/support.c:
11152           Fixes for on-stack operands.
11154 2019-09-21 Philipp Klaus Krause <pkk AT spth.de>
11156         * src/pdk/gen.c,
11157           src/pdk/ralloc2.cc,
11158           src/pdk/peeph.def:
11159           Fixes for on-stack operands.
11161 2019-09-16 Philipp Klaus Krause <pkk AT spth.de>
11163         * src/pdk/gen.c,
11164           src/pdk/ralloc2.cc:
11165           Fixes for on-stack operands.
11167 2019-09-13 Philipp Klaus Krause <pkk AT spth.de>
11169         * src/z80/gen.c:
11170           Fix wide load via pointer with register result in ahl.
11172 2019-09-12 Philipp Klaus Krause <pkk AT spth.de>
11174         * src/pdk/gen.c:
11175           Fixes for on-stack operands.
11177 2019-09-09 Philipp Klaus Krause <pkk AT spth.de>
11179         * src/pdk/gen.c:
11180           Various improvements.
11181         * device/lib/_fseq.c:
11182           Refactor to reduce RAM use.
11184 2019-09-09 Philipp Klaus Krause <pkk AT spth.de>
11186         * src/pdk/gen.c:
11187           Improve handling of stack operands.
11189 2019-09-08 Philipp Klaus Krause <pkk AT spth.de>
11191         * src/pdk/gen.c:
11192           Fix handling of stack operands in right shift.
11194 2019-09-08 Philipp Klaus Krause <pkk AT spth.de>
11196         * src/pdk/gen.c,
11197           src/pdk/ralloc2.cc:
11198           Improve push.
11200 2019-09-07 Philipp Klaus Krause <pkk AT spth.de>
11202         * src/pdk/gen.c:
11203           Improve subtraction flexibility.
11205 2019-09-03 Philipp Klaus Krause <pkk AT spth.de>
11207         * src/pdk/ralloc2.cc,
11208           src/SDCCsalloc.hpp,
11209           src/pdk/ralloc.c,
11210           support/regression/tests/gcc-torture-execute-va-arg-19.c:
11211           Use Chaitin-style allocator for stack variables.
11212         * src/pdk/gen.c:
11213           Optimize out assignments between coalesced stack variables.
11215 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11217         * src/pdk/gen.c:
11218           Emulate nadd a, m for pdk14, pdk13.
11220 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11222         * src/pdk/gen.c,
11223           src/SDCCopt.c,
11224           support/regression/tests/bug-2931.c:
11225           Fix bug #2931.
11227 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11229         * src/pdk/gen.c,
11230           support/regression/tests/nadd.c:
11231           Use nadd in subtraction for pdk15.
11233 2019-08-22 Philipp Klaus Krause <pkk AT spth.de>
11235         * sim/ucsim/pdk.src/glob.cc,
11236           sim/ucsim/pdk.src/inst.cc,
11237           sim/ucsim/pdk.src/instcl.h,
11238           sim/ucsim/pdk.src/pdk.cc,
11239           sim/ucsim/pdk.src/pdkcl.h,
11240           sim/ucsim/pdk.src/regspdk.h:
11241           pdk13 I/O fix (patch #305 by Serge Rabyking).
11242           .version:
11243           Bump version for all the pdk13 fixes we got so far.
11244         * src/z80/gen.c,
11245           src/z80/ralloc2.cc:
11246           Improve unsigned char right shift by literal (also part of RFE #639).
11248 2019-08-20 Philipp Klaus Krause <pkk AT spth.de>
11250         * src/z80/gen.c:
11251           Improve wide ==, !=, part of RFE #641.
11253 2019-08-19 Philipp Klaus Krause <pkk AT spth.de>
11255         * src/z80/gen.c,
11256           src/z80/ralloc2.cc,
11257           support/regression/test/bug-2929.c:
11258           Fix bug #2929.
11260 2019-08-17 Philipp Klaus Krause <pkk AT spth.de>
11262         * device/lib/strdup.c:
11263           Fix strdup buffer overflow (patch #306).
11265 2019-08-16 Philipp Klaus Krause <pkk AT spth.de>
11267         * src/z80/ralloc2.cc,
11268           src/z80/gen.c:
11269           Improve ~ register allocation (RFE #638).
11271 2019-08-16 Philipp Klaus Krause <pkk AT spth.de>
11273         * src/z80/gen.c,
11274           src/z80/peeph-z80.def,
11275           src/z80/peeph-tlcs90.def,
11276           src/z80/peeph-r2k.def:
11277           Improve caching of zero on pointer write.
11279 2019-08-16 Philipp Klaus Krause <pkk AT spth.de>
11281         * src/z80/gen.c:
11282           Improve assignment.
11283         * device/include/string.h,
11284           device/lib/strdup.c,
11285           device/lib/strndup.c,
11286           device/lib/incl.mk:
11287           Implement C2X string duplication functions.
11289 2019-08-14 Philipp Klaus Krause <pkk AT spth.de>
11291         * src/z80/peep.c:
11292           Improve notUsed() precision, alternative to patch from z88dk fork.
11293         * src/stm8/*.def:
11294           Add rule from patch #304.
11295         * src/z80/gen.c:
11296           Improve load of hl.
11298 2019-08-14 Philipp Klaus Krause <pkk AT spth.de>
11300         * src/stm8/peep.c,
11301           src/stm8/peeph.def:
11302           stm8 peephole optimization improvements, mostly picked from patch #290.
11303         * sdas/asxxsrc/asmcro.c:
11304           Improve sdas behaviour on internal error, patch from bug #2626.
11305         * src/z80/peep.c:
11306           Pick some peephole optimization improvements from z88dk fork.
11308 2019-08-12 Philipp Klaus Krause <pkk AT spth.de>
11310         * sdas/aspdk13/pdk13mch.c:
11311           Bit instruction fixes by Free-PDK.
11312         * device/lib/pdk13/__gptrget.s:
11313           Pointer read fix as suggested by Serge Rabyking (see patch #305).
11315 2019-07-24 Philipp Klaus Krause <pkk AT spth.de>
11317         * src/z80/gen.c:
11318           Small improvements in handling of wide values.
11320 2019-07-18 Philipp Klaus Krause <pkk AT spth.de>
11322         * support/regression/tests/bug-2363.c:
11323           Disabled a test that won't work on pic14 due to lack of memory.
11325 2019-07-17 Philipp Klaus Krause <pkk AT spth.de>
11327         * src/z80/gen.c:
11328           Improve aop moves (in particular wrt. 16-bit ld).
11330 2019-07-12 Philipp Klaus Krause <pkk AT spth.de>
11332         * device/include/ctype.h,
11333           device/include/pic14/stdlib.h,
11334           support/regression/fwk/include/testfwk.h:
11335           Minor improvements towards pic14 regression testing suggested by Gonzalo Pérez de Olaguer Córdoba.
11337 2019-07-11 Philipp Klaus Krause <pkk AT spth.de>
11339         * device/lib/pic14/libsdcc/idata.c:
11340           Fix missing extern declaration of main.
11342 2019-07-11 Philipp Klaus Krause <pkk AT spth.de>
11344         * .version:
11345           Reflect recent progress on pdk13 by bumping the version number.
11347 2019-07-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11349         * sim/ucsim/pdk.src/inst.cc,
11350           sdas/aspdk13/pdk13pst.c,
11351           sdas/aspdk13/pdk13mch.c,
11352           src/pdk/main.c,
11353           src/pdk/gen.c:
11354           Remove cneqsn for pdk13 fixing bug #2923.
11356 2019-07-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11358         * src/pic14/gen.c:
11359           Fixes for bit-fields, from patches by Gonzalo Pérez de Olaguer Córdoba.
11360         * src/pic14/glue.c:
11361           Fixes from patches by Gonzalo Pérez de Olaguer Córdoba.
11363 2019-06-30 Philipp Klaus Krause <pkk AT spth.de>
11365         * src/z80/gen.c,
11366           support/regression/tests/preserves_regs.c:
11367           Improve handling of iy, should fix bug #2918.
11369 2019-06-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11371         * src/z80/ralloc.c,
11372           src/hc08/ralloc.c,
11373           src/mcs51/ralloc.c,
11374           src/ds390/ralloc.c,
11375           src/stm8/ralloc.c,
11376           src/pdk/ralloc.c,
11377           src/pic14/ralloc.c,
11378           src/pic16/ralloc.c: fix bug #2920
11379         * src/hc08/gen.c: fix bug with negative array index
11381 2019-06-28 Philipp Klaus Krause <pkk AT spth.de>
11383         * src/pdk/peeph.def:
11384           Add a rule suggested by Free-PDK in RFE #630.
11385         * sdas/aspdk13/pdk13mch.c:
11386           Fix curly brackets.
11387         * Makefile.in:
11388           Fail build if any assembler fails to build.
11390 2019-06-27 Philipp Klaus Krause <pkk AT spth.de>
11392         * sdas/aspdk13/pdk13pst.c,
11393           sdas/aspdk13/pdk13mch.c:
11394           Fix bug #2919 via suggestion by Free-PDK.
11396 2019-06-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11398         * Merge pdk branch to trunk.
11400 2019-06-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11402         * sdas/aspdk13/pdk13pst.c,
11403           sdas/aspdk13/pdk13mch.c:
11404           Fix bug #2915 via suggestion by Free-PDK.
11405         * configure.ac,
11406           configure:
11407           Disable pdk16 port by default.
11409 2019-06-23 Philipp Klaus Krause <pkk AT spth.de>
11411         * support/regression/tests/*.c:
11412           Disable some tests for pic14 that won't work anytime soon.
11413           Partially picked from patch by Gonzalo Pérez de Olaguer Córdoba.
11414         * src/SDCCast.c,
11415           src/pic14/gen.c,
11416           src/pic14/gen.h,
11417           src/pic14/genarith.c,
11418           src/pic14/pcode.c,
11419           src/pic14/pcodepeep.c,
11420           src/pic14/ralloc.c:
11421           Fixes from patch by Gonzalo Pérez de Olaguer Córdoba.
11423 2019-06-22 Philipp Klaus Krause <pkk AT spth.de>
11425         * src/z88/ralloc2.cc,
11426           src/z80/gen.c:
11427           Improve handling of a in bitwise operations.
11428         * src/pdk/main.c:
11429           Fix bug #2916.
11430         * src/z80/peeph-z80.def:
11431           Fix bug #2914.
11433 2019-06-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11435         * support/scripts/sdcc.nsi: pic14/libm no longer has *.c files
11436           to install
11438 2019-06-18 Philipp Klaus Krause <pkk AT spth.de>
11440         * src/z80/ralloc2.cc,
11441           src/z80/gen.c:
11442           Improve handling of a in &.
11444 2019-06-18 Philipp Klaus Krause <pkk AT spth.de>
11446         * src/z80/ralloc2.cc:
11447           Fix an issue in register allocation for GET_VALUE_AT_ADRESS.
11449 2019-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11451         * support/regression/tests/bug-2912.c:
11452           Fix a typo that resulted in a test being accidentially enabled for pdk.
11453         * src/z80/gen.c:
11454           Fix handling of swapped register operand in 16-bit shift by literal.
11456 2019-06-16 Philipp Klaus Krause <pkk AT spth.de>
11458         * src/z80/ralloc2.cc,
11459           src/SDCCgen.h,
11460           src/SDCCgen.c,
11461           src/z80/gen.c:
11462           Improve handling of a.
11464 2019-06-16 Philipp Klaus Krause <pkk AT spth.de>
11466         * src/z80/gen.c:
11467           Fix an issue in iy shuffling.
11469 2019-06-15 Philipp Klaus Krause <pkk AT spth.de>
11471         * src/z80/gen.c,
11472           src/z80/ralloc.c,
11473           src/z80/ralloc2.cc:
11474           Handle iy like other registers.
11476 2019-06-15 Philipp Klaus Krause <pkk AT spth.de>
11478         * src/z80/gen.c,
11479           src/z80/ralloc2.cc:
11480           Minor register allocation improvement,
11481           fix a --reserve-regs-iy issue.
11483 2019-06-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11485         * src/z80/gen.c,
11486           support/regression/tests/bug-2912.c:
11487           Fix bug #2912.
11489 2019-06-13 Philipp Klaus Krause <pkk AT spth.de>
11491         * src/regression/*:
11492           Update pic-specific rudimentary regression test framework.
11494 2019-06-12 Philipp Klaus Krause <pkk AT spth.de>
11496         * Merge pic14 branch.
11498 2019-06-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11500         * device/lib/pic14/Makefile.common,
11501           device/lib/pic14/Makefile.in,
11502           device/lib/pic14/libc/Makefile.in,
11503           device/lib/pic14/libm/Makefile.in,
11504           device/lib/pic14/libsdcc/enhanced/Makefile.in,
11505           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
11506           device/lib/pic14/libsdcc/regular/Makefile.in:
11507           Fix another pic14 out-of-tree-build issue.
11509 2019-06-11 Philipp Klaus Krause <pkk AT spth.de>
11511         * device/include/ctype.h,
11512           device/include/pic14/stdlib.h:
11513           Work around some pic14 inlining issue.
11514         * sdcc/aclocal.m4,
11515           sdcc/config.guess,
11516           sdcc/config.sub,
11517           sdcc/device/lib/pic14/install-sh,
11518           sdcc/device/lib/pic14/libc/Makefile.am,
11519           sdcc/device/lib/pic14/libc/Makefile.in,
11520           sdcc/device/lib/pic14/libm/Makefile.am,
11521           sdcc/device/lib/pic14/libm/Makefile.in,
11522           sdcc/device/lib/pic14/libsdcc/enhanced/Makefile.am,
11523           sdcc/device/lib/pic14/libsdcc/enhanced/Makefile.in,
11524           sdcc/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.am,
11525           sdcc/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
11526           sdcc/device/lib/pic14/libsdcc/regular/Makefile.am,
11527           sdcc/device/lib/pic14/libsdcc/regular/Makefile.in,
11528           sdcc/device/lib/pic14/missing,
11529           sdcc/install-sh,
11530           sdcc/sim/ucsim/ddconfig_in.h,
11531           support/sdbinutils/bfd/doc/bfdver.texi:
11532           Fix pic14 library out-of-tree build.
11533         * device/lib/pic14/configure.ac,
11534           device/lib/pic14/configure:
11535           Disable default build of extra libary flavors.
11537 2019-06-11 Philipp Klaus Krause <pkk AT spth.de>
11539         * device/include/ctype.h,
11540           device/include/pic14/stdlib.h:
11541           Work around some pic14 inlining issue.
11543 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11545         * src/SDCCpeeph.c,
11546           src/pdk/gen.c,
11547           src/pdk/peep.c,
11548           src/pdk/peeph.def:
11549           pdk peephole improvements.
11551 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11553         * src/pdk/main.c,
11554           src/pdk/peep.h,
11555           src/pdk/peep.c,
11556           src/pdk/peeph.def:
11557           notUsed() and notUsedFrom().
11558         * src/stm8/peep.c,
11559           src/z80/peep.c:
11560           Fixes for notUsedFrom().
11562 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11564         * src/SDCCpeeph.c,
11565           src/pdk/gen.c,
11566           src/pdk/peep.c,
11567           src/pdk/peeph.def:
11568           pdk peephole improvements.
11570 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11572         * src/pdk/main.c,
11573           src/pdk/peep.h,
11574           src/pdk/peep.c,
11575           src/pdk/peeph.def:
11576           notUsed() and notUsedFrom().
11577         * src/stm8/peep.c,
11578           src/z80/peep.c:
11579           Fixes for notUsedFrom().
11581 2019-06-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11583         * device/include/wchar.h,
11584           device/lib/mbrtowc.c,
11585           device/lib/mbtowc.c,
11586           device/lib/wctomb.c,
11587           support/regression/tests/constantRange.c,
11588           support/regression/tests/driverstruct.c,
11589           support/regression/tests/float.c,
11590           support/regression/tests/nullstring.c,
11591           support/regression/tests/snprintf.c:
11592           Library and test improvements, from patch by Gonzalo Pérez de Olaguer Córdoba.
11593         * src/pic14/glue.c,
11594           src/pic14/main.c:
11595           Predefined macros for pic14 variants, patch by Gonzalo Pérez de Olaguer Córdoba.
11596         * device/lib/clean.mk:
11597           Cleanup pdk13 library files.
11598         * device/include/asm/pic14/features.h,
11599           device/include/pic14,
11600           device/lib/pic14,
11601           src/SDCCsymt.c,
11602           src/pic14/main.c:
11603           pic14 library cleanup, patch by Gonzalo Pérez de Olaguer Córdoba.
11604         * sdas/asz80/z80mch.c:
11605           Fix bug #2910.
11606         * src/pdk/gen.c:
11607           Use xch for wide in-place shift by 8.
11609 2019-06-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11611         * support/regress/tests/gcc-torture-execute-pr34456.c:
11612           added missing __reentrant and re-enabled for ds390
11614 2019-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11616         * support/regression/tests/bugs-1596270-1736867.c:
11617           re-enable test for ds390; it passes now
11619 2019-05-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11621         * src/ds390/gen.c: fix assignment into far space from dph/dpl
11622         * src/mcs51/peep.c: fix bug #2909
11624 2019-05-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11626         * src/pdk/gen.c:
11627           Improve arithmetic right shift.
11628         * src/hc08/gen.c:
11629           Minor improvements suggested by Tony Papadimitriou.
11630         * src/stm8/gen.c,
11631           support/regression/tests/gcc-torture-execute-stdarg-5.c:
11632           Improve addition flexibility wrt. register assignment.
11634 2019-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11636         * src/SDCCcse.c,
11637           src/SDCCopt.c: fix some def/use bugs
11638         * support/regression/tests/gcc-torture-execute-stdarg-5.c:
11639           disable test for stm8, unimplemented addition op
11640         * src/mcs51/ralloc.c,
11641           src/ds390/ralloc.c,
11642           src/hc08/ralloc.c,
11643           src/z80/ralloc.c,
11644           src/pdk/ralloc.c,
11645           src/pic14/ralloc.c,
11646           src/pic16/ralloc.c: fix a live range bug
11648 2019-05-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11650         * device/include/string.h,
11651           device/lib/incl.mk,
11652           device/lib/memccpy.c,
11653           support/regression/tests/memory.c:
11654           Implement C2X memccpy().
11656 2019-04-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11658         * src/pdk/ralloc.c,
11659           src/pdk/gen.c:
11660           Improve register packing.
11662 2019-04-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11664         * src/pdk/gen.c,
11665           src/pdk/peeph.def:
11666           Improve workaround for missing addc/subc a, k; improve shifts by 7, 15, etc; fix handling of non-dead a in wide right shifty by literal.
11668 2019-04-24 Philipp Klaus Krause <pkk AT spth.de>
11670         * doc/sdccman.lyx:
11671           Fix note on endianness.
11673 2019-04-21 Philipp Klaus Krause <pkk AT spth.de>
11675         * src/pdk/gen.c:
11676           Fix bug #2904.
11677         * src/z80/gen.c:
11678           Implement RFE #623.
11680 2019-04-18 Philipp Klaus Krause <pkk AT spth.de>
11682         * sim/ucsim/pdk.src/inst.cc:
11683           Fix addc m, a, patch by Nicolas Lesser,
11684           fix subs m, a.
11685         * src/pdk/gen.c:
11686           +=, -= optimization; fix wide == between stack and register operand.
11688 2019-04-17 Philipp Klaus Krause <pkk AT spth.de>
11690         * sim/ucsim/pdk.src/pdk.cc:
11691           Fix register dump, patch by Nicolas Lesser.
11693 2019-04-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11695         * src/pdk/gen.c:
11696           Various fixes and improvements.
11697         * src/SDCCpeeph.c,
11698           src/pdk/peeph.def:
11699           Remove untargeted labels.
11700         * support/regression/tests/*.c:
11701           Disable tests that won't work anytime soon on pkd15.
11702         * sim/ucsim/globals.cc:
11703           More verbose pdk subtype output.
11705 2019-04-16 Philipp Klaus Krause <pkk AT spth.de>
11707         * sdas/aspdk16,
11708           Makefile.common.in,
11709           Makefile.in,
11710           configure,
11711           configure.ac,
11712           sdas/asxxsrc/sdas.c,
11713           sdas/asxxsrc/sdas.h:
11714           Infrastructure for pdk16 assembler, based on patch
11715           by Leo and Nicolas.
11717 2019-04-16 Philipp Klaus Krause <pkk AT spth.de>
11719         * Merged pdk branch to trunk.
11721 2019-04-15 Philipp Klaus Krause <pkk AT spth.de>
11723         * sdas/linksrc/lkrloc3.c:
11724           pdk13 linker fix, patch By Nicolas Lesser.
11726 2019-04-15 Philipp Klaus Krause <pkk AT spth.de>
11728         * Merged post-3.9 branch to trunk.
11730 2019-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11732         * src/pdk/gen.c:
11733           Fix POINTER_SET with left operand on stack, right operand in pseudo-register.
11735 2019-04-14 Philipp Klaus Krause <pkk AT spth.de>
11737         * support/regression/tests/bug-460010.c,
11738           support/regression/tests/bug1928022.c,
11739           support/regression/tests/gcc-torture-execute-991216-2.c,
11740           support/regression/tests/gcc-torture-execute-va-arg-1.c,
11741           support/regression/tests/gcc-torture-execute-va-arg-15.c:
11742           Disable some tests for pdk15, on which they won't work anytime soon.
11743         * src/pdk/gen.c:
11744           Improve handling of 16-bit return value,
11745           fix stack parameters,
11746           fix carry in comparison of wide stack values.
11747         * src/pdk/peeph.def:
11748           Remove double exchange.
11750 2019-04-13 Philipp Klaus Krause <pkk AT spth.de>
11752         * src/pdk/gen.c:
11753           Fix a bug in 16-bit store from registers via rematerialized pointer with non-zero offset;
11754           fix a bug in handling of on-stack operands to &,|;
11755           fix a bug in handling of past-end offsets for stack operands.
11757 2019-04-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11759         * src/pdk/gen.c:
11760           Fix handling of -0.0 in ifx.
11762 2019-04-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11764         * sdas/linksrc/lkrloc3.c:
11765           Linker warning improvement, patch by Nicolas Lesser.
11766         * support/regression/tests/*.c:
11767           Disable some tests for pdk15, on which they won't work anytime soon.
11768         * src/pdk/gen.c:
11769           Fix wide left shift by large literal.
11770         * sim/ucsim/pdk.src/glob.cc,
11771           sim/ucsim/pdk.src/glob.h,
11772           sim/ucsim/pdk.src/inst.cc,
11773           sim/ucsim/pdk.src/instcl.h,
11774           sim/ucsim/pdk.src/pdk.cc:
11775           pdk13 simulator, patch by Nicolas Lesser.
11777 2019-04-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11779         * support/regression/tests/*.c:
11780           Disable some tests for pdk15, on which they won't work anytime soon.
11781         * sdas/linksrc/aslink.h,
11782           sdas/linksrc/lkmain.c,
11783           sdas/linksrc/lkrloc3.c:
11784           Linker memory size warning fixes, patches by Nicolas Lesser.
11785         * src/pdk/ralloc.c:
11786           Fix handling of shift result assigned to sfr.
11788 2019-04-06 Philipp Klaus Krause <pkk AT spth.de>
11790         * sdas/aspdk13/pdk13pst.c,
11791           sdas/aspdk13/pdk13mch.c:
11792           Assembler fixes.
11794 2019-04-05 Philipp Klaus Krause <pkk AT spth.de>
11796         * sdas/aspdk13/pdk13pst.c,
11797           sdas/aspdk13/pdk13mch.c:
11798           Assembler fixes.
11800 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11802         * sdas/aspdk13/pdk13mch.c,
11803           sdas/aspdk13/pdk13pst.c:
11804           Assembler fix, patch by Leo.
11805         * sim/ucsim/pdk.src/pdk.cc:
11806           Simulator fix, patch by Nicolas Lesser.
11808 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11810         * .version,
11811           doc/INSTALL.txt,
11812           sdcc.spec:
11813           Bump version in preparation of 3.9.0 release.
11815 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11817         * support/regression/tests/*:
11818           Disable some tests for pdk15, on which they won't work anytime soon.
11819         * sdas/aspdk15/pdk15mch.c
11820           Assembler fix, patch by Nicolas Lesser.
11821         * sim/ucsim/pdk.src/inst.cc,
11822           sim/ucsim/pdk.src/pdk.cc,
11823           sim/ucsim/pdk.src/regspdk.h:
11824           Simulator fix, patch by Nicolas Lesser.
11825         * sdas/aspdk13/pdk13mch.c:
11826           Assembler fix, patch by Leo.
11828 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11830         * src/pdk/gen.c,
11831           support/regression/tests/bug-2274.c:
11832           Support dummy write for handling of uninitialized variables, better code for write of literal to bit-field.
11833         * sim/ucsim/pdk.src/inst.cc:
11834           Fix dec m for pdk15.
11835         * support/regression/tests/bitfields.c,
11836           support/regression/tests/bug-2181.c,
11837           support/regression/tests/bug-2197.c,
11838           support/regression/tests/bug-221100.c,
11839           support/regression/tests/bug-221168.c,
11840           support/regression/tests/bug-2305.c,
11841           support/regression/tests/bug-2349.c,
11842           support/regression/tests/bug-2357.c,
11843           support/regression/tests/bug-2363.c,
11844           support/regression/tests/bug-2373.c,
11845           support/regression/tests/bug-2455.c,
11846           support/regression/tests/bug-2497.c:
11847           Disable some tests for pdk15, on which they won't work anytime soon.
11848         * sdas/linksrc/lkmain.c,
11849           sdas/linksrc/lkrloc3.c,
11850           sdas/linksrc/sdld.c,
11851           sdas/linksrc/sdld.h:
11852           Fix bug #2896, patch by Nicolas Lesser.
11853         * src/pdk/main.c:
11854           Enable peephole optimizer for pdk13, pdk15.
11855         * sim/ucsim/pdk.src/inst.cc:
11856           Fix and m, a, patch by Nicolas Lesser.
11858 2019-04-04 Philipp Klaus Krause <pkk AT spth.de>
11860         * sdas/aspdk15/pdk15mch.c,
11861           sdas/asxxsrc/asout.c,
11862           sdas/linksrc/lkrloc3.c:
11863           Assembler fix, patch by Nicolas Lesser.
11864         * support/regression/fwk/include/testfwk.h,
11865           support/regression/tests/absolute.c,
11866           support/regression/tests/bug-1918.c,
11867           support/regression/tests/bug-2124.c,
11868           support/regression/tests/bug-2271.c:
11869           Towards regression testing for pdk15.
11871 2019-04-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11873         * sdas/aspdk13/pdk13mch.c:
11874           Assembler fixes, patch by Leo.
11875         * sdas/aspdk13/pdk13pst.c:
11876           Assembler fixes.
11877         * device/lib/Makefile.in:
11878           Build pdk13 library.
11879         * sim/ucsim/globals.cc,
11880           sim/ucsim/pdk.src/*,
11881           sim/ucsim/stypes.h,
11882           pdk15 simulator, patch by Nicolas Lesser.
11883         * support/regression/Makefile.in,
11884           support/regression/ports/pdk15:
11885           pdk15 regression testing infrastructure.
11887 2019-04-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11889         * src/z80/peep.c:
11890           Fix bug #2898.
11892 2019-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11894         * src/pdk/gen.c,
11895           support/regression/tests/bug-2897.c:
11896           Fix bug #2897.
11897         * sdas/aspdk14/pdk14mch.c,
11898           sdas/aspdk15/pdk15mch.c,
11899           sdas/asxxsrc/asout.c,
11900           sdas/asxxsrc/sdas.c,
11901           sdas/asxxsrc/sdas.h,
11902           sdas/linksrc/lkrloc3.c:
11903           Fix bug #2900, patch by Nicolas Lesser.
11905 2019-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11907         * device/include/signal.h,
11908           device/include/stdint.h:
11909           Support sig_atomic_t.
11910         * src/stm8/peep.c,
11911           src/stm8/peeph.def:
11912           Peephole improvements, picked from patch #290 by Visenri.
11913         * src/z80/peeph-gbz80.def,
11914           src/z80/peeph-r2k.def,
11915           src/z80/peeph-z80.def:
11916           Peephole rule improvements, patch by b-s-a.
11918 2019-04-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11920         * src/SDCCpeeph.c,
11921           src/pdk/gen.c,
11922           src/pdk/main.c,
11923           src/pdk/peeph.def:
11924           Basic peephole optimizer.
11925         * sdas/aspdk13/pdk13mch.c,
11926           sdas/aspdk13/pdk13pst.c:
11927           Basic pdk13 assembler, patch by Leo.
11929 2019-04-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11931         * sdas/aspdk15/Makefile:
11932           Remove generated file from svn.
11934 2019-04-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11936         * configure,
11937           configure.ac,
11938           Makefile.in,
11939           Makefile.common.in,
11940           sdas/aspdk13:
11941           Infrastructure for pdk13 assembler.
11943 2019-03-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11945         * src/SDCCast.c,
11946           src/SDCCsymt.h,
11947           src/SDCCsymt.c,
11948           src/SDCCval.c,
11949           support/regression/tests/bug-2751.c,
11950           support/regression/tests/generic.c:
11951           Fix bug #2751.
11952         * sdas/aspdk/pdk.h,
11953           sdas/aspdk/pdkmch.c,
11954           sdas/aspdk14/pdk14mch.c,
11955           sdas/aspdk15/pdk15mch.c:
11956           Bit instruction fix, patch by Nicolas Lesser.
11958 2019-03-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11960         * src/SDCCopt.c: fix bug #2892
11962 2019-03-28 Philipp Klaus Krause <pkk AT spth.de>
11964         * src/SDCCglue.c:
11965           Fix bug #2837, patch by Alan Cox.
11966         * sdas/asrab/rabmch.c,
11967           sdas/asrab/rabpst.c:
11968           Support standard ipset syntax, patch by Alan Cox.
11969         * src/z80/gen.c:
11970           Fix an increment bug, patch by Nick Downing.
11972 2019-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11974         * sdas/asxxsrc/sdas.c,
11975         * sdas/asxxsrc/sdas.h,
11976         * sdas/aspdk14/pdk14mch.c,
11977         * sdas/aspdk15/pdk15mch.c: possible fix for bug #2890
11979 2019-03-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11981         * src/SDCCcse.c: fix bug #2099
11982         * support/regression/tests/gcc-torture-execute-20041019-1.c:
11983           re-enable test
11985 2019-03-21 Philipp Klaus Krause <pkk AT spth.de>
11987         * doc/sdccman.lyx:
11988           Update manual.
11990 2019-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11992         * src/SDCCast.c: fix bug #2834
11993         * support/regression/tests/bug-2834.c: re-enable test
11994         * src/ds390/ralloc.c: fix bug #2603
11995         * support/regression/tests/gcc-torture-execute-20021120-1.c:
11996           re-enable test
11998 2019-03-21 Philipp Klaus Krause <pkk AT spth.de>
12000         * device/lib/pdk14/__setjmp.s,
12001           device/lib/pdk15/__setjmp.s,
12002           device/lib/pdk14/Makefile.in,
12003           device/lib/pdk15/Makefile.in,
12004           support/regression/tests/setjmp.c,
12005           support/regression/tests/gcc-torture-execute-20010409-1.c,
12006           support/regression/tests/gcc-torture-execute-pr60003.c:
12007           setjmp() / longjmp() for pdk.
12009 2019-03-21 Philipp Klaus Krause <pkk AT spth.de>
12011         * support/regression/tests/gcc-torture-execute-20051110-2.c:
12012           Enable a test (bug got fixed a few days ago via patch by Nicolas).
12013         * device/lib/Makefile.in,
12014           device/lib/*/Makefile.in,
12015           support/regression/tests/wchar.c,
12016           support/regression/tests/bug-2855.c:
12017           Fix bug #2855.
12019 2019-03-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12021         * src/SDCCopt.c: fix bug #2793
12022         * support/regression/tests/bug-2793: re-enable test
12023         * support/regression/tests/gcc-torture-execute-20120817-1.c:
12024           re-enable test
12026 2019-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12028         * src/hc08/main.c: fix bug #2713
12029         * support/regression/tests/bug2783061.c: bug #2713 tested
12031 2019-03-20 Philipp Klaus Krause <pkk AT spth.de>
12033         * support/scripts/sdcc.nsi:
12034           Include pdk libraries in Windows installer.
12036 2019-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12038         * device/lib/_ulong2fs.c: fix bug #2787
12039         * support/regression/tests/gcc-torture-execute-floatunsisf-1.c:
12040           re-enable test
12041         * src/ds390/gen.c: fix bug #2835
12042         * support/regression/tests/bug-2833.c: re-enable tests
12044 2019-03-19 Philipp Klaus Krause <pkk AT spth.de>
12046         * support/scripts/sdcc.nsi:
12047           Include pdk binaries in Windows installer.
12049 2019-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12051         * device/lib/_modslonglong.c: fix bug #2790
12052         * support/regression/tests/gcc-torture-execute-arith-rand-ll.c:
12053           re-enable tests
12055 2019-03-19 Philipp Klaus Krause <pkk AT spth.de>
12057         * sim/ucsim/pdk.src/inst.cc:
12058           Simulator fixes, patches by Nicolas Lesser.
12059         * sdas/aspdk15/pdk15mch.c:
12060           Assembler fix, patch by Nicolas Lesser
12061         * support/regression/tests/staticinit.c,
12062           src/pdk/gen.c,
12063           src/pdk/ralloc2.cc:
12064           Implement RFE #614.
12066 2019-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12068         * src/ds390/gen.c: fix bug #2702
12069         * device/lib/_rrulonglong.c,
12070         * device/lib/_rrslonglong.c: fix bug #2704
12071         * support/regression/tests/longlong.c: re-enable tests for
12072           hc08/s08/ds390, add more long long shifting tests
12073         * support/regression/tests/gcc-torture-execute-ashldi-1.c,
12074         * support/regression/tests/gcc-torture-execute-ashrdi-1.c,
12075         * support/regression/tests/gcc-torture-execute-divconst-3.c,
12076         * support/regression/tests/gcc-torture-execute-lshrdi-1.c,
12077         * support/regression/tests/gcc-torture-execute-vrp-7.c:
12078           re-enable tests
12081 2019-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12083         * src/pdk/gen.c:
12084           Improve |=, &=, ^=.
12086 2019-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12088         * src/pdk/gen.c,
12089           src/pdk/ralloc2.cc,
12090           support/regression/tests/bug3564104.c:
12091           Improve register allocation for shift and addition, RFE #608.
12092         * support/valdiag/valdiag.py,
12093           support/valdiag/Makefile.in:
12094           Enable testing of diagnostics for pdk14.
12096 2019-03-17 Philipp Klaus Krause <pkk AT spth.de>
12098         * src/pdk/ralloc2.cc,
12099           src/pdk/gen.c,
12100           support/regression/tests/gcc-torture-execute-20020508-2.c,
12101           support/regression/tests/gcc-torture-execute-pr41750.c:
12102           Improve register allocation, RFE #611, RFE #612, RFE #606.
12104 2019-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12106         * sim/ucsim/aclocal.m4,
12107         * sim/ucsim/configure.ac,
12108         * sim/ucsim/configure: reverting previous changes; go back to
12109           using default C++ dialect instead of C++11
12111 2019-03-17 Philipp Klaus Krause <pkk AT spth.de>
12113         * src/pdk/ralloc2.cc,
12114           src/pdk/gen.c,
12115           support/regression/tests/gcc-torture-execute-pr70005.c:
12116           Better register allocation for assignment, RFE #615, fix some bugs in code generation.
12118 2019-03-16 Philipp Klaus Krause <pkk AT spth.de>
12120         * src/pdk/ralloc2.cc,
12121           src/pdk/gen.c:
12122           Better register allocation for surviving ifx operands, RFE #610.
12124 2019-03-16 Philipp Klaus Krause <pkk AT spth.de>
12126         * support/regression/tests/gcc-torture-execute-divcmp-2.c:
12127           Enable passing test for pdk14.
12128         * src/z80/gen.c,
12129           support/regression/tests/z88dk.c,
12130           support/regression/tests/bug-2881.c:
12131           Fix bug #2881.
12133 2019-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12135         * sim/ucsim/aclocal.m4,
12136         * sim/ucsim/configure.ac,
12137         * sim/ucsim/configure: request c++11 dialect
12139 2019-03-15 Philipp Klaus Krause <pkk AT spth.de>
12141         * src/pdk/gen.c:
12142           Cheaper adjustment of pointer in p.
12143         * device/include/limits.h,
12144           support/regression/tests/bug-2885.c:
12145           Fix bug #2885.
12147 2019-03-15 Philipp Klaus Krause <pkk AT spth.de>
12149         * src/pdk/gen.c:
12150           Fix calculation of cycle cost.
12151         * support/regression/tests/gcc-torture-execute-va-arg-19.c,
12152           support/regression/tests/gcc-torture-execute-960302-1.c,
12153           support/regression/tests/getbyte.c,
12154           support/regression/tests/literalop.c:
12155           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12156         * support/regression/tests/gcc-torture-execute-20041011-1.c:
12157           Redisable test for ds390 that got enabled accientially.
12158         * support/regression/tests/gcc-torture-execute-pr34456.c:
12159           Disable a test for ds390, where it fails (bug #2883).
12160         * sim/ucsim/pdk.src/glob.cc:
12161           Fix ret k debug output, patch by Nicolas Lesser.
12162         * src/SDCCglue.c:
12163           Fix initalization of const pointers to non-const char for pdk.
12164         * src/pdk/ralloc2.cc,
12165           support/regression/tests/bug2817646.c:
12166           Improve register allocation for pointer read and some arithmetic operations.
12167         * support/regression/tests/gcc-torture-execute-20051110-2.c:
12168           Disable test that fails due to bug #2884.
12169         * src/SDCCopt.c:
12170           Move width optimization so that it gets proper information from ic sequencing.
12172 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12174         * support/regression/tests/cse.c,
12175           support/regression/tests/gcc-torture-execute-991216-2.c,
12176           support/regression/tests/gcc-torture-execute-pr70005.c,
12177           support/regression/tests/swap.c:
12178           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12180 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12182         * Merged pdk branch to trunk.
12184 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12186         * support/regression/tests/gcc-torture-execute-20000412-2.c,
12187           support/regression/tests/gcc-torture-execute-20180112-1.c,
12188           support/regression/tests/gcc-torture-execute-920922-1.c,
12189           support/regression/tests/gcc-torture-execute-arith-rand.c,
12190           support/regression/tests/gcc-torture-execute-ashldi-1.c,
12191           support/regression/tests/gcc-torture-execute-divconst-3.c,
12192           support/regression/tests/gcc-torture-execute-divmod-1.c,
12193           support/regression/tests/gcc-torture-execute-index-1.c,
12194           support/regression/tests/gcc-torture-execute-loop-15.c,
12195           support/regression/tests/gcc-torture-execute-multdi-1.c,
12196           support/regression/tests/gcc-torture-execute-pr39100.c,
12197           support/regression/tests/gcc-torture-execute-pr49419.c,
12198           support/regression/tests/gcc-torture-execute-pr60454.c,
12199           support/regression/tests/gcc-torture-execute-pr61306-1.c,
12200           support/regression/tests/gcc-torture-execute-pr61306-2.c,
12201           support/regression/tests/gcc-torture-execute-pr64979.c,
12202           support/regression/tests/gcc-torture-execute-pr78378.c,
12203           support/regression/tests/gcc-torture-execute-pr79121.c,
12204           support/regression/tests/onebyte.c,
12205           support/regression/tests/gcc-torture-execute-va-arg-1.c,
12206           support/regression/tests/gcc-torture-execute-va-arg-12.c,
12207           support/regression/tests/gcc-torture-execute-va-arg-15.c,
12208           support/regression/tests/gcc-torture-execute-va-arg-16.c,
12209           support/regression/tests/gcc-torture-execute-va-arg-18.c,
12210           support/regression/tests/gcc-torture-execute-va-arg-26.c,
12211           support/regression/tests/gcc-torture-execute-va-arg-5.c,
12212           support/regression/tests/gcc-torture-execute-va-arg-6.c,
12213           support/regression/tests/gcc-torture-execute-va-arg-9.c,
12214           support/regression/tests/gcc-torture-execute-loop-8.c:
12215           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12216         * src/pdk/gen.c:
12217           Fix non-dead-register bugs, fix a carry issue.
12219 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12221         * device/lib/pdk14/Makefile.in,
12222           device/lib/pdk14/__gptrget.s,
12223           device/lib/pdk15/Makefile.in,
12224           device/lib/pdk15/__gptrget.s,
12225           src/pdk/gen.c,
12226           src/pdk/ralloc2.cc:
12227           Improve read of 16-bit value via pointer.
12228         * support/regression/tests/gcc-torture-execute-pure-1.c,
12229           support/regression/tests/gcc-torture-execute-string-opt-18.c,
12230           support/regression/tests/io.c,
12231           support/regression/tests/key.c,
12232           support/regression/tests/string.c,
12233           support/regression/tests/switch.c:
12234           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12235         * src/SDCCglue.c:
12236           Fix UTF-16 and UTF-16 string literals for pdk.
12238 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12240         * doc/sdccman.lyx,
12241           src/SDCCast.c,
12242           support/regression/tests/vaargs.c:
12243           Disable omission of integer promotion of varargs for pdk.
12244         * device/include/stdarg.h:
12245           Fix variable arguments for pdk.
12246           src/pdk/gen.c:
12247           Fix stack adjustment for reentrant function returning 16-bit value.
12248         * support/regression/tests/bug2084206.c,
12249           support/regression/tests/gcc-torture-execute-920721-1.c,
12250           support/regression/tests/gcc-torture-execute-920829-1.c,
12251           support/regression/tests/gcc-torture-execute-921013-1.c,
12252           support/regression/tests/gcc-torture-execute-921124-1.c,
12253           support/regression/tests/gcc-torture-execute-980604-1.c:
12254           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12256 2019-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12258         * src/hc08/gen.c: fix bug in optimized 2 byte swap
12259         * support/regression/tests/bool.c: pass all ds390 tests now
12261 2019-03-13 Philipp Klaus Krause <pkk AT spth.de>
12263         * support/regression/tests/gcc-torture-execute-pr39339.c,
12264           support/regression/tests/gcc-torture-execute-pr41750.c,
12265           support/regression/tests/gcc-torture-execute-pr42833.c,
12266           support/regression/tests/gcc-torture-execute-pr43236.c,
12267           support/regression/tests/gcc-torture-execute-pr44575.c,
12268           support/regression/tests/gcc-torture-execute-20030717-1.c,
12269           support/regression/tests/gcc-torture-execute-20031204-1.c,
12270           support/regression/tests/gcc-torture-execute-20040409-2.c,
12271           support/regression/tests/gcc-torture-execute-20050218-1.c,
12272           support/regression/tests/gcc-torture-execute-20050502-1.c,
12273           support/regression/tests/gcc-torture-execute-20050826-1.c,
12274           support/regression/tests/gcc-torture-execute-20060110-2.c,
12275           support/regression/tests/gcc-torture-execute-20090207-1.c_
12276           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12277         * src/pdk/gen.c:
12278           Fix read from signed bit-field, fix +/- lower result byte in a, fix xor operand upper byte in a.
12280 2019-03-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12282         * support/regression/tests/bug-2630.c,
12283           support/regression/tests/bug-2822.c,
12284           support/regression/tests/bug-441448.c,
12285           support/regression/tests/bug-460010.c,
12286           support/regression/tests/bug-2712.c,
12287           support/regression/tests/bug1665511.c,
12288           support/regression/tests/bug1757671.c,
12289           support/regression/tests/bug1928022.c,
12290           support/regression/tests/bug2729218.c,
12291           support/regression/tests/bug2817646.c,
12292           support/regression/tests/bug2862650.c,
12293           support/regression/tests/bug2935162.c,
12294           support/regression/tests/bug3027957.c,
12295           support/regression/tests/bug3183823.c,
12296           support/regression/tests/bug3381400.c,
12297           support/regression/tests/bug3424150.c,
12298           support/regression/tests/bug3564104.c,
12299           support/regression/tests/bugs-1596270-1736867.c,
12300           support/regression/tests/gcc-torture-execute-postmod-1.c,
12301           support/regression/tests/gcc-torture-execute-pr15262.c,
12302           support/regression/tests/gcc-torture-execute-pr15296.c,
12303           support/regression/tests/gcc-torture-execute-pr19606.c,
12304           support/regression/tests/gcc-torture-execute-pr20527-1.c,
12305           support/regression/tests/gcc-torture-execute-pr20601-1.c,
12306           support/regression/tests/gcc-torture-execute-pr27073.c,
12307           support/regression/tests/gcc-torture-execute-pr27260.c,
12308           support/regression/tests/gcc-torture-execute-pr27285.c,
12309           support/regression/tests/gcc-torture-execute-pr28982a.c,
12310           support/regression/tests/condopptr.c,
12311           support/regression/tests/constantRange.c,
12312           support/regression/tests/frexpf.c,
12313           support/regression/tests/gcc-torture-execute-20000603-1.c,
12314           support/regression/tests/gcc-torture-execute-20000717-4.c,
12315           support/regression/tests/gcc-torture-execute-20000731-1.c,
12316           support/regression/tests/gcc-torture-execute-20001024-1.c,
12317           support/regression/tests/gcc-torture-execute-20010910-1.c,
12318           support/regression/tests/gcc-torture-execute-20010915-1.c,
12319           support/regression/tests/gcc-torture-execute-20020129-1.c,
12320           support/regression/tests/gcc-torture-execute-20020402-3.c,
12321           support/regression/tests/gcc-torture-execute-20020508-2.c,
12322           support/regression/tests/gcc-torture-execute-20020615-1.c:
12323           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12324         * src/pdk/gen.h,
12325           src/pdk/gen.c:
12326           Fix arithmetic right shift, jump on &, static function pointer initalization, zeroing of bit-fields, ==, bit-field write from register p, bit-field write with non-dead register p, ^, immediate in -.
12327         * src/SDCCglue.c:
12328           Fix pdk pointer initalization corner case.
12329         * sim/ucsim/pdk.src/inst.cc:
12330           Fix ov.
12332 2019-03-12 Philipp Klaus Krause <pkk AT spth.de>
12334         * support/regression/tests/bug-2854.c,
12335           support/regression/tests/gcc-torture-execute-arith-rand-ll.c,
12336           support/regression/tests/bug-2222.c,
12337           support/regression/tests/bug-2231.c,
12338           support/regression/tests/bug-2427.c,
12339           support/regression/tests/bug-2611.c,
12340           support/regression/tests/bug-2890326.c,
12341           support/regression/tests/bug3474855.c,
12342           support/regression/tests/bug3475630.c,
12343           support/regression/tests/gcc-torture-execute-20021120-1.c,
12344           support/regression/tests/gcc-torture-execute-20030916-1.c,
12345           support/regression/tests/gcc-torture-execute-20121108-1.c,
12346           support/regression/tests/qsort.c,
12347           support/regression/tests/bug-2188.c,
12348           support/regression/tests/bug-2304.c,
12349           support/regression/tests/bug-2501.c,
12350           support/regression/tests/bug-2568.c,
12351           support/regression/tests/bug-2621.c,
12352           support/regression/tests/bug-2764.c,
12353           support/regression/tests/gcc-torture-execute-pr39501.c,
12354           support/regression/tests/gcc-torture-execute-pr78586.c,
12355           support/regression/tests/bug1723128.c,
12356           support/regression/tests/bug3410878.c,
12357           support/regression/tests/ctype.c,
12358           support/regression/tests/gcc-torture-execute-20030313-1.c,
12359           support/regression/tests/p99-conformance.c,
12360           support/regression/tests/scott-compare3.c:
12361           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12362         * support/regression/tests/gcc-torture-execute-divcmp-2.c,
12363           support/regression/tests/staticinit.c:
12364           Disable tests that fail in annoying ways.
12365         * src/SDCCglue.c:
12366           Pointer initialization fix.
12367         * src/pdk/gen.c:
12368           Shift fix, pointer read fix, jump table fix, negation fix, address offset fix, big return fix.
12369         * src/pdk/ralloc2.cc:
12370           Improve register use at pointer read.
12371         * sim/ucsim/pdk.src/inst.cc:
12372           Simulator fixes, patches by Nicolas Lesser.
12373         * src/pdk/ralloc2.cc,
12374           src/pdk/gen.c:
12375           Improve jump on &.
12377 2019-03-12 Philipp Klaus Krause <pkk AT spth.de>
12379         * support/regression/collate-results.py:
12380           Improve error handling in regression test result parsing, fix bug #2675.
12382 2019-03-11 Philipp Klaus Krause <pkk AT spth.de>
12384         * sdas/aspdk14/pdk14mch.c,
12385           sdas/asxxsrc/asdata.c,
12386           sdas/asxxsrc/asexpr.c,
12387           sdas/asxxsrc/asxxxx.h:
12388           Fix handling of offsets to word addresses, patch by Nicolas Lesser.
12389         * src/pdk/gen.c:
12390           Remove workarounds for word address offset handling issue.
12391         * support/regression/tests/*:
12392           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12394 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12396         * src/pdk/gen.c:
12397           Codegen fixes.
12398         * sim/ucsim/pdk.src/pdk.cc,
12399           sdas/linksrc/lkmain.c:
12400           Memory limit diagnostics, patch by Nicolas Lesser.
12401         * support/regression/tests/bug-2208.c,
12402           support/regression/tests/bug-2253.c,
12403           support/regression/tests/bug-2357.c,
12404           support/regression/tests/bug-2516.c,
12405           support/regression/tests/bug-2625.c,
12406           support/regression/tests/bug-2254.c,
12407           support/regression/tests/bug-2403.c,
12408           support/regression/tests/bug-2516.c,
12409           support/regression/tests/bug-2820.c:
12410           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12412 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12414         * src/pdk/gen.c,
12415           src/SDCCglue.c:
12416           Pointer handling fixes.
12417         * support/regression/tests/bp.c,
12418           support/regression/tests/bug-1805702.c:
12419           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12421 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12423         * src/pdk/ralloc2.cc,
12424           src/pdk/gen.c:
12425           Improve register use.
12426         * sim/ucsim/pdk.src/inst.cc,
12427           sim/ucsim/pdk.src/instcl.h:
12428           Fix flag handling, patch by Nicolas Lesser.
12430 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12432         * src/pdk/gen.c:
12433           Fix arithmetic right shift, assembler issue workaround for variables in ROM.
12434         * src/pdk/ralloc2.cc:
12435           Try to save abit more RAM.
12436         * support/regression/tests/and_survive.c,
12437           support/regression/tests/ato.c,
12438           support/regression/tests/bitopcse.c,
12439           support/regression/tests/bug-2031.c,
12440           support/regression/tests/bug-1953.c:
12441           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12443 2019-03-10 Philipp Klaus Krause <pkk AT spth.de>
12445         * src/pdk/gen.c,
12446           src/pdk/ralloc2.cc:
12447           Improve register allocation, small code generation fixes.
12448         * support/regression/tests/absolute.c,
12449           support/regression/tests/addsub.c,
12450           support/regression/tests/args.c,
12451           support/regression/tests/array.c,
12452           support/regression/tests/bug-221100.c,
12453           support/regression/tests/bug-221168.c,
12454           support/regression/tests/bug1477149.c,
12455           support/regression/tests/bug3401973.c:
12456           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12457         * sim/ucsim/pdk.src/inst.cc:
12458           Carry bug workaround.
12460 2019-03-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12462         * src/SDCCast.c: fix bugs #2750 and #2867 (same root cause)
12463         * support/regression/tests/bug-2750.c: enable test
12465 2019-03-10 Philipp Klaus Krause <pkk AT spth.de>
12467         * src/pdk/gen.c:
12469 2019-03-10 Philipp Klaus Krause <pkk AT spth.de>
12471         * src/pdk/gen.c:
12472           Workaround for lack of support for offset at call in assembler.
12473         * sim/ucsim/pdk.src/inst.cc:
12474           Carry bug workaround.
12475         * src/pdk/ralloc2.cc,
12476           src/pdk/ralloc.c,
12477           src/pdk/main.c:
12478           Enable local variable overlay for leaf functions.
12479         * configure.ac,
12480           configure:
12481           Fix display of pdk13 enable.
12483 2019-03-07 Philipp Klaus Krause <pkk AT spth.de>
12485         * sim/ucsim/pdk.src/inst.cc:
12486           Carry workaround.
12487         * src/pdk/gen.c:
12488           Comparison fix.
12489         * sim/ucsim/pdk.src/glob.cc:
12490           dzsn / izsn debug output fix, patch by Nicolas Lesser.
12491         * sdas/asxxsrc/asout.c,
12492           sdas/linksrc/lkrloc3.c:
12493           Fix handling of addresses of variables in RAM, patch by Nicolas Lesser.
12495 2019-03-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12497         * support/scripts/sdcc.nsi: sdcclib.exe is not built
12498           anymore, so don't try to include it in the installer
12500 2019-03-06 Philipp Klaus Krause <pkk AT spth.de>
12502         * src/pdk/gen.c:
12503           Improve pointer handling and subtraction.
12504         * sim/ucsim/pdk.src/inst.cc:
12505           Fix idxm.
12506         * src/pdk/gen.c:
12507           Comparison fix.
12509 2019-03-06 Philipp Klaus Krause <pkk AT spth.de>
12511         * sdas/asxxsrc/asout.c:
12512           Address handling fix, patch by Nicolas Lesser.
12513         * sim/ucsim/pdk.src/glob.cc,
12514           sim/ucsim/pdk.src/pdk.cc:
12515           State output fix, patch by Nicolas Lesser.
12516         * src/pdk/gen.c:
12517           Comparison fix.
12518         * sim/ucsim/pdk.src/inst.cc:
12519           Fix src, slc.
12521 2019-03-05 Philipp Klaus Krause <pkk AT spth.de>
12523         * device/lib/pdk14/__gptrget.s,
12524           device/lib/pdk15/__gptrget.s:
12525           Fix generic pointer read.
12526         * sim/ucsim/pdk.src/inst.cc:
12527           Fix push af / pop af simulation.
12529 2019-03-05 Philipp Klaus Krause <pkk AT spth.de>
12531         * support/regression/ports/pdk14/support.c:
12532           Fix regression-test _putchar for pdk14.
12533         * device/lib/pdk14/__gptrget.s,
12534           device/lib/pdk15/__gptrget.s:
12535           Fix generic pointer read.
12536         * sim/ucsim/pdk.src/glob.cc,
12537           sim/ucsim/pdk.src/inst.cc:
12538           pdk14 bit instruction fix, patch by Nicolas Lesser.
12540 2019-03-05 Philipp Klaus Krause <pkk AT spth.de>
12542         * support/regression/tests/bug-2363.c,
12543           support/regression/tests/bug-2756.c,
12544           support/regression/tests/gcc-torture-execute-20011008-3.c,
12545           support/regression/tests/gcc-torture-execute-20020402-3.c,
12546           support/regression/tests/gcc-torture-execute-20100430-1.c,
12547           support/regression/tests/gcc-torture-execute-cmpdi-1.c,
12548           support/regression/tests/gcc-torture-execute-longlong.c,
12549           support/regression/tests/gcc-torture-execute-memcpy-bi.c,
12550           support/regression/tests/gcc-torture-execute-mode-dependent-address.c,
12551           support/regression/tests/gcc-torture-execute-p18298.c,
12552           support/regression/tests/gcc-torture-execute-strcmp-1.c,
12553           support/regression/tests/gcc-torture-execute-strcpy-1.c,
12554           support/regression/tests/gcc-torture-execute-strncmp-1.c,
12555           support/regression/tests/gcc-torture-execute-struct-cpy-1.c,
12556           support/regression/tests/new_wide.c,
12557           support/regression/tests/wchar.c
12558           support/regression/tests/bug-2684.c,
12559           support/regression/tests/bug-2732.c,
12560           support/regression/tests/dhrystone.c,
12561           support/regression/tests/gcc-torture-execute-20050826-1.c,
12562           support/regression/tests/gcc-torture-execute-991216-1.c,
12563           support/regression/tests/gcc-torture-execute-pr47538.c,
12564           support/regression/tests/gcc-torture-execute-pr68532.c,
12565           support/regression/tests/qsort.c:
12566           Disable tests that won't work for pdk14 due to lack of memory.
12567         * sdas/asxxsrc/asout.c,
12568           sdas/linksrc/lkrloc3.c,
12569           sim/ucsim/pdk.src/pdk.cc,
12570           sim/ucsim/pdk.src/inst.cc:
12571           pdk14 fixes, patch by Nicolas Lesser.
12573 2019-03-04 Philipp Klaus Krause <pkk AT spth.de>
12575         * sdas/asxxsrc/asout.c:
12576           Assembler fix, patch by Nicolas Lesser.
12577         * sim/ucsim/Makefile.in,
12578           sim/ucsim/configure,
12579           sim/ucsim/configure.ac,
12580           sim/ucsim/globals.cc,
12581           sim/ucsim/globals.h,
12582           sim/ucsim/packages_in.mk,
12583           sim/ucsim/stypes.h,
12584           support/regression/ports/pdk14/spec.mk,
12585           support/regression/ports/pdk14/support.c:
12586           pdk14 simulator, patch by Nicolas Lesser.
12588 2019-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12590         * src/mcs51/gen.c: fix bug #2729
12591         * support/regression/tests/bool.c: reenable test
12593 2019-03-01 Philipp Klaus Krause <pkk AT spth.de>
12595         * src/pdk/ralloc.c:
12596           Dump debug info after register assignment.
12597         * support/regression/tests/gcc-torture-execute-20000314-3.c:
12598           Disable failing test, where solution is not clear yet (bug #2878).
12600 2019-03-01 Philipp Klaus Krause <pkk AT spth.de>
12602         * src/SDCCopt.c:
12603           Fix bug #2876.
12605 2019-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12607         * src/SDCCast.c: fix bug #2873
12608         * support/regression/tests/literalop.c: add casts to fix
12609           integer promotion of hexadeciaml constants in ?: operator.
12611 2019-02-26 Philipp Klaus Krause <pkk AT spth.de>
12613         * support/regression/tests/gcc-torture-execute-960116-1.c
12614           support/regression/tests/gcc-torture-execute-cvt-1.c
12615           support/regression/tests/gcc-torture-execute-loop-2c.c
12616           support/regression/tests/gcc-torture-execute-pr20601-1.c
12617           support/regression/tests/gcc-torture-execute-pr33870-1.c
12618           support/regression/tests/gcc-torture-execute-pr33870.c
12619           support/regression/tests/gcc-torture-execute-pr37125.c
12620           support/regression/tests/gcc-torture-execute-pr63843.c
12621           support/regression/tests/gcc-torture-execute-pr65215-1.c
12622           support/regression/tests/gcc-torture-execute-pr65215-2.c
12623           support/regression/tests/gcc-torture-execute-pr68841.c
12624           support/regression/tests/gcc-torture-execute-stdarg-5.c
12625           support/regression/tests/gcc-torture-execute-unroll-1.c
12626           support/regression/tests/inline.c
12627           Disable tests that are unlikely to compile for pdk14 anytime soon.
12628         * src/pdk/gen.c:
12629           Fix an issue in handling aop for spilt variables.
12631 2019-02-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12633         * src/SDCCsymt.c: fix bug #2861
12635 2019-02-20 Philipp Klaus Krause <pkk AT spth.de>
12637         * src/SDCCopt.c:
12638           Generalize loop narrowing (part of RFE #530).
12640 2019-02-20 Philipp Klaus Krause <pkk AT spth.de>
12642         * src/pdk/gen.c:
12643           Do not emit set0, set1 with memory operand fpr pdk13, as assembler support for these likely won't be ready for SDCC 3.9.0.
12644         * device/lib/pdk13:
12645           Infrastructure for pdk13 library.
12647 2019-02-15 Philipp Klaus Krause <pkk AT spth.de>
12649         * sdas/asxxsrc/asout.c,
12650           sdas/linksrc/lkrloc3.c:
12651           Fix relocation of addresses in ROM, patches by Nicolas Lesser.
12652         * sdas/aspdk/pdkmch.c:
12653           Fix handling of literals, patch by Nicolas Lesser.
12655 2019-02-14 Philipp Klaus Krause <pkk AT spth.de>
12657         * src/pdk/gen.c:
12658           Disable use of idxm, ldtabl, stt16, ldt16 on direct operands, since we can't handle alignment requirements yet.
12659         * sdas/aspdk/pdkmch.c,
12660           sdas/aspdk14/pdk14mch.c,
12661           sdas/aspdk15/pdk15mch.c,
12662           sdas/asxxsrc/asout.c,
12663           sdas/asxxsrc/asxxxx.h,
12664           sdas/linksrc/lkrloc3.c:
12665           pdk assembler fixes, patch by Nicolas Lesser.
12667 2019-02-13 Philipp Klaus Krause <pkk AT spth.de>
12669         * support/regression/tests/gcc-torture-execute-20030714-1.c,
12670           support/regression/tests/gcc-torture-execute-921208-1.c,
12671           support/regression/tests/gcc-torture-execute-930702-1.c,
12672           support/regression/tests/gcc-torture-execute-991112-1.c,
12673           support/regression/tests/gcc-torture-execute-func-ptr-1.c,
12674           support/regression/tests/gcc-torture-execute-pr34456.c,
12675           support/regression/tests/z88dk.c,
12676           support/regression/tests/gcc-torture-execute-20010409-1.c,
12677           support/regression/tests/gcc-torture-execute-pr60003.c,
12678           support/regression/tests/setjmp.c,
12679           support/regression/tests/loop.c:
12680           Disable tests that are unlikely to compile for pdk14 anytime soon.
12681         * src/z80/gen.c:
12682           Fix wide comparison with immediate, fix a corner case of & with one stack operand, fix comparison with stack operand, fix multiplication by negative literal.
12683         * src/pdk/main.c,
12684           src/stm8/main.c:
12685           Fix extended alignment.
12687 2019-02-13 Philipp Klaus Krause <pkk AT spth.de>
12689         * src/z80/gen.c:
12690           Fix bug #2875.
12692 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12694         * src/pdk/gen.c,
12695           src/pdk/ralloc2.cc:
12696           Fix subtraction by immediate, &^| with both operands on stack, left shift of on-stack operand.
12697         * device/lib/pdk14/Makefile.in,
12698           device/lib/pdk15/Makefile.in:
12699           Enable missing support functions.
12700         * support/regression/tests/bug-2551.c,
12701           support/regression/tests/bug-2554.c,
12702           support/regression/tests/bug-2558.c,
12703           support/regression/tests/bug-2559.c,
12704           support/regression/tests/gcc-torture-execute-920721-3.c,
12705           support/regression/tests/gcc-torture-execute-20050106-1.c,
12706           support/regression/tests/gcc-torture-execute-20060930-2.c:
12707           Disable tests that fail to compile due to bug #2874.
12708         * support/regression/tests/bug-2663.c,
12709           support/regression/tests/bug-2767.c,
12710           support/regression/tests/bug-716242.c,
12711           support/regression/tests/bug1908493.c,
12712           support/regression/tests/bug2077267.c,
12713           support/regression/tests/bug3379723.c:
12714           Disable tests that are unlikely to compile for pdk14 anytime soon.
12715         * device/lib/pdk14/heap.s,
12716           device/lib/pdk14/heap.s:
12717           Default heap of 64 Bytes for pdk14, pdk15.
12718         * src/pdk/main.c:
12719           Report lack of code generation support for division by constant.
12721 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12723         * src/z80/ralloc.c,
12724           support/regression/tests/bug-2031.c:
12725           Allow rematerialization of pointer-to-integer cast, fixes a gbz80 initialization bug.
12727 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12729         * src/pdk/gen.c,
12730           src/pdk/ralloc.c:
12731           Fix various pdk issues.
12732         * support/regression/tests/bug-1918.c,
12733           support/regression/tests/bug-2124.c,
12734           support/regression/tests/bug-2271.c,
12735           support/regression/tests/bug-2274.c,
12736           support/regression/tests/bug-2305.c,
12737           support/regression/tests/bug-2349.c,
12738           support/regression/tests/bug-2373.c,
12739           support/regression/tests/bug-2455.c,
12740           support/regression/tests/bug-2497.c:
12741           Disable tests that are unlikely to compile for pdk14 anytime soon.
12743 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12745         * src/pdk/gen.c:
12746           Use ltabl for pdk15, improve shifts.
12747         * src/SDCCglue.c:
12748           Fix initialization of bit-fields in code space for pdk.
12750 2019-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12752         * src/SDCCicode.c: fix bug #2829
12754 2019-02-11 Philipp Klaus Krause <pkk AT spth.de>
12756         * support/regression/ports/pdk14/support.c:
12757           Make regression tests compile, even before simulator is ready.
12758         * device/lib/pdk14/Makefile.in,
12759           device/lib/pdk15/Makefile.in:
12760           Enable a missing support function.
12761         * src/pdk/gen.c:
12762           Improve bit-field access.
12764 2019-02-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12766         * src/pdk/gen.c:
12767           Fix handling of wide return values.
12769 2019-02-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12771         * sim/ucsim/z80.src/inst_ed.c:
12772           Implement Z80/Z180/eZ80 rld, rrd.
12773         * src/z80/gen.c,
12774           support/regression/tests/bitfields.c:
12775           Improve bit-field write.
12777 2019-02-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12779         * sdas/asrab/rabadr.c,
12780           src/z80/gen.c:
12781           Fix bug #2869.
12783 2019-02-08 Philipp Klaus Krause <pkk AT spth.de>
12785         * src/pdk/gen.c
12786           src/pdk/ralloc2.cc:
12787           Various pdk improvements.
12789 2019-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12791         * src/SDCCdwarf2.c: fix bug #2762
12793 2019-02-08 Philipp Klaus Krause <pkk AT spth.de>
12795         * src/pdk/gen.c,
12796           src/pdk/main.c,
12797           src/pdk/ralloc2.cc:
12798           Various pdk improvements.
12799         * device/lib/calloc.c,
12800           device/lib/free.c,
12801           device/lib/malloc.c,
12802           device/lib/realloc.c:
12803           Improve dynamic memory management for pdk.
12804         * device/lib/_memchr.c:
12805           Improve comparison.
12807 2019-02-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12809         * configure,
12810           configure.ac,
12811           device/include/stdlib.h,
12812           device/lib/Makefile.in,
12813           device/lib/clean.mk,
12814           device/lib/pdk15/Makefile.in,
12815           device/lib/pdk15:
12816           pdk15 library.
12817         * src/pdk/main.c,
12818           src/pdk/gen.c:
12819           Improve read from pointer.
12821 2019-02-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12823         * Makefile.common.in,
12824           Makefile.in,
12825           configure,
12826           configure.ac,
12827           sdccconf_in.h,
12828           src/pdk/main.c,
12829           sdas/aspdk15:
12830           pdk15 assembler, patch by Nicolas Lesser.
12832 2019-02-07 Philipp Klaus Krause <pkk AT spth.de>
12834         * .version,
12835           Makefile.in,
12836           configure,
12837           configure.ac,
12838           doc/sdccman.lyx:
12839           Remove sdcclib.
12840         * sim/ucsim/sim.src/var.cc,
12841           sim/ucsim/sim.src/varcl.h,
12842           sim/ucsim/stm8.src/glob.cc,
12843           sim/ucsim/stm8.src/stm8.cc:
12844           stm8 simulator fixes, patches by Mike Jagdis.
12846 2019-02-07 Philipp Klaus Krause <pkk AT spth.de>
12848         * sdas/aspdk14,
12849           sdas/aspdk,
12850           device/lib/pdk14/Makefile.in:
12851           Assembler refactoring, patch by Nicolas Lesser.
12853 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12855         * src/pdk/gen.c,
12856           src/pdk/gen.h,
12857           src/pdk/ralloc.c,
12858           src/pdk/ralloc2.cc,
12859           src/pdk/gen.c:
12860           Various improvements in register allocation.
12861         * sdas/linksrc/lkrloc3.c:
12862           Fix a linker issue, patch by Nicolas Lesser.
12863         * device/lib/pdk14/__gptrget.s:
12864           Fix an issue in read from pointer to ROM.
12866 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12868         * src/pdk/ralloc.c,
12869           src/pdk/gen.c:
12870           Rematerialization.
12872 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12874         * src/pdk/gen.c:
12875           Fix direct read from variable in code space.
12877 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12879         * src/pdk/gen.c:
12880           Implement write of non-literal to bit-field.
12882 2019-02-05 Philipp Klaus Krause <pkk AT spth.de>
12884         * src/pdk/gen.c:
12885           Implement read from bit-field, literal write to bit-field.
12886         * src/pdk/ralloc2.cc:
12887           Improve handling of p wrt. pointer read / write in register allocation.
12889 2019-02-05 Philipp Klaus Krause <pkk AT spth.de>
12891         * src/pdk/gen.c:
12892           Fix signed comparison by 0.
12893         * Makefile.in,
12894           configure,
12895           configure.ac,
12896           src/pdk/main.c,
12897           sdas/aspdk,
12898           sdas/aspdk14:
12899           Assembler rename, based on patch by Nicolas Lesser.
12901 2019-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12903         * src/SDCCast.c: fix bug #2863
12905 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12907         * src/pdk/gen.c:
12908           Fix early return from interrupt.
12910 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12912         * doc/Makefile.in:
12913           Fix dependencies.
12915 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12917         * src/SDCCglue.c:
12918           Fix a pointer initalization issue.
12919         * src/pdk/main.c:
12920           Save a word in stack-pointer setup.
12922 2019-02-02 Philipp Klaus Krause <pkk AT spth.de>
12924         * src/SDCCglue.c,
12925           src/SDCCglue.h,
12926           src/ds390/gen.c,
12927           src/hc08/gen.c,
12928           src/mcs51/gen.c:
12929           Use ret k for constant data.
12931 2019-02-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12933         * support/scripts/sdcc.nsi: add support for ez80_z80
12935 2019-01-31 Philipp Klaus Krause <pkk AT spth.de>
12937         * src/SDCCasm.c,
12938           src/SDCCasm.h,
12939           src/pdk/main.c:
12940           Use ret k for constant data bytes.
12942 2019-01-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12944         * sim/ucsim/z80.src/ez80.cc: add needed header for int8_t
12946 2019-01-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12948         * doc/sdccman.lyx:
12949           Clarify documentation on library path options.
12951 2019-01-28 Philipp Klaus Krause <pkk AT spth.de>
12953         * src/SDCC.y:
12954           Document bug #2858 workaround.
12956 2019-01-27 Philipp Klaus Krause <pkk AT spth.de>
12958         * sdas/aspdk/pdkmch.c:
12959           Fix idxm, patch by Tim (cpldcpu).
12960         * device/lib/pdk14/Makefile.in:
12961           Use generic memcpy(), unsigned 8 x 8 -> 16 multiplication and unsigned division for pdk14.
12962         * src/pdk/main.c:
12963           Fix int x int -> long multiplication.
12964         * src/pdk/main.c,
12965           src/pdk/gen.c:
12966           Code generation for 8 x 8 (lit) -> 8 multiplication.
12967         * configure,
12968           configure.ac,
12969           src/SDCCmain.c,
12970           src/pdk/main.c,
12971           src/pdk/ralloc2.cc,
12972           src/port.h:
12973           Infrastructure for pdk13, pdk15.
12975 2019-01-27 Philipp Klaus Krause <pkk AT spth.de>
12977         * aspdk/pdkmch.c,
12978           asxxsrc/asout.c,
12979           asxxsrc/asxxxx.h,
12980           asxxsrc/sdas.c,
12981           asxxsrc/sdas.h,
12982           linksrc/lkrloc3.c:
12983           Linker and assembler fixes for pdk14, patch by Nicolas Lesser.
12984         * src/pdk/gen.c:
12985           Fix code generation for unary float minus and calls to functions returning more than a word.
12986         * device/lib/pdk14/__gptrget.s:
12987           Asm syntax fix.
12989 2019-01-20 Philipp Klaus Krause <pkk AT spth.de>
12991         * src/z80/gen.c,
12992           support/regression/tests/bug-2866.c:
12993           Fix bug #2866.
12995 2019-01-19 Philipp Klaus Krause <pkk AT spth.de>
12997         * sdas/aspdk/pdkmch.c:
12998           Fix shifts, patch by Tim (cpldcpu).
12999         * src/pdk/gen.c:
13000           Fix signed comparison, fix pointer write with integer literal cast to pointer.
13002 2019-01-18 Philipp Klaus Krause <pkk AT spth.de>
13004         * src/pdk/gen.c:
13005           Fix !.
13007 2019-01-16 Philipp Klaus Krause <pkk AT spth.de>
13009         * src/pdk/main.c:
13010           Switch default code location for bytewise addressing in ROM.
13012 2019-01-15 Philipp Klaus Krause <pkk AT spth.de>
13014         * sdas/aspdk/pdk.h,
13015           sdas/aspdk/pdkadr.c,
13016           sdas/aspdk/pdkmch.c,
13017           sdas/aspdk/pdkpst.c:
13018           Assembler fixes, patch by Nicolas Lesser.
13019         * src/pdk/main.c:
13020           Switch .org use to bytewise addressing in ROM.
13022 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
13024         * src/pdk/main.c:
13025           Use sensible default for --code-loc.
13027 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
13029         * src/pdk/main.c:
13030           Various glue code for program startup.
13032 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
13034         * device/lib/time.c:
13035           Make some variables const so save RAM on targets that do not have __code.
13036         * src/pdk/gen.c:
13037           Fix a segfault in code generation for &.
13038         * sdas/aspdk/pdk.h,
13039           sdas/aspdk/pdkadr.c,
13040           sdas/aspdk/pdkmch.c:
13041           Assembler fixes and syntax change, patch by Nicolas Lesser.
13042         * src/pdk/gen.c,
13043           device/lib/pdk14/__gptrget.s:
13044           Update for assembler syntax change.
13045         * src/SDCCsymt.c,
13046           device/lib/Makefile.in,
13047           Enable build of pdk14 library.
13049 2019-01-11 Philipp Klaus Krause <pkk AT spth.de>
13051         * device/lib/pdk14/Makefile.in:
13052           Use sdaspdk to build pdk14 library.
13053         * src/pdk/main.c,
13054           src/pdk/gen.c:
13055           Fix generation of invalid asm in a few places.
13056         * sdas/aspdk/pdkmch.c,
13057           sdas/aspdk/pdkpst.c:
13058           Assembler fixes, patch by Nicolas Lesser.
13059         * support/regression/ports/pdk14/spec.mk:
13060           Prepare for future pdk14 regression testing.
13062 2019-01-11 Philipp Klaus Krause <pkk AT spth.de>
13064         * sdas/aspdk,
13065           Makefile.common.in,
13066           Makefile.in,
13067           configure,
13068           configure.ac,
13069           sdas/linksrc/Makefile.in,
13070           sdas/linksrc/sdld.c,
13071           sdas/linksrc/sdld.h,
13072           src/pdk/main.c:
13073           Assembler for pdk14, patch by Nicolas Lesser.
13075 2019-01-11 Philipp Klaus Krause <pkk AT spth.de>
13077         * src/pdk/main.c:
13078           Work around lack of link-time arithmetic.
13080 2019-01-10 Philipp Klaus Krause <pkk AT spth.de>
13082         * src/pdk/gen.c,
13083           device/lib/pdk14/__gptrget.s:
13084           Use knowledge on byte order for push af.
13086 2019-01-09 Philipp Klaus Krause <pkk AT spth.de>
13088         * src/pdk/main.c:
13089           Fix invalid use of .dw for variables in ROM.
13090         * src/pdk/gen.c:
13091           Fix various issues in code generation.
13093 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13095         * src/pdk/gen.c,
13096           device/lib/pdk14/__gptrget.s:
13097           Support variables in ROM.
13099 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13101         * src/pdk/gen.c,
13102           src/pdk/ralloc2.cc:
13103           Minor fixes.
13104         * src/SDCCast.c:
13105           Enable standard library call optimization for pdk14.
13107 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13109         * src/pdk/gen.c,
13110           src/pdk/ralloc2.cc:
13111           Optimize conditional jump on bit test.
13113 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13115         * src/pdk/gen.c:
13116           Fixes for subtraction.
13117         * src/SDCCglue.c:
13118           Fix output of __sfr locations.
13120 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13122         * src/pdk/gen.c:
13123           Generate better code for ^, |, &.
13125 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13127         * src/pdk/gen.c:
13128           Slightly improve __sfr16 handling, fix pseudoregister saving in interrupt routine.
13129         * src/pdk/main.c:
13130           Fix zero-initialization of upper byte of pseudo-register p.
13132 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13134         * support/regression/tests/*.c:
13135           Enable some regression tests that need struct assignment support.
13137 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13139         * src/pdk/gen.c,
13140           device/lib/pdk14/Makefile.in:
13141           Implement unary float minus, enable build of most of the float library.
13143 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13145         * src/pdk/gen.c:
13146           Fix handling of non-stack temporary operands in cost function.
13147         * device/lib/pdk14/Makefile.in:
13148           Enable build of more library functions.
13150 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13152         * src/stm8/peeph.def:
13153           Fixes and improvements for stm8 peephole rules, patch by Visenri.
13155 2019-01-07 Philipp Klaus Krause <pkk AT spth.de>
13157         * src/z80/gen.c:
13158           ez80_z80 fixes.
13159         * src/z80/gen.c:
13160           Only use eZ80 lea for stack frame setup when doing so provides a code size advantage.
13161         * .version:
13162           Bump version for stable ez80_z80 backend.
13163         * support/regression/Makefile.in:
13164           Include ez80_z80 backend in test-z80 target.
13166 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13168         * support/regression/ports/ez80-z80/spec.mk:
13169           Use new eZ80 uCsim in ez80_z80 regression tests.
13170         * src/z80/gen.c:
13171           ez80_z80 fixes.
13173 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13175         * src/pdk/gen.c,
13176           src/pdk/ralloc.c:
13177           Support for return values wider than 16 bit.
13178         * src/SDCCmem.c:
13179           Fix handling of 1-byte stack parameters.
13181 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13183         * src/pdk/gen.c:
13184           Fixes for reentrant functions.
13186 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13188         * src/pdk/gen.c:
13189           Fix handling of stack adjustment on early return for on-stack variables.
13190           src/pdk/main.c:
13191           Initialize upper byte of pseudo-register p.
13193 2019-01-06 Philipp Klaus Krause <pkk AT spth.de>
13195         * src/pdk/gen.c,
13196           src/pdk/ralloc.c,
13197           src/SDCCbtree.cc:
13198           Improve support for reentrant functions.
13199         * support/regression/ports/pdk14,
13200           support/regression/Makefile.in,
13201           support/regression/fwk/include/testfwk.h:
13202           Basic infrastructure for future pdk14 regression testing.
13204 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13206         * src/pdk/main.c:
13207           Initialization of global / static variables.
13209 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13211         * device/lib/pdk14/Makefile.in:
13212           Don't try to compile library functions that will not work anytime soon.
13213         * src/SDCCglue.c:
13214           Emit sfr locations for pdk14.
13215         * device/include/stdlib.h:
13216           Mark bsearch(), qsort() function pointers as __reentrant for pdk14.
13217         * src/pdk/main.c:
13218           Properly announce lack of support for extended bit operations.
13219         * src/pdk/gen.c:
13220           Fix some cases of pointer read / write.
13221         * src/SDCCicode.c:
13222           Pass 8-bit arguments as 16 bit on stack on pdk14 to satisfy alignment requirements.
13224 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13226         * src/SDCCmem.c:
13227           Improve error handling on missing output storage class.
13229 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13231         * src/pdk/gen.c:
13232           Implement & for stack objects.
13233         * device/lib/pdk14/Makefile.in:
13234           Don't try to compile library functions that will not work anytime soon.
13236 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13238         * src/pdk/main.c,
13239           src/pdk/gen.c,
13240           src/pdk/ralloc2.cc:
13241           Better unsigned char comparisons.
13242         * device/lib/pdk14,
13243           configure.ac,
13244           configure:
13245           Infrastructure for pdk14 library.
13247 2019-01-04 Philipp Klaus Krause <pkk AT spth.de>
13249         * src/pdk/gen.h,
13250           src/pdk/gen.c:
13251           Rudimentary support for arguments on the stack.
13253 2019-01-03 Philipp Klaus Krause <pkk AT spth.de>
13255         * src/pdk/main.c,
13256           src/pdk/gen.c,
13257           src/SDCCsymt.c:
13258           Implement basic I/O support (__sfr, __sfr16).
13259         * src/port.h,
13260           src/SDCCsymt.c:
13261           Prepare for future pdk13, pdk15 and pdk16 backends.
13263 2019-01-03 Benedikt Freisen <b.freisen AT gmx.net>
13265         * src/version.awk:
13266           Fix bug #2818.
13268 2019-01-03 Philipp Klaus Krause <pkk AT spth.de>
13270         * src/pdk/gen.c,
13271           src/pdk/ralloc2.cc:
13272           Implement support for dummy read from volatile in direct space.
13274 2019-01-02 Philipp Klaus Krause <pkk AT spth.de>
13276         * src/SDCCsymt.c,
13277           src/SDCCerr.h,
13278           src/SDCCerr.c,
13279           support/valdiag/tests/bug-2773.c:
13280           Fix bug #2773.
13281         * src/ds390/main.c:
13282           Change the name of a hackish predefined macro for standard-compliance.
13284 2018-12-31 Philipp Klaus Krause <pkk AT spth.de>
13286         * doc/sdccman.lyx:
13287           Document default calling convention for z80, z180, r2k, r3ka, ez80_z80, tlcs90, stm8.
13288         * src/SDCCast.c:
13289           Fix bug #2850.
13290         * src/SDCCsymt.c:
13291           Fix bug #2797.
13292         * src/SDCCmain.c,
13293           src/mcs51/main.c,
13294           src/hc08/main.c,
13295           src/stm8/main.c:
13296           Fix bug #2809.
13297         * src/SDCClospre.hpp,
13298           support/regression/tests/bug-2558.c:
13299           Fix bug #2558.
13300         * src/SDCCast.c:
13301           Fix bug #2535.
13302         * device/lib/printf_large.c,
13303           support/regression/tests/bug-2732.c:
13304           Fix bug #2732.
13306 2018-12-30 Philipp Klaus Krause <pkk AT spth.de>
13308         * support/regression/tests/bug-2854.c:
13309           Fix read from uninitialized memory.
13310         * src/z80/peep.c:
13311           Handle eZ80 lea, pea in peephole size calculation.
13313 2018-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
13315         * support/regression/tests/bug-2854.c: disabled test, segmentation fault
13316         * configure, configure.ac: fixed help text
13317         * device/lib/clean.mk: also clean ez80
13319 2018-12-20 Philipp Klaus Krause <pkk AT spth.de>
13321         * src/z80/gen.c:
13322           Improve use of eZ80, Rabbit, TLCS-90 16-bit load.
13324 2018-12-19 Philipp Klaus Krause <pkk AT spth.de>
13326         * src/z80/gen.c:
13327           Implement RFE #594.
13329 2018-12-19 Philipp Klaus Krause <pkk AT spth.de>
13331         * src/z80/gen.c:
13332           Fix a recently-introduced bug in handling of 32-bit return values for gbz80.
13334 2018-12-18 Philipp Klaus Krause <pkk AT spth.de>
13336         * sdas/asz80/z80mch.c,
13337           sdas/asz80/z80pst.c,
13338           sdas/asz80/tez80.asm:
13339           Improve eZ80 assembler support, patch by Hynek Sladký.
13341 2018-12-16 Philipp Klaus Krause <pkk AT spth.de>
13343         * src/z80/gen.c:
13344           Fix a bug in wide read via pointer.
13346 2018-12-16 Philipp Klaus Krause <pkk AT spth.de>
13348         * src/z80/gen.c:
13349           Fix bug #2856.
13351 2018-12-15 Maarten Brock <sourceforge.brock AT dse.nl>
13353         * configure, configure.ac: changed warning into notice
13354         * sdas/asz80/z80mch.c: cosmetic
13355         * src/sdcc.vcxproj,
13356         * src/sdcc.vcxproj.filters: added missing SDCC.lex & SDCC.y
13357         * support/cpp/libcpp/files.c,
13358         * support/cpp/libcpp/identifiers.c,
13359         * support/cpp/libcpp/init.c,
13360         * support/cpp/libcpp/symtab.c: fixed warnings for unsigned size_t
13361         * support/regression/tests/bitopcse.c: only use idata for mcs51
13362         * support/regression/tests/gcc-torture-execute-20021120-1.c: disabled for
13363           hc08 & s08, uses way too much spillocs in DSEG
13364         * support/regression/tests/longlong.c: split the test in 3 parts
13365         * support/sdbinutils/bfd/targets.c: added "ASXXXX"
13366         * support/sdbinutils/libiberty/simple-object-elf.c: fixed warning
13368 2018-12-14 Philipp Klaus Krause <pkk AT spth.de>
13370         * src/z80/gen.c:
13371           Refactor handling of return values, steps towards RFE #594.
13373 2018-12-13 Philipp Klaus Krause <pkk AT spth.de>
13375         * src/SDCCicode.c,
13376           support/regression/tests/bug-2710.c:
13377           Fix bug #2710.
13378         * Makefile.in,
13379           sim/ucsim/Makefile.in:
13380           Remove dist target, fix bug #2679.
13381         * src/SDCCtree_dec.hpp:
13382           Improve fix for #1874.
13383         * sdas/asz80/z80mch.c:
13384           Turn a few eZ80-related warning into comments.
13386 2018-12-12 Philipp Klaus Krause <pkk AT spth.de>
13388         * sdas/asz80/z80mch.c:
13389           Fix handling of tst for eZ80, patch by Hynek Sladký.
13390         * src/z80/gen.c,
13391           support/regression/tests/bug-2854.c:
13392           Fix an issue in 8-bit parameters to __z88dk_fastcall, bugs #2852 and #2854.
13393         * src/hc08/ralloc2.cc:
13394           Fix bug #2215.
13395         * src/stm8/ralloc.c,
13396           src/z80/ralloc.c,
13397           support/regression/tests/bug-2501.c:
13398           Fix bug #2501.
13400 2018-12-11 Philipp Klaus Krause <pkk AT spth.de>
13402         * Merged ez80_z80 branch to trunk.
13404 2018-12-11 Philipp Klaus Krause <pkk AT spth.de>
13406         * device/include/math.h,
13407           device/include/sdcc-lib.h:
13408           Fixes for ez80_z80 library.
13409         * support/regression/ports/ez80-z80/spec.mk,
13410           support/regression/ports/ucz180/spec.mk:
13411           Preparation for ez80_z80 regression testing.
13413 2018-12-05 Philipp Klaus Krause <pkk AT spth.de>
13415         * sdas/asz80/z80mch.c:
13416           Improve eZ80 support in assembler, patch by Hynek Sladký.
13417         * configure,
13418           configure.ac,
13419           device/lib/Makefile.in,
13420           device/lib/ez80_z80/Makefile.in,
13421           src/z80/main.c,
13422           device/lib/ez80_z80:
13423           ez80_z80 library.
13425 2018-12-05 Philipp Klaus Krause <pkk AT spth.de>
13427         * src/pdk/ralloc2.cc,
13428           src/pdk/gen.c:
13429           Improve code for shifts.
13431 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13433         * src/pdk/ralloc2.cc,
13434           src/pdk/gen.c:
13435           Improve use of pseudoregister p.
13437 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13439         * src/SDCCtree_dec.hpp:
13440           Fix bug #1847.
13442 2018-12-04 Maarten Brock <sourceforge.brock AT dse.nl>
13444         * SDCCerr.c: replaced include sdccconf.h by SDCCglobl.h, required for MSVC
13446 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13448         * src/pdk/gen.c:
13449           Basic support for function pointers.
13451 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13453         * src/pdk/gen.c:
13454           Improve code generation for jump on comparison.
13456 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13458         * src/pdk/gen.c:
13459           Fix an issue in code generation for pointer read.
13461 2018-12-03 Philipp Klaus Krause <pkk AT spth.de>
13463         * src/pdk/ralloc.c,
13464           src/pdk/ralloc.h,
13465           src/pdk/ralloc2.cc,
13466           src/pdk/gen.c,
13467           src/pdk/gen.h,
13468           src/pdk/main.c:
13469           Basic register allocation.
13471 2018-12-03 Philipp Klaus Krause <pkk AT spth.de>
13473         * src/pdk/ralloc.c,
13474           src/pdk/gen.c:
13475           Allow return of up to 2 bytes.
13477 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13479         * src/pdk/main.c:
13480           Report lack of hardware multiplication.
13482 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13484         * src/pdk/gen.c,
13485           src/pdk/main.c,
13486           src/pdk/ralloc.c:
13487           Implement basic support for pointers.
13489 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13491         * src/pdk/gen.c:
13492           Implement comparison.
13494 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13496         * src/pdk/main.c,
13497           src/pdk/gen.c:
13498           Switch to little-endian to ease pointer-integer casts, fix addition.
13500 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13502         * src/pdk/gen.c:
13503           Implement shifts, complement, negation.
13505 2018-12-02 Philipp Klaus Krause <pkk AT spth.de>
13507         * src/SDCCpeeph.c:
13508           Peephole function for z88dk, patch from zsdcc fork diff by Phillip Stevens.
13509         * src/SDCC.lex,
13510           src/SDCC.y,
13511           src/SDCCerr.c,
13512           src/SDCCerr.h,
13513           src/SDCCsymt.c,
13514           src/SDCCsymt.h,
13515           src/z80/gen.c,
13516           src/z80/main.c:
13517           More z88dk-specific calling conventions, patch from zsdcc fork diff by Phillip Stevens.
13519 2018-12-02 Philipp Klaus Krause <pkk AT spth.de>
13521         * configure,
13522           configure.ac,
13523           sdccconf_in.h,
13524           src/SDCCmain.c,
13525           src/port.h,
13526           src/pdk,
13527           src/pdk/Makefile.in,
13528           src/pdk/main.c,
13529           src/pdk/ralloc.c,
13530           src/pdk/ralloc.h:
13531           Basic infrastructure for pdk14 backend.
13533 2018-12-01 Philipp Klaus Krause <pkk AT spth.de>
13535         * src/z80/gen.c:
13536           Use lea for ez80_z80.
13537         * sdas/asz80/z80.h,
13538           sdas/asz80/z80adr.c,
13539           sdas/asz80/z80mch.c,
13540           sdas/asz80/z80pst.c:
13541           eZ80 support in assembler, patch by Hynek Sladký.
13542         * src/SDCCglue.c:
13543           Use assembler ez80 mode for ez80_z80 backend.
13545 2018-12-01 Philipp Klaus Krause <pkk AT spth.de>
13547         * src/z80/gen.c:
13548           genAddrOf refactoring.
13550 2018-11-30 Philipp Klaus Krause <pkk AT spth.de>
13552         * configure,
13553           configure.ac,
13554           sdccconf_in.h,
13555           src/SDCCmain.c,
13556           src/port.h,
13557           src/z80/main.c,
13558           src/z80/z80.h,
13559           src/z80/peep.c,
13560           support/regression/ports/ez80-z80,
13561           device/include/setjmp.h,
13562           device/include/stdarg.h,
13563           device/include/stdlib.h,
13564           device/include/string.h,
13565           support/regression/fwk/include/testfwk.h:
13566           Basic ez80_z80 backend.
13568 2018-11-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13570         * src/stm8/gen.c:
13571           Improve code generation for negation.
13573 2018-11-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13575         * src/stm8/gen.c:
13576           Fix an issue in shift of large on-stack operands (part of bug #2844).
13578 2018-11-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13580         * src/stm8/gen.c:
13581           Fix an issue in call to function returning struct / union.
13583 2018-11-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13585         * src/stm8/gen.c:
13586           Fix an issue in code generation for subtraction (part of bug #2844).
13588 2018-11-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13590         * src/SDCCmem.c,
13591           support/regression/tests/bug-2842.c:
13592           Fix bug #2842.
13594 2018-11-24 Philipp Klaus Krause <pkk AT spth.de>
13596         * src/stm8/gen.c:
13597           Improve handling of right subtraction operand in a.
13599 2018-11-22 Philipp Klaus Krause <pkk AT spth.de>
13601         * src/stm8/gen.c:
13602           Fix an issue in right shift.
13604 2018-11-20 Philipp Klaus Krause <pkk AT spth.de>
13606         * src/stm8/gen.c:
13607           Improvements for previous commit
13608         * src/SDCCsalloc.hpp:
13609           New stack allocator: unaligned Chaitin.
13611 2018-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13613         * src/stm8/gen.c:
13614           Slightly more verbose error reporting.
13616 2018-11-18 Philipp Klaus Krause <pkk AT spth.de>
13618         * configure.ac,
13619           sdccconf_in.h,
13620           configure,
13621           src/SDCCerr.c,
13622           src/SDCCerr.h,
13623           src/stm8/gen.c:
13624           Provide backtrace on some internal errors.
13626 2018-11-16 Philipp Klaus Krause <pkk AT spth.de>
13628         * src/stm8/gen.c:
13629           Fix right shift of literal.
13631 2018-11-15 Philipp Klaus Krause <pkk AT spth.de>
13633         * support/regression/Makefile.in:
13634           Include stm8-large in default target for regression tests.
13635         * src/stm8/gen.c:
13636           Improve code generation for wide negation.
13638 2018-11-14 Philipp Klaus Krause <pkk AT spth.de>
13640         * src/SDCCsalloc.hpp,
13641           .version:
13642           A bit of fine-tuning in the aligned Chaitin stack allocator to avoid some inefficiencies from alignment.
13644 2018-11-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13646         * src/z80/gen.c:
13647           Fix issues in z80 code generation.
13648         * src/z80/mappings.i:
13649           Consistently use space after comma in asm output.
13651 2018-11-13 Philipp Klaus Krause <pkk AT spth.de>
13653         * src/stm8/gen.c,
13654           support/regression/tests/oldfmul.c:
13655           Fix an issue in code generation for shifts found while experimenting with stack allocation.
13656         * src/SDCCmem.c,
13657           src/SDCCsalloc.hpp,
13658           src/stm8/ralloc.c,
13659           src/stm8/ralloc2.cc,
13660           src/z80/ralloc.c:
13661           New stack allocator for stm8: aligned Chaitin.
13662         * device/lib/_fsmul.c:
13663           Improve float multiplication routine a bit.
13664         * support/regression/tests/bug-2833.c:
13665           Disable a new test for ds390 (where it fails).
13666         * src/stm8/gen.c:
13667           More flexible handling of register x in read from pointer.
13669 2018-11-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13671         * support/regression/tests/bug-2834.c:
13672           Test for bug #2834.
13673         * src/SDCCopt.c,
13674           support/regression/tests/bug-2833.c:
13675           Fix bug #2833 (patch by Noam Preil).
13676         * src/z80/gen.c:
13677           Minor improvements in handling on-stack variables.
13678         * src/SDCCsalloc.hpp,
13679           src/SDCCmem.c,
13680           src/SDCCmem.h,
13681           src/SDCCralloc.hpp,
13682           src/z80/ralloc.c,
13683           src/z80/ralloc.h,
13684           src/z80/ralloc2.cc:
13685           New default stack allocator for z80 and related: aligned Chaitin.
13686         * src/stm8/ralloc.c,
13687           src/stm8/ralloc.h,
13688           src/stm8/ralloc2.cc,
13689           src/z80/ralloc.h,
13690           src/z80/ralloc2.cc:
13691           Prepare for new stack allocator for stm8.
13692         * src/stm8/gen.c:
13693           Fix an issue in code generation for comparisons.
13695 2018-11-11 Philipp Klaus Krause <pkk AT spth.de>
13697         * src/z80/ralloc.h,
13698           src/z80/ralloc.c,
13699           src/z80/ralloc2.cc:
13700           Refactoring to prepare for alternative stack allocation.
13702 2018-11-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13704         * support/regression/tests/bug-2833.c:
13705           Test for bug #2833.
13707 2018-11-07 Philipp Klaus Krause <pkk AT spth.de>
13709         * src/stm8/gen.c:
13710           Improve code generation for some multiplications.
13711         * sim/ucsim/stm8.src/stm8.cc,
13712           sim/ucsim/stm8.src/inst.cc:
13713           Improve accuracy of timing in stm8 simulator.
13714         * src/stm8/peeph.def:
13715           Peephole rule to improve shifting via spilled pointers.
13717 2018-11-06 Philipp Klaus Krause <pkk AT spth.de>
13719         * src/SDCCopt.c:
13720           Apply % to & optimization in a few more cases.
13722 2018-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13724         * sim/ucsim/cmd.src/cmd_uc.cc,
13725           sim/ucsim/sim.src/hw.cc,
13726           sim/ucsim/sim.src/serial_hw.cc,
13727           sim/ucsim/sim.src/simifcl.h,
13728           sdas/linksrc/lklibr.c,
13729           src/SDCCerr.c,
13730           src/SDCCerr.h:
13731           Cherry-pick a few spelling fixes from Debian.
13733 2018-10-29 Philipp Klaus Krause <pkk AT spth.de>
13735         * src/stm8/gen.c:
13736           Improve code for dummy read.
13737         * support/regression/tests/gcc-torture-execute-pr38212.c,
13738           support/regression/tests/cse.c:
13739           Enable tests that no longer fail.
13741 2018-10-29 Philipp Klaus Krause <pkk AT spth.de>
13743         * src/stm8/gen.h,
13744           src/stm8/gen.c,
13745           src/stm8/peep.c,
13746           src/stm8/ralloc.c:
13747           Support offsets from symbols in rematerialization (RFE #446).
13749 2018-10-26 Philipp Klaus Krause <pkk AT spth.de>
13751         * src/mcs51/peeph.def:
13752           Fix a bug in an mcs51 peephole rule.
13754 2018-10-25 Philipp Klaus Krause <pkk AT spth.de>
13756         * src/mcs51/peeph.def:
13757           Fix bug #2832.
13758         * src/z80/gen.c:
13759           Fix some --reserve-regs-iy issues.
13760         * src/z80/mappings.i:
13761           Reformat to better match generated code.
13763 2018-10-24 Philipp Klaus Krause <pkk AT spth.de>
13765         * src/stm8/peep.c:
13766           Improve distance estimation for direct long addressing mode for jp and call.
13768 2018-10-24 Philipp Klaus Krause <pkk AT spth.de>
13770         * src/z80/peep.c,
13771           src/stm8/peep.c:
13772           Generalize the fix for #2830 to improve some peephole optimizations.
13774 2018-10-23 Philipp Klaus Krause <pkk AT spth.de>
13776         * src/z80/peep.c:
13777           Fix bug #2830, patch by Tom Li.
13779 2018-10-22 Philipp Klaus Krause <pkk AT spth.de>
13781         * src/SDCClrange.c,
13782           support/regression/tests/bug-2826.c:
13783           Fix bug #2826 in preincrement optimization.
13784         * .version:
13785           Bump version for completion of machine-independent preincrement opt.
13786         * src/z80/gen.c:
13787           Improve code generation for 16-bit increment of global variables.
13788         * src/z80/peeph-z80.def,
13789           src/z80/peeph-r2k.def:
13790           Optimize reuse of hl.
13792 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13794         * src/stm8/gen.c:
13795           Improve 16-bit pointer write, completes RFE #521.
13797 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13799         * src/stm8/gen.c:
13800           Improve ==, !=.
13802 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13804         * SDCClrange.c,
13805           src/SDCCpeeph.c,
13806           src/SDCCralloc.hpp,
13807           src/SDCCsymt.c,
13808           src/SDCCsymt.h,
13809           src/stm8/gen.c,
13810           src/stm8/peeph.def:
13811           Improve volatile handling in peepholes, fix a bug and implement RFE #585.
13812         * src/stm8/gen.c:
13813           Improve pointer read for stm8, completes RFE #545.
13815 2018-10-17 Philipp Klaus Krause <pkk AT spth.de>
13817         * support/regression/tests/bug-2822.c:
13818           Make test work for hc08.
13819         * device/lib/Makefile.in,
13820           src/SDCCmain.c:
13821           Fix bug #2823.
13823 2018-10-16 Philipp Klaus Krause <pkk AT spth.de>
13825         * src/stm8/peeph.def:
13826           Minor stm8 peephole improvement, RFE #584.
13827         * src/z80/gen.c:
13828           Fix bug #2801, #2674.
13830 2018-10-15 Philipp Klaus Krause <pkk AT spth.de>
13832         * src/z80/ralloc2.cc,
13833           support/regression/tests/bug-2822.c:
13834           Fix bug #2822.
13835         * src/SDCClospre.cc,
13836           support/regression/tests/bug-2820.c:
13837           Fix bug #2820.
13838         * src/SDCCicode.c,
13839           support/regression/tests/bug-2805.c:
13840           Fix bug #2805.
13842 2018-10-09 Philipp Klaus Krause <pkk AT spth.de>
13844         * src/stm8/gen.c:
13845           Use bit transfer instructions for 1-bit bit-field (part of RFE #446).
13847 2018-10-08 Philipp Klaus Krause <pkk AT spth.de>
13849         * src/z80/peeph-z80.def:
13850           Optimizations for 8-bit loop counters (RFE #431).
13851         * src/stm8/gen.c:
13852           Use bit set / reset instructions for 1-bit bit-fields (part of RFE #446).
13854 2018-10-08 Philipp Klaus Krause <pkk AT spth.de>
13856         * src/z80/gen.c:
13857           Improve code generation for 8-bit integers (addition of small constants, paramter passing) (RFE #583).
13858         * rc/SDCCBBlock.c,
13859           src/SDCCBBlock.h,
13860           src/SDCCsymt.c,
13861           src/SDCCsymt.h:
13862           Improve const use.
13863         * src/SDCClrange.c,
13864           src/SDCClrange.h,
13865           src/SDCCopt.c,
13866           src/stm8/gen.c,
13867           src/z80/peeph-z80.def:
13868           Optimize postincrement (RFE #581).
13870 2018-10-02 Philipp Klaus Krause <pkk AT spth.de>
13872         * src/stm8/gen.c:
13873           Fix an issue that resulted in overestimation of remat costs.
13874         * src/stm8/peeph.def:
13875           Optimize out dead loads from stack.
13876         * device/include/asm/*/features.h,
13877           device/lib/Makefile.in,
13878           device/lib/_memmove.c,
13879           device/lib/clean.mk,
13880           device/lib/__memcpy.c,
13881           device/lib/memcpy.c,
13882           device/lib/stm8-large/memcpy.s,
13883           device/lib/*/Makefile.in:
13884           Library memcpy() cleanup.
13886 2018-10-02 Philipp Klaus Krause <pkk AT spth.de>
13888         * src/stm8/gen.c:
13889           Improve wide arithmetic right shift.
13891 2018-10-01 Philipp Klaus Krause <pkk AT spth.de>
13893         * src/stm8/ralloc.c,
13894           src/stm8/gen.h,
13895           src/stm8/gen.c:
13896           Basic support for rematerialization of stack addresses.
13898 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13900         * src/stm8/gen.c:
13901           Improve wide addition.
13903 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13905         * src/stm8/gen.c:
13906           Improve 32-bit right shift by 6 to 7.
13908 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13910         * src/SDCCopt.c:
13911           Port an operand narrowing optimization to UNARYMINUS.
13912         * src/stm8/gen.c:
13913           Improve handling of trailing 0 in wide comparison.
13915 2018-09-29 Philipp Klaus Krause <pkk AT spth.de>
13917         * support/regression/tests/structassign.c:
13918           Use exactly representable values in union assignment test.
13919         * src/SDCClospre.cc:
13920           Prepare for use of different container types.
13921         * src/SDCCtree_dec.hpp:
13922           Cleanup.
13924 2018-09-27 Philipp Klaus Krause <pkk AT spth.de>
13926         * Merge next branch.
13928 2018-09-27 Philipp Klaus Krause <pkk AT spth.de>
13930         * src/SDCCtree_dec.hpp:
13931           Cherry-pick a minor performance improvement from lospre-vs-mcpre branch.
13933 2018-09-26 Philipp Klaus Krause <pkk AT spth.de>
13935         * src/SDCCtree_dec.hpp,
13936           src/SDCClospre.hpp,
13937           src/SDCClospre.cc:
13938           Remove hard dependencies on std::set to allow future transition to other containers.
13940 2018-09-25 Philipp Klaus Krause <pkk AT spth.de>
13942         * src/SDCC.y,
13943           src/SDCCerr.c,
13944           src/SDCCerr.h,
13945           src/SDCCsymt.c,
13946           src/SDCCsymt.h,
13947           support/valdiag/tests/struct.c,
13948           support/valdiag/tests/structflexiblearray.c:
13949           Fix bugs #2774, 2775.
13951 2018-09-23 Philipp Klaus Krause <pkk AT spth.de>
13953         * src/SDCClospre.hpp,
13954           src/SDCCralloc.hpp:
13955           Speed and memory usage improvements for tree-decomposition based algorithms.
13957 2018-09-20 Philipp Klaus Krause <pkk AT spth.de>
13959         * src/z80/peeph-r2k.def,
13960           src/z80/peeph-tlcs90.def,
13961           src/z80/peeph-z80.def:
13962           Fix bug #2814.
13964 2018-09-19 Philipp Klaus Krause <pkk AT spth.de>
13966         * support/scripts/repack_release.sh:
13967           Update script for 3.8.0 release.
13969 2018-09-18 Philipp Klaus Krause <pkk AT spth.de>
13971         * doc/README.txt:
13972           List TLCS-90 as supported target.
13973         * src/z80/peeph-z80.def,
13974           src/z80/peeph-r2k.def:
13975           Minor z80 peephole improvement.
13977 2018-09-16 Philipp Klaus Krause <pkk AT spth.de>
13979         * .version,
13980           doc/INSTALL.txt,
13981           sdcc.spec:
13982           Bump version number preparing for 3.8.0 release.
13984 2018-09-14 Philipp Klaus Krause <pkk AT spth.de>
13986         * src/stm8/main.c,
13987           support/regression/tests/smallc.c,
13988           support/regression/tests/bug-2590.c,
13989           support/regression/tests/z88dk.c:
13990           Disable __smallc for stm8.
13992 2018-09-13 Philipp Klaus Krause <pkk AT spth.de>
13994         * src/SDCCicode.c,
13995           src/SDCCmem.c,
13996           src/z80/gen.c,
13997           src/z80/ralloc.c:
13998           Fix bug #2811.
14000 2018-09-12 Philipp Klaus Krause <pkk AT spth.de>
14002         * src/SDCCval.c,
14003           support/regression/tests/iso-8859-1.c:
14004           Fix bug #2812.
14006 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14008         * src/stm8/gen.c:
14009           Improve wide right shift.
14011 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14013         * src/stm8/ralloc2.cc,
14014           src/stm8/gen.c:
14015           Improve jump on sign bit.
14017 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14019         * support/regression/tests/structassign.c:
14020           Test more struct sizes.
14021         * src/SDCCopt.c:
14022           Narrow |.
14023         * src/stm8/peeph.def:
14024           Minor stm8 peephole improvement.
14025         * src/stm8/gen.c:
14026           Improve wide pointer reads and shifts.
14027         * src/stm8/peep.c:
14028           Improve notUsed() accuracy.
14030 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14032         * device/include/string.h,
14033           device/lib/_memcpy.c,
14034           device/lib/stm8/memcpy.s,
14035           doc/sdccman.lyx,
14036           src/SDCCast.c,
14037           src/SDCCerr.c,
14038           src/SDCCerr.h,
14039           src/SDCCopt.c,
14040           src/SDCCsymt.c,
14041           src/SDCCsymt.h,
14042           support/regression/tests/gcc-torture-execute-20011008-3.c,
14043           support/regression/tests/gcc-torture-execute-20050826-2.c,
14044           support/regression/tests/gcc-torture-execute-lto-tbaa-1.c,
14045           support/regression/tests/gcc-torture-execute-pr39339.c,
14046           support/regression/tests/gcc-torture-execute-pr70127.c,
14047           support/regression/tests/gcc-torture-execute-struct-cpy-1.c,
14048           support/regression/tests/structassign.c:
14049           Support for struct / union assignment, patch by Benedikt Freisen (roybaer).
14051 2018-09-10 Philipp Klaus Krause <pkk AT spth.de>
14053         * src/stm8/peeph.def:
14054           Minor stm8 peephole improvement.
14055         * src/stm8/gen.c,
14056           support/regression/tests/gcc-torture-execute-991112-1.c:
14057           Fix a bug in function pointer handling.
14059 2018-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14061         * support/cpp/Makefile.in: move current directory earlier in
14062           the include file search path
14064 2018-09-01 Philipp Klaus Krause <pkk AT spth.de>
14066         * src/stm8/gen.c,
14067           support/regression/tests/bug-2807.c:
14068           Fix bug #2807.
14070 2018-08-30 Philipp Klaus Krause <pkk AT spth.de>
14072         * src/stm8/main.c,
14073           .version:
14074           Make default segment ordering suitable for large memory model.
14075         * support/regression/tests/gcc-torture-execute-func-ptr-1.c:
14076           Enable test that now passes for stm8 large memory model.
14078 2018-08-26 Philipp Klaus Krause <pkk AT spth.de>
14080         * device/lib/pic14/*,
14081           device/lib/pic16/*:
14082           Regenerate files to fix bug #2806.
14083         * src/SDCClospre.cc:
14084           Minor lospre code refactoring.
14086 2018-08-25 Philipp Klaus Krause <pkk AT spth.de>
14088         * src/SDCCicode.h,
14089           src/SDCCicode.c,
14090           support/regression/tests/bug-2804.c:
14091           Fix bug #2804.
14092         * src/stm8/peeph.def:
14093           Remove redundant ret.
14094         * src/SDCClospre.cc:
14095           Trigger assertion failure before SIGSEV when dumping graph of non-existing function.
14097 2018-08-24 Philipp Klaus Krause <pkk AT spth.de>
14099         * support/regression/tests/gcc-torture-execute-strcpy-1.c:
14100           Reduce risk of timeout due to long test.
14102 2018-08-23 Philipp Klaus Krause <pkk AT spth.de>
14104         * sim/ucsim/stm8.src/stm8.cc:
14105           Fix bug #2803.
14107 2018-08-22 Philipp Klaus Krause <pkk AT spth.de>
14109         * support/regression/ports/hc08/spec.mk,
14110           support/regression/ports/s08/spec.mk,
14111           support/regression/tests/gcc-torture-execute-arith-rand.c,
14112           support/regression/tests/gcc-torture-execute-strcmp-1.c,
14113           support/regression/tests/gcc-torture-execute-strncmp-1.c:
14114           Reduce risk of timeouts due to long tests.
14115         * support/regression/tests/rand.c:
14116           Disable a test on the broken OpenBSD.
14118 2018-08-20 Philipp Klaus Krause <pkk AT spth.de>
14120         * sdcc/doc/sdccman.lyx:
14121           Update documentation on library memory models.
14123 2018-08-20 Philipp Klaus Krause <pkk AT spth.de>
14125         * sdcc/sdccconf_in.h,
14126           sdcc/doc/sdccman.lyx:
14127           Remove infrastructure for STX support.
14129 2018-08-14 Maarten Brock <sourceforge.brock AT dse.nl>
14131         * support/regression/tests/gcc-torture-execute-20060110-2.c: enabled test
14132         * support/regression/tests/gcc-torture-execute-arith-rand.c: run only 100x
14134 2018-08-13 Maarten Brock <sourceforge.brock AT dse.nl>
14136         * src/mcs51/gen.c (genSend): fixed bugs #2778, #2736
14137         * support/regression/tests/gcc-torture-execute-divconst-3.c: enabled test
14138         * support/regression/fwk/include/testfwk.h: added __printu, fixed __printd
14139         * support/regression/tests/bug-1981238.c: enabled more tests
14140         * support/regression/tests/gcc-torture-execute-pr86231.c: fixed warnings
14141         * support/regression/tests/gcc-torture-execute-va-arg-14.c: suppress warning
14143 2018-08-10 Philipp Klaus Krause <pkk AT spth.de>
14145         * support/regression/tests/gcc-torture-execute-pr85529-2.c:
14146           Disable a test for older GCC.
14147         * support/regression/tests/new_wide.c:
14148           Disable a test for host.
14150 2018-08-08 Philipp Klaus Krause <pkk AT spth.de>
14152         * src/SDCCloop.c:
14153           Fix bug #2794.
14155 2018-08-06 Philipp Klaus Krause <pkk AT spth.de>
14157         * support/regression/tests/gcc-torture-execute-pr85529-1.c:
14158           Disable a test for older GCC.
14160 2018-08-05 Philipp Klaus Krause <pkk AT spth.de>
14162         * src/z80/gen.c:
14163           Improve error message on unbalanced stack.
14164         * support/regression/tests/bug-2793.c:
14165           Test for bug #2793.
14167 2018-08-03 Philipp Klaus Krause <pkk AT spth.de>
14169         * src/SDCCsymt.c:
14170           Fix an issue introduced in the bugfix for #2665.
14171         * src/stm8/peep.c,
14172           src/stm8/peeph.def:
14173           Minor improvements in STM8 peephole optimization.
14174         * src/stm8/gen.c:
14175           Minor improvement in STM8 subtraction codegen.
14177 2018-08-02 Philipp Klaus Krause <pkk AT spth.de>
14179         * support/regression/tests/gcc-torture-execute-va-arg-5.c:
14180           Disable a test for older GCC.
14181         * support/regression/ports/uc*/spec.mk:
14182           Harmonize simulation timeouts for z80-related.
14183         * src/SDCCsymt.c,
14184           src/SDCCdwarf2.c,
14185           src/z80/main.c,
14186           src/ds390/main.c,
14187           device/lib/_rrulonglong.c,
14188           device/lib/_rlulonglong.c,
14189           device/lib/_rrslonglong.c,
14190           device/lib/_rlslonglong.c:
14191           Fix bug #2665.
14193 2018-08-01 Philipp Klaus Krause <pkk AT spth.de>
14195         * src/stm8/peeph.def,
14196           support/regression/tests/compare.c:
14197           Improve range checks on 8- and 16-bit variables.
14198         * support/regression/tests/gcc-torture-execute-vrp-7.c:
14199           Disable test which fails for z80-related for tlcs90, also.
14201 2018-07-31 Philipp Klaus Krause <pkk AT spth.de>
14203         * src/stm8/ralloc.c,
14204           src/stm8/gen.c:
14205           Improve shift of global variables by 1.
14207 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14209         * src/SDCCval.c,
14210           support/regression/tests/gcc-torture-execute-wchar_t-1.c,
14211           Fix bug #2792.
14213 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14215         * src/SDCCglue.c,
14216           support/regression/tests/gcc-torture-execute-wchar_t-1.c,
14217           support/regression/tests/gcc-torture-execute-widechar-2.c:
14218           Fix bug #2791.
14220 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14222         * support/regression/tests/gcc-torture-execute-*.c:
14223           Add tests from GCC 8.2.
14225 2018-07-29 Philipp Klaus Krause <pkk AT spth.de>
14227         * src/SDCCerr.?:
14228           Fix typos.
14229           support/regression/tests/gcc-torture-execute-*.c:
14230           Disable some warnings.
14232 2018-07-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14234         * src/pic14/glue.c:
14235           Fix an issue introduced with support for C99 intermingling of declarations and statements.
14237 2018-07-14 Philipp Klaus Krause <pkk AT spth.de>
14239         * src/SDCClospre.cc,
14240           src/SDCClospre.hpp:
14241           Fix bug #2673.
14243 2018-07-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14245         * src/z80/peep.c,
14246           support/regression/tests/bug-2771.c:
14247           Fix bug #2771.
14248         * src/SDCClospre.cc:
14249           Improve lospre debug output.
14251 2018-07-12 Philipp Klaus Krause <pkk AT spth.de>
14253         * src/z80/gen.c,
14254           support/regression/tests/bug-2770.c:
14255           Fix bug #2770.
14256         * device/include/mcs51/ax8052.h,
14257           device/include/mcs51/ax8052f131.h,
14258           device/include/mcs51/ax8052f142.h,
14259           device/include/mcs51/ax8052f143.h,
14260           device/include/mcs51/ax8052f151.h,
14261           device/include/mcs51/compiler.h:
14262           Headers for Axsem 8052, patch #166 by Thomas Sailer.
14264 2018-07-05 Philipp Klaus Krause <pkk AT spth.de>
14266         * src/SDCClospre.hpp:
14267           Fix bug #2748.
14268         * src/SDCCcse.h,
14269           src/SDCCdebug.c,
14270           src/SDCCglue.c,
14271           src/SDCCpeeph.c,
14272           src/SDCCsymt.c,
14273           src/SDCCsymt.h:
14274           Improve code quality fixing a few gcc -pedantic warnings.
14276 2018-07-03 Philipp Klaus Krause <pkk AT spth.de>
14278         * src/z80/gen.c,
14279           support/regression/tests/bug-2767.c:
14280           Fix bug #2767.
14282 2018-07-02 Philipp Klaus Krause <pkk AT spth.de>
14284         * support/regression/tests/bug-2764.c:
14285           Fix test for systems with int wider than 16 bits.
14287 2018-06-28 Philipp Klaus Krause <pkk AT spth.de>
14289         * support/regression/tests/bug-2764.c,
14290           src/stm8/peep.c,
14291           src/stm8/peeph.def:
14292           Fix bug #2764.
14294 2018-06-28 Ben Shi <powerstudio1st AT 163 DOT com>
14296         * support/regression/tests/gcc-torture-execute-20040409-2.c:
14297           Disabled more tests for arm64.
14299 2018-06-27 Philipp Klaus Krause <pkk AT spth.de>
14301         * src/mcs51/peep.c:
14302           Fix bug #2108.
14303         * device/lib/z80/crt0.s,
14304           device/lib/z180/crt0.s:
14305           Implement ei for RFE #519.
14306         * src/SDCCbtree.cc,
14307           src/SDCCnaddr.hpp,
14308           configure.ac,
14309           configure:
14310           Remove use of STX, RFE #542.
14312 2018-06-26 Ben Shi <powerstudio1st AT 163 DOT com>
14314         * support/regression/tests/gcc-torture-execute-20040409-1.c:
14315         * support/regression/tests/gcc-torture-execute-20040409-2.c:
14316         * support/regression/tests/gcc-torture-execute-20040409-3.c:
14317           Disabled for arm64.
14319 2018-06-25 Philipp Klaus Krause <pkk AT spth.de>
14321         * support/regression/tests/bug-2363.c:
14322           Disable test for mcs51 small model.
14324 2018-06-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14326         * src/SDCCcse.c: remove leftover debugging (fix bug #2763)
14328 2018-06-21 Philipp Klaus Krause <pkk AT spth.de>
14330         * sdas/asxxsrc/asdbg.c:
14331           Fix an assembler issue, alternative fix to patch #286.
14332         * support/regression/tests/bug-2750.c:
14333           Regression test for bug #2750.
14334         * support/regression/tests/bug-2363.c:
14335           Regression test for bug #2363.
14337 2018-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14339         * src/SDCC.y,
14340           src/SDCCBBlock.c,
14341           src/SDCCast.c,
14342           src/SDCCast.h,
14343           src/SDCCdwarf2.c,
14344           src/SDCCerr.c,
14345           src/SDCCerr.h,
14346           src/SDCCglobl.h,
14347           src/SDCCglue.c,
14348           src/SDCCicode.c,
14349           src/SDCCicode.h,
14350           src/SDCCmem.c,
14351           src/SDCCsymt.c,
14352           src/SDCCsymt.h,
14353           src/SDCCval.c,
14354           src/cdbFile.c,
14355           support/regression/tests/p99-conformance.c,
14356           support/regression/tests/declafterstmt.c,
14357           support/valdiag/tests/declafterstmt.c:
14358           Support for C99 intermingling of declaration and statements, patch by Benedikt Freisen.
14359         * doc/sdccman.lyx:
14360           Update documentation on standard support.
14362 2018-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14364         * src/SDCClospre.hpp,
14365           support/regression/tests/bug-2761.c:
14366           Fix bug #2761.
14367         * src/SDCCicode.c:
14368           Optimize division from pointer subtraction.
14369         * src/stm8/gen.c:
14370           Improve ^.
14372 2018-06-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14374         * src/SDCCglobl.h,
14375           src/SDCCBBlock.c:
14376           Infrastructure for custom iCode dump point.
14377         * src/SDCClospre.hpp:
14378           Fix handling of use vector in lospre.
14379         * src/SDCClrange.h,
14380           src/SDCClrange.c,
14381           src/SDCCopt.c:
14382           Fix secondary issue in bug #2756.
14383         * device/include/uchar.h,
14384           device/lib/incl.mk,
14385           device/lib/mbstoc16s.c,
14386           device/lib/c16stombs.c,
14387           support/regression/tests/new_wide.c
14388           Functions for converting between UTF-8 and UTF-16 strings.
14390 2018-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14392         * src/SDCCcse.c: fix bugs #2709 and #1951
14393         * support/regression/tests/gcc-torture-execute-20001027-1.c,
14394         * support/regression/tests/bug-2708.c: enable tests
14396 2018-06-13 Ben Shi <powerstudio1st AT 163 DOT com>
14398         * support/regression/tests/bug-2756.c:
14399           disabled for test-mcs51-large and test-mcs51-huge due to build failure.
14401 2018-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14403         * src/SDCCset.c: reduce memory use of unionSets()
14405 2018-06-12 Ben Shi <powerstudio1st AT 163 DOT com>
14407         * support/regression/tests/bug-2756.c:
14408           disabled for test-host.
14410 2018-06-12 Philipp Klaus Krause <pkk AT spth.de>
14412         * src/SDCCralloc.hpp,
14413           support/regression/tests/bug-2756.c:
14414           Fix main issue in bug #2756.
14416 2018-06-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14418         * src/hc08/ralloc.c: fix bug #2737
14420 2018-06-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14422         * src/SDCCbitv.c: fix bug #2759
14423         * src/SDCCglue.c: fix bug #2749
14424         * support/regression/tests/bug-2749: enable test
14426 2018-06-11 Ben Shi <powerstudio1st AT 163 DOT com>
14428         * support/regression/tests/literalop.c:
14429           Improved for aarch64.
14431 2018-06-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14433         * src/SDCCbitv.c,
14434         * src/SDCCbitv.h: simplify to only access bit vector as unsigned
14435           int, add functions for in-place intersection and union operations
14436         * src/SDCCset.c,
14437         * src/SDCCset.h: new function destructItemIf calls a destructor
14438           function before deleting a set item
14439         * src/SDCCBBlock.c,
14440         * src/SDCCBBlock.h,
14441         * src/SDCCopt.c: free some eBBlock data when switching to iCode chain
14442         * src/SDCCcflow.c: free code flow data when not needed
14443         * src/SDCCdflow.c,
14444         * src/SDCCcse.c,
14445         * src/SDCCcse.h: free data flow and CSE data when not needed
14447 2018-06-08 Ben Shi <powerstudio1st AT 163 DOT com>
14449         * support/regression/tests/bitwise.c:
14450           Improved for aarch64.
14452 2018-06-08 Philipp Klaus Krause <pkk AT spth.de>
14454         * src/stm8/ralloc.c,
14455           src/SDCCopt.c:
14456           Narrow reads from pointers, RFE #559.
14457         * doc/sdccman.lyx:
14458           Improve documentation for --stack-loc.
14460 2018-06-06 Ben Shi <powerstudio1st AT 163 DOT com>
14462         * sim/ucsim/config.guess:
14463           updated to the newest version. (timestamp='2018-05-19')
14465 2018-06-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14467         * src/z80/peeph-z80.def: fixed peephole rule 153 (possibly fix for
14468           bug #2754)
14470 2018-06-04 Philipp Klaus Krause <pkk AT spth.de>
14472         * sdas/asz80/z80.h,
14473           sdas/asz80/z80adr.c,
14474           sdas/asz80/z80mch.c,
14475           sdas/asz80/z80pst.c:
14476           Assembler support for ZX Spectrum Next opcodes: Patch by pauloscustodio.
14478 2018-06-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14480         * src/SDCCast.c (expandInlineFuncs): fix bug #2752
14481         * support/regression/tests/bug-2752.c: enable test
14483 2018-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14485         * support/scripts/sdcc.nsi: mingw-w64 needs libwinpthread-1.dll
14486         * support/scripts/sdcc.nsi: add stm8-large library to setup.exe package
14488 2018-05-28 Philipp Klaus Krause <pkk AT spth.de>
14490         * src/SDCC.y,
14491           src/SDCCerr.c:
14492           Improve behaviour on unknown register specifications.
14494 2018-05-27 Philipp Klaus Krause <pkk AT spth.de>
14496         * support/regression/tests/bug-2752.c:
14497           Test for bug #2752
14499 2018-05-26 Philipp Klaus Krause <pkk AT spth.de>
14501         * src/SDCCpeeph.c:
14502           Fix bug #2753.
14504 2018-05-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14506         * src/stm8/peeph.def:
14507           Improve documentation for jump-on-false-style optimization.
14509 2018-05-12 Philipp Klaus Krause <pkk AT spth.de>
14511         * src/stm8/peeph.def:
14512           Improve jump-on-false-style optimization.
14514 2018-05-10 Philipp Klaus Krause <pkk AT spth.de>
14516         * src/SDCC.lex,
14517           support/regression/tests/assert.c,
14518           support/valdiag/tests/static_assert.c:
14519           Add pragma for C2X, fix pragma for C99.
14520         * src/stm8/peeph.def:
14521           Various optimizations that help in stdcbench.
14522         * src/stm8/ralloc.c:
14523           Improve code for pushing globals.
14525 2018-05-09 Philipp Klaus Krause <pkk AT spth.de>
14527         * src/SDCC.y,
14528           src/SDCCerr.c,
14529           src/SDCCerr.h,
14530           src/SDCCglobl.h,
14531           src/SDCCmain.c:
14532           Support for C2X static_assert variant.
14534 2018-05-09 Philipp Klaus Krause <pkk AT spth.de>
14536         * src/stm8/gen.c,
14537           src/SDCCval.c:
14538           Fix use of undefined behaviour (left shift by negative amount).
14539         * support/regression/tests/bug-2749.c:
14540           Test for bug #2749.
14541         * src/SDCCglue.c:
14542           Code cleanup.
14543         * src/SDCCglobl.h,
14544           src/SDCCmem.c,
14545           src/SDCCutil.c,
14546           src/pic14/genarith.c,
14547           src/pic16/genarith.c,
14548           src/stm8/peep.c:
14549           Code cleanup by relying on ISO C99 support.
14551 2018-05-08 Philipp Klaus Krause <pkk AT spth.de>
14553         * support/regression/tests/bug-2746.c:
14554           Test for bug #2746.
14555         * src/stm8/peep.c:
14556           Fix reads from unallocated memory.
14558 2018-04-25 Philipp Klaus Krause <pkk AT spth.de>
14560         * device/include/stdbool.h:
14561           Change the type of true and false to _Bool (see also N 2229).
14562         * device/include/assert.h,
14563           device/lib/__assert.c,
14564           device/lib/incl.mk:
14565           Fix bug #2745.
14567 2018-04-23 Philipp Klaus Krause <pkk AT spth.de>
14569         * doc/sdccman.lyx:
14570           Update documentation on long long support.
14571         * device/lib/wctomb.c,
14572           support/regression/tests/wchar.c:
14573           Fix wctomb() error handling wrt. invalid surrogate codepoints.
14574         * device/lib/wcrtomb.c,
14575           support/regression/tests/wchar.c:
14576           Fix wcrtomb() errno handling.
14577         * device/lib/mbrtowc.c,
14578           device/lib/mbtowc.c:
14579           Improve mbrtowc(), mbtowc() error handling.
14580         * device/lib/mbrtoc16.c:
14581           Simplify mbrtoc16() by relying on mbrtowc() error handling.
14582         * device/lib/c16rtomb.c,
14583           support/regression/tests/wchar.c:
14584           Fix c16rtomb() error handling.
14586 2018-04-21 Philipp Klaus Krause <pkk AT spth.de>
14588         * device/include/stdint.h,
14589           support/regression/tests/constantRange.c:
14590           Fix intmax_t, uintmax_t limit macros.
14592 2018-04-21 Philipp Klaus Krause <pkk AT spth.de>
14594         * device/include/stdint.h,
14595           support/regression/tests/wchar.c:
14596           Fix wchar_t, wint_t limit macros.
14598 2018-04-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14600         * support/regression/tests/wchar.c:
14601           A bit of additional UTF-16 and UTF-32 support testing.
14603 2018-04-17 Philipp Klaus Krause <pkk AT spth.de>
14605         * src/stm8/peep.c:
14606           Fix reads from unallocated memory.
14607         * src/stm8/gen.c:
14608           Fix bug #2743.
14610 2018-04-16 Philipp Klaus Krause <pkk AT spth.de>
14612         * src/SDCCglue.c:
14613           Fix read of unitialized value in initialization of zero-length bit-field.
14615 2018-04-15 Philipp Klaus Krause <pkk AT spth.de>
14617         * configure,
14618           configure.ac:
14619           Use C11 instead of ms-extensions to get support for anonymous struct.
14621 2018-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
14623         * sdas/asxxsrc/asout.c (outrw): enable emit 24-bit relocation data for stm8
14624         * src/stm8/main.c (get_model): fixed warning
14626 2018-04-06 Philipp Klaus Krause <pkk AT spth.de>
14628         * src/stm8/gen.c,
14629           support/regression/tests/bug-2124.c,
14630           support/regression/tests/bug-2373.c,
14631           support/regression/tests/bug1908493.c,
14632           support/regression/tests/compare.c,
14633           support/regression/tests/funptrs.c,
14634           support/regression/tests/gcc-torture-execute-930702-1.c,
14635           support/regression/tests/gcc-torture-execute-991112-1.c,
14636           support/regression/tests/z88dk.c:
14637           Workaround for 24-bit symbol assembler issue.
14639 2018-04-02 Philipp Klaus Krause <pkk AT spth.de>
14641         * support/regression/tests/gcc-torture-execute-20060110-2.c:
14642           Disable failing test.
14644 2018-04-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14646         * support/valdiag/tests/funcdec.c,
14647         * support/valdiag/tests/tentdecl.c: fix bug #2735
14649 2018-03-31 Philipp Klaus Krause <pkk AT spth.de>
14651         * src/SDCCopt.c:
14652           Consider string literal reuse in dead code elimination, part of RFE #567.
14653         * src/SDCCast.c,
14654           src/SDCCast.h,
14655           src/SDCCopt.c:
14656           Merge adjacent calls to puts(), RFE #564.
14657         * src/SDCCglue.c,
14658           src/stm8/gen.c:
14659           Enable support for 24-bit function pointers for stm8 large memory model.
14660         * support/valdiag/Makefile.in:
14661           Omit host by default.
14662         * support/valdiag/tests/funcdec.c,
14663           support/valdiag/tests/tentdecl.c:
14664           Disable test affected by bug #2735.
14665         * src/stm8/main.c:
14666           Separate default name for const segment from code segment.
14668 2018-03-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14670         * sdas/asxxsrc/asout.c
14671         * sdas/asxxsrc/sdas.c
14672         * sdas/asxxsrc/sdas.h: enable sdasstm8 to emit 24-bit relocation data
14674 2018-03-30 Philipp Klaus Krause <pkk AT spth.de>
14676         * support/valdiag/tests/overflow.c:
14677           Disable tests for known bugs #2733, #2734.
14678         * device/lib/stm8-large/heap.s:
14679           Fix heap initialization.
14681 2018-03-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14683         * support/regression/collate-results.py: fix bug #2731 and
14684           handle malformed "Summary" and "Simulator" stats better
14686 2018-03-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14688         * src/SDCCast.c,
14689           src/SDCCutil.c,
14690           src/SDCCval.c,
14691           src/SDCCval.h:
14692           Make optimization of stdlib calls play nice with string reuse.
14693         * support/util/dbuf.c,
14694           support/util/dbuf.h:
14695           Improve const-correctness.
14697 2018-03-28 Philipp Klaus Krause <pkk AT spth.de>
14699         * src/stm8/gen.c,
14700           support/regression/tests/bug-2124.c,
14701           support/regression/tests/bug-2373.c,
14702           support/regression/tests/bug-716242.c,
14703           support/regression/tests/bug1908493.c,
14704           support/regression/tests/compare.c,
14705           support/regression/tests/funptrs.c,
14706           support/regression/tests/gcc-torture-execute-930702-1.c,
14707           support/regression/tests/gcc-torture-execute-991112-1.c,
14708           support/regression/tests/gcc-torture-execute-func-ptr-1.c,
14709           support/regression/tests/z88dk.c:
14710           Give up on supporting function pointers for stm8 large memory model.
14711         * device/lib/Makefile.in:
14712           Build library for stm8 large memory model by default.
14714 2018-03-28 Philipp Klaus Krause <pkk AT spth.de>
14716         * src/stm8/gen.c:
14717           Fix long long return values for large memory model.
14718         * sim/ucsim/stm8.src/glob.cc:
14719           Fix decoding of jpf.
14720         * device/lib/stm8-large/setjmp.s:
14721           Fix longjmp() for large memory model.
14723 2018-03-28 Philipp Klaus Krause <pkk AT spth.de>
14725         * src/SDCC.y,
14726           src/SDCCasm.c,
14727           src/SDCCicode.c,
14728           src/SDCCralloc.hpp,
14729           src/stm8/gen.c,
14730           src/stm8/ralloc.c,
14731           src/stm8/ralloc2.cc,
14732           src/stm8/peep.c:
14733           Improve handling of global pointers.
14735 2018-03-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14737         * src/SDCCast.c,
14738           doc/sdccman.lyx,
14739           src/SDCCglobl.h,
14740           src/SDCCmain.c:
14741           Implement basic optimization of calls to standard library functions, RFE #564.
14742         * support/regression/tests/bug-716242.c,
14743           support/regression/tests/genptrs.c:
14744           Fix tests that assign void * to function pointers.
14745         * src/SDCCglue.c:
14746           Use jpf to reach main() for stm8 large memory model.
14747         * src/stm8/gen.c:
14748           Give up on assembler for stm8 large memory model to make regression tests pass.
14750 2018-03-26 Philipp Klaus Krause <pkk AT spth.de>
14752         * src/stm8/gen.c:
14753           Minor optimization for 8-bit pointer reads.
14755 2018-03-26 Philipp Klaus Krause <pkk AT spth.de>
14757         * support/valdiag/tests/constantRange.c:
14758           Make tests expect a few more warnings implemented in SDCC.
14759         * src/stm8/gen.c:
14760           Fix | of a with itself.
14761         * support/valdiag/tests/bug-971834.c:
14762           Do not expect unreasonable warning.
14763         * src/SDCCast.h,
14764           src/SDCCast.c,
14765           src/SDCCicode.c,
14766           support/valdiag/tests/pointers.c:
14767           Fix bug #2730.
14769 2018-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14771         * src/SDCCerr.h,
14772           src/SDCCerr.c,
14773           src/SDCCast.c,
14774           support/valdiag/valdiag.py,
14775           support/valdiag/tests/pointers.c:
14776           Diagnostics for conversions between pointers to objects and pointers to functions.
14777         * src/stm8/gen.c,
14778           src/stm8/peeph.def:
14779           Some minor improvements.
14781 2018-03-25 Philipp Klaus Krause <pkk AT spth.de>
14783         * src/stm8/gen.c:
14784           Improve calls via global function pointers.
14785         * src/pic16/gen.c,
14786           src/pic16/ralloc.c,
14787           src/pic16/ralloc.c:
14788           Fix NEARPTRSIZE use.
14789         * src/hc08/main.c:
14790           Fix leftover max type size.
14792 2018-03-25 Philipp Klaus Krause <pkk AT spth.de>
14794         * device/lib/stm8-large/Makefile.in,
14795           device/lib/stm8-large/_fast_long_neg.s:
14796           Remove unused support routine.
14797         * src/port.h,
14798           src/stm8/main.c:
14799           Fix library path for large memory model.
14800         * src/SDCCpeeph.c:
14801           Fix labelIsUncondJump() for large memory model.
14802         * src/stm8/gen.c:
14803           Simplify generation of calls, implement 24-bit return values.
14804         * device/lib/stm8-large/Makefile.in:
14805           Fix build of char multiplicative operator routines.
14806         * support/regression/ports/stm8-large/support.c:
14807           Fix regression test output.
14809 2018-03-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14811         * support/regression/collate-results.py,
14812         * support/regression/compact-results.py,
14813         * support/regression/get_ticks.py: Accept non-UTF-8 regression test
14814           output without throwing an exception under Python 3
14816 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14818         * src/stm8/gen.c:
14819           Fixes for handling of immediate operands for large memory model.
14820         * device/include/setjmp.h,
14821           device/lib/stm8-large/setjmp.s:
14822           Fix setjmp() / longjmp() for large memory model.
14824 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14826         * src/port.h,
14827           src/*/main.c,
14828           src/SDCCglobl.h,
14829           src/SDCCglue.c,
14830           src/SDCCsymt.c:
14831           Handle function pointer sizes separately from object pointer sizes.
14832         * configure.ac,
14833           device/lib/Makefile.in,
14834           src/stm8/gen.c,
14835           device/lib/stm8-large:
14836           stm8-large library.
14837         * support/regression/Makefile.in,
14838           support/regression/ports/stm8-large:
14839           stm8-large regression test target.
14841 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14843         * src/port.h,
14844           src/SDCCglobl.h,
14845           src/SDCCast.c,
14846           src/SDCCdwarf2.c,
14847           src/SDCCglue.c,
14848           src/SDCCicode.c,
14849           src/SDCCopt.c,
14850           src/SDCCsymt.c,
14851           src/ds390/gen.c,
14852           src/ds390/main.c,
14853           src/ds390/ralloc.c,
14854           src/hc08/gen.c,
14855           src/mcs51/gen.c,
14856           src/mcs51/main.c,
14857           src/mcs51/ralloc.c,
14858           src/pic14/gen.c,
14859           src/pic16/gen.c:
14860           Rename pointer size macros for clarification.
14861         * src/stm8/main.c,
14862           src/stm8/gen.c:
14863           Simplify call overhead handling for large memory model.
14865 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14867         * support/regression/tests/longlong.c:
14868           Disable test for mcs51 medium model.
14869         * support/regression/tests/bool.c:
14870           Test assignments between bool bitfields.
14872 2018-03-23 Philipp Klaus Krause <pkk AT spth.de>
14874         * src/mcs51/gen.c,
14875           support/regression/tests/gcc-torture-execute-950612-1.c:
14876           Fix bug #2669.
14877         * support/regression/tests/longlong.c:
14878           Enable full long long regression testing for large and huge mcs51 memory model.
14880 2018-03-23 Philipp Klaus Krause <pkk AT spth.de>
14882         * src/mcs51/gen.c:
14883           Fix a bug in code generation that was triggered by lospre.
14884         * support/regression/tests/gcc-torture-execute-20060110-2.c:
14885           Enable test for mcs51.
14886         * support/regression/tests/gcc-torture-execute-920922-1.c:
14887           Document that mcs51 exploits undefined behaviour.
14889 2018-03-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14891         * support/valdiag/valdiag.py: define some port specific
14892           macros (__has_bit, __has_data, __has_xdata, __has_reentrant)
14893           to simplify conditions
14894         * support/valdiag/tests/bug-971834.c,
14895         * support/valdiag/tests/enum.c,
14896         * support/valdiag/tests/funcdec.c,
14897         * support/valdiag/tests/primtypes.c,
14898         * support/valdiag/tests/switch.c,
14899         * support/valdiag/tests/tentdecl.c,
14900         * support/valdiag/tests/typedef.c: update for newer SDCC/GCC versions
14902 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14904         * src/mcs51/gen.c,
14905           src/mcs51/ralloc.c:
14906           Improve _Bool handling.
14908 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14910         * src/mcs51/ralloc.c:
14911           Allocate some local _Bool to bit registers.
14913 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14915         * src/mcs51/gen.c:
14916           Fix handling of acc for multiplicative operators.
14917         * src/mcs51/ralloc.c:
14918           Fall back to generic registers when running out of bit registers.
14920 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14922         * src/mcs51/gen.c,
14923           src/SDCCast.c
14924           Improve code generation for _Bool.
14926 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14928         * src/mcs51/ralloc.c:
14929           Make better use of acc for 8-bit operands.
14930         * src/SDCCopt.c:
14931           Optimize width of temporaries for bit tests.
14933 2018-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14935         * support/valdiag/Makefile.in: display any actual failure(s)
14936           and not just the summary
14938 2018-03-21 Philipp Klaus Krause <pkk AT spth.de>
14940         * src/z80/ralloc.c:
14941           Remove leftover debug message.
14943 2018-03-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14945         * src/mcs51/ralloc.c,
14946           src/mcs51/gen.c:
14947           Optimize bitwise operations on global variables.
14949 2018-03-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14951         * support/scripts/as2gbmap.py:
14952           Migrate to Python 2/3.
14953         * src/z80/ralloc.c,
14954           src/stm8/ralloc.c,
14955           support/regression/tests/bug-2347.c:
14956           Fix bug #2347.
14957         * device/README,
14958           device/examples:
14959           Remove outdated examples (bug #2728).
14961 2018-03-19 Philipp Klaus Krause <pkk AT spth.de>
14963         * configure.ac,
14964           configure:
14965           Migrate to Python 3.6 for default.
14967 2018-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14969         * src/z80/ralloc.c,
14970           src/stm8/ralloc.c:
14971           Do not mark global variables as rematerializeable.
14973 2018-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14975         * support/regression/generate-cases.py: apply patch #282 from
14976           Diego Herranz
14977         * support/regression/generate-cases.py,
14978         * support/regression/HTMLgen.py: use latin-1 encoding for file I/O
14979           to pass through UTF-8 and non-UTF-8 data without interpretation
14980           when using Python 3
14982 2018-03-18 Philipp Klaus Krause <pkk AT spth.de>
14984         * support/sdbinutils:
14985           Merge upstream GNU Binutils 2.30.
14986         * src/stm8/gen.c:
14987           Improve cycle count accuracy for shifts.
14989 2018-03-18 Philipp Klaus Krause <pkk AT spth.de>
14991         * src/stm8/gen.c:
14992           Improve handling of rematerialized operands and I/O.
14994 2018-03-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14996         * support/valdiag/valdiag.py: Fix a very old bug, more fixes
14997           for Python 2/3 compatibility
14999 2018-03-17 Philipp Klaus Krause <pkk AT spth.de>
15001         * src/stm8/gen.c:
15002           Implement RFE #566.
15004 2018-03-17 Philipp Klaus Krause <pkk AT spth.de>
15006         * support/valdiag/tests/restrict.c:
15007           Test for bug #2714.
15008         * src/SDCCralloc.hpp:
15009           Faster check for non-connected live-ranges.
15010         * src/stm8/ralloc.c,
15011           src/stm8/gen.c,
15012           src/stm8/peep.c:
15013           Basic support for rematerialization of addresses for stm8.
15015 2018-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15017         * support/regression/collate-results.py,
15018           support/valdiag/valdiag.py: replace use of deprecated
15019           functions for better Python 3 compatibility
15021 2018-03-16 Philipp Klaus Krause <pkk AT spth.de>
15023         * support/regression/collate-results.py,
15024           support/regression/compact-results.py,
15025           support/valdiag/valdiag.py:
15026           Convert Python 1 to Python 2/3.
15027         * support/regression/tests/qsort.c:
15028           Disable test for mcs51-small due to lack of RAM.
15029         * sim/ucsim/cmd.src/cmdlex.cc:
15030           Remove lex-generated file from repository.
15032 2018-03-13 Philipp Klaus Krause <pkk AT spth.de>
15034         * src/z80/gen.c,
15035           support/regression/tests/bug-2716.c:
15036           Fix bug #2716.
15037         * src/SDCCopt.c:
15038           Disable fix for non-connected live-ranges for ds390.
15039         * device/include/stdlib.h,
15040           device/lib/bsearch.c,
15041           device/lib/incl.mk,
15042           support/regression/tests/qsort.c:
15043           Implement bsearch().
15044         * support/valdiag/valdiag.py,
15045           support/valdiag/Makefile.in:
15046           Include z180, r2k, gbz80, tlcs90, s08, stm8 in diagnostic validation.
15047         * support/regression/generate-cases.py,
15048           support/regression/HTMLgen.py,
15049           support/regression/get_ticks.py:
15050           Convert Python 1 to Python 2/3.
15052 2018-03-13 Philipp Klaus Krause <pkk AT spth.de>
15054         * src/z80/gen.c:
15055           Fix --reserve-regs-iy issue in function pointers to functions returning long long.
15057 2018-03-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15059         * src/SDCCralloc.hpp:
15060           Fix --dump-graphs debug output for non-connected live-ranges.
15061         * src/SDCClrange.c,
15062           src/SDCCopt.c:
15063           Fix non-connected live-ranges, bugs #2525, #2644, #2266, #2319.
15065 2018-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15067         * support/regression/tests/bug-1981238.c,
15068           support/regression/tests/gcc-torture-execute-20141107-1.c,
15069           support/regression/tests/gcc-torture-execute-920711-1.c: Test for
15070           __POWERPC__ instead of __PPC__
15072 2018-03-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15074         * support/regression/tests/bug-1981238.c,
15075           support/regression/tests/gcc-torture-execute-20141107-1.c,
15076           support/regression/tests/gcc-torture-execute-920711-1.c: Disable
15077           tests failing on PPC host
15078         * support/regression/tests/gcc-torture-execute-20121108-1.c,
15079           support/regression/tests/gcc-torture-execute-pr79286.c: Don't
15080           define putchar when compiling for host
15082 2018-03-06 Maarten Brock <sourceforge.brock AT dse.nl>
15084         * support/regression/tests/bug-1981238.c: disabled new tests that fail on
15085           host
15087 2018-03-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15089         * src/SDCCopt.c,
15090           support/regression/tests/bug-2712.c:
15091           Fix bug #2712.
15093 2018-03-04 Maarten Brock <sourceforge.brock AT dse.nl>
15095         * src/stm8/gen.c (emitCall): fix callf with literal
15096         * support/regression/tests/bug-1981238.c: added tests,
15097           changed pad.b to 5 bits so the total is <= 8
15098         * support/regression/tests/memory.c: enabled test for ds390, mcs51-large
15099           and mcs51-huge
15100         * device/lib/strtoul.c: fix warnings
15102 2018-03-04 Philipp Klaus Krause <pkk AT spth.de>
15104         * src/SDCCerr.c,
15105           src/SDCCerr.h,
15106           src/SDCCsymt.c:
15107           Fix bug #2714.
15109 2018-03-04 Philipp Klaus Krause <pkk AT spth.de>
15111         * sim/ucsim/stm8.src/stm8.cc:
15112           Fix bug #2694.
15113         * configure.ac,
15114           configure,
15115           src/Makefile.in,
15116           sim/ucsim/cmd.src/Makefile.in:
15117           Fix bug #2724.
15118         * src/SDCC.y,
15119           src/SDCCerr.h,
15120           src/SDCCerr.c,
15121           src/SDCCsymt.c:
15122           Fix bug #2720.
15124 2018-02-28 Philipp Klaus Krause <pkk AT spth.de>
15126         * src/stm8/gen.c:
15127           Implement calls through functions pointers via retpoline for stm8 large memory model (RFE #556).
15129 2018-02-28 Philipp Klaus Krause <pkk AT spth.de>
15131         * doc/sdccman.lyx:
15132           Document stm8 memory models (RFE #556).
15133         * src/stm8/main.c,
15134           src/stm8/gen.c:
15135           Do not generate jump tables for stm8 large memory model (RFE #556).
15137 2018-02-27 Philipp Klaus Krause <pkk AT spth.de>
15139         * sim/ucsim/stm8.src/inst.cc:
15140           Fix handling of 16-bit and 17-bit jumps in simulator (RFE #556).
15141         * src/stm8/peep.c:
15142           Improve handling of 24-bit jumps in peephole optimizer (RFE #556).
15143         * src/stm8/main.c,
15144           src/stm8/gen.c:
15145           Code generation for large memory model for stm8 (RFE #556).
15146         * support/regression/tests/memory.c:
15147           Enable test for host.
15148         * src/stm8/peeph.def:
15149           New peephole rules for large memory model (RFE #556).
15151 2018-02-26 Philipp Klaus Krause <pkk AT spth.de>
15153         * .version,
15154           src/stm8/peeph.def:
15155           Implement RFE #557.
15156         * device/lib/stm8/strcmp.s,
15157           device/lib/stm8/strcpy.s:
15158           Faster string functions from patch #281 by Benedikt Freisen.
15159         * support/regression/tests/memory.c:
15160           Test memory functions on larger arrays.
15161         * device/lib/stm8/memcpy.s:
15162           Faster string function based on patch #281 by Benedikt Freisen.
15164 2018-02-18 Philipp Klaus Krause <pkk AT spth.de>
15166         * src/z80/gen.c,
15167           support/regression/tests/bug-2715.c:
15168           Fix bug #2715.
15169         * doc/sdccman.lyx:
15170           Document treedec location.
15172 2018-02-07 Philipp Klaus Krause <pkk AT spth.de>
15174         * .version,
15175           doc/INSTALL.txt,
15176           sdcc.spec:
15177           Version 3.7.0
15179 2018-02-07 Philipp Klaus Krause <pkk AT spth.de>
15181         * doc/sdccman.lyx:
15182           Update for default build of lib for huge mcs51 memory model.
15184 2018-02-06 Philipp Klaus Krause <pkk AT spth.de>
15186         * doc/sdccman.lyx:
15187           Fixed a typo.
15189 2018-02-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15191         * support/sdbinutils/bfd/doc/Makefile.am,
15192           support/sdbinutils/bfd/doc/Makefile.in:
15193           Fix bug #2711.
15195 2018-01-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15197         * device/lib/strtol.c,
15198           device/lib/strtoul.c,
15199           support/regression/tests/strto.c,
15200           device/include/stdlib.h,
15201           device/lib/incl.mk:
15202           Implement strtoul(), strtol() RFE #555.
15204 2018-01-26 Philipp Klaus Krause <pkk AT spth.de>
15206         * src/SDCCpeeph.c:
15207           Reduce memory usage in the peephole optimizer.
15209 2018-01-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15211         * device/include/stdlib.h,
15212           device/lib/incl.mk,
15213           device/lib/qsort.c,
15214           support/regression/tests/qsort.c:
15215           Implement qsort(), RFE #554.
15216         * device/lib/stm8/heap.s:
15217           Increase stm8 default heapsize to 1KB size of other backends.
15218         * src/SDCCpeeph.c,
15219           src/SDCCgen.c,
15220           src/stm8/peep.c:
15221           Code cleanup.
15223 2018-01-24 Philipp Klaus Krause <pkk AT spth.de>
15225         * src/stm8/peep.c,
15226           support/regression/tests/bug-2708.c:
15227           Fix bug #2708.
15229 2018-01-18 Philipp Klaus Krause <pkk AT spth.de>
15231         * src/SDCC.lex,
15232           src/SDCCglobl.h,
15233           src/SDCCmain.c:
15234           Remove leftovers from deprecated nojtbound pragma and option.
15235         * doc/sdccman.lyx:
15236           Update list of incompatible changes.
15237         * src/hc08/gen.c,
15238           src/SDCCast.c,
15239           device/lib/_rlulonglong.c,
15240           device/lib/_rrslonglong.c,
15241           device/lib/_rrulonglong.c,
15242           support/regression/tests/*.c:
15243           Fixed many long long issues, including bugs #2658 and #2118.
15245 2018-01-07 Philipp Klaus Krause <pkk AT spth.de>
15247         * src/SDCCglue.c,
15248           support/regression/tests/bug-2643.c:
15249           Fix bug #2643.
15251 2018-01-05 Philipp Klaus Krause <pkk AT spth.de>
15253         * src/ds390/gen.c,
15254           src/ds390/ralloc.c,
15255           support/regression/ports/ds390/spec.mk,
15256           support/regression/tests/*.c:
15257           Fixes in ds390 long long support.
15259 2018-01-04 Philipp Klaus Krause <pkk AT spth.de>
15261         * src/ds390/ralloc.c,
15262           support/regression/tests/*.c:
15263           Fix conflict in assignment of long long return values.
15265 2018-01-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de.de>
15267         * device/include/stdint.h,
15268           src/SDCCsymt.c,
15269           src/ds390/gen.c,
15270           src/ds390/gen.h,
15271           src/ds390/ralloc.c,
15272           support/regression/tests/*.c:
15273           Initial long long support for ds390.
15275 2018-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
15277         * support/scripts/sdcc.nsi: added tlcs90 library
15279 2017-12-30 Maarten Brock <sourceforge.brock AT dse.nl>
15281         * support/scripts/sdcc.nsi: added sdastlcs90.exe
15283 2017-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
15285         * support/regression/tests/wchar.c: disabled test for gcc 5.4 and older
15286         * support/scripts/sdcc.nsi: added huge library
15288 2017-12-29 Philipp Klaus Krause <pkk AT spth.de>
15290         * sim/ucsim/cmd.src/clean.mk:
15291           Cleanup bison-generated files.
15293 2017-12-28 Philipp Klaus Krause <pkk AT spth.de>
15295         * sim/ucsim/cmd.src/Makefile.in,
15296           sim/ucsim/cmd.src/cmdpars.cc,
15297           sim/ucsim/cmd.src/cmdpars.hh,
15298           device/lib/pic14/*,
15299           device/lib/pic16/*:
15300           Fixes for out-of-tree builds.
15302 2017-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
15304         * support/regression/ports/mcs51-huge/spec.mk,
15305         * support/regression/Makefile.in: huge lib is now built by default
15306         * support/regression/tests/gcc-torture-execute-20140212-1.c,
15307         * support/regression/tests/gcc-torture-execute-20140212-2.c,
15308         * support/regression/tests/gcc-torture-execute-pr60062.c,
15309         * support/regression/tests/gcc-torture-execute-pr63209.c,
15310         * support/regression/tests/gcc-torture-execute-pr64979.c,
15311         * support/regression/tests/gcc-torture-execute-pr67714.c,
15312         * support/regression/tests/gcc-torture-execute-pr68250.c,
15313         * support/regression/tests/gcc-torture-execute-pr68321.c,
15314         * support/regression/tests/gcc-torture-execute-pr68390.c,
15315         * support/regression/tests/gcc-torture-execute-pr78675.c,
15316         * support/regression/tests/gcc-torture-execute-pr80153.c,
15317         * support/regression/tests/bug-2567.c: fix or suppress warnings
15318         * support/regression/tests/gcc-torture-execute-pr66940.c: added test that
15319           long != long long
15320         * support/regression/tests/inline.c: added test for bug 2591
15322 2017-11-14 Philipp Klaus Krause <pkk AT spth.de>
15324         * src/SDCCtree_dec.hpp:
15325           Choose Thorup vs. PP+FI+TM per CFG depending on width of decompositions.
15327 2017-11-14 Ben Shi <powerstudio1st AT 163 DOT com>
15329         * src/mcs51/gen.c,
15330         * src/mcs51/rtrack.c:
15331           Fix illegal form of MOV.
15332         * support/regression/tests/bug-2221.c:
15333           Partially enabled.
15335 2017-11-13 Philipp Klaus Krause <pkk AT spth.de>
15337         * Merged nothorup branch to trunk.
15339 2017-11-13 Philipp Klaus Krause <pkk AT spth.de>
15341         * src/SDCCtree_dec.hpp:
15342           Document choice of algorithm for tree-decomposition.
15344 2017-11-13 Philipp Klaus Krause <pkk AT spth.de>
15346         * configure.ac,
15347           src/SDCCtree_dec.hpp,
15348           sdccconf_in.h,
15349           configure:
15350           Automatically use gala for treedec.
15352 2017-11-12 Philipp Klaus Krause <pkk AT spth.de>
15354         * sdccconf_in.h:
15355           Regenerate to get correct definitions from configuration.
15357 2017-11-08 Philipp Klaus Krause <pkk AT spth.de>
15359         * configure,
15360           configure.ac,
15361           src/SDCClospre.cc,
15362           src/SDCClospre.hpp,
15363           src/SDCCnaddr.cc,
15364           src/SDCCnaddr.hpp,
15365           src/SDCCralloc.hpp,
15366           src/SDCCtree_dec.hpp,
15367           src/hc08/ralloc2.cc,
15368           src/stm8/ralloc2.cc,
15369           src/z80/ralloc2.cc:
15370           Detect and use treedec when available, fall back to Thorup otherwise.
15372 2017-11-08 Philipp Klaus Krause <pkk AT spth.de>
15374         * src/SDCClospre.cc,
15375           src/SDCClospre.hpp,
15376           src/SDCCnaddr.cc,
15377           src/SDCCnaddr.hpp,
15378           src/SDCCralloc.hpp,
15379           src/SDCCtree_dec.hpp,
15380           src/hc08/ralloc2.cc,
15381           src/stm8/ralloc2.cc,
15382           src/z80/ralloc2.cc:
15383           tdlib to treedec rename.
15385 2017-11-07 Philipp Klaus Krause <pkk AT spth.de>
15387         * src/SDCCglobl.h,
15388           src/SDCCglue.c,
15389           src/SDCCmain.c,
15390           src/z80/main.c:
15391           Implement --data-seg, part of RFE #544.
15393 2017-11-07 Philipp Klaus Krause <pkk AT spth.de>
15395         * src/z80/gen.c,
15396           src/z80/peeph-gbz80.def,
15397           support/regression/tests/longlong.c,
15398           support/regression/tests/gcc-torture-execute-20001108-1.c,
15399           support/regression/tests/gcc-torture-execute-20011126-1,
15400           support/regression/tests/gcc-torture-execute-20041011-1.c,
15401           support/regression/tests/gcc-torture-execute-20080529-1.c,
15402           support/regression/tests/gcc-torture-execute-20120817-1.
15403           support/regression/tests/gcc-torture-execute-920829-1.c,
15404           support/regression/tests/gcc-torture-execute-950511-1.c,
15405           support/regression/tests/gcc-torture-execute-961213-1.c,
15406           support/regression/tests/gcc-torture-execute-pr65170:
15407           Fix bugs #2329, #2656, #2653.
15408         * support/makebin/makebin.c:
15409           Apply patch #278 by Brandon Blake.
15410         * support/regression/tests/bugs-1596270-1736867.c:
15411           Disable a test for ds390.
15413 2017-11-06 Philipp Klaus Krause <pkk AT spth.de>
15415         * src/SDCCval.c,
15416           src/SDCCval.c,
15417           src/SDCC.lex,
15418           support/regression/tests/bug-2221.c,
15419           support/regression/tests/bug-2687.c,
15420           support/regression/tests/generic.c:
15421           Fix bugs #2221, #2687.
15422         * configure.ac,
15423           configure:
15424           Fix bug #2689.
15426 2017-11-05 Philipp Klaus Krause <pkk AT spth.de>
15428         * src/SDCCralloc.hpp,
15429           src/z80/gen.c,
15430           support/regression/tests/bug-2681.c:
15431           Fix bug #2681.
15432         * support/regression/tests/bug-2645.c:
15433           Silence an mcs51 warning.
15434         * support/regression/tests/bug-2567.c,
15435           support/regression/tests/gcc-torture-execute-pr60062.c,
15436           support/regression/tests/gcc-torture-execute-pr63209.c,
15437           support/regression/tests/gcc-torture-execute-pr80153.c:
15438           Silence some warning about unused function arguments.
15440 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15442         * src/SDCCtree_dec.hpp:
15443           Fix bug #2684.
15445 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15447         * src/SDCCtree_dec.hpp:
15448           Cleanup algorithm selection.
15450 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15452         * support/regression/tests/bug-2684.c:
15453           Disable new test for mcs51-small, which doesn't have enough RAM.
15455 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15457         * src/SDCClospre.hpp,
15458           src/SDCCnaddr.hpp,
15459           src/SDCCralloc.hpp,
15460           src/SDCCtree_dec.hpp:
15461           More changes for current tdlib, patch by Felix Salfelder.
15463 2017-11-02 Philipp Klaus Krause <pkk AT spth.de>
15465         * support/regression/tests/bug-2684.c:
15466           Test for bug #2684.
15468 2017-11-02 Philipp Klaus Krause <pkk AT spth.de>
15470         * src/SDCCtree_dec.hpp:
15471           Use find_root() from tdlib when available.
15473 2017-11-01 Philipp Klaus Krause <pkk AT spth.de>
15475         * src/z80/ralloc2.cc:
15476           Fix a bug in Z80 sfr handling.
15477         * support/scripts/Makefile.in:
15478           Fix an access rights issue in make install, patch by Felix Salfelder.
15480 2017-10-31 Philipp Klaus Krause <pkk AT spth.de>
15482         * src/SDCCtree_dec.hpp,
15483           src/SDCCralloc.hpp,
15484           src/stm8/ralloc2.cc,
15485           src/hc08/ralloc2.cc,
15486           src/z80/ralloc2.cc:
15487           Allow use of tdlib Thorup in place of SDCC Thorup in register allocator.
15488         * src/SDCClospre.cc,
15489           src/SDCClospre.hpp,
15490           src/SDCCnaddr.cc,
15491           src/SDCCnaddr.hpp:
15492           Allow use of tdlib Thorup in place of SDCC Thorup in lospre and bank selection instruction placement.
15493         * src/SDCClospre.cc,
15494           src/SDCCnaddr.cc,
15495           src/hc08/ralloc2.cc,
15496           src/z80/ralloc2.cc:
15497           Enable use of tdlib Thorup in place of SDCC Thorup.
15498         * src/SDCCtree_dec.hp:
15499           Use PP+FI+TM instead of Thorup.
15501 2017-10-30 Philipp Klaus Krause <pkk AT spth.de>
15503         * src/z80/gen.c:
15504           Fix --reserve-regs-iy issues, part of bug #2674.
15505         * device/lib/incl.mk:
15506           Build library for mcs51 huge model, to reduce differences with Debian version.
15508 2017-10-29 Philipp Klaus Krause <pkk AT spth.de>
15510         * support/regression/tests/bug-2580.c:
15511           Fix an issue for host systems where char is signed.
15512         * support/regression/ports/ucz80-resiy,
15513           support/regression/Makefile.in:
15514           Add target for z80 test with --reserve-regs-iy.
15515         * doc/Makefile.in:
15516           Try to resurrect full documentation build.
15518 2017-10-28 Philipp Klaus Krause <pkk AT spth.de>
15520         * device/lib/pic16/configure,
15521           device/non-free/lib/pic16/configure,
15522           device/non-free/lib/pic16/supported-devices.ac:
15523           Reduce pic device support warning timeout.
15524         * support/regression/tests/gcc-torture-execute-920612-1.c:
15525           Disable a host test that fails for GCC 7.2.
15526         * src/z80/gen.c,
15527           support/regression/tests/bug-2580.c:
15528           Fix bug #2580.
15530 2017-10-27 Philipp Klaus Krause <pkk AT spth.de>
15532         * configure,
15533           configure.ac,
15534           sim/ucsim/cmd.src/cmdutil.cc,
15535           sim/ucsim/configure,
15536           sim/ucsim/configure.ac,
15537           sim/ucsim/utils.cc,
15538           src/SDCCutil.c,
15539           src/SDCCutil.h:
15540           Do not work around missing C99 support.
15541         * support/regression/Makefile.in:
15542           Reduce make overhead in regression testing from quadratic to linear in the number of tests.
15543         * sim/ucsim/app.cc:
15544           Speed up simulator command handling for faster regression testing.
15546 2017-10-26 Philipp Klaus Krause <pkk AT spth.de>
15548         * src/z80/ralloc2.cc,
15549           src/z80/gen.c,
15550           support/regression/tests/bug-2370.c:
15551           Fix various --reserve-regs-iy issues, including bug #2370 and most of bug #2674.
15553 2017-10-25 Philipp Klaus Krause <pkk AT spth.de>
15555         * src/z80/gen:
15556           Fix a --reserve-regs-iy bug in 32/64-bit comparisons.
15557         * src/stm8/peeph.def,
15558           src/stm8/gen.c:
15559           Minor improvements for stm8.
15561 2017-10-25 Philipp Klaus Krause <pkk AT spth.de>
15563         * src/z80/gen.c,
15564           src/z80/peep.c:
15565           __z88dk_fastcall function pointer support for --reserve-regs-iy.
15567 2017-10-24 Philipp Klaus Krause <pkk AT spth.de>
15569         * doc/sdccman.lyx:
15570           Fix broken references.
15571         * src/z80/gen.c:
15572           Fix various --reserve-regs-iy issues, including bugs #2400, #2278, #2380.
15574 2017-10-23 Philipp Klaus Krause <pkk AT spth.de>
15576         * src/SDCCdwarf2.c:
15577           Debug info for partially spilt variables.
15578         * doc/sdccman.lyx,
15579           doc/Makefile.in:
15580           Fix SDCC version in manual title for out-of-tree build.
15581         * src/SDCCast.c,
15582           support/regression/tests/bug-2632.c:
15583           Fix bug #2632.
15585 2017-10-22 Philipp Klaus Krause <pkk AT spth.de>
15587         * src/SDCCdwarf2.c:
15588           Infrastructure for debug info for partially spilt variables.
15589         * src/SDCCmain.c:
15590           Document command line options in help output.
15592 2017-10-20 Philipp Klaus Krause <pkk AT spth.de>
15594         * src/z80/ralloc2.cc,
15595           src/z80/gen.c:
15596           Improve handling of a in cast.
15597         * src/z80/gen.c:
15598           Improve &.
15599         * src/z80/gen.c:
15600           Improve |.
15602 2017-10-19 Philipp Klaus Krause <pkk AT spth.de>
15604         * src/z80/peeph-z80.def:
15605           Optimize ifx on 16-bit pointer read.
15606         * src/z80/peeph-z80.def:
15607           Improve peephole rules for caching 0 in a.
15609 2017-10-18 Philipp Klaus Krause <pkk AT spth.de>
15611         * src/z80/gen.c,
15612           src/z80/ralloc2.cc:
15613           Improve subtraction of global variables.
15614         * src/z80/gen.c:
15615           Simplify stack adjustment.
15616         * src/z80/gen.c:
15617           Improve 32-bit increment.
15618         * src/z80/ralloc2.cc:
15619           Improve handling of a in negation.
15620         * src/z80/gen.c:
15621           Improve cast to signed long and signed long long.
15622         * src/z80/gen.c:
15623           Improve addition of immediates.
15625 2017-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
15627         * SDCC.props: boost 1.64
15628         * sdas/linksrc/lkmem.c: fixed warning
15629         * src/mcs51/peep.c,
15630         * src/SDCCast.c,
15631         * src/SDCCcse.c,
15632         * src/SDCCmem.c,
15633         * src/z80/ralloc2.cc: cosmetic changes
15635 2017-10-18 Philipp Klaus Krause <pkk AT spth.de>
15637         * src/z80/ralloc2.cc,
15638           src/z80/gen.c:
15639           Improve handling of a in pointer read and ifx.
15641 2017-10-17 Maarten Brock <sourceforge.brock AT dse.nl>
15643         * src/z80/main.c (_parseOptions): fix bug #2634
15645 2017-10-17 Philipp Klaus Krause <pkk AT spth.de>
15647         * src/SDCCdwarf2.h,
15648           src/SDCCdwarf2.c:
15649           CFI handling in DWARFv2 output, patch by Åke Rehnman.
15651 2017-10-16 Philipp Klaus Krause <pkk AT spth.de>
15653         * src/stm8/main.c:
15654           Debug info infrastructure for stm8 registers.
15655         * device/lib/_fsgt.c,
15656           device/lib/incl.mk,
15657           src/SDCCsymt.h,
15658           src/SDCCsymt.c
15659           src/SDCCopt.c:
15660           Remove __fsgt support function, RFE #526.
15661         * src/z80/gen.c:
15662           Improve handling of variables on stack in return.
15663         * src/SDCCsymt.c:
15664           Fix bug #2666.
15666 2017-10-16 Ben Shi <powerstudio1st AT 163 DOT com>
15668         * src/mcs51/peeph.def:
15669           Fix a potential bug in label reference count calculation.
15671 2017-10-15 Philipp Klaus Krause <pkk AT spth.de>
15673         * src/SDCCdebug.h,
15674           src/SDCCdwarf2.c,
15675           src/cdbFile.c,
15676           src/stm8/gen.c,
15677           src/stm8/ralloc.c,
15678           src/stm8/ralloc.h:
15679           STM8 frame address debug info, based on patch by Åke Rehnman.
15680         * src/stm8/main.c:
15681           Implement RFE #538: Option for stack pointer startup value for stm8.
15682         * device/lib/*/mulchar.s:
15683           Minor char multiplication improvement.
15684         * sdas/linksrc/lkelf.c:
15685           RFE #2670 ELF e_entry, patch by Åke Rehnman.
15686         * src/SDCCtree_dec.hpp,
15687           src/SDCCralloc.hpp,
15688           src/SDCCnaddr.hpp,
15689           src/SDCClospre.cc:
15690           More verbose --dump-graphs output.
15691         * device/lib/z180/mul.s:
15692           Better multiplication support routine for z180.
15694 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15696         * support/regression/tests/gcc-torture-execute-920922-1.c,
15697           support/regression/tests/gcc-torture-execute-950612-1.c:
15698           Disable tests that fail due to bug #2669.
15700 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15702         * src/z80/peeph.def:
15703           Renumber peephole rules.
15705 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15707         * src/z80/peeph.def:
15708           Remove obsolete peephole rules.
15710 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15712         * src/stm8/peeph.def:
15713           Renumber peephole rules.
15715 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15717         * src/stm8/peeph.def:
15718           Remove obsolete peephole rules.
15720 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15722         * src/hc08/peeph.def:
15723           Renumber peephole rules.
15725 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15727         * src/hc08/peeph.def:
15728           Remove obsolete peephole rules.
15730 2017-10-11 Ben Shi <powerstudio1st AT 163 DOT com>
15732         * src/mcs51/peeph.def:
15733           Fix potential bugs in a serial of rules (241a-241h) by adding check of labelRefCount().
15735 2017-10-11 Ben Shi <powerstudio1st AT 163 DOT com>
15737         * src/mcs51/peeph.def:
15738           Add two optimization rules for long long comparison.
15740 2017-10-10 Philipp Klaus Krause <pkk AT spth.de>
15742         * support/regression/tests/gcc-torture-execute-20001108-1.c,
15743           support/regression/tests/gcc-torture-execute-20020201-1.c,
15744           support/regression/tests/gcc-torture-execute-20020226-1.c,
15745           support/regression/tests/gcc-torture-execute-20060110-1.c,
15746           support/regression/tests/gcc-torture-execute-20060110-2.c,
15747           support/regression/tests/gcc-torture-execute-20060127-1.c,
15748           support/regression/tests/gcc-torture-execute-20071030-1.c,
15749           support/regression/tests/gcc-torture-execute-20080529-1.c,
15750           support/regression/tests/gcc-torture-execute-20101013-1.c,
15751           support/regression/tests/gcc-torture-execute-20120817-1.c,
15752           support/regression/tests/gcc-torture-execute-920604-1.c,
15753           support/regression/tests/gcc-torture-execute-920829-1.c,
15754           support/regression/tests/gcc-torture-execute-920922-1.c,
15755           support/regression/tests/gcc-torture-execute-930702-1.c,
15756           support/regression/tests/gcc-torture-execute-950511-1.c,
15757           support/regression/tests/gcc-torture-execute-950612-1.c,
15758           support/regression/tests/gcc-torture-execute-950915-1.c,
15759           support/regression/tests/gcc-torture-execute-961213-1.c,
15760           support/regression/tests/gcc-torture-execute-990513-1.c,
15761           support/regression/tests/gcc-torture-execute-pr19606.c,
15762           support/regression/tests/gcc-torture-execute-pr47538.c,
15763           support/regression/tests/gcc-torture-execute-pr65170.c,
15764           support/regression/tests/gcc-torture-execute-pr78791.c,
15765           support/regression/tests/gcc-torture-execute-pr81556.c:
15766           Enable mcs51 tests that pass for me now.
15767         * device/lib/hc08/Makefile.in,
15768           device/lib/hc08/_divuint.c,
15769           device/lib/hc08/_divulong.c,
15770           device/lib/hc08/_mullong.c,
15771           device/lib/hc08/Makefile.in,
15772           device/lib/hc08/_divuint.c,
15773           device/lib/hc08/_divulong.c,
15774           device/lib/hc08/_mullong.c:
15775           Replace some backend-specific functions in hc08 and s08 libraries by generic ones.
15777 2017-10-10 Philipp Klaus Krause <pkk AT spth.de>
15779         * src/SDCCralloc.hpp:
15780           Fix bug #2667.
15781         * support/regression/tests/gcc-torture-execute-pr68532.c:
15782           Disable test for medium model.
15784 2017-10-10 Ben Shi <powerstudio1st AT 163 DOT com>
15786         * src/mcs51/gen.c:
15787           Fix a bug in genRet() to avoid generate "mov Rx,Ry".
15788         * src/mcs51/peeph.def:
15789           Better format.
15790         * support/regression/ports/mcs51-common/spec.mk:
15791           Add support for liblonglong.
15792         * support/regression/tests/gcc-torture-execute-pr78378.c:
15793           Enabled for mcs-51.
15795 2017-10-09 Philipp Klaus Krause <pkk AT spth.de>
15797         * device/lib/_divuchar.c,
15798           device/lib/_moduchar.c,
15799           device/lib/_muluchar.c,
15800           src/SDCCsymt.c:
15801           Generic support routine infrastructure.
15803 2017-10-08 Philipp Klaus Krause <pkk AT spth.de>
15805         * support/regression/tests/bug-2663.c:
15806           Disable new function pointer test for ds390.
15807         * src/SDCCsymt.c,
15808           src/SDCCerr.h,
15809           src/SDCCerr.c:
15810           Improve error reporting for conflicting function declarations.
15811         * src/SDCCast.c,
15812           support/regression,tests/bug-2556.c:
15813           Fix bug #2556.
15815 2017-10-07 Philipp Klaus Krause <pkk AT spth.de>
15817         * src/SDCCerr.c,
15818           src/SDCCglue.c:
15819           Fix bug #2641.
15821 2017-10-05 Philipp Klaus Krause <pkk AT spth.de>
15823         * src/SDCCval.c,
15824           support/regression/tests/generic.c:
15825           Fix string literal signedness to match char.
15826         * src/SDCCsymt.c,
15827           support/regression/tests/bug-2663.c:
15828           Partial fix for bug #2663.
15830 2017-10-03 Philipp Klaus Krause <pkk AT spth.de>
15832         * src/SDCCralloc.hpp:
15833           Make source compilable with MSVC++ 2015.
15835 2017-10-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15837         * src/hc08/gen.c: fix bug #2662 (omit debug info on dry run)
15839 2017-10-02 Philipp Klaus Krause <pkk AT spth.de>
15841         * support/regression/tests/cvu_play_music.c,
15842           support/regression/tests/io.c:
15843           Improve coverage of z80 peephole rules.
15844         * src/SDCCicode.c:
15845           Improve debug info for ENDFUNCTION iCode, patch by Åke Rehnman.
15846         * src/z80/peeph-tlcs90.def:
15847           Remove obsolete tlcs90 peephole rules.
15848         * src/z80/peeph-gbz80.def:
15849           Remove obsolete gbz80 peephole rules.
15851 2017-10-01 Philipp Klaus Krause <pkk AT spth.de>
15853         * support/regression/tests/gcc-torture-execute-pr80501.c,
15854           support/regression/tests/gcc-torture-execute-pr81555.c:
15855           Disable tests for older host compilers.
15856         * src/z80/peep.c,
15857           support/regression/tests/bug-2569.c:
15858           Fix bug #2569.
15859         * src/SDCCralloc.hpp:
15860           Change filenames for graphs from register allocation for --dump-graphs.
15861         * support/regression/tests/gcc-torture-execute-20141125-1.c:
15862           Disable new test since it fails on 32-bit hosts, bug #2661.
15864 2017-09-30 Philipp Klaus Krause <pkk AT spth.de>
15866         * src/z80/gen.c:
15867           Fix issues in built-in memset() and handling of literals.
15868         * src/z80/gen.c:
15869           Improve long long parameter passing.
15871 2017-09-29 Philipp Klaus Krause <pkk AT spth.de>
15873         * src/z80/gen.c,
15874           support/regression/tests/addsub.c:
15875           Optimize addition.
15877 2017-09-28 Philipp Klaus Krause <pkk AT spth.de>
15879         * src/SDCC.y,
15880           src/SDCCerr.c,
15881           src/SDCCerr.h,
15882           support/regression/tests/p99-conformance.c,
15883           doc/sdccman.lyx:
15884           Implement RFE #537: static in array parameters.
15886 2017-09-27 Philipp Klaus Krause <pkk AT spth.de>
15888         * support/regression/tests/gcc-torture-execute-pr7*.c
15889           support/regression/tests/gcc-torture-execute-pr8*.c:
15890           Port more tests from the GCC testsuite.
15891         * support/regression/tests/gcc-torture-execute-930529-1.c:
15892           Disable test that hangs on GCC 7.2.0 for host.
15893         * support/regression/tests/gcc-torture-execute-pr51581-?.c:
15894           Fix for test-host.
15896 2017-09-26 Philipp Klaus Krause <pkk AT spth.de>
15898         * src/SDCCerr.c:
15899           Improve error message for storage class specifiers in parameters.
15900         * src/SDCC.y:
15901           Separate type qualifiers from type specifiers to prepare for RFE #2538.
15902         * support/regression/tests/gcc-torture-execute-20120111-1.c,
15903           support/regression/tests/gcc-torture-execute-20120817-1.c,
15904           support/regression/tests/gcc-torture-execute-20140212-1.c,
15905           support/regression/tests/gcc-torture-execute-20141125-1.c,
15906           support/regression/tests/gcc-torture-execute-20170111-1.c,
15907           support/regression/tests/gcc-torture-execute-pr65170.c,
15908           support/regression/tests/gcc-torture-execute-pr65215-1.c,
15909           support/regression/tests/gcc-torture-execute-pr65215-2.c,
15910           support/regression/tests/gcc-torture-execute-pr66940.c,
15911           support/regression/tests/gcc-torture-execute-pr69320-4.c:
15912           Disable new long long tests for ds390.
15913         * src/SDCC.y,
15914           src/SDCCerr.c,
15915           src/SDCCerr.h,
15916           src/SDCCsymt.h,
15917           src/SDCCsymt.c,
15918           support/regression/tests/p99-conformance.c:
15919           Partially fix bug #2538: const and volatile in array parameters.
15920         * support/regression/tests/gcc-torture-execute-pr51581-1.c:
15921           Fix for test-host.
15922         * src/SDCC.y,
15923           support/regression/tests/p99-conformance.c:
15924           Fix bug #2538: qualifiers in array parameters (ISO C99).
15925         * doc/sdccman.lyx:
15926           Document missing support for static in array parameters.
15928 2017-09-25 Philipp Klaus Krause <pkk AT spth.de>
15930         * support/regression/tests/gcc-torture-execute-20111227-1.c,
15931           support/regression/tests/gcc-torture-execute-2012*.c,
15932           support/regression/tests/gcc-torture-execute-2013*.c,
15933           support/regression/tests/gcc-torture-execute-2014*.c,
15934           support/regression/tests/gcc-torture-execute-2015*.c,
15935           support/regression/tests/gcc-torture-execute-2017*.c:
15936           Port more tests from the GCC testsuite.
15937         * src/stm8/gen.c,
15938           support/regression/tests/gcc-torture-execute-20141022-1.c:
15939           Fix bug #2652.
15940         * support/regression/tests/gcc-torture-execute-pr51581-1.c,
15941           support/regression/tests/gcc-torture-execute-pr51581-2.c:
15942           support/regression/tests/gcc-torture-execute-pr6*.c:
15943           Port more tests from the GCC testsuite.
15945 2017-09-25 Philipp Klaus Krause <pkk AT spth.de>
15947         * src/SDCCval.c,
15948           support/regression/tests/bug-2645.c:
15949           Fix bug #2645, patch by Kamil Zbróg.
15950         * src/z80/gen.c,
15951           support/regression/tests/bug-441448.c,
15952           support/regression/tests/bug2729218.c:
15953           Fix bug #2649.
15955 2017-09-25 Philipp Klaus Krause <pkk AT spth.de>
15957         * src/SDCCdwarf2.c:
15958           Fix long long support in DWARF output (bug #2613)
15959         * src/z80/gen.c:
15960           Fix interaction of __z88dk_fastcall with frame pointer setup when optimizing for code size (bug #2581).
15961         * device/lib/calloc.c,
15962           support/regression/tests/malloc.c:
15963           Fix bug #2650.
15965 2017-09-21 Philipp Klaus Krause <pkk AT spth.de>
15967         * src/SDCCicode.c:
15968           Optimize stm8 left shifts a bit better.
15970 2017-09-20 Philipp Klaus Krause <pkk AT spth.de>
15972         * support/regression/tests/preserves_regs.c:
15973           Test specifications for preserved registers.
15975 2017-09-13 Philipp Klaus Krause <pkk AT spth.de>
15977         * src/z80/main.c:
15978           Fix handling of specifications for preserved registers.
15980 2017-09-12 Ben Shi <powerstudio1st AT 163 DOT com>
15982         * support/regression/tests/bug-441448.c:
15983         * support/regression/tests/bug2729218.c:
15984           Disabled for gbz80.
15986 2017-09-08 Ben Shi <powerstudio1st AT 163 DOT com>
15988         * src/stm8/peeph.def:
15989           Optimize bit-xor with BCPL.
15990         * support/regression/tests/bug-2642.c:
15991           Improve test case.
15993 2017-08-20 Ben Shi <powerstudio1st AT 163 DOT com>
15995         * src/SDCCpeeph.c:
15996           Improve notVolatile() for stm8.
15997         * src/stm8/peeph.def:
15998           Add more rules for optimization with BSET/BRES.
15999         * support/regression/tests/bug-2642.c:
16000           Add a new test case.
16002 2017-08-17 Philipp Klaus Krause <pkk AT spth.de>
16004         * src/SDCCglue.c:
16005           More verbose error message on initialization from incompatible pointer type.
16007 2017-08-14 Philipp Klaus Krause <pkk AT spth.de>
16009         * src/z80/ralloc2.cc:
16010           Fix bug #2640.
16012 2017-08-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16014         * src/SDCCcse.c (cseBBlock),
16015         * src/SDCCptropt.c (ptrPostIncDecOpt, pattern1, pattern2),
16016         * src/SDCCptropt.h: fix bug #2459
16018 2017-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16020         * src/SDCCast.c: fix bug #2624
16022 2017-08-10 Philipp Klaus Krause <pkk AT spth.de>
16024         * device/include/stdio.h,
16025           device/lib/ds390/putchar.c:
16026           Make getchar() prototype standard-compliant.
16027         * src/stm8/gen.c:
16028           Improve I/O and bit toggling.
16030 2017-08-08 Philipp Klaus Krause <pkk AT spth.de>
16032         * src/stm8/gen.c:
16033           Fix ASMOP_A / ASMOP_ZERO initialization.
16035 2017-08-07 Philipp Klaus Krause <pkk AT spth.de>
16037         * src/z80/ralloc2.cc,
16038           src/z80/gen.c:
16039           Improve use of register A.
16041 2017-08-07 Philipp Klaus Krause <pkk AT spth.de>
16043         * src/z80/gen.c,
16044           src/z80/gen.h:
16045           Refactor and optimize subtraction.
16046         * sim/ucsim/z80.src/inst_ed.cc,
16047           sim/ucsim/z80.src/inst_ed_r2k.cc:
16048           Fix negation.
16050 2017-08-06 Philipp Klaus Krause <pkk AT spth.de>
16052         * src/z80/gen.c:
16053           Improve left shift.
16055 2017-08-01 Philipp Klaus Krause <pkk AT spth.de>
16057         * src/z80/gen.h,
16058           src/z80/gen.c,
16059           src/z80/ralloc.h,
16060           src/z80/ralloc2.cc:
16061           Handle register A more like other registers.
16062         * src/z80/peeph-z80.def:
16063           Instructions in jump target for cheaper short jumps.
16065 2017-08-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16067         * support/regression/tests/gcc-torture-execute-20010224-1.c: re-enable
16069 2017-07-31 Philipp Klaus Krause <pkk AT spth.de>
16071         * src/z80/gen.c:
16072           Fix a gbz80 codegen issue.
16074 2017-07-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16076         * src/SDCCmem.c (initMem),
16077         * src/hc08/gen.c (aopForSym): fix bug #2385
16078         * support/regression/tests/bug-2385.c: re-enable for all ports
16080 2017-07-30 Philipp Klaus Krause <pkk AT spth.de>
16082         * src/z80/gen.c:
16083           Improve 16-bit left-shift by 7,
16084           improve transfers between hl and de (in codegen at a cost in peephole opt).
16086 2017-07-29 Ben Shi <powerstudio1st AT 163 DOT com>
16088         * configure
16089         * configure.ac:
16090           Remove requirement of C++14.
16092 2017-07-28 Ben Shi <powerstudio1st AT 163 DOT com>
16094         * aclocal.m4:
16095           Added new file.
16096         * configure
16097         * configure.ac:
16098           Check if C++14 or C++11 is supported.
16100 2017-07-27 Philipp Klaus Krause <pkk AT spth.de>
16102         * support/regression/tests/bug-2567.c:
16103           Test for bug #2567.
16105 2017-07-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16107         * src/SDCCast.c,
16108         * src/SDCCicode.c
16109         * src/SDCCralloc.hpp: fix bug #2567, include block num in iCode debug
16111 2017-07-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16113         * src/z80/gen.c: fix bug #2486 (frame pointer offset wrong)
16114         * src/z80/peeph-z80.def,
16115         * src/z80/peeph-r2k.def,
16116         * src/z80/peeph-tlcs90.def: fix unsafe rules exposed by fixing #2486
16117         * sdas/asrab/rabmch.c: fix encoding of ld (n+sp),hl instruction
16119 2017-07-23 Philipp Klaus Krause <pkk AT spth.de>
16121         * src/SDCCralloc.hpp:
16122           Speed up register allocator.
16123         * src/stm8/gen.c:
16124           Spped up code generation a little bit.
16126 2017-07-21 Philipp Klaus Krause <pkk AT spth.de>
16128         * src/SDCCralloc.hpp:
16129           Speed up register allocator a little bit.
16131 2017-07-20 Philipp Klaus Krause <pkk AT spth.de>
16133         * src/stm8/gen.c:
16134           Fix an issue similar to bug #2633.
16135         * src/SDCCralloc.hpp,
16136           src/stm8/ralloc2.cc:
16137           Speed up register allocator a bit.
16139 2017-07-19 Philipp Klaus Krause <pkk AT spth.de>
16141         * src/stm8/gen.c:
16142           Fix bug #2633.
16144 2017-07-18 Philipp Klaus Krause <pkk AT spth.de>
16146         * src/SDCCopt.c,
16147           support/regression/tests/loop.c:
16148           Improve narrowing of loop counters.
16150 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16152         * src/stm8/gen.c:
16153           Improve writing of constants to bit-fields.
16155 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16157         * src/stm8/ralloc.c,
16158           src/stm8/gen.c:
16159           Better code for operations on 8-bit global variables.
16161 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16163         * src/stm8/gen.c:
16164           Improve code generation for wide read through pointer.
16166 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16168         * src/SDCCopt.c:
16169           Implement narrowing of loop counters, RFE #530.
16170         * src/stm8/gen.c,
16171           support/regression/tests/bug-2630.c:
16172           Fix bug #2630.
16174 2017-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16176         * src/SDCCast.c (isInitiallyTrue),
16177         * src/SDCCerr.c (setWarningDisabledState),
16178         * src/SDCCerr.h: fix bugs #2552 & #2614
16179         * src/SDCCast.c (decorateType): fix bug #2550
16181 2017-07-15 Philipp Klaus Krause <pkk AT spth.de>
16183         * src/SDCCopt.c:
16184           Improve narrowing of multiplications.
16186 2017-07-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16188         * src/mcs51/gen.c (genRet): fix some problems with returning long long
16189         * src/SDCCicode.c (geniCodeAdd): fix bug #2625
16190         * support/regression/tests/bug-2625.c: test for bug #2625
16192 2017-07-14 Philipp Klaus Krause <pkk AT spth.de>
16194         * src/stm8/gen.c:
16195           Optimze reads from literal pointer.
16196         * src/SDCCopt.c:
16197           Optimize right shift followed by cast.
16199 2017-07-13 Philipp Klaus Krause <pkk AT spth.de>
16201         * src/z80/ralloc2.cc,
16202           support/regression/tests/bug-2628.c:
16203           Fix bug #2628.
16205 2017-07-06 Philipp Klaus Krause <pkk AT spth.de>
16207         * src/stm8/peeph.def,
16208           src/stm8/peep.c:
16209           Improve accuracy and fix bugs in peephole optimizer.
16211 2017-07-05 Philipp Klaus Krause <pkk AT spth.de>
16213         * src/SDCCopt.c,
16214           src/SDCCsymt.c:
16215           Minor code cleanup, gets rid of a few LLVM warnings.
16217 2017-07-03 Philipp Klaus Krause <pkk AT spth.de>
16219         * sdas/asstm8/stm8pst.c:
16220           Support for break debug instruction, patch by Reto Schneider.
16222 2017-06-30 Ben Shi <powerstudio1st AT 163 DOT com>
16224         * src/SDCCast.c:
16225           add cast to left and right subtree only if they both can be casted.
16226         * support/regression/tests/bug-2611.c:
16227           add a new test case.
16229 2017-06-29 Philipp Klaus Krause <pkk AT spth.de>
16231         * src/SDCCgen.c,
16232           support/regression/tests/bug-2627.c:
16233           Fix bug #2627.
16234         * src/stm8/gen.c:
16235           Enable use of execution count in stm8 register allocation cost calculations.
16237 2017-06-28 Philipp Klaus Krause <pkk AT spth.de>
16239         * src/SDCCicode.h,
16240           src/SDCCopt.c:
16241           Execution frequency handling infrastructure.
16243 2017-06-26 Philipp Klaus Krause <pkk AT spth.de>
16245         * src/SDCCralloc.hpp,
16246           .version,
16247           src/*/ralloc2.cc:
16248           Speed up register allocator.
16250 2017-06-25 Philipp Klaus Krause <pkk AT spth.de>
16252         * src/SDCCralloc.hpp,
16253           src/SDCCbitv.h,
16254           src/SDCCbitv.c,
16255           src/*/ralloc2.cc:
16256           Speed up register allocator a bit.
16258 2017-06-24 Philipp Klaus Krause <pkk AT spth.de>
16260         * src/stm8/gen.c:
16261           More efficient >= 32-bit increment for (partially) spilt local variables.
16263 2017-06-23 Philipp Klaus Krause <pkk AT spth.de>
16265         * src/stm8/gen.c:
16266           Improve 16-bit register-to-register transfer,
16267           consider cycle cost for register allocation.
16268         * src/stm8/peeph.def:
16269           Improve 16-bit addition with on-stack operand.
16271 2017-06-17 Philipp Klaus Krause <pkk AT spth.de>
16273         * src/stm8/gen.c,
16274           src/stm8/peeph.def:
16275           More efficient comparisons.
16277 2017-06-14 Philipp Klaus Krause <pkk AT spth.de>
16279         * support/regression/tests/bug-2621.c:
16280           Disable test for ds390, which doesn't have long long.
16282 2017-06-13 Philipp Klaus Krause <pkk AT spth.de>
16284         * src/z80/stm8.c:
16285           More efficient equality comparisons.
16286         * support/regression/tests/bug-2621.c:
16287           Test for bug #2612.
16289 2017-06-12 Philipp Klaus Krause <pkk AT spth.de>
16291         * src/z80/stm8.c:
16292           More efficient equality comparisons, fix bug #2612.
16294 2017-05-31 Philipp Klaus Krause <pkk AT spth.de>
16296         * device/non-free/lib/pic14/Makefile.in,
16297           device/non-free/lib/pic14/Makefile.subdir,
16298           src/Makefile.in,
16299           src/port.mk:
16300           Sort directory listings towards are reproducible build, patch by Bernhard M. Wiedemann.
16302 2017-05-30 Philipp Klaus Krause <pkk AT spth.de>
16304         * src/SDCC.lex,
16305           src/SDCCmain.c,
16306           src/SDCCicode.c,
16307           doc/sdccman.lyx:
16308           Deprecate --nojtbound and the corresponding pragma.
16310 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
16312         * src/z80/gen.c:
16313           Fix bug #2617.
16315 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
16317         * src/z80/gen.c:
16318           Fix a z80 codegen bug #2615 in and (triggered by recent register allocation changes when using --reserve-regs-iy).
16320 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
16322         * src/z80/gen.c:
16323           Fix a gbz80 codegen bug in comparisons (triggered by recent register allocation changes).
16325 2017-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
16327         * support/regression/tests/test-p99-conformance.c: renamed p99-conformance.c
16328           decreased flex10 to flex2,
16329           removed SKIP_FLEXIBLE, SKIP_LONG_LONG for mcs51
16331 2017-05-10 Philipp Klaus Krause <pkk AT spth.de>
16333         * src/SDCCdwarf2.c:
16334           Fix encoding DWARF info for _Bool, explicitly specify for char.
16336 2017-05-09 Philipp Klaus Krause <pkk AT spth.de>
16338         * src/z80/main.c,
16339           src/z80/gen.c:
16340           Better code for switch statements.
16342 2017-05-08 Maarten Brock <sourceforge.brock AT dse.nl>
16344         * support/regression/tests/inline.c: oops, wrong place to skip bug_2591
16346 2017-05-08 Philipp Klaus Krause <pkk AT spth.de>
16348         * src/z80/peeph-z80.def,
16349           src/z80/ralloc.c,
16350           src/z80/ralloc2.cc:
16351           Improve handling of 8-bit parameters.
16353 2017-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
16355         * support/regression/fwk/lib/extern1.c: renamed bug2591 to bug_2591
16356         * support/regression/tests/inline.c: skip bug_2591 for old buggy GCC
16358 2017-05-06 Philipp Klaus Krause <pkk AT spth.de>
16360         * src/SDCCopt.c:
16361           Optimize computations on shift counts.
16362         * src/stm8/gen.c:
16363           Fix bug in register handling in shifts.
16364         * src/z80/gen.c:
16365           Optimize computations on shift counts, fix bug in register handling of
16366           wide shifts.
16368 2017-05-06 Maarten Brock <sourceforge.brock AT dse.nl>
16370         * doc/sdccman.lyx: fixed typo
16371         * sim/ucsim/gui.src/Makefile.in: use $(AR)
16372         * src/mcs51/gen.c: cosmetic
16373         * src/SDCC.lex,
16374         * src/stm8/main.c,
16375         * src/z80/main.c: make __smallc a target specific keyword
16376         * src/SDCCicode.c (geniCodeAdd): take generic pointers into account
16377         * src/z80/ralloc2.cc (assign_operands_for_cost): fix warning, remove TABs
16378         * support/regression/fwk/lib/extern1.c,
16379         * support/regression/tests/inline.c: added bug2591 test
16380         * support/regression/tests/bug-2601.c: test with several pointer sizes
16381         * support/regression/tests/bug-2590.c,
16382         * support/regression/tests/smallc.c,
16383         * support/regression/tests/z88dk.c: test __smallc only on stm8 & z80-like
16385 2017-05-05 Philipp Klaus Krause <pkk AT spth.de>
16387         * support/regression/tests/bug-2188.c,
16388           support/regression/tests/gcc-torture-execute-930526-1.c:
16389           Add extern declaration to make test compile where functions aren't inlined.
16391 2017-05-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16393         * src/stm8/gen.c (genMove_o): fixed bug #2607
16395 2017-05-04 Philipp Klaus Krause <pkk AT spth.de>
16397         * src/SDCCpeeph.c:
16398           Be more forgiving about omitted whitespace after comma in peephole matching
16399           (whitespace handling had become stricter in the fix to #2600).
16400         * src/z80/peep.c:
16401           Slightly more accurate analysis of register reads, also wrt. whitespaces.
16402         * src/z80/gen.c:
16403           Unify emitted asm syntax wrt. space after comma.
16405 2017-05-02 Philipp Klaus Krause <pkk AT spth.de>
16407         * doc/sdccman.lyx:
16408           Minor fix in list of supported data types.
16410 2017-05-01 Philipp Klaus Krause <pkk AT spth.de>
16412         * doc/sdccman.lyx:
16413           Document separation of _Bool/bool and __bit for mcs51 and ds390,
16414           fix typos,
16415           automatic version number.
16417 2017-04-29 Philipp Klaus Krause <pkk AT spth.de>
16419         * src/SDCCmain.c,
16420           doc/sdccman.lyx,
16421           .version:
16422           Resurrect SDCC macro zombie for old SiLabs IDE support.
16423         * sdcc.spec:
16424           Update list of targets in description.
16426 2017-04-28 Philipp Klaus Krause <pkk AT spth.de>
16428         * src/SDCCast.c,
16429           src/SDCCicode.c,
16430           support/regression/tests/bug-2601.c,
16431           support/regression/tests/bug3537338.c,
16432           support/regression/tests/gcc-torture-execute-20021120-1.c:
16433           Fix bug #2602.
16434         * src/SDCCsymt.h,
16435           src/SDCCsymt.c:
16436           Minor improvements for const-correctness.
16437         * src/SDCCpeeph.c:
16438           Fix bug #2600.
16440 2017-04-28 Philipp Klaus Krause <pkk AT spth.de>
16442         * support/regression/tests/bug-2590.c:
16443           Enable for all z80-related backends.
16444         * support/regression/tests/bug-2601.c:
16445           Disable for ds390.
16447 2017-04-27 Philipp Klaus Krause <pkk AT spth.de>
16449         * doc/sdccman.lyx:
16450           Update manual for --std-sdcc99 vs. --std-c11 change.
16451         * device/lib/tlcs90/crt0.s:
16452           Fix bug #2583.
16454 2017-04-27 Maarten Brock <sourceforge.brock AT dse.nl>
16456         * src/SDCCsymt.c (newEnumType): fixed bug 2545
16457         * support/regression/tests/enum.c: added test
16458         * support/regression/tests/bug-2590.c: disabled for non-z80
16460 2017-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
16462         * src/ds390/gen.c (assignBit): disabled to fix a warning
16463         * src/SDCCicode.c (geniCodeLeftShift): fixed bug, replaced TABs
16464         * src/SDCCralloc.hpp (create_cfg): fixed warning, replaced TABs
16465         * src/SDCCsymt.c (computeType): fixed bug #2585
16466         * src/stm8/ralloc2.cc (assign_operands_for_cost): fixed warning, replaced TABs
16467         * src/z80/gen.c (genLeftShift, genRightShift): fixed warning
16468         * src/z80/peep.c (z80SurelyWrites): fixed warning
16469         * support/regression/tests/gcc-torture-execute-20020201-1.c
16470         * support/regression/tests/bug-2585.c: new, added
16472 2017-04-24 Philipp Klaus Krause <pkk AT spth.de>
16474         * src/SDCCast.c,
16475           support/regression/tests/bug-2601.c:
16476           Fix bug #2601.
16478 2017-04-13 Philipp Klaus Krause <pkk AT spth.de>
16480         * src/z80/peep.c:
16481           Minor improvement in Z180 support from z88dk patch.
16483 2017-04-12 Philipp Klaus Krause <pkk AT spth.de>
16485         * support/regression/tests/smallc.c:
16486           Disable Small-C test for mcs51.
16488 2017-04-11 Philipp Klaus Krause <pkk AT spth.de>
16490         * src/SDCCast.c,
16491           support/regression/tests/bug-2596.c:
16492           Fix bug #2598 by not inlining calls to functions with variable arguments.
16494 2017-04-10 Philipp Klaus Krause <pkk AT spth.de>
16496         * src/SDCCmem.c:
16497           Fix bug #2591.
16498         * support/regression/tests/smallc.c:
16499           Do not try to test __smallc for host.
16500         * src/SDCCsymt.c:
16501           Always specify signedness for char in debug dumps.
16502         * support/regression/tests/bug-2539.c:
16503           Test for bug #2539.
16504         * src/z80/peeph-z80.def,
16505           src/z80/peeph-tlcs90.def,
16506           src/z80/peeph-r2k.def:
16507           Fix bug #2597.
16508         * src/SDCCglue.c:
16509           Fix bug #2574 (patch by Sebastian).
16510         * src/mcs51/gen.c,
16511           support/regression/tests/gcc-torture-execute-921202-2.c:
16512           Fix bug #2542.
16514 2017-04-06 Philipp Klaus Krause <pkk AT spth.de>
16516         * src/SDCCmem.c,
16517           support/regression/tests/z88dk.c,
16518           support/regression/tests/smallc.c,
16519           doc/sdccman.lyx:
16520           Support for __smallc callees.
16522 2017-04-06 Philipp Klaus Krause <pkk AT spth.de>
16524         * src/SDCCast.c:
16525           Fix bug #2570.
16526         * src/SDCCmem.h,
16527           src/SDCCmem.c,
16528           src/z80/gen.c:
16529           Fix bug #2595.
16531 2017-04-03 Philipp Klaus Krause <pkk AT spth.de>
16533         * doc/sdccman.lyx:
16534           Update documentation on _Bool / bool support.
16536 2017-03-17 Philipp Klaus Krause <pkk AT spth.de>
16538         * support/regression/tests/bug3027957.c:
16539           Disable fixed-address test for host.
16541 2017-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16543         * src/SDCCicode.c (geniCodeAdd): Fix bug #2568 fix
16545 2017-03-15 Philipp Klaus Krause <pkk AT spth.de>
16547         * src/SDCCast.h,
16548           src/SDCCast.c,
16549           src/SDCCcse.c:
16550           Fix bug #2593.
16551         * support/regression/tests/absolute.c,
16552           support/regression/tests/bug-2304.c,
16553           support/regression/tests/bug2686159.c,
16554           support/regression/tests/bug3027957.c:
16555           Fix bug #2584.
16556         * src/SDCCicode.c,
16557           support/regression/tests/bug-2568.c:
16558           Fix bug #2568.
16560 2017-03-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16562         * src/SDCCast.c (checkZero): fix bug #2586
16564 2017-03-14 Philipp Klaus Krause <pkk AT spth.de>
16566         * src/z80/gen.c,
16567           support/regression/tests/bug-2582.c:
16568           Fix bug #2582.
16570 2017-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16572         * src/SDCC.y: fixed bug #2587
16573         * support/regression/tests/for.c: change to catch bug #2587
16574         * support/regression/tests/bug-2590.c: disable test on host
16576 2017-03-13 Philipp Klaus Krause <pkk AT spth.de>
16578         * src/z80/gen.c,
16579           support/regression/tests/bug-2376.c:
16580           Fix bug #2376.
16582 2017-03-08 Philipp Klaus Krause <pkk AT spth.de>
16584         * src/SDCCopt.c,
16585           support/regression/tests/bug-2590.c:
16586           Fix bug #2590.
16588 2017-02-10 Philipp Klaus Krause <pkk AT spth.de>
16590         * src/z80/gen.c:
16591           Omit some unnecessary register saving on wide shifts.
16593 2017-02-09 Philipp Klaus Krause <pkk AT spth.de>
16595         * src/z80/gen.c:
16596           Optimize wide right shifts, part of RFE #524.
16597         * device/lib/rand.c,
16598           support/regression/tests/rand.c:
16599           Fix default seed.
16601 2017-02-08 Philipp Klaus Krause <pkk AT spth.de>
16603         * device/lib/rand.c:
16604           Replace LCG by xorshift for rand().
16605         * src/z80/gen.c:
16606           Optimize wide left shifts, part of RFE #524.
16608 2017-02-04 Philipp Klaus Krause <pkk AT spth.de>
16610         * device/include/pic14/math.h,
16611           device/include/pic16/math.h,
16612           device/lib/pic14/libm/Makefile.am,
16613           device/lib/pic14/libm/Makefile.in,
16614           device/lib/pic16/libm/Makefile.am,
16615           device/lib/pic16/libm/Makefile.in,
16616           src/pic14/gen.c,
16617           src/pic14/glue.c,
16618           support/regression/compact-results.py,
16619           support/regression/ports/pic14/support.c,
16620           support/regression/tests/absolute.c,
16621           support/regression/tests/bug1723128.c,
16622           support/regression/tests/bug2686159.c,
16623           support/regression/tests/gcc-torture-execute-20021120-1.c,
16624           support/regression/tests/gcc-torture-execute-pr19606.c:
16625           Various pic14-related fixes: Patches 00, 01, 02, 04, 05, 07, 09, 11, 14, 15 by Martin Habets via sdcc-devel.
16627 2017-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16629         * src/SDCCast.c (expandInlineFuncs,fixupInline): Fix bug #2559
16630         * support/regression/tests/bug-2559.c: Re-enable test
16632 2017-01-12 Philipp Klaus Krause <pkk AT spth.de>
16634         * src/stm8/gen.c:
16635           Improve efficiency of wide left-shifts.
16637 2017-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16639         * src/SDCCicode.c (geniCodeDerefPtr): Fix bug #2575
16641 2016-12-29 Philipp Klaus Krause <pkk AT spth.de>
16643         * support/regression/tests/wchar.c:
16644           Test some more wide character functionality.
16646 2016-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
16648         * src/SDCCglobl.h,
16649         * src/SDCCmain.c: applied patch #276, adds -MD option, Thanks Anders Dellien
16651 2016-12-19 Philipp Klaus Krause <pkk AT spth.de>
16653         * device/lib/mbrlen.c,
16654           support/regression/tests/wchar.c:
16655           Fix bug #2566.
16657 2016-12-18 Philipp Klaus Krause <pkk AT spth.de>
16659         * src/stm8/main.c:
16660           Save space by omitting an unused part of the interrupt table.
16662 2016-12-17 Philipp Klaus Krause <pkk AT spth.de>
16664         * src/stm8/gen.c,
16665           src/stm8/peeph.def:
16666           Minor code improvements, mostly for bit-fields.
16668 2016-12-12 Philipp Klaus Krause <pkk AT spth.de>
16670         * doc/sdccman.lyx:
16671           Document STM8 trap handler syntax.
16673 2016-12-12 Ben Shi <powerstudio1st AT 163 DOT com>
16675         * src/SDCCast.c
16676         * src/SDCCerr.c
16677           Fix incorrect error messages.
16679 2016-11-27 Philipp Klaus Krause <pkk AT spth.de>
16681         * device/include/wchar.h,
16682           device/lib/btowc.c,
16683           device/lib/incl.mk,
16684           device/lib/mbrlen.c,
16685           device/lib/mbstowcs.c,
16686           device/lib/wcscmp.c,
16687           device/lib/wcstombs.c,
16688           device/lib/wctob.c,
16689           device/lib/wcslen.c,
16690           support/regression/tests/string.c,
16691           support/regression/tests/wchar.c:
16692           Improvements and fixes in wide character library support.
16694 2016-11-26 Philipp Klaus Krause <pkk AT spth.de>
16696         * device/include/stdlib.h,
16697           device/lib/incl.mk,
16698           device/lib/mbstowcs.c,
16699           device/lib/wcstombs.c,
16700          .version:
16701           Multibyte/wide string conversion functions.
16702         * src/stm8/gen.c:
16703           Optimize comparisons with (partial) 1 and -1.
16705 2016-11-17 Philipp Klaus Krause <pkk AT spth.de>
16707         * src/SDCClospre.cc,
16708           src/SDCClospre.hpp:
16709           More fine-grained handling of volatile to allow more optimizations in lospre.
16711 2016-11-17 Philipp Klaus Krause <pkk AT spth.de>
16713         * src/stm8/ralloc.c,
16714           src/z80/ralloc.c:
16715           Fix some comments on spilling.
16716         * support/regression/tests/bug-2559.c
16718 2016-11-07 Philipp Klaus Krause <pkk AT spth.de>
16720         * configure.ac,
16721           configure,
16722           src/SDCCasm.c,
16723           src/SDCCasm.h,
16724           src/SDCCglue.c,
16725           src/SDCCmain.c,
16726           src/port.h,
16727           src/xa51,
16728           support/regression/ports/xa51,
16729           support/regression/Makefile.in:
16730           Kill incomplete, unmaintained xa51 backend.
16732 2016-11-07 Ben Shi <powerstudio1st AT 163 DOT com>
16734         * src/SDCCicode.c
16735           Fix a bug in zeror-divider check.
16737 2016-11-02 Philipp Klaus Krause <pkk AT spth.de>
16739         * device/include/stdbool.h,
16740           src/ds390/gen.c,
16741           support/regression/tests/bitopcse.c,
16742           support/regression/tests/bool.c,
16743           support/regression/tests/bug2942247.c,
16744           support/regression/tests/bug3404101.c,
16745           support/regression/tests/bug3565757.c:
16746           bool for ds390.
16748 2016-11-03 Philipp Klaus Krause <pkk AT spth.de>
16750         * src/SDCCicode.c,
16751           src/SDCCloop.c,
16752           src/SDCCopt.c,
16753           src/port.h,
16754           src/*/main.c:
16755           Replace all muldiv uses by hasNativeMulFor().
16757 2016-10-23 Philipp Klaus Krause <pkk AT spth.de>
16759         * src/stm8/gen.c,
16760           support/regression/tests/bug-2554.c:
16761           Fix a stack corruption issue in stm8 ! code generation, bug #2554.
16763 2016-10-23 Ben Shi <powerstudio1st AT 163 DOT com>
16765         * sdas/linksrc/lkbank.c
16766         * sdas/linksrc/lksym.c
16767           Fix a buffer overflow error in revision #9786.
16769 2016-10-22 Philipp Klaus Krause <pkk AT spth.de>
16771         * support/regression/tests/*.c,
16772           support/regression/ports/*/spec.mk:
16773           Cleanup handling of __reentrant in the regression tests, RFE #517.
16775 2016-10-22 Ben Shi <powerstudio1st AT 163 DOT com>
16777         * sdas/linksrc/lksym.c
16778           Fix a buffer overflow error in previous commit.
16780 2016-10-21 Philipp Klaus Krause <pkk AT spth.de>
16782         * src/SDCCBBlock.c,
16783           src/SDCClabel.c:
16784           Fix a bug in BBlock label handling, allows reenabling jump-to-jump optimization for jump tables.
16786 2016-10-17 Ben Shi <powerstudio1st AT 163 DOT com>
16788         * sdas/linksrc/lkbank.c
16789           Fix bug #2549.
16791 2016-10-11 Philipp Klaus Krause <pkk AT spth.de>
16793         * src/SDCClabel.c:
16794           Temporarily disable jump-to-jump optimization for jump tables RFE #514, since it causes a hc08/z80 regression.
16796 2016-10-02 Philipp Klaus Krause <pkk AT spth.de>
16798         * src/SDCCcse.c:
16799           Optimize out negation by inverting jump condition, part of RFE #516.
16801 2016-10-02 Philipp Klaus Krause <pkk AT spth.de>
16803         * src/SDCClabel.c,
16804           src/SDCCset.h,
16805           src/SDCCset.c:
16806           Implement jump-to-jump optimization for jump tables RFE #514.
16807         * src/SDCCcse.c:
16808           Optimize bitwise and of _Bool and comparison results, RFE #513.
16810 2016-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
16812         * src/mcs51/gen.c (shiftLLong): support sizes 1,2,4,8,
16813           refactored genlshOne, genlshTwo, genlshFour into genlshFixed,
16814           (genLeftShiftLiteral): support long long
16816 2016-09-24 Philipp Klaus Krause <pkk AT spth.de>
16818         * src/SDCCast.c,
16819           support/regression/tests/bug-2548.c,
16820           support/regression/tests/bug-2551.c:
16821           Fix bugs #2548, #2551 by disabling a broken AST optimization.
16823 2016-09-19 Ben Shi <powerstudio1st AT 163 DOT com>
16825         * src/stm8/gen.c
16826           Fix a bug in bitwise-and operation (genAnd()).
16828 2016-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
16830         * config.vcxproj,
16831         * src/sdcc.vcxproj,
16832         * src/sdcc.vcxproj.filters: moved SDCC.lex and SDCC.y to config project
16833         * src/mcs51/gen.c (gencjneshort): proper support for long long
16834         * src/mcs51/peeph.def: restart 3.b
16835         * src/SDCCsymt.c (initCSupport): MSVC doesn't support casting compound lit
16836         * src/SDCCval.c (csdOfVal): we still use MSVC 2010, no mid-code declarations
16837         * support/regression/tests/bug-2205.c: removed unused disabled warning
16838         * support/regression/tests/gcc-torture-execute-20020506-1.c: intermediate
16839           functions should not be named test*
16840         * support/regression/tests/gcc-torture-execute-961122-1.c: fixed no-return
16841           warning
16843 2016-09-17 Ben Shi <powerstudio1st AT 163 DOT com>
16845         * device/lib/isinf.c
16846         * device/lib/isnan.c
16847           Improve comapabililty and efficiency.
16849 2016-09-15 Ben Shi <powerstudio1st AT 163 DOT com>
16851         * device/lib/isinf.c
16852         * device/lib/isnan.c
16853           Improve compatibility.
16855 2016-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
16857         * src/mcs51/gen.c (isLiteralBit): fixed for long long,
16858           (genReceive): fixed stack smashing bug
16859         * support/regression/tests/test-p99-conformance.c: decreased restrict_buffer
16861 2016-09-12 Philipp Klaus Krause <pkk AT spth.de>
16863         * device/include/stdbool.h,
16864           src/mcs51/gen.c:
16865           Standard-compliant _Bool for mcs51.
16867 2016-09-08 Philipp Klaus Krause <pkk AT spth.de>
16869         * device/include/stdint.h:
16870           Enable C99 typedefs for 64-bit types.
16872 2016-09-07 Ben Shi <powerstudio1st AT 163 DOT com>
16874         * src/mcs51/gen.c
16875           Improve longlong compatibility of mcs-51 on 32-bit hosts.
16877 2016-09-03 Philipp Klaus Krause <pkk AT spth.de>
16879         * src/mcs51/gen.c:
16880           Fixes for mcs51 long long on 32-bit hosts.
16882 2016-08-30 Philipp Klaus Krause <pkk AT spth.de>
16884         * src/mcs51/gen.c:
16885           Fixes for mcs51 long long on 32-bit hosts.
16887 2016-08-28 Philipp Klaus Krause <pkk AT spth.de>
16889         * support/regression/tests/gcc-torture-execute-20020506-1.c:
16890           Disable test for ds390 that accidentially got enabled when enabled for mcs51.
16892 2016-08-26 Philipp Klaus Krause <pkk AT spth.de>
16894         * src/mcs51/peep.c,
16895           support/regression/tests/bug-2477.c,
16896           support/regression/tests/gcc-torture-execute-20001031-1.c,
16897           support/regression/tests/gcc-torture-execute-20020506-1.c,
16898           support/regression/tests/gcc-torture-execute-20060127-1.c,
16899           support/regression/tests/gcc-torture-execute-941015-1.c,
16900           support/regression/tests/gcc-torture-execute-950512-1.c,
16901           support/regression/tests/gcc-torture-execute-950612-1.c,
16902           support/regression/tests/gcc-torture-execute-960402-1.c,
16903           support/regression/tests/gcc-torture-execute-960801-1.c,
16904           support/regression/tests/gcc-torture-execute-20000717-2.c,
16905           support/regression/tests/gcc-torture-execute-20020402-3.c,
16906           support/regression/tests/gcc-torture-execute-20050111-1.c,
16907           support/regression/tests/gcc-torture-execute-950704-1.c:
16908           Fix mcs51 peephole handling of long long parameters.
16909         * support/regression/tests/test-p99-conformance.c:
16910           Disable test for older GCC, where it fails.
16912 2016-08-25 Philipp Klaus Krause <pkk AT spth.de>
16914         * src/mcs51/gen.c,
16915           support/regression/tests/gcc-torture-execute-20020508-?.c:
16916           Fix long long right shift for mcs51.
16918 2016-08-25 Philipp Klaus Krause <pkk AT spth.de>
16920         * device/lib/_strchr.c:
16921           Explicitly cast away const to silence a warning.
16922         * support/regression/tests/gcc-torture-execute-20020508-?.c:
16923           Disable some failing long long tests for mcs51.
16924         * src/mcs51/gen.c:
16925           Fix pushing of long long received parameters for mcs51.
16927 2016-08-24 Ben Shi <powerstudio1st AT 163 DOT com>
16929         * device/include/math.h
16930         * device/lib/Makefile.in
16931         * device/lib/incl.mk
16932         * device/lib/isinf.c
16933         * device/lib/isnan.c
16934         * device/lib/make51lib.bat
16935           Support of new library functions isnan() and isinf().
16936         * src/SDCCval.c
16937         * device/lib/_fsdiv.c
16938           Make float division more compitable with inf and nan results.
16939         * src/SDCCast.c
16940         * src/SDCCerr.c
16941           Change zero-div from error to warning level.
16942         * support/regression/tests/bug-2516.c
16943           Add a new test case for inf and nan.
16945 2016-08-23 Philipp Klaus Krause <pkk AT spth.de>
16947         * src/mcs51/gen.h,
16948           src/mcs51/peep.c,
16949           support/regression/tests/gcc-torture-execute-20000314-2.c,
16950           support/regression/tests/gcc-torture-execute-pr42269-2.c,
16951           support/regression/tests/gcc-torture-execute-20060110-2.c,
16952           support/regression/tests/gcc-torture-execute-20001031-1.c,
16953           support/regression/tests/gcc-torture-execute-20011126-1.c,
16954           support/regression/tests/gcc-torture-execute-20020201-1.c,
16955           support/regression/tests/gcc-torture-execute-20020219-1.c,
16956           support/regression/tests/gcc-torture-execute-20020402-3.c,
16957           support/regression/tests/gcc-torture-execute-20020506-1.c,
16958           support/regression/tests/gcc-torture-execute-20020508-1.c,
16959           support/regression/tests/gcc-torture-execute-20020508-2.c,
16960           support/regression/tests/gcc-torture-execute-20020508-3.c,
16961           support/regression/tests/gcc-torture-execute-20030307-1.c,
16962           support/regression/tests/gcc-torture-execute-20050104-1.c,
16963           support/regression/tests/gcc-torture-execute-20050111-1.c,
16964           support/regression/tests/gcc-torture-execute-941015-1.c,
16965           support/regression/tests/gcc-torture-execute-950503-1.c:
16966           long long fix for deadMove() on ret.
16968 2016-08-22 Philipp Klaus Krause <pkk AT spth.de>
16970         * src/SDCCsymt.c,
16971           src/mcs51/gen.c,
16972           support/regression/tests/gcc-torture-execute-961122-1.c,
16973           support/regression/tests/gcc-torture-execute-961206-1.c,
16974           support/regression/tests/gcc-torture-execute-991016-1.c,
16975           support/regression/tests/gcc-torture-execute-991216-1.c,
16976           support/regression/tests/gcc-torture-execute-991216-2.c,
16977           support/regression/tests/gcc-torture-execute-pr20187-1.c,
16978           support/regression/tests/gcc-torture-execute-pr40057.c,
16979           support/regression/tests/gcc-torture-execute-pr42269-2.c,
16980           support/regression/tests/gcc-torture-execute-pr42544.c,
16981           support/regression/tests/test-p99-conformance.c:
16982           support/regression/tests/gcc-torture-execute-20000121-1.c,
16983           support/regression/tests/gcc-torture-execute-20000314-2.c,
16984           support/regression/tests/gcc-torture-execute-20000412-2.c,
16985           support/regression/tests/gcc-torture-execute-20000523-1.c,
16986           support/regression/tests/gcc-torture-execute-20000717-2.c,
16987           support/regression/tests/gcc-torture-execute-20001112-1.c,
16988           support/regression/tests/gcc-torture-execute-20001221-1.c,
16989           support/regression/tests/gcc-torture-execute-20060110-2.c,
16990           support/regression/tests/gcc-torture-execute-20060127-1.c,
16991           support/regression/tests/gcc-torture-execute-20071213-1.c,
16992           support/regression/tests/gcc-torture-execute-920829-1.c,
16993           support/regression/tests/gcc-torture-execute-921029-1.c,
16994           support/regression/tests/gcc-torture-execute-921202-2.c,
16995           support/regression/tests/gcc-torture-execute-930111-1.c:
16996           More long long support for mcs51.
16998 2016-08-21 Philipp Klaus Krause <pkk AT spth.de>
17000         * src/mcs51/gen.c,
17001           src/mcs51/gen.h,
17002           src/mcs51/ralloc.c,
17003           The basics of long long support for mcs51.
17005 2016-08-20 Philipp Klaus Krause <pkk AT spth.de>
17007         * doc/sdccman.lyx:
17008           Fix double underscores in manual.
17010 2016-08-19 Philipp Klaus Krause <pkk AT spth.de>
17012         * support/regression/tests/test-p99-conformance.c:
17013           Enable a test for newer GCC, comment on other GCC issues.
17015 2016-08-18 Philipp Klaus Krause <pkk AT spth.de>
17017         * src/SDCC.y,
17018           src/SDCCerr.h,
17019           src/SDCCerr.c,
17020           doc/sdccman.lyx,
17021           support/regression/tests/for.c,
17022           test-p99-conformance.c:
17023           RFE #165: C99 compliance: for (int i=0; ...
17025 2016-08-17 Philipp Klaus Krause <pkk AT spth.de>
17027         * support/regression/tests/test-p99-conformance.c:
17028           Disable a subtest for host, since it fails on older GCC, disable a subtest for backends that don't have long long.
17030 2016-08-14 Philipp Klaus Krause <pkk AT spth.de>
17032         * support/regression/tests/test-p99-conformance.c,
17033           support/regression/fwk/lib/extern1.c:
17034           Enable inlining test for host.
17036 2016-08-14 Philipp Klaus Krause <pkk AT spth.de>
17038         * support/regression/tests/test-p99-conformance.c:
17039           Document SDCC bug correspondance to P99 conformance tests.
17041 2016-08-13 Philipp Klaus Krause <pkk AT spth.de>
17043         * support/regression/tests/test-p99-conformance.c:
17044           Some P99 conformance tests.
17046 2016-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17048         * sim/ucsim/sim.src/mem.cc: rewrote some of the memory cell classes
17049           to work properly on big endian architectures
17051 2016-08-10 Ben Shi <powerstudio1st AT 163 DOT com>
17053         * sim/ucsim/charscl.h
17054           Fix the failure of building ucsim on MacOS.
17055         * support/regression/tests/gcc-torture-execute-string-opt-18.c
17056         * support/regression/tests/string.c
17057           Disable several tests on MacOS.
17059 2016-08-10 Philipp Klaus Krause <pkk AT spth.de>
17061         * device/include/string.h,
17062           device/lib/tlcs90/Makefile.in,
17063           device/lib/tlcs90/memmove.s:
17064           pop af correctness for tlcs90.
17066 2016-08-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17068         * support/regression/get_ticks.py: parse the byte count more robustly
17069           (buffering on stderr vs stdout sometimes jumbling text)
17071 2016-08-05 Erik Petrich <epetrich AT ivorytower.normna.ok.us>
17073         * src/SDCCcse.c (ifxOptimize): fixed bug #2484
17074         * src/z80/gen.c (ld_cost): fixed bug #2399
17076 2016-08-04 Erik Petrich <epetrich AT ivorytower.normna.ok.us>
17078         * src/SDCCast.c (decorateTree, optimizeCompare): fixed bug #2503
17079           and an unreported bug similar to bug #2529
17080         * support/regression/tests/bug-2503: added test
17081         * src/SDCClospre.hpp (forward_lospre_assignment): fixed bug #2510
17083 2016-08-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17085         * src/SDCCcflow.c (eBBSuccessors),
17086         * src/SDCCloop.c (addPostLoopBlock): fixed bug #2453
17087         * support/regression/tests/bug-2453: added test
17089 2016-08-03 Philipp Klaus Krause <pkk AT spth.de>
17091         * device/lib/tlcs90/setjmp.s,
17092           device/lib/tlcs90/memmove.s:
17093           Avoid messing up interrupt flags via pop af.
17095 2016-08-02 Philipp Klaus Krause <pkk AT spth.de>
17097         * device/lib/_strstr.c:
17098           Fix a warning.
17099         * src/SDCCmain.c:
17100           Fix usage info, patch #274.
17101         * src/SDCCtree_dec.hpp:
17102           Fix isolation of redundant nodes in the tree-decomposition.
17104 2016-08-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17106         * src/SDCCcse.c (cseBBlock): Recompute data flow if any outgoing
17107           expressions have been changed (fixed bug #2495)
17108         * src/hc08/gen.c (genCopy),
17109         * src/hc08/ralloc.c (packPointerOp): fixed bug #2357
17110         * support/regression/tests/bug-2357.c: re-enabled test for hc08/s08
17112 2016-08-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17114         * src/stm8/gen.c (regFree): Y is not free when using extended stack
17116 2016-07-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17118         * src/hc08/gen.c (genMinus): mark A as modified for reverse subtraction
17119         * src/z80/gen.c (genPointerGet,genUnpackBits): preserve pointer
17120           register pair if not dead
17122 2016-07-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17124         * sim/ucsim/fwio.cc: try defining WINVER instead of _WIN32_WINNT
17125         * sim/ucsim/cmd.src/Makefile.in,
17126         * sim/ucsim/gui.src/Makefile.in,
17127         * sim/ucsim/sim.src/Makefile.in,
17128         * sim/ucsim/main_in.mk: omit -D option to ar, not supported by all ar
17130 2016-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
17132         * SDCC.props: added ExecutablePath
17133         * src/ds390/gen.c,
17134         * src/SDCCutil.c,
17135         * src/SDCCval.c,
17136         * src/stm8/gen.c,
17137         * src/stm8/main.c,
17138         * src/z80/peep.c: fixed warnings
17140 2016-07-29 Philipp Klaus Krause <pkk AT spth.de>
17142         * src/SDCCicode.c:
17143           Enable an optimization that was blocked on bug #2450.
17144         * src/SDCCtree_dec.hpp,
17145           src/SDCCralloc.hpp:
17146           Fix bug #2467 (fix previously was blocked on bug #2450).
17147         * src/z80/peeph-tlcs90.def:
17148           Remove leftover z80 peepholes that break on tlcs90.
17150 2016-07-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17152         * src/SDCCast.c (processBlockVars): fix bug #2450
17153         * support/regression/tests/inline.c: add test for bug #2450
17154         * src/hc08/gen.c (aopForSym): remove work-around
17156 2016-07-29 Philipp Klaus Krause <pkk AT spth.de>
17158         * support/regression/tests/bug-2529.c
17159           Regression test for bug #2517.
17161 2016-07-29 Ben Shi <powerstudio1st AT 163 DOT com>
17163         * sim/ucsim/cmd.src/cmd_exec.cc
17164         * sim/ucsim/cmd.src/cmd_get.cc
17165         * sim/ucsim/cmd.src/command.cc
17166         * sim/ucsim/fuio.cc
17167         * sim/ucsim/s51.src/interrupt.cc
17168         * sim/ucsim/s51.src/uc51.cc
17169         * sim/ucsim/sim.src/mem.cc
17170         * sim/ucsim/stm8.src/itc.cc
17171         * sim/ucsim/utils.h
17172           Fix build failures on cygwin.
17173         * src/SDCCicode.c
17174         * src/SDCCicode.h
17175           Fix bug #2517.
17177 2016-07-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17179         * sim/ucsim/fwio.cc: added _WIN32_WINNT def for GetConsoleWindow()
17180         * sim/ucsim/fio.cc: handle case S_IRGRP and S_IROTH not defined
17181         * sim/ucsim/doc/Makefile.in: copy *.svg files instead of *.gif
17183 2016-07-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17185         * src/SDCCast.c (decorateType): fixed bug #2529
17187 2016-07-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17189         * device/lib/expf.c: ensure exponent not random before normalization
17191 2016-07-27 Philipp Klaus Krause <pkk AT spth.de>
17193         * support/regression/tests/bug-2385.c:
17194           Disable a test for tlcs90, so all tests compile for tlcs90.
17196 2016-07-26 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
17198         * sim/ucsim/.version, sim/ucsim/Makefile.in, sim/ucsim/NEWS,
17199           sim/ucsim/README, sim/ucsim/TODO, sim/ucsim/app.cc,
17200           sim/ucsim/appcl.h, sim/ucsim/avr.src/Makefile.in,
17201           sim/ucsim/avr.src/avr.cc, sim/ucsim/avr.src/avrcl.h,
17202           sim/ucsim/avr.src/savr.cc, sim/ucsim/c.sh, sim/ucsim/chars.cc,
17203           sim/ucsim/charscl.h, sim/ucsim/cmd.src/Makefile.in,
17204           sim/ucsim/cmd.src/bp.cc, sim/ucsim/cmd.src/bpcl.h,
17205           sim/ucsim/cmd.src/cmd_bp.cc, sim/ucsim/cmd.src/cmd_bpcl.h,
17206           sim/ucsim/cmd.src/cmd_conf.cc, sim/ucsim/cmd.src/cmd_confcl.h,
17207           sim/ucsim/cmd.src/cmd_exec.cc, sim/ucsim/cmd.src/cmd_execcl.h,
17208           sim/ucsim/cmd.src/cmd_get.cc, sim/ucsim/cmd.src/cmd_getcl.h,
17209           sim/ucsim/cmd.src/cmd_gui.cc, sim/ucsim/cmd.src/cmd_guicl.h,
17210           sim/ucsim/cmd.src/cmd_info.cc, sim/ucsim/cmd.src/cmd_infocl.h,
17211           sim/ucsim/cmd.src/cmd_mem.cc, sim/ucsim/cmd.src/cmd_memcl.h,
17212           sim/ucsim/cmd.src/cmd_set.cc, sim/ucsim/cmd.src/cmd_setcl.h,
17213           sim/ucsim/cmd.src/cmd_show.cc, sim/ucsim/cmd.src/cmd_showcl.h,
17214           sim/ucsim/cmd.src/cmd_stat.cc, sim/ucsim/cmd.src/cmd_statcl.h,
17215           sim/ucsim/cmd.src/cmd_timer.cc, sim/ucsim/cmd.src/cmd_timercl.h,
17216           sim/ucsim/cmd.src/cmd_uc.cc, sim/ucsim/cmd.src/cmd_uccl.h,
17217           sim/ucsim/cmd.src/cmdconf.cc, sim/ucsim/cmd.src/cmdconfcl.h,
17218           sim/ucsim/cmd.src/cmdgui.cc, sim/ucsim/cmd.src/cmdguicl.h,
17219           sim/ucsim/cmd.src/cmdlex.l, sim/ucsim/cmd.src/cmdmem.cc,
17220           sim/ucsim/cmd.src/cmdmemcl.h, sim/ucsim/cmd.src/cmdpars.y,
17221           sim/ucsim/cmd.src/cmdset.cc, sim/ucsim/cmd.src/cmdsetcl.h,
17222           sim/ucsim/cmd.src/cmdstat.cc, sim/ucsim/cmd.src/cmdstatcl.h,
17223           sim/ucsim/cmd.src/cmduc.cc, sim/ucsim/cmd.src/cmduccl.h,
17224           sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/cmdutil.h,
17225           sim/ucsim/cmd.src/command.cc, sim/ucsim/cmd.src/commandcl.h,
17226           sim/ucsim/cmd.src/get.cc, sim/ucsim/cmd.src/getcl.h,
17227           sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/infocl.h,
17228           sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/newcmdcl.h,
17229           sim/ucsim/cmd.src/newcmdposix.cc,
17230           sim/ucsim/cmd.src/newcmdposixcl.h, sim/ucsim/cmd.src/set.cc,
17231           sim/ucsim/cmd.src/setcl.h, sim/ucsim/cmd.src/show.cc,
17232           sim/ucsim/cmd.src/showcl.h, sim/ucsim/cmd.src/timer.cc,
17233           sim/ucsim/cmd.src/timercl.h, sim/ucsim/conf, sim/ucsim/configure,
17234           sim/ucsim/configure.ac, sim/ucsim/ddconfig_in.h,
17235           sim/ucsim/doc/Makefile.in, sim/ucsim/doc/analyzer.html,
17236           sim/ucsim/doc/burst.gif, sim/ucsim/doc/chip.gif,
17237           sim/ucsim/doc/chip.svg, sim/ucsim/doc/cmd.html,
17238           sim/ucsim/doc/cmd.txt, sim/ucsim/doc/cmd_bp.html,
17239           sim/ucsim/doc/cmd_dump.html, sim/ucsim/doc/cmd_exec.html,
17240           sim/ucsim/doc/cmd_general.html, sim/ucsim/doc/cmd_memory.html,
17241           sim/ucsim/doc/cmd_removed.html, sim/ucsim/doc/cmd_set.html,
17242           sim/ucsim/doc/commref.html, sim/ucsim/doc/conf.mk,
17243           sim/ucsim/doc/cpu-mem.gif, sim/ucsim/doc/cpu-mem.jpg,
17244           sim/ucsim/doc/cpu-mem.svg, sim/ucsim/doc/cpu.gif,
17245           sim/ucsim/doc/cpu.html, sim/ucsim/doc/cpu_types.html,
17246           sim/ucsim/doc/decoded.gif, sim/ucsim/doc/decoded.jpg,
17247           sim/ucsim/doc/decoded.svg, sim/ucsim/doc/index.html,
17248           sim/ucsim/doc/interrupt.gif, sim/ucsim/doc/interrupt.html,
17249           sim/ucsim/doc/invoke.html, sim/ucsim/doc/memory.html,
17250           sim/ucsim/doc/mulcons.html, sim/ucsim/doc/new.gif,
17251           sim/ucsim/doc/news.html, sim/ucsim/doc/obsolete.html,
17252           sim/ucsim/doc/serial.html, sim/ucsim/doc/serial1.gif,
17253           sim/ucsim/doc/serial1.svg, sim/ucsim/doc/serial2.gif,
17254           sim/ucsim/doc/serial2.svg, sim/ucsim/doc/share-chip.gif,
17255           sim/ucsim/doc/share-chip.svg, sim/ucsim/doc/simif.html,
17256           sim/ucsim/doc/syntax.html, sim/ucsim/doc/term_cpuopt.gif,
17257           sim/ucsim/doc/term_cpuopt.html, sim/ucsim/doc/timers.gif,
17258           sim/ucsim/doc/timers.html, sim/ucsim/doc/uCsim.txt,
17259           sim/ucsim/doc/wins.gif, sim/ucsim/doc/wins.html,
17260           sim/ucsim/error.cc, sim/ucsim/errorcl.h, sim/ucsim/eventcl.h,
17261           sim/ucsim/example, sim/ucsim/example/Makefile,
17262           sim/ucsim/example/config.cmd, sim/ucsim/example/run.cmd,
17263           sim/ucsim/example/simif.c, sim/ucsim/example/simif.sh,
17264           sim/ucsim/example/simif_fin.txt, sim/ucsim/fio.cc,
17265           sim/ucsim/fiocl.h, sim/ucsim/ftest.cc, sim/ucsim/fuio.cc,
17266           sim/ucsim/fuiocl.h, sim/ucsim/fwio.cc, sim/ucsim/fwiocl.h,
17267           sim/ucsim/globals.cc, sim/ucsim/gstring.cc, sim/ucsim/gstring.h,
17268           sim/ucsim/gstring_LICENSE, sim/ucsim/gstring_REAME,
17269           sim/ucsim/gstring_append.cc, sim/ucsim/gstring_basic.cc,
17270           sim/ucsim/gstring_copyright.html, sim/ucsim/gstring_explode.cc,
17271           sim/ucsim/gui.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
17272           sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
17273           sim/ucsim/hc08.src/hc08mac.h, sim/ucsim/hc08.src/regshc08.h,
17274           sim/ucsim/hc08.src/shc08.cc, sim/ucsim/hc08.src/simhc08.cc,
17275           sim/ucsim/main_in.mk, sim/ucsim/option.cc, sim/ucsim/optioncl.h,
17276           sim/ucsim/p.sh, sim/ucsim/packages_in.mk, sim/ucsim/pobj.cc,
17277           sim/ucsim/pobjcl.h, sim/ucsim/pobjt.h, sim/ucsim/put(c),
17278           sim/ucsim/s51.src/Makefile.in, sim/ucsim/s51.src/arith.cc,
17279           sim/ucsim/s51.src/bit.cc, sim/ucsim/s51.src/inc.cc,
17280           sim/ucsim/s51.src/interrupt.cc, sim/ucsim/s51.src/interruptcl.h,
17281           sim/ucsim/s51.src/jmp.cc, sim/ucsim/s51.src/logic.cc,
17282           sim/ucsim/s51.src/mov.cc, sim/ucsim/s51.src/pca.cc,
17283           sim/ucsim/s51.src/pcacl.h, sim/ucsim/s51.src/port.cc,
17284           sim/ucsim/s51.src/portcl.h, sim/ucsim/s51.src/s51.cc,
17285           sim/ucsim/s51.src/serial.cc, sim/ucsim/s51.src/serialcl.h,
17286           sim/ucsim/s51.src/sim51.cc, sim/ucsim/s51.src/timer0.cc,
17287           sim/ucsim/s51.src/timer0cl.h, sim/ucsim/s51.src/timer1.cc,
17288           sim/ucsim/s51.src/timer2.cc, sim/ucsim/s51.src/timer2cl.h,
17289           sim/ucsim/s51.src/types51.h, sim/ucsim/s51.src/uc251.cc,
17290           sim/ucsim/s51.src/uc390.cc, sim/ucsim/s51.src/uc390cl.h,
17291           sim/ucsim/s51.src/uc390hw.cc, sim/ucsim/s51.src/uc51.cc,
17292           sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/uc51r.cc,
17293           sim/ucsim/s51.src/uc52.cc, sim/ucsim/s51.src/uc89c51r.cc,
17294           sim/ucsim/s51.src/uc89c51rcl.h, sim/ucsim/s51.src/wdt.cc,
17295           sim/ucsim/sim.src/Makefile.in, sim/ucsim/sim.src/arg.cc,
17296           sim/ucsim/sim.src/argcl.h, sim/ucsim/sim.src/brk.cc,
17297           sim/ucsim/sim.src/brkcl.h, sim/ucsim/sim.src/hw.cc,
17298           sim/ucsim/sim.src/hwcl.h, sim/ucsim/sim.src/itsrc.cc,
17299           sim/ucsim/sim.src/itsrccl.h, sim/ucsim/sim.src/mem.cc,
17300           sim/ucsim/sim.src/memcl.h, sim/ucsim/sim.src/obsolete.cc,
17301           sim/ucsim/sim.src/obsolete.h, sim/ucsim/sim.src/sim.cc,
17302           sim/ucsim/sim.src/simcl.h, sim/ucsim/sim.src/simif.cc,
17303           sim/ucsim/sim.src/simifcl.h, sim/ucsim/sim.src/stack.cc,
17304           sim/ucsim/sim.src/stackcl.h, sim/ucsim/sim.src/test_mem_speed.cc,
17305           sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
17306           sim/ucsim/sim.src/var.cc, sim/ucsim/sim.src/varcl.h,
17307           sim/ucsim/st7.src/Makefile.in, sim/ucsim/st7.src/glob.cc,
17308           sim/ucsim/st7.src/regsst7.h, sim/ucsim/st7.src/sst7.cc,
17309           sim/ucsim/st7.src/st7.cc, sim/ucsim/st7.src/st7cl.h,
17310           sim/ucsim/stm8.src/Makefile.in, sim/ucsim/stm8.src/glob.cc,
17311           sim/ucsim/stm8.src/glob.h, sim/ucsim/stm8.src/inst.cc,
17312           sim/ucsim/stm8.src/instcl.h, sim/ucsim/stm8.src/itc.cc,
17313           sim/ucsim/stm8.src/itccl.h, sim/ucsim/stm8.src/regsstm8.h,
17314           sim/ucsim/stm8.src/rst.cc, sim/ucsim/stm8.src/rstcl.h,
17315           sim/ucsim/stm8.src/serial.cc, sim/ucsim/stm8.src/serialcl.h,
17316           sim/ucsim/stm8.src/simstm8.cc, sim/ucsim/stm8.src/simstm8cl.h,
17317           sim/ucsim/stm8.src/sstm8.cc, sim/ucsim/stm8.src/stm8.cc,
17318           sim/ucsim/stm8.src/stm8cl.h, sim/ucsim/stm8.src/stm8mac.h,
17319           sim/ucsim/stm8.src/test, sim/ucsim/stm8.src/test/Makefile,
17320           sim/ucsim/stm8.src/test/conf.cmd, sim/ucsim/stm8.src/test/s0.c,
17321           sim/ucsim/stm8.src/test/s1.c, sim/ucsim/stm8.src/test/s1.mk,
17322           sim/ucsim/stm8.src/test/s2.c, sim/ucsim/stm8.src/test/s2.mk,
17323           sim/ucsim/stm8.src/test/s3.c, sim/ucsim/stm8.src/test/s3.mk,
17324           sim/ucsim/stm8.src/test/sdcc.mk, sim/ucsim/stm8.src/test/stm8.h,
17325           sim/ucsim/stm8.src/test/t1.c, sim/ucsim/stm8.src/test/t1.mk,
17326           sim/ucsim/stm8.src/test/t2.c, sim/ucsim/stm8.src/test/t2.mk,
17327           sim/ucsim/stm8.src/test/t3.c, sim/ucsim/stm8.src/test/t3.mk,
17328           sim/ucsim/stm8.src/test/t4.c, sim/ucsim/stm8.src/test/t4.mk,
17329           sim/ucsim/stm8.src/timer.cc, sim/ucsim/stm8.src/timercl.h,
17330           sim/ucsim/stypes.h, sim/ucsim/tlcs.src, sim/ucsim/tlcs.src/(c).1,
17331           sim/ucsim/tlcs.src/Makefile.in, sim/ucsim/tlcs.src/clean.mk,
17332           sim/ucsim/tlcs.src/conf.mk, sim/ucsim/tlcs.src/glob.cc,
17333           sim/ucsim/tlcs.src/glob.h, sim/ucsim/tlcs.src/inst_arith.cc,
17334           sim/ucsim/tlcs.src/inst_bit.cc, sim/ucsim/tlcs.src/inst_block.cc,
17335           sim/ucsim/tlcs.src/inst_cpu_others.cc,
17336           sim/ucsim/tlcs.src/inst_jump.cc, sim/ucsim/tlcs.src/inst_move.cc,
17337           sim/ucsim/tlcs.src/inst_rot_sh.cc,
17338           sim/ucsim/tlcs.src/mulibyte_instructions.txt,
17339           sim/ucsim/tlcs.src/regression.txt, sim/ucsim/tlcs.src/simtlcs.cc,
17340           sim/ucsim/tlcs.src/simtlcscl.h, sim/ucsim/tlcs.src/stlcs.cc,
17341           sim/ucsim/tlcs.src/test, sim/ucsim/tlcs.src/test/Makefile,
17342           sim/ucsim/tlcs.src/test/b2385.c,
17343           sim/ucsim/tlcs.src/test/b2385.mk, sim/ucsim/tlcs.src/test/c,
17344           sim/ucsim/tlcs.src/test/conf.cmd,
17345           sim/ucsim/tlcs.src/test/dummy.h, sim/ucsim/tlcs.src/test/run.cmd,
17346           sim/ucsim/tlcs.src/test/run.sh, sim/ucsim/tlcs.src/test/sdcc.mk,
17347           sim/ucsim/tlcs.src/test/t0.c, sim/ucsim/tlcs.src/test/t0.mk,
17348           sim/ucsim/tlcs.src/test/t1.c, sim/ucsim/tlcs.src/test/t1.mk,
17349           sim/ucsim/tlcs.src/test/t2.c, sim/ucsim/tlcs.src/test/t2.mk,
17350           sim/ucsim/tlcs.src/test/t3.c, sim/ucsim/tlcs.src/test/t3.mk,
17351           sim/ucsim/tlcs.src/tlcs.cc, sim/ucsim/tlcs.src/tlcscl.h,
17352           sim/ucsim/ucsim.cc, sim/ucsim/utils.cc, sim/ucsim/utils.h,
17353           sim/ucsim/xa.src/Makefile.in, sim/ucsim/xa.src/glob.cc,
17354           sim/ucsim/xa.src/glob.h, sim/ucsim/xa.src/regsxa.h,
17355           sim/ucsim/xa.src/sxa.cc, sim/ucsim/xa.src/xa.cc,
17356           sim/ucsim/xa.src/xacl.h, sim/ucsim/z80.src/Makefile.in,
17357           sim/ucsim/z80.src/inst_r2k.cc, sim/ucsim/z80.src/lr35902.cc,
17358           sim/ucsim/z80.src/lr35902cl.h, sim/ucsim/z80.src/r2k.cc,
17359           sim/ucsim/z80.src/r2kcl.h, sim/ucsim/z80.src/regsz80.h,
17360           sim/ucsim/z80.src/sz80.cc, sim/ucsim/z80.src/test,
17361           sim/ucsim/z80.src/test/Makefile, sim/ucsim/z80.src/test/c,
17362           sim/ucsim/z80.src/test/conf.cmd, sim/ucsim/z80.src/test/dummy.h,
17363           sim/ucsim/z80.src/test/run.cmd, sim/ucsim/z80.src/test/run.sh,
17364           sim/ucsim/z80.src/test/sdcc.mk, sim/ucsim/z80.src/test/t0.c,
17365           sim/ucsim/z80.src/test/t0.mk, sim/ucsim/z80.src/test/t1.c,
17366           sim/ucsim/z80.src/test/t1.mk, sim/ucsim/z80.src/test/t2.c,
17367           sim/ucsim/z80.src/test/t2.mk, sim/ucsim/z80.src/z80.cc,
17368           sim/ucsim/z80.src/z80cl.h, sim/ucsim/z80.src/z80mac.h: ucsim
17369           version 0.6-pre4
17371 2016-07-25 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
17373         * device/lib/tlcs90/crt0.s,
17374           device/lib/tlcs90/crt0_org.s: dirty
17375           hacked crt0 so compiled simple programs will run at least
17377 2016-07-25 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
17379         * support/regression/Makefile.in,
17380           support/regression/fwk/include/testfwk.h,
17381           support/regression/ports/tlcs90,
17382           support/regression/ports/tlcs90/spec.mk,
17383           support/regression/ports/tlcs90/support.c,
17384           support/regression/ports/tlcs90/uCsim.cmd,
17385           support/regression/tests/bug-2305.c,
17386           support/regression/tests/bug3379723.c: regression test prepared
17387           for tlcs90
17389 2016-07-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17391         * src/SDCCmem.c (printAllocInfoSeg),
17392         * src/port.h,
17393         * src/avr/main.c,
17394         * src/ds390/main.c,
17395         * src/hc08/main.c,
17396         * src/mcs51/main.c,
17397         * src/pic14/main.c,
17398         * src/pic16/main.c,
17399         * src/stm8/main.c,
17400         * src/xa51/main.c,
17401         * src/z80/main.c: Display correct stack offsets when stack grows down
17403 2016-07-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17405         * src/SDCCopt.c (optimizeOpWidth): don't narrow types cast to bit/sbit either
17407 2016-07-23 Philipp Klaus Krause <pkk AT spth.de>
17409         * src/SDCCval.h,
17410           src/SDCCval.c,
17411           src/stm8/main.c,
17412           src/stm8/gen.c:
17413           Generate code for 16 bit multiplication by literal based on CSD representation.
17415 2016-07-23 Philipp Klaus Krause <pkk AT spth.de>
17417         * src/SDCCsymt.h,
17418           src/SDCCsymt.c,
17419           src/SDCCopt.c,
17420           device/lib/stm8/__mulsint2slong.s:
17421           support/regression/tests/muldiv.c:
17422           Support routine for unsigned 16x16->32 multiplication.
17424 2016-07-23 Philipp Klaus Krause <pkk AT spth.de>
17426         * device/lib/stm8/memcpy.s:
17427           Fix issue in loop counter in stm8 memcpy().
17428         * src/port.h,
17429           src/SDCCsymt.c,
17430           src/*/main.c:
17431           Introduce backend option for 16x16->32 multiplication.
17432         * support/regression/tests/muldiv.c:
17433           Prepare test for unsigned 16x16->32 multiplication.
17435 2016-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
17437         * device/lib/_strchr.c,
17438         * device/lib/_strrchr.c,
17439         * device/lib/_strstr.c: reverted commit 9631, these files should not
17440           generate warning 196
17441         * sdas/asstm8/stm8mch.c: fixed incw cycle count
17443 2016-07-22 Philipp Klaus Krause <pkk AT spth.de>
17445         * device/lib/stm8/memcpy.s,
17446           support/regression/tests/memory.c:
17447           Fix an issue in stm8 unrolled memcpy().
17448         * device/lib/stm8/__mulsint2slong.s:
17449           Optimize multiplication routine for small operands.
17450         * src/SDCCopt.c:
17451           Optimize multiplication with anded operands.
17453 2016-07-21 Philipp Klaus Krause <pkk AT spth.de>
17455         * device/lib/stm8/Makefile.in,
17456           device/lib/stm8/__mulsint2slong.s,
17457           src/SDCCcse.c,
17458           src/SDCCopt.c,
17459           src/SDCCsymt.c,
17460           src/SDCCsymt.h,
17461           support/regression/tests/muldiv.c,
17462           Support for separate 16x16->32 multiplication routine, RFE #507.
17464 2016-07-21 Philipp Klaus Krause <pkk AT spth.de>
17466         * src/SDCCopt.c:
17467           Narrow arithmetic operations when results are cast to narrower type: RFE #506.
17469 2016-07-21 Ben Shi <powerstudio1st AT 163 DOT com>
17471         * sdas/astlcs90/t90mch.c
17472           Fix a potential defect.
17474 2016-07-20 Philipp Klaus Krause <pkk AT spth.de>
17476         * device/lib/stm8/Makefile.in,
17477           device/lib/stm8/strcpy.s:
17478           Partially unrolled, slightly faster strcpy() for stm8.
17479         * src/stm8/gen.c,
17480           src/SDCCsymt.c:
17481           More efficient handling of boolean values.
17482         * device/lib/r2k/Makefile.in:
17483           Fix bug #2526.
17484         * src/stm8/main.c:
17485           Remove unused vars.
17487 2016-07-18 Philipp Klaus Krause <pkk AT spth.de>
17489         * src/stm8/gen.c:
17490           Slight improvement in code generation.
17492 2016-07-17 Philipp Klaus Krause <pkk AT spth.de>
17494         * src/stm8/main.c,
17495           src/stm8/gen.c:
17496           Special case for int multiplication by 7 and 100.
17498 2016-07-16 Philipp Klaus Krause <pkk AT spth.de>
17500         * device/lib/stm8/memcpy.s:
17501           Improve stm8 memcpy().
17502         * support/regression/tests/memory.c:
17503           Better memcpy() test coverage.
17505 2016-07-15 Philipp Klaus Krause <pkk AT spth.de>
17507         * device/lib/stm8/memcpy.s:
17508           Improve stm8 memcpy().
17510 2016-07-14 Philipp Klaus Krause <pkk AT spth.de>
17512         * device/lib/stm8/memcpy.s:
17513           Partially unroll stm8 memcpy() for speed.
17514         * device/lib/stm8/strcmp.s:
17515           Partially unroll stm8 strcmp() for speed.
17517 2016-07-11 Philipp Klaus Krause <pkk AT spth.de>
17519         * src/z80/main.c,
17520           src/z80/gen.c:
17521           Fix bug #2522.
17522         * device/lib/stm8/memcpy.s,
17523           device/lib/stm8/strcmp.s,
17524           device/lib/*/Makefile.in,
17525           device/lib/Makefile.in,
17526           device/lib/incl.mk:
17527           Provide handwritten memcpy(), strcmp() to improve stm8 Dhrystone scores.
17528         * sdas/astlcs90/t90mch.c:
17529           Fix TLCS-90 assembler relocation issue for ld, reopened bug #2520.
17530         * src/stm8/peeph.def:
17531           Some peepholes to remove redundant stm8 loads, to improve stm8 DMIPS by another 0.42%
17533 2016-07-10 Philipp Klaus Krause <pkk AT spth.de>
17535         * sdas/astlcs90/t90mch.c:
17536           Fix TLCS-90 assembler relocation issue for adc, bug #2520.
17538 2016-07-06 Ben Shi <powerstudio1st AT 163 DOT com>
17540         * support/regression/tests/gcc-torture-execute-920612-1.c
17541           Disabled in test-host with gcc-6.
17543 2016-06-30 Ben Shi <powerstudio1st AT 163 DOT com>
17545         * src/SDCCicode.c
17546           Check pointer qualifier in geniCodeReturn().
17547         * device/lib/_strstr.c
17548         * device/lib/_strchr.c
17549         * device/lib/_strrchr.c
17550         * support/regression/tests/gcc-torture-execute-920429-1.c
17551           Suppress warning 196.
17553 2016-06-26 Ben Shi <powerstudio1st AT 163 DOT com>
17555         * src/ds390/gen.c
17556           Fix a bug in genCmp().
17557         * support/regression/tests/dhrystone.c
17558           Enabled for ds390.
17560 2016-06-21 Philipp Klaus Krause <pkk AT spth.de>
17562         * src/SDCCicode.c:
17563           Fix bug #1841.
17564         * device/include/stdbool.h:
17565           Minor cleanup.
17567 2016-06-19 Philipp Klaus Krause <pkk AT spth.de>
17569         * doc/sdccman.lyx,
17570           src/SDCCglobl.h,
17571           src/SDCCmain.c,
17572           src/SDCCsymt.c:
17573           Remove obsolete SDCC macro, --short-is-8-bits option.
17575 2016-06-18 Ben Shi <powerstudio1st AT 163 DOT com>
17577         * src/mcs51/gen.c
17578           Fix a bug in jump table of switch/case when --acall-ajmp is specified.
17579         * src/mcs51/peeph.def
17580           Remove empty lines.
17582 2016-06-18 Ben Shi <powerstudio1st AT 163 DOT com>
17584         * support/regression/ports/mcs51-huge/spec.mk
17585         * support/regression/ports/mcs51-xstack-auto/spec.mk
17586           Make "make" more compatible.
17588 2016-06-17 Philipp Klaus Krause <pkk AT spth.de>
17590         * support/regression/ports/ucr2k/support.asm:
17591           Fix regression test putchar() for r2k.
17593 2016-06-16 Philipp Klaus Krause <pkk AT spth.de>
17595         * device/include/stdio.h,
17596           device/lib/ds390/putchar.c,
17597           device/lib/puts.c,
17598           support/regression/tests/bug1115321.c,
17599           support/regression/tests/dhrystone.c:
17600           Make putchar() prototype standard-compliant, fix bug #2505.
17602 2016-06-16 Philipp Klaus Krause <pkk AT spth.de>
17604         * device/lib/*/Makefile.in,
17605           device/lib/*/putchar.s,
17606           support/regression/ports/*/support.asm,
17607           support/regression/tests/dhrystone.c:
17608           Remove z80 putchar() from library.
17610 2016-06-15 Philipp Klaus Krause <pkk AT spth.de>
17612         * support/regression/tests/dhrystone.c:
17613           Introduce a regression test based on the Dhrystone benchmark.
17615 2016-06-13 Ben Shi <powerstudio1st AT 163 DOT com>
17617         * src/stm8/gen.c
17618           Fix a bug in emitCall().
17620 2016-06-12 Maarten Brock <sourceforge.brock AT dse.nl>
17622         * Small Device C Compiler 3.6.0 released
17623         * .version, doc/sdccman.lyx: changed sdcc version to 3.6.1
17625 2016-06-04 Maarten Brock <sourceforge.brock AT dse.nl>
17627         * .version,
17628         * doc/INSTALL.txt,
17629         * doc/sdccman.lyx:  version 3.6.0
17631 2016-06-03 Philipp Klaus Krause <pkk AT spth.de>
17633         * src/hc08/gen.c:
17634           Work around an allocation issue.
17636 2016-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
17638         * .version,
17639         * doc/INSTALL.txt,
17640         * doc/sdccman.lyx: version 3.6.0 rc1, use coloured links
17641         * sdcc.spec: version 3.6.0
17642         * doc/Makefile.in: silence makeindex
17643         * sim/ucsim/cmd.src/cmdset.cc,
17644         * sim/ucsim/hc08.src/hc08cl.h,
17645         * sim/ucsim/sim.src/hw.cc,
17646         * sim/ucsim/sim.src/hwcl.h,
17647         * sim/ucsim/st7.src/st7cl.h,
17648         * sim/ucsim/stm8.src/stm8cl.h,
17649         * sim/ucsim/z80.src/z80cl.h: cosmetics
17650         * sim/ucsim/st7.src/st7.cc (cl_st7::disass): fixed get_disasm_info call
17652 2016-05-25 Philipp Klaus Krause <pkk AT spth.de>
17654         * src/stm8/gen.c:
17655           Implement genAddrOf for both X and Y in use (to make all regression tests compile for low --max-allocs-per-node).
17657 2016-05-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17659         * src/hc08/ralloc.c: fixed bug #2489
17660         * support/regression/tests/wchar.c: re-enable hc08/s08 tests
17662 2016-05-17 Philipp Klaus Krause <pkk AT spth.de>
17664         * src/stm8/peep.c:
17665           Basic flag handling in notUsed(), more accurate notUsed().
17666         * src/stm8/peeph.def:
17667           Enable dead load optimization (with fixed flag handling).
17669 2016-05-17 Philipp Klaus Krause <pkk AT spth.de>
17671         * src/SDCCpeeph.c:
17672           Improve labelIsReturnOnly() accuracy.
17673         * src/stm8/peeph.def:
17674           Disable dead load optimization, introduce jump-to-return optimization.
17676 2016-05-16 Philipp Klaus Krause <pkk AT spth.de>
17678         * src/stm8/peeph.def:
17679           Use more jumps on false for stm8 peepholes.
17680         * src/stm8/gen.c:
17681           More efficient comparisons.
17683 2016-05-15 Philipp Klaus Krause <pkk AT spth.de>
17685         * Makefile.in:
17686           Fix distclean failures.
17688 2016-05-14 Maarten Brock <sourceforge.brock AT dse.nl>
17690         * support/sdbinutils/binutils/arlex.c,
17691         * support/sdbinutils/binutils/arparse.c,
17692         * support/sdbinutils/binutils/arparse.h,
17693         * support/sdbinutils/binutils/defparse.c,
17694         * support/sdbinutils/binutils/defparse.h,
17695         * support/sdbinutils/binutils/mcparse.c,
17696         * support/sdbinutils/binutils/mcparse.h,
17697         * support/sdbinutils/binutils/rcparse.c,
17698         * support/sdbinutils/binutils/rcparse.h,
17699         * support/sdbinutils/binutils/sysinfo.c,
17700         * support/sdbinutils/binutils/sysinfo.h,
17701         * support/sdbinutils/binutils/syslex.c: added, as in upstream git
17703 2016-05-13 Philipp Klaus Krause <pkk AT spth.de>
17705         * sdas/linksrc/lkelf.c:
17706           Enable ELF symbol table output, (from patch #255 by Peter Dons Tychsen).
17708 2016-05-12 Philipp Klaus Krause <pkk AT spth.de>
17710         * src/stm8/gen.c:
17711           Minor code cleanup, also gets rid of a GCC warning.
17713 2016-05-10 Ben Shi <powerstudio1st AT 163 DOT com>
17715         * configure
17716         * configure.ac
17717         * src/SDCCmain.c
17718           Call setrlimit() in a more compatible way.
17720 2016-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
17722         * device/lib/hc08/_setjmp.c,
17723         * device/lib/s08/_setjmp.c: svn eol-style native
17724         * support/regression/tests/gcc-torture-execute-pr28982a.c,
17725         * support/regression/tests/bug-2197.c: enabled for mcs51
17726         * src/mcs51/gen.c (genFunction, genEndFunction): implemented RFE 81 to
17727           disable interrupts before stacking
17728         * sim/ucsim/s51.src/uc390.cc: use IDMx/MCON instead of SA/ACON
17729         * sim/ucsim/s51.src/uc390hw.cc: do not lock out all IDM settings
17730         * src/ds390/main.c (_ds390_genIVT): MCON requires Timed Access
17732 2016-05-06 Ben Shi <powerstudio1st AT 163 DOT com>
17734         * support/regression/compact-results.py
17735           Roll back to previous version.
17737 2016-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
17739         * device/include/setjmp.h: ds390 needs 5 bytes
17740         * device/lib/_setjmp.c: added ds390 version
17741         * device/lib/ds390/setjmp.c: updated, but still a dummy
17742         * device/lib/hc08/_setjmp.c,
17743         * device/lib/s08/_setjmp.c: fixed stack pointer bug
17744         * sim/ucsim/cmd.src/Makefile.in,
17745         * sim/ucsim/gui.src/Makefile.in,
17746         * sim/ucsim/main_in.mk,
17747         * sim/ucsim/sim.src/Makefile.in: drop -u to prevent warning on ar 2.26
17748         * sim/ucsim/s51.src/uc390cl.h: added ixram
17749         * sim/ucsim/s51.src/uc390.cc: check full ixram range,
17750         * sim/ucsim/s51.src/uc51.cc,
17751         * sim/ucsim/s51.src/uc89c51r.cc: show @R0, @R1 and 8 stack bytes
17752         * sim/ucsim/sim.src/mem.cc (cl_memory::dump): allow decrementing range
17753         * sim/ucsim/stm8.src/inst.cc (cl_stm8::flag_cvh): fixed warnings
17754         * src/SDCC.y: critical is not a part of the calling convention
17755         * support/regression/tests/bug663539.c: fix to fool the python script
17756         * support/regression/tests/gcc-torture-execute-20010409-1.c: use longjmp()
17757           instead of return() to mimic exit()
17758         * support/regression/tests/setjmp.c: enabled for all regular targets
17760 2016-05-05 Ben Shi <powerstudio1st AT 163 DOT com>
17762         * support/regression/compact-results.py
17763           Fix spots in previous commit.
17765 2016-05-04 Ben Shi <powerstudio1st AT 163 DOT com>
17767         * support/regression/collate-results.py
17768         * support/regression/compact-results.py
17769           Detect and report aborted test cases.
17771 2016-05-03 Ben Shi <powerstudio1st AT 163 DOT com>
17773         * support/regression/collate-results.py
17774         * support/regression/compact-results.py
17775         * support/regression/Makefile.in
17776           Detect and report 'segment fault' in test-host.
17777         * support/regression/tests/gcc-torture-execute-20010409-1.c
17778           Disable for gcc-5 in test-host.
17780 2016-05-01 Ben Shi <powerstudio1st AT 163 DOT com>
17782         * Enlarge stack size to 4MB in run time.
17784 2016-04-30 Philipp Klaus Krause <pkk AT spth.de>
17786         * src/SDCCasm.c:
17787           Hex number case consistency, RFE #142.
17789 2016-04-29 Philipp Klaus Krause <pkk AT spth.de>
17791         * src/z80/gen.c,
17792           doc/sdccman.lyx,
17793           .version:
17794           Reorganize interrupt handling for z80-related backends, fix bugs #2339, #2131.
17796 2016-04-29 Ben Shi <powerstudio1st AT 163 DOT com>
17798         * src/SDCC.y
17799         * src/SDCCerr.c
17800         * src/SDCCerr.h
17801           Make the warning in previous commit more generic.
17803 2016-04-28 Ben Shi <powerstudio1st AT 163 DOT com>
17805         * src/SDCC.y
17806         * src/SDCCerr.c
17807         * src/SDCCerr.h
17808           Add warning for inlined _z88dk_* functions.
17810 2016-04-28 Ben Shi <powerstudio1st AT 163 DOT com>
17812         * src/SDCC.y
17813         * src/SDCCerr.c
17814           Allow typedef function types.
17815         * support/regression/tests/bug-2497.c
17816           Add a new test case.
17818 2016-04-27 Maarten Brock <sourceforge.brock AT dse.nl>
17820         * src/ds390/gen.c (genFarPointerSet): no inline variable definitions
17821         * src/ds390/main.c (_ds390_genAssemblerPreamble, _ds390_genIVT): add MCON,
17822           (_ds390_genXINIT): added _ds390_genXRAMCLEAR
17824 2016-04-25 Ben Shi <powerstudio1st AT 163 DOT com>
17826         * src/SDCC.y
17827         * src/SDCCsymt.c
17828         * src/SDCCsymt.h
17829           Check local defined structs more strictly.
17831 2016-04-24 Ben Shi <powerstudio1st AT 163 DOT com>
17833         * src/SDCCast.c
17834           Change the signedness of the literal operand in bitwise operation.
17835         * support/regression/tests/bug-1929.c
17836           Add a new test case.
17837         * support/regression/tests/gcc-torture-execute-20020506-1.c
17838           Modify test case.
17840 2016-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
17842         * support/sdbinutils/bfd/doc/Makefile.am,
17843           support/sdbinutils/bfd/doc/Makefile.in,
17844           support/sdbinutils/binutils/Makefile.am,
17845           support/sdbinutils/binutils/Makefile.in:
17846           Revert changes of wrong bugfix.
17848 2016-04-20 Ben Shi <powerstudio1st AT 163 DOT com>
17850         * src/z80/peeph-r2k.def
17851         * src/z80/peeph-tlcs90.def
17852         * src/z80/peeph-z80.def
17853           Fix potential bugs.
17855 2016-04-19 Molnar Karoly <molnarkaroly AT users.sf.net>
17857         * support/sdbinutils/bfd/doc/Makefile.am,
17858           support/sdbinutils/bfd/doc/Makefile.in,
17859           support/sdbinutils/binutils/Makefile.am,
17860           support/sdbinutils/binutils/Makefile.in:
17861           Fix a distclean bug. Now the "make distclean" command deletes
17862           these unnecessary files:
17863             support/sdbinutils/bfd/doc/bfd.info*
17864             support/sdbinutils/binutils/arlex.c
17865             support/sdbinutils/binutils/arparse.c
17866             support/sdbinutils/binutils/arparse.h
17867             support/sdbinutils/binutils/defparse.c
17868             support/sdbinutils/binutils/defparse.h
17869             support/sdbinutils/binutils/mcparse.c
17870             support/sdbinutils/binutils/mcparse.h
17871             support/sdbinutils/binutils/rcparse.c
17872             support/sdbinutils/binutils/rcparse.h
17873             support/sdbinutils/binutils/sysinfo.c
17874             support/sdbinutils/binutils/sysinfo.h
17875             support/sdbinutils/binutils/syslex.c
17877 2016-04-18 Maarten Brock <sourceforge.brock AT dse.nl>
17879         * device/include/setjmp.h: use C89 compatible comments
17880         * device/lib/ds390/setjmp.c: preliminary setjmp/longjmp implementation
17881         * device/lib/gbz80/Makefile.in,
17882         * device/lib/gbz80/setjmp.s,
17883         * device/lib/hc08/Makefile.in
17884         * device/lib/hc08/_setjmp.c
17885         * device/lib/s08/Makefile.in
17886         * device/lib/s08/_setjmp.c: implemented setjmp/longjmp for gbz80, hc08, s08
17887         * support/regression/tests/setjmp.c: enabled for all but ds390
17888         * device/lib/hc08/_divuint.c,
17889         * device/lib/s08/_divuint.c: removed mcs51 asm
17890         * device/lib/pic16/libc/stdlib/atof.c,
17891         * device/lib/pic16/libc/stdlib/x_ftoa.c: fixed since char is now unsigned
17892         * src/SDCCval.c (reorderIlist): properly fixed bug #2423
17893         * src/z80/peeph-gbz80.def: added rule 2
17894         * support/regression/tests/bug-2423.c: remove disabled pragma
17895         * support/regression/tests/float_single.c: enabled EXPF as it seems to pass
17897 2016-04-18 Philipp Klaus Krause <pkk AT spth.de>
17899         * src/z80/gen.c:
17900           Fix handling of register pair hl in block copy pointer assignment.
17902 2016-04-18 Philipp Klaus Krause <pkk AT spth.de>
17904         * src/z80/peeph-z80.def:
17905           Optimize jumps on boolean bitfields.
17906         * src/z80/gen.c:
17907           Improve unpacking of signed bitfields.
17909 2016-04-18 Molnar Karoly <molnarkaroly AT users.sf.net>
17911         * device/lib/pic14/bootstrap.sh,
17912           device/lib/pic16/bootstrap.sh,
17913           device/non-free/lib/pic16/bootstrap.sh:
17914           Deleted the execute rights, to prevent accidental execution.
17916 2016-04-17 Molnar Karoly <molnarkaroly AT users.sf.net>
17918         * device/lib/pic14/configure,
17919           device/lib/pic14/configure.ac,
17920           device/lib/pic14/Makefile.am,
17921           device/lib/pic14/Makefile.in,
17922           device/lib/pic16/Makefile.am,
17923           device/lib/pic16/Makefile.in,
17924           device/non-free/lib/pic14/Makefile.in,
17925           device/non-free/lib/pic16/Makefile.am,
17926           device/non-free/lib/pic16/Makefile.in:
17927           Renamed the "device/lib/pic14/.checksupport" directory to
17928           "device/lib/pic14/.checkdevices".
17929           Fix a distclean bug. Now the "make distclean" command deletes
17930           these unnecessary directories and files:
17931             device/lib/pic14/.checkdevices/*
17932             device/lib/pic14/a.*
17933             device/lib/pic16/.checkdevices/*
17934             device/lib/pic16/a.*
17935             device/lib/pic16/pics.supported
17936             device/non-free/lib/pic14/.checkdevices/*
17937             device/non-free/lib/pic14/a.*
17938             device/non-free/lib/pic14/pics.supported
17939             device/non-free/lib/pic16/.checkdevices/*
17940             device/non-free/lib/pic16/a.*
17941             device/non-free/lib/pic16/pics.supported
17943 2016-04-17 Philipp Klaus Krause <pkk AT spth.de>
17945         * support/regression/tests/wchar.c:
17946           Enable test for mcs51.
17947         * doc/sdccman.lyx:
17948           Update manual, clearly mark 8051-specifics as such in Chapter 3.
17950 2016-04-17 Ben Shi <powerstudio1st AT 163 DOT com>
17952         * src/SDCCglue.c
17953           Fix a pointer printing bug, when a 4-byte generic pointer is printed on ds390.
17955 2016-04-16 Maarten Brock <sourceforge.brock AT dse.nl>
17957         * device/include/mcs51/compiler.h: added INTERRUPT, INTERRUPT_USING, NOP
17958           macros, copied from SiLabs' compiler_defs.h
17959         * device/include/mcs51/EFM8BB1.h: new, added, from RFE 271, thanks
17960           Kharitonov Dmitry
17962 2016-04-14 Philipp Klaus Krause <pkk AT spth.de>
17964         * src/z80/gen.c,
17965           support/regression/tests/gcc-torture-execute-20000717-2.c,
17966           support/regression/tests/gcc-torture-execute-20050104-1.c,
17967           support/regression/tests/gcc-torture-execute-921202-2.c,
17968           support/regression/tests/gcc-torture-execute-950612-1.c,
17969           support/regression/tests/gcc-torture-execute-961122-1.c,
17970           support/regression/tests/gcc-torture-execute-20060110-2.c,
17971           support/regression/tests/gcc-torture-execute-950704-1.c,
17972           support/regression/tests/longlong.c:
17973           Fixes to gbz80 carry flag handling, particularly relevant to long long.
17975 2016-04-14 Ben Shi <powerstudio1st AT 163 DOT com>
17977         * src/SDCCerr.c
17978         * src/SDCCerr.h
17979         * src/SDCCsymt.c
17980           Check tagged anonymous struct/union.
17982 2016-04-13 Philipp Klaus Krause <pkk AT spth.de>
17984         * src/stm8/gen.c,
17985           support/regression/tests/bug-2492.c:
17986           Fix bug #2492.
17988 2016-04-13 Molnar Karoly <molnarkaroly AT users.sf.net>
17990         * device/include/pic14/pic14devices.txt,
17991           device/non-free/include/pic14/*.h,
17992           device/non-free/include/pic16/*.h,
17993           device/non-free/lib/pic14/libdev/*.c,
17994           device/non-free/lib/pic16/libdev/*.c:
17995           Refreshed the device files.
17997 2016-04-12 Philipp Klaus Krause <pkk AT spth.de>
17999         * device/include/uchar.h,
18000           device/include/wchar.h,
18001           device/lib/c16rtomb.c,
18002           device/lib/mbrtoc16.c,
18003           device/lib/mbsinit.c,
18004           device/lib/incl.mk,
18005           support/regression/tests/wchar.c:
18006           Implement c16rtomb(), mbrtoc16(), mbsinit().
18007         * device/lib/*/mul.s
18008           Integer multiplication improvement by Kio (RFE #422).
18010 2016-04-12 Molnar Karoly <molnarkaroly AT users.sf.net>
18012         * device/lib/pic14/configure.ac,
18013           device/lib/pic14/Makefile.in,
18014           device/lib/pic14/libm/Makefile.in,
18015           device/lib/pic14/libsdcc/enhanced/Makefile.in,
18016           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
18017           device/lib/pic14/libsdcc/regular/Makefile.in:
18018           Fixed bug: #2482 Link error with pic16f1827
18020 2016-04-11 Philipp Klaus Krause <pkk AT spth.de>
18022         * src/z80/gen.c:
18023           Enable iy register content tracking optimization.
18024         * device/include/stdlib.h,
18025           device/lib/mbtowc.c,
18026           device/lib/incl.mk,
18027           support/regression/tests/wchar.c:
18028           Implement mbtowc().
18029         * device/include/wchar.h,
18030           device/lib/mbrlen.c:
18031           Implement mbrlen().
18033 2016-04-10 Molnar Karoly <molnarkaroly AT users.sf.net>
18035         * src/pic14/gen.c,
18036           src/pic16/gen.c:
18037           Fixed typo from "psuedo" to "pseudo".
18039         * src/pic14/gen.c:
18040           Fixed bug in genCall() function: The PAGESEL instructions must
18041           be given unconditionally. (In this context: "Each function has
18042           its own code section.")
18044         * src/pic14/pcode.c,
18045           src/pic16/pcode.c,
18046           src/pic14/ralloc.c,
18047           src/pic16/ralloc.c:
18048           Fix potential buffer overflow.
18050         * src/pic14/glue.c:
18051           Minor code formatting.
18053 2016-04-09 Ben Shi <powerstudio1st AT 163 DOT com>
18055         * support/regression/tests/gcc-torture-execute-20020506-1.c
18056         * support/regression/tests/gcc-torture-execute-20041011-1.c
18057         * support/regression/tests/gcc-torture-execute-20050111-1.c
18058         * support/regression/tests/gcc-torture-execute-20060127-1.c
18059         * support/regression/tests/gcc-torture-execute-920604-1.c
18060         * support/regression/tests/gcc-torture-execute-921029-1.c
18061         * support/regression/tests/gcc-torture-execute-941015-1.c
18062           Enabled.
18064 2016-04-07 Philipp Klaus Krause <pkk AT spth.de>
18066         * device/include/errno.h,
18067           device/include/uchar.h,
18068           device/include/wchar.h,
18069           device/lib/mbrtoc32.c,
18070           device/lib/c32rtomb.c,
18071           device/lib/mbrtowc.c,
18072           device/lib/wcrtomb.c,
18073           device/lib/incl.mk,
18074           support/regression/tests/wchar.c:
18075           Implement mbrtoc32, c32rtomb(), mbrtowc(), wcrtomb().
18077 2016-04-07 Philipp Klaus Krause <pkk AT spth.de>
18079         * src/SDCC.lex,
18080           src/SDCCerr.h,
18081           src/SDCCerr.c:
18082           Fix bug #2488 by implementing hexadecimal floating constants.
18083         * device/include/stdlib.h,
18084           device/lib/mblen.c,
18085           device/lib/wctomb.c,
18086           device/lib/incl.mk,
18087           support/regression/tests/string.c:
18088           Implement mblen(), wctomb().
18090 2016-04-06 Philipp Klaus Krause <pkk AT spth.de>
18092         * support/regression/tests/string.c:
18093           Check more of wide strings, do not depend on implementation-defined
18094           behaviour in char escape.
18096 2016-04-06 Ben Shi <powerstudio1st AT 163 DOT com>
18098         * support/regression/tests/gcc-torture-execute-950512-1.c
18099         * support/regression/tests/gcc-torture-execute-961122-1.c
18100         * support/regression/tests/gcc-torture-execute-960402-1.c
18101           Enabled.
18103 2016-04-05 Ben Shi <powerstudio1st AT 163 DOT com>
18105         * support/regression/tests/string.c
18106           Improve test case.
18107         * src/SDCCast.c
18108         * src/SDCCicode.c
18109         * src/z80/gen.c
18110           Improve longlong compatibility.
18112 2016-04-03 Molnar Karoly <molnarkaroly AT users.sf.net>
18114         * device/lib/pic14/bootstrap.sh,
18115           device/lib/pic14/Makefile.in,
18116           device/lib/pic14/libm/Makefile.in,
18117           device/lib/pic14/libsdcc/enhanced/Makefile.am,
18118           device/lib/pic14/libsdcc/enhanced/Makefile.in,
18119           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.am,
18120           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
18121           device/lib/pic14/libsdcc/regular/Makefile.am,
18122           device/lib/pic14/libsdcc/regular/Makefile.in:
18123           Workaround the Linux Mint bug: #2482 Link error with pic16f1827
18125         * device/lib/pic16/*,
18126           device/non-free/lib/pic16/*:
18127           Downgraded the autoconf version from 1.15 to 1.11.6.
18129 2016-04-01 Philipp Klaus Krause <pkk AT spth.de>
18131         * src/SDCCglue.c,
18132           src/SDCCval.c:
18133           Support wide string literals in initialization of global arrays.
18134         * src/SDCCast.c,
18135           Support wide string literals in initialization of local arrays.
18136         * doc/sdccman.lyx:
18137           Update documentation on standard compliance.
18139 2016-04-01 Ben Shi <powerstudio1st AT 163 DOT com>
18141         * support/regression/tests/gcc-torture-execute-950512-1.c
18142           Enabled.
18143         * src/z80/gen.c
18144           Improve longlong comptability on different hosts.
18146 2016-03-31 Philipp Klaus Krause <pkk AT spth.de>
18148         * doc/sdccman.lyx:
18149           Remove user-visible feature macros for signed / unsigned char.
18150         * device/include/limits.h:
18151           Fix multibyte sequence limit.
18152         * support/regression/tests/bitvars.c,
18153           support/regression/tests/funsigned-char.c:
18154           Detect char signedness portably.
18155         * src/SDCCsymt.h,
18156           src/SDCCval.c,
18157           src/SDCCglue.c,
18158           doc/sdccman.lyx,
18159           support/regression/tests/string.c:
18160           Support wide string literals outside of array initialization.
18162 2016-03-31 Ben Shi <powerstudio1st AT 163 DOT com>
18164         * support/regression/tests/gcc-torture-execute-pr19606.c
18165           Disabled in test-host.
18167 2016-03-29 Ben Shi <powerstudio1st AT 163 DOT com>
18169         * support/regression/tests/gcc-torture-execute-20060127-1.c
18170         * support/regression/tests/gcc-torture-execute-921029-1.c
18171         * support/regression/tests/gcc-torture-execute-941015-1.c
18172         * support/regression/tests/gcc-torture-execute-pr19606.c
18173           Disabled.
18175 2016-03-29 Ben Shi <powerstudio1st AT 163 DOT com>
18177         * support/regression/tests/bug3475656.c
18178         * support/regression/tests/gcc-torture-execute-20000314-2.c
18179         * support/regression/tests/gcc-torture-execute-20000523-1.c
18180         * support/regression/tests/gcc-torture-execute-20001108-1.c
18181         * support/regression/tests/gcc-torture-execute-20020201-1.c
18182         * support/regression/tests/gcc-torture-execute-20020226-1.c
18183         * support/regression/tests/gcc-torture-execute-20020508-1.c
18184         * support/regression/tests/gcc-torture-execute-20020508-2.c
18185         * support/regression/tests/gcc-torture-execute-20020508-3.c
18186         * support/regression/tests/gcc-torture-execute-20060110-1.c
18187         * support/regression/tests/gcc-torture-execute-20060110-2.c
18188         * support/regression/tests/gcc-torture-execute-20060127-1.c
18189         * support/regression/tests/gcc-torture-execute-20101013-1.c
18190         * support/regression/tests/gcc-torture-execute-920710-1.c
18191         * support/regression/tests/gcc-torture-execute-920829-1.c
18192         * support/regression/tests/gcc-torture-execute-921029-1.c
18193         * support/regression/tests/gcc-torture-execute-941015-1.c
18194         * support/regression/tests/gcc-torture-execute-950704-1.c
18195         * support/regression/tests/gcc-torture-execute-960801-1.c
18196         * support/regression/tests/gcc-torture-execute-961213-1.c
18197         * support/regression/tests/gcc-torture-execute-pr19606.c
18198         * support/regression/tests/gcc-torture-execute-pr27285.c
18199           Enable more longlong test cases.
18201 2016-03-28 Philipp Klaus Krause <pkk AT spth.de>
18203         * src/SDCCglue.c:
18204           Disable assertions to mask ds390 issue on non-OpenBSD for now.
18206 2016-03-28 Ben Shi <powerstudio1st AT 163 DOT com>
18208         * src/SDCCicode.c
18209           Fix a long long issue on 32-bit machines.
18210         * support/regression/tests/gcc-torture-execute-950511-1.c
18211         * support/regression/tests/bug-2477.c
18212           Enabled.
18214 2016-03-27 Philipp Klaus Krause <pkk AT spth.de>
18216         * support/regression/tests/inline.c:
18217           Disable failing test for OpenBSD host.
18218         * src/SDCCglue.c:
18219           Add assertions to help track down pointer size bugs.
18221 2016-03-27 Ben Shi <powerstudio1st AT 163 DOT com>
18223         * sdas/asstm8/stm8pst.c
18224           Apply part of patch #255 by Peter Dons Tychsen.
18226 2016-03-24 Ben Shi <powerstudio1st AT 163 DOT com>
18228         * src/z80/gen.c
18229           Improve long long compatibility among different host machines.
18231 2016-03-22 Ben Shi <powerstudio1st AT 163 DOT com>
18233         * src/SDCCast.c
18234         * src/SDCCglue.c
18235         * src/SDCCval.c
18236         * src/SDCCval.h
18237         * src/pic16/glue.c
18238         * src/z80/gen.c
18239           Improve long long compatibility among different host machines.
18241 2016-03-19 Ben Shi <powerstudio1st AT 163 DOT com>
18243         * src/z80/gen.c
18244           Improve compatibility of SDCC between 32-bit and 64-bit machines.
18246 2016-03-15 Molnar Karoly <molnarkaroly AT users.sf.net>
18248         * src/pic14/pcode.c:
18249           Fixed bug: "#2481 wrong asm code for pic16f1827 (or even others?)"
18251 2016-03-12 Maarten Brock <sourceforge.brock AT dse.nl>
18253         * src/SDCCpeeph.c (labelIsUncondJump): also search backwards
18254         * src/mcs51/peeph.def: added rules 257.a-i for jump-to-jump optimization,
18255           added rules 259.c-f to remove dead jumps, implements RFE 491
18256         * src/SDCCerr.c,
18257         * src/SDCCerr.h: changed W_UNKNOWN_FEXT to E_UNKNOWN_FEXT
18258         * src/SDCCmain.c (processFile): also accept .h sources, implement RFE 460
18260 2016-03-12 Ben Shi <powerstudio1st AT 163 DOT com>
18262         * src/z80/gen.c
18263           Rollback to previous version.
18264         * support/regression/tests/bug-2477.c
18265           Disable this test case.
18267 2016-03-11 Ben Shi <powerstudio1st AT 163 DOT com>
18269         * src/z80/gen.c
18270           Fix a bug in genRet(): long long return value is cut to long.
18271         * support/regression/tests/bug-2477.c
18272           Add a new test case.
18274 2016-03-10 Ben Shi <powerstudio1st AT 163 DOT com>
18276         * src/stm8/gen.c
18277           Fix a bug in genAnd(): conflict register assignment.
18278         * support/regression/tests/bug-2480.c
18279           Add a new test case.
18281 2016-03-06 Maarten Brock <sourceforge.brock AT dse.nl>
18283         * src/SDCC.y: MSVC does not accept declarations in for loop
18285 2016-03-05 Maarten Brock <sourceforge.brock AT dse.nl>
18287         * device/non-free/lib/pic16/missing: copied from device/lib/pic16/missing
18288         * src/SDCCgen.c (genInline): also check for colon in single literal char
18289         * support/cpp/libcpp/macro.c (create_iso_definition): fixed warning
18290         * support/regression/compact-results.py: use 'T' for clock ticks
18292 2016-03-05 Ben Shi <powerstudio1st AT 163 DOT com>
18294         * src/SDCCgen.c
18295           Fix a bug: colon should not be treated as a label suffix in a literal
18296           string in inline-asm.
18298 2016-03-05 Ben Shi <powerstudio1st AT 163 DOT com>
18300         * src/SDCCerr.c
18301         * src/SDCCval.c
18302           Remove warning #212 W_LONGLONG_LITERAL.
18304 2016-03-04 Ben Shi <powerstudio1st AT 163 DOT com>
18306         * src/SDCCicode.c
18307           Fix long long issues.
18308         * support/regression/tests/longlong.c
18309           Add more tests.
18311 2016-02-27 Ben Shi <powerstudio1st AT 163 DOT com>
18313         * support/scripts/sdcc.nsi
18314           Install large-stack-auto related files into windows distribution.
18316 2016-02-26 Ben Shi <powerstudio1st AT 163 DOT com>
18318         * src/SDCCicode.c
18319         * src/SDCCicode.h
18320         * src/SDCCval.c
18321         * src/SDCCval.h
18322           Fix potential precision loss of long long operands.
18324 2016-02-21 Ben Shi <powerstudio1st AT 163 DOT com>
18326         * src/SDCCast.c
18327         * src/SDCCast.h
18328           Make sure the parameter list is not reversed before calling parmProcess().
18329         * support/regression/tests/bug-2473.c
18330           Add a new test case.
18332 2016-02-20 Ben Shi <powerstudio1st AT 163 DOT com>
18334         * src/SDCCast.c
18335           Fix bug #2471.
18337 2016-02-19 Ben Shi <powerstudio1st AT 163 DOT com>
18339         * src/SDCCerr.c
18340           Make the error message of error E_CONST_EXPECTED more understandable.
18342 2016-02-18 Ben Shi <powerstudio1st AT 163 DOT com>
18344         * src/SDCCglue.c
18345           Add check of non-constant in a global variable's initial value.
18347 2016-02-13 Molnar Karoly <molnarkaroly AT users.sf.net>
18349         * src/pic14/gen.c,
18350         * src/pic14/glue.c,
18351         * src/pic14/pcode.c,
18352         * src/pic14/pcode.h:
18353         Fixed bug: "#2470 wrong asm code for PIC14 interrupt - interrupt not working"
18355 2016-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
18357         * device/lib/Makefile.in: added and enabled large-mcs51-stack-auto
18358         * support/regression/ports/mcs51-large-stack-auto,
18359         * support/regression/ports/mcs51-large-stack-auto/spec.mk,
18360         * support/regression/Makefile.in: added test-mcs51-large-stack-auto
18361         * support/regression/tests/bug2094505.c: disabled for mcs51-large-stack-auto
18363 2016-02-08 Maarten Brock <sourceforge.brock AT dse.nl>
18365         * debugger/mcs51/simi.c,
18366         * debugger/mcs51/simi.h: applied patch 268, Thanks Peter Dons Tychsen
18367         * device/include/stdlib.h: suppress unused variable warning
18368         * src/SDCCsymt.c (checkSClass): globals and statics in code don't need an
18369           initializer but may be implicitly cleared
18370         * support/regression/tests/gcc-torture-execute-20000412-1.c: added disabled
18371           testcase for this
18372         * support/regression/tests/bug-2041.c: also check with xdata starting at 1
18373         * support/regression/tests/bug-2089.c: fix warnings
18374         * support/regression/tests/bug-2423.c: suppress warning 147, show weird 203
18376 2016-02-07 Ben Shi <powerstudio1st AT 163 DOT com>
18378         * src/ds390/gen.c
18379           Fix a bug in genFarPointerSet() when the result and the right operand are
18380           both in DPTR.
18381         * support/regression/tests/bug-2041.c
18382           Add a new test case.
18384 2016-02-06 Philipp Klaus Krause <pkk AT spth.de>
18386         * src/SDCClospre.hpp,
18387           src/SDCCnaddr.hpp,
18388           src/SDCCralloc.hpp:
18389           Workaround boost bug #11880 to make SDCC compile with boost 1.60.
18391 2016-02-05 Ben Shi <powerstudio1st AT 163 DOT com>
18393         * src/SDCCast.c
18394           Fix a bug in comparison operation.
18395         * support/regression/tests/memory.c
18396           Enable more tests.
18398 2016-02-04 Ben Shi <powerstudio1st AT 163 DOT com>
18400         * src/SDCCicode.c
18401           Allow array members of structs can be accessed in pointer form.
18402         * support/regression/tests/bug-2468.c
18403           Add a test case.
18405 2016-02-03 Philipp Klaus Krause <pkk AT spth.de>
18407         * src/SDCClospre.hpp:
18408           Fix compare operator, patch #267 by Peter Dons Tychsen.
18409         * device/lib/pic16/libsdcc/char/divschar.c,
18410           device/lib/pic16/libsdcc/char/modschar.c:
18411           Fix signedness of pic16 char support routines.
18413 2016-02-01 Ben Shi <powerstudio1st AT 163 DOT com>
18415         * src/SDCCast.c
18416           Try to find a common type for the left and right in '?:' .
18417         * support/regression/tests/bug-2461.c
18418           Add a new test case.
18420 2016-02-01 Philipp Klaus Krause <pkk AT spth.de>
18422         * src/SDCCglobl.h,
18423           src/SDCCmain.c,
18424           src/SDCCsymt.c,
18425           src/SDCCval.c,
18426           doc/sdccman.lyx:
18427           Make char unsigned by default.
18429 2016-02-01 Philipp Klaus Krause <pkk AT spth.de>
18431         * device/include/stdlib.h:
18432           Fix declaration of aligned_alloc() for C11.
18434 2016-02-01 Ben Shi <powerstudio1st AT 163 DOT com>
18436         * src/SDCC.y
18437           Fix a bug: type mismatch between function definition and declaration.
18438         * support/regression/tests/bug-2419.c
18439           Add a new test case.
18441 2016-01-31 Molnar Karoly <molnarkaroly AT users.sf.net>
18443         * src/pic14/device.c,
18444           src/pic14/gen.c,
18445           src/pic14/glue.c,
18446           src/pic14/pcode.c,
18447           src/pic14/pcodepeep.c,
18448           src/pic14/ralloc.c,
18449           src/pic16/device.c,
18450           src/pic16/device.h,
18451           src/pic16/gen.c,
18452           src/pic16/genarith.c,
18453           src/pic16/genutils.c,
18454           src/pic16/glue.c,
18455           src/pic16/glue.h,
18456           src/pic16/graph.c,
18457           src/pic16/main.c,
18458           src/pic16/pcode.c,
18459           src/pic16/pcode.h,
18460           src/pic16/pcodepeep.c,
18461           src/pic16/ralloc.c,
18462           src/pic16/ralloc.h:
18463           Use "Safe_alloc(...)" instead of "Safe_calloc(1, ...)".
18464           Use SNPRINTF(X, sizeof(X), ...) instead of sprintf(X, ...).
18465           Some code simplification, e.g.:
18466             sprintf (s, "%s", aop->aopu.aop_dir);
18467             rs = Safe_calloc (1, strlen (s) + 1);
18468             strcpy (rs, s);
18469             return rs;
18470               .
18471               .
18472               .
18473             return Safe_strdup(aop->aopu.aop_dir);
18475 2016-01-28 Philipp Klaus Krause <pkk AT spth.de>
18477         * support/regression/Makefile.in:
18478           Change handling of test filenames for regression tests, patch #266 by
18479           Peter Dons Tychsen.
18480         * src/SDCCast.c,
18481           support/regression/tests/bug-2458.c:
18482           Changed result type propagation for logic operations, variant of proposed
18483           fix by Peter Dons Tychsen for bug #2458.
18485 2016-01-26 Philipp Klaus Krause <pkk AT spth.de>
18487         * src/SDCCsymt.c:
18488           Fix handling of __z88dk_fastcall in specifier merging.
18490 2016-01-26 Maarten Brock <sourceforge.brock AT dse.nl>
18492         * src/SDCCval.c (strVal): free utf_8 and suppress warning
18494 2016-01-25 Molnar Karoly <molnarkaroly AT users.sf.net>
18496         * src/pic14/pcode.c,
18497           src/pic14/ralloc.c:
18498           More use the logical constants.
18500 2016-01-25 Philipp Klaus Krause <pkk AT spth.de>
18502         * src/stm8/main.c:
18503           Improve DWARF support for stm8 ELF, picked from patch #255 by Peter Dons
18504           Tychsen.
18505         * src/SDCCsymt.c:
18506           Fix handling of preserved regs in specifier merging.
18508 2016-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
18510         * src/pic16/pcode.c,
18511           src/pic16/pcodepeep.c:
18512           More use the logical constants.
18514 2016-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
18516         * src/pic14/gen.c,
18517           src/pic14/glue.c,
18518           src/pic14/pcode.c,
18519           src/pic14/pcoderegs.c,
18520           src/pic14/ralloc.c:
18521           More use the logical constants.
18523 2016-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
18525         * src/pic14/gen.c,
18526           src/pic14/pcode.c,
18527           src/pic14/pcode.h:
18528           Add support the ASRF, LSLF and LSRF instructions
18529           (enhanced intructions of pic14): feature-requests #484
18531         * src/pic14/gen.c,
18532           src/pic14/gen.h:
18533           On more place I exchanged the "char *" to "const char *".
18535 2016-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
18537         * src/SDCC.y
18538         * src/SDCCast.c
18539         * src/SDCCast.h
18540         * src/SDCCutil.c
18541         * src/SDCCutil.h
18542           Format inline asm coding style.
18544 2016-01-23 Ben Shi <powerstudio1st AT 163 DOT com>
18546         * configure
18547         * configure.ac
18548         * debugger/mcs51/configure
18549         * debugger/mcs51/configure.ac
18550         * support/cpp/configure
18551         * support/cpp/configure.ac
18552         * support/packihx/configure
18553         * support/packihx/configure.ac
18554           Try to use C99 first.
18555         * src/SDCC.lex
18556           Remove a duplicate function definition.
18557         * src/SDCC.y
18558           Change to C99 style.
18560 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18562         * src/SDCCsymt.c,
18563           src/SDCCglue.h,
18564           src/SDCCglue.c:
18565           Do not display meaningless __reentrent to users.
18567 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18569         * src/z80/gen.c,
18570           src/z80/peep.c:
18571           Make estimate for preserved regs on function pointers less conservative.
18572         * src/SDCCsymt.c:
18573           Consider preserved regs for type of function pointer.
18575 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18577         * src/z80/peep.c:
18578           More accurate handling of conditional jumps, handle ex (sp), ix and
18579           ex (sp), iy.
18581 2016-01-21 Philipp Klaus Krause <pkk AT spth.de>
18583         * src/SDCC.y:
18584           Seems we have to worry about more than MSVC wrt. C99, patch #265 by Peter
18585           Dons Tychsen.
18587 2016-01-21 Philipp Klaus Krause <pkk AT spth.de>
18589         * src/SDCC.lex,
18590           src/SDCC.y,
18591           src/SDCCerr.c,
18592           src/SDCCerr.h,
18593           src/SDCCsymt.h,
18594           src/*/main.c,
18595           src/z80/gen.c:
18596           Implement declaration of preserved registers, RFE #483.
18597         * src/z80/peep.c
18598           Handle preserved register information in peephole optimization.
18599         * device/include/stdlib.h,
18600           device/include/string.h:
18601           Preserved register information on standard functions.
18602         * doc/sdccman.lyx:
18603           Document syntax for specifying preserved registers.
18605 2016-01-20 Philipp Klaus Krause <pkk AT spth.de>
18607         * src/z80/peep.c:
18608           More exact handling of ex, support for decimal shifts.
18610 2016-01-18 Philipp Klaus Krause <pkk AT spth.de>
18612         * src/SDCCdebug.c:
18613           Debug info for block-copy-initialized global variables, patch #262 by
18614           Peter Dons Tychsen.
18615         * src/SDCCdwarf2.c:
18616           Fix handling of declared, but unused global vairables in debug output,
18617           patch #263 by Peter Dons Tychsen.
18618         * src/z80/peep.c:
18619           More accurate handling of functions returning long long for peephole
18620           optimizer.
18621         * src/SDCCmain.c:
18622           Fix stream for help output, patch #264 by Peter Dons Tychsen.
18624 2016-01-18 Ben Shi <powerstudio1st AT 163 DOT com>
18626         * src/SDCCicode.c
18627           Apply a modified version of patch #261 by Peter Dons Tychsen.
18628         * support/regression/bug-2455.c
18629           Improve test case.
18631 2016-01-18 Philipp Klaus Krause <pkk AT spth.de>
18633         * src/SDCCicode.c:
18634           Fix pointer dereference issue, patch #261 by Peter Dons Tychsen.
18636 2016-01-17 Molnar Karoly <molnarkaroly AT users.sf.net>
18638         * device/non-free/include/pic14/*.h,
18639           device/non-free/include/pic16/*.h,
18640           device/non-free/lib/pic14/libdev/*.c,
18641           device/non-free/lib/pic16/libdev/*.c:
18642           Updated the device files.
18644 2016-01-17 Molnar Karoly <molnarkaroly AT users.sf.net>
18646         * src/pic14/pcode.c,
18647           src/pic14/pcode.h,
18648           src/pic16/ralloc.c,
18649           src/pic16/ralloc.h,
18650           src/pic16/pcodepeep.c,
18651           src/pic16/ralloc.c,
18652           src/pic16/ralloc.h:
18653           On more place I exchanged the "char *" to "const char *".
18655         * src/regression/Makefile:
18656           Added the option to CFLAGS: --no-warn-non-free
18658 2016-01-16 Molnar Karoly <molnarkaroly AT users.sf.net>
18660         * src/pic14/gen.c,
18661           src/pic14/pcode.c:
18662           Each function has its own code section.
18664         * src/pic16/pcode.c:
18665           Fix a gcc warning.
18667 2016-01-15 Ben Shi <powerstudio1st AT 163 DOT com>
18669         * src/SDCCicode.c
18670           Fix bug #2455.
18671         * support/regression/bug-2455.c
18672           Add a new test case.
18674 2016-01-14 Molnar Karoly <molnarkaroly AT users.sf.net>
18676         * device/lib/pic14/configure,
18677           device/lib/pic14/configure.ac,
18678           device/lib/pic16/configure.ac:
18679           Do away with the automake warning:
18680           "option 'subdir-objects' is disabled"
18682         * device/lib/pic16/Makefile.in,
18683           device/lib/pic16/aclocal.m4,
18684           device/lib/pic16/configure,
18685           device/lib/pic16/depcomp,
18686           device/lib/pic16/install-sh,
18687           device/lib/pic16/missing,
18688           device/lib/pic16/debug/Makefile.in,
18689           device/lib/pic16/libc/Makefile.in,
18690           device/lib/pic16/libio/Makefile.am,
18691           device/lib/pic16/libio/Makefile.in,
18692           device/lib/pic16/libio/adc.ignore,
18693           device/lib/pic16/libio/i2c.ignore,
18694           device/lib/pic16/libio/usart.ignore,
18695           device/lib/pic16/libm/Makefile.in,
18696           device/lib/pic16/libsdcc/Makefile.in,
18697           device/lib/pic16/startup/Makefile.in,
18698           device/non-free/include/pic16/pic18fam.h:
18699           Improve of update to gputils-1.4.2-1.
18701 2016-01-12 Philipp Klaus Krause <pkk AT spth.de>
18703         * src/z80/peep.c:
18704           More accurate handling of Z80/Z180 I/O in peepholes.
18706 2016-01-11 Ben Shi <powerstudio1st AT 163 DOT com>
18708         * src/ds390/ralloc.c
18709         * src/mcs51/ralloc.c
18710           Improve positionRegs().
18711         * src/mcs51/gen.c
18712           Roll back to previous version.
18713         * support/regression/tests/bug-2263.c
18714         * support/regression/tests/bug-2403.c
18715           Add new test cases.
18717 2016-01-10 Philipp Klaus Krause <pkk AT spth.de>
18719         * src/z80/peep.c:
18720           More accurate handling of Z80/Z180 I/O in peepholes.
18722 2016-01-10 Ben Shi <powerstudio1st AT 163 DOT com>
18724         * src/mcs51/gen.c
18725           Fix a bug in genOr() when all operands are in registers.
18726         * support/regression/tests/bug-2448.c
18727           Add a new test case.
18729 2016-01-09 Molnar Karoly <molnarkaroly AT users.sf.net>
18731         * support/scripts/cinc2h.pl,
18732           support/optimize_pic16devices.pl,
18733           support/z80-disasm.pl:
18734           Some minor repairs.
18736         * device/include/pic14/pic14devices.txt,
18737           device/include/pic14/pic16regs.h,
18738           device/include/pic16/pic16devices.txt,
18739           device/include/pic16/pic18fregs.h,
18740           device/lib/pic16/configure,
18741           device/lib/pic16/libio/Makefile.am,
18742           device/lib/pic16/libio/Makefile.in,
18743           device/lib/pic16/libio/adc.ignore,
18744           device/lib/pic16/libio/i2c.ignore,
18745           device/lib/pic16/libio/usart.ignore,
18746           device/non-free/include/pic14/*.h,
18747           device/non-free/include/pic16/*.h,
18748           device/non-free/lib/pic14/libdev/devices.txt,
18749           device/non-free/lib/pic14/libdev/*.c,
18750           device/non-free/lib/pic16/Makefile.in,
18751           device/non-free/lib/pic16/aclocal.m4,
18752           device/non-free/lib/pic16/configure,
18753           device/non-free/lib/pic16/processors.ac,
18754           device/non-free/lib/pic16/libdev/Makefile.am,
18755           device/non-free/lib/pic16/libdev/Makefile.in,
18756           device/non-free/lib/pic16/libdev/*.c,
18757           doc/sdccman.lyx:
18758           Updated to gputils-1.4.2-1.
18760 2016-01-06 Philipp Klaus Krause <pkk AT spth.de>
18762         * src/SDCCicode.c:
18763           Optimize comparisons of cheap variables to expensive constants more.
18764         * src/SDCCast.c:
18765           Use cheaper types for implicitly introduced constants.
18767 2016-01-05 Philipp Klaus Krause <pkk AT spth.de>
18769         * src/SDCCast.c:
18770           Do not try to output debug info in case of fatal errors - patch #260 by
18771           Peter Dons Tychsen
18772         * src/z80/gen.c,
18773           support/regression/tests/bug-2452.c:
18774           Fix gbz80 right shift bug #2452.
18776 2016-01-05 Ben Shi <powerstudio1st AT 163 DOT com>
18778         * src/SDCCicode.c
18779           Fix bug: members of pointer arrays are always treated as r-values.
18780         * support/regression/tests/gcc-torture-execute-930526-1.c
18781           Improve test case.
18782         * support/sdbinutils/binutils/arlex.c
18783           Removed.
18785 2016-01-04 Philipp Klaus Krause <pkk AT spth.de>
18787         * src/z80/peep.c:
18788           Fix handling of nop in z80MightRead, patch #259 by alvin.
18789         * src/SDCCicode.c:
18790           Optimize comparisons of cheap variables to expensive constants.
18792 2016-01-03 Philipp Klaus Krause <pkk AT spth.de>
18794         * sdas/linksrc/lkarea.c:
18795           Fix handling of NOLOAD for STM8 in linker, patch by Peter Dons Tychsen.
18796         * src/SDCCralloc.hpp:
18797           Fix compare operator for register assignments.
18799 2016-01-02 Ben Shi <powerstudio1st AT 163 DOT com>
18801         * support/sdbinutils/binutils/arparse.c
18802         * support/sdbinutils/binutils/arparse.h
18803           Delete intermediate files.
18805 2016-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
18807         * all.vcxproj,
18808         * config.vcxproj,
18809         * sdas/as6808/as_hc08.vcxproj,
18810         * sdas/as8051/asx8051.vcxproj,
18811         * sdas/as8xcxxx/sdas390.vcxproj,
18812         * sdas/asgb/asgb.vcxproj,
18813         * sdas/linksrc/aslink.vcxproj,
18814         * src/avr/avr.vcxproj,
18815         * src/ds390/ds390.vcxproj,
18816         * src/hc08/hc08.vcxproj,
18817         * src/mcs51/mcs51.vcxproj,
18818         * src/pic14/pic14.vcxproj,
18819         * src/pic16/pic16.vcxproj,
18820         * src/sdcc.vcxproj,
18821         * src/xa51/xa51.vcxproj,
18822         * src/z80/z80.vcxproj,
18823         * src/z80/z80a.vcxproj,
18824         * support/cpp/sdcpp.vcxproj,
18825         * support/librarian/librarian.vcxproj,
18826         * support/makebin/makebin.vcxproj,
18827         * support/packihx/packihx.vcxproj: applied patch 252 by Peter Dons Tychsen
18828           to remove UpgradeFromVC60.props
18830 2015-12-30 Philipp Klaus Krause <pkk AT spth.de>
18832         * src/SDCCdwarf2.c:
18833           Fix memory bug in DWARF output, patch by Peter Dons Tychsen.
18834         * sdas/asxxsrc/asdbg.c:
18835           Fix 0 pointer access when specifying -y or -j without -o.
18837 2015-12-30 Ben Shi <powerstudio1st AT 163 DOT com>
18839         * src/SDCCsymt.c
18840           Make comparePtrType() less strict.
18841         * support/regression/tests/bug-2271.c
18842           Improve test case.
18844 2015-12-28 Ben Shi <powerstudio1st AT 163 DOT com>
18846         * doc/sdccman.lyx
18847           Suggest msys2 along with msys while building wih MSVC.
18848         * sdas/asxxsrc/assym.c
18849           Apply patch #253.
18851 2015-12-26 Ben Shi <powerstudio1st AT 163 DOT com>
18853         * src/stm8/gen.c
18854           Add absent call to dwWriteFunction() while --debug is specified.
18856 2015-12-24 Ben Shi <powerstudio1st AT 163 DOT com>
18858         * src/SDCC.y
18859           Fix a bug in the front end. (pointer array parameters)
18860         * support/regression/tests/bug-2271.c
18861           Add a test case.
18863 2015-12-21 Philipp Klaus Krause <pkk AT spth.de>
18865         * src/stm8/main.c:
18866           Option for ELF output in STM8 backend.
18868 2015-12-20 Philipp Klaus Krause <pkk AT spth.de>
18870         * sdas/linksrc/lkelf.c,
18871           sdas/linksrc/lkmain.c:
18872           STM8 ELF linker support from patch #251.
18874 2015-12-18 Philipp Klaus Krause <pkk AT spth.de>
18876         * src/SDCCmain.c:
18877           Always use preprocessor in standard mode.
18878         * device/include/stdlib.h:
18879           Fix declaration order for inlined aligned_alloc().
18881 2015-12-17 Ben Shi <powerstudio1st AT 163 DOT com>
18883         * Makefile.in
18884           Fix the conflict in parallel build caused by component dependency.
18886 2015-12-16 Ben Shi <powerstudio1st AT 163 DOT com>
18888         * sim/ucsim/cmd.src/cmdset.cc
18889           Apply a modified version of patch #250.
18891 2015-12-14 Ben Shi <powerstudio1st AT 163 DOT com>
18893         * src/SDCCast.c:
18894           Avoid redundant call to processParms().
18895         * support/regression/tests/bug-2436.c
18896           Add a new test case.
18898 2015-12-10 Philipp Klaus Krause <pkk AT spth.de>
18900         * device/include/wchar.h:
18901           A basic wchar.h with for types that are useful even with no wide character
18902           functions around.
18904 2015-12-05 Ben Shi <powerstudio1st AT 163 DOT com>
18906         * src/SDCC.y
18907         * src/SDCCerr.c
18908         * src/SDCCerr.h
18909           Fix a bug of type definition of a function by typedef.
18911 2015-12-02 Ben Shi <powerstudio1st AT 163 DOT com>
18913         * src/SDCCerr.c
18914         * src/SDCCerr.h
18915           Fix defects in previous commit.
18917 2015-12-01 Ben Shi <powerstudio1st AT 163 DOT com>
18919         * src/SDCC.y
18920         * src/SDCCerr.c
18921         * src/SDCCerr.h
18922           Remove warning #220 (W_ANONYMOUS_MEMBER).
18924 2015-11-28 Philipp Klaus Krause <pkk AT spth.de>
18926         * src/SDCCpeeph.c:
18927           Fix operandsNotRelated() bug #2435.
18928         * device/include/stddef.h,
18929           device/include/stdlib.h,
18930           src/SDCC.lex,
18931           src/SDCCmain.c,
18932           src/SDCCval.c,
18933           src/SDCCval.h,
18934           support/regression/tests/charconst.c,
18935           support/regression/tests/string.c:
18936           Make wchar_t UTF-32.
18937         * support/cpp/Makefile.in:
18938           Fix call to make.
18940 2015-11-26 Ben Shi <powerstudio1st AT 163 DOT com>
18942         * support/regression/tests/gcc-torture-execute-20050111-1.c
18943         * support/regression/tests/gcc-torture-execute-950511-1.c
18944           Disable test cases.
18946 2015-11-24 Ben Shi <powerstudio1st AT 163 DOT com>
18948         * src/SDCCicode.c
18949         * src/SDCCval.c
18950         * src/SDCCval.h
18951           Improve long long multiplication.
18952         * support/regression/tests/gcc-torture-execute-20050111-1.c
18953         * support/regression/tests/gcc-torture-execute-950511-1.c
18954         * support/regression/tests/longlong.c
18955           Improve test cases.
18957 2015-11-14 Philipp Klaus Krause <pkk AT spth.de>
18959         * doc/Makefile.in,
18960           doc/sdccman.lyx:
18961           Fix bookmarks and hyperlinks in manual, bug #2405.
18962         * src/SDCCglue.c:
18963           Drop build time in asm output to ease reproducible builds.
18964         * device/lib/*/Makefile.in,
18965           device/lib/Makefile.in:
18966           Drop build time in sdar calls to make non-pic lib builds reproducible.
18968 2015-11-13 Ben Shi <powerstudio1st AT 163 DOT com>
18970         * support/cpp/libcpp/include/symtab.h:
18971           Fix build failure on MacOS x86-64.
18972         * support/regression/tests/inline.c:
18973           Fix failure in test-host in NetBSD.
18974         * support/regression/tests/literalop.c:
18975           Disable some tests on MacOS x86-64.
18977 2015-11-12 Maarten Brock <sourceforge.brock AT dse.nl>
18979         * device/include/mcs51/at89c51id2.h: moved
18981 2015-11-12 Philipp Klaus Krause <pkk AT spth.de>
18983         * doc/sdccman.lyx:
18984           Update standard compliance documentation.
18986 2015-11-09 Maarten Brock <sourceforge.brock AT dse.nl>
18988         * device/include/mcs51/at89c51ed2.h: applied patch 247
18989         * device/include/at89c51id2.h: new, added, thanks Victor Munoz
18990         * src/SDCC.lex: it seems really hard not to declare vars amidst the code
18991         * src/SDCCast.c (expandInlineFuncs): fix bug 2295: also expand for clauses
18992         * support/regression/tests/ctype.c: warn about undefined __STDC_VERSION__
18993         * support/regression/tests/inline.c (bug_2295): new test case
18995 2015-11-09 Philipp Klaus Krause <pkk AT spth.de>
18997         * src/SDCC.lex,
18998           src/SDCCval.c:
18999           UTF-32 and UTF-16 encodig in strVal().
19001 2015-11-08 Maarten Brock <sourceforge.brock AT dse.nl>
19003         * src/mcs51/gen.c: added IS_AOP_IMMEDIATE,
19004           (gencjneshort): applied modified part of patch 129, thanks Hubert Sack
19006 2015-11-08 Philipp Klaus Krause <pkk AT spth.de>
19008         * support/regression/tests/string.c
19009           Separate C11 behaviour from implementation-defined behaviour.
19011 2015-11-07 Ben Shi <powerstudio1st AT 163 DOT com>
19013         * src/SDCCglue.c:
19014           Eliminate unused static symbols. (__str_%d generated in stringToSymbol()).
19015         * support/regression/tests/bug-2089.c:
19016           Improve test case.
19017         * support/regression/ports/mcs51-xstack-auto/spec.mk:
19018           Use default sdcc11.
19019         * support/regression/tests/string.c:
19020           Disabled for test-host.
19022 2015-11-07 Philipp Klaus Krause <pkk AT spth.de>
19024         * support/util/dbuf_string.h,
19025           support/util/dbuf_string.c,
19026           src/SDCCval.c,
19027           src/SDCC.lex:
19028           Handling of UTF-16 and UTF-16 string literals in the frontend up to
19029           strVal().
19031 2015-11-06 Philipp Klaus Krause <pkk AT spth.de>
19033         * support/util/dbuf.h,
19034           support/util/dbuf.c,
19035           support/util/dbuf_string.h,
19036           support/util/dbuf_string.c:
19037           Allow prepending to dynamic buffers.
19038         * src/SDCC.lex,
19039           src/SDCCerr.h,
19040           src/SDCCerr.c:
19041           Support C11 u8 prefix for UTF-8-encoded unicode string literals.
19042         * src/SDCCutil.c,
19043           support/regression/tests/string.c:
19044           Fix handling of universal escape sequences in UTF-8-encoded string literals.
19045         * support/regression/tests/iso-8859-1.c:
19046           Test support for source encodings other than unicode.
19048 2015-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
19050         * src/SDCC.y: only emit W_FLEXARRAY_INSTRUCT for c89
19051         * src/SDCCpeeph.c (labelJTInRange): removed env SDCC_SJMP_JUMPTABLE check,
19052           closes patch #29,
19053           (readRules): clean up
19055 2015-11-05 Philipp Klaus Krause <pkk AT spth.de>
19057         * src/SDCCsymt.c:
19058           Print calling convention for functions.
19059         * src/z80/peep.c:
19060           More accurate handling of register arguments in peepholes.
19062 2015-11-05 Maarten Brock <sourceforge.brock AT dse.nl>
19064         * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug 2373
19065         * support/regression/tests/bug-2373.c: new, added
19067 2015-11-05 Maarten Brock <sourceforge.brock AT dse.nl>
19069         * sdcc.sln,
19070         * src/yacc.vcxproj: deleted yacc project
19071         * src/sdcc.vcxproj,
19072         * src/sdcc.vcxproj.filters: moved SDCC.y here for better dependencies
19073         * SDCC.props: new, added Visual C property sheet for generic settings like
19074           boost path (default: c:\local\boost_1_59_0\)
19075         * src/hc08/hc08.vcxproj,
19076         * src/sdcc.vcxproj,
19077         * src/stm8/stm8.vcxproj,
19078         * src/z80/z80.vcxproj: use SDCC.props
19079         * sdas/linksrc/lkaomf51.c: output capitals depending on the zflag
19080         * src/common.h
19081         * src/stm8/ralloc2.cc (extra_ic_generated),
19082         * src/z80/ralloc2.cc (default_operand_cost, assign_cost, Ainst_ok,
19083           rough_cost_estimate),
19084         * src/SDCCglue.c (printIvalChar),
19085         * src/SDCCopt.c (convertToFcall): fixed warnings
19086         * src/SDCCutil.c (isblank): added for MSVC 2010
19087         * support/cpp/ansidecl.h: deleted
19088         * support/cpp/sdcpp.vcxproj,
19089         * support/cpp/sdcpp.vcxproj.filters: use files in support/sdbinutils/
19090         * support/sdbinutils/libiberty/getpwd.c: fixed for MSVC
19092 2015-10-30 Ben Shi <powerstudio1st AT 163 DOT com>
19094         * sdas/linksrc/lkmem.c:
19095           Fix defects in previous commit.
19097 2015-10-30 Ben Shi <powerstudio1st AT 163 DOT com>
19099         * sdas/linksrc/lkarea.c:
19100         * sdas/linksrc/lkmem.c:
19101           Improve the error message in .mem when no enough space for the stack.
19102           Suggest the largest spare space (address and size) in the internal RAM.
19104 2015-10-28 Ben Shi <powerstudio1st AT 163 DOT com>
19106         * sdas/linksrc/lkmem.c:
19107           Fix incorrect check of "--xram-size".
19109 2015-10-27 Ben Shi <powerstudio1st AT 163 DOT com>
19111         * src/SDCCglue.c:
19112           Bug fix: char s[10] = "ab", bytes beyond "ab" sometimes aren't set to 0.
19114 2015-10-26 Philipp Klaus Krause <pkk AT spth.de>
19116         * Merge cpp-merge-upstream branch to get improved standard support.
19118 2015-10-26 Philipp Klaus Krause <pkk AT spth.de>
19120         * .version:
19121           Bump version due to improved standard support.
19123 2015-10-24 Philipp Klaus Krause <pkk AT spth.de>
19125         * src/stm8/ralloc.c,
19126           src/port.h:
19127           Spelling fixes.
19129 2015-10-23 Philipp Klaus Krause <pkk AT spth.de>
19131         * support/cpp/Makefile.in:
19132           Fix build-dependency of sdcpp on libiberty.
19133         * support/cpp/sdcpp.opt,
19134           support/cpp/sdcpp-opts.c,
19135           support/cpp/libcpp/init.c:
19136           Support C11 in preprocessor.
19137         * src/SDCCmain.c:
19138           Fix standard support, add support for c95 and sdcc11 dialects.
19140 2015-10-22 Ben Shi <powerstudio1st AT 163 DOT com>
19142         * SDCC.y:
19143           Add checks for NULL pointers.
19145 2015-10-19 Ben Shi <powerstudio1st AT 163 DOT com>
19147         * src/SDCCast.c:
19148         * src/SDCCglue.c:
19149         * src/SDCCglue.h:
19150           Eliminate redundant string literals to be generated.
19151         * support/regression/tests/bug-2089.c:
19152           Add a new test case.
19154 2015-10-18 Philipp Klaus Krause <pkk AT spth.de>
19156         * support/cpp/libcpp/*:
19157           Reformat to reduce diff to upstream cpp.
19159 2015-10-17 Philipp Klaus Krause <pkk AT spth.de>
19161         * support/cpp/libcpp/*:
19162           Reformat to reduce diff to upstream cpp.
19164 2015-10-11 Philipp Klaus Krause <pkk AT spth.de>
19166         * src/SDCCerr.h,
19167           src/SDCCerr.c,
19168           src/SDCC.lex:
19169           Support C95 wide string literals.
19171 2015-10-09 Philipp Klaus Krause <pkk AT spth.de>
19173         * support/cpp/libcpp/include/*:
19174           Reformat to reduce diff to upstream version.
19176 2015-10-10 Ben Shi <powerstudio1st AT 163 DOT com>
19178         * support/util/dbuf_string.c:
19179           Add check for null pointer.
19181 2015-10-09 Ben Shi <powerstudio1st AT 163 DOT com>
19183         * src/z80/gen.c:
19184           Wrap strtoul() to support $-prefix hex numbers.
19186 2015-10-09 Philipp Klaus Krause <pkk AT spth.de>
19188         * New memory management by merging malloc branch into trunk.
19190 2015-10-09 Ben Shi <powerstudio1st AT 163 DOT com>
19192         * sdas/linksrc/lkaomf51.c:
19193           Add bound check while accessing a buffer in the heap.
19195 2015-10-08 Philipp Klaus Krause <pkk AT spth.de>
19197         * support/cpp/libcpp/files.c:
19198           Drop cpp support for Borland C.
19200 2015-10-07 Philipp Klaus Krause <pkk AT spth.de>
19202         * support/regression/tests/charconst.c,
19203           support/regression/tests/escape.c:
19204           Disable some tests for host, so we don't need a C11 host.
19206 2015-10-07 Ben Shi <powerstudio1st AT 163 DOT com>
19208         * src/SDCCval.c:
19209           Add bound check in reorderIlist().
19210         * support/regression/bug-2423.c:
19211           Add a new test case.
19213 2015-10-06 Philipp Klaus Krause <pkk AT spth.de>
19215         * src/SDCCerr.h,
19216           src/SDCCerr.c,
19217           src/SDCCutil.h,
19218           src/SDCCutil.c,
19219           src/SDCCval.c,
19220           support/regression/tests/charconst.c,
19221           support/regression/tests/escape.c:
19222           Implement escape sequences for wide character constants, fix universal
19223           escape sequences.
19225 2015-10-06 Philipp Klaus Krause <pkk AT spth.de>
19227         * device/include/uchar.h,
19228           src/SDCCval.h,
19229           src/SDCCval.c,
19230           src/SDCC.lex,
19231           src/SDCCutil.c,
19232           src/SDCCmain.c,
19233           src/SDCCglobl.h,
19234           src/SDCCerr.h,
19235           src/SDCCerr.c,
19236           support/regression/tests/charconst.c:
19237           Wide character constants.
19239 2015-10-05 Philipp Klaus Krause <pkk AT spth.de>
19241         * device/lib/malloc.c:
19242           Improve comments on heap data structures.
19244 2015-10-04 Philipp Klaus Krause <pkk AT spth.de>
19246         * device/include/stdlib.h,
19247           device/lib/aligned_alloc.c:
19248           Implement aligned_alloc().
19250 2015-10-02 Philipp Klaus Krause <pkk AT spth.de>
19252         * device/lib/realloc.c:
19253           Fix a bug in realloc() freeing.
19255 2015-10-02 Philipp Klaus Krause <pkk AT spth.de>
19257         * device/lib/free.c,
19258           device/lib/realloc.c,
19259           device/lib/malloc.c,
19260           device/lib/realloc.c,
19261           support/regression/tests/malloc.c:
19262           Simplify memory management, document search of free list.
19263         * support/regression/fwk/lib/testfwk.c:
19264           Support printing unsigned in test logs
19266 2015-10-02 Ben Shi <powerstudio1st AT 163 DOT com>
19268         * src/SDCCval.c:
19269           Loose the condition of warning 116.
19271 2015-09-29 Ben Shi <powerstudio1st AT 163 DOT com>
19273         * src/stm8/main.c:
19274           Support "pragma codeseg" and "pragma constseg" in the stm8 port.
19276 2015-09-28 Ben Shi <powerstudio1st AT 163 DOT com>
19278         * src/stm8/main.c:
19279           Support "--codeseg" and "--constseg" on the stm8 port.
19281 2015-09-22 Maarten Brock <sourceforge.brock AT dse.nl>
19283         * device/lib/_calloc.c,
19284         * device/lib/_free.c,
19285         * device/lib/_heap.c,
19286         * device/lib/_malloc.c,
19287         * device/lib/_realloc.c: renamed all _sdcc_* to __sdcc_*,
19288           removed register keywords,
19289           changed _sdcc_heap_size to __sdcc_last_memheader,
19290           removed init_dynamic_memory() and other optimizations
19291         * support/regression/tests/malloc.c: added test for size overflow
19293 2015-09-21 Ben Shi <powerstudio1st AT 163 DOT com>
19295         * support/regression/tests/gcc-torture-execute-pr28982a.c:
19296           Enabled for the r2k and r3ka ports.
19298 2015-09-20 Philipp Klaus Krause <pkk AT spth.de>
19300         * device/lib/calloc.c,
19301           device/lib/malloc.c,
19302           device/lib/realloc.c,
19303           device/lib/free.c:
19304           Use typedefs for memory block header type, use more pointers to __xdata.
19305         * device/include/stdlib.h,
19306           device/include/malloc.h:
19307           Move memory management to stdlib.h, fix stdlib.h inclusion.
19309 2015-09-20 Philipp Klaus Krause <pkk AT spth.de>
19311         * device/include/asm/*/features.h,
19312           device/include/malloc.h,
19313           device/lib/calloc.c,
19314           device/lib/malloc.c,
19315           device/lib/realloc.c,
19316           device/lib/free.c,
19317           support/regression/tests/malloc.c:
19318           First version of new, more efficient memory management.
19320 2015-09-20 Ben Shi <powerstudio1st AT 163 DOT com>
19322         * src/z80/gen.c:
19323           Fix bugs in genOr() and genXor() while operands are longlong.
19324         * support/regression/tests/longlong.c:
19325           Enable more tests.
19327 2015-09-16 Ben Shi <powerstudio1st AT 163 DOT com>
19329         * src/SDCC.y:
19330         * src/SDCCast.c:
19331         * src/SDCCerr.c:
19332         * src/SDCCicode.c:
19333           Disable nested critical block / function call, support return in inline
19334           critical functions.
19335         * support/regression/tests/critical.c:
19336           Improve test case.
19337         * support/regression/tests/malloc.c:
19338           fix a small spot.
19340 2015-09-15 Philipp Klaus Krause <pkk AT spth.de>
19342         * support/regression/tests/malloc.c:
19343           More testing of memory management.
19345 2015-09-14 Philipp Klaus Krause <pkk AT spth.de>
19347         * support/regression/tests/malloc.c:
19348           More testing of memory management.
19350 2015-09-13 Philipp Klaus Krause <pkk AT spth.de>
19352         * device/lib/pic16/*
19353           Fix delarations to make pic16 lib compile again.
19355 2015-09-12 Philipp Klaus Krause <pkk AT spth.de>
19357         * src/pic14/genarith.c:
19358           Fix bug #2417 by applying patch by Juho Salminen.
19360 2015-09-10 Philipp Klaus Krause <pkk AT spth.de>
19362         * support/regression/tests/bug-2385.c:
19363           Regression test for bug #2385.
19365 2015-09-10 Ben Shi <powerstudio1st AT 163 DOT com>
19367         * support/regression/tests/critical.c:
19368           Improve test case.
19369         * src/SDCC.y:
19370           Fix a bug: inline critical functions are inlined as non-critical.
19372 2015-09-09 Philipp Klaus Krause <pkk AT spth.de>
19374         * support/regression/tests/generic.c:
19375           More testcases for _Generic.
19376         * src/z80/gen.c,
19377           support/regression/tests/critical.c:
19378           Fix bug #2416.
19380 2015-09-04 Philipp Klaus Krause <pkk AT spth.de>
19382         * src/stm8/peep.c:
19383           Fix handling of bcpl in notUsed().
19385 2015-09-03 Philipp Klaus Krause <pkk AT spth.de>
19387         * src/pic14/peeph.def:
19388           Fix bug #2415.
19389         * src/stm8/peeph.def:
19390           Implement some rules for bit complement.
19391         * src/SDCCval.c,
19392           support/regression/tests/generic.c:
19393           Fix bug #2411.
19394         * src/pic16/main.c:
19395           Use zero-initializing crt0 by default.
19397 2015-08-27 Ben Shi <powerstudio1st AT 163 DOT com>
19399         * sim/ucsim/packages_in.mk:
19400           Fix a bug: simulator sz80 is not built if only z80 port is enabled.
19402 2015-08-22 Ben Shi <powerstudio1st AT 163 DOT com>
19404         * src/stm8/peep.c:
19405           Fix a bug in peephole rule condition notUsed().
19407 2015-08-22 Ben Shi <powerstudio1st AT 163 DOT com>
19409         * support/regression/tests/bug-2188.c:
19410         * src/SDCCast.c:
19411           Apply patch #248 by Pavel Pisa <pisa@cmp.felk.cvut.cz>.
19413 2015-08-19 Ben Shi <powerstudio1st AT 163 DOT com>
19415         * configure.ac:
19416         * configure:
19417           Correct build failure on sparc64-netbsd.
19419 2015-08-19 Ben Shi <powerstudio1st AT 163 DOT com>
19421         * support/regression/tests/condopptr.c:
19422           Add more test.
19423         * src/SDCC.y:
19424           Improve conditional expression.
19425         * configure.ac:
19426         * configure:
19427           Correct spots in previous commit.
19429 2015-08-17 Ben Shi <powerstudio1st AT 163 DOT com>
19431         * configure.ac:
19432         * configure:
19433           Extend stack size on cygwin64.
19435 2015-08-15 Ben Shi <powerstudio1st AT 163 DOT com>
19437         * src/SDCCast.c:
19438           Fix a bug in storage class check.
19439         * support/regression/tests/gcc-torture-execute-20020402-3.c:
19440           Enable test case.
19442 2015-08-15 Philipp Klaus Krause <pkk AT spth.de>
19444         * src/SDCCast.c,
19445           support/regression/tests/array.c:
19446           Implement RFE #454 for index[array] access.
19447         * src/SDCC.y,
19448           src/SDCCerr.h,
19449           src/SDCCerr.c:
19450           Emit warning for non-standard label without statement.
19451         * support/regression/tests/generic.c:
19452           Disable test for host, since older host compilers are still in use.
19454 2015-08-12 Philipp Klaus Krause <pkk AT spth.de>
19456         * src/SDCC.lex,
19457           src/SDCC.y,
19458           src/SDCCast.c,
19459           src/SDCCerr.h,
19460           src/SDCCerr.c,
19461           support/regression/tests/generic.c,
19462           doc/sdccman.lyx:
19463           Implement C11 generic selections.
19465 2015-08-11 Philipp Klaus Krause <pkk AT spth.de>
19467         * src/SDCCsymt.c,
19468           src/SDCCerr.h,
19469           src/SDCCerr.c,
19470           support/regression/tests/gcc-torture-execute-920721-3.c,
19471           support/regression/tests/gcc-torture-execute-pr34176.c,
19472           support/regression/tests/implicit_int.c:
19473           Diagnostic for implicit int.
19475 2015-08-10 Philipp Klaus Krause <pkk AT spth.de>
19477         * src/z80/peeph-z80.def:
19478           Fix bug #2408.
19479         * src/z80/peeph-r2k.def,
19480         * src/z80/peeph-tlcs90.def:
19481           Synced with z80 peepholes.
19483 2015-08-09 Philipp Klaus Krause <pkk AT spth.de>
19485         * src/z80/peeph-z80.def:
19486           Fix bug #2407 using fix suggested by alvin.
19488 2015-08-02 Philipp Klaus Krause <pkk AT spth.de>
19490         * src/stm8/gen.c:
19491           Cheaper stm8 division workaround (RFE #449).
19492         * doc/sdccman.lyx:
19493           Update standard compliance documentation to reflect recently implemented
19494           feature.
19496 2015-08-01 Philipp Klaus Krause <pkk AT spth.de>
19498         * src/SDCCsymt.h,
19499           src/SDCCsymt.c,
19500           src/SDCCralloc.hpp,
19501           src/stm8/gen.c:
19502           Static code analysis to omit stm8 division workaround when safe to do so
19503           (RFE #448).
19505 2015-07-31 Ben Shi <powerstudio1st AT 163 DOT com>
19507         * support/regression/tests/gcc-torture-execute-stdarg-5.c:
19508           Improve test case.
19510 2015-07-26 Philipp Klaus Krause <pkk AT spth.de>
19512         * src/stm8/gen.c:
19513           Workaround for for stm8 division hardware bug.
19515 2015-07-13 Ben Shi <powerstudio1st AT 163 DOT com>
19517         * support/cpp/configure.ac:
19518         * support/cpp/configure:
19519         * support/cpp/Makefile.in:
19520         * Makefile.common.in:
19521           Fix small spots.
19523 2015-07-13 Ben Shi <powerstudio1st AT 163 DOT com>
19525         * sdas/linksrc/lklex.c:
19526           Support unicode character in sdld's command line.
19527         * sdas/linksrc/lkbank.c:
19528           Remove unsupported ".s28" and ".s37" file extensions.
19530 2015-07-12 Ben Shi <powerstudio1st AT 163 DOT com>
19532         * configure.in:
19533         * debugger/mcs51/configure:
19534         * debugger/mcs51/configure.in:
19535         * device/lib/pic14/Makefile.in:
19536         * device/lib/pic14/aclocal.m4:
19537         * device/lib/pic14/config.h.in:
19538         * device/lib/pic14/configure.in:
19539         * device/lib/pic14/libm/Makefile.in:
19540         * device/lib/pic14/libsdcc/enhanced/Makefile.in:
19541         * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in:
19542         * device/lib/pic14/libsdcc/regular/Makefile.in:
19543         * device/non-free/lib/pic14/configure:
19544         * device/non-free/lib/pic14/configure.in:
19545         * sim/ucsim/configure.in:
19546         * support/cpp/configure:
19547         * support/cpp/configure.in:
19548         * support/packihx/configure:
19549         * support/packihx/configure.in:
19550           Move all configure.in to configure.ac and update with autoconf 2.69.
19552 2015-07-10 Philipp Klaus Krause <pkk AT spth.de>
19554         * src/stm8/peeph.def:
19555           Fix comments.
19556         * device/lib/stm8/_mulint.s:
19557           Faster, smaller integer multiplication.
19559 2015-07-08 Ben Shi <powerstudio1st AT 163 DOT com>
19561         * support/sdbinutils/bfd/asxxxx.c:
19562           Fix a bug in check .rel format while there are comments.
19564 2015-07-06 Ben Shi <powerstudio1st AT 163 DOT com>
19566         * configure:
19567         * configure.in:
19568         * device/include/Makefile.in:
19569         * support/sdbinutils/Makefile.in:
19570         * support/sdbinutils/binutils/Makefile.in:
19571           Make "make install" and "make uninstall" more clear.
19573 2015-07-05 Philipp Klaus Krause <pkk AT spth.de>
19575         * support/sdbinutils/binutils/*
19576           Fix bug #2394 and do not ship files generated by yacc.
19578 2015-07-03 Philipp Klaus Krause <pkk AT spth.de>
19580         * src/SDCCpeeph.c:
19581           Patch from z88dk to allow comments in between rule and condition.
19583 2015-07-01 Philipp Klaus Krause <pkk AT spth.de>
19585         * Merge upstream binutils 2.25 by merging binutils branch into trunk.
19587 2015-07-01 Ben Shi <powerstudio1st AT 163 DOT com>
19589         * src/mcs51/peep.c:
19590           Add NULL pointer check.
19592 2015-06-30 Philipp Klaus Krause <pkk AT spth.de>
19594         * src/SDCCmain.c:
19595           Adjust buffer sizes RFE #441.
19597 2015-06-29 Philipp Klaus Krause <pkk AT spth.de>
19599         * src/SDCCmain.c,
19600           doc/sdccman.lyx,
19601           support/regression/tests/version.c:
19602           Implement patchlevel macro RFE #441.
19604 2015-06-28 Philipp Klaus Krause <pkk AT spth.de>
19606         * support/sdbinutils/*
19607           Merge upstream binutils 2.25.
19609 2015-06-28 Philipp Klaus Krause <pkk AT spth.de>
19611         * support/sdbinutils/*
19612           Import more parts of upstream binutils 2.23.2.
19614 2015-06-27 Philipp Klaus Krause <pkk AT spth.de>
19616         * support/sdbinutils/*
19617           Import more parts of upstream binutils 2.23.2.
19619 2015-06-26 Ben Shi <powerstudio1st AT 163 DOT com>
19621         * device/include/float.h:
19622           Hide sdcc library private macros.
19623         * support/sdbinutils/include/objalloc.h:
19624         * support/sdbinutils/libiberty/objalloc.c:
19625           Apply patches from GNU.
19627 2015-06-25 Ben Shi <powerstudio1st AT 163 DOT com>
19629         * configure:
19630         * configure.in:
19631         * device/non-free/include/Makefile.in:
19632           Fix the bug "make uninstall" left empty directory.
19633         * src/SDCCBBlock.c:
19634           Apply patch #158 to fix bug #1693.
19635         * support/regression/tests/version.c:
19636           Fix the failure in "make test-host".
19638 2015-06-24 Philipp Klaus Krause <pkk AT spth.de>
19640         * src/SDCCmain.c,
19641           doc/sdccman.lyx,
19642           support/regression/tests/version.c:
19643           Implement version macros RFE #441.
19645 2015-06-24 Ben Shi <powerstudio1st AT 163 DOT com>
19647         * support/regression/collate-results.py:
19648           Fix the bug that an abnormal stop in reg-rest can not be detected.
19650 2015-06-24 Philipp Klaus Krause <pkk AT spth.de>
19652         * src/z80/ralloc.c:
19653           Fix bug #2389.
19654         * src/SDCCglue.c,
19655           src/SDCCmain.c,
19656           src/SDCCutil.c,
19657           src/SDCCutil.h:
19658           Remove build date from version string to make reproducible builds easier.
19660 2015-06-24 Maarten Brock <sourceforge.brock AT dse.nl>
19662         * Small Device C Compiler 3.5.0 released
19663         * .version, doc/sdccman.lyx: changed sdcc version to 3.5.1
19665 2015-06-20 Maarten Brock <sourceforge.brock AT dse.nl>
19667         * support/scripts/gen_known_bugs.pl: fixed by Raphael Neider for changed
19668           SourceForge pages
19670 2015-06-18 Maarten Brock <sourceforge.brock AT dse.nl>
19672         * .version,
19673         * doc/INSTALL.txt,
19674         * doc/sdccman.lyx: version 3.5.0
19676 2015-06-18 Maarten Brock <sourceforge.brock AT dse.nl>
19678         * src/SDCCmain.c (preProcess): reverted removal of SDCC macro
19679         * src/stm8/gen.c (genLeftShiftLiteral): hushed a compiler warning
19680         * support/regression/tests/gcc-torture-execute-960218-1.c,
19681         * support/regression/tests/gcc-torture-execute-20030913-1.c: renamed test()
19682           to prevent double testing, renamed glob to prevent name conflict
19683         * support/scripts/sdcc.nsi: removed dedication to Borut Razem
19685 2015-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
19687         * support/scripts/repack_release.sh: changed mac osx snapshot source,
19688           forced uploading to directories
19690 2015-06-07 Philipp Klaus Krause <pkk AT spth.de>
19692         * doc/sdccman.lyx:
19693           Add section on the use of --allow-unsafe-reads on Z80-based systems.
19695 2015-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
19697         * .version,
19698         * doc/INSTALL.txt,
19699         * doc/sdccman.lyx: version 3.5.0 rc1
19700         * sdcc.spec: version 3.5.0
19701         * device/lib/pic14/libsdcc/idata.c: cosmetics
19702         * support/regression/tests/bug-2274.c: prevented double testing by rename
19703         * support/regression/tests/gcc-torture-execute-stdarg-5.c: no ASSERT(0)
19705 2015-06-05 Philipp Klaus Krause <pkk AT spth.de>
19707         * doc/sdccman.lyx,
19708           src/SDCCglobl.h,
19709           src/SDCClospre.cc,
19710           src/SDCCmain.c:
19711           Use more generic name for option for unsafe reads.
19713 2015-05-23 Ben Shi <powerstudio1st AT 163 DOT com>
19715         * src/SDCCast.c:
19716         * src/SDCCglue.c:
19717           Support initialization of char array in form 'char arr[] = {"abc"};'.
19718         * support/regression/tests/bug-2059.c:
19719           Add a new test case.
19721 2015-05-21 Ben Shi <powerstudio1st AT 163 DOT com>
19723         * src/SDCCsymt.c:
19724           Remove useless code.
19725         * support/regression/tests/bug-2384.c:
19726           Add a new test case.
19728 2015-05-19 Ben Shi <powerstudio1st AT 163 DOT com>
19730         * support/regression/tests/bug-1918.c:
19731           Add a new test case.
19733 2015-05-17 Maarten Brock <sourceforge.brock AT dse.nl>
19735         * doc/clean.mk: remove *.eps
19736         * doc/Makefile.in: use dvipdfm instead of pdflatex to enable svg graphics
19737         * configure.in,
19738         * configure: require latex and dvipdfm for building doc
19740 2015-05-17 Ben Shi <powerstudio1st AT 163 DOT com>
19742         * sdas/linksrc/lklex.c:
19743           Check illegal object files.
19745 2015-05-15 Ben Shi <powerstudio1st AT 163 DOT com>
19747         * src/SDCC.y:
19748           Fix a potential bug in simplification of nested '*' and '&' in AST.
19750 2015-05-14 Ben Shi <powerstudio1st AT 163 DOT com>
19752         * src/SDCC.y:
19753           simplify nested '&' and '*' in AST.
19754         * support/regression/tests/bug-2381.c:
19755           Add a new test case.
19757 2015-05-13 Ben Shi <powerstudio1st AT 163 DOT com>
19759         * src/SDCCerr.c:
19760         * src/SDCCerr.h:
19761         * src/SDCCsymt.c:
19762         * src/SDCCsymt.h:
19763           Add a new warning for duplicate specifiler in c89.
19765 2015-05-08 Ben Shi <powerstudio1st AT 163 DOT com>
19767         * src/SDCC.y: Turn off warning 219 for declaration (with extern) while keep
19768           for definition (without extern).
19769         * support/regression/tests/bug-2102.c:
19770           Improve test case.
19772 2015-05-06 Ben Shi <powerstudio1st AT 163 DOT com>
19774         * src/SDCC.y: Do not warn if a variable of a struct with a flexible array is
19775           declared with extern.
19776         * src/SDCCerr.c:
19777           Change text message of warning 219.
19778         * support/regression/tests/bug-2102.c:
19779           Supress warning 219 and improve test case.
19780         * support/regression/tests/bug-2274.c:
19781           Supress warning 84.
19783 2015-05-04 Ben Shi <powerstudio1st AT 163 DOT com>
19785         * support/regression/tests/bug-2102.c:
19786           Add a new test case.
19787         * src/SDCCerr.c:
19788         * src/SDCC.y:
19789           Rise warning 219 for creating an instance of a struct with a flexible array.
19790         * src/SDCCsymt.c:
19791           Remove useless code.
19793 2015-05-04 Ben Shi <powerstudio1st AT 163 DOT com>
19795         * src/SDCC.y:
19796           Fix a bug in macro __func__ substitution.
19798 2015-05-03 Maarten Brock <sourceforge.brock AT dse.nl>
19800         * device/lib/_calloc.c: removed unused struct declarations
19801         * device/lib/pic16/libc/stdio/vfprintf.c: fixed warnings
19802         * src/SDCC.y: disabled W_ANONYMOUS_MEMBER
19803         * src/SDCCsymt.c (compStructSize): disabled W_FLEXARRAY_INSTRUCT
19804         * src/z80/main.c: fixed gbz80_port peephole pointers, and
19805         * src/ds390/main.c,
19806         * src/mcs51/main.c,
19807         * src/stm8/main.c: added peephole null-pointers, unified layout
19808         * src/stm8/ralloc.c (stm8_assignRegisters): fixed warning
19809         * support/regression/tests/bug-2320.c: fixed warning
19811 2015-05-01 Ben Shi <powerstudio1st AT 163 DOT com>
19813         * sdas/linksrc/lkar.c:
19814         * sdas/linksrc/lklib.c:
19815         * sdas/linksrc/lksdcclib.c:
19816         * src/SDCCmain.c:
19817           Remove useless code for Cygwin.
19818         * support/sdbinutils/bfd/config.bfd:
19819         * sim/ucsim/cmd.src/cmdutil.cc:
19820           Support Cygwin64.
19822 2015-04-29 Ben Shi <powerstudio1st AT 163 DOT com>
19824         * support/regression/tests/gcc-torture-execute-20001011-1.c:
19825           Enabled.
19826         * support/cpp/libcpp/macro.c:
19827         * support/cpp/libcpp/include/cpplib.h:
19828         * support/cpp/libcpp/init.c:
19829         * src/SDCC.y:
19830           Support macro __func__.
19832 2015-04-22 Philipp Klaus Krause <pkk AT spth.de>
19834         * src/z80/peeph-z80.def:
19835           Better peephole interaction for early ret statements in functions.
19837 2015-04-22 Ben Shi <powerstudio1st AT 163 DOT com>
19839         * Makefile.common.in:
19840         * configure:
19841         * configure.in:
19842         * support/regression/Makefile.in:
19843         * support/regression/ports/ds390/spec.mk:
19844         * support/regression/ports/hc08/spec.mk:
19845         * support/regression/ports/mcs51-common/spec.mk:
19846         * support/regression/ports/pic14/spec.mk:
19847         * support/regression/ports/pic16/spec.mk:
19848         * support/regression/ports/s08/spec.mk:
19849         * support/regression/ports/stm8/spec.mk:
19850         * support/regression/ports/ucgbz80/spec.mk:
19851         * support/regression/ports/ucr2k/spec.mk:
19852         * support/regression/ports/ucr3ka/spec.mk:
19853         * support/regression/ports/ucz180/spec.mk:
19854         * support/regression/ports/ucz80/spec.mk:
19855         * support/valdiag/Makefile.in:
19856           Auto detect python in $PATH.
19857         * support/regression/tests/z88dk.c:
19858           Fix build error in reversion #9218.
19860 2015-04-22 Philipp Klaus Krause <pkk AT spth.de>
19862         * src/z80/peep.c,
19863           support/regression/tests/bug-2376.c:
19864           Fix peephole optimizer bug #2376.
19866 2015-04-21 Philipp Klaus Krause <pkk AT spth.de>
19868         * src/SDCCpeeph.c,
19869           src/port.h,
19870           src/z80/main.c,
19871           src/z80/gen.c,
19872           src/z80/peep.h,
19873           src/z80/peep.c,
19874           src/z80/peeph-z80.def:
19875           Fix peephole optimizer bug #2374, more efficient calls to _Noreturn
19876           functions.
19878 2015-04-20 Philipp Klaus Krause <pkk AT spth.de>
19880         * src/z80/gen.c,
19881           src/z80/peep.c,
19882           support/regression/tests/z88dk.c:
19883           Fix peephole optimizer bug #2371.
19885 2015-04-19 Philipp Klaus Krause <pkk AT spth.de>
19887         * src/SDCCglobl.h:
19888           Silence warning.
19889         * src/z80/gen.c,
19890           device/lib/*/__sdcc_call_hl.s,
19891           device/lib/*/__sdcc_call_iy.s,
19892           src/SDCCsymt.c:
19893           Better handling of calls through function pointers.
19895 2015-04-18 Ben Shi <powerstudio1st AT 163 DOT com>
19897         * sim/ucsim/configure.in:
19898         * sim/ucsim/configure:
19899         * sim/ucsim/packages_in.mk:
19900           Do not build disabled ports.
19902 2015-04-17 Ben Shi <powerstudio1st AT 163 DOT com>
19904         * sdas/linksrc/Makefile.in:
19905           Fix the issue that "make install" of sdld* failed on Windows.
19907 2015-04-16 Ben Shi <powerstudio1st AT 163 DOT com>
19909         * device/include/Makefile.in:
19910           Fix the problem that the header files of ds400 are not installed.
19911         * sdas/linksrc/Makefile.in:
19912           Do not install unnecessary sdld* for disabled ports.
19914 2015-04-15 Ben Shi <powerstudio1st AT 163 DOT com>
19916         * Makefile.common.in:
19917         * Makefile.in:
19918           Partially fix bug #2369.
19919         * configure:
19920         * configure.in:
19921         * device/lib/Makefile.in:
19922         * src/ds400/Makefile.in:
19923         * src/ds400/main.c:
19924         * src/ds400/main.h:
19925           Delete the empty stuff src/ds400/ .
19926         * support/regression/tests/z88dk.c:
19927           Fix compiling errors.
19929 2015-04-14 Philipp Klaus Krause <pkk AT spth.de>
19931         * src/SDCC.lex,
19932           src/SDCC.y,
19933           src/SDCCsymt.h,
19934           src/z80/main.c,
19935           src/z80/gen.c,
19936           support/regression/tests/z88dk.c:
19937           Support for __z88dk_callee calling convention on the caller side.
19939 2015-04-11 Ben Shi <powerstudio1st AT 163 DOT com>
19941         * support/scripts/sdcc.nsi:
19942           Remove savr which is disabled by default.
19944 2015-04-10 Philipp Klaus Krause <pkk AT spth.de>
19946         * support/regression/tests/z88dk.c:
19947           Fix bug number in comment.
19949 2015-04-10 Ben Shi <powerstudio1st AT 163 DOT com>
19951         * debugger/mcs51/configure:
19952         * debugger/mcs51/Makefile.in:
19953         * debugger/mcs51/configure.in:
19954         * sim/ucsim/st7.src/Makefile.in:
19955         * sim/ucsim/z80.src/Makefile.in:
19956         * sim/ucsim/stm8.src/Makefile.in:
19957         * sim/ucsim/xa.src/Makefile.in:
19958         * sim/ucsim/s51.src/Makefile.in:
19959         * sim/ucsim/avr.src/Makefile.in:
19960         * sim/ucsim/hc08.src/Makefile.in:
19961         * sim/ucsim/configure:
19962         * sim/ucsim/Makefile.in:
19963         * sim/ucsim/configure.in:
19964           Support --program-prefix and --program-suffix.
19966 2015-04-09 Philipp Klaus Krause <pkk AT spth.de>
19968         * device/include/ctype.h,
19969           device/lib/isblank.c:
19970           Faster isblank().
19971         * device/include/stdlib.h,
19972           device/lib/atoi.c,
19973           device/lib/atol.c,
19974           device/lib/atoll.c,
19975           device/lib/incl.mk,
19976           device/lib/make51lib.bat,
19977           support/regression/tests/ato.c:
19978           Faster and shorter atoi(), atol(), implemented atoll().
19979         * src/SDCC.lex,
19980           src/SDCC.y,
19981           src/SDCCsymt.h,
19982           src/port.h,
19983           src/SDCCerr.h,
19984           src/SDCCerr.c,
19985           src/*/main.c,
19986           src/z80/gen.c,
19987           src/z80/ralloc2.cc,
19988           support/regression/tests/z88dk.c:
19989           Support for __z88dk_fastcall calling convention.
19990         * src/stm8/peeph.def:
19991           Use relative jump on false instruction for optimizing jumps over 1-byte
19992           opcodes.
19994 2015-04-06 Ben Shi <powerstudio1st AT 163 DOT com>
19996         * support/regression/bug-2368.c:
19997           Try to fix the failure in "make test-host" on sparc64-solaris.
19999 2015-04-03 Ben Shi <powerstudio1st AT 163 DOT com>
20001         * src/SDCCerr.c:
20002         * src/SDCCerr.h:
20003         * src/SDCCast.c:
20004           Add a warning for inline __naked functions.
20006 2015-04-02 Ben Shi <powerstudio1st AT 163 DOT com>
20008         * src/SDCCutils.h:
20009         * src/SDCCutils.c:
20010         * src/SDCCmain.c:
20011           Support --program-prefix and --program-suffix while calling assembler and
20012           linker.
20013         * src/z80/gen.c:
20014         * src/z80/mapping.i:
20015         * src/SDCCasm.c:
20016           Add new "globalfunctionlabel".
20017         * sdas/linksrc/Makefile.in:
20018           Fix a spot in 'make install'.
20020 2015-04-01 Philipp Klaus Krause <pkk AT spth.de>
20022         * src/SDCCnaddr.hpp,
20023           src/SDCCnaddr.cc:
20024           Dump tree decomposition used for address space switching on --dump-graphs.
20026 2015-04-01 Ben Shi <powerstudio1st AT 163 DOT com>
20028         * sdas/as6808/Makefile.in:
20029         * sdas/as8051/Makefile.in:
20030         * sdas/as8xcxxx/Makefile.in:
20031         * sdas/asgb/Makefile.in:
20032         * sdas/asrab/Makefile.in:
20033         * sdas/asstm8/Makefile.in:
20034         * sdas/astlcs90/Makefile.in:
20035         * sdas/asz80/Makefile.in:
20036         * sdas/linksrc/Makefile.in:
20037         * src/Makefile.in:
20038         * support/cpp/Makefile.in:
20039         * support/librarian/Makefile.in:
20040         * support/makebin/Makefile.in:
20041         * support/packihx/Makefile.in:
20042           Fix a bug of --program-suffix on Win32 / Win64.
20044 2015-03-31 Philipp Klaus Krause <pkk AT spth.de>
20046         * src/stm8/gen.c,
20047           support/regression/tests/bug-2368.c:
20048           Fixed bug #2368.
20050 2015-03-27 Ben Shi <powerstudio1st AT 163 DOT com>
20052         * sdas/as6808/Makefile.in:
20053         * sdas/as8051/Makefile.in:
20054         * sdas/as8xcxxx/Makefile.in:
20055         * sdas/asgb/Makefile.in:
20056         * sdas/asrab/Makefile.in:
20057         * sdas/asstm8/Makefile.in:
20058         * sdas/astlcs90/Makefile.in:
20059         * sdas/asz80/Makefile.in:
20060         * sdas/linksrc/Makefile.in:
20061         * src/Makefile.in:
20062         * support/cpp/Makefile.in:
20063         * support/librarian/Makefile.in:
20064         * support/makebin/Makefile.in:
20065         * support/packihx/Makefile.in:
20066         * support/scripts/Makefile.in:
20067           Support --program-prefix and --program-suffix.
20069 2015-03-26 Ben Shi <powerstudio1st AT 163 DOT com>
20071         * support/sdbinutils/libiberty/Makefile.in:
20072           Disable make install.
20073         * support/sdbinutils/binutils/Makefile.in:
20074         * support/sdbinutils/Makefile.in:
20075           Support make uninstall.
20076         * device/non-free/lib/Makefile.in:
20077           Apply patch #245 by David Grayson.
20079 2015-03-24 Philipp Klaus Krause <pkk AT spth.de>
20081         * src/z80/peeph-z80.def:
20082           Peepholes for optimizing jump on decrement.
20084 2015-03-20 Ben Shi <powerstudio1st AT 163 DOT com>
20086         * src/SDCCglue.c:
20087           Improve error messages.
20089 2015-03-19 Ben Shi <powerstudio1st AT 163 DOT com>
20091         * src/SDCCglue.c:
20092           Fix a bug in a global char array initialized by a string.
20093         * src/SDCCast.c:
20094           Fix a bug in a local static global array initialization.
20095         * support/regression/tests/bug-1953.c:
20096           Improve test case.
20097         * doc/sdccman.lyx:
20098           Suggest msys while build SDCC with VS2010.
20100 2015-03-16 Philipp Klaus Krause <pkk AT spth.de>
20102         * src/z80/gen.c:
20103           Fix bug #2288.
20105 2015-03-13 Maarten Brock <sourceforge.brock AT dse.nl>
20107         * device/lib/z80/crt0.s: cosmetics
20108         * sdas/asstm8/sdasstm8.vcxproj,
20109         * sdas/asstm8/sdasstm8.vcxproj.filters: new, added
20110         * sdcc.sln: added sdasstm8
20112 2015-03-12 Ben Shi <powerstudio1st AT 163 DOT com>
20114         * src/SDCCerr.c:
20115         * src/SDCCerr.h:
20116         * src/SDCC.y:
20117           Add a new warning: anonymous member in struct/union.
20119 2015-03-11 Ben Shi <powerstudio1st AT 163 DOT com>
20121         * src/SDCCval.c:
20122         * src/SDCCglue.c:
20123           Add a new special case in pointer initialization.
20124         * support/regression/tests/gcc-torture-execute-const-addr-expr-1.c:
20125           Enabled.
20126         * support/regression/test-1898.c:
20127           Add a new test case.
20129 2015-03-06 Ben Shi <powerstudio1st AT 163 DOT com>
20131         * src/SDCCsymt.c:
20132         * src/SDCCerr.h:
20133         * src/SDCCerr.c:
20134           Add a warning for a flexible array in a struct.
20136 2015-02-25 Philipp Klaus Krause <pkk AT spth.de>
20138         * src/stm8/gen.c:
20139           Speed up stm8 port by skipping output early in dry runs and making some
20140           aop tests more efficient,
20141           fix code generation bug in shifts.
20143 2015-02-25 Ben Shi <powerstudio1st AT 163 DOT com>
20145         * support/regression/tests/bug-2031.c:
20146           Add a new test case.
20147         * src/SDCCglue.c:
20148         * src/SDCCval.c:
20149         * src/SDCCval.h:
20150         * pic16/glue.c:
20151           Enable a global char/int/long variable initialized by an address
20152                   (const pointer).
20154 2015-02-24 Philipp Klaus Krause <pkk AT spth.de>
20156         * src/stm8/gen.c:
20157           Fix bug in stm8 comparison code generation.
20159 2015-02-23 Ben Shi <powerstudio1st AT 163 DOT com>
20161         * support/regression/tests/bug-2357.c:
20162           Improve this test case.
20164 2015-02-22 Philipp Klaus Krause <pkk AT spth.de>
20166         * src/z80/gen.c,
20167           src/z80/main.c:
20168           Improve z88dk compability (patch provided by z88dk).
20170 2015-02-20 Ben Shi <powerstudio1st AT 163 DOT com>
20172         * support/regression/tests/bug-2357.c:
20173           A new test case.
20174         * support/regression/tests/gcc-torture-execute-20000412-1.c:
20175           Enabled.
20176         * src/SDCCerr.c:
20177           Change E_CODE_NO_INIT from an error to a warning.
20178         * src/SDCCast.c:
20179           Fix a bug in selecting type of an array index.
20181 2015-02-17 Ben Shi <powerstudio1st AT 163 DOT com>
20183         * support/regression/tests/bug-1953.c:
20184           Disable failed tests.
20186 2015-02-16 Ben Shi <powerstudio1st AT 163 DOT com>
20188         * src/SDCCast.c:
20189           Fix a bug in char array initialization with string.
20190         * support/regression/tests/bug-1953.c:
20191           Add a new test case.
20192         * support/regression/tests/gcc-torture-execute-20000801-4.c:
20193           Enabled.
20195 2015-02-13 Ben Shi <powerstudio1st AT 163 DOT com>
20197         * src/SDCCglue.c:
20198           Make pointers (of a struct) initialization more generaic.
20199         * support/regression/tests/bug-2123.c:
20200           Add more tests.
20202 2015-02-11 Ben Shi <powerstudio1st AT 163 DOT com>
20204         * src/SDCCglue.c:
20205           Improve pointer initialization.
20206         * support/regression/tests/bug-2123.c:
20207           Add a new test case for bug #2123.
20209 2015-02-08 Ben Shi <powerstudio1st AT 163 DOT com>
20211         * src/SDCCval.c:
20212           Allow type cast in function pointer initialization.
20213         * support/regression/tests/bug-2124.c:
20214           Add a new test case for bug #2124.
20216 2015-02-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20218         * src/SDCCtree_dec.hpp:
20219           Fix bug in weight calculation that affected tree-decompositions with
20220           imbalanced nested branches.
20221         * src/z80/peeph-gbz80.def:
20222           Fix handling of (hl-), (hl+) in peepholes.
20224 2015-02-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20226         * src/z80/mappings.i:
20227           Fix gbz80 function entry helper.
20228         * src/SDCCralloc.hpp:
20229           Use weight mechanism for deciding which subtree to process first - should
20230           reduce memory consumption and improve the heuristic in the register
20231           allocator.
20233 2015-02-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20235         * doc/Makefile.in: copy *.svg graphic files when using VPATH too
20237 2015-02-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20239         * device/lib/*/crtcall.s,
20240           device/lib/*/crtenters,
20241           device/lib/*/Makefile.in,
20242           src/z80/gen.c,
20243           src/z80/mappings.i,
20244           src/z80/peep.c:
20245           Fix name of helper function for function pointers, introduce Alan Cox'
20246           proposal for helper function for function header.
20248 2015-02-02 Ben Shi <powerstudio1st AT 163 DOT com>
20250         * src/SDCCast.c:
20251           Add check for infinite recursive call of copyAst().
20253 2015-01-30 Philipp Klaus Krause <pkk AT spth.de>
20255         * doc/sdccman.lyx:
20256           Fix references to obsolete keywords.
20258 2015-01-29 Philipp Klaus Krause <pkk AT spth.de>
20260         * doc/sdccman.lyx:
20261           Reorganize documentation of language extensions, in particular named
20262           address spaces, separate mcs51isms, remove references to obsolete keywords.
20264 2015-01-28 Philipp Klaus Krause <pkk AT spth.de>
20266         * doc/sdccman.lyx:
20267           Update documentation on C dialect selection.
20269 2015-01-27 Ben Shi <powerstudio1st AT 163 DOT com>
20271         * src/SDCCsymt.c:
20272           Fix bug #2349.
20273         * support/regression/test/bug-2349.c:
20274           Add a new test for bug #2349.
20276 2015-01-27 Philipp Klaus Krause <pkk AT spth.de>
20278         * src/SDCC.lex,
20279           src/SDCC.y,
20280           src/SDCCmem.c,
20281           src/SDCCsymt.h,
20282           src/stm8/main.c:
20283           Apply patch by Pascal for trap handlers.
20285 2015-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
20287         * src/stm8/gen.c:
20288           Fix a bug in genPointerGet(): negative offset is not handled correctly.
20289         * support/regression/test/bug-2239.c:
20290           More tests are added and enabled for stm8.
20292 2015-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
20294         * src/SDCCast.c:
20295           Fix bug #2239.
20296         * support/regression/test/bug-2239.c:
20297           Add a new test for bug #2239.
20299 2015-01-20 Philipp Klaus Krause <pkk AT spth.de>
20301         * src/SDCCmain.c,
20302           .version:
20303           Make sdcc dialect of C99 the default.
20305 2015-01-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20307         * src/z80/ralloc.c,
20308           src/mcs51/ralloc.c:
20309           Fix register packing inline asm interaction bugs #2346, #2268.
20311 2015-01-09 Philipp Klaus Krause <pkk AT spth.de>
20313         * doc/sdccman.lyx:
20314           Classification macros are not required in freestanding implementations.
20316 2015-01-08 Ben Shi <powerstudio1st AT 163 DOT com>
20318         * src/SDCC.y:
20319           Fix a bug which might be a NULL pointer access.
20320         * device/lib/time.c:
20321           Eliminate a warning. (overflow in implicit constant conversion)
20323 2015-01-06 Ben Shi <powerstudio1st AT 163 DOT com>
20325         * src/SDCCast.c:
20326           Fix bug #2167 & #1967. (auto struct variables initialization)
20327         * support/regression/tests/gcc-torture-execute-960326-1.c:
20328           Add more test cases.
20329         * support/regression/tests/gcc-torture-execute-20050613-1.c:
20330         * support/regression/tests/gcc-torture-execute-20030408-1.c:
20331           Enable test.
20333 2015-01-01 Ben Shi <powerstudio1st AT 163 DOT com>
20335         * src/SDCCval.c:
20336           Make SDCC_VERY_PEDANTIC default, if --less-pedantic is not specified.
20338 2014-12-30 Maarten Brock <sourceforge.brock AT dse.nl>
20340         * doc/sdccman.lyx: fixed typo, webdoc #69, thanks Petr Petyovsky
20341         * sdas/linksrc/aslink.h: added include "sdccconf.h" or "sdcc_vc.h"
20342         * sdas/linksrc/lkar.c: removed include "sdccconf.h"
20344 2014-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
20346         * device/include/pic16/limits.h,
20347         * device/lib/_divsint.c,
20348         * device/lib/_divslong.c,
20349         * device/lib/_divuint.c,
20350         * device/lib/_divulong.c,
20351         * device/lib/_memset.c,
20352         * device/lib/_modsint.c,
20353         * device/lib/_modslong.c,
20354         * device/lib/_moduint.c,
20355         * device/lib/_modulong.c,
20356         * device/lib/_mulint.c,
20357         * device/lib/_mullong.c,
20358         * device/lib/hc08/_divuint.c,
20359         * device/lib/hc08/_divulong.c,
20360         * device/lib/pic16/libm/asincosf.c,
20361         * device/lib/pic16/libm/atanf.c,
20362         * device/lib/pic16/libm/logf.c,
20363         * device/lib/s08/_divuint.c,
20364         * device/lib/s08/_divulong.c: replaced deprecated predefined macros
20365         * device/lib/pic16/libio/i2c/i2copen.c: idem to fix bug 2336
20366         * src/SDCCast.c (ast_print),
20367         * src/SDCCicode.c (dbuf_printOperand): fixed warnings
20368         * support/regression/tests/bug-2313.c: fixed warning
20370 2014-12-29 Philipp Klaus Krause <pkk AT spth.de>
20372         * support/regression/tests/bug-2320.c:
20373           Fix test for host.
20375 2014-12-28 Philipp Klaus Krause <pkk AT spth.de>
20377         * device/include/stdio.h:
20378           Fix bug #2338.
20380 2014-12-27 Philipp Klaus Krause <pkk AT spth.de>
20382         * src/z80/ralloc2.cc,
20383           support/regression/tests/bug-2320.c:
20384           Fixed bug #2320.
20386 2014-12-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20388         * src/pic14/gen.c (aopOp): fix typo in previous commit
20390 2014-12-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20392         * src/stm8/gen.c (aopOp),
20393         * src/z80/gen.c (aopOp),
20394         * src/hc08/gen.c (aopOp),
20395         * src/mcs51/gen.c (aopOp),
20396         * src/ds390/gen.c (aopOp),
20397         * src/pic16/gen.c (pic16_aopOp),
20398         * src/pic14/gen.c (aopOp): only use spill location if isspilt set
20400 2014-12-22 Philipp Klaus Krause <pkk AT spth.de>
20402         * doc/sdccman.lyx:
20403           Cleanup manual.
20405 2014-12-22 Ben Shi <powerstudio1st AT 163 DOT com>
20407         * support/regression/tests/longlong.c:
20408           Modify test cases for large signed / unsigned long long.
20410 2014-12-21 Philipp Klaus Krause <pkk AT spth.de>
20412         * src/SDCCmain.c,
20413           src/pic14/main.c,
20414           src/pic16/main.c,
20415           doc/sdccman.lyx,
20416           .version:
20417           Remove obsolete feature macros.
20419 2014-12-21 Ben Shi <powerstudio1st AT 163 DOT com>
20421         * src/SDCCast.c:
20422           Make AST dump more clear.
20423         * src/SDCCval.c:
20424         * src/SDCCval.h:
20425         * src/SDCCicode.c:
20426         * src/SDCCcse.c:
20427         * src/SDCCast.c:
20428         * src/SDCCglue.c:
20429         * src/pic16/SDCCglue.c:
20430           make valFromLiteral() more accurate by a new unsigned long long parameter.
20431         * support/regression/tests/longlong.c:
20432           Add new test cases for large unsigned long long.
20434 2014-12-19 Ben Shi <powerstudio1st AT 163 DOT com>
20436         * support/regression/tests/longlong.c:
20437           Enable more test cases.
20438         * src/SDCCast.c:
20439         * src/SDCCicode.c:
20440           Fix a bug: higher 4 bytes of a longlong literal are missing while dumping.
20441         * src/SDCCval.c:
20442           Fix a bug: higher 4 bytes of a longlong value are discarded while casting
20443           from a double value.
20445 2014-12-16 Philipp Klaus Krause <pkk AT spth.de>
20447         * configure.in,
20448           doc/Makefile.in:
20449           Remove dependency on pdfopt.
20450         * support/regression/tests/bug-2313.c:
20451           Regression test for bug #2313.
20453 2014-12-13 Philipp Klaus Krause <pkk AT spth.de>
20455         * device/lib/pic16/libc/string/strncpy.c,
20456           support/regression/tests/bug-2231.c:
20457           Fix strncpy() in pic16. Patch by Diego Herranz.
20459 2014-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20461         * src/SDCCcse.c (ifxOptimize): fixed bugs #2313/2330
20463 2014-12-04 Philipp Klaus Krause <pkk AT spth.de>
20465         * support/regression/tests/gcc-torture-execute-20080529-1.c,
20466           support/regression/tests/longlong.c:
20467           Disable tests that fail due to broken gbz80 long long multiplication
20468           (bug #2329).
20469         * support/regression/tests/bug-2231.c,
20470           support/regression/tests/float_single.c,
20471           support/regression/tests/gcc-torture-execute-stdarg-4.c,
20472           support/regression/tests/gcc-torture-execute-stdarg-5.c,
20473           support/regression/tests/vaargs.c:
20474           Disable failing tests for pic16.
20476 2014-12-03 Ben Shi <powerstudio1st AT 163 DOT com>
20478         * support/regression/tests/gcc-torture-execute-950511-1.c:
20479           Disabled. Since it fails on FreeBSD.
20481 2014-12-02 Ben Shi <powerstudio1st AT 163 DOT com>
20483         * support/regression/tests/gcc-torture-execute-20050826-1.c:
20484         * support/regression/tests/gcc-torture-execute-950511-1.c:
20485           Enabled for stm8.
20487 2014-12-02 Philipp Klaus Krause <pkk AT spth.de>
20489         * device/lib/_mullonglong.c,
20490           support/regression/tests/longlong.c:
20491           Make long long multiplication independent of endianness.
20493 2014-12-02 Ben Shi <powerstudio1st AT 163 DOT com>
20495         * sim/ucsim/stm8.src/stm8.cc:
20496           Make stack larger, since some test cases cost large stack space.
20498 2014-12-02 Philipp Klaus Krause <pkk AT spth.de>
20500         * src/stm8/ralloc.c,
20501           src/z80/ralloc.c:
20502           Do not try to use spill locations that are not on the stack in ports that
20503           can't handle it.
20504         * support/regression/tests/longlong.c:
20505           Enable some long long tests that pass for stm8 now.
20507 2014-12-01 Philipp Klaus Krause <pkk AT spth.de>
20509         * src/SDCCsymt.c:
20510           Initialize usl.spillLoc to help track down spill location issues.
20511         * src/stm8/ralloc.c:
20512           Minor cleanup.
20514 2014-11-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20516         * configure.in,
20517         * configure,
20518         * sdccconf_h.in,
20519         * sdas/linksrc/lkar.c: Use configure to detect system strndup()
20520           (alternate fix for bugs #2310 and #2303)
20521         * sdas/linksrc/Makefile.in: Removed -std=c99; it caused problems with
20522           mingw32 build
20524 2014-11-29 Maarten Brock <sourceforge.brock AT dse.nl>
20526         * device/include/ctype.h: compare as unsigned chars, added static asserts on
20527           EOF
20528         * device/lib/isdigit.c,
20529         * device/lib/islower.c,
20530         * device/lib/isupper.c: include stdio.h to enable the static assert in ctype.h
20531         * support/regression/tests/gcc-torture-execute-20050613-1.c: split up ASSERTs
20533 2014-11-23 Molnar Karoly <molnarkaroly AT users.sf.net>
20535         * device/include/pic14/pic14devices.txt:
20536           Bugfix, thanks to Franz.
20538 2014-11-23 Ben Shi <powerstudio1st AT 163.com>
20540         * support/regression/tests/bug-2304.c:
20541           Improve this test case.
20542         * sdas/linksrc/lkmain.c:
20543           Add bound check.
20545 2014-11-22 Ben Shi <powerstudio1st AT 163.com>
20547         * src/stm8/peep.c:
20548           Fix potential bugs.
20550 2014-11-22 Ben Shi <powerstudio1st AT 163.com>
20552         * src/SDCCpeeph.c:
20553           Add function notSimilar().
20554         * src/stm8/peep.c:
20555           Make notUsed() more aggressive.
20556         * src/stm8/peeph.def:
20557           Add more rules.
20559 2014-11-21 Philipp Klaus Krause <philipp@informatik.uni-frankfurt.de>
20561         * src/stm8/main.c:
20562           Comment expaining why we can't use the byte at 0 in C.
20564 2014-11-21 Ben Shi <powerstudio1st AT 163.com>
20566         * device/lib/stm8/heap.s:
20567         * device/lib/stm8/Makefile.in:
20568           Add support for heap operation.
20569         * support/regression/tests/gcc-torture-execute-920810-1.c:
20570         * support/regression/tests/malloc:
20571           enable test cases which use malloc().
20573 2014-11-19 Ben Shi <powerstudio1st AT 163.com>
20575         * sdas/linksrc/aslink.h:
20576           Change PATH_MAX to a proper value on x86_64, for bug #2316.
20578 2014-11-18 Philipp Klaus Krause <pkk AT spth.de>
20580         * device/include/iso646.h,
20581           support/regression/tests/iso646.c:
20582           Fixed bug #2314.
20584 2014-11-15 Philipp Klaus Krause <pkk AT spth.de>
20586         * support/regression/tests/gcc-torture-execute-pr40057.c:
20587           Disable test for host, since it fails on NetBSD.
20589 2014-11-14 Philipp Klaus Krause <pkk AT spth.de>
20591         * support/sdbinutils/bfd/configure,
20592           support/sdbinutils/bfd/warning.m4,
20593           support/sdbinutils/binutils/configure:
20594           Fixed bug #2280 by disabling -Werror.
20595         * sdas/linksrc/Makefile.in:
20596           Fixed bugs #2310 and #2303.
20597         * support/regression/tests/gcc-torture-execute-20031012-1.c:
20598           Disable test that fails on MacOS.
20600 2014-11-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20602         * support/regression/tests/gcc-torture-execute-pr42544.c:
20603           Disable test for host, since it fails on Solaris.
20605 2014-11-11 Philipp Klaus Krause <pkk AT spth.de>
20607         * support/regression/tests/longlong.c:
20608           Disable test that fails on 32-bit hosts.
20610 2014-11-10 Philipp Klaus Krause <pkk AT spth.de>
20612         * src/z80/ralloc.c,
20613           src/z80/gen.c,
20614           src/stm8/ralloc.c,
20615           src/stm8/gen.c,
20616           support/regression/tests/longlong.c:
20617           Implement unused long long return values.
20619 2014-11-09 Philipp Klaus Krause <pkk AT spth.de>
20621         * src/z80/ralloc2.cc:
20622           Fix a long long register allcoation issue.
20623         * support/regression/tests/gcc-torture-execute-950511-1.c:
20624           Disable test that fails on 32-bit hosts.
20626 2014-11-08 Philipp Klaus Krause <pkk AT spth.de>
20628         * support/regression/tests/longlong.c,
20629           support/regression/tests/gcc-torture-execute-950512-1.c:
20630           Disabled test, since it fails on 32-bit hosts.
20632 2014-11-07 Philipp Klaus Krause  <pkk AT spth.de>
20634         * device/lib/_modslonglong.c,
20635           device/lib/_modulonglong.c,
20636           device/lib/Makefile.in,
20637           device/lib/*/Makefile.in,
20638           doc/sdccman.lyx:
20639           Implement % for long long and unsigned long long.
20640         * doc/Makefile.in:
20641           More sensible error behaviour when building documentation.
20642         * src/SDCCval.c,
20643           src/SDCCerr.c:
20644           Only warn about long long constants for large values.
20645         * device/lib/_mullonglong.c:
20646           Fix long long multiplication.
20647         * support/regression/tests/*.c:
20648           Enable some long long regression test that pass now.
20650 2014-11-06 Philipp Klaus Krause  <pkk AT spth.de>
20652         * src/z80/gen.c:
20653           More efficient assignment of literals to 16-bit globals and statics.
20655 2014-11-06 Philipp Klaus Krause  <pkk AT spth.de>
20657         * src/z80/gen.c,
20658           support/regression/tests/bug-2306.c:
20659           Fixed bug #2306.
20661 2014-11-06 Philipp Klaus Krause  <pkk AT spth.de>
20663         * src/z80/gen.c,
20664           support/regression/tests/bug-2304.c:
20665           Fixed bug #2304.
20666         * src/z80/ralloc.c,
20667           support/regression/tests/bug-2305.c:
20668           Fixed bug #2305.
20670 2014-10-29 Philipp Klaus Krause  <pkk AT spth.de>
20672         * support/regression/tests/bug-2254.c:
20673           Regression test for bug #2254.
20675 2014-10-22 Philipp Klaus Krause <pkk AT spth.de>
20677         * src/stm8/gen.c:
20678           Spelling fix inspired by Debian patch 02_fix_spelling.
20680 2014-10-22 Ben Shi <powerstudio1st AT 163.com>
20682         * device/lib/stm8/Makefile.in:
20683         * device/stm8/_modslong.s:
20684         * device/stm8/_divslong.s:
20685           Optimized mod & div of signed long.
20687 2014-10-17 Ben Shi <powerstudio1st AT 163.com>
20689         * device/lib/stm8/Makefile.in:
20690         * device/stm8/_modulong.s:
20691         * device/stm8/_divulong.s:
20692           Optimized according to their c origination.
20694 2014-10-14 Philipp Klaus Krause <pkk AT spth.de>
20696         * src/z80/gen.c:
20697           Improve error messages for unimplemented unused return value.
20699 2014-10-14 Ben Shi <powerstudio1st AT 163.com>
20701         * device/stm8/_modsint.s:
20702         * device/stm8/_mullong.s:
20703           Optimized with more efficient instructions.
20704         * device/stm8/_mulint.s:
20705           Reformat to more readable.
20707 2014-10-13 Philipp Klaus Krause <pkk AT spth.de>
20709         * device/stm8/_divsint.s:
20710           Optimized signed division.
20712 2014-10-11 Ben Shi <powerstudio1st AT 163.com>
20714         * src/stm8/gen.c:
20715           Delete temporary code stm_sub_func().
20716         * device/stm8/_modsint_stm8.s:
20717         * device/stm8/_mulint_stm8.s:
20718         * device/stm8/_divsint_stm8.s:
20719         * device/stm8/_mullong_stm8.s:
20720           Deleted.
20721         * device/stm8/_modsint.s:
20722         * device/stm8/_mulint.s:
20723         * device/stm8/_divsint.s:
20724         * device/stm8/_mullong.s:
20725           Added.
20726         * device/stm8/Makefile.in:
20727           Use the above new added .s files.
20729 2014-10-09 Ben Shi <powerstudio1st AT 163.com>
20731         * src/stm8/gen.c:
20732           Add stm_sub_func() for future more stm8 optimized functions.
20733         * src/stm8/peeph.def:
20734           Remove redundant rules.
20736 2014-10-03 Molnar Karoly <molnarkaroly AT users.sf.net>
20738         * support/scripts/cinc2h.pl: Updated to the gputils-1.4.0 .
20740 2014-09-29 Ben Shi <powerstudio1st AT 163.com>
20742         * device/lib/stm8/_mullong_stm8.s:
20743         * device/lib/stm8/Makefile.in:
20744           stm8 optimized version of _mullong.
20745         * src/stm8/peeph.def:
20746           add new rules to utilize the above optimized functions.
20748 2014-09-25 Philipp Klaus Krause <pkk AT spth.de>
20750         * src/z80/peeph-gbz80.def:
20751           Removed or simplification peepholes.
20753 2014-09-24 Philipp Klaus Krause <pkk AT spth.de>
20755         * src/SDCCopt.c:
20756           Remove negation by inverting jump condition.
20757         * src/SDCCcse.c:
20758           Remove cast at conditional jump.
20759         * device/include/ctype.h:
20760           Simplify classification functions.
20762 2014-09-24 Maarten Brock <sourceforge.brock AT dse.nl>
20764         * src/SDCCsymt.c (mergeSpec): added check for both static and extern
20765           (checkFunction): merge static or extern and check
20766         * device/include/ctype.h: replaced macros with direct inline versions
20767         * device/lib/isdigit.c,
20768         * device/lib/islower.c,
20769         * device/lib/isupper.c: replaced definitions with extern declaration to give
20770           inline versions external linkage
20772 2014-09-22 Ben Shi <powerstudio1st AT 163.com>
20774         * device/lib/stm8/_modsint_stm8.s:
20775         * device/lib/stm8/Makefile.in:
20776           stm8 optimized version of _modsint.
20777         * src/stm8/peeph.def:
20778           add new rules to utilize the above optimized functions.
20780 2014-09-19 Ben Shi <powerstudio1st AT 163.com>
20782         * device/lib/stm8/_divsint_stm8.s:
20783         * device/lib/stm8/_mulint_stm8.s:
20784         * device/lib/stm8/Makefile.in:
20785           stm8 optimized version of div / mul.
20786         * src/stm8/peeph.def:
20787           add new rules to utilize the above optimized functions.
20789 2014-09-19 Philipp Klaus Krause <pkk AT spth.de>
20791         * src/z80/gen.c:
20792           Fixed double read from __sfr function parameter.
20794 2014-09-17 Molnar Karoly <molnarkaroly AT users.sf.net>
20796         * support/scripts/pic14-header-parser.pl:
20797           Creates two new groups: "regular", "enhanced"
20799         * support/scripts/pic16fam-h-gen.pl:
20800           Divides into more groups the 14-bit processors:
20801                 "adc", "ccp", "pwm", "i2c", "spi", "usart"
20803 2014-09-17 Molnar Karoly <molnarkaroly AT users.sf.net>
20805         * support/scripts/pic14-header-parser.pl,
20806           support/scripts/pic16-header-parser.pl:
20807           updated
20809 2014-09-15 Molnar Karoly <molnarkaroly AT users.sf.net>
20811         * device/non-free/include/pic14/*.inc,
20812           device/non-free/lib/pic14/libdev/*.c:
20813           updated
20815 2014-09-13 Ben Shi <powerstudio1st AT 163.com>
20817         * src/stm8/main.c:
20818           Make libstm8.lib is implicitly linked rather than explicitly designated.
20820 2014-09-04 Molnar Karoly <molnarkaroly AT users.sf.net>
20822         * support/scripts/mcs51-disasm.pl,
20823           support/scripts/optimize_pic16devices.pl:
20824           Updated unto the Perl 5.16 version.
20826 2014-09-04 Molnar Karoly <molnarkaroly AT users.sf.net>
20828         * support/scripts/cinc2h.pl:
20829           Updated unto the Perl 5.16 version.
20831 2014-09-03 Ben Shi <powerstudio1st AT 163.com>
20833         * sdas/asstm8/stm8mch.c:
20834           Fix the wrong code of the bit index in BTJF / BTJF.
20836 2014-09-01 Molnar Karoly <molnarkaroly AT users.sf.net>
20838         * device/include/pic14/pic14devices.txt: Minor bugfix.
20840 2014-08-30 Ben Shi <powerstudio1st AT 163.com>
20842         * support/regression/tests/gcc-torture-execute-pr28982a.c:
20843         * support/regression/tests/bug3475630.c:
20844           Enabled on the stm8 port.
20846 2014-08-29 Ben Shi <powerstudio1st AT 163.com>
20848         * support/regression/tests/gcc-torture-execute-pr47337.c:
20849           Enable this test case on the stm8 port.
20851 2014-08-20 Ben Shi <powerstudio1st AT 163.com>
20853         * device/lib/stm8/setjmp.s:
20854           Substitute _CODE to CODE to conform with stm8's code generator.
20855         * sdas/linksrc/lkmain.c:
20856           Revert to reversion 9059.
20858 2014-08-18 Ben Shi <powerstudio1st AT 163.com>
20860         * support/regression/tests/setjmp.c:
20861           Enabled for the stm8 port.
20862         * sdas/linksrc/lkmain.c:
20863           Avoid generating invalid instructions on MacOS.
20865 2014-08-17 Ben Shi <powerstudio1st AT 163.com>
20867         * support/regression/setjmp.c:
20868           Disabled for the stm8 port.
20870 2014-08-16 Ben Shi <powerstudio1st AT 163.com>
20872         * all.vcxproj:
20873         * support/scripts/sdcc.nsi:
20874           Create a new sdldstm8 on Windows.
20875         * sdas/linksrc/Makefile.in:
20876         * Makefile.in:
20877           Create a spereated sdldstm8 on Unix like.
20878         * src/stm8/main.c:
20879         * sdas/linksrc/sdld.c:
20880         * sdas/linksrc/sdld.h:
20881           Let the stm8 port use sdldstm8 instead of sdld.
20883 2014-08-12 Ben Shi <powerstudio1st AT 163.com>
20885         * sdcc/support/regression/tests/bug-2205.c:
20886         * sdcc/support/regression/tests/bug-971834.c:
20887         * sdcc/support/regression/tests/key.c:
20888           Make Small changes to fit LLVM/CLANG for host test.
20890 2014-08-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20892         * src/hc08/gen.c (pushSide, genPcall): fixed bug with pointer
20893           function call overwriting register parameter with function
20894           address. Optimized constant function pointer case.
20896 2014-08-06 Ben Shi <powerstudio1st AT 163.com>
20898         * sdas/linksrc/lkaomf51.c:
20899           Add array bound check to avoid crash.
20901 2014-07-30 Ben Shi <powerstudio1st AT 163.com>
20903         * sim/ucsim/st7.src/inst.cc:
20904           Eliminate warnings.
20905         * support/regression/tests/gcc-torture-execute-930628-1.c:
20906           Enable this case for the stm8 port.
20908 2014-07-29 Ben Shi <powerstudio1st AT 163.com>
20910         * support/regression/tests/gcc-torture-execute-20030714-1.c:
20911           Enable this case for the stm8 port.
20912         * src/stm8/gen.c:
20913           Fix bug #2285: an error in genCast().
20915 2014-07-22 Molnar Karoly <molnarkaroly AT users.sf.net>
20917         * support/scripts/optimize_pic16devices.pl,
20918           device/include/pic16/pic16devices.txt:
20919           Stronger optimization.
20921 2014-07-21 Ben Shi <powerstudio1st AT 163.com>
20923         * support/regression/tests/gcc-torture-execute-stdarg-4.c:
20924         * support/regression/tests/gcc-torture-execute-stdarg-5.c:
20925           Split the original gcc-torture-execute-stdarg-4.c to inline / non-inline.
20927 2014-07-20 Ben Shi <powerstudio1st AT 163.com>
20929         * support/regression/tests/gcc-torture-execute-stdarg-4.c:
20930         * support/regression/tests/gcc-torture-execute-loop-2c.c:
20931         * support/regression/tests/gcc-torture-execute-unroll-1.c:
20932           Add "static" to fit the C99 standard.
20934 2014-07-19 Ben Shi <powerstudio1st AT 163.com>
20936         * support/regression/tests/gcc-torture-execute-20001121-1.c:
20937           Add "static" to fit the C99 standard.
20939 2014-07-15 Ben Shi <powerstudio1st AT 163.com>
20941         * src/stm8/peep.c
20942           Make calculation of instructions' length more accurate.
20944 2014-07-14 Molnar Karoly <molnarkaroly AT users.sf.net>
20946         * device/non-free/include/pic14/pic16f1yyy.h:
20947           Added the missing DEBUG config option to the enhanced midrange MCUs.
20949 2014-07-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20951         * support/regression/tests/bug2084206.c:
20952           Enable test, since #2198 is fixed.
20953         * support/regression/tests/gcc-torture-execute-20030714-1.c:
20954           Reference bug #2285.
20956 2014-07-12 Molnar Karoly <molnarkaroly AT users.sf.net>
20958         * support/scripts/cinc2h.pl: Bugfix and update.
20960         * device/non-free/include/pic14/pic16c433.h: bugfix
20962 2014-07-12 Molnar Karoly <molnarkaroly AT users.sf.net>
20964         * device/include/pic14/pic14devices.txt,
20965           device/include/pic14/pic16regs.h,
20966           device/non-free/include/pic14/pic12lf1554.h,
20967           device/non-free/include/pic14/pic12lf1559.h,
20968           device/non-free/lib/pic14/libdev/devices.txt,
20969           device/non-free/lib/pic14/libdev/pic12lf1554.c,
20970           device/non-free/lib/pic14/libdev/pic12lf1559.c,
20971           doc/sdccman.lyx:
20972           New devices.
20974 2014-07-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20976         * src/stm8/gen.c:
20977           Remove workarounds for bug #2198.
20979 2014-07-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20981         * sdas/linksrc/lkrloc3.c (adb_hi, adb_lo, relr3),
20982           sdas/asxxsrc/asout.c (outrxb): back port some of ASxxxx 5.06 to
20983           fix bug 2198
20985 2014-07-08 Molnar Karoly <molnarkaroly AT users.sf.net>
20987         * device/non-free/include/pic14/pic1xxx.h,
20988           device/non-free/lib/pic14/libdev/pic1xxx.c,
20989           device/non-free/include/pic16/pic18fxxx.h,
20990           device/non-free/lib/pic16/libdev/pic18fxxx.c:
20991           updated
20993         * device/non-free/include/pic14/pic12f1571.h,
20994           device/non-free/include/pic14/pic12f1572.h,
20995           device/non-free/include/pic14/pic12f1612.h:
20996           Added the missing _DEBUG_ON and _DEBUG_OFF config options.
20997           (These Microchip bugs in original mpasmx includes.)
20999 2014-07-07 Ben Shi <powerstudio1st AT 163.com>
21001         * sim/ucsim/stm8.src/inst.cc:
21002           Unify all flag affection code to flag_cvh().
21004 2014-07-06 Ben Shi <powerstudio1st AT 163.com>
21006         * sim/ucsim/stm8.src/inst.cc:
21007           Merge inst_sub() to inst_sbc().
21009 2014-07-03 Ben Shi <powerstudio1st AT 163.com>
21011         * sim/ucsim/stm8.src/inst.cc:
21012           Fix potential bugs in inst_dec(), inst_inc() & inst_ldxy(): flags
21013           affection.
21014           Make inst_addw(), inst_clr() & inst_ldxydst() more understandable.
21015         * sim/ucsim/stm8.src/stm8.cc:
21016           Fix potential bugs in CALLR & CALLF: the stack saved PC value is not
21017           accurate.
21019 2014-06-30 Ben Shi <powerstudio1st AT 163.com>
21021         * sim/ucsim/stm8.src/inst.cc:
21022           Fix potential bugs in inst_adc() & inst_add() - flags affection.
21023           Fix potential bugs in inst_sll() & inst_rlc() - reg.X & reg.Y might exceed
21024           0xffff.
21025         * sim/ucsim/stm8.src/stm8.cc:
21026           Improve code quality.
21028 2014-06-25 Ben Shi <powerstudio1st AT 163.com>
21030         * sim/ucsim/stm8.src/inst.cc:
21031           Fix potential bugs of flags affection in inst_sbc() and inst_cpw().
21032         * sim/ucsim/stm8.src/stm8.cc:
21033           Fix potential bugs of flags affection in RLWA, and improve code quality of
21034           TRAP.
21036 2014-06-21 Ben Shi <powerstudio1st AT 163.com>
21038         * sim/ucsim/stm8.src/inst.cc:
21039           Fix potential bugs of flags affection in inst_addw(), inst_sub() and
21040           inst_cp().
21041         * sim/ucsim/stm8.src/stm8.cc:
21042           Fix potential bugs of flags affection in simulation of RRWA.
21044 2014-06-20 Ben Shi <powerstudio1st AT 163.com>
21046         * sim/ucsim/stm8.src/inst.cc:
21047           Fix potential bugs of flags affection in inst_addw().
21049 2014-06-17 Ben Shi <powerstudio1st AT 163.com>
21051         * sim/ucsim/stm8.src/inst.cc:
21052           Make the comment more understandable, fix potential bugs in inst_jr().
21053           (JRSGT / JRSLE / JRSGE / JRSLT)
21055 2014-06-10 Ben Shi <powerstudio1st AT 163.com>
21057         * sim/ucsim/stm8.src/inst.cc:
21058           Add indirect addressing handling in CLR, CPW & LD.
21059           Fix potential bugs in get_dest().
21061 2014-06-03 Philipp Klaus Krause <pkk AT spth.de>
21063         * sim/ucsim/stm8.src/inst.cc,
21064           support/regression/tests/gcc-torture-execute-20021120-1.c:
21065           Fix bug #2180 by applying patch #244 by Ben Shi.
21067 2014-06-02 Philipp Klaus Krause <pkk AT spth.de>
21069         * device/lib/Makefile.in:
21070           Fix non-standard end-of-line matching (makes device libraries compile on
21071           OpenBSD).
21073 2014-05-28 Philipp Klaus Krause <pkk AT spth.de>
21075         * src/stm8/gen.c:
21076           Fix a bug in code generation for right shift by applying patch #243 by Ben
21077           Shi.
21079 2014-05-25 Philipp Klaus Krause <pkk AT spth.de>
21081         * src/stm8/ralloc2.cc:
21082           Fix complement bug #2275.
21084 2014-05-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21086         * sim/ucsim/stm8.src/stm8.cc:
21087           Fix flag handling, patch by Ben Shi.
21088         * src/stm8/gen.c:
21089           Enable some shift optimizations that need the flag handling fix.
21091 2014-05-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21093         * src/stm8/ralloc2.cc:
21094           Fix detection of free regs for stm8.
21095         * src/stm8/gen.c:
21096           Enable optimizations for bitwise and.
21098 2014-05-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21100         * src/SDCCcse.c:
21101           More aggressive optimization of casts to bool following logic operations.
21103 2014-05-04 Maarten Brock <sourceforge.brock AT dse.nl>
21105         * src/mcs51/gen.c (saveRegisters, unsaveRegisters): fixed bug 1928,
21106           (genXpush): small optimization
21107         * src/mcs51/peep.c (termScanAtFunc): fixed return value,
21108           (scan4op: ret): fixed callee_saves
21109         * src/stm8/gen.c: MSVC is not C99 compliant
21110         * support/regression/tests/callee_saves.c: new, added
21112 2014-04-30 Philipp Klaus Krause <pkk AT spth.de>
21114         * src/stm8/gen.c:
21115           More efficient float negation.
21117 2014-04-30 Philipp Klaus Krause <pkk AT spth.de>
21119         * src/stm8/ralloc2.cc,
21120           src/stm8/gen.c:
21121           More flexible register allocation of operands, fixed bug in intra-register
21122           assignment.
21124 2014-04-27 Philipp Klaus Krause <pkk AT spth.de>
21126         * src/stm8/gen.c:
21127           Improve loading of literals to long globals.
21129 2014-04-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21131         * src/stm8/gen.c:
21132           Fix overoptimistic stack coalescing estimate, clamp shifts.
21134 2014-04-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21136         * src/stm8/gen.c:
21137           Improve arithmetic right shift.
21139 2014-04-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21141         * src/stm8/gen.c:
21142           Various small fixes and improvements.
21143         * src/stm8/ralloc.c
21144           Prepare for register packing for assignment.
21146 2014-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
21148         * support/scripts/z80-disasm.pl: Disassembler for the z80 family.
21150 2014-04-21 Philipp Klaus Krause <pkk AT spth.de>
21152         * src/stm8/gen.c:
21153           Improve left shift by literal, preparations for patch #234.
21154         * device/lib/_mulint.c:
21155           Speed up integer multiplication by using casts.
21157 2014-04-21 Philipp Klaus Krause <pkk AT spth.de>
21159         * src/stm8/gen.c:
21160           More efficient clearing of high bytes of x and y, more efficient right
21161           shift.
21162         * src/SDCCpeeph.c:
21163           Better immdInRange, patch by Ben Shi.
21164         * src/stm8/peeph.def:
21165           Peepholes to optimize stack adjustment.
21167 2014-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
21169         * support/scripts/pic16fam-h-gen.pl: updated
21171 2014-04-20 Philipp Klaus Krause <pkk AT spth.de>
21173         * src/stm8/gen.c,
21174           src/stm8/ralloc2.cc:
21175           Improve bitwise and, improve choice of shift location.
21177 2014-04-20 Molnar Karoly <molnarkaroly AT users.sf.net>
21179         * device/non-free/include/pic14/pic16fam.h:
21180           Updated and moved here: device/include/pic14/pic16fam.h
21182 2014-04-20 Philipp Klaus Krause <pkk AT spth.de>
21184         * src/SDCCpeeph.c,
21185           src/stm8/peeph.def:
21186           Applied a variant of patch #237 by Ben Shi, implementing RFE #400.
21187         * src/stm8/gen.c:
21188           Use mov for POINTER_SET where it makes sense.
21190 2014-04-16 Molnar Karoly <molnarkaroly AT users.sf.net>
21192         * support/scripts/cinc2h.pl,
21193           support/scripts/mcs51-disasm.pl,
21194           support/scripts/optimize_pic16devices.pl,
21195           support/scripts/pic14-header-parser.pl,
21196           support/scripts/pic16-header-parser.pl:
21197           Updated the copyright date.
21199 2014-04-16 Molnar Karoly <molnarkaroly AT users.sf.net>
21201         * device/include/pic14/pic14devices.txt,
21202           device/include/pic14/pic16regs.h,
21203           device/non-free/include/pic14/pic12f1571.h,
21204           device/non-free/include/pic14/pic12f1572.h,
21205           device/non-free/include/pic14/pic12f1612.h,
21206           device/non-free/include/pic14/pic16f1613.h,
21207           device/non-free/include/pic14/pic16f1703.h,
21208           device/non-free/include/pic14/pic16f1705.h,
21209           device/non-free/include/pic14/pic16f1707.h,
21210           device/non-free/include/pic14/pic16f1709.h,
21211           device/non-free/include/pic14/pic16f1713.h,
21212           device/non-free/include/pic14/pic16f1716.h,
21213           device/non-free/include/pic14/pic16f1717.h,
21214           device/non-free/include/pic14/pic16f1718.h,
21215           device/non-free/include/pic14/pic16f1719.h,
21216           device/non-free/lib/pic14/libdev/devices.txt,
21217           device/non-free/lib/pic14/libdev/pic12f1571.c,
21218           device/non-free/lib/pic14/libdev/pic12f1572.c,
21219           device/non-free/lib/pic14/libdev/pic12f1612.c,
21220           device/non-free/lib/pic14/libdev/pic16f1613.c,
21221           device/non-free/lib/pic14/libdev/pic16f1703.c,
21222           device/non-free/lib/pic14/libdev/pic16f1705.c,
21223           device/non-free/lib/pic14/libdev/pic16f1707.c,
21224           device/non-free/lib/pic14/libdev/pic16f1709.c,
21225           device/non-free/lib/pic14/libdev/pic16f1713.c,
21226           device/non-free/lib/pic14/libdev/pic16f1716.c,
21227           device/non-free/lib/pic14/libdev/pic16f1717.c,
21228           device/non-free/lib/pic14/libdev/pic16f1718.c,
21229           device/non-free/lib/pic14/libdev/pic16f1719.c,
21230           doc/sdccman.lyx:
21231           New devices.
21233 2014-04-13 Philipp Klaus Krause <pkk AT spth.de>
21235         * src/stm8/gen.c:
21236           Fix for 32-bit host systems (bug #2267).
21238 2014-04-12 Philipp Klaus Krause <pkk AT spth.de>
21240         * device/lib/*/Makefile.in,
21241           device/lib/*/*.s,
21242           src/z80/main.c:
21243           Do not mangle support function names. Implements RFE #405.
21244         * src/stm8/gen.c:
21245           More efficient comparisons, a modified version of patch #232 by Ben Shi.
21246         * sdas/asstm8/stm8mch.c:
21247           Fix bit handling instructions, patch #239 by Pascal S.
21249 2014-04-11 Maarten Brock <sourceforge.brock AT dse.nl>
21251         * Small Device C Compiler 3.4.0 released
21252         * .version, doc/sdccman.lyx: changed sdcc version to 3.4.1
21254 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21256         * device/lib/pic16/debug/Makefile.in: regenerated
21258 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21260         * Makefile.common.in,
21261         * Makefile.in: manual edit
21263 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21265         * configure
21266         * debugger/mcs51/aclocal.m4
21267         * debugger/mcs51/configure
21268         * device/lib/pic14/aclocal.m4
21269         * device/lib/pic14/configure
21270         * device/lib/pic14/depcomp
21271         * device/lib/pic14/libm/Makefile.in
21272         * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in
21273         * device/lib/pic14/libsdcc/enhanced/Makefile.in
21274         * device/lib/pic14/libsdcc/regular/Makefile.in
21275         * device/lib/pic14/Makefile.in
21276         * device/lib/pic16/aclocal.m4
21277         * device/lib/pic16/configure
21278         * device/lib/pic16/depcomp
21279         * device/lib/pic16/install-sh
21280         * device/lib/pic16/libc/Makefile.in
21281         * device/lib/pic16/libio/Makefile.in
21282         * device/lib/pic16/libm/Makefile.in
21283         * device/lib/pic16/libsdcc/Makefile.in
21284         * device/lib/pic16/Makefile.in
21285         * device/lib/pic16/missing
21286         * device/lib/pic16/startup/Makefile.in
21287         * device/non-free/lib/pic14/configure
21288         * device/non-free/lib/pic16/aclocal.m4
21289         * device/non-free/lib/pic16/configure
21290         * device/non-free/lib/pic16/depcomp
21291         * device/non-free/lib/pic16/install-sh
21292         * device/non-free/lib/pic16/libdev/Makefile.in
21293         * device/non-free/lib/pic16/Makefile.in
21294         * device/non-free/lib/pic16/missing
21295         * sdccconf_in.h
21296         * sim/ucsim/aclocal.m4
21297         * sim/ucsim/configure
21298         * sim/ucsim/ltmain.sh
21299         * support/cpp/configure
21300         * support/packihx/configure: regenerated
21302 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21304         * configure.in,
21305         * Makefile.in: manual edit to support option --disable-non-free
21307 2014-04-01 Maarten Brock <sourceforge.brock AT dse.nl>
21309         * doc/INSTALL.txt,
21310         * support/scripts/sdcc.nsi: added dedication to Borut Razem
21311         * doc/README.txt: added STM8 target support
21313 2014-03-31 Philipp Klaus Krause <pkk AT spth.de>
21315         * Merged sdcc-stm8 branch into trunk.
21317 2014-03-29 Philipp Klaus Krause <pkk AT spth.de>
21319         * src/stm8/peeph.def:
21320           Patch #233 by Pascal S, and further peepholes for improving io access.
21322 2014-03-29 Philipp Klaus Krause <pkk AT spth.de>
21324         * src/stm8/gen.c,
21325           support/regression/tests/patch-235.c:
21326           Fix a bug in long and long long right shift on stm8.
21328 2014-03-28 Philipp Klaus Krause <pkk AT spth.de>
21330         * src/stm8/gen.c:
21331           Improve ifx code generation.
21333 2014-03-28 Philipp Klaus Krause <pkk AT spth.de>
21335         * src/stm8/gen.c: Comment for range error check in aopIsLitVal(),
21336           improve range checks in snprintf() calls,
21337           prepare for refactored version of patch #232.
21339 2014-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
21341         * .version,
21342         * doc/INSTALL.txt,
21343         * doc/sdccman.lyx: version 3.4.0
21345 2014-03-21 Philipp Klaus Krause <pkk AT spth.de>
21347         * src/stm8/gen.c: Applied patch #227 by Ben Shi to fix jumping on float in y
21348           and to speed up jumping on byte in yl.
21349         * device/lib/z80/setjmp.s:
21350           Slightly more efficient longjmp().
21351         * device/lib/stm8/setjmp.s,
21352           support/regression/tests/setjmp.c:
21353           Implement setjmp() / longjmp() for stm8.
21354         * src/z80/ralloc2.cc: Allow use of hl in 16-bit additions with global
21355           variables as long as de or bc is free.
21357 2014-03-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21359         * doc/sdccman.lyx:
21360           Fix example in documentation on named address spaces in ROM.
21362 2014-03-09 Molnar Karoly <molnarkaroly AT users.sf.net>
21364         * device/non-free/include/pic14/pic*.h,
21365           device/non-free/include/pic16/pic18f*.h,
21366           device/non-free/lib/pic14/libdev/pic*.c,
21367           device/non-free/lib/pic16/libdev/pic18f*.c:
21368           Regenerate the DEVICE.[ch] files with the cinc2h.pl program.
21370 2014-03-03 Maarten Brock <sourceforge.brock AT dse.nl>
21372         * src/SDCCpeeph.c (notVolatileVariable): fixed strchr params
21374 2014-03-01 Maarten Brock <sourceforge.brock AT dse.nl>
21376         * src/stm8/gen.c: retry to revert previous two changes
21378 2014-02-28 Maarten Brock <sourceforge.brock AT dse.nl>
21380         * src/stm8/gen.c: reverted previous two changes (not committed)
21381         * .version,
21382         * doc/INSTALL.txt,
21383         * doc/sdccman.lyx: version 3.4.0 rc1
21384         * sdcc.spec: version 3.4.0
21386 2014-02-27 Philipp Klaus Krause <pkk AT spth.de>
21388         * src/stm8/gen.c:
21389           Simplify and improve ifx code generation.
21391 2014-02-27 Philipp Klaus Krause <pkk AT spth.de>
21393         * src/stm8/gen.c: Applied patch #227 by Ben Shi to fix jumping on float in y
21394           and to speed up jumping on byte in yl.
21396 2014-02-23 Philipp Klaus Krause <pkk AT spth.de>
21398         * src/stm8/gen.c: Applied patch #223 by Ben Shi to improve code size for
21399           signed bit-fields on stm8.
21400         * src/stm8/main.c:
21401           Applied patch #225 by Pascal S to enable naked functions for stm8.
21403 2014-02-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21405         * src/stm8/peeph.def: Applied patch #222 by Ben Shi (new peephole to make
21406           shifts slightly more efficient).
21407         * src/stm8/gen.c:
21408           Applied patch #221 by Ben Shi (fix some bugs in shifts).
21410 2014-02-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21412         * src/SDCCicode.c (geniCodeDivision): Fixed bug 2254
21414 2014-02-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21416         * src/stm8/gen.c:
21417           Fix condition for shifting stack operands in a.
21419 2014-02-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21421         * src/stm8/gen.c:
21422           Handle signed and unsigned 8-bit operands the same in destructive ifx and.
21424 2014-02-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21426         * support/regression/tests/bug-2253.c: reduce array size for
21427           ports that do not support large local variables
21429 2014-02-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21431         * src/stm8/gen.c,
21432           support/regression/tests/bug-2253.c:
21433           Fix and improve division and multiplication, includes fix for #2253.
21435 2014-02-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21437         * src/stm8/gen.c,
21438           support/regression/tests/bug-2252.c:
21439           Fix bug #2252.
21440         * src/SDCCpeeph.c:
21441           Fix notVolatile() for stm8.
21442         * src/stm8/peeph.def:
21443           Add some peephole rules to eliminate unnecessary loads.
21445 2014-02-09 Philipp Klaus Krause <pkk AT spth.de>
21447         * src/stm8/gen.c
21448           Slightly more efficient complement.
21450 2014-02-08 Philipp Klaus Krause <pkk AT spth.de>
21452         * src/stm8/gen.c: Fix jump on condition that is stored in register y in
21453           reverse order (bug #2251).
21455 2014-02-02 Philipp Klaus Krause <pkk AT spth.de>
21457         * sdas/asstm8/stm8mch.c,
21458           src/stm8/gen.c:
21459           Apply patch #215 by Ben Shi to fix bug #2227.
21460         * src/port.h,
21461           sdas/asxxsrc/asmain.c:
21462           Fix >= comparisons.
21464 2014-01-12 Philipp Klaus Krause <pkk AT spth.de>
21466         * sdas/asstm8/stm8pst.c,
21467           src/stm8/main.c:
21468           Enable .optsdcc for stm8.
21470 2014-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
21472         * src/SDCCast.c (ast_print): fixed GOTO, warn for undecorated
21474 2014-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
21476         * device/lib/_gptrget.c,
21477         * device/lib/_gptrput.c,
21478         * src/ds390/main.c,
21479         * src/ds390/gen.c: renamed _ap to acc1, fixed bug 1896
21480         * support/regression/tests/gcc-torture-execute-loop-5.c: enabled for ds390
21481         * sdas/asxxsrc/aslex.c (nxtline): fixed bug 2166 and 2206
21482         * src/SDCClospre.hpp,
21483         * src/SDCCralloc.hpp: fixed MSVC warnings
21485 2014-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
21487         * doc/sdccman.lyx: applied patch 62
21488         * sdas/linksrc/lkarea.c (lnksect): fixed bug 1805
21489         * sdas/linksrc/lkmain.c (Areas51): use only for mcs51
21490         * src/hc08/main.c: mark XINIT as (CODE)
21492 2013-12-30 Philipp Klaus Krause <pkk AT spth.de>
21494         * src/hc08/ralloc2.cc,
21495           src/stm8/gen.c,
21496           src/stm8/ralloc2.cc:
21497           Remove some GETHBIT leftovers.
21499 2013-12-30 Maarten Brock <sourceforge.brock AT dse.nl>
21501         * src/mcs51/gen.c (genGetHbit): removed
21502         * src/mcs51/main.c (hasExtBitOp): removed GETHBIT
21503         * src/SDCCast.c (optimizeGetByte, optimizeGetWord): do not use GETYBTE or
21504           GETWORD for byte or word sources
21505           (createFunction): allow xstack==NULL
21506         * src/SDCCmem.c (redoStackOffsets): allow xstack==NULL
21507         * src/SDCCerr.c (W_CONST_TOO_LARGE): fixed format bug
21508         * src/SDCCerr.h: cosmetics
21509         * src/SDCCsymt.c (mergeSpec, checkSClass): fixed bug 2068, loss of register
21510           storage class
21512 2013-12-29 Philipp Klaus Krause <pkk AT spth.de>
21514         * device/lib/is*.c
21515           Revert and redo commit #8912.
21517 2013-12-27 Maarten Brock <sourceforge.brock AT dse.nl>
21519         * src/SDCCglue.c (glue): added .optsdcc --all-callee-saves, fixed bug 2090
21520         * src/SDCCmain.c (preProcess): added -D__SDCC_ALL_CALLEE_SAVES
21521         * src/SDCCglobl.h: removed xa51 MODEL_PAGE0
21522         * doc/sdccman.lyx: documented predefined macro
21524 2013-12-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21526         * support/scripts/sdcc.nsi: copy either sjlj or seh support dll
21528 2013-12-25 Maarten Brock <sourceforge.brock AT dse.nl>
21530         * device/lib/abs.c,         device/lib/acosf.c,         device/lib/asincosf.c,
21531         * device/lib/asinf.c,       device/lib/atan2f.c,        device/lib/atanf.c,
21532         * device/lib/ceilf.c,       device/lib/cosf.c,          device/lib/coshf.c,
21533         * device/lib/cotf.c,        device/lib/expf.c,          device/lib/fabsf.c,
21534         * device/lib/floorf.c,      device/lib/frexpf.c,        device/lib/labs.c,
21535         * device/lib/ldexpf.c,      device/lib/log10f.c,        device/lib/logf.c,
21536         * device/lib/modff.c,       device/lib/powf.c,          device/lib/rand.c,
21537         * device/lib/sincosf.c,     device/lib/sincoshf.c,      device/lib/sinf.c,
21538         * device/lib/sinhf.c,       device/lib/sqrtf.c,         device/lib/tancotf.c,
21539         * device/lib/tanf.c,        device/lib/tanhf.c,
21540         * device/include/math.h: removed const from arguments
21542         * device/lib/pic14/libm/acosf.c,    device/lib/pic14/libm/asincosf.c,
21543         * device/lib/pic14/libm/asinf.c,    device/lib/pic14/libm/atan2f.c,
21544         * device/lib/pic14/libm/atanf.c,    device/lib/pic14/libm/ceilf.c,
21545         * device/lib/pic14/libm/cosf.c,     device/lib/pic14/libm/coshf.c,
21546         * device/lib/pic14/libm/cotf.c,     device/lib/pic14/libm/errno.c,
21547         * device/lib/pic14/libm/expf.c,     device/lib/pic14/libm/fabsf.c,
21548         * device/lib/pic14/libm/floorf.c,   device/lib/pic14/libm/frexpf.c,
21549         * device/lib/pic14/libm/ldexpf.c,   device/lib/pic14/libm/log10f.c,
21550         * device/lib/pic14/libm/logf.c,     device/lib/pic14/libm/modff.c,
21551         * device/lib/pic14/libm/powf.c,     device/lib/pic14/libm/sincosf.c,
21552         * device/lib/pic14/libm/sincoshf.c, device/lib/pic14/libm/sinf.c,
21553         * device/lib/pic14/libm/sinhf.c,    device/lib/pic14/libm/sqrtf.c,
21554         * device/lib/pic14/libm/tancotf.c,  device/lib/pic14/libm/tanf.c,
21555         * device/lib/pic14/libm/tanhf.c,
21556         * device/include/pic14/math.h: removed const from arguments
21558         * device/lib/pic16/libm/acosf.c,    device/lib/pic16/libm/asincosf.c,
21559         * device/lib/pic16/libm/asinf.c,    device/lib/pic16/libm/atan2f.c,
21560         * device/lib/pic16/libm/atanf.c,    device/lib/pic16/libm/ceilf.c,
21561         * device/lib/pic16/libm/cosf.c,     device/lib/pic16/libm/coshf.c,
21562         * device/lib/pic16/libm/cotf.c,     device/lib/pic16/libm/errno.c,
21563         * device/lib/pic16/libm/expf.c,     device/lib/pic16/libm/fabsf.c,
21564         * device/lib/pic16/libm/floorf.c,   device/lib/pic16/libm/frexpf.c,
21565         * device/lib/pic16/libm/ldexpf.c,   device/lib/pic16/libm/log10f.c,
21566         * device/lib/pic16/libm/logf.c,     device/lib/pic16/libm/modff.c,
21567         * device/lib/pic16/libm/powf.c,     device/lib/pic16/libm/sincosf.c,
21568         * device/lib/pic16/libm/sincoshf.c, device/lib/pic16/libm/sinf.c,
21569         * device/lib/pic16/libm/sinhf.c,    device/lib/pic16/libm/sqrtf.c,
21570         * device/lib/pic16/libm/tancotf.c,  device/lib/pic16/libm/tanf.c,
21571         * device/lib/pic16/libm/tanhf.c,
21572         * device/include/pic16/math.h: removed const from arguments
21574         * device/lib/_memchr.c,     device/lib/_memcmp.c,       device/lib/_memcpy.c,
21575         * device/lib/_memmove.c,    device/lib/_memset.c,       device/lib/_strcat.c,
21576         * device/lib/_strchr.c,     device/lib/_strcmp.c,       device/lib/_strcpy.c,
21577         * device/lib/_strcspn.c,    device/lib/_strlen.c,       device/lib/_strncat.c,
21578         * device/lib/_strncmp.c,    device/lib/_strncpy.c,      device/lib/_strpbrk.c,
21579         * device/lib/_strrchr.c,    device/lib/_strspn.c,       device/lib/_strstr.c,
21580         * device/lib/_strtok.c,
21581         * device/include/string.h: added const for const pointer arguments
21583         * device/lib/pic16/libc/string/memchr.c,
21584         * device/lib/pic16/libc/string/memcmp.c,
21585         * device/lib/pic16/libc/string/memcpy.c,
21586         * device/lib/pic16/libc/string/memmove.c,
21587         * device/include/pic16/string.h: added const for const pointer arguments
21589         * device/lib/_setjmp.c: small optimization
21590         * sdas/linksrc/lkarea.c (lnksect2): fixed s_XISEG calculation
21591         * sdas/linksrc/lkmem.c: cosmetics
21592         * src/SDCCmain.c: place xstack_loc at same address as xdata_loc by default
21593         * src/SDCCsymt.c (printFromToType): print in one go for make -j output,
21594           (compareFuncType): fixed bug 2134
21595         * sdas/astlcs90/t90mch.c (machine, 16bit indirect op): fixed warning
21596         * support/cpp/libiberty/md5.c: synced with support/sdbinutils/libiberty/md5.c
21598 2013-12-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21600         * device/lib/tlcs90/Makefile.in: fix assembler level .include
21601           when not building within source tree
21602         * sim/ucsim/utils.cc: properly enable vasprintf() declaration
21604 2013-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
21606         * src/SDCCval.c (valForStructElem): fixed bug 2122
21608 2013-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
21610         * src/SDCCmain.c (setDefaultOptions): start xdata at 1 by default, fixes bug
21611           2173
21612         * src/SDCCast.c (decorateType, RETURN): error on returning void expression
21613           when not using sdcc extensions
21614         * src/stm8/gen.c (genReturn): accept returning void, fixes bug 2158
21615         * support/regression/tests/gcc-torture-execute-20000314-3.c: reintroduced
21617 2013-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
21619         * src/mcs51/gen.c (aopGet): fixed for remat non-generic pointers,
21620           (genPointerGet, genPointerSet): remat all cast remat pointers
21621         * src/mcs51/ralloc.c (packRegisters): remat all cast of remat ptr
21622         * src/SDCCast.c (decorateType, CAST): fix bug 2133, array==pointer
21623         * src/SDCCmain.c: cosmetics
21624         * src/SDCCsymt.h: reordered DECLARATOR_TYPE
21625         * support/regression/tests/bug-2133.c: new, added
21626         * support/regression/tests/gcc-torture-execute-20021010-2.c,
21627         * support/regression/tests/gcc-torture-execute-20041112-1.c,
21628         * support/regression/tests/gcc-torture-execute-960116-1.c,
21629         * support/regression/tests/staticinit.c: fixed warnings
21631 2013-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
21633         * src/SDCCerr.c,
21634         * src/SDCCerr.h: added W_UNRECOGNIZED_ASM
21635         * src/SDCCglobl.h,
21636         * src/z80/gen.c: cosmetics
21637         * src/SDCCpeeph.c (StrStr): added
21638           (pcDistance): largest instruction on any target is 4 bytes?
21639         * src/z80/peep.c (ISINST): use STRNCASECMP,
21640           (argCont): use StrStr,
21641           (z80instructionSize): use STRNCASECMP, W_UNRECOGNIZED_ASM,
21642            fixed some bugs, return 999 when unrecognized
21643         * support/regression/tests/bug-2222.c: removed memset and un
21644         * support/regression/tests/gcc-torture-execute-20040313-1.c: enabled for all
21645           targets with reduced footprint
21647 2013-12-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21649         * src/stm8/gen.c:
21650           Document subw uses that can be enabled once bug #2227 is fixed.
21651         * device/include/ctype.h:
21652           Provide macros that use inline functions to improve efficiency of some
21653           common functions.
21655 2013-12-18 Philipp Klaus Krause <pkk AT spth.de>
21657         * src/stm8/gen.c,
21658           support/regression/tests/float_single.c:
21659           Fix float comparison, bug #2170.
21660         * support/regression/tests/gcc-torture-execute-20050826-1.c:
21661           Use smaller array for stm8.
21663 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21665         * support/regression/tests/gcc-torture-execute-20040313-1.c:
21666           Enabled test.
21668 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21670         * device/include/ctype.h,
21671           device/include/stdio.h,
21672           device/lib/incl.mk,
21673           device/lib/_is*.c,
21674           device/lib/is*.c,
21675           device/lib/tolower.c,
21676           device/lib/toupper.c,
21677           support/regression/tests/ctype.c:
21678           Fix ctype.h and anything in there.
21680 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21682         * device/lib/z80/crt0.s,
21683           device/lib/z180/crt0.s,
21684           device/lib/r3ka/crt0.s,
21685           device/lib/r2k/crt0.s,
21686           device/lib/gbz80/crt0.s:
21687           Fix bug #2153.
21689 2013-12-18 Maarten Brock <sourceforge.brock AT dse.nl>
21691         * src/SDCCast.c (stringToSymbol, createIf): fixed bug 2163
21692         * support/regression/tests/gcc-torture-execute-string-opt-5.c: enabled for
21693           mcs51 with smaller buffer
21694         * support/regression/tests/bug-2163.c: new, added
21696 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21698         * device/lib/tlcs90/t90regs.s,
21699           device/lib/tlcs90/crt0.s:
21700           crt0 for tlcs90.
21702 2013-12-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21704         * src/stm8/peep.c:
21705           Fix bug #2182.
21706         * src/SDCCralloc.hpp:
21707           Enable warning for non-connected live ranges for hc08 and s08.
21709 2013-12-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21711         * src/z80/gen.c: Fix cost for built-in strncpy().
21713 2013-12-16 Maarten Brock <sourceforge.brock AT dse.nl>
21715         * src/SDCCglue.c (glue): fixed bug 2212
21716         * src/z80/gen.c (genBuiltInStrncpy): fixed bug 2231
21717         * support/regression/tests/bug-2231.c: new, added
21719 2013-12-15 Maarten Brock <sourceforge.brock AT dse.nl>
21721         * src/SDCCicode.c (newiTempOperand): fixed bug 2235
21722         * support/regression/tests/bug-2235.c: new, added
21723         * src/SDCCptropt.c (ptrPseudoSymSafe): fixed bug 2216
21724         * support/regression/tests/bug-2216.c: new, added
21726 2013-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
21728         * .version, doc/sdccman.lyx: bumped version to 3.3.2
21729         * src/SDCCast.c (decorateType, NOT): fixed bug 2232
21730         * src/SDCCmain.c (printVersionInfo): mention GPL
21731         * support/regression/tests/bool.c: fixed warning
21733 2013-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
21735         * src/mcs51/gen.c (outBitC, genIfx): fixed both parts of bug 2233
21736         * support/regression/tests/bool.c: added test
21738 2013-12-02 Philipp Klaus Krause <pkk AT spth.de>
21740         * src/z80/ralloc2.cc:
21741           Fix handling of IY during accesses to global variables.
21743 2013-11-23 Philipp Klaus Krause <pkk AT spth.de>
21745         * src/SDCClospre.hpp:
21746           Fix use flag initialization in lospre edge splitting.
21747         * src/SDCCglue.c:
21748           Add comment on bug #2089 that allocates strings twice.
21750 2013-11-16 Maarten Brock <sourceforge.brock AT dse.nl>
21752         * device/lib/_divulong.c: cosmetic, use y0
21753         * device/lib/_fsadd.c: cosmetic
21754         * device/lib/clean.mk: clean pic14 and tlcs90
21755         * device/lib/ds390/tinibios.c (_sdcc_external_startup): do not change stack
21756         * device/lib/Makefile.in: use TAB's
21757         * device/non-free/lib/clean.mk: clean pic14
21758         * device/non-free/lib/pic14/Makefile.in,
21759         * sdas/as6808/clean.mk,
21760         * sdas/as8051/clean.mk,
21761         * sdas/as8xcxxx/clean.mk,
21762         * sdas/asgb/clean.mk,
21763         * sdas/asrab/clean.mk,
21764         * sdas/asstm8/clean.mk,
21765         * sdas/astlcs90/clean.mk,
21766         * sdas/asz80/clean.mk,
21767         * support/sdbinutils/Makefile.in: prevent warnings
21768         * sim/ucsim/cmd.src/clean.mk: clean cmdpars.* & cmdlex.*
21769         * src/clean.mk: clean pic14 and stm8
21770         * src/common.h: cosmetic
21771         * src/ds390/main.c (_ds390_genAssemblerPreamble): added dpl, dph, acon,
21772           (_ds390_genIVT): change addressing mode and stack at __reset_vect,
21773           (_ds390_genInitStartup): no need for 10bit stack init here
21774         * src/port.h: added rtrackUpdate
21775         * src/SDCCgen.c (emit_raw): try to track constant register contents
21776         * src/ds390/main.c,
21777         * src/hc08/main.c,
21778         * src/pic14/main.c,
21779         * src/pic16/main.c,
21780         * src/stm8/main.c,
21781         * src/z80/main.c (*_port): no register tracking
21782         * src/mcs51/rtrack.h: renamed rtrackUpdate to _mcs51_rtrackUpdate
21783         * src/mcs51/rtrack.c: enabled by default,
21784           implemented suggested removals
21785         * src/mcs51/main.c: use _mcs51_rtrackUpdate
21786         * src/mcs51/gen.c (genSend, genPagedPointerGet): fixed bugs obscured by
21787           peephole rules,
21788           (genLeftShiftLiteral): disabled assert to fix bug 2224
21789         * src/z80/z80.vcxproj,
21790         * src/z80/z80.vcxproj.filters: added peeph-tlcs90.def
21791         * support/regression/Makefile.in: clean host/spec.mk
21792         * support/regression/tests/bug-2222.c: enabled test for mcs51
21794 2013-11-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21796         * support/regression/tests/bug-2222.c:
21797           Do not try to execute code that dereferences 0 pointer.
21799 2013-11-11 Raphael Neider <rneider AT web.de>
21801         * src/pic14/main.c,
21802           src/pic14/main.h,
21803           src/pic16/device.h,
21804           src/pic16/main.c:
21805           add warning if --use-non-free is *not* given while compiling
21806           for PIC14 or PIC16 devices; the warning can be disabled by
21807           either passing --use-non-free (usually recommended) or
21808           by passing --no-warn-non-free (usually not recommended)
21810         * device/lib/pic14/Makefile.common,
21811           device/lib/pic16/Makefile.common,
21812           device/non-free/lib/pic14/Makefile.common.in,
21813           device/non-free/lib/pic16/Makefile.common,
21814           support/regression/ports/pic14/spec.mk,
21815           support/regression/ports/pic16/spec.mk:
21816           pass --no-warn-non-free to avoid new warnings
21818         * device/lib/pic14/Makefile.in,
21819           device/lib/pic14/aclocal.m4,
21820           device/lib/pic14/configure,
21821           device/lib/pic14/libm/Makefile.in,
21822           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
21823           device/lib/pic14/libsdcc/enhanced/Makefile.in,
21824           device/lib/pic14/libsdcc/regular/Makefile.in,
21825           device/lib/pic16/Makefile.in,
21826           device/lib/pic16/aclocal.m4,
21827           device/lib/pic16/configure,
21828           device/lib/pic16/debug/Makefile.in,
21829           device/lib/pic16/libc/Makefile.in,
21830           device/lib/pic16/libio/Makefile.in,
21831           device/lib/pic16/libm/Makefile.in,
21832           device/lib/pic16/libsdcc/Makefile.in,
21833           device/lib/pic16/startup/Makefile.in,
21834           device/non-free/lib/pic16/Makefile.in,
21835           device/non-free/lib/pic16/aclocal.m4,
21836           device/non-free/lib/pic16/configure,
21837           device/non-free/lib/pic16/libdev/Makefile.in:
21838           regenerated
21840 2013-09-30 Philipp Klaus Krause <pkk AT spth.de>
21842         * device/lib/tlcs90/stubs.s,
21843           device/lib/tlcs90/Makefile.in:
21844           TLCS-90 library.
21846 2013-09-29 Philipp Klaus Krause <pkk AT spth.de>
21848         * device/include/asm/tlcs90,
21849           device/include/math.h,
21850           device/include/sdcc-lib.h,
21851           device/include/stdarg.h,
21852           device/lib/tlcs90/Makefile.in,
21853           device/lib/tlcs90/divmixed.s,
21854           device/lib/tlcs90/modmixed.s,
21855           src/z80/gen.c:
21856           TLCS-90 library.
21858 2013-09-28 Philipp Klaus Krause <pkk AT spth.de>
21860         * src/z80/peeph-gbz80.def:
21861           Remove broken peephole rule.
21863 2013-09-27 Philipp Klaus Krause <pkk AT spth.de>
21865         * sdas/astlcs90/t90mch.c:
21866           Fix handling of 8-bit immediates, patch by Rainer Keuchel.
21867         * src/stm8/peeph.def:
21868           More flexible unreachable jump elimination.
21869         * configure.in,
21870           device/lib/Makefile.in,
21871           device/lib/tlcs90,
21872           src/z80/main.c:
21873           Library for TLCS-90.
21874         * src/stm8/gen.c:
21875           Fix comparisons with operand in y, fix offset in wide pointer read when
21876           optimizing for code size, fix and improve stack adjustment.
21877         * src/z80/peeph-tlcs90.def,
21878           src/z80/main.c,
21879           src/z80/peep.c:
21880           Peephole optimization for TLCS-90.
21882 2013-09-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21884         * src/SDCCicode.c (operandFromSymbol): don't allocate register
21885           equivalents for symbols that can't fit in HC08/S08 registers.
21886         * src/SDCClrange.c (visit): remove TARGET_HC08_LIKE exception.
21888 2013-09-26 Philipp Klaus Krause <pkk AT spth.de>
21890         * src/stm8/main.c,
21891           src/stm8/peep.c:
21892           notUsedFrom() for stm8.
21893         * src/z80/peeph-r2k.def,
21894           src/z80/peeph-z80.def,
21895           support/regression/tests/bug-2228.c:
21896           Fix bug #2228.
21897         * sim/ucsim/stm8.src/inst.cc:
21898           Fix type name.
21899         * support/regression/tests/bug-2222.c:
21900           Fix use of uninitialized memory.
21902 2013-09-25 Philipp Klaus Krause <pkk AT spth.de>
21904         * src/z80/gen.c:
21905           Improve handling of global variables in addition (and prepare for
21906           subtraction).
21907         * sim/ucsim/stm8.src/inst.cc:
21908           Code cleanup.
21910 2013-09-24 Maarten Brock <sourceforge.brock AT dse.nl>
21912         * device/include/mcs51/reg51.h: fall back to 8052.h
21913         * doc/sdccman.lyx: pragma exclude bits
21914         * src/mcs51/gen.c (genFunction, genEndFunction): applied patch 193 for
21915           pragma exclude bits
21916         * src/port.h: maxextalign warning fixed
21917         * src/SDCCglobl.h: define true and false for MSVC
21918         * src/stm8/gen.c (genCmp): fixed warning
21919         * src/stm8/ralloc2.cc (Ainst_ok): fixed warning
21921 2013-09-24 Philipp Klaus Krause <pkk AT spth.de>
21923         * src/SDCCralloc.hpp:
21924           Enable warning for non-connected live-ranges.
21926 2013-09-24 Philipp Klaus Krause <pkk AT spth.de>
21928         * src/z80/gen.c,
21929           src/stm8/gen.c,
21930           support/regression/tests/bug-2222.c:
21931           Fix bugs #2222, 2223.
21933 2013-09-24 Philipp Klaus Krause <pkk AT spth.de>
21935         * src/SDCCralloc.hpp,
21936           src/SDCClrange.c:
21937           Check more carefully for undead hiding among the living variables.
21939 2013-09-23 Philipp Klaus Krause <pkk AT spth.de>
21941         * sdas/astlcs90,
21942           Makefile.common.in,
21943           Makefile.in,
21944           configure.in:
21945           Integrate Rainer Keuchel's TLCS-90 assembler.
21947 2013-09-23 Philipp Klaus Krause <pkk AT spth.de>
21949         * src/stm8/peeph.def:
21950           Remove redundant jumps.
21952 2013-09-22 Borut Razem <borut.razem AT gmail.com>
21954         * device/non-free/lib/pic14/configure.in,
21955           device/non-free/lib/pic14/configure,
21956           device/non-free/lib/pic16/supported-devices.ac,
21957           device/non-free/lib/pic16/configure,
21958           device/lib/pic16/configure: fixed bash dependencies
21960 2013-09-21 Philipp Klaus Krause <pkk AT spth.de>
21962         * src/stm8/gen.c:
21963           More efficient stack adjustment when optimizing for code size.
21965 2013-09-21 Maarten Brock <sourceforge.brock AT dse.nl>
21967         * src/mcs51/gen.c (genEndFunction): applied patch 207 to fix bug 2221,
21968           Thanks Alex Burton!
21969         * support/regression/tests/bug-2221.c: new, added
21971 2013-09-20 Philipp Klaus Krause <pkk AT spth.de>
21973         * src/stm8/gen.c:
21974           Refactor testing for literal bytes, more efficient cast from unsigned.
21976 2013-09-20 Borut Razem <borut.razem AT gmail.com>
21978         * device/non-free/lib/pic14/configure.in,
21979           device/non-free/lib/pic14/configure,
21980           device/non-free/lib/pic16/supported-devices.ac,
21981           device/non-free/lib/pic16/configure,
21982           device/lib/pic16/configure:
21983           fixed bug #2220 Detection of 16 bit pic devices supported by gputils
21984           is not working correctly on Cygwin environment
21986 2013-09-19 Molnar Karoly <molnarkaroly AT users.sf.net>
21988         * device/include/pic14/pic14devices.txt,
21989           device/include/pic14/pic16regs.h,
21990           device/non-free/include/pic14/pic16f1704.h,
21991           device/non-free/include/pic14/pic16f1708.h,
21992           device/non-free/include/pic14/pic16lf1704.h,
21993           device/non-free/include/pic14/pic16lf1708.h,
21994           device/non-free/lib/pic14/libdev/devices.txt,
21995           device/non-free/lib/pic14/libdev/pic16f1704.c,
21996           device/non-free/lib/pic14/libdev/pic16f1708.c,
21997           device/non-free/lib/pic14/libdev/pic16lf1704.c,
21998           device/non-free/lib/pic14/libdev/pic16lf1708.c,
21999           doc/sdccman.lyx:
22000           New devices.
22002 2013-09-19 Philipp Klaus Krause <pkk AT spth.de>
22004         * src/z80/gen.c:
22005           Enable some Rabbit optimizations for the TLCS-90.
22006         * src/SDCCtree_dec.hpp,
22007           src/SDCCralloc.hpp,
22008           src/SDCCnaddr.hpp,
22009           src/SDCClospre.hpp:
22010           Reduce memory footprint in lospre and named address spaces, prepare for
22011           reducing memory footprint in register allocation.
22013 2013-09-17 Philipp Klaus Krause <pkk AT spth.de>
22015         * src/stm8/gen.c:
22016           More efficient zeroing of longs.
22017         * src/z80/gen.c:
22018           Remove C99 variable declaration.
22020 2013-09-17 Philipp Klaus Krause <pkk AT spth.de>
22022         * src/stm8/ralloc.c:
22023           Do not allocate spill locations for optimized-out jump conditions.
22025 2013-09-16 Philipp Klaus Krause <pkk AT spth.de>
22027         * src/stm8/gen.c:
22028           More efficient casts to long, fix handling of register deadness in shifts.
22030 2013-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22032         * sim/ucsim/stm8.src/stm8.cc: fix simulation of LDW Y,(n,SP)
22033           to properly update N & Z flag bits
22035 2013-09-14 Philipp Klaus Krause <pkk AT spth.de>
22037         * src/stm8/gen.c,
22038           sim/ucsim/stm8.src/inst.cc:
22039           More efficient conditional jumps.
22041 2013-09-13 Philipp Klaus Krause <pkk AT spth.de>
22043         * src/stm8/gen.c:
22044           Assume spilt variables are on non-extended stack during dry runs.
22046 2013-09-12 Philipp Klaus Krause <pkk AT spth.de>
22048         * Makefile.common.in,
22049           configure.in,
22050           src/z80/gen.c:
22051           Preparations for TLCS-90 port.
22052         * src/stm8/peeph.def:
22053           Peepholes to work around lack of RFE #357.
22055 2013-09-12 Philipp Klaus Krause <pkk AT spth.de>
22057         * src/z80/gen.c:
22058           Negative stack adjustment efficiency, restore stack pointer from frame pointer.
22059         * src/stm8/peep.c:
22060           Provide our own isblank()-substitute for compilers that lack C99 support.
22062 2013-09-11 Philipp Klaus Krause <pkk AT spth.de>
22064         * src/z80/gen.c,
22065           src/z80/mappings.i,
22066           src/z80/peep.c:
22067           Stack adjustment code refactoring.
22069 2013-09-11 Philipp Klaus Krause <pkk AT spth.de>
22071         * src/SDCCmain.c,
22072           src/port.h,
22073           src/z80/main.c,
22074           src/z80/peep.c,
22075           src/z80/z80.h,
22076           src/z80/gen.c,
22077           src/z80/peep.c:
22078           Preparations for TLCS-90 port.
22080 2013-09-09 Philipp Klaus Krause <pkk AT spth.de>
22082         * support/regression/tests/addrspace.c:
22083           Disable test for host regression tests.
22084         * src/stm8/gen.c:
22085           Make it compile on compilers that lack C99 support.
22087 2013-09-08 Philipp Klaus Krause <pkk AT spth.de>
22089         * src/SDCC.y,
22090           src/SDCCmem.c,
22091           src/SDCCglue.c,
22092           doc/sdccman.lyx,
22093           support/regression/tests/addrspace.c:
22094           Support for const named address spaces (for variables in ROM).
22095         * src/z80/peeph-z80.def,
22096           src/z80/peeph-r2k.def:
22097           Check for volatile in peephole 1.
22099 2013-09-05 Philipp Klaus Krause <pkk AT spth.de>
22101         * src/stm8/gen.c:
22102           Fix bug #2211, fix name of codegen struct (_G vs. G).
22104 2013-09-04 Philipp Klaus Krause <pkk AT spth.de>
22106         * support/regression/tests/bitvars.c,
22107           support/regression/tests/bool.c,
22108           support/regression/tests/bug1057979.c,
22109           support/regression/tests/bug1738367.c,
22110           support/regression/tests/bug2084206.c,
22111           support/regression/tests/bug2935162.c,
22112           support/regression/tests/bug3183823.c,
22113           support/regression/tests/bug3290691.c,
22114           support/regression/tests/bug3467508.c,
22115           support/regression/tests/bug3537338.c,
22116           support/regression/tests/float_single.c,
22117           support/regression/tests/gcc-torture-execute-20000412-2.c,
22118           support/regression/tests/gcc-torture-execute-20030714-1.c,
22119           support/regression/tests/gcc-torture-execute-990524-1.c,
22120           support/regression/tests/gcc-torture-execute-pr15296.c,
22121           support/regression/tests/gcc-torture-execute-string-opt-5.c,
22122           support/regression/tests/genptrs.c,
22123           support/regression/tests/muldiv.c,
22124           support/regression/tests/onebyte.c,
22125           support/regression/tests/snprintf.c:
22126           Disable tests for the least-broken one of the broken ports.
22128 2013-09-04 Philipp Klaus Krause <pkk AT spth.de>
22130         * src/stm8/gen.c,
22131           support/regression/tests/gcc-torture-execute-20020219-1.c,
22132           support/regression/tests/gcc-torture-execute-20050104-1.c,
22133           support/regression/tests/gcc-torture-execute-920810-1.c,
22134           support/regression/tests/gcc-torture-execute-950612-1.c,
22135           support/regression/tests/gcc-torture-execute-pr42269-2.c,
22136           support/regression/tests/gcc-torture-execute-950915-1.c,
22137           support/regression/tests/gcc-torture-execute-20080529-1.c:
22138           Fix returning of long long.
22140 2013-09-04 Philipp Klaus Krause <pkk AT spth.de>
22142         * src/stm8/gen.c:
22143           Partial workaround for linker bug #2198.
22144         * support/regression/tests/bug-136564.c,
22145           support/regression/tests/bug-927659.c,
22146           support/regression/tests/bug1057979.c,
22147           support/regression/tests/bug3521024.c,
22148           support/regression/tests/funptrs.c,
22149           support/regression/tests/gcc-torture-execute-20021120-3.c,
22150           support/regression/tests/gcc-torture-execute-20030626-1.c,
22151           support/regression/tests/gcc-torture-execute-20070201-1.c,
22152           support/regression/tests/gcc-torture-execute-921208-1.c,
22153           support/regression/tests/gcc-torture-execute-930513-1.c,
22154           support/regression/tests/gcc-torture-execute-960327-1.c,
22155           support/regression/tests/gcc-torture-execute-980707-1.c,
22156           support/regression/tests/snprintf.c,
22157           support/regression/tests/gcc-torture-execute-20021118-2.c,
22158           support/regression/tests/gcc-torture-execute-20030626-2.c:
22159           Enable tests that pass due to workaround for bug #2198.
22160         * support/regression/tests/gcc-torture-execute-20030916-1.c:
22161           Enable passing test.
22163 2013-09-03 Philipp Klaus Krause <pkk AT spth.de>
22165         * src/stm8/gen.c:
22166           Implement assertion for linker bug #2198 so it is no longer silent to the
22167           user.
22168         * support/regression/tests/gcc-torture-execute-20030714-1.c:
22169           Disable failing test.
22171 2013-09-02 Philipp Klaus Krause <pkk AT spth.de>
22173         * src/stm8/gen.c:
22174           Pointer indirect long addressing mode.
22176 2013-09-02 Philipp Klaus Krause <pkk AT spth.de>
22178         * src/z80/ralloc2.cc:
22179           Tuned register allocation heuristic.
22181 2013-09-01 Philipp Klaus Krause <pkk AT spth.de>
22183         * src/stm8/gen.c:
22184           Fix loading of upper parts of large values through frame pointer, bug #2209.
22186 2013-08-30 Philipp Klaus Krause <pkk AT spth.de>
22188         * src/stm8/gen.c:
22189           Slightly more efficient addition and loading through frame pointer.
22191 2013-08-30 Maarten Brock <sourceforge.brock AT dse.nl>
22193         * support/regression/tests/bug-2205.c: new, added
22194         * support/regression/tests/*: set svn properties eol and keywords
22195         * device/lib/clean.mk: add stm8 port to cleaning
22197 2013-08-30 Philipp Klaus Krause <pkk AT spth.de>
22199         * src/z80/ralloc2.cc,
22200           support/regression/tests/bug-2208.c:
22201           Fix bug #2208.
22203 2013-08-29 Philipp Klaus Krause <pkk AT spth.de>
22205         * src/SDCCpeeph.c,
22206           src/ds390/peeph.def,
22207           src/hc08/peeph.def,
22208           src/mcs51/peeph.def,
22209           src/stm8/peeph.def,
22210           src/z80/peeph-gbz80.def,
22211           src/z80/peeph-r2k.def,
22212           src/z80/peeph-z80.def:
22213           Simplified peephole rules.
22215 2013-08-29 Philipp Klaus Krause <pkk AT spth.de>
22217         * src/stm8/peeph.def:
22218           Rules for bit setting.
22219         * src/stm8/peep.c:
22220           Implement more of register use check.
22221         * src/stm8/gen.c:
22222           Fix byte skipping in subtraction.
22224 2013-08-28 Philipp Klaus Krause <pkk AT spth.de>
22226         * src/stm8/gen.c:
22227           Fix generation of temporary labels in dry runs, more efficient shift by
22228           literal, subtraction and addition, partially fix recognition of multibyte
22229           on-stack operands.
22230         * src/stm8/peeph.def:
22231           Eliminate unreachable jumps (which can be generated by other rules).
22232         * src/stm8/ralloc2.cc:
22233           Tune register allocation heuristic.
22235 2013-08-27 Philipp Klaus Krause <pkk AT spth.de>
22237         * src/stm8/gen.c:
22238           Fix handling of A in float negation and equality comparison, more flexible
22239           addition and subtraction.
22240         * support/regression/tests/float_single.c:
22241           Enable tests for asinf(), atanf(), cosf(), sinf(), sinhf().
22243 2013-08-25 Raphael Neider <rneider AT web.de>
22245         * device/include/pic16/pic16devices.txt:
22246           add flag indicating XINST availability per device
22247         * src/pic16/device.c:
22248           parse XINST flag in pic16devices.txt
22249         * src/pic16/device.h:
22250           add field to store XINST availability per device
22251         * src/pic16/glue.c:
22252           emit warning on code breakage when XINST is supported and not
22253           explicitly disabled (#pragma config XINST=OFF).
22254         * src/pic16/main.c:
22255           detect and remember occurrence of #pragma config XINST=OFF
22256         * support/scripts/optimize_pic16devices.pl:
22257           support new XINST flag
22258         * support/scripts/pic16_update_xinst.sh:
22259           update XINST flags is pic16devices.txt from information extracted
22260           out of gputils/libgputils/gpprocessor.c
22262 2013-08-21 Philipp Klaus Krause <pkk AT spth.de>
22264         * src/stm8/gen.c:
22265           Be a little bit more flexible about addition operands - necessary to make
22266           Coremark compile.
22268 2013-08-21 Philipp Klaus Krause <pkk AT spth.de>
22270         * src/stm8/peep.c,
22271           src/stm8/peeph.def:
22272           Eliminate dead popw / pushw pairs.
22274 2013-08-20 Philipp Klaus Krause <pkk AT spth.de>
22276         * src/stm8/gen.c:
22277           More efficient left shift by literal.
22279 2013-08-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22281         * src/SDCCast.c (decorateType): fixed bug 2205 (return discarded if
22282           missing expected operand)
22284 2013-08-20 Philipp Klaus Krause <pkk AT spth.de>
22286         * src/stm8/gen.c:
22287           More efficient right shift by literal.
22289 2013-08-08 Borut Razem <borut.razem AT gmail.com>
22291         * doc/sdccman.lyx: added some STM8 tools info, various fixes
22293 2013-08-07 Borut Razem <borut.razem AT gmail.com>
22295         * doc/sdccman.lyx: updated Sourceforge URLs
22297 2013-08-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22299         * src/SDCCast.c (decorateType): fixed bug 2201 (spurious limited
22300           range warning)
22302 2013-08-04 Philipp Klaus Krause <pkk AT spth.de>
22304         * src/stm8/peeph.def:
22305           Peepholes for in-place operations.
22306         * src/stm8/gen.c:
22307           More efficient pointer write, fix handling of a in comparison for equality.
22309 2013-08-03 Philipp Klaus Krause <pkk AT spth.de>
22311         * src/stm8/peep.c,
22312           src/stm8/peeph.def:
22313           Infrastructure for notUsed().
22314         * src/stm8/gen.c:
22315           More efficient stack-to-stack copy.
22317 2013-08-02 Philipp Klaus Krause <pkk AT spth.de>
22319         * src/stm8/gen.c:
22320           More efficient pcall.
22322 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22324         * src/SDCClospre.hpp,
22325           src/SDCCopt.c:
22326           Fix handling of isaddr flag in optimizations.
22328 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22330         * src/SDCCopt.c,
22331           src/SDCCicode.c,
22332           src/stm8/gen.c,
22333           src/z80/gen.c:
22334           Fold offset into ADDRESS_OF, RFE #393.
22336 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22338         * src/stm8/gen.c:
22339           More efficient zeroing of bytes, more efficient addition of constants,
22340           fix handling of a in pointer set.
22341         * src/SDCCpeeph.c:
22342           Fix handling of architectures that have absolute jump instructions of
22343           different length.
22344         * src/stm8/peeph.def:
22345           More jump-to-jump optimizations.
22347 2013-08-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22349         * support/scripts/sdcc.nsi: install/uninstall stm8 related files
22351 2013-08-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22353         * src/stm8/gen.c:
22354           Smaller code for GET_VALUE_AT_ADDRESS and signed casts.
22356 2013-07-30 Philipp Klaus Krause <pkk AT spth.de>
22358         * src/stm8/gen.c:
22359           More efficient mixed-size addition of on-stack operands, and assignment
22360           to parts of x and y.
22361         * support/regression/tests/bug-136564.c,
22362           support/regression/tests/bug3521024.c,
22363           support/regression/tests/gcc-torture-execute-980707-1.c:
22364           Disable tests affected by bug #2196, 2198.
22365         * support/regression/tests/float_single.c:
22366           Disable failing sinf, cosf tests.
22367         * src/stm8/peeph.def:
22368           Tail call optimization.
22370 2013-07-30 Borut Razem <borut.razem AT gmail.com>
22372         * support/sdbinutils/*: sync with binutils 2.23.2
22374 2013-07-29 Philipp Klaus Krause <pkk AT spth.de>
22376         * src/stm8/peeph.def,
22377           src/stm8/gen.c:
22378           Enable peepholes for inverse jumps, and labels, fix label reference
22379           counting bug #2183.
22381 2013-07-29 Borut Razem <borut.razem AT gmail.com>
22383         * support/cpp/sdcpp-diagnostic.c, upport/cpp/sdcpp-opts.c: fixed bug
22384           #2194 Missing header file produces error, but still zero exit status
22386 2013-07-27 Leland Morrison <enigmalee AT sourceforge.net>
22388         * sdas/linksrc/lkrloc3.c:
22389           prevent NULL ptr dereference when generating error message
22390           (fixes bug #2076 core dump from sdldz80
22391            if relative jump exceeds range)
22393 2013-07-26 Philipp Klaus Krause <pkk AT spth.de>
22395         * src/stm8/peep.c,
22396           src/stm8/peeph.def:
22397           Enable peephole for jp to jra optimization.
22399 2013-07-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22401         * support/regression/tests/bug-927659.c,
22402           support/regression/tests/bug1057979.c,
22403           support/regression/tests/bug2084206.c,
22404           support/regression/tests/funptrs.c,
22405           support/regression/tests/gcc-torture-execute-20020219-1.c,
22406           support/regression/tests/gcc-torture-execute-20021118-2.c,
22407           support/regression/tests/gcc-torture-execute-20021120-3.c,
22408           support/regression/tests/gcc-torture-execute-20030626-1.c,
22409           support/regression/tests/gcc-torture-execute-20030626-2.c,
22410           support/regression/tests/gcc-torture-execute-20050104-1.c,
22411           support/regression/tests/gcc-torture-execute-20070201-1.c,
22412           support/regression/tests/gcc-torture-execute-20080529-1.c,
22413           support/regression/tests/gcc-torture-execute-921208-1.c,
22414           support/regression/tests/gcc-torture-execute-930513-1.c,
22415           support/regression/tests/gcc-torture-execute-950612-1.c,
22416           support/regression/tests/gcc-torture-execute-950915-1.c,
22417           support/regression/tests/gcc-torture-execute-960327-1.c,
22418           support/regression/tests/gcc-torture-execute-pr42269-2.c,
22419           support/regression/tests/snprintf.c:
22420           Disabled tests that fail due to linker issue, bug #2196, 2198.
22421         * support/regression/tests/gcc-torture-execute-20030916-1.c:
22422           Disable failing test, bug #2200.
22424 2013-07-24 Philipp Klaus Krause <pkk AT spth.de>
22426         * src/stm8/gen.c,
22427           src/stm8/ralloc2.cc,
22428           src/stm8/main.c:
22429           More efficient unsigned right shifts by more than 3 bits,
22430           implement GETABIT, implement jump from and.
22431         * src/hc08/gen.c,
22432           src/hc08/main.c:
22433           Remove support for GETHBIT.
22435 2013-07-23 Philipp Klaus Krause <pkk AT spth.de>
22437         * src/stm8/gen.c:
22438           More efficient unsigned right shifts by more than 7 bits.
22440 2013-07-23 Philipp Klaus Krause <pkk AT spth.de>
22442         * src/SDCCralloc.hpp,
22443           src/hc08/ralloc2.cc,
22444           src/stm8/ralloc2.cc
22445           src/stm8/gen.h,
22446           src/stm8/gen.c,
22447           src/z80/ralloc2.cc:
22448           Consider ifx optimization in register allocation.
22449         * device/lib/_mullong.c:
22450           Fix typo in comment.
22452 2013-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22454         * src/hc08/gen.c (genLeftShift,genRightShift): fixed bug in shifting
22455           when result and shift count partially overlapped registers
22457 2013-07-22 Philipp Klaus Krause <pkk AT spth.de>
22459         * src/SDCCralloc.hpp,
22460           src/stm8/gen.c,
22461           src/stm8/ralloc2.cc:
22462           Implement direct jump from comparison, eliminating temporary;
22463           fix operand handling in multiplication.
22465 2013-07-21 Philipp Klaus Krause <pkk AT spth.de>
22467         * src/SDCCglobl.h,
22468           src/SDCCmain.c,
22469           src/*/ralloc.c,
22470           src/SDCCopt.c,
22471           src/SDCCast.c,
22472           doc/sdccman.lyx:
22473           Reorganize debug output dump options.
22475 2013-07-20 Philipp Klaus Krause <pkk AT spth.de>
22477         * src/stm8/gen.c:
22478           More efficient zeroing and comparing.
22480 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22482         * src/stm8/gen.c,
22483           src/stm8/ralloc2.cc:
22484           Efficient pushes.
22486 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22488         * src/stm8/gen.c:
22489           More efficient long and long long shifts by small contants.
22491 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22493         * src/stm8/gen.c,
22494           support/regression/tests/compare.c:
22495           Fix handling of comparisons to immediates for stm8.
22497 2013-07-18 Philipp Klaus Krause <pkk AT spth.de>
22499         * device/lib/_mullong.c:
22500           Use 16x16 multiplication instead of 8x8 where faster; patch #133 by Marco
22501           Bodrato.
22503 2013-07-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22505         * src/SDCClrange.c,
22506           support/regression/tests/bug-2197.c:
22507           Fix handling of pointer write in live-range splitting, fixing bug #2197.
22509 2013-07-16 Philipp Klaus Krause <pkk AT spth.de>
22511         * src/z80/ralloc.c,
22512           src/z80/ralloc2.cc,
22513           support/regression/tests/bug-2195.c,
22514           src/hc08/ralloc.c,
22515           src/hc08/ralloc2.cc:
22516           Unify handling of register survival in old and new register allocator,
22517           fixing bug #2195.
22519 2013-07-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22521         * support/regression/compact-results.py,
22522         * support/regression/collate-results.py: Also look for "unknown
22523            instruction"
22524         * sim/ucsim/st7.src/st7.cc,
22525         * sim/ucsim/hc08.src/hc08.cc,
22526         * sim/ucsim/hc08.src/inst.cc: Change result code for invalid and
22527           incomplete instructions so regression tests scripts detect problem.
22529 2013-07-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22531         * sim/ucsim/stm8.src/stm8.cc: Change result code for invalid and
22532           incomplete instructions so regression tests scripts detect problem.
22534 2013-07-13 Philipp Klaus Krause <pkk AT spth.de>
22536         * src/SDCCerr.c:
22537           Change message text for warning on variables being dead at their definitions.
22539 2013-07-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22541         * src/SDCClospre.hpp:
22542           Fix lospre forwarding.
22544 2013-07-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22546         * src/SDCCBBlock.c,
22547           src/SDCClrange.c,
22548           src/SDCClrange.h,
22549           src/SDCCopt.c,
22550           src/SDCCralloc.hpp,
22551           src/*/ralloc.c:
22552           Split non-connected live-ranges.
22554 2013-07-05 Philipp Klaus Krause <pkk AT spth.de>
22556         * src/SDCCset.h,
22557           src/SDCCset.c:
22558           Improve const use in sets.
22559         * src/SDCCglobl.h,
22560           src/SDCCBBlock.c,
22561           src/SDCCopt.c:
22562       Allow debug iCode dump after lospre.
22564 2013-07-04 Philipp Klaus Krause <pkk AT spth.de>
22566         * src/SDCCbitv.h,
22567           src/SDCCbitv.c:
22568           Improve const use in bit vectors.
22570 2013-07-03 Philipp Klaus Krause <pkk AT spth.de>
22572         * src/SDCClospre.hpp:
22573           Fix invalidation in lospre forwarding.
22575 2013-07-01 Philipp Klaus Krause <pkk AT spth.de>
22577         * src/SDCClospre.cc:
22578           Mark receive opcodes as invalidating for losrpe.
22580 2013-06-30 Philipp Klaus Krause <pkk AT spth.de>
22582         * sdccconf_in.h:
22583           Regenerated to make --disable-stm8-port work.
22585 2013-06-27 Philipp Klaus Krause <pkk AT spth.de>
22587         * src/SDCClospre.cc:
22588           Disable safety in division for stm8.
22590 2013-06-27 Philipp Klaus Krause <pkk AT spth.de>
22592         * src/SDCCnaddr.hpp:
22593           Add comment to reference the paper on bank selection.
22595 2013-06-16 Philipp Klaus Krause <pkk AT spth.de>
22597         * src/stm8/peeph.def:
22598           Reorganize rules, disable rules depending on notUsed() or unimplemented
22599           ref count.
22600         * src/stm8/peep.c,
22601           src/SDCCpeeph.c:
22602           Fix const, handling of relative jumps, read from uninitialized pointer.
22604 2013-06-16 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22606         * src/stm8/main.c,
22607         * src/stm8/peep.c: implemented stm8canAssign and stm8notUsed,
22608           fixed handling of label entities in stm8instructionSize,
22609           added internal buffer in nextToken.
22610         * src/stm8/peeph.def: uncommented a few peephole rules.
22612 2013-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
22614         * device/lib/_mullonglong.c,
22615         * sdas/as8051/i51adr.c,
22616         * sdas/linksrc/lkbank.c,
22617         * sdas/linksrc/lklibr.c,
22618         * sdas/linksrc/lkrloc.c,
22619         * sdas/linksrc/aslink.h,
22620         * src/mcs51/main.c: cosmetic changes
22621         * sdas/asxxsrc/asmain.c (main): default to 16 bit address width
22622         * sdas/as8051/i51mch.c (minit): set address width to 24 bit
22623         * sdas/as8xcxxx/ds8mch.c (machine): validate address width
22624         * sdas/asxxsrc/asdata.c,
22625         * sdas/asxxsrc/asxxxx.h: added a_bytes, a_mask, s_mask, v_mask and outradix
22626         * sdas/asxxsrc/asexpr.c (exprmasks): set a_bytes and masks
22627         * sdas/asxxsrc/aslist.c: use a_bytes
22628         * sdas/asxxsrc/asout.c: use a_bytes,
22629           (outradix, outgsd): added to output address width
22630         * sdas/linksrc/lkarea.c,
22631         * sdas/linksrc/lklist.c: small optimizations
22632         * sdas/linksrc/lkrloc3.c (relr3): use a_bytes
22633         * support/sdbinutils/bfd/asxxxx.c (asxxxx_is_rel): fixed get_eol
22635 2013-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
22637         * sdas/linksrc/lkaomf51.c (GetName, SaveLinkedFilePath): small optimization
22638           (OutputAOEMF51, CollectInfoFromCDB, ReadHexFile): fixed bug 2184
22639         * sdas/linksrc/lkmain.c: cosmetics
22640         * sdas/linksrc/lkout.c (ixx, iflush): fixed bug 1986
22641         * sdas/linksrc/lksym.c: comments
22643 2013-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
22645         * src/sdcc.vcxproj: removed boost library path
22646         * src/stm8/stm8.vcxproj,
22647         * src/stm8/stm8.vcxproj.filters: added peep.[ch]
22648         * src/z80/z80.vcxproj: fixed message typo
22649         * src/stm8/peep.c: fixed errors for MSVC (C89 compatible only):
22650           only declarations at start of block
22651         * support/packihx/packihx.c: whitespace
22653 2013-06-08 Philipp Klaus Krause <pkk AT spth.de>
22655         * src/stm8/peeph.def:
22656           Prepare for replacing absolute jumps by relative jumps and inverting jump
22657           conditions.
22658         * src/stm8/peep.c,
22659           src/SDCCpeeph.c:
22660           Fix buffer overflows, improve error detection.
22662 2013-06-08 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22664         * src/stm8/main.c,
22665         * src/stm8/peep.h,
22666         * src/stm8/peep.c:
22667           Implemented stm8instructionSize.
22669 2013-06-07 Philipp Klaus Krause <pkk AT spth.de>
22671         * src/SDCClospre.hpp:
22672           Cleanup debugging code in lospre.
22674 2013-06-06 Philipp Klaus Krause <pkk AT spth.de>
22676         * src/z80/gen.c,
22677           tests/bug-2181.c:
22678           Fix bug #2181.
22680 2013-06-03 Maarten Brock <sourceforge.brock AT dse.nl>
22682         * sdcc.sln,
22683         * src/stm8/stm8.vcxproj,
22684         * src/stm8/stm8.vcxproj.filters: added stm8 project
22685         * src/hc08/hc08.vcxproj,
22686         * src/z80/z80.vcxproj,
22687         * src/sdcc.vcxproj: use boost 1.50, the last working installer from boostpro
22688         * debugger/mcs51/symtab.h,
22689         * src/ds390/gen.c,
22690         * src/hc08/gen.c,
22691         * src/mcs51/gen.c,
22692         * src/pic14/gen.c,
22693         * src/pic16/gen.c,
22694         * src/pic16/glue.c,
22695         * src/SDCCast.c,
22696         * src/SDCCdwarf2.c,
22697         * src/SDCCglue.c,
22698         * src/SDCCsymt.h,
22699         * src/z80/gen.c: fixed signed/unsigned comparison warnings
22700         * src/stm8/gen.c: fixed errors for MSVC (C89 compatible only):
22701           don't use snprintf but only SNPRINT,
22702           only declarations at start of block,
22703           don't use true/false but only TRUE/FALSE
22704         * src/stm8/main.c (stm8_defaultRules): fixed init error
22705         * src/stm8/ralloc2.cc (instruction_cost): fixed warning
22706         * src/SDCCglue.c (glue): removed target dependent code
22707         * support/regression/fwk/include/testfwk.h: removed ASSERT_FAILED,
22708           added ASSERTFALSE
22709         * support/regression/tests/gcc-torture-execute-20050826-1.c: use ASSERFALSE,
22710           enabled test for mcs51
22711         * support/regression/tests/gcc-torture-execute-920810-1.c: use ASSERTFALSE
22713 2013-06-03 Philipp Klaus Krause <pkk AT spth.de>
22715         * src/stm8/gen.c:
22716           More efficient register-to-register assignment using ldw.
22718 2013-06-02 Philipp Klaus Krause <pkk AT spth.de>
22720         * sim/ucsim/stm8.src/inst.cc:
22721           Fix handling of N and Z flags in addw, subw.
22722         * support/regression/tests/gcc-torture-execute-20021120-1.c:
22723           Disable failing test for stm8 (bug #2180).
22724         * src/stm8/gen.c:
22725           More efficient subtraction.
22726         * support/regression/tests/gcc-torture-execute-pr47337.c:
22727           Disable this very colatile test for stm8 for now. See bug #2172 for the
22728           longer justification.
22730 2013-06-01 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22732         * sim/ucsim/stm8.src/inst.cc:
22733           Fixed subw y.
22735 2013-05-31 Philipp Klaus Krause <pkk AT spth.de>
22737         * src/SDCCcse.c,
22738           src/SDCClospre.cc:
22739           Fix bug #2167.
22740         * src/stm8/main.c,
22741           src/stm8/gen.c:
22742           Implement jump tables.
22744 2013-05-30 Raphael Neider <rneider AT web.de>
22746         * doc/sdccman.lyx: remove --enable-new-pics, add
22747           --no-extended-instructions, adjust section on adding devices
22749 2013-05-30 Raphael Neider <rneider AT web.de>
22751         * device/lib/pic16/configure.ac,
22752         * device/non-free/lib/pic16/configure.ac: remove obsolete option
22753           --enable-new-pics, use common device support detection from
22754           supported-devices.ac and the generated processors.ac
22755         * device/non-free/lib/pic16/supported-devices.ac: fragment from
22756           configure.ac performing detection of devices supported by gputils;
22757           device detection also performs linking step for robustness
22759         * device/lib/pic16/libio/adc.ignore,
22760         * device/lib/pic16/libio/i2c.ignore,
22761         * device/lib/pic16/libio/usart.ignore: use full device id (18fxxxx)
22763         * device/lib/pic16/libio/mkmk.sh,
22764         * device/non-free/lib/pic16/libdev/mkmk.sh,
22765         * device/non-free/lib/pic16/libdev/testall.sh:
22766           derive device list from files in non-free/lib/pic16/libdev rather
22767           than the manually maintained pics.all, enclose each device in
22768           ENABLE_<DEVICE> conditionals
22770         * device/non-free/lib/pic16/update.sh: script to update the build
22771           system to be run whenever the set of devices supported by sdcc
22772           changed; generates processor.ac and reconfigures all PIC16 libs
22774         * support/scripts/cinc2h.pl: update instructions regarding adding
22775           support for new devices
22777         * device/lib/pic16/libio/Makefile.am: regenerated from mkmk.sh
22778         * device/non-free/lib/pic16/libdev/Makefile.am:
22779           regenerated from mkmk.sh
22780         * device/non-free/lib/pic16/pics.all: removed (no longer used)
22781         * device/non-free/lib/pic16/processors.ac: added, list of automake
22782           conditionals for automatic detection of devices supported by
22783           gputils, generated from update.sh
22785         * device/lib/pic16/Makefile.in,
22786         * device/lib/pic16/aclocal.m4,
22787         * device/lib/pic16/configure,
22788         * device/lib/pic16/debug/Makefile.in,
22789         * device/lib/pic16/libc/Makefile.in,
22790         * device/lib/pic16/libio/Makefile.in,
22791         * device/lib/pic16/libm/Makefile.in,
22792         * device/lib/pic16/libsdcc/Makefile.in,
22793         * device/lib/pic16/startup/Makefile.in,
22794         * device/non-free/lib/pic16/Makefile.in,
22795         * device/non-free/lib/pic16/aclocal.m4,
22796         * device/non-free/lib/pic16/configure,
22797         * device/non-free/lib/pic16/libdev/Makefile.in: regenerated
22799 2013-05-30 Raphael Neider <rneider AT web.de>
22801         * device/lib/pic14/configure.in: remove now obsolete --enable-new-pics,
22802           check support for enhanced cores and extended instruction set,
22803         * device/lib/pic14/Makefile.am: build libsdcce.a iff enhanced cores
22804           are supported, use special version avoiding extended instructions
22805           if those are not supported by gputils
22806         * device/lib/pic14/libm/Makefile.am: build libme.a iff enhanced cores
22807           are supported, avoid extended instructions if not supported by
22808           gputils (0.13.5-6)
22809         * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.am,
22810         * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
22811         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget1.S,
22812         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget2.S,
22813         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget3.S,
22814         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget4.S,
22815         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput1.S,
22816         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput2.S,
22817         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput3.S,
22818         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput4.S,
22819         * device/lib/pic14/libsdcc/enhanced-no-xinst/macros.inc:
22820           special version of gptr* for enhanced cores without using extended
22821           instructions
22822         * device/non-free/lib/pic14/configure.in: remove now obsolete option
22823           --enable-new-pics, improve gputils device support detection support
22824           by also performing linking, export list of supported devices to
22825           libdev/Makefile.in
22826         * device/non-free/lib/pic14/libdev/Makefile.in: accept list of devices
22827           to build from configure
22829         * device/lib/pic14/Makefile.in,
22830         * device/lib/pic14/aclocal.m4,
22831         * device/lib/pic14/configure,
22832         * device/lib/pic14/libm/Makefile.in,
22833         * device/lib/pic14/libsdcc/enhanced/Makefile.in,
22834         * device/lib/pic14/libsdcc/regular/Makefile.in,
22835         * device/non-free/lib/pic14/configure:
22836           regenerated
22838 2013-05-30 Raphael Neider <rneider AT web.de>
22840         * src/pic14/main.c, src/pic14/main.h: add option to avoid generating
22841           instructions from the extended instruction set in order to work
22842           around issues with gputils-0.13.6
22843         * src/pic14/gen.c (inc_fsr): avoid generating ADDFSR if
22844           --no-extended-instructions is specified
22846 2013-05-30 Philipp Klaus Krause <pkk AT spth.de>
22848         * src/stm8/gen.c,
22849           support/regression/tests/bug-2175.c:
22850           Fix bug #2175.
22852 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
22854         * src/stm8/gen.c:
22855           Fix ADDRESS_OF with result in y for variables at sp + 2, more efficient
22856           assignment to stack using ldw.
22858 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
22860         * device/lib/_divsint.c,
22861           device/lib/_divslong.c,
22862           device/lib/_modsint.c,
22863           device/lib/_modslong.c:
22864           Remove dependencies of signed division support functions on unsigned
22865           division support functions.
22866         * src/stm8/gen.c,
22867           src/stm8/main.c:
22868           Fix partial saving of Y in division and multiplication, implement unsigned
22869           int division.
22871 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
22873         * src/stm8/gen.c,
22874           src/stm8/ralloc.c,
22875           support/regression/tests/gcc-torture-execute-20010129-1.c,
22876           support/regression/tests/gcc-torture-execute-pr28982a.c,
22877           support/regression/tests/gcc-torture-execute-930614-2.c,
22878           support/regression/tests/gcc-torture-execute-20021120-1.c:
22879           Support for calls to functions returning long from functions that use
22880           extended stack.
22882 2013-05-28 Philipp Klaus Krause <pkk AT spth.de>
22884         * src/stm8/ralloc2.cc,
22885           src/stm8/ralloc.c,
22886           src/stm8/gen.h,
22887           src/stm8/gen.c,
22888           support/regression/tests/bp.c,
22889           support/regression/tests/gcc-torture-execute-20071030-1.c,
22890           support/regression/tests/gcc-torture-execute-990513-1.c,
22891           support/regression/tests/gcc-torture-execute-pr47538.c,
22892           support/regression/tests/gcc-torture-execute-980707-1.c,
22893           support/regression/tests/bug2094505.c,
22894           support/regression/tests/gcc-torture-execute-20031012-1.c,
22895           support/regression/tests/gcc-torture-execute-20030916-1.c:
22896           Support for extended stack on stm8, more efficient ADDRESS_OF.
22898 2013-05-27 Philipp Klaus Krause <pkk AT spth.de>
22900         * src/stm8/gen.c:
22901           More efficient pointer access, more efficient loading of constants to
22902           stack, fix handling of shift count deadness.
22903         * sim/ucsim/stm8.src/inst.cc:
22904           Fix ldw pointer write (bug #2174).
22905         * support/regression/tests/gcc-torture-execute-pr47538.c:
22906           Disable volatile test affected by bug #2171.
22907         * src/stm8/ralloc2.cc:
22908           Implement heuristic bias for register assignment.
22910 2013-05-26 Philipp Klaus Krause <pkk AT spth.de>
22912         * src/stm8/gen.c:
22913           More efficient zeroing by pointer, more efficient unsigned cast,
22914           preparations for more efficient pointer access.
22915         * src/SDCCopt.c:
22916           Allow offset in pointer read.
22917         * sim/ucsim/stm8.src/inst.cc:
22918           Fix handling of N and Z flag in ldw.
22919         * src/stm8/main.c:
22920           More efficient initialization.
22922 2013-05-25 Philipp Klaus Krause <pkk AT spth.de>
22924         * src/stm8/gen.c:
22925           More efficient addition.
22927 2013-05-25 Borut Razem <borut.razem AT gmail.com>
22929         * src/SDCCopt.c: fixed bug #2165 - "Broken comparison" by disabling
22930           optimization of comparison unsigned with 2^n literal since it is broken
22931         * support/regression/test/compare_2_n.m4: added test for bug #2165
22933 2013-05-25 Philipp Klaus Krause <pkk AT spth.de>
22935         * Merged stm8 branch.
22937 2013-05-25 Philipp Klaus Krause <pkk AT spth.de>
22939         * support/regression/tests/float_single.c,
22940           support/regression/tests/gcc-torture-execute-20030714-1.c,
22941           support/regression/tests/gcc-torture-execute-20050826-1.c:
22942           STM8: Disable failing tests.
22944 2013-05-25 Borut Razem <borut.razem AT gmail.com>
22946         * Makefile.in: applied patch #211 - "sdbinutils is installed twice",
22947           thanks to Tijl Coosemans
22949 2013-05-24 Philipp Klaus Krause <pkk AT spth.de>
22951         * support/regression/tests/gcc-torture-execute-20010224-1.c:
22952           STM8: Disable test that fails due to known CSE bug #1968.
22953         * support/regression/ports/stm8/spec.mk:
22954           STM8: Remove definition for __reentrant.
22955         * src/stm8/gen.c:
22956           STM8: Fix handling of out-of-range offsets.
22958 2013-05-23 Philipp Klaus Krause <pkk AT spth.de>
22960         * src/stm8/gen.c:
22961           STM8: Fix float negation, fix large stack-to-stack copy under high
22962           register pressure, fix handling of immediate operands.
22963         * support/regression/tests/gcc-torture-execute-20030408-1.c:
22964           STM8: Disable test for known front-end bug.
22965         * sim/ucsim/stm8.src/inst.cc:
22966           STM8: Fix handling of V and H flags in cpw.
22967         * sim/ucsim/stm8.src/inst.cc:
22968           STM8: Silence some warnings.
22969         * src/stm8/ralloc.c:
22970           STM8: Fix missing include.
22971         * support/regression/tests/gcc-torture-execute-20050613-1.c:
22972           STM8: Disable regression test that fails due to front-end bug.
22974 2013-05-22 Philipp Klaus Krause <pkk AT spth.de>
22976         * src/stm8/gen.c:
22977           STM8: More efficient xor, or, and. Fix overwriting of shift count in
22978           shifts, fix comparison with upper byte in a, fix long comparison stacked
22979           offset, fix unsigned long / unsigned long long comparison.
22981 2013-05-22 Philipp Klaus Krause <pkk AT spth.de>
22983         * src/SDCCopt.c:
22984           STM8: Disable broken optimization of comparisons into and.
22985         * src/stm8/gen.c:
22986           STM8: Slightly more efficient shifts, fix long ifx, fix use of word
22987           rotation in copy, fix handling of a in signed cast.
22989 2013-05-21 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22991         * src/stm8/main.c,
22992         * src/SDCCglue.c:
22993         STM8: Fixed init code: some of GSINIT parts aren't executed under certain
22994         linking conditions.
22996 2013-05-20 Maarten Brock <sourceforge.brock AT dse.nl>
22998         * support/scripts/sdcc.nsi: added RequestExecutionLevel admin
23000 2013-05-20 Philipp Klaus Krause <pkk AT spth.de>
23002         * src/z80/gen.c:
23003           More efficient cast from _Bool,
23004         * src/z80/peep.c:
23005           Fix recognition of xor as writing a in peepholes.
23007 2013-05-20 Maarten Brock <sourceforge.brock AT dse.nl>
23009         * Small Device C Compiler 3.3.0 released
23010         * .version, doc/sdccman.lyx: changed sdcc version to 3.3.1
23012 2013-05-19 Philipp Klaus Krause <pkk AT spth.de>
23014         * src/stm8/gen.c:
23015           STM8: Fix long and long long comparison.
23017 2013-05-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23019         * src/stm8/gen.c:
23020           STM8: Give up trying to fix big-endian bit-fields. Make bit-fields
23021           little-endian.
23023 2013-05-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23025         * sim/ucsim/stm8.src/instcl.h,
23026           sim/ucsim/stm8.src/inst.cc,
23027           sim/ucsim/stm8.src/stm8mac.h,
23028           sim/ucsim/stm8.src/glob.cc,
23029           sim/ucsim/stm8.src/stm8.cc,
23030           sdas/asstm8/stm8mch.c:
23031           STM8: Patches by Valentin Dudouyt to fix simulator.
23032         * src/stm8/gen.c:
23033           STM8: Fix conditional jump, address generation for on-stack variables.
23034         * device/lib/_mullong.c,
23035           device/lib/_mulint.c,
23036           device/lib/stm8/Makefile.in,
23037           device/lib/_mulschar.c,
23038           device/lib/_modschar.c,
23039           device/lib/_divschar.c,
23040           src/SDCCsymt.c,
23041           src/stm8/main.c:
23042           STM8: Multiplication and division fixes.
23044 2013-05-18 Philipp Klaus Krause <pkk AT spth.de>
23046         * src/stm8/gen.c:
23047           STM8: Fix offset in wide addition, fix handling of a in copy from
23048           registers to global, fix stack adjustment for large variables, fix large
23049           arithmetic signed right shift.
23051 2013-05-18 Maarten Brock <sourceforge.brock AT dse.nl>
23053         * doc/INSTALL.txt: small update
23054         * support/scripts/repack_release.sh: added windows x64 setup
23056 2013-05-17 Philipp Klaus Krause <pkk AT spth.de>
23058         * src/stm8/gen.c:
23059           STM8: Fix bit-field access.
23060         * sim/ucsim/stm8.src/inst.cc:
23061           STM8: Fix handling of carry bit in negation in simulator.
23063 2013-05-16 Philipp Klaus Krause <pkk AT spth.de>
23065         * src/stm8/main.c:
23066           STM8: Fix endianness for initializers.
23068 2013-05-15 Philipp Klaus Krause <pkk AT spth.de>
23070         * support/regression/ports/stm8/support.c:
23071           STM8: Remove unneeded global variable that clashes with identifiers in
23072           regression tests.
23073         * support/regression/tests/malloc.c,
23074           support/regression/tests/gcc-torture-execute-920810-1.c:
23075           STM8: Disable regression tests for unimplemented malloc().
23076         * src/stm8/gen.c:
23077           STM8: Fix saving of a in early stack-to-stack copy, fix offset in stacked
23078           register operand, fix handling of operand in wide register in pointer set,
23079           fix endless loop in shifts.
23081 2013-05-12 Philipp Klaus Krause <pkk AT spth.de>
23083         * sim/ucsim/stm8.src/inst.cc:
23084           STM8: Fix clr, partially by patch by Valentin Dudouyt.
23085         * src/stm8/main.c:
23086           STM8:  Patch by Valentin Dudouyt to initialize global and static
23087           variables to zero.
23089 2013-05-12 Philipp Klaus Krause <pkk AT spth.de>
23091         * sim/ucsim/stm8.src/inst.cc:
23092           STM8: Patch by Valentin Dudouyt to fix ldw.
23093         * src/stm8/main.c:
23094           STM8: Patches by Valentin Dudouyt to fix handling of global variables and
23095           startup.
23097 2013-05-11 Philipp Klaus Krause <pkk AT spth.de>
23099         * sim/ucsim/stm8.src/inst.cc,
23100           sim/ucsim/stm8.src/instcl.h,
23101           sim/ucsim/stm8.src/stm8.cc,
23102           sim/ucsim/stm8.src/stm8mac.h,
23103           support/regression/ports/stm8/support.c:
23104           STM8: Patches by Valentin Dudouyt: The last bits to enable regression
23105           testing, fix bug in wide addition.
23106         * support/regression/tests/0fail.c,
23107           support/regression/tests/0pass.c:
23108           Removed dummy tests.
23109         * src/stm8/gen.c:
23110           STM8: Fix handling of large operands partially in x in comparison for
23111           equality, be more careful in partial move for cast, fix signed cast.
23112         * src/hc08/gen.c,
23113           src/z80/gen.c:
23114           More efficient cast from _Bool.
23116 2013-05-11 Molnar Karoly <molnarkaroly AT users.sf.net>
23118         * device/include/pic14/pic14devices.txt,
23119           device/include/pic14/pic16regs.h,
23120           device/non-free/include/pic14/pic16f753.h,
23121           device/non-free/include/pic14/pic16hv753.h,
23122           device/non-free/lib/pic14/libdev/devices.txt,
23123           device/non-free/lib/pic14/libdev/pic16f753.c,
23124           device/non-free/lib/pic14/libdev/pic16hv753.c,
23125           doc/sdccman.lyx:
23126           New devices.
23128 2013-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
23130         * sdas/doc/asmlnk.txt: updated for all steps towards ASxxxx v5
23131         * sdas/doc/asxhtm.html: removed
23132         * .version,
23133         * doc/INSTALL.txt,
23134         * doc/sdccman.lyx: version 3.3.0
23136 2013-05-10 Philipp Klaus Krause <pkk AT spth.de>
23138         * src/stm8/gen.c:
23139           STM8: Fix endianness in stack / stack copy.
23141 2013-05-09 Philipp Klaus Krause <pkk AT spth.de>
23143         * src/stm8/gen.c:
23144           STM8: Fix multibyte false Ifx.
23146 2013-05-07 Borut Razem <borut.razem AT gmail.com>
23148         * support/scripts/sdcc.nsi: removed dedication to Dennis M. Ritchie,
23149           corrected ChangeLog path
23151 2013-05-05 Philipp Klaus Krause <pkk AT spth.de>
23153         * src/stm8/gen.c:
23154           STM8: Fix endianness in register / stack copy.
23156 2013-05-04 Maarten Brock <sourceforge.brock AT dse.nl>
23158         * .version,
23159         * doc/INSTALL.txt,
23160         * doc/sdccman.lyx: version 3.3.0 rc1
23161         * sdcc.spec: version 3.3.0
23162         * sdas/asxxsrc/asout.c: suppress warning
23164 2013-05-04 Philipp Klaus Krause <pkk AT spth.de>
23166         * src/stm8/gen.c:
23167           STM8: Fix stack variable offset.
23169 2013-05-04 Philipp Klaus Krause <pkk AT spth.de>
23171         * src/z80/peep.c:
23172           More accurately model behaviour of xor for peepholes.
23173         * sdas/asstm8/stm8mch.c,
23174           sdas/asxxsrc/asout.c:
23175           Applied patch from Valentin Dudouyt to make range check stm8-specific.
23177 2013-05-01 Philipp Klaus Krause <pkk AT spth.de>
23179         * src/z80/peeph-z80.def,
23180           src/z80/peeph-r2k.def:
23181           Fix generation of extra # in peephole.
23183 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23185         * src/stm8/gen.c:
23186           STM8: Fix memory leak in conditional jump.
23188 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23190         * support/regression/tests/gcc-torture-execute-20000314-3.c:
23191           STM8: Removed regression test, since it tests for non-standard gcc behaviour.
23192         * src/stm8/gen.c:
23193           STM8: Fix saving of a on stack in binary complement.
23195 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23197         * src/stm8/gen.c,
23198           src/stm8/main.c,
23199           src/stm8/ralloc2.cc:
23200           STM8: Implement unsigned division.
23202 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23204         * support/regression/tests/bp.c,
23205           support/regression/tests/bug2094505.c,
23206           support/regression/tests/bug3475630.c,
23207           support/regression/tests/gcc-torture-execute-20010129-1.c,
23208           support/regression/tests/gcc-torture-execute-20021120-1.c,
23209           support/regression/tests/gcc-torture-execute-20030916-1.c,
23210           support/regression/tests/gcc-torture-execute-pr28982a.c,
23211           support/regression/tests/gcc-torture-execute-20031012-1.c,
23212           support/regression/tests/gcc-torture-execute-20071030-1.c,
23213           support/regression/tests/gcc-torture-execute-930614-2.c,
23214           support/regression/tests/gcc-torture-execute-930628-1.c,
23215           support/regression/tests/gcc-torture-execute-980707-1.c,
23216           support/regression/tests/gcc-torture-execute-990513-1.c:
23217           STM8: Disable some regression tests that need support for extended stack
23218           operands.
23219         * src/stm8/gen.c:
23220           STM8: Improve error reporting for unimplemented extended stack operands,
23221           fix pointer write.
23222         * device/lib/_divschar.c,
23223           device/lib/_modschar.c,
23224           device/lib/stm8/Makefile.in:
23225           STM8: Support routines for signed char divide and modulo.
23227 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23229         * src/stm8/gen.c:
23230           STM8: Fix stack handling in equality comparison, handle dead code, fix
23231           shift to zero.
23233 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23235         * src/stm8/gen.c:
23236           STM8: Implement DUMMY_READ_VOLATILE.
23238 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23240         * src/stm8/gen.c:
23241           STM8: Implement read from signed bit-field.
23243 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23245         * sdas/asxxsrc/asout.c,
23246           src/stm8/main.c:
23247           STM8: Applied patched from Valentin Dudouyt to improve error checking in
23248           assembler, implement initialization of globals, __interrupt.
23250 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23252         * src/stm8/main.c,
23253           src/stm8/gen.c:
23254           STM8: Implement multiplication.
23256 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23258         * src/stm8/gen.c:
23259           STM8: Fix asmop freeing for GET_VALUE_AT_ADDRESS, do not share symbol
23260           aops to fix double free, fix large comparison, implement bit-field writes.
23262 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23264         * src/stm8/gen.c:
23265           STM8: Fix unsigned cast, implement read from unsigned bit-field.
23266         * support/regression/tests/0fail.c,
23267           support/regression/tests/0pass.c:
23268           Dummy tests for debugging regression testing.
23270 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
23272         * src/stm8/gen.c:
23273           STM8: Fix in handling of result in a in addition, minor improvements.
23275 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
23277         * src/stm8/gen.c:
23278           STM8: Fix stack handling in signed cast, fix wide right shift, minor
23279           refactoring.
23281 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
23283         * src/stm8/gen.c:
23284           STM8: Fix handling of a in addition, subtraction and negation, more
23285           flexible copy, fix comparison.
23287 2013-04-25 Philipp Klaus Krause <pkk AT spth.de>
23289         * src/stm8/gen.c:
23290           STM8: Update TODO/todo comments to reflect known bug vs optimization
23291           potential.
23293 2013-04-24 Philipp Klaus Krause <pkk AT spth.de>
23295         * src/stm8/gen.c:
23296           STM8: Various fixes.
23298 2013-04-23 Philipp Klaus Krause <pkk AT spth.de>
23300         * src/stm8/gen.c:
23301           STM8: Make lack of support for bit-fields explicit, implement binary
23302           complement, minor improvements.
23304 2013-04-23 Philipp Klaus Krause <pkk AT spth.de>
23306         * src/stm8/gen.c:
23307           STM8: Fix large operands in equality comparison of register with literal
23308           or stack op.
23309         * src/stm8/ralloc2.cc:
23310           STM8: Fix liveness of registers at parameter pushes.
23312 2013-04-23 Philipp Klaus Krause <pkk AT spth.de>
23314         * src/stm8/gen.c:
23315           STM8: Fix parameter stack offset, fix handling of a in GET_VALUE_AT_ADDRESS.
23317 2013-04-22 Philipp Klaus Krause <pkk AT spth.de>
23319         * src/stm8/gen.c:
23320           STM8: Fix returning 4-byte values, fix saving of x, y over call, fix
23321           handling of registers in stack-to-stack copy.
23323 2013-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
23325         * device/include/pic14/pic16regs.h:
23326           New common header for the pic14 family.
23328 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23330         * device/lib/stm8/Makefile.in:
23331           STM8: Add missing integer support functions.
23332         * src/stm8/gen.c:
23333           STM8: Enable inline asm.
23335 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23337         * support/regression/Makefile.in,
23338           support/regression/ports/stm8/spec.mk,
23339           support/regression/ports/stm8/support.c,
23340           support/regression/ports/stm8/uCsim.cmd:
23341           STM8: Basic infrastructure for regression tests, partially from a patch
23342           by Valentin Dudouyt.
23343         * src/stm8/gen.c:
23344           STM8: Name mangling for address generation.
23346 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23348         * device/lib/Makefile.in:
23349           STM8: Enable building standard library.
23351 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23353         * src/stm8/gen.c,
23354           src/stm8/main.c:
23355           STM8: Applied patch from Valentin Dudouyt to implement __critical.
23357 2013-04-19 Philipp Klaus Krause <pkk AT spth.de>
23359         * device/lib/stm8/Makefile.in:
23360           STM8: Disable building some library files.
23361         * src/stm8/gen.c:
23362           STM8: Fix comparison.
23363         * src/stm8/main.c:
23364           STM8: Disable some annoying debug output.
23366 2013-04-19 Philipp Klaus Krause <pkk AT spth.de>
23368         * src/stm8/main.c,
23369           sdas/asstm8/stm8mch.c:
23370           STM8: Applied patch from Valentin Dudouyt to support addw sp, #byte.
23371         * src/stm8/ralloc2.cc:
23372           STM8: Enabled cost function for more iCodes.
23373         * src/stm8/gen.c:
23374           STM8: Fixes for logic ops, RETURN, '-', stack-to-stack copy, implement
23375           more operands for comparison.
23377 2013-04-18 Philipp Klaus Krause <pkk AT spth.de>
23379         * src/stm8/main.c:
23380           STM8: Disable generation of jump tables.
23381         * src/stm8/gen.c:
23382           STM8: Implement more comparison operands, fix for stack-to-stack
23383           temporary assignment.
23385 2013-04-18 Philipp Klaus Krause <pkk AT spth.de>
23387         * src/stm8/gen.c:
23388           STM8: Endianness fixes, implement dummy pointer reads, implement '!',
23389           implement more operands in logic ops, implement more return operands,
23390           implement more operands for cast to _Bool, implement more operands for
23391           subtraction.
23393 2013-04-18 Borut Razem <borut.razem AT gmail.com>
23395         * device/non-free/lib/pic14/libdev/mkall.sh,
23396           device/examples/mcs51/simple/test,
23397           device/examples/mcs51/simple/go,
23398           device/examples/mcs51/simple2/go,
23399           device/examples/mcs51/simple2/test,
23400           sim/ucsim/conf:
23401           use /bin/sh instead of /bin/bash to enable compilation on OpenBSD
23403 2013-04-17 Philipp Klaus Krause <pkk AT spth.de>
23405         * src/stm8/gen.c:
23406           STM8: Fix for cast to bool.
23408 2013-04-17 Philipp Klaus Krause <pkk AT spth.de>
23410         * src/stm8/gen.c:
23411           STM8: Implement more shifts, unary minus for float, implement large
23412           return values, save regs over calls, coalescing.
23414 2013-04-16 Philipp Klaus Krause <pkk AT spth.de>
23416         * src/stm8/gen.c:
23417           STM8: Fix emission of rlwa, fix 16-bit increment with result in x,
23418           operand not in x.
23420 2013-04-15 Philipp Klaus Krause <pkk AT spth.de>
23422         * src/stm8/gen.c:
23423           STM8: Fixes for reading / writing through pointer, implement more IFX,
23424           fix wide subtraction and compariosn.
23426 2013-04-15 Philipp Klaus Krause <pkk AT spth.de>
23428         * src/stm8/gen.c:
23429           STM8: Now that we know more about sp-manipulation, we can do it smarter.
23431 2013-04-14 Molnar Karoly <molnarkaroly AT users.sf.net>
23433         * support/scripts/mcs51-disasm.pl:
23434           The overlapped block and instruction it is no longer a fatal error.
23436 2013-04-14 Philipp Klaus Krause <pkk AT spth.de>
23438         * src/stm8/main.c:
23439           STM8: Applied patch from Valentin Dudouyt to set default code loc.
23440         * src/stm8/gen.c:
23441           STM8: Be more cautious about arithmetic on stack pointer.
23443 2013-04-13 Philipp Klaus Krause <pkk AT spth.de>
23445         * src/SDCCglobl.h,
23446           src/SDCCglue.c,
23447           src/SDCCmain.c,
23448           src/pic16/glue.c,
23449           src/z80/main.c,
23450           doc/sdccman.lyx,
23451           src/stm8/main.c:
23452           Remove option --main-return, make the behaviour previously invoked by
23453           --main-return the default.
23455 2013-04-13 Philipp Klaus Krause <pkk AT spth.de>
23457         * sdas/asstm8/stm8.h,
23458           sdas/asstm8/stm8mch.c,
23459           sdas/asstm8/stm8pst.c,
23460           src/SDCCglue.c,
23461           src/stm8/gen.c,
23462           src/stm8/main.c:
23463           STM8: Applied patches from Valentin Dudouyt containing various fixes.
23465 2013-04-11 Philipp Klaus Krause <pkk AT spth.de>
23467         * src/stm8/gen.c,
23468           src/stm8/ralloc.c:
23469           Fix handling of stack part of local variables.
23471 2013-04-11 Philipp Klaus Krause <pkk AT spth.de>
23473         * src/stm8/gen.c:
23474           STM8: Implement basic pointer writes, fix handling of 16-bit literals.
23476 2013-04-10 Philipp Klaus Krause <pkk AT spth.de>
23478         * src/stm8/gen.c:
23479           STM8: END_FUNCTION stack adjustment fix, more efficient zeroing, addition
23480           fix, return value use.
23482 2013-04-09 Philipp Klaus Krause <pkk AT spth.de>
23484         * src/stm8/gen.c:
23485           STM8: Fix for GET_VALUE_AT_ADDRESS, fixes for shift by literal, implement
23486           call by pointer, minor improvements.
23488 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23490         * src/stm8/gen.c:
23491           STM8: Allow more operands in xor, and, or.
23493 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23495         * src/stm8/gen.c:
23496           STM8: Implement integer unary minus, or fix.
23498 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23500         * src/stm8/gen.c:
23501           STM8: Implement more comparisons, stack handling fix.
23502         * src/SDCCsymt.c:
23503           STM8: Allow returning long long (not implemented in code genration yet).
23505 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23507         * src/stm8/gen.c:
23508           STM8: Stack adjustment fixes, signed cast fix, ifx fix,
23509           GET_VALUE_AT_ADDRESS fix.
23511 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23513         * src/stm8/gen.c:
23514           STM8: Implement cast to _Bool.
23515         * device/include/sdcc-lib.h,
23516           device/include/asm/stm8/features.h:
23517           STM8: Port feature header.
23518         * device/include/math.h,
23519           device/include/stdarg.h:
23520           STM8: Port feature configuration.
23522 2013-04-07 Philipp Klaus Krause <pkk AT spth.de>
23524         * src/stm8/gen.c:
23525           STM8: Allow more operand types in Ifx, implement more casts.
23527 2013-04-06 Philipp Klaus Krause <pkk AT spth.de>
23529         * src/stm8/gen.c:
23530           STM8: Fixes for stack pointer handling.
23532 2013-04-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23534         * support/regression/tests/literalop.c,
23535           support/regression/tests/bitwise.c: Fix host regression failues on
23536           64-bit PowerPC
23537         * support/regression/tests/align.c: do not include stdalign.h on
23538           hosts that do not support it
23540 2013-04-06 Philipp Klaus Krause <pkk AT spth.de>
23542         * src/stm8/gen.c:
23543           STM8: Implement comparison for more operand types.
23545 2013-04-02 Philipp Klaus Krause <pkk AT spth.de>
23547         * src/SDCC.lex,
23548           src/SDCC.y,
23549           src/SDCCerr.h,
23550           src/SDCCerr.c,
23551           src/SDCCsymt.h,
23552           src/SDCCsymt.c,
23553           src/SDCCicode.c,
23554           src/SDCCval.h,
23555           src/SDCCval.c,
23556           src/port.h:
23557           src/*/main.c:
23558           doc/sdccman.lyx,
23559           support/regression/tests/assert.c,
23560           support/regression/tests/align.c:
23561           Support for C11 _Static_assert static assertions and _Alignas alignment
23562           specifiers.
23564 2013-04-01 Philipp Klaus Krause <pkk AT spth.de>
23566         * src/SDCCsymt.c,
23567           src/stm8/gen.c,
23568           src/stm8/main.c:
23569           STM8: Implement on-stack register passing, taking addresses of on-stack
23570           variables, handling of on-stack parameter operands.
23572 2013-03-31 Philipp Klaus Krause <pkk AT spth.de>
23574         * doc/sdccman.lyx:
23575           Update manual.
23576         * src/SDCCmain.c:
23577           Deprecation warning for --small-is-8bits.
23578         * device/include/assert.h:
23579           Prepare for static assertions.
23580         * src/SDCCast.h:
23581           Fix warning.
23583 2013-03-30 Philipp Klaus Krause <pkk AT spth.de>
23585         * doc/sdccman.lyx:
23586           Update and reorganize manual.
23587         * src/izt:
23588           Kill i186 and tcls900h ports.
23590 2013-03-29 Philipp Klaus Krause <pkk AT spth.de>
23592         * src/SDCC.lex,
23593           src/SDCCast.c,
23594           src/SDCCast.h,
23595           src/SDCC.y,
23596           device/include/stdalign.h,
23597           device/include/stddef.h,
23598           device/include/stdnoreturn.h,
23599           support/regression/tests/align.c:
23600           Support for C11 _Alignof operator.
23602 2013-03-24 Philipp Klaus Krause <pkk AT spth.de>
23604         * src/z80/gen.c:
23605           Use mlt for multiplication by constant in z180 port.
23606         * src/SDCCralloc.hpp:
23607           Add comment to reference the paper on the register allocator.
23609 2013-03-16 Philipp Klaus Krause <pkk AT spth.de>
23611         * src/z80/gen.c:
23612           Fix bug #2145.
23614 2013-03-18 Borut Razem <borut.razem AT gmail.com>
23616         * support/scripts/gen_known_bugs.pl: use http instead https since the
23617           LWP::Protocol::https perl module seems not to be installed by default
23619 2013-03-16 Molnar Karoly <molnarkaroly AT users.sf.net>
23621         * device/include/pic14/pic14devices.txt,
23622           device/non-free/include/pic14/pic16f1788.h,
23623           device/non-free/include/pic14/pic16f1789.h,
23624           device/non-free/lib/pic14/libdev/Makefile.in,
23625           device/non-free/lib/pic14/libdev/devices.txt,
23626           device/non-free/lib/pic14/libdev/pic16f1788.c,
23627           device/non-free/lib/pic14/libdev/pic16f1789.c,
23628           doc/sdccman.lyx:
23629           New devices: PIC16F1788, PIC16F1789
23631 2013-03-15 Borut Razem <borut.razem AT gmail.com>
23633         * support/scripts/gen_known_bugs.pl: adapted for Allura bug tracker
23635 2013-03-14 Philipp Klaus Krause <pkk AT spth.de>
23637         * src/z80/peep.c:
23638           Fix bug #2142 (ld is fixed, upper case still open).
23640 2013-03-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23642         * support/scripts/mcs51-disasm.pl:
23643           Filters the invalid instructions and code cleaning.
23645 2013-03-12 Sourceforge
23647         * Project upgrade: Bug and RFE numbers after this
23648           Use a numbering system different from the one
23649           used before (also some other changes).
23651 2013-03-05 Molnar Karoly <molnarkaroly AT users.sf.net>
23652         * device/non-free/include/pic14/pic16f1784.h,
23653           device/non-free/include/pic14/pic16f1786.h,
23654           device/non-free/include/pic14/pic16f1787.h,
23655           device/non-free/include/pic16/pic18f65j94.h,
23656           device/non-free/include/pic16/pic18f66j60.h,
23657           device/non-free/include/pic16/pic18f66j65.h,
23658           device/non-free/include/pic16/pic18f66j94.h,
23659           device/non-free/include/pic16/pic18f66j99.h,
23660           device/non-free/include/pic16/pic18f67j60.h,
23661           device/non-free/include/pic16/pic18f67j94.h,
23662           device/non-free/include/pic16/pic18f85j94.h,
23663           device/non-free/include/pic16/pic18f86j60.h,
23664           device/non-free/include/pic16/pic18f86j65.h,
23665           device/non-free/include/pic16/pic18f86j94.h,
23666           device/non-free/include/pic16/pic18f86j99.h,
23667           device/non-free/include/pic16/pic18f87j60.h,
23668           device/non-free/include/pic16/pic18f87j94.h,
23669           device/non-free/include/pic16/pic18f95j94.h,
23670           device/non-free/include/pic16/pic18f96j60.h,
23671           device/non-free/include/pic16/pic18f96j65.h,
23672           device/non-free/include/pic16/pic18f96j94.h,
23673           device/non-free/include/pic16/pic18f96j99.h,
23674           device/non-free/include/pic16/pic18f97j60.h,
23675           device/non-free/include/pic16/pic18f97j94.h,
23676           support/scripts/cinc2h.pl:
23677           Updated based on the gputils.
23679 2013-03-03 Raphael Neider <rneider AT web.de>
23681         * src/pic14/gen.c (popGet): improve debugging output,
23682           (SetIrp): handle PO_IMMEDIATES correctly, restructure code,
23683           (genUnpackBits): handle dummy reads w/o result correctly,
23684           (genNearPointerGet): handle dummy reads w/o result efficiently,
23685           together this fixes #3606703
23686         * src/pic14/gen.c (genConstPointerGet):
23687           read AOP_SIZE(result) bytes from source, fixes #3606709
23689 2013-02-25 Raphael Neider <rneider AT web.de>
23691         * src/pic14/ralloc.c (packRegsForOneuse):
23692           prevent NULL ptr dereference (fixes bug #3605966)
23694 2013-02-24 Raphael Neider <rneider AT web.de>
23696         * device/lib/pic14/libsdcc/ulong2fs.c:
23697           prefer 'while (COND) {}' over 'if (COND) do {} while (COND)'
23698         * src/pic14/gen.c (genAnd):
23699           fix for loop condition in ulong2fs.c (fixes #3605855)
23700         * device/lib/pic14/libm/Makefile.am:
23701           fix typo in CFLAGS for libme (fixes #3605860)
23703 2013-02-17 Raphael Neider <rneider AT web.de>
23705         * device/non-free/lib/pic14/configure.in,
23706           device/non-free/lib/pic16/configure.ac:
23707           Check and display devices missing in gputils before proceeding
23708           and request updating gputils if any to-be-supported is missing
23709         * device/non-free/lib/pic14/configure,
23710           device/non-free/lib/pic16/configure:
23711           regenerated
23713 2013-02-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23715         * support/scripts/mcs51-disasm.pl:
23716           Use default sfr and sbit names if no header file.
23718 2013-02-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23720         * src/stm8/gen.c:
23721           Code generation fixes and refactoring, implement ^, CALL.
23722         * src/SDCCopt.c:
23723           Enable lospre for stm8.
23724         * src/stm8/main.c:
23725           Correctly announce lack of multiplication support.
23727 2013-02-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23729         * src/stm8/gen.c:
23730           Basic code generation infrastructure for &, |, RETURN, <, >.
23732 2013-02-10 Molnar Karoly <molnarkaroly AT users.sf.net>
23734         * support/scripts/mcs51-disasm.pl: Adds used count to sfr, sbit and bit lists.
23736 2013-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23738         * src/stm8/gen.c,
23739           src/stm8/main.c:
23740           Various code generation fixes, improvements, debug messages.
23741         * device/lib/stm8/Makefile.in:
23742           Fix some hc08 leftovers.
23744 2013-02-08 Molnar Karoly <molnarkaroly AT users.sf.net>
23746         * support/scripts/mcs51-disasm.pl: bugfix
23748 2013-02-03 Molnar Karoly <molnarkaroly AT users.sf.net>
23750         * support/scripts/mcs51-disasm.pl: Improved recognition of jump tables.
23752 2013-02-03 Molnar Karoly <molnarkaroly AT users.sf.net>
23754         * support/scripts/mcs51-disasm.pl: Improved recognition of jump tables and
23755           bugfix.
23757 2013-02-03 Molnar Karoly <molnarkaroly AT users.sf.net>
23759         * support/scripts/mcs51-disasm.pl: Bugfix and count of references in the RAM.
23761 2013-02-01 Molnar Karoly <molnarkaroly AT users.sf.net>
23763         * support/scripts/mcs51-disasm.pl: Small refinements.
23765 2013-01-31 Molnar Karoly <molnarkaroly AT users.sf.net>
23767         * support/scripts/mcs51-disasm.pl: Use IRAM key in name-list file.
23769 2013-01-29 Philipp Klaus Krause <philipp AT colecovision.eu>
23771         * src/stm8/gen.c:
23772           Use clr for more efficient zeroing.
23774 2013-01-29 Molnar Karoly <molnarkaroly AT users.sf.net>
23776         * support/scripts/mcs51-disasm.pl: Use informations of the OSEG area from
23777           map file.
23779 2013-01-28 Molnar Karoly <molnarkaroly AT users.sf.net>
23781         * support/scripts/mcs51-disasm.pl: New command option: --name-list
23783 2013-01-28 Philipp Klaus Krause <pkk AT spth.de>
23785         * src/hc08/gen.c,
23786           More efficient calls to _Noreturn functions.
23788 2013-01-28 Molnar Karoly <molnarkaroly AT users.sf.net>
23790         * support/scripts/mcs51-disasm.pl: Improved finds of stack. Prints into
23791           map the iRAM.
23793 2013-01-27 Philipp Klaus Krause <pkk AT spth.de>
23795         * src/SDCCpeeph.c,
23796           src/z80/gen.c,
23797           More efficient calls to _Noreturn functions.
23799 2013-01-27 Molnar Karoly <molnarkaroly AT users.sf.net>
23801         * support/scripts/mcs51-disasm.pl: Prints the map of RAM, list of bits and
23802           start of stack.
23804 2013-01-27 Molnar Karoly <molnarkaroly AT users.sf.net>
23806         * support/scripts/mcs51-disasm.pl: Improved recognition of jump tables.
23808 2013-01-26 Molnar Karoly <molnarkaroly AT users.sf.net>
23810         * support/scripts/mcs51-disasm.pl: New command option: --recognize-jump-tables
23812 2013-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
23814         * support/scripts/mcs51-disasm.pl: New command option: --find-lost-labels
23816 2013-01-23 Molnar Karoly <molnarkaroly AT users.sf.net>
23818         * support/scripts/mcs51-disasm.pl:
23819           New feature in "Public labels" section: (calls: ..., jumps: ...)
23820           ("number of calls" and "number of jumps")
23822 2013-01-21 Molnar Karoly <molnarkaroly AT users.sf.net>
23824         * support/scripts/mcs51-disasm.pl: Bugfix and more proposal for use.
23826 2013-01-20 Molnar Karoly <molnarkaroly AT users.sf.net>
23828         * support/scripts/mcs51-disasm.pl: Additional informations about direction
23829           of the jumps.
23831 2013-01-20 Molnar Karoly <molnarkaroly AT users.sf.net>
23833         * support/scripts/mcs51-disasm.pl: "Public variables" -> "Public labels"
23835 2013-01-20 Molnar Karoly <molnarkaroly AT users.sf.net>
23837         * support/scripts/mcs51-disasm.pl: Improved handling of blocks and
23838           lists of labels and variables.
23840 2013-01-19 Molnar Karoly <molnarkaroly AT users.sf.net>
23842         * support/scripts/mcs51-disasm.pl: Expanded assembly mode and nicer tables.
23844 2013-01-15 Raphael Neider <rneider AT web.de>
23846         * device/lib/pic16/libsdcc/long/modulong.c:
23847           return ~0UL instead of looping endlessly on divide-by-0,
23848           addresses #3600983
23850 2013-01-13 Raphael Neider <rneider AT web.de>
23852         * src/pic14/gen.c (genDataPointerSet):
23853           fix and simplify operand size detection, fixes #3600361
23854         * src/pic14/main.c (keywords[]):
23855           remove unsupported "pdata", fixes #3600724
23857 2013-01-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23859         * support/scripts/cinc2h.pl: Canceled the command option: --create-sfr16
23860         * device/non-free/include/pic16/pic18*.h,
23861           device/non-free/lib/pic16/libdev/pic18*.c: Canceled the __sfr16 type.
23863 2013-01-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23865         * support/scripts/mcs51-disasm.pl: New command option: --assembly-source
23867 2013-01-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23869         * support/scripts/cinc2h.pl: New command option: --create-sfr16
23870           (This option is for the time being operates only at the pic16 series.)
23871         * device/non-free/include/pic16/pic18*.h,
23872           device/non-free/lib/pic16/libdev/pic18*.c: Implementation of the __sfr16
23873           type.
23875 2013-01-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23877         * support/scripts/mcs51-disasm.pl: New command option: --no-explanations
23879 2013-01-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23881         * support/scripts/mcs51-disasm.pl: New command option: --hex-constant
23883 2013-01-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23885         * support/scripts/mcs51-disasm.pl: Faster the decoding of instructions.
23887 2013-01-11 Molnar Karoly <molnarkaroly AT users.sf.net>
23889         * support/scripts/mcs51-disasm.pl: More control characters are recognized.
23890           Refinement the align of explanations.
23892 2013-01-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23894         * src/hc08/main.c: Nearly exact instruction sizes for peephole
23895           branch optimizations.
23897 2013-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23899         * src/mcs51/gen.c (genSend): "fix" for bug #3600343
23901 2013-01-10 Molnar Karoly <molnarkaroly AT users.sf.net>
23903         * support/scripts/mcs51-disasm.pl: Simplified the code.
23905 2013-01-10 Molnar Karoly <molnarkaroly AT users.sf.net>
23907         * doc/sdccman.lyx: Expanded the 6.2 (Tools) table.
23909 2013-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23911         * src/hc08/ralloc.c (packRegisters),
23912         * src/hc08/gen.c (aopForRemat): allow more rematerializations of
23913           cast pointers
23914         * src/hc08/ralloc2.cc (operand_is_ax): fixed bug that misidentified
23915           some register assignments as the register pair AX
23917 2013-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23919         * src/SDCC.y,
23920         * src/SDCCast.h,
23921         * src/SDCCast.c: Move the test condition of a for-loop to the end of
23922           the loop if it is always true for the first iteration of the loop
23923           and has no side-effects.
23925 2013-01-09 Molnar Karoly <molnarkaroly AT users.sf.net>
23927         * support/scripts/mcs51-disasm.pl: Internal restructuring an bug fixes.
23929 2013-01-08 Molnar Karoly <molnarkaroly AT users.sf.net>
23931         * support/scripts/mcs51-disasm.pl: Prints in table the embedded constants.
23933 2013-01-07 Molnar Karoly <molnarkaroly AT users.sf.net>
23935         * support/scripts/mcs51-disasm: Renamed to mcs51-disasm.pl
23937 2013-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23939         * src/hc08/gen.c,
23940         * src/hc08/ralloc2.cc: Support more register combinations
23941           with pointer get/set and ifx iCodes. Allow rmw instructions to
23942           use X as a scratch register.
23943         * sim/ucsim/hc08.src/inst.cc: Fixed bug with cbeq using stack operand
23944           modifying hx
23946 2012-01-07 Philipp Klaus Krause <pkk AT spth.de>
23948         * src/stm8/gen.c:
23949           Infrastructure for the stm8 port.
23951 2012-01-06 Philipp Klaus Krause <pkk AT spth.de>
23953         * src/stm8/gen.c:
23954           Infrastructure for the stm8 port.
23956 2013-01-06 Philipp Klaus Krause <pkk AT spth.de>
23958         * src/z80/gen.c,
23959           src/z80/ralloc.c:
23960           Minor code cleanup.
23962 2013-01-06 Molnar Karoly <molnarkaroly AT users.sf.net>
23964         * support/scripts/mcs51-disasm:
23965           Changes in the commandline options:
23966             Renamed --code-size to --rom-size.
23967             Removed: --debug
23968             New: --verbose, --const-area
23969           Extracts more informations from map file.
23971 2012-01-06 Philipp Klaus Krause <pkk AT spth.de>
23973         * src/stm8/ralloc.c,
23974           src/stm8/gen.c:
23975           Infrastructure for the stm8 port.
23977 2013-01-06 Borut Razem <borut.razem AT gmail.com>
23979         * src/SDCCasm.c, src/SDCCasm.h: excluded unused asm mappings
23981 2012-01-06 Philipp Klaus Krause <pkk AT spth.de>
23983         * src/stm8/ralloc.c,
23984           src/stm8/ralloc2.cc:
23985           Register allocation infrastructure for the stm8 port.
23986         * src/stm8/gen.c:
23987           Code generation infrastructure for the stm8 port.
23989 2013-01-05 Molnar Karoly <molnarkaroly AT users.sf.net>
23991         * support/scripts/mcs51-disasm: More informations from map file.
23993 2013-01-05 Molnar Karoly <molnarkaroly AT users.sf.net>
23995         * support/scripts/mcs51-disasm: The required perl version: 5.12.0
23996           One repair: The unknown instruction is actually simple embedded
23997           data in the code.
23999 2013-01-05 Molnar Karoly <molnarkaroly AT users.sf.net>
24001         * support/scripts/mcs51-disasm: New commandline option: --map-file
24002           More detailed comments of instructions.
24004 2013-01-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24006         * src/hc08/ralloc.h,
24007         * src/hc08/ralloc.c,
24008         * src/hc08/gen.h,
24009         * src/hc08/gen.c: Removed some unused fields of the asmop
24010           struct. Made checking asmops for registers more efficient.
24012 2013-01-04 Molnar Karoly <molnarkaroly AT users.sf.net>
24014         * support/scripts/mcs51-disasm: New commandline option: --code-size
24015           In addition, limited tracking of some register (Rx, DPTR).
24017 2013-01-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24019         * src/hc08/ralloc.c: Removed old code from the original fork
24020           from mcs51 that was not being used. Brought the old register
24021           allocator up to date with the current code generator.
24022         * src/hc08/gen.c: Support ldhx/sthx with stack operands on s08.
24023           Avoid using hx to assign literals to stack operands on hc08.
24025 2013-01-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24027         * src/hc08/gen.c (genAssignLit): fixed bug on systems that default
24028           to signed char.
24030 2013-01-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24032         * src/hc08/gen.c: Fixed code size regression on s08 from overuse
24033           of indexed addressing mode. Clean out some old, unused source.
24034           Initialize hc08_aop_pass[] only once. Correct costs in
24035           accopWithAop() for 2 byte instructions. Small improvements
24036           to addition and subtraction.
24038 2013-01-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24040         * device/non-free/include/pic14/pic16f720.h,
24041           device/non-free/include/pic14/pic16f721.h,
24042           device/non-free/include/pic14/pic16lf1902.h,
24043           device/non-free/include/pic14/pic16lf1903.h,
24044           device/non-free/include/pic16/pic18f65j94.h,
24045           device/non-free/include/pic16/pic18f66j60.h,
24046           device/non-free/include/pic16/pic18f66j65.h,
24047           device/non-free/include/pic16/pic18f66j94.h,
24048           device/non-free/include/pic16/pic18f66j99.h,
24049           device/non-free/include/pic16/pic18f67j60.h,
24050           device/non-free/include/pic16/pic18f67j94.h,
24051           device/non-free/include/pic16/pic18f85j94.h,
24052           device/non-free/include/pic16/pic18f86j60.h,
24053           device/non-free/include/pic16/pic18f86j65.h,
24054           device/non-free/include/pic16/pic18f86j94.h,
24055           device/non-free/include/pic16/pic18f86j99.h,
24056           device/non-free/include/pic16/pic18f87j60.h,
24057           device/non-free/include/pic16/pic18f87j94.h,
24058           device/non-free/include/pic16/pic18f95j94.h,
24059           device/non-free/include/pic16/pic18f96j60.h,
24060           device/non-free/include/pic16/pic18f96j65.h,
24061           device/non-free/include/pic16/pic18f96j94.h,
24062           device/non-free/include/pic16/pic18f96j99.h,
24063           device/non-free/include/pic16/pic18f97j60.h,
24064           device/non-free/include/pic16/pic18f97j94.h,
24065           device/non-free/lib/pic14/libdev/pic16f720.c,
24066           device/non-free/lib/pic14/libdev/pic16f721.c,
24067           device/non-free/lib/pic14/libdev/pic16lf1902.c,
24068           device/non-free/lib/pic14/libdev/pic16lf1903.c:
24069           Updated based on the gputils.
24071 2013-01-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24073         * src/hc08/gen.h,
24074         * src/hc08/gen.c: More optimization of literal constant assignments.
24075           Use indexed addressing mode in place of extended in some contexts.
24077 2013-01-01 Molnar Karoly <molnarkaroly AT users.sf.net>
24079         * support/scripts/mcs51-disasm: Disassembler for the mcs51 family.
24081 2013-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24083         * src/hc08/peeph.def: Removed peephole rule #8 since it is handled
24084           in code generator now. Added rules for dbnz.
24085         * src/hc08/gen.c:  Rewrote genDbnz(). Minor improvements to genCmp()
24086           and asmopToBool(). Removed some totally wrong code from genIfx().
24088 2012-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24090         * src/hc08/ralloc.h,
24091         * src/hc08/ralloc.c,
24092         * src/hc08/gen.c: optimization of literal constant loads/transfers
24094 2012-12-31 Raphael Neider <rneider AT web.de>
24096         * src/pic14/genarith.c (genAddLit): fixed coding style,
24097           fixed #3599010 by adding implementation of (int + X)
24098           for X in [0x0102; 0x01FE]
24100 2012-12-29 Philipp Klaus Krause <pkk AT spth.de>
24102         * src/stm8/gen.c,
24103           src/stm8/ralloc2.cc:
24104           Infrastructure for STM8 port.
24106 2012-12-29 Philipp Klaus Krause <pkk AT spth.de>
24108         * src/SDCCbtree.cc:
24109           Fix bug #3598841.
24111 2012-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
24113         * sdcc_vc.h.in: converted TABs to spaces
24114         * src/SDCCast.c(expandInlineFuncs): even MSVC 2012 still does not support
24115           C99 randomly placed declarations, please place all declarations at the
24116           start of a block
24117         * src/sdcc.vcxproj,
24118         * src/sdcc.vcxproj.filters: added SDCCbtree.cc and SDCCbtree.h
24119         * src/SDCCbtree.cc: fixed STX usage
24121 2012-12-29 Philipp Klaus Krause <pkk AT spth.de>
24123         * src/stm8/ralloc2.cc,
24124           src/stm8/gen.c,
24125           src/stm8/ralloc.c:
24126           Infrastructure for STM8 port.
24128 2012-12-28 Philipp Klaus Krause <pkk AT spth.de>
24130         * src/stm8/ralloc2.cc,
24131           src/stm8/gen.c,
24132           src/stm8/gen.h:
24133           Infrastructure for STM8 port.
24135 2012-12-28 Philipp Klaus Krause <pkk AT spth.de>
24137         * support/regression/tests/gcc-torture-execute-20011126-1.c,
24138           support/regression/tests/gcc-torture-execute-20000717-2.c,
24139           support/regression/tests/gcc-torture-execute-921202-2.c,
24140           support/regression/tests/gcc-torture-execute-20050104-1.c:
24141           Enable some long long regression tests, that now seem to work even on
24142           32-bit systems.
24144 2012-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
24146         * doc/sdccman.lyx: small update about sdas390
24147         * sdas/asgb/gbpst.c: enable macros
24148         * sdas/asxxsrc/aslex.c (nxtline): also fix macro case
24149         * sdas/asxxsrc/asmcro.c,
24150         * sdas/asxxsrc/asout.c,
24151         * sdas/asxxsrc/asxxxx.h: small step to ASxxxx v5
24152         * src/mcs51/gen.c(genJumpTab): use optimize.codeSpeed and options.acall_ajmp
24153         * src/SDCCast.c(createFunction): fixed warning
24154         * src/SDCCpeeph.c: cosmetics
24155         * support/regression/tests/bug3467508.c: suppress warnings
24156         * support/regression/tests/gcc-torture-execute-20050125-1.c: fixed warning
24157         * support/regression/tests/gcc-torture-execute-20050224-1.c: shortened test,
24158           always perform ASSERT for correct statistics
24159         * support/regression/tests/gcc-torture-execute-20051104-1.c: added comments
24160         * support/regression/tests/gcc-torture-execute-doloop-2.c: always ASSERT
24161         * support/regression/tests/key.c,
24162         * support/regression/tests/long_asm_line.c,
24163         * support/regression/tests/macro.c: use at least one ASSERT
24165 2012-12-28 Philipp Klaus Krause <pkk AT spth.de>
24167         * src/stm8/ralloc2.cc,
24168           src/stm8/gen.h,
24169           src/stm8/main.c,
24170           src/stm8/gen.c,
24171           src/stm8/ralloc.h,
24172           src/stm8/ralloc.c:
24173           Infrastructure for STM8 port.
24175 2012-12-27 Philipp Klaus Krause <pkk AT spth.de>
24177         * Merged blocktree branch.
24179 2012-12-27 Philipp Klaus Krause <pkk AT spth.de>
24181         * src/SDCCglue.c:
24182           Handle emission of long long constants.
24183           Emit error message for unknown sizes instead of failing silently.
24185 2012-12-27 Maarten Brock <sourceforge.brock AT dse.nl>
24187         * src/SDCCval.c,
24188         * sdcc_vc.h.in: moved strto(u)ll macros and fixed warnings
24190 2012-12-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24192         * src/SDCCglue.c (emitOverlay): fixed bug #3596899
24193         * support/regression/tests/gcc-tortue-execute-20021118-2.c:
24194           re-enabled test (fixed by my 2012-12-26 commit)
24196 2012-12-26 Maarten Brock <sourceforge.brock AT dse.nl>
24198         * src/SDCCval.c: inserted macros for strtoll and strtoull
24200 2012-12-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24202         * src/SDCC.y,
24203         * src/SDCCsymt.c,
24204         * src/SDCCsymt.h,
24205         * src/SDCCast.c,
24206         * src/SDCCast.h: Fixed some scope related bugs including
24207           #3190029 (improved previous fix), #3513308, and #3511513
24208         * support/regression/tests/gcc-torture-execute-960116-1.c:
24209           re-enabled test
24211 2012-12-26 Borut Razem <borut.razem AT gmail.com>
24213         * support/sdbinutils/binutils/configure.in,
24214           support/sdbinutils/binutils/configure:
24215           fixed bug #3527589 - "Build fails on archlinux ppc"
24217 2012-12-25 Borut Razem <borut.razem AT gmail.com>
24219         * src/pic14/gen.c, src/pic14/main.c:
24220           applied patch #3193179 - "pic14 naked ISR handler"
24221           implementing RFE #1432077 - "naked for pic14",
24222           thanks to Wolfgang Jung
24224 2012-12-23 Vaclav Peroutka <vaclavpe AT seznam.cz>
24226    * sim/ucsim/configure
24227      sim/ucsim/configure.in
24228      sim/ucsim/main_in.mk
24229      sim/ucsim/packages_in.mk
24230      sim/ucsim/stypes.h
24231      sim/ucsim/st7.src/(c).1
24232      sim/ucsim/st7.src/Makefile.in
24233      sim/ucsim/st7.src/clean.mk
24234      sim/ucsim/st7.src/conf.mk
24235      sim/ucsim/st7.src/glob.cc
24236      sim/ucsim/st7.src/glob.h
24237      sim/ucsim/st7.src/inst.cc
24238      sim/ucsim/st7.src/instcl.h
24239      sim/ucsim/st7.src/regsst7.h
24240      sim/ucsim/st7.src/simst7.cc
24241      sim/ucsim/st7.src/simst7cl.h
24242      sim/ucsim/st7.src/sst7.cc
24243      sim/ucsim/st7.src/st7.cc
24244      sim/ucsim/st7.src/st7cl.h
24245      sim/ucsim/st7.src/st7mac.h
24246      sim/ucsim/stm8.src/inst.cc
24247      sim/ucsim/stm8.src/instcl.h
24248      sim/ucsim/stm8.src/stm8.cc
24249      sim/ucsim/stm8.src/stm8mac.h
24251 2012-12-23 Philipp Klaus Krause <pkk AT spth.de>
24253         * src/stm8/gen.c,
24254           src/stm8/ralloc.h,
24255           src/stm8/ralloc2.cc,
24256           src/stm8/ralloc.c:
24257           Infrastructure for STM8 port.
24259 2012-12-22 Philipp Klaus Krause <pkk AT spth.de>
24261         * src/stm8/main.c,
24262           src/stm8/gen.c,
24263           src/stm8/gen.h,
24264           src/stm8/ralloc.h,
24265           src/port.h,
24266           src/SDCCmain.c,
24267           src/stm8/ralloc.c:
24268           Basic infrastructure for STM8 port.
24270 2012-12-21 Philipp Klaus Krause <pkk AT spth.de>
24272         * Makefile.common.in,
24273           Makefile.in,
24274           configure.in,
24275           sim/ucsim/aclocal.m4,
24276           sim/ucsim/configure,
24277           configure,
24278           debugger/mcs51/aclocal.m4,
24279           src/port.h,
24280           src/stm8,
24281           src/stm8/Makefile.in,
24282           src/stm8/main.c,
24283           src/stm8/peeph.def,
24284           device/lib/stm8,
24285           device/lib/stm8/Makefile.in,
24286           src/stm8/ralloc.h:
24287           Basic build infrastructure for STM8 port.
24289 2012-12-20 Philipp Klaus Krause <pkk AT spth.de>
24291         * src/SDCCbtree.cc:
24292           BTREE_DEBUG macro for enabling debub messages in blocktree-based allocator.
24294 2012-12-20 Philipp Klaus Krause <pkk AT spth.de>
24296         * support/regression/tests/frexpf.c:
24297           Test for frexpf().
24298         * src/z80/gen.c:
24299           Do not attempt to restore pair using dec, when it has been pushed.
24301 2012-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24303         * src/SDCCval.c (constVal),
24304         * sdas/asxxsrc/aslex.c (nxtline): fixed warnings
24306 2012-12-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24308         * src/SDCCbtree.cc:
24309           Special handling for parameters in btree-based stack allocation.
24311 2012-12-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24313         * src/SDCCralloc.hpp:
24314           Send error message about invalid root to cerr instead of cout.
24316 2012-12-19 Borut Razem <borut.razem AT gmail.com>
24318         * src/SDCCmain.c, src/SDCCglobl.h, support/cpp/sdcpp.opt,
24319           support/cpp/libcpp/init.c, support/cpp/sdcpp-opts.c
24320           fixed bug 3572584 - "Trigraphs don't work", 2nd try:
24321           trigraphs are enabled by default in sdcpp
24323 2012-12-16 Borut Razem <borut.razem AT gmail.com>
24325         * src/SDCCglobl.h, src/SDCCmain.c:
24326           fixed bug 3572584 - "Trigraphs don't work"
24328 2012-12-14 Philipp Klaus Krause <pkk AT spth.de>
24330         * src/SDCCbtree.cc,
24331           src/SDCCast.c:
24332           Fixes for block-based stack allocation.
24334 2012-12-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24336         * src/SDCC.y
24337           src/SDCCbtree.h,
24338           src/SDCCbtree.cc,
24339           src/SDCCast.c,
24340           src/SDCCmem.c:
24341           Fixes for block-based stack allocation.
24343 2012-12-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24345         * src/SDCC.y
24346           src/SDCCbtree.h,
24347           src/SDCCbtree.cc,
24348           src/SDCCmem.c:
24349           Infrastructure for block-based stack allocation.
24351 2012-12-09 Philipp Klaus Krause <pkk AT spth.de>
24353         * src/z80/gen.c:
24354           Do not generate redundant loads when fetching pair from regs.
24356 2012-12-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24358         * support/scripts/cinc2h.pl,
24359           support/scripts/pic14-header-parser.pl,
24360           support/scripts/pic16-header-parser.pl: I changed the copyright.
24362 2012-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24364         * src/SDCC.y (labeled_statement): fixed bug #3590884
24366 2012-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24368         * src/SDCCcse.c (algebraicOpts),
24369         * src/SDCCicode.c (operandOperation),
24370         * src/SDCCsymt.c (bitsForType),
24371         * src/SDCCval.h,
24372         * src/SDCCval.c: working towards long long constant support
24374 2012-11-25 Molnar Karoly <molnarkaroly AT users.sf.net>
24376         * device/non-free/include/pic16/pic18f6390.h,
24377           device/non-free/lib/pic16/libdev/pic18f6390.c:
24378           Repaired wrong address of RCREG, 0x0FA0 --> 0x0FAE.
24380 2012-11-25 Molnar Karoly <molnarkaroly AT users.sf.net>
24382         * device/non-free/include/pic16/pic18f63j11.h,
24383           device/non-free/lib/pic16/libdev/pic18f63j11.c:
24384           Repaired wrong address of RCREG, 0x0FD0 --> 0x0FAE.
24386 2012-11-24 Borut Razem <borut.razem AT gmail.com>
24388         * doc/sdccman.lyx: LyX format update to lyxformat 413, LyX 2.x.x
24390 2012-11-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24392         * src/SDCCtree_dec.hpp:
24393           Ensure we have an empty bag at the root in nice tree decompositions.
24394         * support/regression/tests/gcc-torture-execute-20060110-1.c:
24395           Disable test which fails on arm for gbz80 due to unimplemented long long constants.
24397 2012-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24399         * doc/sdccman.lyx: removed duplicate commands my lyx edit added
24401 2012-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24403         * doc/sdccman.lyx: document --no-ret-without-call and fix some typos
24405 2012-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
24407         * src/mcs51/gen.c (emitDummyCall): use temporary label,
24408           (genPcall): use temporary label call instead of pushes,
24409           (genJumpTab): optimized thresholds and always use jmp @a+dptr
24410         * src/mcs51/peep.c (scan4op): detect lcall temporary label
24411         * src/mcs51/ralloc.c: cosmetics
24413 2012-11-18 Molnar Karoly <molnarkaroly AT users.sf.net>
24415         * support/scripts/pic16-header-parser.pl:
24416           New capability: Handling of I/O pins of the peripheral.
24417           The program creates six files in the actual directory:
24418                 adc.tables, ccp.tables, pwm.tables, i2c.tables,
24419                 spi.tables, usart.tables
24421 2012-11-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24423         * src/SDCCglobl.h,
24424         * src/mcs51/main.c
24425         * src/mcs51/gen.c (emitDummyCall,genJumpTab, genPcall):
24426           added --no-ret-without-call option for compatibility with
24427           Infineon's Memory Extension Stack
24429 2012-11-15 Maarten Brock <sourceforge.brock AT dse.nl>
24431         * sdcc.sln,
24432         * support/scripts/sdcc.nsi: added sdas390
24434 2012-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24436         * src/SDCCast.c (decorateType): fixed bug #3577669
24437         * support/regression/tests/gcc-torture-execute-20021010-1.c: reenabled
24439 2012-11-13 Maarten Brock <sourceforge.brock AT dse.nl>
24441         * configure: added as8xcxxx to CONFIG_FILES
24443 2012-11-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24445         * src/z80/mappings.i:
24446           Fix use of and macro for z80asm assembler.
24448 2012-11-12 Maarten Brock <sourceforge.brock AT dse.nl>
24450         * configure,
24451         * configure.in,
24452         * Makefile.in: added as8xcxxx
24453         * Makefile.common.in: fixed OPT_DISABLE_DS390
24454         * sdas/as8051/i51mch.c,
24455         * sdas/as8051/i51pst.c: removed flat24
24456         * sdas/as8xcxxx/,
24457         * sdas/as8xcxxx/clean.mk,
24458         * sdas/as8xcxxx/ds8.h,
24459         * sdas/as8xcxxx/ds8adr.c,
24460         * sdas/as8xcxxx/ds8mch.c,
24461         * sdas/as8xcxxx/ds8pst.c,
24462         * sdas/as8xcxxx/Makefile.in,
24463         * sdas/as8xcxxx/sdas390.vcxproj,
24464         * sdas/as8xcxxx/sdas390.vcxproj.filters: new, added sdas390
24465         * sdas/asxxsrc/asdata.c: removed flat24Mode
24466         * sdas/asxxsrc/asexpr.c: added exprmasks()
24467         * sdas/asxxsrc/asmain.c: removed S_FLAT24 case
24468         * sdas/asxxsrc/asout.c: outr*() synced with ASxxxx v5
24469         * sdas/asxxsrc/asxxxx.h: next step to ASxxxx v5
24470         * sdas/asxxsrc/sdas.c,
24471         * sdas/asxxsrc/sdas.h: added TARGET_ID_DS390
24472         * src/ds390/gen.c: replaced ACC.x with ACC[x]
24473         * src/ds390/main.c: issue .DS80C390 and .amode instead of .flat24,
24474           and use sdas390
24476 2012-11-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24478         * support/regression/ports/ucr2k/spec.mk:
24479           Make ucr2k timeout the same as ucr3ka.
24480         * support/regression/tests/gcc-torture-execute-20111208-1.c:
24481           Disable test for gcc older than 5.0.
24483 2012-11-10 Borut Razem <borut.razem AT gmail.com>
24485         * support/regression/ports/ds390/spec.mk:
24486           doubled timeout since the gcc-torture-execute-20050224-1
24487           regression test stil fails with timeout on i586-mingw32msvc
24489 2012-11-09 Borut Razem <borut.razem AT gmail.com>
24491         * support/regression/fwk/lib/testfwk.c:
24492           "code" substituted with "__code"
24494 2012-11-08 Borut Razem <borut.razem AT gmail.com>
24496         * support/sdbinutils/bfd/Makefile.am,
24497           support/sdbinutils/bfd/Makefile.in,
24498           support/sdbinutils/include/opcode,
24499           support/sdbinutils/include/opcode/ia64.h,
24500           support/sdbinutils/include/opcode/sparc.h,
24501           support/sdbinutils/include/mach-o/x86-64.h,
24502           support/sdbinutils/bfd/verilog.c,
24503           support/sdbinutils/bfd/tekhex.c,
24504           support/sdbinutils/bfd/cpu-ia64-opc.c,
24505           support/sdbinutils/bfd/coff-ia64.c,
24506           support/sdbinutils/bfd/peXXigen.c,
24507           support/sdbinutils/bfd/elfnn-ia64.c,
24508           support/sdbinutils/bfd/bdfwin.c,
24509           support/sdbinutils/opcodes,
24510           support/sdbinutils/opcodes/ia64-opc.h:
24511           removed unused files
24512         * Makefile.in, support/scripts/sdcc.nsi, doc/sdccman.lyx,
24513           support/sdbinutils/binutils/Makefile.am,
24514           support/sdbinutils/binutils/Makefile.in,
24515           support/sdbinutils/bfd/targets.c,
24516           support/sdbinutils/binutils/ieee.c,
24517           support/sdbinutils/binutils/rddbg.c,
24518           support/sdbinutils/binutils/not-strip.c,
24519           support/sdbinutils/binutils/objcopy.c,
24520           support/sdbinutils/binutils/budbg.h,
24521           support/sdbinutils/binutils/rdcoff.c,
24522           support/sdbinutils/binutils/wrstabs.c,
24523           support/sdbinutils/binutils/debug.c,
24524           support/sdbinutils/binutils/debug.h,
24525           support/sdbinutils/binutils/stabs.c,
24526           support/sdbinutils/include/ieee.h:
24527           added binary target support, added sdobjcopy utility
24528         * support/regression/ports/ds390/spec.mk,
24529           support/regression/ports/mcs51-common/spec.mk,
24530           support/regression/ports/ucr3ka/spec.mk:
24531           increased timeouts due to the gcc-torture-execute-20050224-1
24532           regression test timeout failures
24534 2012-11-07 Borut Razem <borut.razem AT gmail.com>
24536         * support/sdbinutils/bfd/Makefile.am,
24537           support/sdbinutils/bfd/*.c:
24538           removed unused machine an backend files
24540 2012-11-06 Borut Razem <borut.razem AT gmail.com>
24542         * support/sdbinutils/bfd/targets.c:
24543           removed unneeded vectors and flavours
24544         * support/sdbinutils/bfd/targets.c,
24545           support/sdbinutils/bfd/config.bfd:
24546           support/sdbinutils/binutils/configure.in,
24547           support/sdbinutils/binutils/configure,
24548           removed all unused vectors; hardcode default target to asxxxx
24549         * support/sdbinutils/bfd/configure.in,
24550           support/sdbinutils/bfd/configure,
24551           support/sdbinutils/bfd/Makefile.in,
24552           support/sdbinutils/bfd/archures.c,
24553           support/sdbinutils/bfd/Makefile.am,
24554           support/sdbinutils/bfd/config.bfd:
24555           removed all unused architectures
24557 2012-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24559         * support/sdbinutils/bfd/targets.c: reenable asxxxx
24561 2012-11-05 Borut Razem <borut.razem AT gmail.com>
24563         * support/sdbinutils/*:
24564           sdbinutils synced with binutils-2.23
24566 2012-11-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24568         * src/z80/peeph-z80.def,
24569           src/z80/peeph-r2k.def:
24570           Fix condition on bc in peephole rule.
24572 2012-11-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24574         * support/regression/tests/gcc-torture-execute-20040313-1.c:
24575           Disabled test, since it fails on 32-bit Linux.
24577 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24579         * device/lib/pic16/startup/crt0i.c,
24580           device/lib/pic16/startup/crt0iz.c: Was reduced size of the code.
24582 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24584         * doc/sdccman.lyx: Added new pic18f97j94 family.
24586 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24588         * support/scripts/cinc2h.pl,
24589           support/scripts/pic14-header-parser.pl,
24590           support/scripts/pic16-header-parser.pl: Toggle execution flag.
24592 2012-11-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24594         * src/z80/gen.c:
24595           Fixed bug in assignment from register pair iy to extended stack, fix #3582658.
24597 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24599         * support/scripts/cinc2h.pl: Changed option "-c" onto "-o".
24600         * support/scripts/pic14-header-parser.pl,
24601           support/scripts/pic16-header-parser.pl,
24602           support/scripts/pic16fam-h-gen.pl: Updated my email address.
24604 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24606         * device/include/pic16/pic16devices.txt,
24607           device/include/pic16/pic18fregs.h,
24608           device/lib/pic16/libio/Makefile.am,
24609           device/lib/pic16/libio/Makefile.in,
24610           device/lib/pic16/libio/adc.ignore,
24611           device/lib/pic16/libio/i2c.ignore,
24612           device/lib/pic16/libio/usart.ignore,
24613           device/non-free/include/pic16/pic18f65j94.h,
24614           device/non-free/include/pic16/pic18f66j94.h,
24615           device/non-free/include/pic16/pic18f66j99.h,
24616           device/non-free/include/pic16/pic18f67j94.h,
24617           device/non-free/include/pic16/pic18f85j94.h,
24618           device/non-free/include/pic16/pic18f86j94.h,
24619           device/non-free/include/pic16/pic18f86j99.h,
24620           device/non-free/include/pic16/pic18f87j94.h,
24621           device/non-free/include/pic16/pic18f95j94.h,
24622           device/non-free/include/pic16/pic18f96j94.h,
24623           device/non-free/include/pic16/pic18f96j99.h,
24624           device/non-free/include/pic16/pic18f97j94.h,
24625           device/non-free/lib/pic16/libdev/Makefile.am,
24626           device/non-free/lib/pic16/libdev/Makefile.in,
24627           device/non-free/lib/pic16/libdev/pic18f65j94.c,
24628           device/non-free/lib/pic16/libdev/pic18f66j94.c,
24629           device/non-free/lib/pic16/libdev/pic18f66j99.c,
24630           device/non-free/lib/pic16/libdev/pic18f67j94.c,
24631           device/non-free/lib/pic16/libdev/pic18f85j94.c,
24632           device/non-free/lib/pic16/libdev/pic18f86j94.c,
24633           device/non-free/lib/pic16/libdev/pic18f86j99.c,
24634           device/non-free/lib/pic16/libdev/pic18f87j94.c,
24635           device/non-free/lib/pic16/libdev/pic18f95j94.c,
24636           device/non-free/lib/pic16/libdev/pic18f96j94.c,
24637           device/non-free/lib/pic16/libdev/pic18f96j99.c,
24638           device/non-free/lib/pic16/libdev/pic18f97j94.c,
24639           device/non-free/lib/pic16/pics.all: Support for new devices.
24641 2012-11-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24643         * src/z80/ralloc2.cc:
24644           Fix non-destructive bitwise and with single-bit literal for extended stack operands.
24645         * src/z80/gen.c:
24646           Fix built-in memset() for argument c in register pair hl.
24648 2012-11-01 Molnar Karoly <molnarkaroly AT users.sf.net>
24650         * device/non-free/include/pic14/pic1*.h,
24651           device/non-free/include/pic16/pic1*.h,
24652           device/non-free/lib/pic14/pic1*.c,
24653           device/non-free/lib/pic16/pic1*.c: recreated
24654         * support/scripts/cinc2h.pl: Updated my email address.
24656 2012-11-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24658         * src/z80/gen.c:
24659           Fix long shifts for result in a permutation of operand registers.
24661 2012-10-31 Maarten Brock <sourceforge.brock AT dse.nl>
24663         * sdas/asxxxsrc/asout.c (outdp): oops, forgot to commit this
24665 2012-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.s>
24667         * sdas/asxxxsrc/asout.c (outdp): fix to match prototype
24669 2012-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
24671         * sdas/as6808/as_hc08.vcxproj,
24672         * sdas/as6808/as_hc08.vcxproj.filters,
24673         * sdas/as8051/asx8051.vcxproj,
24674         * sdas/as8051/asx8051.vcxproj.filters,
24675         * sdas/asgb/asgb.vcxproj,
24676         * sdas/asgb/asgb.vcxproj.filters,
24677         * sdas/asrab/asrab.vcxproj,
24678         * sdas/asrab/asrab.vcxproj.filters,
24679         * sdas/asz80/as_z80.vcxproj,
24680         * sdas/asz80/as_z80.vcxproj.filters: added asmcro.c
24681         * sdas/as6808/m08mch.c,
24682         * sdas/as6808/m6808.h,
24683         * sdas/asxxsrc/asxxxx.h: outdp, chkindx synced with ASxxxx v5
24684         * device/lib/_gptrput.c: lock up on code write
24686 2012-10-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24688         * support/regression/ports/ds390/spec.mk,
24689           support/regression/ports/mcs51-common/spec.mk:
24690           Slightly increase timeouts.
24691         * support/regression/tests/gcc-torture-execute-20051104-1.c,
24692           support/regression/tests/gcc-torture-execute-950426-1.c,
24693           support/regression/tests/gcc-torture-execute-20021204-1.c:
24694           Disable warning on assigning string literal to non-const pointer.
24696 2012-10-24 Philipp Klaus Krause <pkk AT spth.de>
24698         * support/regression/tests/gcc-torture-execute-20070724-1.c:
24699           Disabled test on gcc older than 5.0.
24701 2012-10-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24703         * support/regression/tests/gcc-torture-execute-20050613-1.c:
24704           Disable a test for mcs51, where it fails for stack-auto.
24706 2012-10-19 Philipp Klaus Krause <pkk AT spth.de>
24708         * support/regression/tests/gcc-torture-execute-20060929-1.c,
24709           support/regression/tests/gcc-torture-execute-20070201-1.c:
24710           Disable tests on gcc older than 5.0.
24712 2012-10-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24714         * src/z80/gen.c,
24715           support/regression/tests/gcc-torture-execute-20060930-2.c:
24716           Fixed bug #3577673.
24717         * support/regression/tests/gcc-torture-execute-20060127-1.c,
24718           support/regression/tests/gcc-torture-execute-20060110-2.c:
24719           Note that these are affected by lack of support for long long literals.
24721 2012-10-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24723         * support/regression/tests/gcc-torture-execute-20041210-1.c,
24724           support/regression/tests/gcc-torture-execute-20050218-1.c,
24725           support/regression/tests/gcc-torture-execute-20051110-1.c,
24726           support/regression/tests/gcc-torture-execute-20041112-1.c,
24727           support/regression/tests/gcc-torture-execute-20040820-1.c,
24728           support/regression/tests/gcc-torture-execute-20040704-1.c,
24729           support/regression/tests/gcc-torture-execute-20050826-1.c,
24730           support/regression/tests/gcc-torture-execute-20040311-1.c,
24731           support/regression/tests/gcc-torture-execute-20040319-1.c,
24732           support/regression/tests/gcc-torture-execute-20051110-2.c,
24733           support/regression/tests/gcc-torture-execute-20071213-1.c,
24734           support/regression/tests/gcc-torture-execute-20040409-1.c,
24735           support/regression/tests/gcc-torture-execute-20070724-1.c,
24736           support/regression/tests/gcc-torture-execute-20050826-2.c,
24737           support/regression/tests/gcc-torture-execute-20051021-1.c,
24738           support/regression/tests/gcc-torture-execute-20050613-1.c,
24739           support/regression/tests/gcc-torture-execute-20041113-1.c,
24740           support/regression/tests/gcc-torture-execute-20050104-1.c,
24741           support/regression/tests/gcc-torture-execute-20040409-2.c,
24742           support/regression/tests/gcc-torture-execute-20071205-1.c,
24743           support/regression/tests/gcc-torture-execute-20041212-1.c,
24744           support/regression/tests/gcc-torture-execute-20040409-3.c,
24745           support/regression/tests/gcc-torture-execute-20050131-1.c,
24746           support/regression/tests/gcc-torture-execute-20040411-1.c,
24747           support/regression/tests/gcc-torture-execute-20041114-1.c,
24748           support/regression/tests/gcc-torture-execute-20040706-1.c,
24749           support/regression/tests/gcc-torture-execute-20040313-1.c,
24750           support/regression/tests/gcc-torture-execute-20040831-1.c,
24751           support/regression/tests/gcc-torture-execute-20050713-1.c,
24752           support/regression/tests/gcc-torture-execute-20111208-1.c,
24753           support/regression/tests/gcc-torture-execute-20050410-1.c,
24754           support/regression/tests/gcc-torture-execute-20040331-1.c,
24755           support/regression/tests/gcc-torture-execute-20051104-1.c,
24756           support/regression/tests/gcc-torture-execute-20071108-1.c,
24757           support/regression/tests/gcc-torture-execute-20050106-1.c,
24758           support/regression/tests/gcc-torture-execute-20041213-2.c,
24759           support/regression/tests/gcc-torture-execute-20040823-1.c,
24760           support/regression/tests/gcc-torture-execute-20040707-1.c,
24761           support/regression/tests/gcc-torture-execute-20070201-1.c,
24762           support/regression/tests/gcc-torture-execute-20071011-1.c,
24763           support/regression/tests/gcc-torture-execute-20050124-1.c,
24764           support/regression/tests/gcc-torture-execute-20071216-1.c,
24765           support/regression/tests/gcc-torture-execute-20050125-1.c,
24766           support/regression/tests/gcc-torture-execute-20040208-1.c,
24767           support/regression/tests/gcc-torture-execute-20050929-1.c,
24768           support/regression/tests/gcc-torture-execute-20071030-1.c,
24769           support/regression/tests/gcc-torture-execute-20050502-1.c,
24770           support/regression/tests/gcc-torture-execute-20040423-1.c,
24771           support/regression/tests/gcc-torture-execute-20050224-1.c,
24772           support/regression/tests/gcc-torture-execute-20041126-1.c,
24773           support/regression/tests/gcc-torture-execute-20041011-1.c,
24774           support/regression/tests/gcc-torture-execute-20071210-1.c,
24775           support/regression/tests/gcc-torture-execute-20050502-2.c,
24776           support/regression/tests/gcc-torture-execute-20041019-1.c,
24777           support/regression/tests/gcc-torture-execute-20070212-1.c,
24778           support/regression/tests/gcc-torture-execute-20040218-1.c,
24779           support/regression/tests/gcc-torture-execute-20070623-1.c,
24780           support/regression/tests/gcc-torture-execute-20071202-1.c,
24781           support/regression/tests/gcc-torture-execute-20070212-2.c,
24782           support/regression/tests/gcc-torture-execute-20051215-1.c,
24783           support/regression/tests/gcc-torture-execute-20071219-1.c,
24784           support/regression/tests/gcc-torture-execute-20070212-3.c,
24785           support/regression/tests/gcc-torture-execute-20040309-1.c,
24786           support/regression/tests/gcc-torture-execute-20050111-1.c,
24787           support/regression/tests/gcc-torture-execute-20070517-1.c,
24788           support/regression/tests/gcc-torture-execute-20040917-1.c:
24789           Added remaining parts (excluding tests for builtin functions and
24790           IEEE-compliane for floating-point) of the execute part
24791           of the gcc torture stest uite to regression tests.
24793 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24795         * device/lib/pic16/libio/i2c/i2copen.c:
24796           Bugfix: TRISCbits.TRISC2 --> TRISCbits.TRISC4
24798 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24800         * device/include/pic16/usart.h: Supplement to "USART styles".
24801         * device/lib/pic16/libio/usart/uopen.c:
24802           Use the (__SDCC_USART_STYLE == 1865850) condition.
24803         * doc/README.txt:
24804           New line at the end of the "Authors and interested persons" section.
24806 2012-10-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24808         * support/regression/tests/gcc-torture-execute-20020213-1.c,
24809           support/regression/tests/gcc-torture-execute-20020615-1.c,
24810           support/regression/tests/gcc-torture-execute-20020508-1.c,
24811           support/regression/tests/gcc-torture-execute-20020911-1.c,
24812           support/regression/tests/gcc-torture-execute-20020321-1.c,
24813           support/regression/tests/gcc-torture-execute-20020402-1.c,
24814           support/regression/tests/gcc-torture-execute-20021015-1.c,
24815           support/regression/tests/gcc-torture-execute-20020920-1.c,
24816           support/regression/tests/gcc-torture-execute-20020508-2.c,
24817           support/regression/tests/gcc-torture-execute-20020402-2.c,
24818           support/regression/tests/gcc-torture-execute-20020508-3.c,
24819           support/regression/tests/gcc-torture-execute-20020510-1.c,
24820           support/regression/tests/gcc-torture-execute-20021204-1.c,
24821           support/regression/tests/gcc-torture-execute-20020206-1.c,
24822           support/regression/tests/gcc-torture-execute-20020402-3.c,
24823           support/regression/tests/gcc-torture-execute-20020805-1.c,
24824           support/regression/tests/gcc-torture-execute-20020215-1.c,
24825           support/regression/tests/gcc-torture-execute-20020904-1.c,
24826           support/regression/tests/gcc-torture-execute-20020716-1.c,
24827           support/regression/tests/gcc-torture-execute-20020413-1.c,
24828           support/regression/tests/gcc-torture-execute-20020216-1.c,
24829           support/regression/tests/gcc-torture-execute-20020503-1.c,
24830           support/regression/tests/gcc-torture-execute-20020225-1.c,
24831           support/regression/tests/gcc-torture-execute-20020118-1.c,
24832           support/regression/tests/gcc-torture-execute-20021010-1.c,
24833           support/regression/tests/gcc-torture-execute-20020127-1.c,
24834           support/regression/tests/gcc-torture-execute-20020225-2.c,
24835           support/regression/tests/gcc-torture-execute-20020529-1.c,
24836           support/regression/tests/gcc-torture-execute-20020611-1.c,
24837           support/regression/tests/gcc-torture-execute-20020619-1.c,
24838           support/regression/tests/gcc-torture-execute-20021010-2.c,
24839           support/regression/tests/gcc-torture-execute-20020423-1.c,
24840           support/regression/tests/gcc-torture-execute-20020307-1.c,
24841           support/regression/tests/gcc-torture-execute-20020226-1.c,
24842           support/regression/tests/gcc-torture-execute-20021011-1.c,
24843           support/regression/tests/gcc-torture-execute-20020201-1.c,
24844           support/regression/tests/gcc-torture-execute-20020103-1.c,
24845           support/regression/tests/gcc-torture-execute-20021118-1.c,
24846           support/regression/tests/gcc-torture-execute-20020916-1.c,
24847           support/regression/tests/gcc-torture-execute-20020720-1.c,
24848           support/regression/tests/gcc-torture-execute-20020129-1.c,
24849           support/regression/tests/gcc-torture-execute-20021118-2.c,
24850           support/regression/tests/gcc-torture-execute-20020810-1.c,
24851           support/regression/tests/gcc-torture-execute-20020219-1.c,
24852           support/regression/tests/gcc-torture-execute-20021111-1.c,
24853           support/regression/tests/gcc-torture-execute-20020506-1.c,
24854           support/regression/tests/gcc-torture-execute-20021119-1.c,
24855           support/regression/tests/gcc-torture-execute-20021118-3.c,
24856           support/regression/tests/gcc-torture-execute-20021120-1.c,
24857           support/regression/tests/gcc-torture-execute-20021120-2.c,
24858           support/regression/tests/gcc-torture-execute-20020614-1.c,
24859           support/regression/tests/gcc-torture-execute-20020819-1.c,
24860           support/regression/tests/gcc-torture-execute-20021120-3.c,
24861           support/regression/tests/gcc-torture-execute-20021219-1.c,
24862           support/regression/tests/gcc-torture-execute-20020328-1.c,
24863           support/regression/tests/gcc-torture-execute-20060929-1.c,
24864           support/regression/tests/gcc-torture-execute-20060412-1.c,
24865           support/regression/tests/gcc-torture-execute-20060930-1.c,
24866           support/regression/tests/gcc-torture-execute-20060930-2.c,
24867           support/regression/tests/gcc-torture-execute-20060905-1.c,
24868           upport/regression/tests/gcc-torture-execute-20060110-1.c,
24869           support/regression/tests/gcc-torture-execute-20060127-1.c,
24870           support/regression/tests/gcc-torture-execute-20060110-2.c,
24871           support/regression/tests/gcc-torture-execute-20060102-1.c,
24872           support/regression/tests/gcc-torture-execute-20061101-2.c,
24873           support/regression/tests/gcc-torture-execute-20060910-1.c:
24874           More tests from gcc.
24876 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24878         * support/scripts/cinc2h.pl: Comfortable version.
24879           Writes to the separate directory (device and header) the *.C and
24880           *.H files. Removed the --create-pseudo-registers option.
24882 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24884         * device/include/pic16/usart.h:
24885           Simplification the definition of __SDCC_NO_SPBRGH.
24886           Thanks to Diego Herranz.
24888 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24890         * support/scripts/pic18fam-h-gen.pl,
24891           device/non-free/include/pic16/pic18fam.h:
24892           Repaired the wrong classification of "__SDCC_PIC16_FAMILY 1865850"
24893           in the (E)USART style.
24895 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24897         * doc/sdccman.lyx: Added the new pic processors.
24899 2012-10-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24901         * src/SDCCmain.c:
24902           Fixed typo in --std-c89 option description.
24904 2012-10-16 Borut Razem <borut.razem AT gmail.com>
24906         * support/sdbinutils/opcodes/ia64-opc.h:
24907           fixed bug #3577586 - missing binutils headers on ia64
24909 2012-10-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24911         * device/include/mcs51/lint.h:
24912           Fixed bug #3577318.
24914 2012-10-13 Maarten Brock <sourceforge.brock AT dse.nl>
24916         * sdas/as6808/m08mch.c,
24917         * sdas/as6808/m08pst.c,
24918         * sdas/as6808/m6808.h,
24919         * sdas/as6808/Makefile.in,
24920         * sdas/as8051/i51mch.c,
24921         * sdas/as8051/i51pst.c,
24922         * sdas/as8051/Makefile.in,
24923         * sdas/asgb/gb.h,
24924         * sdas/asgb/gbadr.c,
24925         * sdas/asgb/gbmch.c,
24926         * sdas/asgb/Makefile.in,
24927         * sdas/asrab/Makefile.in,
24928         * sdas/asrab/rab.h,
24929         * sdas/asrab/rabadr.c,
24930         * sdas/asrab/rabmch.c,
24931         * sdas/asrab/rabpst.c,
24932         * sdas/asxxsrc/asdata.c,
24933         * sdas/asxxsrc/asexpr.c,
24934         * sdas/asxxsrc/aslex.c,
24935         * sdas/asxxsrc/aslist.c,
24936         * sdas/asxxsrc/asmain.c,
24937         * sdas/asxxsrc/asxxxx.h,
24938         * sdas/asxxsrc/asmcro.c,
24939         * sdas/asz80/Makefile.in,
24940         * sdas/asz80/z80.h,
24941         * sdas/asz80/z80adr.c,
24942         * sdas/asz80/z80mch.c,
24943         * sdas/asz80/z80pst.c: added ASxxxx v5 macro support
24945 2012-10-13 Philipp Klaus Krause <pkk AT spth.de>
24947         * src/SDCCtree_dec.hpp,
24948           src/SDCCralloc.hpp:
24949           Fixed bug #3566360.
24951 2012-10-08 Borut Razem <borut.razem AT gmail.com>
24953         * support/sdbinutils/include/opcode/ia64.h: added since build
24954           on IA64 fails with elf64-ia64.c:27:25: error: opcode/ia64.h:
24955           No such file or directory
24957 2012-10-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24959         * src/mcs51/gen.c (genPagedPointerGet): fixed bug #3527222
24960         * support/regression/tests/gcc-torture-execute-921013-1.c: reenabled
24961         * src/mcs51/gen.c (genCast),
24962         * src/ds390/gen.c (genCast): fixed bug3467508 regression test failures
24963         * support/regression/tests/bug3467508.c: reenabled for mcs51 and ds390
24965 2012-10-08 Maarten Brock <sourceforge.brock AT dse.nl>
24967         * sdas/asgb/asgb.vcxproj,
24968         * sdas/asgb/asgb.vcxproj.filters,
24969         * sdas/asgb/Makefile.in,
24970         * sdas/asgb/gbext.c: removed gbext.c
24971         * sdas/as8051/i51mch.c,
24972         * sdas/as8051/i8051.h,
24973         * sdas/asgb/gbadr.c,
24974         * sdas/asgb/gbmch.c,
24975         * sdas/asrab/rabadr.c,
24976         * sdas/asz80/z80adr.c,
24977         * sdas/asxxsrc/asdata.c,
24978         * sdas/asxxsrc/aslist.c,
24979         * sdas/asxxsrc/asout.c,
24980         * sdas/asxxsrc/asxxxx.h: and yet another step towards ASxxxx v5
24982 2012-10-06 Maarten Brock <sourceforge.brock AT dse.nl>
24984         * sdas/as6808/m08pst.c,
24985         * sdas/as8051/i51pst.c,
24986         * sdas/asgb/gbpst.c,
24987         * sdas/asrab/rabpst.c,
24988         * sdas/asz80/z80pst.c,
24989         * sdas/asxxsrc/asdata.c,
24990         * sdas/asxxsrc/asdbg.c,
24991         * sdas/asxxsrc/aslex.c,
24992         * sdas/asxxsrc/aslist.c,
24993         * sdas/asxxsrc/asmain.c,
24994         * sdas/asxxsrc/assubr.c,
24995         * sdas/asxxsrc/asxxxx.h: use ASxxxx v5 file structs
24997 2012-10-06 Borut Razem <borut.razem AT gmail.com>
24999         * support/scripts/optimize_pic16devices.pl:
25000           updated with the latest version from Molnar Karoly
25001         * support/scripts/pic14-header-parser.pl,
25002           support/scripts/pic16-header-parser.pl: applied patch #3567006 -
25003           New support/scripts/pic1[46]-header-parser.pl,
25004           thanks to Molnar Karoly
25006 2012-10-05 Borut Razem <borut.razem AT gmail.com>
25008         * support/scripts/zip-pic16devices.pl,
25009           device/include/pic16/pic16devices.txt:
25010           applied patch #3574556 - Compressed pic16devices.txt file,
25011           thanks to Molnar Karoly
25012         * support/scripts/optimize_pic16devices.pl:
25013           renamed from zip-pic16devices.pl
25014         * support/scripts/inc2h-pic16.pl, support/scripts/inc2h.pl:
25015           removed, functionaly replaced by cinc2h.pl
25017 2012-10-03 Maarten Brock <sourceforge.brock AT dse.nl>
25019         * sdas/asxxsrc/asdata.c,
25020         * sdas/asxxsrc/asdbg.c,
25021         * sdas/asxxsrc/asexpr.c,
25022         * sdas/asxxsrc/aslex.c,
25023         * sdas/asxxsrc/aslist.c,
25024         * sdas/asxxsrc/asmain.c,
25025         * sdas/asxxsrc/asout.c,
25026         * sdas/asxxsrc/asxxxx.h: another step to ASxxxx v5
25028 2012-10-03 Borut Razem <borut.razem AT gmail.com>
25030         * device/non-free/lib/pic16/libdev/mkmk.sh:
25031           applied patch #3574102 - Modification of device/non-free/lib/pic16/libdev/mkmk.sh
25033 2012-10-02 Borut Razem <borut.razem AT gmail.com>
25035         * device/include/pic16/pic18fregs.h,
25036           device/include/pic16/pic16devices.txt,
25037           device/lib/pic16/libio/Makefile.am,
25038           device/lib/pic16/libio/adc.ignore,
25039           device/lib/pic16/libio/i2c.ignore,
25040           device/lib/pic16/libio/usart.ignore,
25041           device/lib/pic16/libio/Makefile.in,
25042           device/non-free/lib/pic16/libdev/Makefile.in,
25043           device/non-free/lib/pic16/libdev/Makefile.am,
25044           device/non-free/lib/pic16/pics.all,
25045           device/non-free/include/pic16pic18f13k22.h,
25046           device/non-free/lib/pic16/libdev/pic18f13k22.c,
25047           device/non-free/include/pic16pic18f14k22.h,
25048           device/non-free/lib/pic16/libdev/pic18f14k22.c,
25049           device/non-free/include/pic16pic18f24j11.h,
25050           device/non-free/lib/pic16/libdev/pic18f24j11.c,
25051           device/non-free/include/pic16pic18f24k50.h,
25052           device/non-free/lib/pic16/libdev/pic18f24k50.c,
25053           device/non-free/include/pic16pic18f25j11.h,
25054           device/non-free/lib/pic16/libdev/pic18f25j11.c,
25055           device/non-free/include/pic16pic18f25k50.h,
25056           device/non-free/lib/pic16/libdev/pic18f25k50.c,
25057           device/non-free/include/pic16pic18f25k80.h,
25058           device/non-free/lib/pic16/libdev/pic18f25k80.c,
25059           device/non-free/include/pic16pic18f26j11.h,
25060           device/non-free/lib/pic16/libdev/pic18f26j11.c,
25061           device/non-free/include/pic16pic18f26j13.h,
25062           device/non-free/lib/pic16/libdev/pic18f26j13.c,
25063           device/non-free/include/pic16pic18f26j53.h,
25064           device/non-free/lib/pic16/libdev/pic18f26j53.c,
25065           device/non-free/include/pic16pic18f26k80.h,
25066           device/non-free/lib/pic16/libdev/pic18f26k80.c,
25067           device/non-free/include/pic16pic18f27j13.h,
25068           device/non-free/lib/pic16/libdev/pic18f27j13.c,
25069           device/non-free/include/pic16pic18f27j53.h,
25070           device/non-free/lib/pic16/libdev/pic18f27j53.c,
25071           device/non-free/include/pic16pic18f44j11.h,
25072           device/non-free/lib/pic16/libdev/pic18f44j11.c,
25073           device/non-free/include/pic16pic18f45j11.h,
25074           device/non-free/lib/pic16/libdev/pic18f45j11.c,
25075           device/non-free/include/pic16pic18f45k50.h,
25076           device/non-free/lib/pic16/libdev/pic18f45k50.c,
25077           device/non-free/include/pic16pic18f45k80.h,
25078           device/non-free/lib/pic16/libdev/pic18f45k80.c,
25079           device/non-free/include/pic16pic18f46j11.h,
25080           device/non-free/lib/pic16/libdev/pic18f46j11.c,
25081           device/non-free/include/pic16pic18f46j13.h,
25082           device/non-free/lib/pic16/libdev/pic18f46j13.c,
25083           device/non-free/include/pic16pic18f46j53.h,
25084           device/non-free/lib/pic16/libdev/pic18f46j53.c,
25085           device/non-free/include/pic16pic18f46k80.h,
25086           device/non-free/lib/pic16/libdev/pic18f46k80.c,
25087           device/non-free/include/pic16pic18f47j13.h,
25088           device/non-free/lib/pic16/libdev/pic18f47j13.c,
25089           device/non-free/include/pic16pic18f47j53.h,
25090           device/non-free/lib/pic16/libdev/pic18f47j53.c,
25091           device/non-free/include/pic16pic18f63j11.h,
25092           device/non-free/lib/pic16/libdev/pic18f63j11.c,
25093           device/non-free/include/pic16pic18f63j90.h,
25094           device/non-free/lib/pic16/libdev/pic18f63j90.c,
25095           device/non-free/include/pic16pic18f64j11.h,
25096           device/non-free/lib/pic16/libdev/pic18f64j11.c,
25097           device/non-free/include/pic16pic18f64j90.h,
25098           device/non-free/lib/pic16/libdev/pic18f64j90.c,
25099           device/non-free/include/pic16pic18f65j10.h,
25100           device/non-free/lib/pic16/libdev/pic18f65j10.c,
25101           device/non-free/include/pic16pic18f65j11.h,
25102           device/non-free/lib/pic16/libdev/pic18f65j11.c,
25103           device/non-free/include/pic16pic18f65j15.h,
25104           device/non-free/lib/pic16/libdev/pic18f65j15.c,
25105           device/non-free/include/pic16pic18f65j90.h,
25106           device/non-free/lib/pic16/libdev/pic18f65j90.c,
25107           device/non-free/include/pic16pic18f65k22.h,
25108           device/non-free/lib/pic16/libdev/pic18f65k22.c,
25109           device/non-free/include/pic16pic18f65k80.h,
25110           device/non-free/lib/pic16/libdev/pic18f65k80.c,
25111           device/non-free/include/pic16pic18f65k90.h,
25112           device/non-free/lib/pic16/libdev/pic18f65k90.c,
25113           device/non-free/include/pic16pic18f66j10.h,
25114           device/non-free/lib/pic16/libdev/pic18f66j10.c,
25115           device/non-free/include/pic16pic18f66j11.h,
25116           device/non-free/lib/pic16/libdev/pic18f66j11.c,
25117           device/non-free/include/pic16pic18f66j15.h,
25118           device/non-free/lib/pic16/libdev/pic18f66j15.c,
25119           device/non-free/include/pic16pic18f66j16.h,
25120           device/non-free/lib/pic16/libdev/pic18f66j16.c,
25121           device/non-free/include/pic16pic18f66j90.h,
25122           device/non-free/lib/pic16/libdev/pic18f66j90.c,
25123           device/non-free/include/pic16pic18f66j93.h,
25124           device/non-free/lib/pic16/libdev/pic18f66j93.c,
25125           device/non-free/include/pic16pic18f66k22.h,
25126           device/non-free/lib/pic16/libdev/pic18f66k22.c,
25127           device/non-free/include/pic16pic18f66k80.h,
25128           device/non-free/lib/pic16/libdev/pic18f66k80.c,
25129           device/non-free/include/pic16pic18f66k90.h,
25130           device/non-free/lib/pic16/libdev/pic18f66k90.c,
25131           device/non-free/include/pic16pic18f67j10.h,
25132           device/non-free/lib/pic16/libdev/pic18f67j10.c,
25133           device/non-free/include/pic16pic18f67j11.h,
25134           device/non-free/lib/pic16/libdev/pic18f67j11.c,
25135           device/non-free/include/pic16pic18f67j90.h,
25136           device/non-free/lib/pic16/libdev/pic18f67j90.c,
25137           device/non-free/include/pic16pic18f67j93.h,
25138           device/non-free/lib/pic16/libdev/pic18f67j93.c,
25139           device/non-free/include/pic16pic18f67k22.h,
25140           device/non-free/lib/pic16/libdev/pic18f67k22.c,
25141           device/non-free/include/pic16pic18f67k90.h,
25142           device/non-free/lib/pic16/libdev/pic18f67k90.c,
25143           device/non-free/include/pic16pic18f83j11.h,
25144           device/non-free/lib/pic16/libdev/pic18f83j11.c,
25145           device/non-free/include/pic16pic18f83j90.h,
25146           device/non-free/lib/pic16/libdev/pic18f83j90.c,
25147           device/non-free/include/pic16pic18f84j11.h,
25148           device/non-free/lib/pic16/libdev/pic18f84j11.c,
25149           device/non-free/include/pic16pic18f84j90.h,
25150           device/non-free/lib/pic16/libdev/pic18f84j90.c,
25151           device/non-free/include/pic16pic18f85j10.h,
25152           device/non-free/lib/pic16/libdev/pic18f85j10.c,
25153           device/non-free/include/pic16pic18f85j11.h,
25154           device/non-free/lib/pic16/libdev/pic18f85j11.c,
25155           device/non-free/include/pic16pic18f85j15.h,
25156           device/non-free/lib/pic16/libdev/pic18f85j15.c,
25157           device/non-free/include/pic16pic18f85j90.h,
25158           device/non-free/lib/pic16/libdev/pic18f85j90.c,
25159           device/non-free/include/pic16pic18f85k22.h,
25160           device/non-free/lib/pic16/libdev/pic18f85k22.c,
25161           device/non-free/include/pic16pic18f85k90.h,
25162           device/non-free/lib/pic16/libdev/pic18f85k90.c,
25163           device/non-free/include/pic16pic18f86j10.h,
25164           device/non-free/lib/pic16/libdev/pic18f86j10.c,
25165           device/non-free/include/pic16pic18f86j11.h,
25166           device/non-free/lib/pic16/libdev/pic18f86j11.c,
25167           device/non-free/include/pic16pic18f86j15.h,
25168           device/non-free/lib/pic16/libdev/pic18f86j15.c,
25169           device/non-free/include/pic16pic18f86j16.h,
25170           device/non-free/lib/pic16/libdev/pic18f86j16.c,
25171           device/non-free/include/pic16pic18f86j72.h,
25172           device/non-free/lib/pic16/libdev/pic18f86j72.c,
25173           device/non-free/include/pic16pic18f86j90.h,
25174           device/non-free/lib/pic16/libdev/pic18f86j90.c,
25175           device/non-free/include/pic16pic18f86j93.h,
25176           device/non-free/lib/pic16/libdev/pic18f86j93.c,
25177           device/non-free/include/pic16pic18f86k22.h,
25178           device/non-free/lib/pic16/libdev/pic18f86k22.c,
25179           device/non-free/include/pic16pic18f86k90.h,
25180           device/non-free/lib/pic16/libdev/pic18f86k90.c,
25181           device/non-free/include/pic16pic18f87j10.h,
25182           device/non-free/lib/pic16/libdev/pic18f87j10.c,
25183           device/non-free/include/pic16pic18f87j11.h,
25184           device/non-free/lib/pic16/libdev/pic18f87j11.c,
25185           device/non-free/include/pic16pic18f87j72.h,
25186           device/non-free/lib/pic16/libdev/pic18f87j72.c,
25187           device/non-free/include/pic16pic18f87j90.h,
25188           device/non-free/lib/pic16/libdev/pic18f87j90.c,
25189           device/non-free/include/pic16pic18f87j93.h,
25190           device/non-free/lib/pic16/libdev/pic18f87j93.c,
25191           device/non-free/include/pic16pic18f87k22.h,
25192           device/non-free/lib/pic16/libdev/pic18f87k22.c,
25193           device/non-free/include/pic16pic18f87k90.h,
25194           device/non-free/lib/pic16/libdev/pic18f87k90.c,
25195           device/non-free/include/pic16pic18f2439.h,
25196           device/non-free/lib/pic16/libdev/pic18f2439.c,
25197           device/non-free/include/pic16pic18f2458.h,
25198           device/non-free/lib/pic16/libdev/pic18f2458.c,
25199           device/non-free/include/pic16pic18f2539.h,
25200           device/non-free/lib/pic16/libdev/pic18f2539.c,
25201           device/non-free/include/pic16pic18f2553.h,
25202           device/non-free/lib/pic16/libdev/pic18f2553.c,
25203           device/non-free/include/pic16pic18f4439.h,
25204           device/non-free/lib/pic16/libdev/pic18f4439.c,
25205           device/non-free/include/pic16pic18f4458.h,
25206           device/non-free/lib/pic16/libdev/pic18f4458.c,
25207           device/non-free/include/pic16pic18f4539.h,
25208           device/non-free/lib/pic16/libdev/pic18f4539.c,
25209           device/non-free/include/pic16pic18f4553.h,
25210           device/non-free/lib/pic16/libdev/pic18f4553.c,
25211           device/non-free/include/pic16pic18f6310.h,
25212           device/non-free/lib/pic16/libdev/pic18f6310.c,
25213           device/non-free/include/pic16pic18f6390.h,
25214           device/non-free/lib/pic16/libdev/pic18f6390.c,
25215           device/non-free/include/pic16pic18f6393.h,
25216           device/non-free/lib/pic16/libdev/pic18f6393.c,
25217           device/non-free/include/pic16pic18f6410.h,
25218           device/non-free/lib/pic16/libdev/pic18f6410.c,
25219           device/non-free/include/pic16pic18f6490.h,
25220           device/non-free/lib/pic16/libdev/pic18f6490.c,
25221           device/non-free/include/pic16pic18f6493.h,
25222           device/non-free/lib/pic16/libdev/pic18f6493.c,
25223           device/non-free/include/pic16pic18f6525.h,
25224           device/non-free/lib/pic16/libdev/pic18f6525.c,
25225           device/non-free/include/pic16pic18f6621.h,
25226           device/non-free/lib/pic16/libdev/pic18f6621.c,
25227           device/non-free/include/pic16pic18f6628.h,
25228           device/non-free/lib/pic16/libdev/pic18f6628.c,
25229           device/non-free/include/pic16pic18f6723.h,
25230           device/non-free/lib/pic16/libdev/pic18f6723.c,
25231           device/non-free/include/pic16pic18f8310.h,
25232           device/non-free/lib/pic16/libdev/pic18f8310.c,
25233           device/non-free/include/pic16pic18f8390.h,
25234           device/non-free/lib/pic16/libdev/pic18f8390.c,
25235           device/non-free/include/pic16pic18f8393.h,
25236           device/non-free/lib/pic16/libdev/pic18f8393.c,
25237           device/non-free/include/pic16pic18f8410.h,
25238           device/non-free/lib/pic16/libdev/pic18f8410.c,
25239           device/non-free/include/pic16pic18f8490.h,
25240           device/non-free/lib/pic16/libdev/pic18f8490.c,
25241           device/non-free/include/pic16pic18f8493.h,
25242           device/non-free/lib/pic16/libdev/pic18f8493.c,
25243           device/non-free/include/pic16pic18f8525.h,
25244           device/non-free/lib/pic16/libdev/pic18f8525.c,
25245           device/non-free/include/pic16pic18f8621.h,
25246           device/non-free/lib/pic16/libdev/pic18f8621.c,
25247           device/non-free/include/pic16pic18f8628.h,
25248           device/non-free/lib/pic16/libdev/pic18f8628.c,
25249           device/non-free/include/pic16pic18f8723.h,
25250           device/non-free/lib/pic16/libdev/pic18f8723.c:
25251           applied patch #3573506 - Support of new PIC18Fxxx devices
25252           thanks to Molnar Karoly
25253         * device/include/pic16/pic18fregs.h:
25254           applied patch #3573796 - Correction the bug of pic18fregs.h
25255           thanks to Molnar Karoly
25257 2012-09-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25259         * src/hc08/main.c,
25260           src/ds390/main.c,
25261           src/z80/main.c,
25262           src/mcs51/main.c,
25263           src/pic14/main.c,
25264           src/pic16/main.c:
25265           A bit of consistency in port structure style.
25267 2012-10-01 Borut Razem <borut.razem AT gmail.com>
25269         * support/scripts/cinc2h.pl:
25270           applied patch #3572693: Correction of cinc2h.pl
25271           thanks to Molnar Karoly
25272         * device/non-free/include/pic14/*.h,
25273           device/non-free/lib/pic14/libdev/*.c,
25274           device/non-free/include/pic16/*.h,
25275           device/non-free/lib/pic16/libdev/*.c,
25276           device/lib/pic16/libio/usart/uopen.c: applied patch #3571327 -
25277           Regenerate the DEVICE.[ch] files with the cinc2h.pl program.
25278           thanks to Molnar Karoly
25280 2012-09-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25282         * device/lib/r2k/crt0.s,
25283           device/lib/z180/crt0.s,
25284           device/lib/r3ka/crt0.s,
25285           device/lib/z80/crt0.s,
25286           device/lib/z80/crtcall.s,
25287           src/SDCCglue.c,
25288           src/port.h,
25289           src/SDCCmem.c,
25290           src/SDCCmem.h,
25291           src/hc08/main.c,
25292           src/ds390/main.c,
25293           src/z80/main.c,
25294           src/mcs51/main.c,
25295           src/pic14/main.c,
25296           src/pic16/main.c:
25297           Most of RFE #3565759.
25298         * device/lib/r2k/Makefile.in,
25299           device/lib/z180/Makefile.in,
25300           device/lib/r3ka/Makefile.in,
25301           device/lib/z80/Makefile.in:
25302           Removed obsolete RLE initialization support.
25304 2012-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
25306         * sdas/as6808/m08pst.c,
25307         * sdas/as8051/i51pst.c,
25308         * sdas/asgb/gbpst.c,
25309         * sdas/asrab/rabpst.c,
25310         * sdas/asz80/z80pst.c,
25311         * sdas/asxxsrc/asdata.c,
25312         * sdas/asxxsrc/asmain.c,
25313         * sdas/asxxsrc/asxxxx.h: next step to ASxxxx v5
25315 2012-09-27 Borut Razem <borut.razem AT gmail.com>
25317         * support/scripts/inc2h.pl, support/scripts/cinc2h.pl,
25318           support/scripts/inc2h-pic16.pl: fixed typo tbut
25320 2012-09-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25322         * support/regression/tests/bug3467508.c:
25323           Regression test for bug #3467508.
25325 2012-09-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25327         * src/SDCCast.c (decorateType): fixed bug #3467508
25329 2012-09-26 Borut Razem <borut.razem AT gmail.com>
25331         * support/scripts/cinc2h.pl: added,
25332           thanks to Molnar Karoly
25334 2012-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
25336         * sdas/asrab/rabbitext.c: removed
25337         * sdas/asrab/rabbit.h,    sdas/asrab/rab.h,
25338         * sdas/asrab/rabbitadr.c, sdas/asrab/rabadr.c,
25339         * sdas/asrab/rabbitmch.c, sdas/asrab/rabmch.c,
25340         * sdas/asrab/rabbitpst.c, sdas/asrab/rabpst.c: renamed
25341         * sdas/asrab/asrab.vcxproj,
25342         * sdas/asrab/asrab.vcxproj.filters,
25343         * sdas/asrab/Makefile.in: updated
25344         * sdas/as6808/m08pst.c,
25345         * sdas/as8051/i51pst.c,
25346         * sdas/asgb/gbpst.c,
25347         * sdas/asrab/rabpst.c,
25348         * sdas/asz80/z80pst.c,
25349         * sdas/asxxsrc/asmain.c,
25350         * sdas/asxxsrc/asxxxx.h: next small steps towards ASxxxx v5
25352 2012-09-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25354         * src/SDCCicode.c (geniCodePostInc/Dec, geniCodePreInc/Dec):
25355         fixed bug #3511511
25356         * support/regression/tests/gcc-tortute-execute-950426-1.c:
25357         re-enabled
25359 2012-09-23 Maarten Brock <sourceforge.brock AT dse.nl>
25361         * sdas/asxxsrc/asdata.c,
25362         * sdas/asxxsrc/asdbg.c,
25363         * sdas/asxxsrc/aslist.c,
25364         * sdas/asxxsrc/asmain.c,
25365         * sdas/asxxsrc/assym.c,
25366         * sdas/asxxsrc/aslex.c,
25367         * sdas/asxxsrc/assubr.c,
25368         * sdas/asxxsrc/asxxxx.h: next small steps towards ASxxxx v5
25370 2012-09-19 Maarten Brock <sourceforge.brock AT dse.nl>
25372         * sdas/asz80/Makefile.in,
25373         * sdas/asz80/as_z80.vcxproj,
25374         * sdas/asz80/as_z80.vcxproj.filters,
25375         * sdas/asz80/z80ext.c: removed z80ext.c
25376         * sdas/as8051/i51mch.c,
25377         * sdas/asxxsrc/asmain.c,
25378         * sdas/asz80/z80.h,
25379         * sdas/asz80/z80mch.c: small step towards ASxxxx v5
25381 2012-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25383         * src/pic16/glue.c (pic16_initPointer): fixed pointer initialization
25384         from address of struct/union
25386 2012-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
25388         * sdas/asxxsrc/asdata.c,
25389         * sdas/asxxsrc/asexpr.c,
25390         * sdas/asxxsrc/aslist.c,
25391         * sdas/asxxsrc/asmain.c,
25392         * sdas/asxxsrc/asxxxx.h,
25393         * sdas/linksrc/aslink.h,
25394         * sdas/linksrc/lklist.c,
25395         * src/hc08/main.c,
25396         * src/mcs51/main.c,
25397         * src/z80/main.c: again a small step towards ASxxxx v5
25399 2012-09-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25401         * src/z80/ralloc2.cc (inst_sane): fixed bug #3558402
25403 2012-09-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25405         * support/regression/tests/bug3564649.c:
25406           Disable test for host, since we cannot assume C11 support yet.
25408 2012-09-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25410         * support/regression/tests/gcc-torture-execute-20030209-1.c:
25411           Reduced array size, reenabled test.
25412         * support/regression/tests/gcc-torture-execute-991016-1.c:
25413           Enabled test for targets that support long long, since returning long long was implemented some time ago.
25415 2012-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25417         * src/SDCCglue.c (emitRegularMap, printIvalType, printIvalBitFields),
25418         * src/SDCCast.c (constExprValue): fixed bug #3560781 and related
25419         * support/regression/tests/bug3564649.c: ensure noreturn function
25420           does not return
25422 2012-09-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25424         * src/z80/gen.c:
25425           More efficient stack pointer restoration.
25426         * support/regression/tests/bug3564649.c:
25427           Regression test for bug #3564649.
25429 2012-09-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25431         * support/valdiag/tests/tentdecl.c,
25432         * support/valdiag/tests/primtypes.c,
25433         * support/valdiag/tests/constantRange.c,
25434         * support/valdiag/tests/funcdec.c,
25435         * support/valdiag/tests/overflow.c,
25436         * support/valdiag/Makefile.in,
25437         * support/valdiag/valdiag.py: update to work with current SDCC version
25439 2012-09-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25441         * src/SDCCBBlock.c (iCode2eBBlock),
25442         * src/SDCCcflow.c (eBBSuccessors): fixed bug #3564649
25444 2012-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
25446         * sdas/as8051/i51mch.c,
25447         * sdas/as8051/i8051.h,
25448         * sdas/asxxsrc/asdata.c,
25449         * sdas/asxxsrc/asxxxx.h: another small step towards ASxxxx v5
25451 2012-09-12 Leland Morrison <enigmalee AT sourceforge.net>
25453         * sdas/asz80/z80.h, sdas/asz80/z80pst.c, sdas/asz80/z80mch.c,
25454         * sdas/asz80/z80adr.c: added support for undocument z80 instructions
25456 2012-09-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25458         * src/SDCCicode.h,
25459         * src/SDCCicode.c (isOperandInBitSpace): new function
25460         * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #3564969
25462 2012-09-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25464         * src/SDCCsymt.c (computeType): fixed bug #3564104
25465         * support/regression/tests/bug3564104.c: reenabled test
25467 2012-09-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25469         * src/z80/gen.c:
25470           Fixed bug #3566191 by disabling register tracking for iy.
25471         * src/z80/z80.h,
25472           src/z80/ralloc.c:
25473           Enabled rematerialization by register allocation for gbz80.
25475 2012-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25477         * support/regression/tests/inline.c: added test for bug #3564755
25478         * support/regression/tests/bug3565757.c: temporarily disabled bool
25479           in struct
25480         * src/SDCCast.c: fixed bugs #3566114 and #3539508
25482 2012-09-09 Borut Razem <borut.razem AT gmail.com>
25484         * configure.in, configure, sdccconf_in.h:
25485           removed (commented out) avr and xa51 configuration options
25487 2012-09-09 Maarten Brock <sourceforge.brock AT dse.nl>
25489         * sdas/as8051/Makefile.in,
25490         * sdas/as8051/asx8051.vcxproj,
25491         * sdas/as8051/asx8051.vcxproj.filters,
25492         * sdas/as8051/i51ext.c: removed i51ext.c
25493         * sdas/as6808/m08mch.c,   sdas/as6808/m08pst.c,
25494         * sdas/as8051/i51mch.c,   sdas/as8051/i51pst.c,
25495         * sdas/asgb/gbmch.c,      sdas/asgb/gbpst.c,
25496         * sdas/asrab/rabbitmch.c, sdas/asrab/rabbitpst.c,
25497         * sdas/asz80/z80mch.c,    sdas/asz80/z80pst.c,
25498         * sdas/asxxsrc/asdata.c,  sdas/asxxsrc/asexpr.c,
25499         * sdas/asxxsrc/aslist.c,  sdas/asxxsrc/asmain.c,
25500         * sdas/asxxsrc/asout.c,   sdas/asxxsrc/asxxxx.h: small step towards ASxxxx v5
25501         * src/mcs51/gen.c(freeAsmop): fix for MSVC
25502         * src/SDCCsymt.c(typeFromStr): added 'C' for const
25503         * src/z80/main.c(_z80_builtins): use 'C' to fix warnings
25505 2012-09-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25507         * src/z80/gen.c,
25508           support/regression/tests/bug3565757.c:
25509           Fixed bug #3565757.
25511 2012-09-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25513         * src/z80/gen.c,
25514           support/regression/tests/bug3559997.c:
25515           Fixed bug #3559997.
25517 2012-09-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25519         * src/SDCCsymt.c (checkSClass),
25520         * src/SDCCast.c (expandInlineFuncs): fixed bug #3564755
25522 2012-09-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25524         * src/SDCCval.c (cheapestVal): fixed bug #3563977
25525         * support/regression/tests/enum.c: tests added for bug #3563977
25527 2012-09-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25529         * src/SDCCicode.c (operandOperation): fixed bug #3537139
25531 2012-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25533         * sdas/linksrc/aslink.h,
25534         * sdas/linksrc/lkarea.c,
25535         * sdas/linksrc/lkelf.c,
25536         * src/hc08/gen.c: Fixed bug #3536431
25538 2012-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25540         * src/SDCClospre.hpp:
25541           More verbose lospre debug output.
25542         * support/regression/tests/bug3564104.c:
25543           Regression test for #3564104.
25545 2012-08-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25547         * src/z80/ralloc2.cc,
25548           src/z80/gen.c:
25549           Fix for handling of parameters in the z80-related ports.
25551 2012-08-27 Borut Razem <borut.razem AT gmail.com>
25553         * src/ds390/gen.c:
25554           fixed muldiv regression test failures on ARM architecture
25556 2012-08-25 Borut Razem <borut.razem AT gmail.com>
25558         * src/mcs51/gen.c:
25559           fixed muldiv regression test failures on ARM architecture
25561 2012-08-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25563         * src/z80/gen.c,
25564           support/regression/tests/bug3561215.c:
25565           Fixed bug #3561215.
25567 2012-08-22 Maarten Brock <sourceforge.brock AT dse.nl>
25569         * src/mcs51/gen.c: Reinserted break in proper context
25571 2012-08-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25573         * src/mcs51/gen.c:
25574           Remove out-of-context break.
25576 2012-08-20 Maarten Brock <sourceforge.brock AT dse.nl>
25578         * src/mcs51/gen.c (aopPtrForSym): added warning for memory space overflow,
25579           see bug 3509704
25580           (freeForBranchAsmop, freeForBranchAsmops): need extra ic parameter
25581           (aopPut, genFarPointerSet): partial fix for bug 3534523
25583 2012-08-17 Borut Razem <borut.razem AT gmail.com>
25585         * src/SDCCasm.c, SDCCsymt.h: fixed failing regression tests if
25586           sdcc compiled on ARM architecture where default "char" is "unsigned char"
25588 2012-08-13 Borut Razem <borut.razem AT gmail.com>
25590         * support/regression/tests/bitvars.c,
25591           support/regression/tests/funsigned-char.c:
25592           fixed for gcc hosts with unsigned char (ARM architecture)
25594 2012-08-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25596         * src/z80/gen.c:
25597           Improve code generation for and with result in register and bit complement operand.
25599 2012-08-04 Borut Razem <borut.razem AT gmail.com>
25601         * device/include/pic14/pic14devices.txt:
25602           applied patch minor-pic12lf1552-error.diff from
25603           #3553952 - "New devices to pic14 series and pic16fam-h-gen.pl update II."
25604           thanks to Molnar Karoly
25606 2012-08-03 Borut Razem <borut.razem AT gmail.com>
25608         * support/scripts/pic16fam-h-gen.pl,
25609           device/include/pic14/pic14devices.txt,
25610           device/non-free/lib/pic14/libdev/devices.txt,
25611           device/non-free/lib/pic14/libdev/Makefile.in,
25612           device/non-free/include/pic14/pic16fam.h,
25613           doc/sdccman.lyx: updated,
25614           device/non-free/include/pic14/pic16f723a.h,
25615           device/non-free/include/pic14/pic16f1512.h,
25616           device/non-free/include/pic14/pic16f723.h,
25617           device/non-free/include/pic14/pic16f727.h,
25618           device/non-free/include/pic14/pic12f617.h,
25619           device/non-free/include/pic14/pic16f1513.h,
25620           device/non-free/include/pic14/pic12f609.h,
25621           device/non-free/include/pic14/pic16f724.h,
25622           device/non-free/include/pic14/pic16f707.h,
25623           device/non-free/include/pic14/pic12lf1552.h,
25624           device/non-free/include/pic14/pic16f610.h,
25625           device/non-free/include/pic14/pic16f631.h,
25626           device/non-free/include/pic14/pic16f677.h,
25627           device/non-free/include/pic14/pic16f722a.h,
25628           device/non-free/include/pic14/pic12f615.h,
25629           device/non-free/include/pic14/pic16f722.h,
25630           device/non-free/include/pic14/pic16f726.h,
25631           device/non-free/lib/pic14/libdev/pic16f723.c,
25632           device/non-free/lib/pic14/libdev/pic16f727.c,
25633           device/non-free/lib/pic14/libdev/pic12f617.c,
25634           device/non-free/lib/pic14/libdev/pic16f1513.c,
25635           device/non-free/lib/pic14/libdev/pic12f609.c,
25636           device/non-free/lib/pic14/libdev/pic16f724.c,
25637           device/non-free/lib/pic14/libdev/pic16f707.c,
25638           device/non-free/lib/pic14/libdev/pic12lf1552.c,
25639           device/non-free/lib/pic14/libdev/pic16f610.c,
25640           device/non-free/lib/pic14/libdev/pic16f631.c,
25641           device/non-free/lib/pic14/libdev/pic16f677.c,
25642           device/non-free/lib/pic14/libdev/pic16f722a.c,
25643           device/non-free/lib/pic14/libdev/pic12f615.c,
25644           device/non-free/lib/pic14/libdev/pic16f722.c,
25645           device/non-free/lib/pic14/libdev/pic16f726.c,
25646           device/non-free/lib/pic14/libdev/pic16f723a.c,
25647           device/non-free/lib/pic14/libdev/pic16f1512.c: added,
25648           applied patch #3553952 - "New devices to pic14 series and pic16fam-h-gen.pl update II."
25649           thanks to Molnar Karoly
25650         * device/non-free/include/pic14/pic16f1516.h,
25651           device/non-free/include/pic14/pic16f1517.h,
25652           device/non-free/include/pic14/pic16f1518.h,
25653           device/non-free/include/pic14/pic16f1519.h:
25654           applied patch #3553938 - "pic16f151[6-9].h unnecessary ANSC[01] bits"
25655           thanks to Molnar Karoly
25657 2012-08-01 Borut Razem <borut.razem AT gmail.com>
25659         * device/non-free/include/pic14/pic12f752.h,
25660           device/non-free/include/pic14/pic16f1784.h,
25661           device/non-free/include/pic14/pic10f322.h,
25662           device/non-free/include/pic14/pic16f1454.h,
25663           device/non-free/include/pic14/pic16f1786.h,
25664           device/non-free/include/pic14/pic12f1501.h,
25665           device/non-free/include/pic14/pic10f320.h,
25666           device/non-free/include/pic14/pic16f1787.h,
25667           device/non-free/lib/pic14/libdev/pic16f1787.c,
25668           device/non-free/lib/pic14/libdev/pic10f320.c,
25669           device/non-free/lib/pic14/libdev/pic16f1784.c,
25670           device/non-free/lib/pic14/libdev/pic12f752.c,
25671           device/non-free/lib/pic14/libdev/pic16f1454.c,
25672           device/non-free/lib/pic14/libdev/pic10f322.c,
25673           device/non-free/lib/pic14/libdev/pic16f1786.c,
25674           device/non-free/lib/pic14/libdev/pic12f1501.c,
25675           support/scripts/pic16fam-h-gen.pl,
25676           device/include/pic14/pic14devices.txt,
25677           device/non-free/include/pic14/pic16fam.h,
25678           device/non-free/lib/pic14/libdev/devices.txt,
25679           device/non-free/lib/pic14/libdev/Makefile.in,
25680           doc/sdccman.lyx:
25681           applied patch #3553108 - "New devices to pic14 series and pic16fam-h-gen.pl update",
25682           thanks to Molnar Karoly
25684 2012-08-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25686         * src/z80/z80.h,
25687           src/z80/ralloc2.cc,
25688           src/z80/main.c:
25689           Provide --fno-omit-frame-pointer option for not omitting frame pointer.
25691 2012-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25693         * src/SDCCicode.c (geniCodeAdd): made fix for bug 3537338 endian
25694           agnostic
25696 2012-07-21 Borut Razem <borut.razem AT gmail.com>
25698         * src/pic14/main.c: fixed bug
25699           #3546732 - "pic16f1507lib: No such file or directory"
25701 2012-07-21 Maarten Brock <sourceforge.brock AT dse.nl>
25703         * src/SDCCmem.c (allocGlobal, allocLocal): added check if bit space exists
25704         * src/SDCCsymt.c (computeType): fixed bug 3531687
25705         * src/SDCCast.c,
25706         * src/SDCCicode.c,
25707         * src/SDCCsymt.h: renamed RESULT_TYPE_BIT to RESULT_TYPE_BOOL
25708         * support/regression/tests/bug3531687.c: reinserted char > bool test
25709         * support/regression/tests/bug3537338.c: use _STATMEM for more coverage
25710         * support/regression/tests/gcc-torture-execute-930513-1.c: modified to
25711           accept "<NO FLOAT>" and prevent buffer overrun
25713 2012-07-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25715         * src/SDCClospre.hpp (implement_lospre_assignment): explicitly ignore
25716           vertices created from newly split edges
25717         * src/SDCCopt.c (eBBlockFromiCode): reenable lospre
25719 2012-07-19 Maarten Brock <sourceforge.brock AT dse.nl>
25721         * src/SDCCicode.c (geniCodeAdd): fixed bug 3537338
25722         * src/ds390/gen.c (genMultOneByte): handle long result for pointer offsets
25723         * src/mcs51/gen.c (genLeftShiftLiteral, genRightShiftLiteral),
25724         * src/z80/gen.c (genLeftShiftLiteral): added wassert
25725         * support/regression/tests/bug3537338.c: new, added
25727 2012-07-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25729         * src/SDCCopt.c: temporarily disable lospre until I can figure out
25730           why it's failing on some hosts.
25732 2012-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
25734         * sdcc.sln: sdcdb depends on config
25735         * all.vcxproj: excluded copy to bin\ from debug build as it seems to mess up
25736           the dependencies
25737         * all.vcxproj.filters: added sdasrab.exe
25738         * src/sdcc.vcxproj.filters,
25739         * src/sdcc.vcxproj: removed SDCC.y dependency from lexing
25740           added version.h to Header Files
25741           added SDCClospre.cc and SDCClospre.hpp
25742         * config.vcxproj,
25743         * src/yacc.vcxproj: updated all custom build commands and dependencies
25744         * src/SDCCast.c (decorateType, '='): fixed lost linenumber in bug 3540054
25745         * src/SDCCsymt.c (dbuf_printTypeChain): removed 'd'
25746         * sdas/asrab/rabbitmch.c (machine): removed const to fix prototype conflict
25747         * src/SDCClospre.cc (lospre): fixed warning
25748         * src/SDCCutil.h,
25749         * src/SDCCutil.c (processStrSet): fix warning by using explicit function ptr
25751 2012-07-15 Borut Razem <borut.razem AT gmail.com>
25753         * src/SDCCmain.c, src/SDCCutil.c, src/SDCCutil.h, src/SDCCsystem.c,
25754           src/mcs51/main.c, src/ds390/main.c, src/z80/main.c, src/hc08/main.c,
25755           src/pic14/main.c, src/pic16/main.c, src/avr/main.c, src/xa51/main.c:
25756           properly quoted file names when transferred to preprocessor,
25757           assembler and linker
25758         * support/scripts/repack_release.sh: added -pr to usage
25760 2012-07-12 Borut Razem <borut.razem AT gmail.com>
25762         * src/SDCCerr.c, src/SDCCerr.h, src/pic16/main.c, src/pic16/main.h,
25763           src/pic16/glue.c, src/pic16/device.h, src/SDCCast.c, src/SDCCast.h,
25764           doc/sdccman.lyx: properly fixed bug
25765           #3539804 - pragma config and certain string constants
25767 2012-07-11 Borut Razem <borut.razem AT gmail.com>
25769         * support/scripts/repack_release.sh: implemented feature request
25770           #3472159 - sdcc-3.1.0.tar.bz2 will untar with name sdcc;
25771           the result will be seen at the next sdcc release 3.3.0
25773 2012-07-11 Philipp Klaus Krause <pkk AT spth.de>
25775         * src/z80/peeph-z80.def:
25776           Fixed comment.
25778 2012-07-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25780         * Merged the lospre branch.
25782 2012-07-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25784         * src/z80/gen.c,
25785           src/hc08/gen.c:
25786           Disable cost function debugging output.
25788 2012-07-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25790         * Merged the smallopts branch.
25792 2012-07-09 Borut Razem <borut.razem AT gmail.com>
25794         * Small Device C Compiler 3.2.0 released
25795         * .version, doc/sdccman.lyx: changed sdcc version to 3.2.1
25797 2012-07-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25799         * src/SDCCopt.c:
25800           Disable lospre for ports unrelated to z80 or hc08.
25802 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25804         * src/z80/gen.c:
25805           Improve code generation for multiplication by literal.
25807 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25809         * src/z80/gen.c:
25810           Fix bug in built-in strchr().
25811         * device/lib/Makefile.in:
25812           Fix building of strcpy() for mcs51.
25814 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25816         * src/z80/gen.c:
25817           Fix bug in stack restoration for built-in functions.
25818         * device/lib/_strchr.c,
25819           device/lib/_strncpy.c:
25820           Fix conflict between built-in and non built-in functions.
25822 2012-07-07 Borut Razem <borut.razem AT gmail.com>
25824         * support/scripts/repack_release.sh:
25825           updated, added -dl, -r and -ul command line options
25827 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25829         * src/SDCCmain.c,
25830           src/SDCClospre.cc,
25831           src/SDCCglobl.h:
25832           Provide option to allow unsafe reads in lospre.
25834 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25836         * src/SDCClospre.hpp,
25837           src/SDCClospre.cc:
25838           Safety in lospre.
25840 2012-07-06 Philipp Klaus Krause <pkk AT spth.de>
25842         * src/SDCClospre.hpp,
25843           src/SDCClospre.cc:
25844           Preparations for safety in lospre.
25846 2012-07-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25848         * src/SDCClospre.hpp,
25849           src/SDCClospre.cc:
25850           Preparations for safety.
25852 2012-07-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25854         * src/SDCClospre.hpp:
25855           Fix for out-of-memory handling in lospre.
25857 2012-07-06 Borut Razem <borut.razem AT gmail.com>
25859         * src/pic16/main.c: bug patched with sdcc-3.2.0-config_fix.diff
25860           #3539804 - #pragma config and certain string constants,
25861           thanks to Herbert Potzl
25863 2012-07-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25865         * src/SDCClospre.cc:
25866           Preparations for safety in lospre.
25868 2012-06-30 Borut Razem <borut.razem AT gmail.com>
25870         * support/scripts/sdcc.nsi:
25871           fixed 'Installer suggest "C:\Program Files\SDCC" instead of
25872           "C:\Program Files (x86)\SDCC"' problem
25874 2012-07-04 Philipp Klaus Krause <pkk AT spth.de>
25876         * src/z80/gen.c:
25877           Fix for operand handling in built-in memset().
25878         * src/SDCCopt.c:
25879           Convert zero-length built-in memcpy(), strncpy(), memset()
25880           back to ensure any volatiles are read. Fixes #3538725.
25882 2012-06-30 Philipp Klaus Krause <pkk AT spth.de>
25884         * src/z80/ralloc2.cc,
25885           src/z80/gen.c:
25886           Fix stack adjustment after call and omission of frame pointer for --reserve-regs-iy.
25888 2012-06-28 Maarten Brock <sourceforge.brock AT dse.nl>
25890         * sdcc.sln,
25891         * sdas/asrab/asrab.vcxproj: renamed output to sdasrab
25892         * all.vcxproj: added sdasrab.exe and sdldrab.exe
25893         * src/sdcc.vcxproj: removed parsing SDCC.y
25894         * src/yacc.vcxproj: cosmetics
25895         * sdas/as6808/m6808.h,
25896         * sdas/as8051/i8051.h,
25897         * sdas/asgb/gb.h,
25898         * sdas/asrab/rabbit.h,
25899         * sdas/asz80/z80.h: removed (conflicting) prototypes for machine and minit
25900         * src/hc08/ralloc.c (packRegisters): fixed bug indicated by a warning
25901         * src/pic14/gen.c (genDataPointerGet, genConstPointerGet),
25902         * src/pic14/genarith.c (genAddLit),
25903         * src/pic14/glue.c (pic14_constructAbsMap, emitInitVal)
25904         * src/pic16/device.h (PIC16_device),
25905         * src/pic16/gen.c (pic16_storeForReturn, genAnd, genXor, genAssign),
25906         * src/pic16/glue.c (pic16_printIvalType, pic16_printIvalChar,
25907           pic16_printIvalBitFields, pic16_printIvalUnion),
25908         * src/z80/ralloc2.cc (iy_reserved, Ainst_ok, omit_frame_ptr): fixed warnings
25910 2012-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25912         * src/SDCCopt.c,
25913           src/z80/gen.c,
25914           src/z80/main.c,
25915           device/include/string.h:
25916           Built-in strncpy().
25918 2012-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25920         * src/SDCCralloc.hpp,
25921           src/z80/ralloc2.cc,
25922           src/z80/gen.c,
25923           src/hc08/ralloc2.cc,
25924           device/include/string.h:
25925           Built-in strchr().
25926         * src/z80/peep.c:
25927           Fix out-of-array read.
25929 2012-06-27 Borut Razem <borut.razem AT gmail.com>
25931         * src/SDCC.lex:
25932           unescape file names from preprocessor, 3rd try
25933         * device/non-free/lib/pic16/libdev/Makefile.am,
25934           device/non-free/lib/pic16/libdev/Makefile.in,
25935           device/non-free/lib/pic14/libdev/Makefile.in:
25936           gputils supports all devices supported by SDCC
25938 2012-06-27 Philipp Klaus Krause <pkk AT spth.de>
25940         * src/z80/main.c,
25941           src/z80/gen.c:
25942           Built-in strcpy().
25944 2012-06-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25946         * device/lib/z180/Makefile.in,
25947           device/lib/incl.mk,
25948           device/lib/r3ka/Makefile.in,
25949           device/lib/gbz80/Makefile.in,
25950           device/lib/s08/Makefile.in,
25951           device/lib/r2k/Makefile.in,
25952           device/lib/hc08/Makefile.in,
25953           device/lib/z180/strcpy.s
25954           device/lib/r3ka/strcpy.s
25955           device/lib/z80/strcpy.s
25956           device/lib/r2k/strcpy.s:
25957           Use ldi for strcpy().
25959 2012-06-27 Borut Razem <borut.razem AT gmail.com>
25961         * src/SDCC.lex:
25962           unescape file names from preprocessor, 2nd try
25964 2012-06-26 Borut Razem <borut.razem AT gmail.com>
25966         * src/SDCC.lex, src/SDCCerr.c, src/SDCCerr.h:
25967           unescape file names from preprocessor
25969 2012-06-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25971         * src/z80/gen.c:
25972           Use xor to zero the accumulator in a few more places.
25974 2012-06-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25976         * src/z80/gen.c:
25977           Improve memset() for small sizes, RFE #3537534.
25979 2012-06-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25981         * src/z80/ralloc2.cc:
25982           Improve handling of hl in additions with on-stack param operands.
25984 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25986         * device/lib/z180/shift.s,
25987           device/lib/r3ka/shift.s,
25988           device/lib/z80/shift.s,
25989           device/lib/gbz80/shift.s,
25990           device/lib/r2k/shift.s,
25991           src/port.h,
25992           src/z80/gen.c,
25993           src/z80/main.c,
25994           device/lib/z180/Makefile.in,
25995           device/lib/z180/stubs.s,
25996           device/lib/r3ka/Makefile.in,
25997           device/lib/r3ka/stubs.s,
25998           device/lib/z80/Makefile.in,
25999           device/lib/z80/stubs.s,
26000           device/lib/gbz80/stubs.s,
26001           device/lib/gbz80/Makefile.in,
26002           device/lib/r2k/Makefile.in,
26003           device/lib/r2k/stubs.s:
26004           Code generation instead of support calls for all shifts.
26006 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26008         * src/z80/gen.c:
26009           Better cost estimation for loading parameters into pairs,
26010           more efficient loading from stack into iy for Rabbits.
26012 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26014         * src/z80/gen.c:
26015           Use dec r and inc a in comparison for equality.
26017 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26019         * src/z80/gen.c,
26020           src/z80/ralloc2.cc:
26021           Use 16-bit sbc in subtraction and comparison.
26023 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26025         * src/z80/gen.c:
26026           Improve handling of pointers to long and long long.
26028 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26030         * src/z80/gen.c:
26031           Minor addition improvement,
26032           refactoring of pair test code.
26034 2012-06-25 Borut Razem <borut.razem AT gmail.com>
26036         * src/regression/Makefile:
26037           applied patch #3537593 - pic16 regression patch,
26038           thanks to Don Wooton
26040 2012-06-24 Borut Razem <borut.razem AT gmail.com>
26042         * support/scripts/repack_release.sh: updated
26044 2012-06-24 Maarten Brock <sourceforge.brock AT dse.nl>
26046         * src/mcs51/gen.c (genLeftShiftLiteral): commented out wassert to work
26047           around bug 3537338
26049 2012-06-21 Borut Razem <borut.razem AT gmail.com>
26051         * device/non-free/lib/pic14/libdev/devices.txt,
26052           device/non-free/lib/pic14/libdev/Makefile.in,
26053           device/non-free/lib/pic14/libdev/pic16c782.c,
26054           device/non-free/lib/pic14/libdev/pic16f676.c,
26055           device/non-free/lib/pic14/libdev/pic16f1782.c,
26056           device/non-free/lib/pic14/libdev/pic16c770.c,
26057           device/non-free/lib/pic14/libdev/pic16f716.c,
26058           device/non-free/lib/pic14/libdev/pic16f1503.c,
26059           device/non-free/lib/pic14/libdev/pic16f1507.c,
26060           device/non-free/lib/pic14/libdev/pic16f1783.c,
26061           device/non-free/lib/pic14/libdev/pic16c771.c,
26062           device/non-free/lib/pic14/libdev/pic16c925.c,
26063           device/non-free/lib/pic14/libdev/pic16f1508.c,
26064           device/non-free/lib/pic14/libdev/pic16f1823.c,
26065           device/non-free/lib/pic14/libdev/pic16c432.c,
26066           device/non-free/lib/pic14/libdev/pic16c717.c,
26067           device/non-free/lib/pic14/libdev/pic16c781.c,
26068           device/non-free/lib/pic14/libdev/pic12f675.c,
26069           device/non-free/lib/pic14/libdev/pic16c926.c,
26070           device/non-free/lib/pic14/libdev/pic16f1509.c,
26071           device/non-free/lib/pic14/libdev/pic12f629.c,
26072           device/non-free/lib/pic14/libdev/pic16f684.c,
26073           device/non-free/lib/pic14/libdev/pic16f688.c,
26074           device/non-free/lib/pic14/libdev/pic16f630.c,
26075           device/non-free/lib/pic14/libdev/pic16f747.c,
26076           device/non-free/lib/pic14/libdev/pic16c946.c,
26077           device/non-free/include/pic14/pic16c782.h,
26078           device/non-free/include/pic14/pic16f676.h,
26079           device/non-free/include/pic14/pic16f1509.h,
26080           device/non-free/include/pic14/pic16c770.h,
26081           device/non-free/include/pic14/pic16f716.h,
26082           device/non-free/include/pic14/pic16f1782.h,
26083           device/non-free/include/pic14/pic16c771.h,
26084           device/non-free/include/pic14/pic16c925.h,
26085           device/non-free/include/pic14/pic16f1503.h,
26086           device/non-free/include/pic14/pic16f1507.h,
26087           device/non-free/include/pic14/pic16f1783.h,
26088           device/non-free/include/pic14/pic16c432.h,
26089           device/non-free/include/pic14/pic16c717.h,
26090           device/non-free/include/pic14/pic16c781.h,
26091           device/non-free/include/pic14/pic12f675.h,
26092           device/non-free/include/pic14/pic16c926.h,
26093           device/non-free/include/pic14/pic16f1508.h,
26094           device/non-free/include/pic14/pic16f1823.h,
26095           device/non-free/include/pic14/pic12f629.h,
26096           device/non-free/include/pic14/pic16f684.h,
26097           device/non-free/include/pic14/pic16f688.h,
26098           device/non-free/include/pic14/pic16f630.h:
26099           device/non-free/include/pic14/pic16f747.h:
26100           device/non-free/include/pic14/pic16c946.h:
26101           applied modified patch
26102           #3536909 - "Pic14 device and header upgrade.",
26103           thanks to Molnar Karoly
26104         * support/scripts/inc2h.pl: applied modified patch
26105           #3536022 - "Error in the inc2h.pl program.",
26106           thanks to Molnar Karoly
26107         * device/non-free/include/pic14/recreate.sh:
26108           generate NO_LEGACY_NAMES block if exists in the old version
26109         * src/pic14/genarith.c: applied patch
26110           #3521376 - "pic14 incorrect asm op code",
26111           thanks to Raphael Neider
26113 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26115         * src/SDCCralloc.hpp,
26116           src/port.h,
26117           src/xa51/main.c,
26118           src/mcs51/main.c,
26119           src/ds390/main.c,
26120           src/pic14/main.c,
26121           src/pic16/main.c,
26122           src/z80/main.c,
26123           src/z80/ralloc2.cc,
26124           src/hc08/main.c,
26125           src/hc08/ralloc2.cc:
26126           Nice fix for bug #3536902.
26127         * src/z80/gen.c:
26128           More efficient built-in memcpy() for small copies.
26130 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26132         * src/SDCCralloc.hpp,
26133           src/z80/ralloc2.c,
26134           src/z80/ralloc.h:
26135           Ugly hack to fix bug #3536902.
26137 2012-06-21 Leland Morrison <enigmalee AT sourceforge.net>
26139         * sim/ucsim/z80.src/inst_r2k.cc:
26140           Fix flags for rl de, rr d, rr hl (merged by Philipp Klaus Krause from smallopts branch).
26142 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26144         * src/z80/gen.c:
26145           Fix spilling of comitted pair after ex (sp), dd.
26147 2012-06-21 Maarten Brock <sourceforge.brock AT dse.nl>
26149         * device/include/mcs51/cc2530.h: renamed TR0 to TESTREG0
26151 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26153         * src/z80/gen.c:
26154           Use destructive increment in comparison for equality with #0xff,
26155           more efficient assignment of 16-byte values,
26156           fix spilling of comitted pair after ex (sp), dd.
26158 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26160         * src/z80/gen.c:
26161           Enable use of rl de in destructive and.
26163 2012-06-20 Leland Morrison <enigmalee AT sourceforge.net>
26165         * sim/ucsim/z80.src/inst_r2k.cc:
26166           Fix flags for rl de, rr d, rr hl.
26168 2012-06-20 Philipp Klaus Krause <pkk AT spth.de>
26170         * src/z80/gen.c:
26171           Improve destructive and.
26173 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26175         * src/z80/peeph-z80.def,
26176           src/z80/peeph-r2k.def:
26177           Minor peephole fix.
26179 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26181         * src/z80/gen.c:
26182           More efficient assignment for global variables.
26184 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26186         * src/z80/gen.c:
26187           Fix bug in & 0x8000 with ifx for unsigned int.
26189 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26191         * src/z80/gen.c:
26192           Refactor code for setup for built-in memcpy(),
26193           use ex de, hl in register move,
26194           use cp instead of xor for clearing the carry flag.
26196 2012-06-18 Philipp Klaus Krause <pkk AT spth.de>
26198         * src/SDCCopt.c,
26199           src/hc08/ralloc.c:
26200           Document relation between offsetFold() and packPointerOp().
26202 2012-06-18 Borut Razem <borut.razem AT gmail.com>
26204         * doc/sdccman.lyx, device/include/pic14/pic14devices.txt,
26205           device/non-free/lib/pic14/libdev/devices.txt,
26206           device/non-free/lib/pic14/libdev/Makefile.in,
26207           device/non-free/include/pic14/pic16f883.h,
26208           device/non-free/include/pic14/pic16f884.h,
26209           device/non-free/include/pic14/pic16f882.h,
26210           device/non-free/lib/pic14/libdev/pic16f884.c,
26211           device/non-free/lib/pic14/libdev/pic16f882.c,
26212           device/non-free/lib/pic14/libdev/pic16f883.c:
26213           applied patch #3531530 - new CPU support (pic16f882, 883, 884),
26214           thanks to Molnar Karoly
26216 2012-06-18 Philipp Klaus Krause <pkk AT spth.de>
26218         * src/z80/peeph-z80.def,
26219           src/z80/peeph-r2k.def:
26220           Some more peepholes that help when framepointer is omitted.
26221         * src/z80/peep.c:
26222           Handle cpl, ldir, di, ei, out, in, mul and bool in read analysis.
26224 2012-06-18 Philipp Klaus Krause <pkk AT spth.de>
26226         * src/z80/gen.c,
26227           src/z80/ralloc2.cc:
26228           Improve shifts by non-literal.
26230 2012-06-17 Borut Razem <borut.razem AT gmail.com>
26232         * support/scripts/sdcc.nsi:
26233           added removal of include\asm\r3ka\*.h
26234         * device/non-free/include/pic14/pic16fam.h,
26235           support/scripts/pic16fam-h-gen.pl:
26236           applied patch #3531531 - The pic16fam-h-gen correction,
26237           thanks to Molnar Karoly
26238         * support/scripts/repack_release.sh:
26239           remove unneeded directories produced by sdbinutils
26241 2012-06-17 Philipp Klaus Krause <pkk AT spth.de>
26243         * src/SDCCerr.h,
26244           src/SDCCerr.c,
26245           src/SDCCval.c:
26246           Warn when encountering long long literals.
26248 2012-06-17 Philipp Klaus Krause <pkk AT spth.de>
26250         * src/z80/gen.c:
26251           Improve destructive and.
26253 2012-06-16 Leland Morrison <enigmalee AT sourceforge.net>
26255         * sdas/asz80/z80mch.c: Change to report error for invalid operands
26256           to z180 tst instruction.
26258 2012-06-09 Borut Razem <borut.razem AT gmail.com>
26260         * .version, sdcc.spec, doc/sdccman.lyx:
26261           changed sdcc version to 3.2.0
26263 2012-06-16 Philipp Klaus Krause <pkk AT spth.de>
26265         * src/z80/gen.c:
26266           Implement #3512989.
26268 2012-06-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26270         * support/regression/ports/pic14/support.c:
26271           Fix for renamed __asm.
26272         * support/regression/tests/gcc-torture-execute-pr31169.c,
26273           support/regression/tests/bitfields.c,
26274           support/regression/tests/gcc-torture-execute-20100316-1.c,
26275           support/regression/tests/gcc-torture-execute-pr38422.c,
26276           support/regression/tests/gcc-torture-execute-921016-1.c:
26277           Disable tests that use bitfields of size greater than 8 bits, which is not yet supported by the pic16 port.
26279 2012-06-15 Leland Morrison <enigmalee AT sourceforge.net>
26281         * sim/ucsim/z80.src/z80cl.h, z80.cc, inst_ed.cc:
26282           Added in0, out0, and tst instructions for z180 support.
26284 2012-06-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26286         * src/SDCClospre.hpp:
26287           Fix lospre nonforward-substitution of POINTER_SET.
26288         * src/SDCClospre.cc:
26289           Improve handling of invalidation at POINTER_SET.
26291 2012-06-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26293         * support/regression/tests/and_survive.c:
26294           Test non-destructive and, regression test for #3534833.
26295         * support/regression/tests/gcc-torture-execute-980707-1.c:
26296           Adapted and enabled test for mcs51.
26298 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26300         * src/hc08/gen.c:
26301           Fix cost calculation for branches.
26303 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26305         * src/hc08/gen.c:
26306           Improve storing of hx in assignment.
26308 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26310         * src/z80/gen.c:
26311           Fix for 16-bit addition to avoid generating invalid add hl, iy.
26313 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26315         * src/z80/gen.c:
26316           Improve multiplication for Rabbits.
26318 2012-06-13 Leland Morrison <enigmalee AT sourceforge.net>
26320         * sdas/asz80/z80mch.c:  Allow the tst instruction for z180/.hd64 to
26321           use the two operand form (tst a,X) (fixes bug #3534833)
26323 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26325         * src/z80/gen.c:
26326           Improve one-byte shifts, use fix of #3534833 in non-destructive and.
26328 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26330         * src/z80/gen.c:
26331           Improve right shift.
26333 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26335         * src/z80/gen.c:
26336           Improve 16-bit addition with operand in hl and result in iy.
26338 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26340         * src/z80/ralloc2.cc,
26341           src/z80/gen.c:
26342           Improvements to left shift by literal.
26344 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26346         * src/z80/ralloc2.cc,
26347           src/z80/gen.c,
26348           src/z80/peep.c:
26349           Improvements to non-destructive and, including #3526286.
26351 2012-06-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26353         * src/SDCCmain.c,
26354           src/SDCCopt.c,
26355           src/SDCCglobl.h:
26356           Implement --nolospre option for disabling lospre.
26358 2012-06-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26360         * src/SDCCicode.c:
26361           Fix debug output for GET_VALUE_AT_ADDRESS right operand.
26363 2012-06-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26365         * src/SDCClospre.hpp:
26366           Fix handling of IFX in forward substitution.
26368 2012-06-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26370         * src/SDCClospre.cc:
26371           Disable lospre of assignments with iTemp source.
26373 2012-06-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26375         * src/SDCClospre.hpp,
26376           src/SDCClospre.cc:
26377           Reorganize forward substitution code, lospre for GET_VALUE_AT_ADDRESS.
26379 2012-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
26381         * src/SDCCast.c (decorateType, &/|/^): optimize bool with literal,
26382           (optimizeGetAbit): prevent memory leak
26383         * src/SDCCcse.c (algebraicOpts): optimize bool XOR literal
26384         * src/SDCCsymt.c (computeType): also remove const from result,
26385           fixed bug 3531687 by removing wrong CHAR = ? 1 : 0 optimization to BOOL
26386         * src/SDCCval.h,
26387         * src/SDCCval.c (constBoolVal): new function
26388           (cheapestVal): added BOOL for 0 or 1,
26389         * support/regression/tests/bug3531687.c: enabled test, removed unrelated
26390           and already covered test
26391         * support/regression/tests/getbyte.c: new, added
26393 2012-06-09 Borut Razem <borut.razem AT gmail.com>
26395         * support/regression/ports/pic14/spec.mk,
26396           support/regression/ports/pic16/spec.mk:
26397           fixed pic -> pic14, --non-free -> --use-non-free
26399 2012-06-09 Philipp Klaus Krause <pkk AT spth.de>
26401         * src/z80/ralloc2.cc:
26402           Disallow source operand in h or l for >= 16-bit addition that also has a
26403           source operand on extended stack. Final part of fix for bug #3531660.
26404         * support/regression/tests/bug3531687.c:
26405           Regression test for bug #3531687.
26407 2012-06-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26409         * src/SDCCopt.c: fixed several missing def/use problems including
26410           bug #3511517
26411         * src/SDCCBBlock.c (addiCodeToeBBlock): fixed bug #3511516
26412         * src/hc08/ralloc.c (packRegisters): fixed bug #3531045
26413         * support/regression/tests/gcc-torture-execute-980604-1.c: reenabled
26414         * support/regression/tests/gcc-torture-execute-980205.c: reenabled
26416 2012-06-07 Philipp Klaus Krause <pkk AT spth.de>
26418         * src/z80/main.c:
26419           Fix handling of --fomit-frame-pointer for z180, r2k and r3ka port.
26421 2012-06-07 Maarten Brock <sourceforge.brock AT dse.nl>
26423         * src/ds390/gen.c (genAssign): no assignment for ruonly to ruonly
26424         * src/SDCC.y,
26425         * src/SDCCerr.c: W_COMP_RANGE, W_EMPTY_SOURCE_FILE & W_CONTROL_FLOW are pedantic
26426         * src/SDCCast.c (processParms): no cast for signedness only,
26427           (resultTypePropagate): propagate for GETHBIT, GETABIT, GETBYTE & GETWORD,
26428           (decorateType: BITWISEAND): rearrange first,
26429           (decorateType: RETURN): no cast for signedness only,
26430           (optimizeGetHbit, optimizeGetAbit): use bitsForType instead of getSize and
26431            propagate resultType,
26432           (optimizeGetByte, optimizeGetWord): handle offset 0
26433         * src/SDCClabel.c (deleteIfx),
26434         * src/SDCCcse.c (ifxOptimize): W_CONTROL_FLOW is pedantic,
26435           (algebraicOpts: BITWISEAND, OR): use bitsForType instead of getSize
26436         * src/SDCCicode.c (geniCodeLogic): W_COMP_RANGE is pedantic,
26437           (geniCodeUnary, geniCodeBinary): added param resType,
26438           (checkTypes): no cast for signedness only,
26439           (ast2iCode): propagate tree->ftype
26440         * src/SDCCopt.c (optimizeCastCast): use bitsForType instead of getSize
26441         * src/SDCCsymt.c (comparePtrType): only cast signedness if necessary
26442         * src/SDCCsymt.h,
26443         * src/SDCCicode.h: cosmetics
26445 2012-06-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26447         * src/hc08/gen.c: fixed bugs #3531546 and #3531545
26449 2012-06-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26451         * src/z80/gen.c:
26452           Fix 16-Bit addition for interleaved pairs. Partial fix for bug #3531660.
26454 2012-06-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26456         * src/z80/gen.c:
26457           Fix POINTER_SET with surviving result partially in hl. Partial fix for bug #3531660.
26459 2012-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
26461         * device/lib/_autobaud.c: cosmetics
26462         * device/lib/printfl.c: fixed bug 3513300
26464 2012-06-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26466         * src/hc08/gen.c: Fixed bug #3531544. Fixed cast from h to hx.
26468 2012-06-05 Borut Razem <borut.razem AT gmail.com>
26470         * support/sdbinutils/libiberty/makefile.in:
26471           excluded pex*.c files from build since pex-unix.c doesn't
26472           compile on cygwim mingw and they are not needed by sdbinutils
26473         * doc/sdccman.lyx: compiler macro definitions not starting with
26474           double underscore characters are deprecated if --std-cXX
26475           command line option is defined;
26476           new compiler macros for processor definition were introduced
26477           for pic14 and pic16 targets
26479 2012-06-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26481         * src/z80/ralloc2.cc:
26482           Disallow surviving hl in addition with extended stack operands. Partial fix for bug #3531660.
26484 2012-06-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26486         * src/mcs51/ralloc.c (packForPush),
26487         * src/ds390/ralloc.c (packForPush),
26488         * src/hc08/ralloc.c (packForPush),
26489         * src/pic14/ralloc.c (packForPush),
26490         * src/pic16/ralloc.c (packForPush): fixed bug #3527285
26492 2012-06-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26494         * src/z80/gen.c:
26495           Fix corner case in addition with extended stack right operand and low result byte in hl. Partial fix for bug #3531660.
26497 2012-06-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26499         * src/z80/ralloc2.cc:
26500           Disallow use of hl over comparison when there is an extended stack operand. Partial fix for bug #3531660.
26501         * src/z80/gen.c:
26502           Save a during GET_VALUE_AT_ADDRESS when storing to extended stack operand. Partial fix for bug #3531660.
26504 2012-06-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26506         * src/hc08/gen.c (loadRegIndex, storeRegIndexed): added missing
26507           rematOfs
26509 2012-06-03 Borut Razem <borut.razem AT gmail.com>
26511         * src/pic14/main.c, src/pic16/main.c: re-enabled deprecated
26512           macros not starting with double underscore characters in
26513           combination with --std-cXX
26514         * device/include/pic16/pic18fregs.h: modified for __SDCC_PICXXX
26516 2012-06-03 Philipp Klaus Krause <pkk AT spth.de>
26518         * src/z80/gen.c:
26519           Fix handling of extended stack operands in 16-bit unary minus and signed comparison. Partial fix for bug #3531660.
26521 2012-06-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26523         * src/SDCCopt.c,
26524         * src/hc08/ralloc.c: RFE 3526269 and 3526268
26526 2012-06-02 Philipp Klaus Krause <pkk AT spth.de>
26528         * src/port.h:
26529           Fixed bug #3531540.
26531 2012-06-02 Philipp Klaus Krause <pkk AT spth.de>
26533         * src/SDCCerr.c, src/SDCCerr.h: added W_STRING_CANNOT_BE_TERMINATED
26534           src/SDCCast.c (createIvalCharPtr): fixed #3007799: generate different warning
26535           for initializer strings that fit in buffer without terminating '\0'. According
26536           C99 $6.7.8:14 this is allowed. With --less-pedantic no warning is generated.
26537           Modified version of patch by Jan Waclawek.
26539 2012-06-02 Borut Razem <borut.razem AT gmail.com>
26541         * src/SDCCmain.c, src/pic14/main.c, src/pic16/main.c,
26542           support/scripts/pic14fam-h-gen.pl,
26543           applied modified patch
26544           #3531337 - The pic14 port, automatically creates the -DpicXXX,
26545           thanks to Molnar Karoly
26546         * support/scripts/pic16fam-h-gen.pl: modified for __SDCC_PICXXX
26547         * device/non-free/include/pic14/pic14fam.h,
26548           device/non-free/include/pic16/pic16fam.h: (re)generated
26550 2012-06-01 Borut Razem <borut.razem AT gmail.com>
26552         * doc/README.txt, doc/INSTALL.txt: updated for SDCC 3.2.0 release
26554 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26556         * src/z80/peeph-z80.def,
26557           src/z80/peeph-r2k.def:
26558           Shift optimization.
26560 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26562         * src/SDCClospre.cc,
26563           src/SDCCsymt.h,
26564           src/SDCCsymt.c,
26565           src/SDCClospre.hpp:
26566           Relax lospre type checking.
26568 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26570         * src/SDCClospre.cc:
26571           Disable lospre for literla assignments (can be reenabled once ports can rematerialize this).
26572         * src/SDCClospre.hpp:
26573           Improve handling of volatile.
26575 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26577         * src/z80/gen.c:
26578           Always use 16-bit addition when an operand and the result are in hl.
26580 2012-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26582         * src/hc08/gen.c: Preparations for further pointer offset
26583           optimizations. Bug fixes for certain register assignment cases
26584           in complement, unary minus, bitwise operators, and bitfield
26585           unpacking.
26587 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26589         * src/z80/gen.c:
26590           Fix handling of a in casts, bug #3531118.
26592 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26594         * doc/sdccman.lyx:
26595           Updated manual (mostly r3ka and s08 port).
26597 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26599         * src/SDCClospre.hpp:
26600           Fix handling of invalidating iCodes in lospre.
26601         * src/SDCClospre.cc:
26602           Fix multiround-lospre.
26604 2012-05-31 Borut Razem <borut.razem AT gmail.com>
26606         * debugger/mcs51/cmd.c: fixed bug #3530998 - source code bug..
26608 2012-05-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26610         * src/SDCCsymt.h: handle up to 8 registers per symbol for long long
26611           support
26613 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26615         * src/z80/ralloc.h,
26616           src/z80/gen.c,
26617           src/z80/ralloc2.cc:
26618           More flexible handling of a during pointer access in z80-related ports.
26620 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26622         * src/z80/peeph-r2k.def:
26623           Fix invalid stack-relative increment.
26624         * src/z80/gen.c:
26625           More efficient handling of 16-bit stores to stack.
26627 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26629         * sim/ucsim/z80.src/inst_r2k.cc:
26630           Fix handling of carry in 16-bit shift rotate instructions.
26631         * src/z80/gen.c:
26632           Better 16 bit signed comparison for z80 related (except gbz80).
26634 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26636         * src/z80/gen.c:
26637           Allow result of GET_VALUE_AT_ADDRESS in A for z80-related ports.
26639 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26641         * src/z80/gen.c:
26642           Improve storing of literals to stack for Rabbits.
26644 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26646         * src/z80/gen.c:
26647           Fix multibyte global to global assignment on gbz80 with de alive.
26649 2012-05-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26651         * src/hc08/ralloc2.cc (operand_sane): fixed erroneous rejection of
26652           single byte operand register assignment due to out of bounds
26653           dereference
26655 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26657         * src/z80/gen.c:
26658           Fix for surviving pair in bitfield write.
26660 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26662         * src/SDCClospre.hpp:
26663           Fix for handling global variables over calls in lospre.
26665 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26667         * src/z80/gen.c,
26668           src/hc08/gen.c:
26669           Added assertions to debug rematerialization issues.
26671 2012-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26673         * src/hc08/ralloc.c (moveSendToCall, packRegisters): move SEND iCodes
26674           to immediately precede their CALL/PCALL for better live range info.
26675         * src/hc08/gen.c (genSend): fixed bug swapping SEND iCode order.
26677 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26679         * src/SDCClospre.hpp:
26680           Fix invalid memory access bug.
26682 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26684         * src/SDCClospre.hpp,
26685           src/z80/gen.c:
26686           Fix handling of ADDRESS_OF in lospre forward assignment.
26688 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26690         * src/z80/gen.c:
26691           Fixed bug #3530276.
26693 2012-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26695         * src/SDCCbitv.c (bitVectSetBit, bitVectUnSetBit),
26696         * src/hc08/ralloc2.cc (set_surviving_regs),
26697         * src/z80/ralloc2.cc (set_surviving_regs): Prohibit negative bit
26698           position in bit vectors to avoid memory corruption
26699         * device/lib/clean.mk: add s08 and r3ka ports to cleaning
26701 2012-05-28 Philipp Klaus Krause <pkk AT spth.de>
26703         * src/z80/gen.c:
26704           Use Rabbit's cast to bool instruction for zeroing h,
26705           more efficient loading of pairs in shifts.
26706         * src/z80/peep.c:
26707           Handle bool in instruction size calculations.
26709 2012-05-28 Borut Razem <borut.razem AT gmail.com>
26711         * src/pic16/main.c: allow underscore characters in #pragma config
26713 2012-05-28 Philipp Klaus Krause <pkk AT spth.de>
26715         * src/SDCClospre.hpp,
26716           src/SDCClospre.cc:
26717           Improve handling of results of substituted instructions in lospre.
26719 2012-05-27 Philipp Klaus Krause <pkk AT spth.de>
26721         * src/SDCClospre.hpp,
26722           src/SDCClospre.cc:
26723           Fix handling of --max-allocs-per-node in lospre.
26725 2012-05-26 Borut Razem <borut.razem AT gmail.com>
26727         * src/pic16/main.c: allow space characters in #pragma config
26729 2012-05-25 Borut Razem <borut.razem AT gmail.com>
26731         * doc/sdccman.lyx: corrected #pragma configure to #pragma config
26733 2012-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26735         * src/SDCClospre.hpp:
26736           Improve handling of --max-allocs-per-node in lospre.
26738 2012-05-25 Maarten Brock <sourceforge.brock AT dse.nl>
26740         * src/hc08/gen.c (genPointerSet): fixed warning
26742 2012-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26744         * src/SDCCicode.h,
26745           src/SDCCicode.c,
26746           src/SDCClospre.hpp,
26747           src/SDCClospre.cc:
26748           Fixes for handling of globals and volatile in lospre.
26750 2012-05-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26752         * support/scripts/sdcc.nsi: fix my typo in r3ka path
26754 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26756         * src/SDCClospre.hpp,
26757           src/SDCClospre.cc:
26758           lospre.
26760 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26762         * src/z80/peeph-r2k.def,
26763           src/z80/peeph-z80.def,
26764           src/z80/peeph-gbz80.def:
26765           Jump optimization.
26767 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26769         * src/z80/ralloc2.cc,
26770           src/z80/gen.c:
26771           Non-destructive & with bit literal.
26773 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26775         * src/SDCClospre.hpp,
26776           src/SDCClospre.cc:
26777           Preparations for lospre.
26779 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26781         * src/hc08/peeph.def:
26782           Improve elimination of branches.
26784 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26786         * src/SDCClospre.hpp,
26787           src/SDCClospre.cc:
26788           Preparations for lospre.
26789         * src/z80/gen.c:
26790           More verbose debugging for variables that are not in registers, but should be.
26792 2012-05-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26794         * support/scripts/sdcc.nsi: added r3ka and s08 to installer
26795         * support/sdbinutils/binutils/configure.in,
26796         * support/sdbinutils/binutils/configure: fix bug #3527589
26797         * src/SDCCcse.c (newCseDef): fix bug #3528899
26799 2012-05-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26801         * src/SDCClospre.hpp,
26802           src/SDCClospre.cc:
26803           Preparations for lospre.
26805 2012-05-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26807         * src/hc08/gen.c: Preparations for further pointer offset
26808            optimizations
26810 2012-05-22 Philipp Klaus Krause <pkk AT spth.de>
26812         * src/hc08/peeph.def:
26813           Allow disabling of tail-call and jump to return optimization.
26815 2012-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26817         * src/hc08/gen.c: Fixed inconsistent offsets for 16-bit register
26818           accesses. Removed broken and unused AOP_STR type. Prohibit loading
26819           h via hx from volatile operands.
26821 2012-05-21 Philipp Klaus Krause <pkk AT spth.de>
26823         * support/regression/tests/memory.c,
26824           src/z80/gen.c,
26825           src/port.h,
26826           src/SDCCglue.c,
26827           src/z80/main.c,
26828           src/z80/peep.c:
26829           Use lsidr for built-in memset() for r3ka.
26830         * src/hc08/gen.c:
26831           Use ldhx, sthx for memory-to-memory assignment and cast.
26832         * src/hc08/peeph.def:
26833           Basic tail call optimization.
26835 2012-05-21 Philipp Klaus Krause <pkk AT spth.de>
26837         * src/hc08/gen.c:
26838           More efficient loading of H and HX for hc08 and s08.
26840 2012-05-21 Philipp Klaus Krause <pkk AT spth.de>
26842         * support/regression/tests/setjmp.c:
26843           Enable test for r3ka.
26844         * support/regression/tests/gcc-torture-execute-pr28982a.c,
26845           support/regression/tests/gcc-torture-execute-20010224-1.c,
26846           support/regression/tests/gcc-torture-execute-20030408-1.c:
26847           Disable tests for r3ka.
26848         * support/regression/Makefile.in:
26849           Add ucr3ka target to z80 target.
26851 2012-05-21 Leland Morrison <enigmalee AT sourceforge.net>
26853         * SDCCpeeph.c, peep.c: Fixed so that R2K instructions are
26854           recognized for -mr3ka target by the peephole optimizer.
26856 2012-05-20 Leland Morrison <enigmalee AT sourceforge.net>
26858         * support/regression/Makefile.in, support/regression/ports/ucr3ka/*,
26859           support/regression/fwk/include/testfwk.h: added test-ucr3ka to
26860           run regression tests on the rabbit 3000A port
26862 2012-05-20 Leland Morrison <enigmalee AT sourceforge.net>
26864         * device/include/sdcc-lib.h, device/include/math.h: Added conditional
26865           for rabbit 3000
26866         * devince/include/asm/r3ka/features.h: Added to allow customizations
26867           for -mr3ka
26869 2012-05-20 Leland Morrison <enigmalee AT sourceforge.net>
26871         * src/sdas/asrab/rabbitpst.c: Added mnemonics for rabbit 3000A
26872         * src/sdas/asrab/rabbitmch.c: Added .r3k flag and rabbit 3000A
26873           instructions, changed much of the indentation to make gnu style,
26874           and update two functions declarations from K&R style
26875         * src/sdas/asrab/rabbit.h: Added constants for rabbit 3000 support
26877 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26879         * src/hc08/gen.c:
26880           Emit cost information only when --fverbose-asm is used.
26882 2012-05-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26884         * src/hc08/gen.c: Fixed yet more problems with registers possibly
26885           clobbered in division/modulus. Optimized GET_VALUE_AT_ADDRESS
26886           including handling non-zero right operand.
26887         * src/hc08/ralloc.c: Allow packRegsForSupport() to optimize
26888           conditions computed for IFX. Handle non-zero right operand
26889           for GET_VALUE_AT_ADDRESS when generating pseudo symbol.
26890         * src/SDCCopt.c: Let GET_VALUE_AT_ADDRESS have non-zero right
26891           operand for HC08-like ports. Fix def/use info on operands
26892           converted to integer support function calls.
26894 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26896         * sdccconf_in.h:
26897           Regenerated, so building with r3ka port disabled works now.
26899 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26901         * src/hc08/gen.c:
26902           Improved code for PCALL.
26904 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26906         * src/hc08/gen.c,
26907           src/hc08/ralloc2.cc:
26908           Improved code for GET_VALUE_AT_ADDRESS.
26910 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26912         * src/hc08/gen.c:
26913           Improve addition for hc08 and s08.
26914         * src/z80/main.c:
26915           Fix name of r3ka library.
26916         * src/hc08/main.c:
26917           Fix name of s08 library.
26919 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26921         * sim/ucsim/hc08.src/hc08.cc:
26922           Fix sthx with ext operand on s08.
26923         * src/hc08/gen.c:
26924           Use ldhx, cphx and sthx with ext operands for s08 in places where we use them for hc08 with imm operands.
26926 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26928         * sdas/as6808/m08mch.c,
26929           sdas/as6808/m6808.h,
26930           sdas/as6808/m08pst.c,
26931           src/SDCCralloc.hpp,
26932           src/SDCCglue.c,
26933           src/hc08/main.c,
26934           src/hc08/ralloc2.cc:
26935           Asm for s08.
26937 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26939         * support/regression/tests/bug3223041.c:
26940           Do not handle hc08 as special case.
26942 2012-05-18 Philipp Klaus Krause <pkk AT spth.de>
26944         * device/lib/r3ka/Makefile.in:
26945           Fix building of r3ka lib.
26946         * device/lib/s08/Makefile.in:
26947           Fix building of s08 lib.
26948         * support/regression/Makefile.in,
26949           support/regression/ports/s08,
26950           support/regression/fwk/include/testfwk.h,
26951           support/regression/tests/gcc-torture-execute-func-ptr-1.c,
26952           support/regression/tests/gcc-torture-execute-991112-1.c,
26953           support/regression/tests/gcc-torture-execute-921208-1.c,
26954           support/regression/tests/bug3379723.c,
26955           support/regression/tests/gcc-torture-execute-930702-1.c,
26956           support/regression/tests/float_single.c,
26957           support/regression/tests/gcc-torture-execute-20000412-2.c,
26958           support/regression/tests/gcc-torture-execute-20080529-1.c,
26959           support/regression/tests/gcc-torture-execute-20030209-1.c,
26960           support/regression/tests/gcc-torture-execute-950915-1.c,
26961           support/regression/tests/bug1723128.c,
26962           support/regression/tests/gcc-torture-execute-20001221-1.c,
26963           support/regression/tests/gcc-torture-execute-20030307-1.c,
26964           support/regression/tests/gcc-torture-execute-950612-1.c,
26965           support/regression/tests/gcc-torture-execute-20001108-1.c,
26966           support/regression/tests/cse.c:
26967           Regression testing for s08 port.
26968         * device/include/stdarg.h:
26969           Fix variable arguments for s08.
26970         * device/lib/_mullong.c:
26971           Fix long multiplication for s08.
26973 2012-05-18 Philipp Klaus Krause <pkk AT spth.de>
26975         * configure.in,
26976           src/SDCCicode.c,
26977           src/SDCCsymt.c,
26978           src/SDCCmain.c,
26979           src/port.h,
26980           src/SDCCglue.c,
26981           src/hc08/main.c,
26982           src/SDCCpeeph.c,
26983           src/hc08/hc08.h,
26984           device/lib/Makefile.in,
26985           device/lib/s08:
26986           Dummy (behaves as HC08) S08 port.
26988 2012-05-18 Philipp Klaus Krause <pkk AT spth.de>
26990         * device/include/stdarg.h,
26991           device/include/string.h,
26992           device/include/setjmp.h,
26993           device/lib/Makefile.in,
26994           configure.in,
26995           src/SDCCopt.c,
26996           src/z80/gen.c,
26997           src/z80/main.c,
26998           src/z80/z80.h,
26999           src/SDCCmain.c,
27000           src/port.h,
27001           sim/ucsim/aclocal.m4,
27002           sim/ucsim/configure,
27003           device/lib/r3ka:
27004           Dummy (behaves as Rabbit 2000/3000) Rabbit 3000A port.
27006 2012-05-17 Leland Morrison <enigmalee AT sourceforge.net>
27008         * sim/ucsim/hc08/hc08.cc: Fix for opcodes 0xAE, 0xBE, and 0xCE op-decode
27010 2012-05-17 Philipp Klaus Krause <pkk AT spth.de>
27012         * support/regression/tests/bug3521024.c:
27013           Regression test for bug #3521024.
27015 2012-05-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27017         * src/hc08/gen.c: Use non-destructive bit tests when possible
27018           (rfe #3526285). Fixed loss of association between generated
27019           assembly and iCodes.
27020         * src/hc08/peeph.def: Additional rules for conditional branches and
27021           to remove unused labels.
27023 2012-05-16 Maarten Brock <sourceforge.brock AT dse.nl>
27025         * support/regression/Makefile.in: renamed test-z80 and test-gbz80 to test-rr...
27026         * support/regression/ports/gbz80,
27027         * support/regression/ports/rrgbz80: renamed to rrgbz80
27028         * support/regression/ports/z80,
27029         * support/regression/ports/rrz80: renamed to rrz80
27030         * support/regression/tests/gcc-torture-execute-921013-1.c: disabled for xstack
27032 2012-05-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27034         * src/hc08/gen.c (genAnd): added forgotten ifx->generated = TRUE
27036 2012-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
27038         * support/regression/tests/gcc-torture-execute-961017-2.c: use less loops to
27039           reduce test time
27041 2012-05-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27043         * sim/ucsim/hc08.src/hc08.cc,
27044         * sim/ucsim/hc08.src/inst.cc: Fixed simulation of brset/brclr. Keep
27045           track of instruction cycle times.
27046         * src/hc08/gen.c (genAnd): Use brset/brclr where possible
27048 2012-05-14 Leland Morrison <enigmalee AT sourceforge.net>
27050         * sim/ucsim/stypes.h,
27051         * sim/ucsim/globals.cc: add R3KA (rabbit 3000A) processor type
27052         * sim/ucsim/z80.src/r2k.cc,
27053         * sim/ucsim/z80.src/simz80.cc: added initialization code for R3KA support
27054         * sim/ucsim/z80.src/r2kcl.h,
27055         * sim/ucsim/z80.src/inst_ed_r2k.cc: support for r3ka instructions
27056         * sim/ucsim/z80.src/inst_ed.cc: change to allow overloading of inst_ed_
27058 2012-05-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27060         * src/SDCClospre.hpp,
27061           src/SDCClospre.cc:
27062           Early preparations for lospre.
27064 2012-05-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27066         * src/SDCClospre.hpp:
27067           Early preparations for lospre.
27069 2012-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27071         * src/hc08/gen.c: correct some dry run costs, update genDivOneByte()
27072           and genModOneByte() to handle all register operand posibilities
27074 2012-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
27076         * sim/ucsim/pobj.cc,
27077         * sim/ucsim/pobjcl.h: made cl_list::at inline
27078         * sim/ucsim/s51.src/regs51.h: added AP
27079         * sim/ucsim/s51.src/uc390.cc (inst_inc_dptr): fixed sel bug,
27080           (disass): show inc/dec dptr,
27081           (print_regs): show DPTR0, DPTR1 and AP
27082         * src/ds390/gen.c (genGenPointerGet, genGenPointerSet): fixed bug 3509705
27083         * support/regression/compact-results.py: align results
27084         * support/regression/tests/gcc-torture-execute-921013-1.c: enabled tests
27086 2012-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27088         * src/SDCClospre.hpp,
27089           src/SDCClospre.cc:
27090           Early preparations for lospre.
27092 2012-05-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27094         * src/SDCCopt.c,
27095           src/SDCCopt.c,
27096           src/SDCClospre.cc,
27097           Preparations for finding lospre optimization candidates.
27099 2012-05-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27101         * src/z80/ralloc2.cc,
27102           src/hc08/ralloc2.c:
27103           Bypass dry run for generated ic.
27105 2012-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
27107         * src/hc08/gen.h,
27108         * src/hc08/gen.c (aopName): compile conditionally,
27109           (assignResultValue): MSVC has no true/false,
27110           (hasInchc08): fixed warning,
27111           (genReceive): declarations first
27112         * src/hc08/ralloc.c: include dbuf_string.h,
27113           (createStackSpil): removed unused slocBuffer
27114         * src/hc08/hc08.vcxproj.filters,
27115         * src/hc08/hc08.vcxproj: added ralloc2.cc and boost include dir
27116         * src/z80/gen.c (genCmp): fixed uninitialised warning
27117         * src/SDCCicode.h: cosmetics
27119 2012-05-09 Philipp Klaus Krause <pkk AT spth.de>
27121         * src/SDCCralloc.hpp,
27122           src/hc08/ralloc2.cc:
27123           Added some debug info code.
27125 2012-05-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27127         * src/SDCClospre.hpp,
27128           src/SDCCralloc.hpp,
27129           src/SDCCnaddr.cc,
27130           src/SDCCnaddr.hpp,
27131           src/SDCClospre.cc:
27132           Declare some data types for lospre.
27134 2012-05-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27136         * src/hc08/gen.c,
27137           src/hc08/ralloc.c:
27138           Remove some unused variables.
27140 2012-05-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27142         * src/hc08/gen.c (aopOp): Handle spill location correctly even
27143           though it is not actually allocated during dry run
27145 2012-05-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27147         * support/regression/ports/ds390/spec.mk:
27148           Increase timeout from 40 to 60, since ds390 simulation on NetBSD is slow.
27150 2012-05-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27152         * src/hc08/gen.c (aopAdrStr): handle incompletely initialized
27153           spill location symbols during dry run
27155 2012-05-06 Borut Razem <borut.razem AT gmail.com>
27157         * .version, doc/sdccman.lyx: bumped version to 3.1.5
27158         * ChangeLog: removed unicode BOM
27159         * support/sdbinutils/binutils/Makefile.am,
27160           support/sdbinutils/binutils/Makefile.in:
27161           fixed the first part of bug #3518739 - Build weird behaviour...
27163 2012-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
27165         * support/regression/tests/gcc-torture-execute-pr44555.c: test was not
27166           disabled for gcc 4.4.3, now it is for all 4.x.x < 4.6.0
27168 2012-05-05 Philipp Klaus Krause <pkk AT spth.de>
27170         * src/SDCCicode.c,
27171         * src/SDCCicode.h,
27172         * src/SDCCralloc.hpp,
27173         * src/SDCCset.c,
27174         * src/SDCCsymt.c,
27175         * src/hc08/gen.c,
27176         * src/hc08/gen.h,
27177         * src/hc08/main.c,
27178         * src/hc08/ralloc.c,
27179         * src/hc08/ralloc.h,
27180         * src/hc08/ralloc2.cc,
27181         * src/yacc.vcxproj,
27182         * src/z80/gen.c,
27183         * src/z80/ralloc.c,
27184         * src/z80/ralloc2.cc: Merged optralloc-hc08 branch
27186 2012-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
27188         * config.vcxproj,
27189         * configure_vc.awk,
27190         * doc/sdccman.lyx,
27191         * sdcc_vc.h.in, sdcc_vc_in.h: renamed sdcc_vc_in.h to sdcc_vc.h.in
27192         * src/SDCCval.c (byteOfVal),
27193         * src/z80/gen.c (genLeftShiftLiteral, genPointerGet),
27194         * src/mcs51/gen.c (genLeftShiftLiteral): fixed warnings
27195         * src/SDCCnaddr.hpp: renamed cfg_node to cfg_naddr_node
27196         * src/SDCCralloc.hpp: default_constructor_of_cfg_node_called and
27197           cfg_node constructor disabled to fix bug 3521407
27198         * src/SDCCtree_dec.hpp: set svn properties
27199         * support/regression/ports/mcs51-common/spec.mk: fixed SIM_TIMEOUT bug
27200         * support/regression/tests/bug-3495411.c: enabled for mcs51
27201         * support/regression/tests/gcc-torture-execute-20000622-1.c,
27202         * support/regression/tests/gcc-torture-execute-20010924-1.c,
27203         * support/regression/tests/gcc-torture-execute-961004-1.c,
27204         * support/regression/tests/gcc-torture-execute-961125-1.c,
27205         * support/regression/tests/gcc-torture-execute-990404-1.c: suppressed warnings
27207 2012-05-05 Philipp Klaus Krause <pkk AT spth.de>
27209         * support/regression/tests/gcc-torture-execute-20080529-1.c:
27210           Disable test for gcc older than 5.0.
27212 2012-05-05 Borut Razem <borut.razem AT gmail.com>
27214         * support/regression/ports/ds390/spec.mk,
27215           support/regression/ports/hc08/spec.mk,
27216           support/regression/ports/mcs51-common/spec.mk,
27217           support/regression/ports/pic14/spec.mk,
27218           support/regression/ports/pic16/spec.mk,
27219           support/regression/ports/ucgbz80/spec.mk,
27220           support/regression/ports/ucr2k/spec.mk,
27221           support/regression/ports/ucz180/spec.mk,
27222           support/regression/ports/ucz80/spec.mk: use SIM_TIMEOUT
27224 2012-05-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27226         * support/regression/ports/ucgbz80/spec.mk:
27227           Increase timeout from 20s to the 30s other ports use to get rid of NetBSD/sparc64 regression failure.
27229 2012-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27231         * src/hc08/main.c,
27232           src/hc08/ralloc.c:
27233           Revive old register allocator for --oldralloc.
27235 2012-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27237         * src/SDCCmain.c,
27238           src/z80/gen.c,
27239           src/z80/ralloc.c,
27240           src/z80/main.c,
27241           src/z80/z80.h,
27242           src/SDCCglobl.h:
27243           Made --oldralloc less port-specific.
27245 2012-05-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27247         * src/z80/gen.c (aopPut3): added missing declarations
27249 2012-05-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27251         * src/hc08/gen.c:
27252           Remove obsolete genPointerGetSetOfs().
27254 2012-05-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27256         * configure: regenerated from new configure.in
27258 2012-05-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27260         * src/z80/gen.c:
27261           More efficent storing of registers pairs to top of stack.
27263 2012-05-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27265         * support/regression/tests/gcc-torture-execute-20101013-1.c:
27266           Disable test until nonzero integer constants work.
27268 2012-05-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27270         * src/SDCCval.h,
27271         * src/SDCCval.c (byteOfVal): new function
27272         * src/z80/gen.c (aopGet, gencjneshort),
27273         * src/SCCglue.c (aopLiteralLong): use byteOfVal() to access value
27274         * configure.in,
27275         * sdcc_vc_in.h,
27276         * sdccconf_in.h: find/define appropriate 64-bit integer
27277         * src/SDCCsymt.h: start of support for 64-bit literal
27279 2012-04-30 Leland Morrison <enigmalee AT sourceforge.net>
27281         * sim/ucsim/app.cc:  reduced the frequency of checks for user input
27283 2012-04-26 Philipp Klaus Krause <pkk AT spth.de>
27285         * src/z80/gen.c:
27286           Improve code generation for comparison to zero.
27288 2012-04-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27290         * support/librarian/sdcclib.c:
27291           Do not depend on PATH_MAX, fix #3521650.
27292         * sdas/asxxsrc/asxxxx.h:
27293           Use FILENAME_MAX if PATH_MAX is not defined.
27295 2012-04-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27297         * src/hc08/gen.c: Optimize access to h/hx on top of stack. Compute
27298           cost of SEND.
27299         * src/hc08/ralloc2.cc: Compute cost of SEND. Support xa and ax
27300           with GETBYTE and GETWORD.
27302 2012-04-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27304         * src/hc08/gen.c: Rewrite genSend to fix problem with register
27305           clobbering. Allow use of tsx with function return values.
27306         * src/hc08/ralloc.c: Removed unneed constraint on stack operands
27308 2012-04-25 Borut Razem <borut.razem AT gmail.com>
27310         * src/common.h, src/ds390/main.c: include SDCCsystem.h in common.h
27311         * src/SDCCmain.c: added newline at end of file
27312         * src/SDCCicode.c: use TRUE instead of undefined true
27313         * src/SDCCicode.h: fixed declaration of isOperandLiteral()
27315 2012-04-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27317         * src/z80/peeph-gbz80.def:
27318           Removed peephole that resulted in invalid or operand on gbz80.
27320 2012-04-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27322         * src/z80/gen.c:
27323           Fix #3521024.
27325 2012-04-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27327         * src/hc08/gen.c: Fixed bug with cpx use. Optimize stack adjustments
27328           of +/-1. Use mov #0 instead of clr with volatile operands to avoid
27329           read side effect. Avoid using x as stack frame base unless it saves
27330           clock cycles.
27332 2012-04-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27334         * src/SDCCicode.c,
27335           src/SDCCopt.c,
27336           src/z80/gen.c:
27337           GET_VALUE_AT_ADDRESS with offset for z80, z180 and r2k.
27339 2012-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27341         * src/hc08/gen.c: Index stack frame via x instead of sp when convenient
27343 2012-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27345         * src/hc08/gen.c: Use msb to lsb order in assignment for compatibility
27346           with hardware hardware registers. Expanded use of cpx and ldhx
27347           instructions. Removed some old unused code. Fixed a stack bug in
27348           genPlusIncr.
27350 2012-04-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27352         * src/SDCCicode.c:
27353           Enable replacing division by power of two by conditional addition and shift (for hc08, z80, z180, gbz80 and r2k).
27354         * src/z80/gen.c,
27355           src/mcs51/gen.c:
27356           Fortify a "/* I assume that [...]" comment by an assertion that would have saved me some time.
27358 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27360         * src/hc08/main.c:
27361           Enable CSE for an approx. 0.1-0.2% code size reduction.
27363 2012-04-22 Raphael Neider <rneider AT web.de>
27365         * device/lib/pic16/libsdcc/gptr/eeprom{8,16}_gptrput[1234].c:
27366           fix accessing EECON1.WREN
27368 2012-04-22 Raphael Neider <rneider AT web.de>
27370         * device/non-free/lib/pic14/libdev/Makefile.in:
27371           build 16f72[01] only if --enable-new-pics is given, as the
27372           devices are not supported in the current gputils release 0.14.1
27374 2012-04-21 Maarten Brock <sourceforge.brock AT dse.nl>
27376         * src/ds390/main.c: undo removed include to fix implicit declaration
27378 2012-04-21 Philipp Klaus Krause <pkk AT spth.de>
27380         * src/SDCCicode.c:
27381           Preparations for replacing division by power of two by conditional addition and shift.
27382         * support/regression/tests/longlong.c,
27383           support/regression/tests/gcc-torture-execute-pr42269-2.c,
27384           support/regression/tests/gcc-torture-execute-20080529-1.c,
27385           support/regression/tests/gcc-torture-execute-950503-1.c,
27386           support/regression/tests/float_single.c:
27387           Enable more tests for hc08.
27389 2012-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27391         * src/hc08/gen.c: fix bugs in genRLC, genRRC, and genJumpTab; support large stack
27392           offsets in rmwWithAop; optimized asmopToBool
27393         * src/hc08/ralloc.c: fix bug in findAssignToSym
27395 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27397         * src/hc08/ralloc2.cc,
27398           src/hc08/gen.c:
27399           Allow some use of ax.
27401 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27403         * src/hc08/ralloc2.cc,
27404           src/hc08/gen.c:
27405           Remove accuse.
27407 2012-04-19 Raphael Neider <rneider AT web.de>
27409         * device/lib/pic16/libc/stdio/strmmssp.c:
27410           fixed use of access bank vs. BSR
27412         * device/lib/pic16/libsdcc/gptr/eeprom{8,16}_gptr{get,put}[1234].c,
27413           device/lib/pic16/libsdcc/gptr/eeprom{8,16}_write.c:
27414           implement EEPROM read/write access
27416         * device/lib/pic16/libsdcc/gptr/gptr{get,put}[1234].c:
27417           call EEPROM dispatchers on EEPROM accesses
27419         * device/lib/pic16/libsdcc/Makefile.am:
27420           add gptr EEPROM accessors
27422         * device/non-free/lib/pic16/libdev/gptr/*:
27423           dispatch EEPROM accesses to the appropriate implementations
27424           based on device capabilities (no eeprom, 8 or 16 bit EEPROM
27425           address space)
27427         * device/non-free/lib/pic16/libdev/mkmk.sh,
27428           device/non-free/lib/pic16/libdev/newdevices.txt:
27429           improved to automatically add SSPBUF workaround
27430           plus EEPROM dispatchers as required by the devices
27432         * device/non-free/lib/pic16/libdev/pic18f1330.c,
27433           device/non-free/lib/pic16/libdev/pic18f1220.c,
27434           device/non-free/lib/pic16/libdev/pic18f4450.c:
27435           removed manual SSPBUF workaround
27437         * device/non-free/lib/pic16/libdev/fake_sspbuf.c:
27438           provide automatic SSPBUF workaround
27440         * device/lib/pic16/libsdcc/Makefile.in,
27441           device/non-free/lib/pic16/libdev/Makefile.am,
27442           device/non-free/lib/pic16/libdev/Makefile.in:
27443           regenerated
27445 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27447         * src/hc08/ralloc2.cc,
27448           src/hc08/gen.c:
27449           Made hc08 code generation more robust wrt. surviving registers and register operands.
27451 2012-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27453         * src/hc08/gen.c: rewrite genCast for register source/results
27455 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27457         * src/hc08/ralloc2.cc,
27458           src/hc08/gen.c:
27459           Fixes for the cost function (reducing code size and exposing code generation issues).
27461 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27463         * src/hc08/ralloc2.cc,
27464           src/hc08/gen.c:
27465           Made hc08 code generation more robust wrt. surviving registers and register operands.
27467 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27469         * src/hc08/gen.c:
27470           Preparations for removing accuse.
27472 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27474         * src/hc08/ralloc2.cc,
27475           src/hc08/gen.c:
27476           Fix xa to hx assignment.
27478 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27480         * src/hc08/ralloc2.cc:
27481           Fix assignment of nRegs and regs for accuse symbols.
27483 2012-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27485         * src/hc08/gen.c: fixed div/mod sign ext. to work with register result
27487 2012-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27489         * src/hc08/ralloc2.cc,
27490           src/hc08/gen.c:
27491           Made hc08 code generation more robust wrt. surviving registers and register operands.
27493 2012-04-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27495         * src/hc08/ralloc2.cc,
27496           src/hc08/gen.c:
27497           Made hc08 code generation more robust wrt. surviving registers and register operands.
27499 2012-04-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27501         * src/hc08/ralloc2.cc,
27502           src/hc08/gen.c:
27503           Handling of pointer access in new allocator.
27505 2012-04-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27507         * src/SDCCralloc.hpp,
27508           src/SDCCicode.c,
27509           src/SDCCicode.h,
27510           src/z80/ralloc2.cc,
27511           src/hc08/gen.h,
27512           src/hc08/ralloc2.cc,
27513           src/hc08/gen.c:
27514           Improve hc08 cost function.
27516 2012-04-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27518         * src/hc08/ralloc2.cc,
27519           src/hc08/gen.c:
27520           Made hc08 code generation more robust wrt. surviving registers and register operands.
27522 2012-04-14 Raphael Neider <rneider AT web.de>
27524         * src/pic16/genarith.c (pic16_genMult8XLit_n,pic16_genMult8X8_n):
27525           work around early clobbering of input operands, fixes #3515677;
27526           clean up, eliminate dead code
27528 2012-04-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27530         * src/hc08/gen.c: fix isDead status for register H
27532 2012-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27534         * src/SDCCralloc.hpp,
27535           src/hc08/ralloc2.cc,
27536           src/hc08/gen.c:
27537           Made hc08 code generation more robust wrt. surviving registers and register operands.
27539 2012-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27541         * src/hc08/ralloc.h,
27542           src/hc08/ralloc2.cc,
27543           src/hc08/gen.c,
27544           src/z80/ralloc2.cc:
27545           Introduce isDead for hc08 registers.
27547 2012-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27549         * src/hc08/gen.c (asmOp): always keep pointer to operand in asmop
27550         * src/hc08/ralloc2.cc (instruction_cost): reenable !, IFX, and CAST
27552 2012-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27554         * src/SDCCsymt.c (newBoolLink): return bool instead of bit if no
27555           bit memory.
27556         * src/hc08/gen.c: Fixed no register assigned to iTemp for IFX.
27557           Guarded more instances of emitLabel for dry run
27559 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27561         * src/hc08/gen.c:
27562           Fix genPointerGet with postincrement and result in h.
27564 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27566         * support/regression/tests/gcc-torture-execute-920428-1.c:
27567           Reformatted test.
27569 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27571         * src/hc08/gen.c:
27572           Fix handling of isFree for register operands.
27574 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27576         * src/hc08/gen.c:
27577           More flexible use of A in cast.
27579 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27581         * src/hc08/ralloc2.cc:
27582           Fix checking of XA and reenable use of assignment.
27583         * src/hc08/gen.c:
27584           Additional debugging output.
27586 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27588         * src/SDCCset.c:
27589           Additional assertion.
27590         * src/hc08/ralloc.c:
27591           Avoid buffer overflow.
27592         * src/hc08/ralloc2.cc:
27593           Do not use assignment for now.
27595 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27597         * src/SDCCicode.h,
27598           src/SDCCicode.c:
27599           Made isOperandLiteral() work on const operand *.
27601 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27603         * src/hc08/ralloc.c:
27604           Cleanup.
27605         * src/hc08/gen.c:
27606           Made genDjnz() more flexible.
27607         * src/hc08/ralloc2.cc:
27608           Disallow X, A for now.
27610 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27612         * src/SDCCralloc.hpp,
27613           src/z80/ralloc2.cc,
27614           src/hc08/ralloc2.cc:
27615           Make optimal register allocator less port-specific.
27617 2012-04-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27619         * src/SDCCralloc.hpp,
27620           src/z80/gen.c,
27621           src/hc08/ralloc2.cc,
27622           src/hc08/gen.c,
27623           src/hc08/ralloc.c,
27624           src/SDCCicode.c:
27625           Optimal register allocator for hc08 working partially.
27627 2012-04-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27629         * src/SDCCcse.c (ifOperandsHave): fixed bug #3516746
27631 2012-04-11 Philipp Klaus Krause <pkk AT spth.de>
27633         * support/regression/tests/string.c:
27634           Added test for strrchr().
27635         * src/z80/gen.c,
27636           src/SDCCpeeph.c:
27637           Fixed memory leaks.
27639 2012-04-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27641         * src/SDCCralloc.hpp,
27642           src/z80/ralloc.c,
27643           src/hc08/ralloc.c,
27644           src/hc08/gen.c:
27645           Enable new allocator as dummy, spilling everything.
27647 2012-04-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27649         * src/z80/ralloc.c,
27650           src/hc08/ralloc2.cc,
27651           src/hc08/ralloc.c:
27652           Preparations for optimal register allocation for hc08.
27654 2012-04-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27656         * support/regression/Makefile.in,
27657           support/regression/collate-results.py : another fix for bug #3477347
27658         * support/regression/ports/hc08/spec.mk: increase timeout to 30 seconds
27660 2012-04-08 Borut Razem <borut.razem AT gmail.com>
27662         * src/SDCCgen.c:
27663           don't emit leading whitespaces in inline asm, 2nd try
27664           fixed bug #3515390 - asm with leading whitespace passed to backends
27665         * src/z80/peep.c: made z80instructionSize() function more
27666           robust: accept arbitrary number of arbitrary space characters
27667           between mnemonic and the first operand
27669 2012-04-07 Philipp Klaus Krause <pkk AT spth.de>
27671         * src/z80/ralloc2.cc:
27672           Fix invalid reads.
27673         * src/z80/gen.c:
27674           Fix a memory leak.
27676 2012-04-07 Borut Razem <borut.razem AT gmail.com>
27678         * src/common.h, SDCCglobal.h: fixed mingw32 build on derna:
27679           macros min and max should not be defined when compiled with C++
27680         * src/pic16/device.c, src/pic16/genarith.c, src/pic16/gen.c,
27681           src/pic16/pcode.c, src/pic16/glue.c:
27682           applied patch #3515647 - Correction patch on the PIC16's branch,
27683           thanks to Molnar Karoly
27685 2012-04-07 Philipp Klaus Krause <pkk AT spth.de>
27687         * src/SDCCralloc.hpp:
27688           Additional assertion to track down #3475617 and #3506333.
27690 2012-04-06 Borut Razem <borut.razem AT gmail.com>
27692         * src/SDCCgen.c, src/SDCCgen.h, src/SDCCralloc.hpp, src/common.h,
27693           src/mcs51/gen.c, src/pic14/gen.c, src/z80/gen.c,
27694           src/pic16/gen.c, src/ds390/gen.c, src/hc08/gen.c:
27695           fixed NetBSD sparc64 build, code beautification,
27696           additional unification of target code generation
27697         * support/cpp/configure.in, support/cpp/configure,
27698           support/cpp/system.h: fixed sdcc configure include paths
27699         * src/SDCCgen.c: don't emit leading whitespaces in inline asm;
27700           fixed bug #3515390 - asm with leading whitespace passed to backends
27702 2012-04-05 Philipp Klaus Krause <pkk AT spth.de>
27704         * support/regression/tests/gcc-torture-execute-20080529-1.c:
27705           Disable test for gcc older than 5.0.
27706         * src/z80/ralloc2.cc,
27707           src/SDCCralloc.hpp,
27708           src/z80/gen.h,
27709           src/z80/gen.c:
27710           Made optimal allocator less z80-specific.
27712 2012-04-04 Borut Razem <borut.razem AT gmail.com>
27714         * support/cpp/system.h, support/cpp/libiberty/filenames.h,
27715           support/cpp/libiberty/md5.c, support/cpp/libiberty/obstack.h:
27716           sdcpp partially synchronized with GCC CPP release version 4.7.0
27717         * support/cpp/sdcpp.vcxproj: enhancements, added custom build messages
27719 2012-04-03 Philipp Klaus Krause <pkk AT spth.de>
27721         * src/SDCCralloc.hpp:
27722           Additional assertions to track down #3475617 and #3506333.
27724 2012-04-02 Philipp Klaus Krause <pkk AT spth.de>
27726         * src/SDCCsymt.c
27727           src/z80/main.c
27728           src/hc08/main.c
27729           src/hc08/gen.c
27730           src/hc08/ralloc.c
27731           device/include/stdint.h
27732           device/lib/_rlslonglong.c
27733           device/lib/_divslonglong.c
27734           device/lib/z180/Makefile.in
27735           device/lib/z180/stubs.s
27736           device/lib/_mullonglong.c
27737           device/lib/_rrslonglong.c
27738           device/lib/z80/Makefile.in
27739           device/lib/z80/stubs.s
27740           device/lib/gbz80/stubs.s
27741           device/lib/gbz80/Makefile.in
27742           device/lib/_rlulonglong.c
27743           device/lib/Makefile.in
27744           device/lib/_divulonglong.c
27745           device/lib/_divslonglong_rrx_s.c
27746           device/lib/_rrslonglong_rrx_s.c
27747           device/lib/_divulonglong_rrx_s.c
27748           device/lib/_rrulonglong_rrx_s.c
27749           device/lib/_rrulonglong.c
27750           device/lib/_rlslonglong_rrx_s.c
27751           device/lib/r2k/Makefile.in
27752           device/lib/r2k/stubs.s
27753           device/lib/_rlulonglong_rrx_s.c
27754           device/lib/hc08/Makefile.in
27755           device/lib/hc08/_ret.c
27756           support/regression/tests/gcc-torture-execute-991216-1.c
27757           support/regression/tests/gcc-torture-execute-pr47337.c
27758           support/regression/tests/gcc-torture-execute-991216-2.c
27759           support/regression/tests/gcc-torture-execute-pr20187-1.c
27760           support/regression/tests/gcc-torture-execute-20000121-1.c
27761           support/regression/tests/gcc-torture-execute-960801-1.c
27762           support/regression/tests/gcc-torture-execute-930111-1.c
27763           support/regression/tests/gcc-torture-execute-20001112-1.c
27764           support/regression/tests/gcc-torture-execute-20101013-1.c:
27765           long long for hc08.
27766         * src/z80/gen.c,
27767           support/regression/tests/gcc-torture-execute-pr47337.c,
27768           support/regression/tests/gcc-torture-execute-961213-1.c:
27769           Fixed bug #3513892.
27770         * src/SDCCralloc.hpp:
27771           Additional assertions to track down #3475617.
27772         * src/z80/ralloc.c:
27773           Assertion for local variables outside of functions.
27775 2012-04-01 Philipp Klaus Krause <pkk AT spth.de>
27777         * device/lib/Makefile.in,
27778           device/lib/*/Makefile.in,
27779           device/lib/*/stubs.s,
27780           device/lib/_divslonglong_rrx_s.c,
27781           device/lib/_rrslonglong_rrx_s.c,
27782           support/regression/tests/gcc-torture-execute-20101013-1.c,
27783           support/regression/tests/gcc-torture-execute-950512-1.c:
27784           long long division.
27785         * support/regression/tests/gcc-torture-execute-920612-1.c,
27786           support/regression/tests/gcc-torture-execute-920711-1.c:
27787           Disable tests for gcc older than 5.0.
27788         * support/regression/tests/longlong.c,
27789           support/regression/tests/gcc-torture-execute-960801-1.c,
27790           support/regression/tests/longlong.c:
27791           Disable long long tests since they fail on 32-bit systems.
27793 2012-03-31 Borut Razem <borut.razem AT gmail.com>
27795         * src/SDCCgen.c, src/SDCCgen.h, src/ds390/gen.c,
27796           src/ds390/main.c, src/hc08/gen.c, src/hc08/main.c,
27797           src/mcs51/gen.c, src/pic14/gen.c, src/pic16/gen.c,
27798           src/z80/gen.c, src/z80/gen.h:
27799           introduced labelKey2num label handling macro
27801 2012-03-30 Borut Razem <borut.razem AT gmail.com>
27803         * src/common.h, src/Makefile.in, src/SDCCgen.c, src/SDCCgen.h,
27804           src/SDCCasm.c, src/SDCCasm.h, src/SDCCdebug.c,
27805           src/SDCCdebug.h, src/SDCCpeeph.c, src/SDCCpeeph.h,
27806           src/avr/gen.c, src/ds390/gen.c, src/ds390/gen.h,
27807           src/ds390/main.c, src/ds390/main.h, src/hc08/gen.c,
27808           src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/main.h,
27809           src/pic14/gen.c, src/pic16/gen.c, src/z80/gen.c,
27810           sdcc_vc_in.h, src/sdcc.vcxproj, src/sdcc.vcxproj.filters:
27811           unification of target code generation
27813 2012-03-30 Philipp Klaus Krause <pkk AT spth.de>
27815         * device/lib/z180/stubs.s,
27816           device/lib/z80/stubs.s,
27817           device/lib/gbz80/stubs.s,
27818           support/regression/tests/longlong.c,
27819           support/regression/tests/gcc-torture-execute-*.c:
27820           Made TODO comments more specific wrt. to what sdcc functionality is required for enabling the test, enabled more long long tests.
27822 2012-03-30 Borut Razem <borut.razem AT gmail.com>
27824         * configure.in, configure, sdccconf_in.h:
27825           added check if c supports tags in unnamed struct,
27826           fixed IS_VALID_OPTION
27827         * sim/ucsim/configure.in, sim/ucsim/configure:
27828           fixed IS_VALID_OPTION
27829         * sim/ucsim/aclocal.m4: regenerated
27830         * src/pic14/Makefile.in: removed unneeded PORT
27832 2012-03-30 Philipp Klaus Krause <pkk AT spth.de>
27834         * src/z80/gen.c:
27835           Fix for returning long long, fixes #3512403.
27836         * device/lib/z180/stubs.s,
27837           device/lib/z80/stubs.s,
27838           device/lib/gbz80/stubs.s,
27839           support/regression/tests/longlong.c:
27840           More tests for long long.
27841         * support/regression/tests/gcc-torture-execute-*.c:
27842           Made TODO comments more specific wrt. to what sdcc functionality is required for enabling the test.
27843         * device/lib/_rrslonglong_rrx_s.c,
27844           device/lib/_rrulonglong_rrx_s.c,
27845           device/lib/_rlulonglong_rrx_s.c:
27846           Fixes for long long shift.
27848 2012-03-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27850         * src/SDCCsymt.c (initCSupport),
27851           device/lib/_rrslonglong_rrx_s.c,
27852           device/lib/_rrulonglong_rrx_s.c:
27853           Fixed declarations for shift support functions.
27854         * device/lib/*z*/Makefile.in,
27855           device/lib/Makefile.in,
27856           device/lib/_r??longlong_rrx_s.c,
27857            device/lib/_mullonglong.c:
27858           Shift and multiplication support for long long.
27860 2012-03-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27862         * src/z80/gen.c,
27863           src/z80/ralloc2.cc:
27864           More flexible use of de for gbz80.
27866 2012-03-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27868         * src/SDCCsymt.c (initCSupport): fixed declarations for shift support functions
27869         * src/SDCCsymt.c (initBuiltIns),
27870           src/SDCCast.c (funcOfTypeVarg),
27871           src/SDCCast.h: added some const qualifiers
27873 2012-03-29 Philipp Klaus Krause <pkk AT spth.de>
27875         * src/z80/gen.c,
27876           src/z80/ralloc2.cc:
27877           More flexible use of de for gbz80.
27879 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27881         * src/z80/ralloc2.cc:
27882           Allow some use of de on gbz80.
27883         * src/z80/gen.c:
27884           gbz80 >> fix.
27885         * device/lib/_rrslonglong_rrx_s.c,
27886           device/lib/_rrulonglong_rrx_s.c:
27887           Support functions for shifting long long.
27889 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27891         * src/z80/ralloc2.cc,
27892           src/z80/ralloc.c,
27893           src/z80/z80.h:
27894           Remove support for using the old allocator for A, while using the new allocator for other registers.
27896 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27898         * src/z80/z80.h:
27899           Enabled exact cost function for gbz80.
27900         * src/z80/gen.c:
27901           Fixed a gbz80 comparison bug.
27903 2012-03-28 Borut Razem <borut.razem AT gmail.com>
27905         * src/SDCCval.c, src/SDCCval.h, src/SDCCicode.c:
27906           double2ul converted from macro to a function
27908 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27910         * src/z80/gen.c:
27911           Better support for returning long long, now works for gbz80, too.
27913 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27915         * src/z80/gen.c:
27916           Better assignment for large variables.
27917         * src/z80/peep.c:
27918           Fix code size calculation bug.
27920 2012-03-28 Borut Razem <borut.razem AT gmail.com>
27922         * configure.in, configure, sdccconf_in.h,
27923           sim/ucsim/configure.in, sim/ucsim/configure,
27924           sim/ucsim/ddconfig_in.h:
27925           use AC_C_BIGENDIAN instead of SDCC_BUILD_BIGENDIAN
27926         * support/cpp/config.in: regenerated
27927         * custom_in.h, sim/ucsim/custom_in.h: removed
27929 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27931         * device/include/stdint.h:
27932           Use long long for intmax_t where available.
27934 2012-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27936         * support/regression/tests/gcc-torture-execute-981001-1.c: Revert my
27937           previous edit since it was not needed
27939 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27941         * src/z80/gen.c,
27942           support/regression/tests/longlong.c:
27943           Fixed returning long long, and reenabled test.
27945 2012-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27947         * support/regression/tests/gcc-torture-execute-981001-1.c: Only use
27948           __reentrant for SDCC and not for test-host
27949         * support/regression/tests/gcc-torture-execute-930106-1.c: Reenabled
27951 2012-03-28 Philipp Klaus Krause <pkk AT spth.de>
27953         * support/regression/tests/gcc-torture-execute-981001-1.c:
27954           Fixed #3511512 / #3511513.
27956 2012-03-27 Philipp Klaus Krause <pkk AT spth.de>
27958         * src/SDCCsymt.c,
27959           src/z80/gen.c,
27960           support/regression/tests/gcc-torture-execute-960801-1.c,
27961           support/regression/tests/longlong.c:
27962           Support for returning long long and unsigned long long in z80, z180 and r2k port.
27964 2012-03-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27966         * src/z80/gen.c:
27967           Fixed stack unbalance bug.
27969 2012-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27971         * src/SDCCasm.c (FileBaseName): fixed bug 3511092
27973 2012-03-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27975         * support/regression/tests/gcc-torture-execute-9*.c:
27976           Added some more tests from the execute part of the gcc torture regression test suite.
27978 2012-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27980         * src/mcs51/ralloc.c (packForPush),
27981           src/ds390/ralloc.c (packForPush),
27982           src/hc08/ralloc.c (packForPush): fixed bug #3502628
27983         * support/regression/tests/gcc-torture-execute-20010403-1.c: reenabled
27984         * src/hc08/ralloc.c (packRegisters, packForPush): use packForPush
27985           for SEND iCodes too.
27987 2012-03-25 Maarten Brock <sourceforge.brock AT dse.nl>
27989         * src/mcs51/ralloc.c (packForPush): fixed bug 3502621
27990         * support/regression/tests/gcc-torture-execute-20030117-1.c: enabled test
27992 2012-03-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27994         * src/SDCCast.c (isConformingBody): fixed bug #3509715
27995         * support/regression/tests/gcc-torture-execute-930513-2.c: reenabled
27996         * src/SDCCast.c (decorateType): fixed bug #3509713
27997         * support/regression/tests/gcc-torture-execute-930429-1.c: reenabled
27998         * src/SDCCicode.c (geniCodeAssign): fixed bug #3509712
27999         * support/regression/tests/gcc-torture-execute-921016-1.c: reenabled
28000         * src/SDCCopt.c (optimizeCastCast): fixed bug #3509711
28001         * support/regression/tests/gcc-torture-execute-921218-1.c: reenabled
28003 2012-03-24 Borut Razem <borut.razem AT gmail.com>
28005         * support/makebin/makebin.c: applied modified patch
28006           #3510671 - [makebin / gbz80] add nintendo logo info in ROM header,
28007           thanks to Noel Lemouel
28009 2012-03-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28011         * support/regression/Makefile.in,
28012           support/regression/ports/ds390/spec.mk,
28013           support/regression/ports/hc08/spec.mk,
28014           support/regression/ports/mcs51-common/spec.mk,
28015           support/regression/ports/pic14/spec.mk,
28016           support/regression/ports/pic16/spec.mk,
28017           support/regression/ports/ucgbz80/spec.mk,
28018           support/regression/ports/ucr2k/spec.mk,
28019           support/regression/ports/ucz180/spec.mk,
28020           support/regression/ports/ucz80/spec.mk,
28021           support/regression/ports/xa51/spec.mk: attempt to fix bug #3477347
28023 2012-03-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28025         * src/SDCCcse.h,
28026           src/SDCCcse.c: handle possible pointer aliasing more conservatively
28027         * src/z80/gen.c (genFunction): reset stack.pushed at function start too
28029 2012-03-22 Philipp Klaus Krause <pkk AT spth.de>
28031         * support/regression/tests/gcc-torture-execute-941021-1.c:
28032           Disable test for gcc older than 5.0.
28034 2012-03-22 Borut Razem <borut.razem AT gmail.com>
28036         * doc/sdccman.lyx: double underlined keywords,
28037           fixed bug #3510011 - Wrong keyword
28038         * src/sdcc.vcxproj, src/sdcc.vcxproj.filters:
28039           added some missing header files
28041 2012-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28043         * src/SDCCsymt.h,
28044           src/SDCCsymt.c (initCSupport, typeFromStr, printTypeChainRaw),
28045           src/SDCCopt.c (cnvToFloatCast, cnvToFixed16x16Cast, cnvFromFloatCast,
28046           cnvFromFixed16x16Cast, convilong): ongoing upgrades for long long type
28048 2012-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28050         * src/hc08/gen.c (transferAopAop): fixed bug 3509707
28051         * support/regression/tests/gcc-torture-execute-930603-1.c: reenabled
28053 2012-03-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28055         * support/regression/tests/gcc-torture-execute-92*,
28056           support/regression/tests/gcc-torture-execute-93*,
28057           support/regression/tests/gcc-torture-execute-94*:
28058           Added some more tests from the execute part of the gcc torture regression test suite.
28060 2012-03-20 Borut Razem <borut.razem AT gmail.com>
28062         * src/mcs51/gen.c, src/SDCCasm.c, src/SDCCasm.h, src/z80/gen.c,
28063           src/SDCCutil.c, src/ds390/gen.c, src/hc08/gen.c:
28064           code cleaning, optimization, ...
28066 2012-03-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28068         * device/include/stdint.h,
28069           device/include/string.h,
28070           device/include/stddef.h,
28071           device/include/stdlib.h,
28072           device/include/stdio.h,
28073           device/include/time.h,
28074           device/include/errno.h:
28075           rsize_t, errno_t, constraint_handler_t, RSIZE_MAX from annex K (bounds-checking) of the C11 standard.
28077 2012-03-19 Borut Razem <borut.razem AT gmail.com>
28079         * src/SDCC.lex, doc/sdccman.lyx: removed asm() pseudo function
28080           since it is not standard-compliant
28082 2012-03-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28084         * src/SDCCpeeph.c:
28085           Handle gbz80 (hl+) and (hl-).
28087 2012-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28089         * support/regression/Makefile.in,
28090           support/regression/collate-results.py: Summarize any failures in a
28091           nicer format instead of all run together on one line
28092         * src/ds390/gen.c (genPlusIncr): fix problem with dereferencing a
28093           generic pointer via a struct losing pointer type byte
28095 2012-03-18 Borut Razem <borut.razem AT gmail.com>
28097         * doc/sdccman.lyx,src/avr/gen.c, src/ds390/gen.c,
28098           src/hc08/gen.c, src/mcs51/gen.c, src/pic14/gen.c,
28099           src/pic16/device.c, src/pic16/gen.c, src/pic16/glue.c,
28100           src/pic16/pcode.c, src/SDCC.lex, src/SDCC.y, src/SDCCast.c,
28101           src/SDCCglue.c, src/SDCCsymt.h, src/SDCCutil.c,
28102           src/SDCCutil.h, src/SDCCval.c:
28103           implemented feature request #2815320 - please add asm()
28104           pseudo function as alternate
28105         * sdcc.sln, src/sdcc.vcxproj, src/sdcc.vcxproj.filters,
28106           src/yacc.vcxproj:
28107           re-itroduced yacc project
28108         * .version, doc/sdccman.lyx: bumped version to 3.1.4
28109         * config.vcxproj, src/ds390/ds390.vcxproj,
28110           src/hc08/hc08.vcxproj, src/mcs51/mcs51.vcxproj,
28111           src/pic14/pic14.vcxproj, src/pic16/pic16.vcxproj,
28112           src/sdcc.vcxproj, src/yacc.vcxproj, src/z80/z80.vcxproj,
28113           all.vcxproj, all.vcxproj.filters:
28114           VS project enhancements
28115         * src/SDCC.y, src/SDCCsymt.h, src/SDCCutil.c, src/SDCCutil.h,
28116           src/SDCCval.c: fixed flaws in previous commit
28117         * src/SDCCsymt.c, src/pic14/glue.c, src/cdbFile.c:
28118           fixed printing size_t type numbers
28120 2012-03-18 Maarten Brock <sourceforge.brock AT dse.nl>
28122         * src/ds390/gen.c (aopGet, aopPut),
28123         * src/mcs51/gen.c (aopGet, aopPut): fixed bug 3496842
28124         * support/regression/tests/sfr16.c: enabled test and fixed for ds390
28126 2012-03-17 Borut Razem <borut.razem AT gmail.com>
28128         * support/regression/tests/strstr.c,
28129           support/regression/tests/strcpy.c,
28130           support/regression/tests/strcmp.c,
28131           support/regression/tests/strtok.c,
28132           support/regression/tests/strncmp.c,
28133           support/regression/tests/strspn.c,
28134           support/regression/tests/strpbrk.c,
28135           support/regression/tests/string.c:
28136           merged strstr.c, strcpy.c, strcmp.c, strtok.c, strncmp.c,
28137           strspn.c, and strpbrk.c to string.c, added test for
28138           bug #3506236
28140 2012-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28142         * sdas/linksrc/lkarea.c (lnksect2): applied fix from Tim Schuerewegen
28143           (bug 3495316)
28145 2012-03-16 Borut Razem <borut.razem AT gmail.com>
28147         * sdcc.sln, src/sdcc.vcxproj, src/sdcc.vcxproj.filters,
28148           src/yacc.vcxproj:
28149           project src renamed to sdcc, removed project yacc
28150         * doc/sdccman.lyx, src/SDCCasm.c, src/SDCCicode.h,
28151           src/SDCCast.c, src/SDCCast.h, src/pic16/main.c:
28152           implemeted pragma config for pic16 target, solution
28153           of bug #3486890 - pic16 port config directive warning
28154         * src/Makefile.in, src/sdcc.vcxproj:
28155           fixed bug #3506236: sdcc.exe unicode problem? by generating
28156           8-bit scanner
28158 2012-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28160         * sdas/linksrc/lkarea.c (allocate_space,find_empty_space): fixed bound
28161           checking errors on allocation bitmap (possbile fix for bug #3502626)
28163 2012-03-16 Raphael Neider <rneider AT web.de>
28165         * device/non-free/lib/pic16/libdev/pic18f1330.c:
28166           add dummy SSPBUF symbol as required by __stream_putchar/printf
28167         * device/non-free/lib/pic16/libdev/testall.sh:
28168           test using printf_tiny() for greater confidence
28170 2012-03-14 Borut Razem <borut.razem AT gmail.com>
28172         * debugger/mcs51/sdcdb.c, src/mcs51/gen.c, src/SDCCopt.c,
28173           src/hc08/gen.c, src/hc08/ralloc.c, src/ds390/gen.c,
28174           src/ds390/ralloc.c, sim/ucsim/cmd.src/cmdset.cc,
28175           sim/ucsim/cmd.src/cmdstat.cc, sim/ucsim/cmd.src/cmdgui.cc,
28176           sim/ucsim/z80.src/inst.cci, sdas/asxxsrc/asout.c:
28177           fixed gcc 4.6.1 warnimgs, mainly warning: 'xxx' may be used
28178           uninitialized in this function [-Wuninitialized]
28180 2012-03-14 Philipp Klaus Krause <pkk AT spth.de>
28182         * src/z80/ralloc.c,
28183           support/regression/tests/bug3502965.c:
28184           Fixed bug #3502965.
28185         * support/regression/tests/gcc-torture-execute-20030209-1.c,
28186           support/regression/tests/gcc-torture-execute-20031012-1.c:
28187           Added explanation for why tests don't work on gbz80.
28188         * src/SDCCmain.c:
28189           Reenable non-compliant SDCC macros (but not for --std-c89, --std-c99, --std-c11).
28190         * src/z80/ralloc2.cc:
28191           More flexible handling of accumulator in multiplication and return.
28193 2012-03-14 Borut Razem <borut.razem AT gmail.com>
28195         * device/non-free/include/*, device/non-free/lib/*:
28196           added info about "The header files should state that they are
28197           only to be used with authentic Microchip devices" Microchip
28198           requirement and GPL incompatibility
28200 2012-03-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28202         * support/regression/tests/gcc-torture-execute-20010224-1.c,
28203           support/regression/tests/gcc-torture-execute-20030714-1.c:
28204           Disable tests for gcc older than 5.0.
28206 2012-03-13 Borut Razem <borut.razem AT gmail.com>
28208         * device/include/*, device/lib/*: corrected GPL license version
28209           from 2.1 to 2: GPLv2.1 does not exist
28211 2012-03-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28213         * support/regression/tests/gcc-torture-execute-2001*.c,
28214           support/regression/tests/gcc-torture-execute-2003*.c:
28215           Added some more tests from the execute part of the gcc torture regression test suite.
28217 2012-03-12 Borut Razem <borut.razem AT gmail.com>
28219         * doc/TININative.txt: removed, available at
28220           http://sourceforge.net/apps/trac/sdcc/wiki/Using%20SDCC%20to%20develop%20Native%20Java%20functions
28221         * doc/Makefile.in:
28222           don't generate unusable html and txt versions of sdccman
28224 2012-03-11 Philipp Klaus Krause <pkk AT spth.de>
28226         * src/SDCCpeeph.c,
28227           src/z80/peeph-r2k.def,
28228           src/z80/peeph-z80.def,
28229           support/regression/tests/bug3501942.c:
28230           Fixed bug #3501942.
28232 2012-03-11 Philipp Klaus Krause <pkk AT spth.de>
28234         * src/z80/gen.c:
28235           Fixed bug that made copying from hl to iy ineffcient on r2k,
28236           fix another check in commitPair(), improved stack adjustment
28237           after function call.
28239 2012-03-11 Raphael Neider <rneider AT web.de>
28241         * device/lib/pic16/libio/usart/uopen.c:
28242           properly setup BAUDCONbits.BRG16, closes #3495815
28244         * device/non-free/include/pic16/pic18f1220.h:
28245           added BAUDCON alias and structure definition for BAUDCTL
28247 2012-03-10 Borut Razem <borut.razem AT gmail.com>
28249         * doc/sdccman.lyx:
28250           documented support for 18f1230/18f1330 device family
28252 2012-03-10 Raphael Neider <rneider AT web.de>
28254         * Makefile.in:
28255           device/lib build depends on sdcc-sdbinutils
28257         * device/include/pic16/adc.h,
28258           device/include/pic16/pic16devices.txt,
28259           device/include/pic16/pic18fregs.h,
28260           device/lib/pic16/libio/Makefile.am,
28261           device/lib/pic16/libio/adc/adcbusy.c,
28262           device/lib/pic16/libio/adc/adcopen.c,
28263           device/lib/pic16/libio/adc/adcsetch.c,
28264           device/lib/pic16/libio/i2c.ignore,
28265           device/lib/pic16/libio/usart/uopen.c,
28266           device/non-free/include/pic16/pic18f1230.h,
28267           device/non-free/include/pic16/pic18f1330.h,
28268           device/non-free/lib/pic16/libdev/Makefile.am,
28269           device/non-free/lib/pic16/libdev/pic18f1230.c,
28270           device/non-free/lib/pic16/libdev/pic18f1330.c,
28271           device/non-free/lib/pic16/pics.all,
28272           support/scripts/pic18fam-h-gen.pl:
28273           add support for 18f1230 and 18f1330 devices
28275         * device/lib/pic16/libio/mkmk.sh:
28276           adjust path to pics.all
28278         * device/lib/pic16/libdev:
28279           removed obsolete, empty directory
28281         * device/lib/pic16/libio/Makefile.in,
28282           device/non-free/include/pic16/pic18fam.h,
28283           device/non-free/lib/pic16/libdev/Makefile.in:
28284           regenerated
28286 2012-03-10 Borut Razem <borut.razem AT gmail.com>
28288         * doc/README.txt, doc/sdccman.lyx:
28289           backslashes replaced with slashes in non-free paths;
28290           obsoleted special sdcc keywords which are not preceded
28291           by a double underscore
28292         * support/scripts/inc2h-pic16.pl, support/scripts/inc2h.pl:
28293           added comment about Microchip "The header files should state
28294           that they are only to be used with authentic Microchip
28295           devices" requirement.
28297 2012-03-10 Philipp Klaus Krause <pkk AT spth.de>
28299         * src/z80/gen.c:
28300           Fixed bug #3501019.
28302 2012-03-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28304         * src/mcs51/gen.c (genCast): fixed bug #3486542
28305         * support/regression/tests/gcc-torture-execute-pr15296.c: re-enabled
28307 2012-03-09 Borut Razem <borut.razem AT gmail.com>
28309         * doc/README.txt:
28310           added info about included code from gcc test suite
28311         * Makefile.in:
28312           replaced test -e with -f, since -e is not available in sh
28313           on Solaris
28315 2012-03-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28317         * src/z80/gen.c:
28318           Use 16-bit addition instructions for 8-bit additions when cheaper and possible.
28320 2012-03-07 Borut Razem <borut.razem AT gmail.com>
28322         * Makefile.in: copy correct sdbinutils executables to bin
28324 2012-03-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28326         * src/SDCCopt.c (getAddrspaceiCode),
28327           src/SDCCralloc.hpp (create_cfg): properly handle IFX and
28328           JUMPTABLE operands
28330 2012-03-06 Borut Razem <borut.razem AT gmail.com>
28332         * Makefile.in, support/sdbinutils/binutils/Makefile.am,
28333           support/sdbinutils/binutils/Makefile.in,
28334           support/scripts/sdcc.nsi,
28335           support/sdbinutils/bfd/asxxxx.c,
28336           support/sdbinutils/binutils/nm.c:
28337           added sdnm sdbinutils utility
28339 2012-03-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28341         * src/z80/gen.c:
28342           Fixed bug #3496508.
28344 2012-03-05 Borut Razem <borut.razem AT gmail.com>
28346         * src/SDCCicode.c:
28347           disable -O2 optimization for gcc 4.6.3, see bug #3285611
28348         * support/scripts/sdcc_mingw32: minor cosmetical fix
28349         * configure.in, configure, config.guess, config.sub:
28350           added host and build type detection
28351         * device/lib/pic14/Makefile.in,
28352           device/lib/pic14/libm/Makefile.in: regenerated
28354 2012-03-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28356         * src/SDCCopt.c (separateAddressSpaces): fixed bug #3476041
28358 2012-03-04 Borut Razem <borut.razem AT gmail.com>
28360         * doc/README.txt, doc/sdccman.lyx: small corrections
28361         * src/SDCC.lex: removed forward declaration of non existing
28362           function deprecated_keyword(), removed macro TKEYWORDSDCC
28363         * support/cpp/opts.c, support/cpp/sdcpp.c,
28364           support/cpp/version.c, support/cpp/version.h:
28365           updated version to 4.6.3
28367 2012-03-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28369         * src/SDCCsymt.h,
28370         * src/SDCCerr.c,
28371         * src/SDCCerr.h,
28372         * src/SDCC.y: fix struct/union tag scope problems
28373           (including bug #3487670)
28374         * support/regression/tests/structscope.c: new tests
28376 2012-03-03 Borut Razem <borut.razem AT gmail.com>
28378         * support/regression/ports/ucz80/spec.mk,
28379           support/regression/ports/ucz180/spec.mk:
28380           simulation timeout doubled due to several tests
28381           failures on sparc64-unknown-netbsd platform
28383 2012-03-02 Philipp Klaus Krause <pkk AT spth.de>
28385         * src/z80/gen.c,
28386           src/z80/ralloc.c,
28387           support/regression/tests/bug-3495411.c,
28388           Fixed #3495411 and another --oldralloc bug.
28390 2012-03-02 Borut Razem <borut.razem AT gmail.com>
28392         * doc/sdccman.lyx: fixed pdf generation;
28393           added chapter 1.2 SDCC Suite Licenses;
28394           libraries license should be at least as liberal as the GPLv2+LE;
28395           note about GPL incompatible pic device libraries;
28396           added link to "List of the SDCC library" wiki page;
28397           added link to "SDCC - Small Device C Compiler Wiki" wiki page;
28398           use term "SDCC suite";
28399           formatting cleaning
28400         * doc/README.txt: changed chapters Licenses and Authors and interested persons
28402 2012-03-01 Borut Razem <borut.razem AT gmail.com>
28404         * support/regression/ports/ucz80/spec.mk:
28405           simulation timeout increased to 20s due to several tests
28406           failures on sparc64-unknown-netbsd platform
28407         * configure.in, configure: report CPPFLAGS and LDFLAGS settings
28408         * support/sdbinutils/bfd/configure.in,
28409           support/sdbinutils/bfd/configure,
28410           PKGVERSION set to (sdbinutils derived from GNU Binutils),
28411           BUGURL set to http://sourceforge.net/tracker/?group_id=599&atid=100599
28412         * support/sdbinutils/binutils/version.c:
28413           --vesion shows sd* names instead GNU *
28415 2012-03-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28417         * support/regression/tests/gcc-torture-execute-20080506-1.c,
28418           support/regression/tests/gcc-torture-execute-20080506-2.c:
28419           Disable tests for gcc versions earlier than 5.0.
28421 2012-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28423         * support/regression/tests/cse.c: new tests checking for CSE problems
28425 2012-02-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28427         * support/regression/tests/2000*.c:
28428           More tests from gcc.
28430 2012-02-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28432         * support/regression/tests/gcc-torture-execute-20000402-1.c:
28433           Disable test since unsigned long long is not yet fully supported.
28434         * support/regression/tests/gcc-torture-execute-20000314-1.c:
28435           Silence warning.
28437 2012-02-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28439         * support/regression/tests/2000*.c:
28440           More tests from gcc.
28442 2012-02-26 Borut Razem <borut.razem AT gmail.com>
28444         * support/regression/ports/ds390/spec.mk:
28445           simulation timeout icreased to 40s due to
28446           gcc-torture-execute-20090113-1 test failure on
28447           x86_64-w64-mingw32 and sparc64-unknown-netbsd platforms
28448         * doc/README.txt: added gbz80 to supported targets,
28449           explanation of sdcc run time libraries licensing
28451 2012-02-26 Philipp Klaus Krause <pkk AT spth.de>
28453         * device/include/mcs51/compiler.h:
28454           Update for SDCC -> __SDCC rename.
28455         * support/regression/tests/gcc-torture-execute-pr49161.c,
28456           support/regression/tests/gcc-torture-execute-pr49039.c,
28457           support/regression/tests/gcc-torture-execute-pr48809.c,
28458           support/regression/tests/gcc-torture-execute-pr48973-1.c,
28459           support/regression/tests/gcc-torture-execute-pr48973-2.c:
28460           Disable tests for all gcc older than 5.0.
28461         * doc/sdccman.lyx:
28462           Document feature macro rename.
28464 2012-02-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28466         * src/ds390/gen.c (genAssign): fixed bug #3463343
28467         * support/regression/tests/gcc-torture-execute-string-opt-5.c:
28468           reenabled for ds390
28469         * src/ds390/gen.c (genPlus, genMinus): fix bug #3486541
28470         * support/regression/tests/gcc-torture-execute-pr20527-1.c:
28471           reenabled for ds390
28473 2012-02-26 Borut Razem <borut.razem AT gmail.com>
28475         * doc/sdccman.lyx: documented support for 16f720/16f721
28477 2012-02-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28479         * support/regression/tests/gcc-torture-execute-stdarg-4.c:
28480           reenabled for ds390
28482 2012-02-25 Borut Razem <borut.razem AT gmail.com>
28484         * configure.in, configure, Makefile.in, sdcc.sln,
28485           doc/sdccman.lyx, support/sdranlib/*: support/sdranlib removed
28486         * .version, doc/sdccman.lyx: bumped version to 3.1.3
28488 2012-02-25 Raphael Neider <rneider AT web.de>
28490         * device/include/pic14/pic14devices.txt,
28491           device/non-free/include/pic14/pic16f720.h,
28492           device/non-free/include/pic14/pic16f721.h,
28493           device/non-free/lib/pic14/libdev/Makefile.in,
28494           device/non-free/lib/pic14/libdev/devices.txt,
28495           device/non-free/lib/pic14/libdev/pic16f720.c,
28496           device/non-free/lib/pic14/libdev/pic16f721.c:
28497           added support for 16f720/16f721
28499         * device/non-free/include/pic14/pic14regs.h:
28500           fixed to use __SDCC_PROCESSOR instead of SDCC_PROCESSOR
28502         * device/non-free/lib/pic16/libdev/testall.sh:
28503           test support for all devices by compiling a source file
28505 2012-02-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28507         * src/SDCCcse.c: fixed bug #3473062
28508         * src/z80/gen.c (genCmpGt, genCmpLt),
28509           src/hc08/gen.c (genCmp, genCmpEQorNE),
28510           src/pic16/gen.c (genCmpGt, genCmpLt),
28511           src/pic14/gen.c (genCmpGt, genCmpLt): fixed bug #3487025
28513 2012-02-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28515         * support/regression/tests/gcc-torture-execute-pr42833.c:
28516           Disable test for all gcc versions earlier than 5.0.
28518 2012-02-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28520         * src/SDCCast.c (createDo): fixed bug #3489326
28522 2012-02-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28524         * src/z80/gen.c:
28525           More efficient access to two-byte variables near the stack pointer for r2k, fix a bug when fetching 1-byte variables.
28527 2012-02-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28529         * src/z80/gen.c,
28530           src/z80/peeph-z80.def:
28531           More efficient access to two-byte variables near the stack pointer.
28532         * support/regression/tests/gcc-torture-execute-pr42833.c:
28533           Disable test for even more gcc versions.
28535 2012-02-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28537         * src/SDCCmain.c,
28538           device/*,
28539           support/regression/*:
28540           sdcc macro mess cleanup, fix #3490776.
28542 2012-02-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28544         * support/regression/tests/bug2935162.c,
28545         * device/include/limits.h: changed constants to be compatible with
28546           both C89 and C99 integer constant type rules
28547         * src/SDCCval.c (constVal): fixed bug #3489899
28548         * src/mcs51/peeph.def: don't tail call optimize longjmp()
28549         * src/SDCCsymt.c (addSymChain): fixed bug #3489870
28551 2012-02-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28553         * device/include/setjmp.h,
28554           support/regression/tests/setjmp.c,
28555           device/lib/_setjmp.c:
28556           Rename HIDE_LONGJMP to __SDCC_HIDE_LONGJMP for standard compliance, enable setjmp/longjmp for z180 and r2k.
28558 2012-02-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28560         * src/SDCCcse.c (cseBBlock): fixed bug #3482753
28561         * support/regression/tests/bug3482753.c: new
28563 2012-02-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28565         * src/SDCCsymt.h,
28566           src/SDCCast.h,
28567           src/SDCCast.c (decorateType, processParms, checkPtrCast, copyAstValues):
28568           fixed bug #3438706
28570 2012-02-19 Philipp Klaus Krause <pkk AT spth.de>
28572         * src/z80/gen.c,
28573           support/regression/tests/gcc-torture-execute-pr39339.c:
28574           Fixed bug #3486544.
28576 2012-02-19 Philipp Klaus Krause <pkk AT spth.de>
28578         * src/z80/gen.c,
28579           support/regression/tests/gcc-torture-execute-pr43236.c,
28580           support/regression/tests/gcc-torture-execute-20090113-1.c:
28581           Fixed bugs #3486543 and #3487324.
28583 2012-02-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28585         * src/SDCCsymt.h,
28586           src/SDCCsymt.c (findSymWithLevel),
28587           src/SDCCast.c (resolveSymbols, processBlockVars): fixed bugs 3403429,
28588           3153215, 3107914
28589         * support/regression/tests/bug3403429.c: enabled test
28591 2012-02-18 Philipp Klaus Krause <pkk AT spth.de>
28593         * support/regression/tests/gcc-torture-execute-pr44468.c,
28594           support/regression/tests/gcc-torture-execute-pr43438.c,
28595           support/regression/tests/gcc-torture-execute-pr45034.c:
28596           Disable tests for older gcc.
28598 2012-02-17 Philipp Klaus Krause <pkk AT spth.de>
28600         * device/lib/z80/divunsigned.s,
28601           device/lib/z180/divunsigned.s,
28602           device/lib/r2k/divunsigned.s:
28603           Remove some leftover code for handling division by zero (patch by parerga, #3488149).
28605 2012-02-17 Philipp Klaus Krause <pkk AT spth.de>
28607         * support/regression/tests/gcc-torture-execute-pr37924.c:
28608           Fix gcc compilation failure.
28610 2012-02-16 Philipp Klaus Krause <pkk AT spth.de>
28612         * src/z80/peeph-r2k.def:
28613           Use some peepholes useful when omitting the frame pointer from z80 for r2k.
28614         * src/z80/gen.c:
28615           Improve code generation for r2k when omitting frame pointer, enable use of ld iy, hl on r2k.
28617 2012-02-16 Borut Razem <borut.razem AT gmail.com>
28619         * support/sdbinutils/include/opcode/sparc.h,
28620           support/sdbinutils/include/aout/sun4.h:
28621           added for NetBSD/sparc64 bfd build
28623 2012-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28625         * src/hc08/main.c (hasExtBitOp),
28626           src/hc08/gen.c (genGetAbit, genGetByte, genGetWord, genhc08Code):
28627           implemented the GETABIT, GETBYTE, and GETWORD iCodes for HC08
28629 2012-02-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28631         * src/z80/gen.c:
28632           Cheaper signed comparison when right operand is a literal.
28633         * support/regression/tests/gcc-torture-execute-pr37924.c:
28634           Disable even more of a test for older gcc.
28636 2012-02-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28638         * support/regression/tests/gcc-torture-execute-pr37924.c,
28639           support/regression/tests/gcc-torture-execute-pr33779-2.c:
28640           Disable tests for older gcc.
28641         * src/SDCCast.c
28642           Fix setting of CurrFunc for non-functions.
28643         * src/z80/main.c,
28644           src/z80/gen.h,
28645           src/z80/gen.c,
28646           src/z80/ralloc2.cc:
28647           Fixes for --fomit-frame-pointer, omit frame pointer by default for
28648           functions with low register pressure and few stack accesses.
28650 2012-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28652         * src/SDCCast.c (createWhile, createDo, backPatchLabels): put label
28653           nodes above IFX nodes rather than between IFX and condition
28654         * src/SDCCicode.c (geniCodeIfx, ast2iCode): fixed bug #3429793
28656 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28658         * src/z80/ralloc2.cc,
28659           src/z80/gen.h,
28660           src/z80/gen.c:
28661           Omit frame pointer for functions with low register pressure and few parameter accesses.
28663 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28665         * src/z80/gen.c:
28666           Fix addition when multiple operands are on the stack and --fomit-frame-pointer is used.
28668 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28670         * src/z80/peeph-z80.def,
28671           src/z80/gen.c,
28672           src/z80/ralloc2.cc:
28673           Generate better code when using --fomit-frame-ppinter.
28675 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28677         * support/regression/tests/gcc-torture-execute-pr28651.c:
28678           Disable test for older gcc.
28680 2012-02-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28682         * support/regression/tests/gcc-torture-execute-pr49073.c,
28683           support/regression/tests/gcc-torture-execute-pr36691.c:
28684           Disabled some tests for older gcc.
28685         * support/regression/tests/gcc-torture-execute-*.c:
28686           Added some more tests from the execute part of the gcc torture regression test suite.
28687         * src/z80/gen.c:
28688           Improve handling of bc, de in addition.
28689         * src/SDCC.lex:
28690           Remove leftover legacy keyword function.
28692 2012-02-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28694         * src/z80/ralloc2.cc,
28695           src/z80/gen.c:
28696           Improve handling of hl in address calculations, minor decrement improvement.
28698 2012-02-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28700         * support/regression/tests/gcc-torture-execute-pr34070-1.c,
28701           support/regression/tests/gcc-torture-execute-pr34070-2.c:
28702           Disable more tests for older gcc
28703         * support/regression/tests/gcc-torture-execute-pr15296.c,
28704           support/regression/tests/bug1115321.c: Fix test to be compatible
28705           with hosts in which int and pointers differ in size.
28707 2012-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28709         * support/regression/tests/gcc-torture-execute-pr42833.c:
28710           don't redefine ssize_t if host already defines
28712 2012-02-12 Raphael Neider <rneider AT web.de>
28714         * src/pic14/pcode.c (newpCodeOpBit):
28715           prevent SIGSEGV on copying temporary registers
28717         * src/pic14/gen.c (gen{,End}Function, gen{,End}Critical, genpic14Code),
28718           src/pic16/gen.c (gen{,End}Function, gen{,End}Critical, genpic16Code):
28719           implement __critical (block and function attribute, PIC14 limited to
28720           no-arg functions: arg0 in W would be corrupted)
28722 2012-02-12 Philipp Klaus Krause <pkk AT spth.de>
28724         * support/regression/tests/gcc-torture-execute-pr42833.c,
28725           support/regression/tests/gcc-torture-execute-pr44555.c,
28726           support/regression/tests/gcc-torture-execute-pr48809.c,
28727           support/regression/tests/gcc-torture-execute-pr48973-1.c,
28728           support/regression/tests/gcc-torture-execute-pr48973-2.c,
28729           support/regression/tests/gcc-torture-execute-pr49039.c,
28730           support/regression/tests/gcc-torture-execute-pr49123.c,
28731           support/regression/tests/gcc-torture-execute-pr49161.c,
28732           support/regression/tests/gcc-torture-execute-pr49768.c:
28733           Disable some tests for older gcc.
28735 2012-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28737         * support/sdbinutils/include/mach-o/*: added missing files for Mac OS
28739 2012-02-12 Raphael Neider <rneider AT web.de>
28741         * src/pic14/gen.c (genGetABit, genpic14Code),
28742           src/pic14/main.c (hasExtBitOp),
28743           src/pic16/gen.c (genGetABit, genpic16Code),
28744           src/pic16/main.c (hasExtBitOp):
28745           implement GETABIT iCode, fixes #2986039
28747 2012-02-11 Raphael Neider <rneider AT web.de>
28749         * device/include/pic16/signal.h:
28750           explicitly access SFRs via access bank, closes #3482876
28752 2012-02-11 Raphael Neider <rneider AT web.de>
28754         * device/include/pic14/pic14devices.txt,
28755           device/non-free/include/pic14/pic16f1946.h,
28756           device/non-free/include/pic14/pic16f1947.h,
28757           device/non-free/lib/pic14/libdev/Makefile.in,
28758           device/non-free/lib/pic14/libdev/devices.txt,
28759           device/non-free/lib/pic14/libdev/pic16f1946.c,
28760           device/non-free/lib/pic14/libdev/pic16f1947.c,
28761           doc/sdccman.lyx:
28762           enabled/added devices
28764         * device/non-free/lib/pic14/libdev/testall.sh:
28765           test support for all devices by compiling a source file
28767         * device/non-free/lib/pic14/libdev/mkall.sh,
28768           support/scripts/inc2h.pl:
28769           improved regenerating device support files
28771 2012-02-11 Borut Razem <borut.razem AT gmail.com>
28773         * device/include/pic14/pic14devices.txt,
28774           device/non-free/include/pic14/pic16f1503.h,
28775           device/non-free/include/pic14/pic16f1507.h,
28776           device/non-free/include/pic14/pic16f1508.h,
28777           device/non-free/include/pic14/pic16f1509.h,
28778           device/non-free/include/pic14/pic16f1516.h,
28779           device/non-free/include/pic14/pic16f1517.h,
28780           device/non-free/include/pic14/pic16f1518.h,
28781           device/non-free/include/pic14/pic16f1519.h,
28782           device/non-free/include/pic14/pic16f1526.h,
28783           device/non-free/include/pic14/pic16f1527.h,
28784           device/non-free/lib/pic14/libdev/Makefile.in,
28785           device/non-free/lib/pic14/libdev/devices.txt,
28786           device/non-free/lib/pic14/libdev/pic16f1503.c,
28787           device/non-free/lib/pic14/libdev/pic16f1507.c,
28788           device/non-free/lib/pic14/libdev/pic16f1508.c,
28789           device/non-free/lib/pic14/libdev/pic16f1509.c,
28790           device/non-free/lib/pic14/libdev/pic16f1516.c,
28791           device/non-free/lib/pic14/libdev/pic16f1517.c,
28792           device/non-free/lib/pic14/libdev/pic16f1518.c,
28793           device/non-free/lib/pic14/libdev/pic16f1519.c,
28794           device/non-free/lib/pic14/libdev/pic16f1526.c,
28795           device/non-free/lib/pic14/libdev/pic16f1527.c:
28796           applied patch #3471142: [PIC14] more enchanced core devices,
28797           thanks to Gal Zsolt
28798         * doc/sdccman.lyx: added new 16f15xx devices to the list
28799         * support/sdbinutils/include/fopen-bin.h:
28800           added, required by mingw build
28801         * Makefile.in: added EXEEXT required by mingw build
28802         * support/scripts/sdcc_mingw32: added TARGETAR
28804 2012-02-11 Philipp Klaus Krause <pkk AT spth.de>
28806         * support/regression/tests/gcc-torture-execute-pr20601-1.c:
28807           Disabled test for host, since _Noreturn support is required.
28808         * support/regression/tests/gcc-torture-execute-pr23047.c:
28809           Removed test, since it seems to test for implementation-defined behaviour.
28810         * support/regression/tests/gcc-torture-execute-pr33779-1.c:
28811           Use exact-width integer types from stdint.h instead, no longer require long to be 32 bits.
28813 2012-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28815         * src/z80/ralloc2.cc,
28816           src/z80/gen.c:
28817           Increase flexibility of handling of register pair hl over function calls.
28819 2012-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28821         * support/regression/tests/*
28822           Added some more tests from the execute part of the gcc torture regression test suite.
28824 2012-02-10 Borut Razem <borut.razem AT gmail.com>
28826         * configure, Makefile.in, configure.in, sdccconf_in.h,
28827           device/lib/z180/Makefile.in, device/lib/small/Makefile.in,
28828           device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in,
28829           device/lib/ds390/Makefile.in, device/lib/medium/Makefile.in,
28830           device/lib/Makefile.in, device/lib/ds400/Makefile.in,
28831           device/lib/mcs51/Makefile.in, device/lib/huge/Makefile.in,
28832           device/lib/large/Makefile.in, device/lib/r2k/Makefile.in,
28833           device/lib/hc08/Makefile.in, Makefile.common.in,
28834           support/scripts/sdcc.nsi, support/sdbinutils/*:
28835           device/lib/z180/Makefileadded sdbinutils: sdar and sdranlib
28836         * device/lib/z180/Makefile:
28837           deleted, generated from device/lib/z180/Makefile.in
28839 2012-02-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28841         * src/z80/gen.c:
28842           Fix for yesterdays addition improvement, decide in which pair
28843           to increment in code generator instead of peephole optimizer.
28845 2012-02-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28847         * src/z80/gen.c,
28848           src/z80/peeph-z80.def:
28849           Minor addition improvement.
28851 2012-02-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28853         * src/z80/gen.c:
28854           Use bit instruction for & in jump condition.
28855         * src/z80/peep.c,
28856           src/z80/peeph-z80.def:
28857           Minor peephole improvements.
28859 2012-02-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28861         * src/z80/ralloc2.cc,
28862           src/z80/gen.c:
28863           Improve handling of register pairs, in particular hl.
28865 2012-02-06 Philipp Klaus Krause <pkk AT spth.de>
28867         * src/SDCCast.c:
28868           Fixed bug #3073647.
28869         * src/SDCCsymt.c:
28870           Fixed #3034739.
28872 2012-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28874         * support/regression/tests/bug2935162.c: don't assume 32-bit long host
28876 2012-02-06 Philipp Klaus Krause <pkk AT spth.de>
28878         * src/z80/gen.c:
28879           Fixed bug #3482732.
28880         * src/SDCClrange.h,
28881           src/SDCClrange.c,
28882           src/SDCCopt.c,
28883           support/Regression/bug3482217.c:
28884           Fixed bug #3482217.
28886 2012-02-04 Maarten Brock <sourceforge.brock AT dse.nl>
28888         * src/SDCCval.c (constVal): fixed bug 2935162
28889         * support/regression/tests/bug2935162.c: new, added
28891 2012-02-03 Philipp Klaus Krause <pkk AT spth.de>
28893         * src/z80/gen.c,
28894           src/z80/z80.h,
28895           src/z80/ralloc2.cc:
28896           Fixes for #3482732, preparations for exact cost function in gbz80 port.
28898 2012-02-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28900         * src/z80/gen.c:
28901           Fix generation of invalid instructions when --reserve-regs-iy is used.
28903 2012-01-31 Borut Razem <borut.razem AT gmail.com>
28905         * support/regression/ports/ucgbz80/spec.mk:
28906           simulation timeout increased to 20s due to timeout failure on
28907           gcc-torture-execute-divcmp-3 regressin test on
28908           mypants.neurotica.com NetBSD/Sparc64 build machine
28910 2012-01-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28912         * src/z80/ralloc2.cc,
28913           support/regression/tests/bug3482146.c:
28914           Fixed bug #3482146.
28916 2012-01-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28918         * support/regression/tests/bug3482146.c:
28919           Regression test for bug #3482146.
28921 2012-01-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28923         * src/z80/gen.c:
28924           Fixed bug #3480597.
28926 2012-01-29 Borut Razem <borut.razem AT gmail.com>
28928         * support/regression/tests/key.c: fixed for Mac OS X
28930 2012-01-28 Maarten Brock <sourceforge.brock AT dse.nl>
28932         * src/mcs51/gen.c (genJumpTab): fixed bug 3480545
28933         * support/regression/tests/bug3480545.c: new, added
28935 2012-01-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28937         * src/z80/gen.c,
28938           support/regression/tests/gcc-torture-execute-stdarg-4.c:
28939           Fix bug #3463344.
28941 2012-01-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28943         * src/z80/peeph-gbz80.def:
28944           Fix remaining gbz80 regression failures when using --max-allocs-per-node 5.
28945         * src/z80/gen.c:
28946           Fix right shift for gbz80 using --max-allocs-per-node 1.
28948 2012-01-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28950         * src/z80/gen.c:
28951           Fix comparison and unary minus for gbz80 when many operands are on the stack.
28953 2012-01-26 Raphael Neider <rneider AT web.de>
28955         * src/pic14/pcodepeep.c,
28956           src/pic14/gen.c,
28957           src/pic14/glue.c,
28958           src/pic16/device.c,
28959           src/pic16/pcodepeep.c,
28960           src/pic16/gen.c,
28961           src/pic16/pcoderegs.c,
28962           src/pic16/ralloc.c,
28963           src/pic16/pcode.c,
28964           src/pic16/genutils.c: avoid compiler warnings
28966 2012-01-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28968         * support/cpp/libcpp/internal.h,
28969           support/cpp/sdcpp.c,
28970           support/cpp/libcpp/lex.c:
28971           Remove support for _asm and _endasm, rename macros that had names reserved for the implementation.
28972         * support/regression/tests/key.c:
28973           Regression test for obsolete keywords.
28975 2012-01-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28977         * src/z80/gen.c:
28978           Correctly handle some forgotten corner cases in the fix for #3427564.
28980 2012-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28982         * doc/sdccman.lyx:
28983           Mention -mz180, -mr2k, named address spaces and use non-deprectaed form of sdcc-specific keywords.
28984         * src/SDCC.lex:
28985           Remove support for deprecated keywords.
28986         * src/z80/gen.c:
28987           Fixed bug #3427564.
28989 2012-01-25 Borut Razem <borut.razem AT gmail.com>
28991         * device/lib/make51lib.bat: rewritten for ar / sdranlib
28993 2012-01-23 Borut Razem <borut.razem AT gmail.com>
28995         * doc/sdccman.lyx: pic14 enhanced cores enabled by default
28997 2012-01-22 Borut Razem <borut.razem AT gmail.com>
28999         * configure.in, configure: corrected test if ar accepts -S option
29001 2012-01-22 Maarten Brock <sourceforge.brock AT dse.nl>
29003         * support/regression/tests/bug3475630.c,
29004         * support/regression/tests/bug3475656.c: fixed for mcs51, native eol
29005         * device/include/mcs51/stc12.h: new, added, thanks intron
29007 2012-01-21 Philipp Klaus Krause <pkk AT spth.de>
29009         * src/z80/ralloc2.cc,
29010           support/regression/tests/bug3475630.c:
29011           Fixed bug #3475630.
29012         * support/regression/tests/bug3475656.c:
29013           Regression test for bug #3475656.
29015 2012-01-21 Philipp Klaus Krause <pkk AT spth.de>
29017         * src/z80/peeph-gbz80.def:
29018           Enable some more peephole rules for the gbz80.
29020 2012-01-21 Borut Razem <borut.razem AT gmail.com>
29022         * support/regression/tests/bug2942343.c: corrected test if SDCC
29024 2012-01-20 Borut Razem <borut.razem AT gmail.com>
29026         * device/lib/pic14/Makefile.am, device/lib/pic14/Makefile.in,
29027           device/lib/pic14/libm/Makefile.am,
29028           device/lib/pic14/libm/Makefile.in:
29029           added template for NEW_PICS
29030         * device/non-free/lib/pic14/libdev/Makefile.in:
29031           pic14 enhanced cores enabled by default
29033 2012-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29035         * support/regression/tests/bug2942343.c: disable for test-host
29036         * support/regression/tests/bug3475990.c: skip named address space
29037           declaration for test-host
29039 2012-01-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29041         * src/SDCCnaddr.hpp:
29042           Fix preprocessing step for named address spaces.
29044 2012-01-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29046         * src/SDCCnaddr.cc,
29047           src/SDCCnaddr.hpp,
29048           src/SDCCopt.c,
29049           src/SDCCopt.h,
29050           support/regression/tests/bug3475990.c:
29051           Fixed bug #3475990.
29053 2012-01-19 Borut Razem <borut.razem AT gmail.com>
29055         * device/lib/pic14/configure.in, device/lib/pic14/configure,
29056           device/lib/pic14/Makefile.am, device/lib/pic14/Makefile.in,
29057           device/lib/pic14/libm/Makefile.am,
29058           device/lib/pic14/libm/Makefile.in:
29059           pic14 enhanced cores enabled by default; gputils 0.14.1 or
29060           newer required
29062 2012-01-18 Maarten Brock <sourceforge.brock AT dse.nl>
29064         * device/lib/_fsget1arg.c,
29065         * device/lib/_fsget2args.c: cosmetics
29066         * device/lib/_fsnormalize.c: fixed bug 3474855
29067         * support/regression/tests/bug3474855.c: new, added
29069 2012-01-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29071         * src/z80/gen.c:
29072           Fix signed comparison on gbz80.
29073         * device/lib/_memmove.c:
29074           Fix comparison in pointer location for memmove().
29075         * src/z80/peeph-gbz80.def:
29076           Enable some jump peepholes for gbz80.
29078 2012-01-15 Philipp Klaus Krause <pkk AT spth.de>
29080         * src/z80/gen.c:
29081           Fix #3473876.
29082         * Changelog:
29083           Pretend to live in the year 2012 to not cause suspicion.
29084         * device/lib/_memmove.c:
29085           Simplified test deciding copy direction for memmove().
29086         * src/z80/peeph-gbz80.def:
29087           Use gbz80-specific load-and-increment/decrement instructions.
29088         * src/z80/mappings.i:
29089           Use more intuitive add sp, d syntax instead of lda sp, d(sp).
29091 2012-01-15 Borut Razem <borut.razem AT gmail.com>
29093         * sdas/asrab/Makefile.in: fixed linking with -lm math library
29094         * src/SDCCnaddr.cc: removed unicode BOM
29095         * device/lib/pic14/configure.in, device/lib/pic14/configure,
29096           device/lib/pic14/aclocal.m4: fixed transfer of gcc CFLAGS to
29097           sdcc while generating dependencies
29099 2012-01-14 Philipp Klaus Krause <pkk AT spth.de>
29101         * src/z80/gen.c:
29102           Fixed bug #3473863 in increment of pointers, fixed similar bug in equality comparison.
29103         * support/regression/tests/memory.c:
29104           Enable a memchr() test.
29105         * support/regression/tests/bug2729218.c:
29106           Move struct out of ROM for gbz80.
29108 2012-01-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29110         * src/z80/main.c:
29111           Remove unnecessary value calculation in _hasNativeMulFor().
29113 2012-01-14 Maarten Brock <sourceforge.brock AT dse.nl>
29115         * .version,
29116         * doc/sdccman.lyx: bumped version to 3.1.2
29117         * src/SDCCicode.c (checkTypes): fixed bug 2942343
29118         * src/SDCCnaddr.cc: svn properties
29119         * src/SDCCnaddr.hpp: removed some typename keywords for MSVC,
29120           fixed warning
29121         * src/src.vcxproj: added SDCCnaddr.*, added boost include path
29122         * src/z80/z80.vcxproj: upgraded boost include path
29123         * support/regression/tests/bug2942343.c: new, added
29125 2012-01-11 Borut Razem <borut.razem AT gmail.com>
29127         * src/SDCC.lex: removed #line rule handled by preprocessor
29129 2012-01-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29131         * src/SDCCglobl.h,
29132           src/z80/z80.h,
29133           src/z80/main.c,
29134           src/z80/ralloc2.cc,
29135           src/SDCCnaddr.hpp,
29136           src/SDCCmain.c,
29137           src/SDCCnaddr.cc:
29138            Make optimal placement of bank-selection instructions configurable using
29139            --max-allocs-per-node and --dump-graphs options.
29141 2012-01-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29143         * src/SDCCnaddr.hpp,
29144           src/SDCCopt.c,
29145           src/SDCCopt.h:
29146           Optimal placement of bank-switching calls.
29148 2012-01-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29150         * src/SDCCicode.h,
29151           src/SDCCnaddr.cc,
29152           src/SDCCnaddr.hpp,
29153           src/SDCCopt.c,
29154           src/z80/ralloc2.cc,
29155           src/SDCCopt.h,
29156           src/Makefile.in:
29157           Preparations for optimal placement of bank-switching calls.
29159 2012-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29161         * src/SDCCicode.c: fixed bug 3466784
29163 2012-01-09 Leland Morrison <enigmalee AT sourceforge.net>
29165         * sim/ucsim/z80.src/glob_lr35902.cc: disassemble for gb processor
29166         * sim/ucsim/z80.src/inst_lr35902.cc: instruction simulation for gb
29167         * sim/ucsim/z80.src/lr35902.cc,
29168         * sim/ucsim/z80.src/lr35902cl.h: definition of gb processor
29169         * sim/ucsim/z80.src/z80cl.h,
29170         * sim/ucsim/z80.src/z80.cc: added peek1 function to look at next opcode
29171         * sim/ucsim/z80.src/glob.cc: fixes to disassembly for "ld e,<byte>",
29172           "inc (hl)", and "dec (hl)" for z80 processor
29173         * sim/ucsim/z80.src/glob.h: added declaration for gb disassembly table
29174         * sim/ucsim/z80.src/inst_r2k.h: fix to sign extension for add sp,d
29175         * sim/ucsim/z80.src/simz80.cc: added -tlr35902 option for gameboy
29176         * support/regression/Makefile.in,
29177         * support/regression/ports/ucgbz80/*: added option to run regression
29178           tests for the gb processor using ucsim
29180 2012-01-08 Maarten Brock <sourceforge.brock AT dse.nl>
29182         * src/SDCC.lex: included io.h for read() declaration with MSVC,
29183           fixed linenr bug
29184         * src/SDCCerr.c: made W_LIT_OVERFLOW pedantic
29185         * src/SDCCglue.c (printIvalType, printIvalBitFields),
29186         * src/SDCCicode.c checkTypes): removed lessPedantic check
29187         * src/SDCCicode.c (geniCodeCast): fixed bug 3470368
29189 2012-01-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29191         * src/z80/gen.c:
29192           Fixed width of lower part of large literals.
29194 2012-01-06 Borut Razem <borut.razem AT gmail.com>
29196         * sdas/linksrc/Makefile.in: removed LKLIB
29197         * device/non-free/lib/Makefile.in: removed SOURCES
29199 2012-01-04 Philipp Klaus Krause <pkk AT spth.de>
29201         * src/hc08/gen.c:
29202           More explicit stack size reporting for hc08.
29204 2012-01-04 Maarten Brock <sourceforge.brock AT dse.nl>
29206         * src/SDCCopt.c (killDeadCode): fixed bug 2862308
29207         * support/regression/tests/bug2862308.c: new, added
29209 2012-01-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29211         * src/z80/gen.c,
29212           support/regression/tests/gcc-torture-execute-string-opt-5.c:
29213           Fixed bug #3463342.
29215 2012-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
29217         * sdas/as6808/m08ext.c,
29218         * sdas/as6808/as_hc08.vcxproj,
29219         * sdas/as6808/as_hc08.vcxproj.filters,
29220         * sdas/as6808/Makefile.in: removed m08ext.c
29221         * sdas/as6808/m08adr.c,
29222         * sdas/as6808/m08mch.c,
29223         * sdas/as6808/m08pst.c,
29224         * sdas/as6808/m6808.h,
29225         * sdas/asxxsrc/asout.c: synced with ASxxxx v5 to fix bug 2894291
29227 2012-01-02 Borut Razem <borut.razem AT gmail.com>
29229         * sdcc/SDCC.lex: included unistd.h, needed by flex 2.5.4 on
29230           NetBSD 5.0.1 sparc64 for read() declaration
29231         * sdas/linksrc/lkar.h: '\n' replaced by '\012'
29233 2012-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
29235         * src/src.vcxproj: increased stack size 32M/64M so it never overflows
29236         * src/Makefile.in: added flex fast flag -f
29237         * src/SDCC.lex: removed preprocessor warning and error rules,
29238           removed EOL after #... rules
29240 2011-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
29242         * device/lib/clean.mk: added z180 and r2k
29243         * sim/ucsim/cmd.src/cmdlex.l: fixed unused yyunput warning
29244         * src/hc08/main.c: removed unused BSEG
29245         * src/SDCCglue.c (glue): suppress unused segments
29246         * src/SDCCmem.c (allocMap, initMem): skip when name==NULL,
29247           (allocGlobal): use x_abs for __at on z80, fixed bug 2040874
29248         * src/z80/main.c: removed ISEG, XSEG, BSEG, OVERLAY, added DABS (x_abs)
29249         * support/regression/fwk/include/testfwk.h,
29250         * support/regression/tests/absolute.c: z80 supports __at
29252 2011-12-29 Borut Razem <borut.razem AT gmail.com>
29254         * support/cpp/libcpp/lex.c:
29255           partialy synchronized with sdcpp 4.6.[12]: no mmx, sse, altivec
29256         * support/cpp/version.c: updated version to 4.6.2
29257         * support/cpp/configure.in, support/cpp/configure,
29258           support/cpp/config.in: WORDS endianness detection
29260 2011-12-27 Maarten Brock <sourceforge.brock AT dse.nl>
29262         * src/SDCC.lex,
29263         * src/SDCC.y: fixed bugs 1810965 and 2698805
29264         * src/SDCCsymt.c (checkSClass): removed old hack-o-matic
29265         * support/regression/tests/bug1810965.c: new, added
29267 2011-12-26 Philipp Klaus Krause <pkk AT spth.de>
29269         * src/SDCCralloc.hpp:
29270           Reduce stack space usage in recursion.
29272 2011-12-25 Maarten Brock <sourceforge.brock AT dse.nl>
29274         * device/lib/r2k/setjmp.s,
29275         * device/lib/z180/setjmp.s,
29276         * device/lib/z80/setjmp.s: optimized
29277         * device/lib/r2k/*,
29278         * device/lib/z180/*,
29279         * device/lib/z80/*: use native eol
29281 2011-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
29283         * device/include/setjmp.h: changed longjmp return type to void
29284         * device/lib/_setjmp.c: but use int for the implementation
29286 2011-12-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29288         * src/SDCCopt.c (replaceRegEqv): fixed bug 2938101
29290 2011-12-23 Philipp Klaus Krause <pkk AT spth.de>
29292         * src/SDCCerr.h,
29293           src/SDCCerr.c,
29294           src/SDCCicode.c:
29295           Warn about return statements in _Noreturn functions.
29296         * device/include/setjmp.h,
29297           device/lib/_setjmp.c:
29298           Make longjmp() a _Noreturn function, as required by the C11 standard.
29299         * src/SDCClabel.c,
29300           src/z80/gen.c:
29301           Do some basic optimizations for _Noreturn functions.
29303 2011-12-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29305         * src/SDCClabel.c (labelIfx): fixed bug 3463455
29306         * support/regression/tests/gcc-torture-execute-loop-12.c:
29307           reenable tests for hc08 and ds390
29308         * support/regression/compact-results.py: wider test name field
29310 2011-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
29312         * src/SDCCerr.c: changed E_NONRENT_ARGS description
29314 2011-12-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29316         * src/SDCCmain.c,
29317           src/SDCCglobl.h,
29318           src/SDCC.lex:
29319           Add option and pragma for ISO C11.
29320         * support/regression/tests/gcc-torture-execute-anon-1.c:
29321           Disable for compilers other than sdcc and use sdcc in C11 mode.
29322         * src/SDCCsymt.c,
29323           src/SDCCsymt.h,
29324           src/SDCC.y,
29325           src/SDCC.lex,
29326           device/include/stdnoreturn.h:
29327           Accept C11 keyword _Noreturn.
29328         * device/include/stdio.h:
29329           Do not declare gets() in C11 mode.
29331 2011-12-21 Maarten Brock <sourceforge.brock AT dse.nl>
29333         * sdas/as6808/Makefile.in,
29334         * sdas/as8051/Makefile.in,
29335         * sdas/asgb/Makefile.in,
29336         * sdas/asrab/Makefile.in,
29337         * sdas/asz80/Makefile.in: reverted as it fails to build without error
29339 2011-12-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29341         * support/regression/tests/gcc-torture-execute-pure-1.c,
29342           support/regression/tests/gcc-torture-execute-string-opt-17.c,
29343           support/regression/tests/gcc-torture-execute-pta-field-1.c,
29344           support/regression/tests/gcc-torture-execute-string-opt-18.c,
29345           support/regression/tests/gcc-torture-execute-struct-ini-1.c,
29346           support/regression/tests/gcc-torture-execute-pta-field-2.c,
29347           support/regression/tests/gcc-torture-execute-ptr-arith-1.c,
29348           support/regression/tests/gcc-torture-execute-unroll-1.c,
29349           support/regression/tests/gcc-torture-execute-struct-ini-2.c,
29350           support/regression/tests/gcc-torture-execute-struct-ini-3.c,
29351           support/regression/tests/gcc-torture-execute-string-opt-5.c,
29352           support/regression/tests/gcc-torture-execute-stdarg-3.c,
29353           support/regression/tests/gcc-torture-execute-shiftopt-1.c,
29354           support/regression/tests/gcc-torture-execute-struct-ini-4.c,
29355           support/regression/tests/gcc-torture-execute-stdarg-4.c,
29356           support/regression/tests/gcc-torture-execute-switch-1.c,
29357           support/regression/tests/gcc-torture-execute-scope-1.c,
29358           support/regression/tests/gcc-torture-execute-loop-10.c,
29359           support/regression/tests/gcc-torture-execute-loop-11.c,
29360           support/regression/tests/gcc-torture-execute-loop-12.c,
29361           support/regression/tests/gcc-torture-execute-loop-13.c,
29362           support/regression/tests/gcc-torture-execute-loop-14.c,
29363           support/regression/tests/gcc-torture-execute-loop-15.c,
29364           support/regression/tests/gcc-torture-execute-loop-1.c,
29365           support/regression/tests/gcc-torture-execute-loop-2.c,
29366           support/regression/tests/gcc-torture-execute-loop-2c.c,
29367           support/regression/tests/gcc-torture-execute-loop-2d.c,
29368           support/regression/tests/gcc-torture-execute-loop-3b.c,
29369           support/regression/tests/gcc-torture-execute-loop-3.c,
29370           support/regression/tests/gcc-torture-execute-loop-3c.c,
29371           support/regression/tests/gcc-torture-execute-loop-5.c,
29372           support/regression/tests/gcc-torture-execute-loop-6.c,
29373           support/regression/tests/gcc-torture-execute-loop-7.c,
29374           support/regression/tests/gcc-torture-execute-loop-8.c,
29375           support/regression/tests/gcc-torture-execute-loop-9.c,
29376           support/regression/tests/gcc-torture-execute-func-ptr-1.c,
29377           support/regression/tests/gcc-torture-execute-const-addr-expr-1.c,
29378           support/regression/tests/gcc-torture-execute-divmod-1.c,
29379           support/regression/tests/gcc-torture-execute-divcmp-4.c,
29380           support/regression/tests/gcc-torture-execute-divconst-1.c,
29381           support/regression/tests/gcc-torture-execute-compare-1.c,
29382           support/regression/tests/gcc-torture-execute-divconst-2.c,
29383           support/regression/tests/gcc-torture-execute-compare-2.c,
29384           support/regression/tests/gcc-torture-execute-compare-3.c,
29385           support/regression/tests/gcc-torture-execute-loop-12.c,
29386           support/regression/tests/gcc-torture-execute-doloop-1.c,
29387           support/regression/tests/gcc-torture-execute-doloop-2.c,
29388           support/regression/tests/gcc-torture-execute-enum-2.c,
29389           support/regression/tests/gcc-torture-execute-ifcvt-onecmpl-abs-1.c,
29390           support/regression/tests/gcc-torture-execute-divcmp-1.c,
29391           support/regression/tests/gcc-torture-execute-enum-3.c,
29392           support/regression/tests/gcc-torture-execute-cmpsf-1.c,
29393           support/regression/tests/gcc-torture-execute-mod-1.c,
29394           support/regression/tests/gcc-torture-execute-divcmp-2.c,
29395           support/regression/tests/gcc-torture-execute-int-compare.c,
29396           support/regression/tests/gcc-torture-execute-divcmp-3.c,
29397           support/regression/tests/gcc-torture-execute-anon-1.c,
29398           support/regression/tests/gcc-torture-execute-arith-1.c,
29399           support/regression/tests/gcc-torture-execute-postmod-1.c,
29400           support/regression/tests/gcc-torture-execute-bitfld-1.c,
29401           support/regression/tests/gcc-torture-execute-pending-4.c:
29402           Added some tests from the execute part of the gcc torture regression test suite.
29404 2011-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
29406         * sdas/as6808/Makefile.in,
29407         * sdas/as8051/Makefile.in,
29408         * sdas/asgb/Makefile.in,
29409         * sdas/asrab/Makefile.in,
29410         * sdas/asz80/Makefile.in: added dependencies
29412 2011-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
29414         * sdas/asz80/z80pst.c: forgot this one, probably sdas dependencies are
29415           insufficient too
29417 2011-12-18 Maarten Brock <sourceforge.brock AT dse.nl>
29419         * debugger/mcs51/sdcdb.c (escapeQuotes): fixed warning
29420         * sdas/asrab/rabbitmch.c: fixed bug 3461821 by calling outrb with 0
29421         * sdas/as6808/m08pst.c,
29422         * sdas/as8051/i51adr.c,
29423         * sdas/as8051/i51mch.c,
29424         * sdas/as8051/i51pst.c,
29425         * sdas/as8051/i8051.h,
29426         * sdas/asgb/gbpst.c,
29427         * sdas/asxxsrc/asdata.c,
29428         * sdas/asxxsrc/asexpr.c,
29429         * sdas/asxxsrc/aslex.c,
29430         * sdas/asxxsrc/aslist.c,
29431         * sdas/asxxsrc/asmain.c,
29432         * sdas/asxxsrc/asout.c,
29433         * sdas/asxxsrc/assym.c,
29434         * sdas/asxxsrc/asxxxx.h,
29435         * sdas/asz80/z80mch.c,
29436         * sdas/linksrc/aslink.h,
29437         * sdas/linksrc/lkarea.c,
29438         * sdas/linksrc/lkhead.c,
29439         * sdas/linksrc/lklex.c,
29440         * sdas/linksrc/lklist.c,
29441         * sdas/linksrc/sdld.c,
29442         * sdas/linksrc/sdld.h: another step towards ASxxxx v5
29443         * sdas/asrab/rabbit.h,
29444         * sdas/asrab/rabbitadr.c,
29445         * sdas/asrab/rabbitext.c,
29446         * sdas/asrab/rabbitpst.c: native line endings, no TABs
29447         * src/ds390/main.c,
29448         * src/mcs51/main.c,
29449         * src/z80/main.c: asxxx -z flag is now case INsensitive
29450         * src/hc08/main.c: fixed bug 1666106 by adding (PAG) to DSEG and OSEG
29451         * src/SDCCglobl.h: fixed -E comment
29452         * src/SDCCicode.c (geniCodeAdd),
29453         * src/SDCCsymt.c (compStructSize): added error for unknown struct size
29454         * src/SDCClabel.c: no TABs
29456 2011-12-17 Maarten Brock <sourceforge.brock AT dse.nl>
29458         * device/include/mcs51/cc2530.h: new, added, thanks Zafi Ramarosandratana
29460 2011-12-08 Maarten Brock <sourceforge.brock AT dse.nl>
29462         * device/lib/_atof.c,
29463         * device/lib/_divuint.c,
29464         * device/lib/_divulong.c,
29465         * device/lib/_fsadd.c,
29466         * device/lib/acosf.c,
29467         * device/lib/asincosf.c,
29468         * device/lib/asinf.c,
29469         * device/lib/cosf.c,
29470         * device/lib/cotf.c,
29471         * device/lib/expf.c,
29472         * device/lib/printf_large.c,
29473         * device/lib/sincosf.c,
29474         * device/lib/sincoshf.c,
29475         * device/lib/sinf.c,
29476         * device/lib/tancotf.c,
29477         * device/lib/tanf.c,
29478         * support/regression/tests/bug1337835.c,
29479         * support/regression/tests/bug2719592.c,
29480         * support/regression/tests/bug2805333.c,
29481         * support/regression/tests/bug3223041.c,
29482         * support/regression/tests/bug3290691.c,
29483         * support/regression/tests/funptrs.c: changed BOOL to bool
29485 2011-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
29487         * device/include/stdbool.h: removed BOOL
29488         * src/SDCCast.c (decorateType, addess of),
29489         * src/SDCCsymt.c (checkSClass): fixed bug 2934292
29490         * support/regression/tests/bool.c: enabled function pointer tests
29492 2011-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
29494         * sdas/linksrc/aslink.h,
29495         * sdas/linksrc/lkarea.c,
29496         * sdas/linksrc/lkbank.c,
29497         * sdas/linksrc/lkdata.c,
29498         * sdas/linksrc/lklex.c,
29499         * sdas/linksrc/lklist.c,
29500         * sdas/linksrc/lkmain.c,
29501         * sdas/linksrc/lknoice.c,
29502         * sdas/linksrc/lkout.c,
29503         * sdas/linksrc/lkrloc.c,
29504         * sdas/linksrc/lkrloc3.c,
29505         * sdas/linksrc/lks19.c,
29506         * sdas/linksrc/lksym.c,
29507         * sdas/linksrc/Makefile.in: and another step towards ASxxxx v5
29509 2011-12-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29511         * src/z80/ralloc.c:
29512           Fixed bug #3441816.
29514 2011-12-04 Maarten Brock <sourceforge.brock AT dse.nl>
29516         * sdas/linksrc/aslink.h,
29517         * sdas/linksrc/aslink.vcxproj,
29518         * sdas/linksrc/aslink.vcxproj.filters,
29519         * sdas/linksrc/lkar.c,
29520         * sdas/linksrc/lkarea.c,
29521         * sdas/linksrc/lkbank.c,
29522         * sdas/linksrc/lkdata.c,
29523         * sdas/linksrc/lkhead.c,
29524         * sdas/linksrc/lklex.c,
29525         * sdas/linksrc/lklibr.c,
29526         * sdas/linksrc/lklist.c,
29527         * sdas/linksrc/lkmain.c,
29528         * sdas/linksrc/lkmem.c,
29529         * sdas/linksrc/lknoice.c,
29530         * sdas/linksrc/lkout.c,
29531         * sdas/linksrc/lkrloc.c,
29532         * sdas/linksrc/lkrloc3.c,
29533         * sdas/linksrc/lks19.c,
29534         * sdas/linksrc/lksdcclib.c,
29535         * sdas/linksrc/lksdcdb.c,
29536         * sdas/linksrc/lksym.c,
29537         * sdas/linksrc/Makefile.in: next step towards ASxxxx v5
29538         * src/SDCCmem.c (allocIntoSeg): MSVC 2010 still needs all declarations at
29539           the start of a block in C mode
29540         * src/z80/gen.c (genPointerSet): fixed warning
29541         * src/SDCCast.c (processParms): removed incorrect function pointer check
29542         * support/regression/tests/bug3440327.c: reenabled test for mcs51
29544 2011-12-03 Philipp Klaus Krause <pkk AT spth.de>
29546         * support/regression/tests/bug3444293.c
29547           Fix warning in regression test.
29549 2011-12-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29551         * src/SDCCcse.c,
29552           src/SDCCicode.h:
29553           Rename IS_ASSOCIATIVE to IS_COMMUTATIVE.
29555 2011-12-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29557         * src/z80/ralloc2.cc,
29558           src/z80/gen.c,
29559           src/z80/peeph-z80.def:
29560           Minor improvements in pointer handling for the z80 backends.
29562 2011-12-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29564         * src/SDCClabel.c:
29565           Disable hidden jump-to-jump optimization for mcs51, since it breaks large and huge.
29567 2011-11-30 Philipp Klaus Krause <pkk AT spth.de>
29569         * support/regression/tests/bug3440327.c:
29570           Disable bug 3440327 test on mcs51.
29572 2011-11-30 Philipp Klaus Krause <pkk AT spth.de>
29574         * src/SDCCsymt.c:
29575           Cleanup leftover warning.
29577 2011-11-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29579         * src/z80/ralloc2.cc,
29580           src/z80/gen.c,
29581           src/z80/peeph-z80.def:
29582           Some small improvements to the generated code.
29584 2011-11-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29586         * src/z80/ralloc2.cc,
29587           support/regression/tests/bug3444293.c:
29588           Fixed bug #3444293.
29590 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29592         * support/regression/tests/bug3440327.c:
29593           Regression test for bug #3440327.
29595 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29597         * src/SDCClabel.c:
29598           Optimize hidden jump-to-jump.
29600 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29602         * src/z80/gen.c:
29603           Replaced some uses of isLastUse() by the safer isPairDead().
29605 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29607         * Merged the addrspacequal branch (named address spaces).
29609 2011-11-28 Borut Razem <borut.razem AT gmail.com>
29611         * sim/ucsim/libltdl: direcrory removed since it is not used
29612         * support/scripts/gen_known_bugs.pl: warious fixes
29613         * src/pic16/ralloc.c, sim/ucsim/pobj.cc, sim/ucsim/utils.cc,
29614           sdas/linksrc/lkmain.c:
29615           fixed bug #3444387: Minor spelling fix in binary files;
29616           thanks to Gudjon I. Gudjonsson for the patch
29618 2011-11-27 Borut Razem <borut.razem AT gmail.com>
29620         * Small Device C Compiler 3.1.0 released
29621         * .version, doc/sdccman.lyx: changed sdcc version to 3.1.1
29622         * support/scripts/gen_known_bugs.pl: adopted to the new SF bug tracker
29624 2011-11-21 Philipp Klaus Krause <pkk AT spth.de>
29626         * src/z80/gen.c:
29627           Fixed bug #3440327.
29629 2011-11-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29631         * src/SDCCsymt.h,
29632           src/SDCCsymt.c,
29633           src/SDCCast.c,
29634           src/SDCCopt.c:
29635           Error message for implicit casts between named address spaces, fix live-range analysis (regression tests passing now).
29637 2011-11-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29639         * src/SDCCsymt.c,
29640           src/SDCCerr.h,
29641           src/SDCCerr.c:
29642           Error message for attemting to use named address spacces for auto variables.
29644 2011-11-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29646         * src/SDCCopt.c:
29647           Fix broken control and data flow handling (regression tests passing now, exept for bug-895992.c).
29649 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29651         * src/SDCCopt.c:
29652           Improve handling of variables in named address space passed as parameters.
29654 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29656         * src/SDCCopt.c:
29657           Avoid emitting some unecessary bank switching calls.
29659 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29661         * src/SDCCast.c:
29662           Keep global named address spaces alive over functions.
29664 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29666         * src/SDCCicode.c,
29667           src/SDCCopt.c:
29668           Debug message cleanup, reenable address space splitting.
29670 2011-11-14 Raphael Neider <rneider AT web.de>
29672         * device/include/pic14/pic14devices.txt,
29673         * device/non-free/include/pic14/pic16f145[589].h,
29674         * device/non-free/include/pic14/pic16f178[23].h,
29675         * device/non-free/lib/pic14/libdev/Makefile.in,
29676         * device/non-free/lib/pic14/libdev/devices.txt,
29677         * device/non-free/lib/pic14/libdev/pic16f145[589].c,
29678         * device/non-free/lib/pic14/libdev/pic16f178[23].c:
29679           add support for 16f145[589] and 16f178[23] devices
29681         * device/non-free/include/pic14/pic12f683.h,
29682         * device/non-free/lib/pic14/libdev/pic12f683.c:
29683           updated from new sources
29685         * doc/sdccman.lyx:
29686           update device list, clarify use of NO_LEGACY_NAMES
29688 2011-11-13 Maarten Brock <sourceforge.brock AT dse.nl>
29690         * doc/sdccman.lyx: added the boost dependency,
29691           --peep-return, --no-peep-return, --fomit-frame-pointer,
29692           the use of .omf extension,
29693           single mnemonic per assembly line,
29694           available peephole functions
29696 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29698         * src/SDCCcse.c,
29699           src/SDCCicode.c,
29700           src/SDCCopt.c:
29701           Basic support for pointers into named address spaces.
29703 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29705         * src/SDCCicode.c,
29706           src/SDCCsymt.c,
29707           src/SDCCsymt.h,
29708           src/SDCC.y,
29709           src/SDCCopt.c,
29710           src/SDCCast.c:
29711           Debug messages related to pointers to named address spaces.
29713 2011-11-12 Borut Razem <borut.razem AT gmail.com>
29715         * added XXX_bits deprecation note in chapter
29716           1.4 Compatibility with previous versions
29718 2011-11-11 Raphael Neider <rneider AT web.de>
29720         * device/non-free/lib/pic14/libdev/mkall.sh:
29721           simplify device library update process further
29723         * support/scripts/inc2h.pl:
29724           avoid generating duplicate bit defines;
29725           rename XXX_bits to XXXbits to be compatible with PIC16 and HiTech,
29726           but retain XXX_bits symbols for compatibility (to prevent legacy
29727           names from being visible, #define NO_LEGACY_NAMES before
29728           #include'ing device headers
29730         * device/include/pic14/pic14devices.txt,
29731         * device/non-free/lib/pic14/libdev/devices.txt:
29732           updated device names: 16{f => lf}190x, 1{2 => 6}f1847,
29733           no devices exist with the original names
29735         * device/non-free/include/pic14/pic12f1840.h,
29736         * device/non-free/include/pic14/pic16f1507.h,
29737         * device/non-free/include/pic14/pic16f182[34589].h,
29738         * device/non-free/include/pic14/pic16f1847.h,
29739         * device/non-free/include/pic14/pic16f193[89].h,
29740         * device/non-free/include/pic14/pic16lf190[23467].h,
29741         * device/non-free/lib/pic14/libdev/Makefile.in,
29742         * device/non-free/lib/pic14/libdev/pic12f1840.c,
29743         * device/non-free/lib/pic14/libdev/pic16f1507.c,
29744         * device/non-free/lib/pic14/libdev/pic16f182[34589].c,
29745         * device/non-free/lib/pic14/libdev/pic16f1847.c,
29746         * device/non-free/lib/pic14/libdev/pic16f193[89].c,
29747         * device/non-free/lib/pic14/libdev/pic16lf190[23467].c:
29748           add device libraries for more enhanced core devices,
29749           no legacy names (XXX_bits) here!
29751         * device/non-free/include/pic14/pic*.h,
29752         * device/non-free/lib/pic14/libdev/pic*.c:
29753           regenerated from new sources using the new inc2h.pl
29755         * doc/sdccman.lyx: updated list of supported devices,
29756           documented change of naming schemes and the use of
29757           #define NO_BIT_DEFINES and #define NO_LEGACY_NAMES
29759 2011-11-11 Borut Razem <borut.razem AT gmail.com>
29761         * src/SDCCsystem.c: removed wine bug workaround:
29762           wine bug #25062 was fixed in wine 1.3.
29764 2011-11-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29766         * src/SDCCmem.h,
29767           src/SDCCmem.c,
29768           src/SDCCglue.c:
29769           Use named address space as segment name for the linker.
29771 2011-11-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29773         * src/SDCCsymt.h,
29774           src/SDCCsymt.c,
29775           src/SDCC.y,
29776           src/SDCCopt.c:
29777           Basic compiler-side named address space support.
29779 2011-11-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29781         * src/SDCCsymt.h,
29782           src/SDCC.y,
29783           src/SDCCopt.c,
29784           src/SDCCicode.c
29785           src/z80/ralloc.c:
29786           Preparations for named address space support.
29788 2011-11-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29790         * src/SDCCsymt.c,
29791           src/SDCCsymt.h,
29792           src/SDCC.y,
29793           src/SDCC.lex,
29794           src/SDCCast.c:
29795           Preparations for named address space support.
29797 2011-11-05 Borut Razem <borut.razem AT gmail.com>
29799         * src/port.mk: fixed bug #3401455: Missing dependency
29800         * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
29801           changed sdcc version to 3.1.0
29802         * doc/README.txt, support/scripts/sdcc.nsi: updated, small textual fix
29804 2011-11-05 Maarten Brock <sourceforge.brock AT dse.nl>
29806         * device/include/mcs51/cc2430.h: applied patch 3114002, thanks to
29807           George Oikonomou
29809 2011-11-05 Raphael Neider <rneider AT web.de>
29811         * device/include/pic14/pic14devices.txt: add descriptions for a number
29812           of devices with enhanced cores; support for most of them remains
29813           incomplete due to lacking support by gputils
29814         * device/non-free/include/pic14/pic16f1826.h,
29815         * device/non-free/include/pic14/pic16f1827.h,
29816         * device/non-free/include/pic14/pic16f1933.h,
29817         * device/non-free/lib/pic14/libdev/Makefile.in,
29818         * device/non-free/lib/pic14/libdev/devices.txt,
29819         * device/non-free/lib/pic14/libdev/pic16f1826.c,
29820         * device/non-free/lib/pic14/libdev/pic16f1827.c,
29821         * device/non-free/lib/pic14/libdev/pic16f1933.c: add support for some
29822           of the newly described devices; 16f1826/7 libraries are disabled in
29823           the Makefile due to lacking support from gputils
29824         * doc/sdccman.lyx: fix list of supported devices
29826 2011-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29828         * src/mcs51/ralloc.c (isFree),
29829         * src/ds390/ralloc.c (isFree): fixed bug #3400845
29830         * src/SDCCast.c (decorateTree),
29831         * src/mcs51/gen.c (assignResultValue): fixed bug #3419769
29832         * sdas/linksrc/lkmain.c (main): fixed bug #3362385
29833         * src/ds390/ralloc.c (packRegisters): fixed bug #3432159
29834         * support/regression/tests/condopptr.c: enable for all targets
29836 2011-11-03 Borut Razem <borut.razem AT gmail.com>
29838         * support/scripts/sdcc.nsi: updated to support pic14 enhanced devices
29840 2011-11-02 Raphael Neider <rneider AT web.de>
29842         * device/include/pic14/pic14devices.txt: prevent SDCC from assuming
29843           a single data bank by specifying more memmap records (per device)
29845 2011-11-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29847         * src/SDCCast.c (decorateType): allow array/integral type
29848           combination in conditional operator (will promote to pointer)
29849         * support/regression/tests/condopptr.c: new regression
29850           test to check pointer operand cases in conditional operator
29852 2011-11-01 Raphael Neider <rneider AT web.de>
29854         * src/pic14/gen.c (inc_fsr): new code to handle FSR{,0} increments,
29855           (emitPtrByteGet,emitPtrByteSet): fix pointer derefence,
29856           (genNearPointerGet,genNearPointerSet): fixed for enhanced cores,
29857           really closes #3431024
29858         * src/pic14/pcode.c (pCodeInitRegisters):
29859           declare all "core registers" to reside in all banks to avoid
29860           unnecessary BANKSELs
29861         * doc/sdccman.lyx: document definition of config words and the use
29862           of libsdcce.lib and libme.lib for enhanced pic14 devices
29864 2011-11-01 Raphael Neider <rneider AT web.de>
29866         * src/pic14/main.c (_pic14_do_link):
29867           link with libsdcce.lib for enhanced devices
29869         * device/lib/Makefile.in:
29870           find, copy, and rename enhanced core libraries as well
29872         * device/lib/pic14/NEWS:
29873           document structural changes and support for enhanced cores
29875         * device/lib/pic14/Makefile.am,
29876         * device/lib/pic14/Makefile.common,
29877         * device/lib/pic14/Makefile.common.in (removed),
29878         * device/lib/pic14/Makefile.rules (removed),
29879         * device/lib/pic14/Makefile.subdir (removed),
29880         * device/lib/pic14/configure.in:
29881           switch pic14 library to Autotools-based build system,
29882           support --enable-new-pics
29884         * device/lib/pic14/libm/Makefile.am,
29885         * device/lib/pic14/libsdcc/Makefile.in (removed),
29886         * device/lib/pic14/libsdcc/enhanced/Makefile.am,
29887         * device/lib/pic14/libsdcc/regular/Makefile.am:
29888           build separate libm and libsdcc for regular and enhanced cores
29890         * device/lib/pic14/libsdcc/{ => regular/,enhanced/}_gptrget{1,2,3,4}.S,
29891         * device/lib/pic14/libsdcc/{ => regular/,enhanced/}_gptrput{1,2,3,4}.S,
29892         * device/lib/pic14/libsdcc/{ => regular/,enhanced/}macros.inc:
29893           separated implementation of generic pointer routines and
29894           reimplemented for enhanced devices
29896         * device/lib/pic14/libsdcc/{ => regular/}shadowregs.c:
29897           moved to be included only in the non-enhanced devices' libsdcc.lib
29899         * device/{ => non-free/}lib/pic14/libdev/devices.txt,
29900         * device/{ => non-free/}lib/pic14/libdev/pic14ports.txt:
29901           make libdev/ more self-contained
29903         * device/non-free/lib/pic14/libdev/mkall.sh:
29904           interactively update device library files (.c and .h)
29906         * device/non-free/include/pic14/pic12f635.h,
29907         * device/non-free/include/pic14/pic16f616.h,
29908         * device/non-free/include/pic14/pic16f688.h,
29909         * device/non-free/include/pic14/pic16f785.h,
29910         * device/non-free/include/pic14/pic16f913.h,
29911         * device/non-free/include/pic14/pic16f914.h,
29912         * device/non-free/include/pic14/pic16f916.h,
29913         * device/non-free/include/pic14/pic16f917.h,
29914         * device/non-free/include/pic14/pic16hv616.h,
29915         * device/non-free/lib/pic14/libdev/pic12f1822.c,
29916         * device/non-free/lib/pic14/libdev/pic16f616.c,
29917         * device/non-free/lib/pic14/libdev/pic16f688.c,
29918         * device/non-free/lib/pic14/libdev/pic16f785.c,
29919         * device/non-free/lib/pic14/libdev/pic16f886.c,
29920         * device/non-free/lib/pic14/libdev/pic16f887.c,
29921         * device/non-free/lib/pic14/libdev/pic16f913.c,
29922         * device/non-free/lib/pic14/libdev/pic16f914.c,
29923         * device/non-free/lib/pic14/libdev/pic16f916.c,
29924         * device/non-free/lib/pic14/libdev/pic16f917.c,
29925         * device/non-free/lib/pic14/libdev/pic16hv616.c:
29926           updated from recent gputils' headers
29928         * device/non-free/include/pic14/pic16f193{4,6,7}.h,
29929         * device/non-free/lib/pic14/libdev/Makefile.in,
29930         * device/non-free/lib/pic14/libdev/devices.txt,
29931         * device/non-free/lib/pic14/libdev/pic16f193{4,6,7}.c:
29932           add support for 16f1934/16f1936/16f1937 devices
29934         * device/lib/pic14/Makefile.in,
29935         * device/lib/pic14/aclocal.m4,
29936         * device/lib/pic14/config.h.in,
29937         * device/lib/pic14/configure,
29938         * device/lib/pic14/depcomp,
29939         * device/lib/pic14/install-sh,
29940         * device/lib/pic14/libm/Makefile.in,
29941         * device/lib/pic14/libsdcc/enhanced/Makefile.in,
29942         * device/lib/pic14/libsdcc/regular/Makefile.in,
29943         * device/lib/pic14/missing,
29944         * device/lib/pic16/configure,
29945         * device/non-free/lib/pic14/configure,
29946         * device/non-free/lib/pic16/configure:
29947           automatically (re)generated files
29949 2011-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29951         * src/SDCCsymt.c (computeType): fixed bug #3431210
29953 2011-10-31 Raphael Neider <rneider AT web.de>
29955         * src/pic14/device.c (init_pic): reformatted,
29956           fixup enhanced cores' name for INDF
29957         * src/pic14/pcode.c, src/pic14/pcode.h, src/pic14/ralloc.h:
29958           provide indirect memory access registers for enhanced cores
29959         * src/pic14/gen.c (setup_fsr):
29960           setup FSR0L and FSR0H on enhanced cores,
29961           fix access to INDF vs. INDF0, closes #3431024
29963 2011-10-30 Raphael Neider <rneider AT web.de>
29965         * src/pic14/device.c, src/pic14/device.h,
29966           device/include/pic14/pic14devices.txt:
29967           declare enhanced cores as such
29968         * src/pic14/gen.c:
29969           do not save/restore W, STATUS, BSR, FSRx, or PCLATH around
29970           interrupts on enhanced devices, as these registers will be
29971           saved automatically and FSR is not present on these devices
29973 2011-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29975         * src/SDCCast.c (processParams): fixed bug #3424385
29977 2011-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
29979         * sdas/linksrc/lkmain.c (main): fixed banking, bug 3420365
29980         * src/SDCCast.c: cosmetics
29982 2011-10-25 Borut Razem <borut.razem AT gmail.com>
29984         * configure.in, configure, Makefile.in, device/lib/z180/Makefile.in,
29985           device/lib/z180/Makefile, device/lib/z80/Makefile.in,
29986           device/lib/gbz80/Makefile.in, device/lib/ds390/Makefile.in,
29987           device/lib/Makefile.in, device/lib/ds400/Makefile.in,
29988           device/lib/ds400/ds400rom.c, device/lib/mcs51/Makefile.in,
29989           device/lib/r2k/Makefile.in, device/lib/hc08/Makefile.in,
29990           device/non-free/lib/Makefile.in, all.vcxproj,
29991           doc/sdccman.lyx, sdcc.sln, support/scripts/sdcc.nsi:
29992           asranlib renamed to sdranlib
29993         * sdas/asranlib/*: sdas/asranlib moved to support/sdranlib
29995 2011-10-23 Raphael Neider <rneider AT web.de>
29997         * device/include/pic14/pic14devices.txt:
29998           fix config word addresses for 12f1822/3, add 16f1934/6/7 family
30000 2011-10-21 Raphael Neider <rneider AT web.de>
30002         * src/pic14/device.c, src/pic14/device.h, src/pic14/ralloc.c:
30003           rewrite config word handling to support locations other than
30004           0x2007 and 0x2008 (16f1936 has config words at 0x8007, 0x8008)
30005         * device/include/pic14/pic14devices.txt:
30006           replace confsiz directive with list of config word addresses
30008 2011-10-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30010         * device/include/string.h,
30011           device/lib/_memcpy.c,
30012           device/lib/_memset.c:
30013           Reenable built-in memset() for z80, enable it and built-in memcpy() for z180 and r2k.
30015 2011-10-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30017         * Makefile.common.in:
30018           Handle OPT_DISABLE_GBZ80.
30020 2011-10-20 Philipp Klaus Krause <pkk AT spth.de>
30022         * device/include/string.h:
30023           Disable built-in memset until the library build problem is fixed.
30025 2011-10-19 Philipp Klaus Krause <pkk AT spth.de>
30027         * src/SDCCopt.c,
30028           src/z80/gen.c,
30029           src/z80/main.c,
30030           device/include/string.h,
30031           support/regression/tests/memory.c:
30032           Built-in memset() for z80, z180 and r2k.
30034 2011-10-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30036         * src/z80/gen.c:
30037           Use ld hl, n (sp) on the gbz80.
30038         * src/z80/ralloc2.cc:
30039           When in doubt, try to honour register keyword.
30041 2011-10-19 Borut Razem <borut.razem AT gmail.com>
30043         * Makefile.common.in: added OPT_DISABLE_Z180, OPT_DISABLE_R2K
30045 2011-10-18 Borut Razem <borut.razem AT gmail.com>
30047         * doc/sdccman.lyx: changed MS Visual C++ 6.0 to MS Visual C++ 2010,
30048           reverted to LyX version 1.6.7 format, as proposed by Robert Larice
30049         * support/cpp/sdcpp-opts.c: fixed bug #3388478:
30050           Preprocessor Error when Invoking sdcc with -E/-M/-MM and -o
30052 2011-10-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30054         * Makefile.in:
30055           Fixed bug #3424968.
30057 2011-10-17 Philipp Klaus Krause <pkk AT spth.de>
30059         * device/include/iso646.h,
30060           support/regression/tests/iso646.c:
30061           Added macros required by C99  (this header is now C99-compliant).
30062         * device/include/limits.h:
30063           Removed UCHAR_MIN, added macros for long long (this header is now C99-compliant).
30064         * device/include/stdint.h:
30065           Code cleanup, added macros for 64 bit integers, wchar_t and wint_t (this header is now C99-compliant except for intmax_t and uintmax_t having less than 64 bits).
30066         * device/include/string.h:
30067           Renamed namespace-polluting _SIZE_T_DEFINED.
30068         * device/include/stddef.h:
30069           Renamed namespace-polluting _SIZE_T_DEFINED, added ptrdiff_t and wchar_t (this header is now C99-compliant).
30070         * device/include/stdio.h:
30071           Renamed namespace-polluting _SIZE_T_DEFINED.
30072         * device/include/stdarg.h,
30073           support/regression/tests/vaargs.c:
30074           Fixed va_end, added va_copy (this header is now C99-compliant).
30076 2011-10-16 Borut Razem <borut.razem AT gmail.com>
30078         * support/scripts/sdcc.nsi: added dedication to Dennis M. Ritchie
30079         * support/cpp/c-ppoutput.c:
30080           fixed bug #3408654: SDCC shows wrong line number in warning 94:
30081           disabled # LINE directive generation in __asm __endasm block
30083 2011-10-16 Raphael Neider <rneider AT web.de>
30085         * device/include/pic16/i2c.h,
30086         * device/lib/pic16/libio/i2c/i2cwritec.c:
30087           addressed issues from #3413443
30088         * device/include/pic16/adc.h,
30089         * device/lib/pic16/libio/adc/adcopen.c:
30090           addressed issues from #3409666
30092 2011-10-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30094         * support/regression/collate-results.py,
30095           support/regression/compact-results.py: fixed bug #3413437
30097 2011-10-15 Philipp Klaus Krause <pkk AT spth.de>
30099         * src/z80/gen.c,
30100           support/regression/tests/bug3424150.c:
30101           Fixed bug #3424150.
30103 2011-10-15 Philipp Klaus Krause <pkk AT spth.de>
30105         * doc/sdccman.lyx:
30106           Mentioned z180 and r2k ports and long long data type in manual.
30108 2011-10-14 Borut Razem <borut.razem AT gmail.com>
30110         * support/scripts/sdcc.nsi: remove include/asm/r2k directoriy
30111           during uninstallation
30112         * */*.dsw, */*.dsw: removed obsolete VS6 project files
30113         * support/Util: renamed to support/util
30115 2011-10-13 Borut Razem <borut.razem AT gmail.com>
30117         * .version, doc/sdccman.lyx: bumped version to 3.0.6
30118         * src/SDCCicode.c:
30119           disable -O2 optimization for i386 Linux and mingw platforms
30120           (solaris i386 is OK);
30121           see patch #3285611: Workaround gcc 4.6.0 bug with sdcc 3.0.0
30122         * src/SDCCval.c:
30123           Microsoft C compiler doesn't support hexadecimal floating-point
30124           literals
30126 2011-10-12 Borut Razem <borut.razem AT gmail.com>
30128         * device/include/Makefile.in:
30129           fixed detection if files with the given extension exist;
30130           specially treat z80 family: z180, r2k and gbz80 targets
30131         * support/scripts/sdcc.nsi: added Rabbit 2000 support
30132         * sdas/asrab/asrab.vcxproj, sdas/asrab/asrab.vcxproj.filters,
30133           sdcc.sln, src/src.vcxproj, src/src.vcxproj.filters,
30134           src/z80/z80.vcxproj, src/z80/z80.vcxproj.filters:
30135           added sdasrab assembler to the project
30136         * debugger/mcs51/simi.c: cygwin doesn't support O_ASYNC
30138 2011-10-11 Borut Razem <borut.razem AT gmail.com>
30140         * device/include/Makefile.in: install/copy only existing files
30141         * src/SDCCicode.c: disable -O2 optimization for all i386 platforms;
30142           see patch #3285611: Workaround gcc 4.6.0 bug with sdcc 3.0.0
30144 2011-10-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30146         * configure.in:
30147           Fixed bug #3413688.
30149 2011-10-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30151         * sdas/asrab/rabbit.h,
30152           sdas/asrab/rabbitadr.c,
30153           sdas/asrab/rabbitmch.c:
30154           Leland Morrison's fix for ld n (hl), hl and ld hl, n (hl).
30155         * src/z80/peeph-r2k.def:
30156           Enable peepholes using ld hl, n (hl).
30158 2011-10-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30160         * src/z80/main.c,
30161           src/z80/main.c,
30162           src/z80/z80.h:
30163           Fix code generation for handling of rematerialization by the new
30164           register allocator, enable it for the ports with exact cost function
30165           and remove the option.
30167 2011-10-10 Borut Razem <borut.razem AT gmail.com>
30169         * support/scripts/sdcc.nsi: removed include/z80 added include/z180
30171 2011-10-09 Raphael Neider <rneider AT web.de>
30173         * src/SDCCval.c (constVal): avoid compiler warning
30174         * src/pic16/gen.c (genPcall): do not clobber interrupt flags in
30175           INTCON during indirect function call, closes #3420588
30177 2011-10-09 Philipp Klaus Krause <pkk AT spth.de>
30179         * Merge the Rabbit2000 branch.
30181 2011-10-09 Philipp Klaus Krause <pkk AT spth.de>
30183         * device/include/z80/z180.h,
30184           device/include/z80/types.h,
30185           device/include/z80/README,
30186           device/include/z80/z180.h:
30187           Move z180 include file.
30189 2011-10-09 Philipp Klaus Krause <pkk AT spth.de>
30191         * src/SDCCmain.c:
30192           Cleanup z180 library handling.
30194 2011-10-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30196         * support/scripts/sdcc.nsi: add Z180 lib and include files to package
30198 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30200         * src/z80/gen.c,
30201           src/z80/peep.c:
30202           Use r2k-specific ld n (sp), hl,  ld n (sp), iy, ld n (ix), ld iy, n (sp), ld hl, n (sp) and ld hl, n (ix).
30204 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30206         * src/z80/gen.c,
30207           src/z80/peep.c,
30208           src/z80/peeph-r2k.def,
30209           src/z80/peeph-z80.def:
30210           Preparations for use of r2k-specific ld hl, n (sp) and ld hl, n (ix).
30212 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30214         * src/z80/gen.c:
30215           Preparations for use of r2k-specific ld iy,hl.
30217 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30219         * src/z80/gen.c,
30220           src/z80/peeph-r2k.def,
30221           src/z80/peeph-z80.def:
30222           Allow use of r2k-specific ld hl, (hl) instruction.
30224 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30226         * src/z80/gen.c:
30227           Make better use of the r2k-specific add sp, d instruction.
30229 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30231         * src/z80/gen.c:
30232           More flexible use of r2k-specific and hl, de instruction.
30234 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30236         * src/z80/gen.c:
30237           Allow use of r2k-specific instructions in right shift.
30238         * sim/ucsim/z80.src/inst.cc:
30239           Fix flag handling in z80/z180/r2k rrca instruction.
30240         * sim/ucsim/z80.src/inst_r2k.cc:
30241           Fix handling of carry bit in r2k 16-bit rr and rl instructions.
30243 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30245         * src/z80/peeph-z80.def,
30246           src/z80/peeph-r2k.def:
30247           Minor peephole improvement.
30249 2011-10-04 Philipp Klaus Krause <pkk AT spth.de>
30251         * sim/ucsim/z80.src/inst_r2k.cc:
30252           Fix signed multiplication to use two's complement instead of sign-magnitude, 3rd attempt.
30254 2011-10-04 Philipp Klaus Krause <pkk AT spth.de>
30256         * sim/ucsim/z80.src/inst_r2k.cc:
30257           Fix signed multiplication to use two's complement instead of sign-magnitude, 2nd attempt.
30259 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30261         * sim/ucsim/z80.src/inst_r2k.cc,
30262           sim/ucsim/z80.src/r2k.cc,
30263           sim/ucsim/z80.src/z80cl.h,
30264           sim/ucsim/z80.src/inst_ed_r2k.cc,
30265           sim/ucsim/z80.src/inst_xd.cc,
30266           sim/ucsim/z80.src/r2kcl.h,
30267           sim/ucsim/z80.src/glob.cc:
30268           Leland Morrison's support for some more r2k-specific instructions.
30270 2011-10-04 Philipp Klaus Krause <pkk AT spth.de>
30272         * sim/ucsim/z80.src/inst_r2k.cc:
30273           Fix signed multiplication to use two's complement instead of sign-magnitude.
30275 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30277         * sim/ucsim/z80.src/r2k.cc,
30278           sim/ucsim/z80.src/r2kcl.h:
30279           Forgotten files from Leland Morrison's Rabbit 2000 ucsim port.
30281 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30283         * src/z80/gen.c,
30284           sim/ucsim/z80.src/inst_r2k.cc:
30285           Fixed multiplication using r2k mul instruction.
30287 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30289         * sdas/asrab/rabbitmch.c:
30290           Leland Morrison's support for ld iy, hl.
30292 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30294         * sim/ucsim/z80.src/inst_r2k.cc,
30295           sim/ucsim/z80.src/glob_r2k.cc,
30296           sim/ucsim/z80.src/inst_ed_r2k.cc:
30297           Forgotten files from Leland Morrison's Rabbit 2000 ucsim port, support for r2k mul and ld iy, hl instructions in ucsim.
30299 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30301         * src/z80/peep.c:
30302           Handle r2k mul instruction in code size calculation.
30304 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30306         * sim/ucsim/z80.src/Makefile.in,
30307           sim/ucsim/z80.src/z80cl.h,
30308           sim/ucsim/z80.src/regsz80.h,
30309           sim/ucsim/z80.src/sz80.cc,
30310           sim/ucsim/z80.src/z80mac.h,
30311           sim/ucsim/z80.src/inst_xd.cc,
30312           sim/ucsim/z80.src/z80.cc,
30313           sim/ucsim/z80.src/glob.cc,
30314           sim/ucsim/z80.src/inst_dd.cc,
30315           sim/ucsim/z80.src/glob.h,
30316           sim/ucsim/z80.src/inst_fd.cc,
30317           sim/ucsim/z80.src/simz80.cc,
30318           sim/ucsim/stypes.h,
30319           sim/ucsim/sim.src/uc.cc,
30320           sim/ucsim/globals.cc:
30321           Leland Morrison's Rabbit 2000 ucsim port.
30323 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30325         * src/z80/gen.c:
30326           Use add sp, #n in function entry in r2k port.
30328 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30330         * src/z80/gen.c:
30331           Use Rabbit-specific instructions in and, multiplication and assignment for r2k port.
30333 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30335         * src/z80/gen.c,
30336           src/z80/peep.c:
30337           Preparations for use of add sp, #n in function entry in r2k port.
30339 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30341         * support/regression/tests/bug1115321.c
30342           support/regression/Makefile.in
30343           support/regression/fwk/include/testfwk.h
30344           support/regression/ports/ucr2k
30345           Leland Morrison's Rabbit 2000 regression test port.
30347 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30349         * src/SDCCmain.c:
30350           Fix library path. r2k port works now.
30352 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30354         * device/include/stdint.h:
30355           Enable 64 bit integer types for r2k port.
30357 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30359         * device/include/asm/r2k,
30360           device/include/asm/r2k/features.h,
30361           device/lib/r2k/Makefile.in,
30362           Makefile.in,
30363           src/SDCCmain.c,
30364           src/z80/gen.c,
30365           src/z80/main.c,
30366           device/lib/Makefile.in,
30367           configure.in,
30368           device/lib/r2k/Makefile.in,
30369           device/lib/r2k/strlen.s:
30370           r2k library cleanup.
30372 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30374         * device/lib/r2k,
30375           device/include/sdcc-lib.h,
30376           device/include/math.h,
30377           device/include/stdarg.h:
30378           Leland Morrison's Rabbit 2000 library port.
30380 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30382         * configure.in:
30383           Add r2k port.
30384         * src/port.h,
30385           src/z80/gen.c
30386           src/z80/main.c
30387           src/z80/z80.h:
30388           Code cleanup.
30389         * src/z80/peep.c:
30390           Fix code size for ex (sp), hl in r2k port.
30392 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30394         * src/SDCCralloc.hpp,
30395           src/SDCCmain.c,
30396           src/SDCCglue.c,
30397           src/port.h,
30398           src/z80/peeph-r2k.def,
30399           src/z80/gen.c,
30400           src/z80/mappings.i,
30401           src/z80/main.c,
30402           src/z80/z80.h,
30403           src/z80/peep.c:
30404           Leland Morrison's Rabbit 2000 compiler port.
30406 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30408         * sdas/asrab,
30409           sdas/asrab/Makefile.in,
30410           sdas/asrab/rabbitext.c,
30411           sdas/asrab/clean.mk,
30412           sdas/asrab/rabbit.h,
30413           sdas/asrab/rabbitadr.c,
30414           sdas/asrab/rabbitpst.c,
30415           sdas/asrab/rabbitmch.c:
30416           Leland Morrison's assembler for Rabbit 2000 and Rabbit 4000.
30418 2011-10-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30420         * sim/ucsim/hc08.src/glob.cc: add HCS08 instructions to disassembler
30421         * src/SDCCval.c: fixed constant to avoid unintended long long literal
30423 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30425         * device/include/stdint.h:
30426           Added typedefs for 64-bit integer types.
30428 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30430         * src/SDCCerr.h,
30431           src/SDCCerr.c,
30432           src/SDCCval.c:
30433           Error for invalid integer suffix, as in 1ullul.
30435 2011-10-01 Raphael Neider <rneider AT web.de>
30437         * device/non-free/include/pic14/pic12f1822.h,
30438           device/non-free/lib/pic14/libdev/pic12f1822.c,
30439           device/include/pic14/pic14devices.txt,
30440           device/lib/pic14/libdev/devices.txt:
30441           Add support for 12f1822 devices, requires --enable-new-pics to be
30442           passed to configure, closes #3416092.
30444         * device/non-free/lib/pic14/libdev/Makefile.in,
30445           device/non-free/lib/pic14/configure.in:
30446           Add --enable-new-pics switch to build device libs for devices added
30447           to gputils only after the 0.13.7 release; by default, only libs for
30448           devices that are supported in gputils 0.13.7 are built to avoid build
30449           failures.
30451         * device/non-free/lib/pic14/configure:
30452           Regenerated.
30454 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30456         * src/SDCCopt.c:
30457           Slightly more informative error message when attempting to multiply, etc long long.
30459 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30461         * src/z80/gen.c:
30462           Reorganized pointer access functions, fixed the remaining warning in the z80 port.
30464 2011-10-01 Borut Razem <borut.razem AT gmail.com>
30466         * src/SDCCerr.c, src/SDCCerr.h, src/SDCC.lex:
30467           SDCCerr code cleanup
30469 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30471         * src/z80/gen.c:
30472           Reorganized pointer access functions, fixed the remaining warning in the z80 port.
30474 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30476         * src/SDCCsymt.c:
30477           Enable long long for gbz80 and z180 ports.
30478         * src/pic14/gen.c:
30479           Fixed use of pic16 functions in pic14 port.
30481 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30483         * src/src/izt/tlcs900h.c,
30484           src/izt/i186.c,
30485           src/z80/main.c:
30486           Added missing long long type size entries.
30488 2011-10-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30490         * src/ds390/main.c: added missing long long type size entries
30492 2011-10-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30494         * sim/ucsim/z80.src/sz80.cc: enable sz80 -H option
30495         * sim/ucsim/globals.cc,
30496         * sim/ucsim/globals.h,
30497         * sim/ucsim/stypes.h,
30498         * sim/ucsim/hc08.src/shc08.cc,
30499         * sim/ucsim/hc08.src/hc08.cc,
30500         * sim/ucsim/hc08.src/hc08cl.h,
30501         * sum/ucsim/hc08.src/inst.cc,
30502         * sum/ucsim/hc08.src/instcl.h,
30503         * sum/ucsim/hc08.src/hc08mac.h: Add support for HCS08 instructions
30505 2011-09-30 Philipp Klaus Krause <pkk AT spth.de>
30507         * src/xa51/main.c
30508           src/mcs51/main.c
30509           src/SDCCsymt.c
30510           src/SDCCsymt.h
30511           src/avr/main.c
30512           src/port.h
30513           src/pic14/main.c
30514           src/z80/gen.c
30515           src/z80/ralloc.c
30516           src/z80/main.c
30517           src/pic16/main.c
30518           src/SDCCglobl.h
30519           src/hc08/main.c
30520           src/ds390/main.c:
30521           Very basic (no multiplication/division/shift/return) support for long long for the Z80.
30523 2011-09-30 Philipp Klaus Krause <pkk AT spth.de>
30525         * src/SDCCerr.h,
30526           src/SDCCerr.c,
30527           src/SDCCsymt.c:
30528           Drop support for declarations like "long short short long short int x;".
30530 2011-09-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30532         * configure.in,
30533           configure: create device/lib/z180/Makefile during configuration
30535 2011-09-28 Philipp Klaus Krause <pkk AT spth.de>
30537         * src/z80/ralloc2.cc,
30538           src/z80/gen.c:
30539           Handle the trivial casts more like assignments, allow hl in operands for unary minus.
30541 2011-09-28 Philipp Klaus Krause <pkk AT spth.de>
30543         * ChangeLog:
30544           Reconstruct ChangeLog entries lost during the z180 branch merge.
30546 2011-09-25 Philipp Klaus Krause <pkk AT spth.de>
30548         * src/z80/main.c:
30549           Always use native multiplication for Z80 and Z180 when the result is 8 bits.
30551 2011-09-25 Philipp Klaus Krause <pkk AT spth.de>
30553         * src/z80/gen.c:
30554           Always use of Z180 mlt instruction for unsigned 8x8 multiplication,
30555           fixed bug in register-to-register cast.
30557 2011-09-24 Philipp Klaus Krause <pkk AT spth.de>
30559         * src/z80/peep.c:
30560           Handle Z180 mlt instruction in peephole optimizer.
30562 2011-09-24 Philipp Klaus Krause <pkk AT spth.de>
30564         * Merged z180 branch.
30566 2011-09-24 Maarten Brock <sourceforge.brock AT dse.nl>
30568         * device/lib/printf_large.c: accept int modifiers
30570 2011-09-24 Philipp Klaus Krause <pkk AT spth.de>
30572         * sim/ucsim/globals.cc,
30573           sim/ucsim/z80.src/inst_ed.cc:
30574           Report mlt instructions as invalid in simulator when running in Z80 mode.
30576 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30578         * src/SDCCglue.c,
30579           src/z80/gen.c,
30580           src/z80/main.c,
30581           sim/ucsim/z80.src/inst_ed.cc:
30582           Enable use of Z180 multiplication instructions.
30584 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30586         * support/regression/tests/bug1115321.c:
30587           Fix last remaining ucz180 regression test failure.
30589 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30591         * device/include/string.h,
30592           device/include/sdcc-lib.h,
30593           device/include/math.h,
30594           device/include/stdarg.h,
30595           device/lib/_malloc.c,
30596           device/lib/_realloc.c,
30597           device/lib/_free.c,
30598           device/lib/Makefile.in,
30599           sim/ucsim/z80.src/z80cl.h,
30600           sim/ucsim/z80.src/z80.cc,
30601           sim/ucsim/z80.src/simz80.cc,
30602           sim/ucsim/stypes.h,
30603           sim/ucsim/globals.cc,
30604           sim/ucsim/globals.h,
30605           sdas/linksrc/lkarea.c,
30606           sdas/linksrc/sdld.c,
30607           sdas/linksrc/sdld.h,
30608           sdas/linksrc/lkrloc.c,
30609           support/regression/Makefile.in,
30610           support/regression/fwk/include/testfwk.h,
30611           device/include/asm/z180,
30612           device/include/asm/z180/features.h,
30613           device/lib/z180,
30614           device/lib/z180/divunsigned.s,
30615           device/lib/z180/Makefile.in,
30616           device/lib/z180/crtcall.s,
30617           device/lib/z180/mulchar.s,
30618           device/lib/z180/README,
30619           device/lib/z180/mul.s,
30620           device/lib/z180/stubs.s,
30621           device/lib/z180/setjmp.s,
30622           device/lib/z180/abs.s,
30623           device/lib/z180/memmove.s,
30624           device/lib/z180/fstubs.s,
30625           device/lib/z180/modmixed.s,
30626           device/lib/z180/putchar.s,
30627           device/lib/z180/strlen.s,
30628           device/lib/z180/crt0.s,
30629           device/lib/z180/divmixed.s,
30630           device/lib/z180/modsigned.s,
30631           device/lib/z180/crt0_rle.s,
30632           device/lib/z180/Makefile,
30633           device/lib/z180/modunsigned.s,
30634           device/lib/z180/divsigned.s,
30635           device/lib/z180/heap.s,
30636           device/lib/z180/shift.s,
30637           support/regression/ports/ucz180,
30638           support/regression/ports/ucz180/spec.mk,
30639           support/regression/ports/ucz180/uCsim.cmd,
30640           support/regression/ports/ucz180/support.asm:
30641           Z180 port passes all regression tests except for one.
30643 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30645         * src/SDCCicode.c,
30646           support/regression/tests/bug2942247.c:
30647           Fixed bug #2942247.
30649 2011-09-22 Maarten Brock <sourceforge.brock AT dse.nl>
30651         * src/SDCC.y (abstract_declarator2): fixed bug 3190029
30652         * support/regression/tests/bug3190029.c: new, added
30654 2011-09-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30656         * src/pic16/gen.c,
30657           src/pic14/gen.c,
30658           device/include/stdbool.h,
30659           support/regression/bool.c,
30660           src/SDCCsymt.c,
30661           src/SDCCast.c:
30662           _Bool support for the pics.
30664 2011-09-19 Raphael Neider <rneider AT web.de>
30666         * device/lib/pic16/libio/adc/adcopen.c:
30667           suppress 'pcfg unused' compiler warning
30669         * device/lib/pic16/Makefile.common
30670           device/non-free/lib/pic16/Makefile.common:
30671           move -Ipath to AM_CPPFLAGS for use by depmod
30673         * device/lib/pic16/configure.ac,
30674           device/non-free/lib/pic16/configure.ac:
30675           add --enable-new-pics switch to build support libs for devices added
30676           to gputils only after the 0.13.7 release; by default, only libs for
30677           devices that are supported in gputils 0.13.7 are built to avoid build
30678           failures
30680         * device/lib/pic16/libio/Makefile.am,
30681           device/non-free/lib/pic16/libdev/Makefile.am:
30682           honor --enable-new-pics switch to include/exclude certain devices
30684         * doc/sdccman.lyx:
30685           document the new configure switch
30687         * device/lib/pic16/Makefile.in,
30688         * device/lib/pic16/aclocal.m4,
30689         * device/lib/pic16/configure,
30690         * device/lib/pic16/debug/Makefile.in,
30691         * device/lib/pic16/libc/Makefile.in,
30692         * device/lib/pic16/libio/Makefile.in,
30693         * device/lib/pic16/libm/Makefile.in,
30694         * device/lib/pic16/libsdcc/Makefile.in,
30695         * device/lib/pic16/startup/Makefile.in,
30696         * device/non-free/lib/pic16/Makefile.in,
30697         * device/non-free/lib/pic16/aclocal.m4,
30698         * device/non-free/lib/pic16/configure,
30699         * device/non-free/lib/pic16/libdev/Makefile.in:
30700           regenerated
30702 2011-09-18 Maarten Brock <sourceforge.brock AT dse.nl>
30704         * src/ds390/gen.c (genFunction),
30705         * src/mcs51/gen.c (genFunction): handle function pointers, fixed bug 3410620
30706         * src/SDCCsymt.c (compareFuncType): check regbank for non-isr,
30707           (dbuf_printTypeChain): print reentrancy, register bank & bankswitching
30708         * src/SDCCsymt.h: removed unused & buggy IFFUNC_RBANK
30709         * support/Util/dbuf.c (dbuf_set_length): auto-init dbuf
30710         * support/regression/tests/bug3410620.c: new, added
30712 2011-09-18 Philipp Klaus Krause <pkk AT spth.de>
30714         * src/SDCCralloc.hpp,
30715           support/regression/tests/bug3410878.c:
30716           Fixed bug #3410878.
30718 2011-09-18 Maarten Brock <sourceforge.brock AT dse.nl>
30720         * src/SDCCast.c (processParms): fixed bugs 3166064 and 3394118
30721         * support/regression/tests/bug3166064.c: new, added
30722         * .version,
30723         * doc/sdccman.lyx: bumped version to 3.0.5
30725 2011-09-15 Maarten Brock <sourceforge.brock AT dse.nl>
30727         * src/SDCCval.c (getNelements): fixed bug 3135551
30728         * support/regression/tests/bug3135551.c: new, added
30729         * src/ds390/gen.c (genInline),
30730         * src/hc08/gen.c (genInline),
30731         * src/mcs51/gen.c (genInline),
30732         * src/pic14/gen.c (genInline),
30733         * src/pic16/gen.c (genInline),
30734         * src/z80/gen.c (genInline),
30735         * support/cpp/c-ppoutput.c (scan_translation_unit),
30736         * support/cpp/libcpp/lex.c (cpp_output_line): replaced character by '\x87'
30738 2011-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
30740         * src/ds390/gen.c (genInline),
30741         * src/hc08/gen.c (genInline),
30742         * src/mcs51/gen.c (genInline),
30743         * src/pic14/gen.c (genInline),
30744         * src/pic16/gen.c (genInline),
30745         * src/z80/gen.c (genInline): convert (0x87) to newline
30746         * support/cpp/libcpp/include/cpplib.h: removed IN_ASM, added ENTER_ASM and
30747           EXIT_ASM
30748         * support/cpp/c-ppoutput.c (scan_translation_unit),
30749         * support/cpp/libcpp/lex.c (_cpp_process_line_notes, _cpp_lex_direct,
30750           cpp_output_token, cpp_output_line): fixed bugs 3407198 and 3407279 by
30751           inserting (0x87) for newlines
30752         * support/regression/tests/bug1505956.c: added tests
30754 2011-09-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30756         * src/z80/gen.c,
30757           support/regression/tests/bug3401973.c:
30758           Fixed bug #3401973.
30760 2011-09-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30762         * src/SDCCopt.c,
30763           support/regression/bug3407632.c:
30764           Fixed bug #3407632.
30766 2011-09-10 Maarten Brock <sourceforge.brock AT dse.nl>
30768         * sdas/linksrc/aslink.h: added pcb & rterr, modified lkglist
30769         * sdas/linksrc/lkarea.c (find_empty_space, allocate_space): changed warnings
30770         * sdas/linksrc/lkdata.c: added pcb & rterr
30771         * sdas/linksrc/lkeval.c (eval, expr, term): no signed arithmetic,
30772           (term): accept closing quotes
30773         * sdas/linksrc/lklist.c: sync with ASxxxx 5
30774         * sdas/linksrc/lkmain.c (link_main): reset a_bytes and hilo to defaults 2,0
30775           fixes bug 3305824
30776         * sdas/linksrc/lkrloc.c (relr): set default pcb
30778 2011-09-09 Borut Razem <borut.razem AT gmail.com>
30780         * support/cpp/md5.h:
30781           included stdint.h for uintptr_t declaration
30783 2011-09-08 Borut Razem <borut.razem AT gmail.com>
30785         * support/cpp/md5.h:
30786           fixed WIN64 warning: cast from pointer to integer of different size
30788 2011-09-07 Borut Razem <borut.razem AT gmail.com>
30790         * support/cpp/version.c: updated version to 4.6.1
30792 2011-09-06 Borut Razem <borut.razem AT gmail.com>
30794         * debugger/mcs51/sdcdb.h, src/SDCCsystem.c, src/pic14/glue.c:
30795           fixed WIN64 warnings: cast from pointer to integer of different size
30796         * src/SDCCsystem.c: fixed WIN64 TRUE and FALSE redefinition
30797         * src/SDCCglobal.c: fixed stack overflow
30799 2011-09-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30801         * src/SDCCralloc.hpp:
30802           Connect unconnected live-ranges instead of just spilling.
30804 2011-09-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30806         * src/z80/gen.c:
30807           Minor cleanup from the stack-compact branch.
30809 2011-09-05 Maarten Brock <sourceforge.brock AT dse.nl>
30811         * device/lib/sincoshf.c: fixed bug 3326853
30813 2011-09-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30815         * support/regression/tests/bug1723128.c: fixed bug 3403038
30817 2011-09-04 Philipp Klaus Krause <pkk AT spth.de>
30819         * src/SDCCsymt.h,
30820           support/regression/tests/bug3404101.c:
30821           Fixed bug #3404101.
30823 2011-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
30825         * Makefile.in: added some dependencies to fix bug 3148465
30826         * src/mcs51/gen.c (gencjneshort,genOr): small optimizations
30827         * src/SDCCicode.h,
30828         * src/SDCCicode.c (operandType): fixed warning
30829         * src/SDCCsymt.h: cosmetics
30830         * src/z80/gen.c: fixed warnings
30831         * support/cpp/sdcpp-opts.c (sdcpp_common_init): return true on success
30833 2011-09-04 Borut Razem <borut.razem AT gmail.com>
30835         * support/scripts/sdcc.nsi: include readline5.dll in 64bit package
30837 2011-09-03 Maarten Brock <sourceforge.brock AT dse.nl>
30839         * support/regression/tests/bug3368945.c,
30840         * support/regression/tests/bug3381400.c,
30841         * support/regression/tests/bug3397636.c: fixed line endings and svn props
30842         * support/regression/tests/bug3401973.c: put large struct in large memory
30843         * support/regression/tests/bug3403429.c: fixed warnings, explained bug
30845 2011-09-03 Philipp Klaus Krause <pkk AT spth.de>
30847         * src/SDCCmain.c:
30848           Basic working z180 port.
30850 2011-09-03 Philipp Klaus Krause <pkk AT spth.de>
30852         * configure.in,
30853           configure,
30854           sdccconf_in.h,
30855           src/SDCCmain.c,
30856           src/SDCCglue.c,
30857           src/SDCCopt.c,
30858           src/port.h,
30859           src/SDCCopt.c,
30860           src/SDCCralloc.hpp,
30861           src/z80/z80.h,
30862           src/z80/main.c,
30863           src/z80/gen.c,
30864           src/z80/ralloc.c:
30865           Basic infrastructure for z180 port.
30867 2011-09-02 Philipp Klaus Krause <pkk AT spth.de>
30869         * tests/bug3403429.c:
30870           Regression test for bug 3403429.
30872 2011-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30874         * src/z80/gen.c:
30875           Use res instead of and to clear sign bit.
30877 2011-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
30879         * device/lib/_fsgt.c,
30880         * device/lib/_fslt.c: test for -0.0
30881         * src/ds390/gen.c (toBoolean),
30882         * src/hc08/gen.c (asmopToBool),
30883         * src/mcs51/gen.c (toBoolean),
30884         * src/z80/gen.c (_toBoolean): ignore sign of float,
30885           (aopDump): disabled unused code
30886         * support/regression/tests/float_single.c: enabled floorf(1.0-0.000001),
30887           added NEG
30888         * support/regression/tests/bug3183823.c: new, added
30890 2011-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30892         * support/regression/tests/bug3401973.c:
30893           Regression test for bug 3401973.
30895 2011-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30897         * support/regression/tests/bug1723128.c:
30898           Disable failing regression test for hc08.
30900 2011-09-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30902         * src/SDCCsymt.c,
30903           src/hc08/gen.c,
30904           src/SDCCast.c,
30905           device/include/stdbool.h:
30906           _Bool / bool for hc08.
30908 2011-09-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30910         * src/SDCCsymt.c,
30911           src/SDCCpeeph.c:
30912           Minor code cleanup.
30914 2011-09-01 Borut Razem <borut.razem AT gmail.com>
30916         * support/scripts/sdcc.nsi:
30917           don't include readline5.dll in 64bit package;
30918           remove libgcc_s_sjlj-1.dll and libstdc++-6.dll on uninstallation;
30919           don't install 64 bit version on 32 bit Windows;
30920           use proper Program Files and registry for 64 bit installation
30921         * support/regression/ports/pic14/spec.mk,
30922           support/regression/ports/pic16/spec.mk,
30923           support/regression/ports/hc08/spec.mk,
30924           support/regression/ports/ds390/spec.mk,
30925           support/regression/ports/ucz80/spec.mk,
30926           support/regression/ports/mcs51-common/spec.mk:
30927           configurable $(WINE)
30929 2011-08-31 Borut Razem <borut.razem AT gmail.com>
30931         * support/scripts/sdcc.nsi: introduced WIN64 for 64bit dlls inclusion
30933 2011-08-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30935         * src/SDCCralloc.hpp:
30936           Construct conflict graph again instead of trusting the one from sdcc.
30938 2011-08-30 Philipp Klaus Krause <pkk AT spth.de>
30940         * device/lib/tancotf.c,
30941           device/lib/acosf.c,
30942           device/lib/sinf.c,
30943           device/lib/asincosf.c,
30944           device/lib/_fsadd.c,
30945           device/lib/asinf.c,
30946           device/lib/printf_large.c,
30947           device/lib/_divulong.c,
30948           device/lib/_atof.c,
30949           device/lib/cotf.c,
30950           device/lib/expf.c,
30951           device/lib/sincosf.c,
30952           device/lib/tanf.c,
30953           device/lib/sincoshf.c,
30954           device/lib/cosf.c:
30955           Use BOOL or _Bool.
30957 2011-08-30 Borut Razem <borut.razem AT gmail.com>
30959         * support/cpp/libcpp/lex.c:
30960           reverted to revision r6084 (before sdcpp 4.6.1 synchronization),
30961           partialy re-synchronized with sdcpp 4.6.1
30962         * support/cpp/libcpp/macro.c: fixed naked hash handling
30963         * support/regression/test/bitfields.c:
30964           fixed a regtest failure on i386 and x86_64 host architectures with
30965           gcc 4.6 by turning off the -O2 optimization
30967 2011-08-29 Borut Razem <borut.razem AT gmail.com>
30969         * support/cpp/libiberty/getpwd.c: reverted; it was committed by mistake
30970         * support/cpp/libcpp/lex.c: disable fast scanner using SSE due to
30971           bug #3400132: fatal error: ../gcc/config/i386/cpuid.h
30973 2011-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
30975         * device/lib/ds390/Makefile.in: added gptr_cmp.rel
30977 2011-08-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30979         * device/include/stdbool.h,
30980           support/regression/tests/bool.c:
30981           Fixed bug #2939485.
30983 2011-08-28 Maarten Brock <sourceforge.brock AT dse.nl>
30985         * device/lib/ds390/gptr_cmp.c: new, added
30986         * src/ds390/gen.c (loadDptrFromOperand): factored out,
30987           (genFarPointerGet, genCodePointerGet, genGenPointerGet, genFarPointerSet,
30988            genGenPointerSet): use loadDptrFromOperand
30989           (genCmp, gencjneshort): fixed generic pointer comparison
30990         * support/regression/tests/genptrs.c: expanded and enabled tests for ds390
30992 2011-08-28 Borut Razem <borut.razem AT gmail.com>
30994         * src/SDCCicode.c:
30995           applied patch #3285611: Workaround gcc 4.6.0 bug with sdcc 3.0.0,
30996           thanks Roy Rankin
30997         * support/cpp/libiberty/concat.c, support/cpp/libiberty/filenames.h,
30998           support/cpp/libiberty/hashtab.c, support/cpp/libiberty/vasprintf.c,
30999           support/cpp/libiberty/xmemdup.c, support/cpp/libiberty/hashtab.h,
31000           support/cpp/libiberty/splay-tree.c, support/cpp/libiberty/lbasename.c,
31001           support/cpp/libiberty/splay-tree.h, support/cpp/libiberty/getpwd.c,
31002           support/cpp/libiberty/fopen_unlocked.c, support/cpp/libcpp/directives.c,
31003           support/cpp/libcpp/macro.c, support/cpp/libcpp/files.c,
31004           support/cpp/libcpp/include/cpplib.h, support/cpp/libcpp/include/symtab.h,
31005           support/cpp/libcpp/include/line-map.h, support/cpp/libcpp/init.c,
31006           support/cpp/libcpp/errors.c, support/cpp/libcpp/expr.c,
31007           support/cpp/libcpp/internal.h, support/cpp/libcpp/lex.c,
31008           support/cpp/libcpp/system.h, support/cpp/libcpp/charset.c,
31009           support/cpp/sdcpp-diagnostic.c, support/cpp/sdcpp.h,
31010           support/cpp/sdcpp-opts.c:
31011           SDCPP synchronized with GCC CPP release version 4.6.1
31013 2011-08-27 Philipp Klaus Krause <pkk AT spth.de>
31015         * src/SDCCsymt.h,
31016           src/SDCCsymt.c,
31017           src/SDCCicode.c,
31018           src/SDCCopt.c,
31019           support/regression/tests/bool.c:
31020           Fixed bug #3031197.
31022 2011-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
31024         * src/mcs51/gen.c,
31025         * src/ds390/gen.c: synced all shift functions
31027 2011-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
31029         * src/mcs51/gen.c: use !tlabeldef and #!constbyte,
31030           merged Push into emitpush,
31031           changed many aopGet(dname=TRUE) to FALSE
31032           (aopForRemat): do not warn for intermediate generic pointers,
31033           (aopPut): use static dbuf_s,
31034           (loadDptrFromOperand): optimized for AOP_DPTR,
31035           (pointToEnd, findLabelBackwards, old adjustArithmeticResult): removed,
31036         * src/mcs51/gen.h: cosmetics
31037         * src/ds390/gen.c: synchronized with mcs51, removed genArrayInit
31038         * src/ds390/gen.h: cosmetics
31039         * src/SDCCcse.c (algebraicOpts CAST): handle generic pointers
31040         * src/SDCCglue.c (aopLiteralLong): handle size=3 for ds390 dptr,
31041           (initPointer): no warning for castable pointers
31042         * src/SDCCicode.c (operandOperation EQ_OP): handle literal pointers,
31043           (getPtrType): removed
31044           (geniCodeCast): removed strange hidden cast after cse fix
31045           (geniCodeAddressOf): removed op->isaddr check for operandFromOperand
31046         * src/z80/gen.c (aopForRemat): synced with mcs51 for CAST,
31047           (regMove): fixed warnings
31048         * support/regression/tests/bug3389647.c: new, added
31050 2011-08-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31052         * src/z80/ralloc2.cc,
31053           support/regression/tests/bug3397636.c:
31054           Fixed bug #3397636.
31056 2011-08-25 Borut Razem <borut.razem AT gmail.com>
31058         * src/pic14/pcodepeep.c, src/pic16/pcodepeep.c:
31059           fixed name clash with mingw_w64: _DLL renamed to DLList
31060         * src/SDCCutil.c: added MINGW64 build environment detection
31061         * debugger/mcs51/simi.c, debugger/mcs51/cmd.c, debugger/mcs51/sdcdb.c,
31062           debugger/mcs51/break.c:
31063           fixed name clash with mingw_w64 objidl.h: undefine DATADIR
31064         * debugger/mcs51/sdcdb.c(escapeQuotes): expand buffer if necessary
31066 2011-08-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31068         * src/z80/gen.c:
31069           Fixed bug #3396441.
31071 2011-08-17 Borut Razem <borut.razem AT gmail.com>
31073         * device/non-free/lib/pic16/libdev/Makefile.in:
31074           regenerated to include support for pic18f2xk22/pic18f4xk22 family
31076 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31078         * doc/sdccman.lyx:
31079           Redid documentation change, in LyX 1.6 format this time.
31081 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31083         * doc/sdccman.lyx:
31084           Reverted documentation change, to avoid LyX version incompability.
31086 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31088         * doc/sdccman.lyx:
31089           Document --reserve-regs-iy option and __smallc calling convention.
31091 2011-08-15 Maarten Brock <sourceforge.brock AT dse.nl>
31093         * src/SDCCast.c(decorateType, EQ_OP NE_OP): fixed floatFromVal bug on big
31094           endian host for pointers
31096 2011-08-14 Borut Razem <borut.razem AT gmail.com>
31098         * src/SDCC.y, src/SDCC.lex, src/pic14/ralloc.c, src/pic16/ralloc.c:
31099           fixed clash with i586-mingw32msvc/include/windef.h
31101 2011-08-12 Maarten Brock <sourceforge.brock AT dse.nl>
31103         * device/lib/mcs51/gptr_cmp.asm: new, added
31104         * device/lib/mcs51/Makefile.in: added gptr_cmp.rel
31105         * src/mcs51/gen.c(aopGet AOP_LIT): fixed generic pointer type
31106           (toBoolean, genCmp, gencjneshort): fixed generic pointer comparison
31107         * src/SDCCast.c(checkPtrCast): no warning for banked function pointers,
31108           (decorateType, EQ_OP NE_OP): optimize ifx(0==op) and null pointers
31109         * src/SDCCglue.c(aopLiteralGptr): added,
31110           (printIvalCharPtr): fixed generic pointers
31111         * support/regression/tests/genptrs.c: new, added
31112         * support/regression/tests/bug3366711.c: fixed warning
31113         * support/regression/tests/inline.c: split #ifdef for readability
31115 2011-08-09 Borut Razem <borut.razem AT gmail.com>
31117         * support/regression/Makefile.in: fixed dependency checking using vpath
31119 2011-08-07 Borut Razem <borut.razem AT gmail.com>
31121         * src/SDCCopt.c: fixed bug #3387421: Incorrect code in revision 6723,
31122           optimize '>' and '>=' also in case when the following instruction
31123           is not IFX
31124         * support/regression/test/compare_2_n.c:
31125           added test cases for bug #3387421 and for 0x0000 and 0xffff
31127 2011-08-06 Borut Razem <borut.razem AT gmail.com>
31129         * doc/Makefile.in: applied patch #3387171:
31130           Binary build fails due to documentation cleanup,
31131           thanks Strobl Anton
31132         * src/SDCCopt.c: further enhancements & fixes of patch #2702889:
31133           added <= and >= optimizations, optimize > only if IFX
31134         * support/regression/test/compare_2_n.c: added test cases without IFX
31136 2011-08-05 Philipp Klaus Krause <pkk AT spth.de>
31138         * src/z80/gen.c,
31139           support/regression/tests/bug3368945.c:
31140           Fixed bug #3386945.
31142 2011-08-05 Philipp Klaus Krause <pkk AT spth.de>
31144         * src/z80/gen.c:
31145           Fixed bitfield unpacking bug #3386784.
31147 2011-08-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31149         * src/z80/peeph-z80.def:
31150           Minor peephole improvements.
31151         * src/z80/gen.c:
31152           Removed incorrect comment regarding arithmetic right shift.
31154 2011-08-04 Philipp Klaus Krause <pkk AT spth.de>
31156         * src/z80/peep.c:
31157           Handle cp, improve accuracy of checking for hl reads in notUsed().
31158         * src/z80/peeph-z80.def:
31159           Minor peephole improvements.
31160         * src/z80/ralloc2.c:
31161           Allow accumulator arguments in bitwise complement.
31163 2011-08-04 Philipp Klaus Krause <pkk AT spth.de>
31165         * src/z80/ralloc2.cc:
31166           Fixed bug #3385978.
31168 2011-08-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31170         * support/regression/tests/bug3381400.c:
31171           Don't try to compile the sfr stuff on host.
31173 2011-08-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31175         * src/z80/gen.c:
31176           Minor improvement in 8-bit by literal multiplication.
31178 2011-08-03 Borut Razem <borut.razem AT gmail.com>
31180         * sdcc development documentation moved from doc to sdcc wiki:
31181         * doc/builtins.txt: removed,
31182           published as Developer Documentation on SDCC wiki at
31183           http://sourceforge.net/apps/trac/sdcc/wiki/Builtins
31184         * doc/macro-sys-design.txt: removed,
31185           published as Developer Documentation on SDCC wiki at
31186           http://sourceforge.net/apps/trac/sdcc/wiki/Macro%20system%20design
31187         * doc/random-notes.txt: removed,
31188           published as Developer Documentation on SDCC wiki at
31189           http://sourceforge.net/apps/trac/sdcc/wiki/Random%20notes%20about%20sdcc%20and%20how%20it%20works
31190         * doc/cdbfileformat.lyx: removed,
31191           published as Developer Documentation on SDCC wiki at
31192           https://sourceforge.net/apps/trac/sdcc/wiki/CDB%20File%20Format
31193         * doc/test_suite_spec.lyx: removed,
31194           published as an Obsolete document on SDCC wiki at
31195           http://sourceforge.net/apps/trac/sdcc/wiki/Proposed%20Test%20Suite%20Design
31196         * doc/avr/avr_design.txt: removed,
31197           published as an Obsolete document on SDCC wiki at
31198           http://sourceforge.net/apps/trac/sdcc/wiki/Design%20Document%20for%20AVR%20Port
31199         * doc/z80/combined_i186_z80_design.tex, doc/z80/*: removed,
31200           published as an Obsolete document on SDCC wiki at
31201           http://sourceforge.net/apps/trac/sdcc/wiki/Combined%20i186/Z80%20backend%20design
31202         * doc/choices.txt: removed,
31203           published as an Obsolete document on SDCC wiki at
31204           http://sourceforge.net/apps/trac/sdcc/wiki/Some%20of%20the%20implementation%20choices
31205         * doc/libdoc.txt: removed,
31206           published as an Obsolete document on SDCC wiki at
31207           http://sourceforge.net/apps/trac/sdcc/wiki/List%20of%20the%20SDCC%20library
31208         * doc/figures/ddd_example.png, doc/figures/ddd_example.eps: removed,
31209           pucure inserted into page "Visually debug for 8051 under Windows using DDD/SDCDB/S51" at
31210           http://sourceforge.net/apps/trac/sdcc/wiki/Visually%20debug%20for%208051%20under%20Windows%20using%20DDD/SDCDB/S51
31212 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31214         * src/z80/gen.c,
31215           src/z80/peeph-z80.def:
31216           Fixed code generation bug in 8-bit multiplication with operands and e (hl).
31218 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31220         * src/z80/peeph-z80.def:
31221           Minor peephole improvement.
31223 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31225         * src/SDCCralloc.hpp:
31226           Fixed SIGSEGV that occured for extremly low values of --max-allocs-per-node.
31228 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31230         * src/z80/gen.c,
31231           support/regression/tests/bug3381400.c:
31232           Fixed bug #3381400.
31234 2011-08-03 Borut Razem <borut.razem AT gmail.com>
31236         * support/regression/Makefile.in,
31237           support/regression/ports/ds390/spec.mk:
31238           added m4 preprocessing of .m4 regtest files
31239         * support/regression/tests/compare_2_n.m4:
31240           adopted for m4 preprocessing, renamed to .m4
31241         * support/regression/m4include/*: added
31243 2011-08-01 Borut Razem <borut.razem AT gmail.com>
31245         * support/regression/tests/inline.c:
31246           excluded failing regression test case on Mac OS X GCC 4.0.1
31248 2011-07-31 Maarten Brock <sourceforge.brock AT dse.nl>
31250         * src/mcs51/gen.c(genEndFunction): added mov PSW removal based on patch
31251           2702889 by Hubert Sack
31252         * src/mcs51/ralloc.c: added findAllBankregs, mcs51_allBankregs
31253         * src/mcs51/ralloc.h: added mcs51_allBankregs
31255 2011-07-30 Maarten Brock <sourceforge.brock AT dse.nl>
31257         * device/lib/_setjmp.c: fixed mcs51 stack-auto and xstack implementations
31258         * src/SDCCopt.c(miscOpt): added my doubts
31259         * support/regression/tests/bug3379723.c: disabled for hc08 which has no sfr
31260         * support/regression/tests/setjmp.c: test only on supported targets
31261         * support/regression/tests/bug3361290.c,
31262         * support/regression/tests/bug3366711.c,
31263         * support/regression/tests/bug3379723.c: set native eolstyle property
31265 2011-07-28 Philipp Klaus Krause <pkk AT spth.de>
31267         * device/include/setjmp.h,
31268           device/lib/z80/Makefile.in,
31269           device/lib/z80/setjmp.s,
31270           support/regression/tests/setjmp.c:
31271           setjmp() and longjmp() for the Z80.
31273 2011-07-28 Philipp Klaus Krause <pkk AT spth.de>
31275         * device/include/setjmp.h,
31276           device/lib/_setjmp.c,
31277           support/regression/tests/setjmp.c:
31278           Fixed some setjmp() / longjmp() bugs.
31279         * support/regression/tests/bug3379723.c:
31280           Do not compile on host.
31282 2011-07-27 Borut Razem <borut.razem AT gmail.com>
31284         * src/SDCCopt.c: fixed bug
31285           #3378933: Regression test compare_2_n.c fails on sparc machines
31286         * support/regression/test/compare_2_n.c:
31287           reenabled bug #3378933 test case
31289 2011-07-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31291         * src/z80/gen.c,
31292           support/regression/tests/bug3379732.c:
31293           Bitwise-op cleanup, fixed bug #3379732.
31295 2011-07-26 Borut Razem <borut.razem AT gmail.com>
31297         * support/regression/test/literalop.c:
31298           disabled failing test on i386 and sparc64 NetBSD gcc 4.1
31299         * support/regression/test/compare_2_n.c:
31300           excluded failing test on NetBSD sparc64 and Solaris sparc machines
31301           for all targets;
31302           see bug #3378933: Regression test compare_2_n.c fails on sparc machines
31304 2011-07-24 Borut Razem <borut.razem AT gmail.com>
31306         * support/regression/test/bitfields.c:
31307           fixed a regtest failure on Solaris i386 host with gcc 4.6
31308           by turning off the -O2 optimization
31309         * support/regression/tests/compare_2_n.c:
31310           added test for unsigned long type
31312 2011-07-23 Borut Razem <borut.razem AT gmail.com>
31314         * debugger/mcs51/acinclude.m4, debugger/mcs51/configure: fix for solaris
31315         * support/regression/test/bitfields.c:
31316           fixed a strange failure on Solaris i386 host with gcc 4.6
31318 2011-07-22 Borut Razem <borut.razem AT gmail.com>
31320         * src/SDCCmem.c, src/SDCCopt.c: applied 2nd and 3rd part of patch
31321           #2702889 - Summary of all uncommitted changes I applied on "my" SDCC
31322           thanks Hubert Sack
31323         * support/regression/tests/compare_2_n.c: added
31325 2011-07-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31327         * src/SDCCmain.c:
31328           Reduce default value for --max-allocs-per-node to reduce compiler runtime.
31330 2011-07-19 Borut Razem <borut.razem AT gmail.com>
31332         * src/z80/gen.c: fixed MSVC 2010 compilation
31334 2011-07-16 Borut Razem <borut.razem AT gmail.com>
31336         * debugger/mcs51/simi.c:
31337           define BSD_COMP on Solaris so that gcc includes <sys/filio.h>
31338           which defines FIONBIO
31340 2011-07-15 Borut Razem <borut.razem AT gmail.com>
31342         * support/regression/tests/bug1665511.c:
31343           fixed host regression test bus error crash on sparc Solaris
31345 2011-07-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31347         * src/z80/gen.c,
31348           src/z80/peeph-z80.def:
31349           Optimized jumptable generation.
31351 2011-07-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31353         * src/SDCCpeep.c:
31354           labelJTInRange() fix, to ensure that jp by jr replacement is correct in jumptables.
31356 2011-07-14 Borut Razem <borut.razem AT gmail.com>
31358         * device/include/pic16/pic18fregs.h,
31359           device/include/pic16/pic16devices.txt,
31360           device/include/pic16/adc.h,
31361           device/lib/pic16/libio/adc/adcsetch.c,
31362           device/lib/pic16/libio/adc/adcopen.c,
31363           device/lib/pic16/libio/adc/adcbusy.c,
31364           device/lib/pic16/libio/Makefile.am,
31365           device/non-free/include/pic16/pic18fam.h,
31366           device/non-free/lib/pic16/libdev/Makefile.am,
31367           device/non-free/lib/pic16/pics.all,
31368           support/scripts/pic18fam-h-gen.pl,
31369           device/non-free/include/pic16/pic18f26k22.h,
31370           device/non-free/include/pic16/pic18f46k22.h,
31371           device/non-free/include/pic16/pic18f23k22.h,
31372           device/non-free/include/pic16/pic18f43k22.h,
31373           device/non-free/include/pic16/pic18f24k22.h,
31374           device/non-free/include/pic16/pic18f44k22.h,
31375           device/non-free/include/pic16/pic18f25k22.h,
31376           device/non-free/include/pic16/pic18f45k22.h,
31377           device/non-free/lib/pic16/libdev/pic18f26k22.c,
31378           device/non-free/lib/pic16/libdev/pic18f46k22.c,
31379           device/non-free/lib/pic16/libdev/pic18f23k22.c,
31380           device/non-free/lib/pic16/libdev/pic18f43k22.c,
31381           device/non-free/lib/pic16/libdev/pic18f24k22.c,
31382           device/non-free/lib/pic16/libdev/pic18f44k22.c,
31383           device/non-free/lib/pic16/libdev/pic18f25k22.c,
31384           device/non-free/lib/pic16/libdev/pic18f45k22.c:
31385           applied patch #3311538 - Add new pic18f2xk22/pic18f4xk22 family,
31386           thanks Strobl Anton
31387         * doc/sdccman.lyx: added support for pic18f2xk22/pic18f4xk22 family
31389 2011-07-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31391         * src/z80/ralloc.c,
31392           support/regression/tests/bug3366711.c:
31393           Fixed bug #3366711.
31395 2011-07-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31397         * src/z80/gen.c:
31398           Refactored register shuffling code, fixing a memcpy() bug.
31400 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31402         * src/SDCCpeeph.c,
31403           support/regression/tests/bug3361290.c:
31404           Fixed bug #3361290.
31406 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31408         * src/z80/gen.c:
31409           Fixed bug #3361280.
31411 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31413         * device/include/string.h,
31414           device/lib/strxfrm.c,
31415           device/lib/incl.mk:
31416           Added missing strxfrm() and strcoll() functions.
31418 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31420         * src/SDCCast.c:
31421           Fixed bug #3107180.
31423 2011-06-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31425         * src/z80/peeph-z80.def:
31426           Peephole typo.
31428 2011-06-29 Philipp Klaus Krause <pkk@spth.de>
31430         * src/SDCCpeeph.c:
31431           Character and string handling in C sucks.
31433 2011-06-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31435         * src/z80/peeph-z80.def:
31436           Minor peephole improvement.
31438 2011-06-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31440         * src/SDCCpeeph.c:
31441           Improve accuracy of label reference counting.
31443 2011-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31445         * src/SDCCpeeph.c,
31446           src/z80/peeph-z80.def:
31447           Fixed #2970351, reenabling basic tail-call optimization.
31449 2011-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31451         * src/z80/mappings.i,
31452           src/z80/main.c,
31453           src/z80/gen.c,
31454           src/z80/ralloc2.cc:
31455           Fix --fomit-frame-pointer for z80.
31457 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31459         * src/z80/peeph-z80.def:
31460           Minor peephole improvement.
31462 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31464         * src/z80/peeph-z80.def:
31465           Peephole renumbering.
31467 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31469         * src/z80/peeph-z80.def:
31470           Remove unused (sdcc lib, regr. tests, contiki OS, libcv, my own programs) peepholes.
31472 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31474         * src/SDCCmain.c:
31475           Fixed #3324913.
31477 2011-06-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31479         * src/z80/gen.c:
31480           Fixed broken use of large return values.
31482 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31484         * src/z80/gen.c:
31485           Restore RFE #3284870, which was lost during the optralloc merge.
31487 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31489         * src/z80/ralloc2.cc:
31490           Disallow use of h or l operand in addition when result in true symop.
31492 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31494         * src/z80/ralloc.h,
31495           src/z80/ralloc.c,
31496           src/z80/ralloc2.cc,
31497           src/SDCCralloc.hpp,
31498           src/SDCClabel.c:
31499           Fixed bug #3325223.
31501 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31503         * src/SDCCMain.c:
31504           Disable labelIfx() optimization when using --nolabelopt.
31506 2011-06-22 Maarten Brock <sourceforge.brock AT dse.nl>
31508         * src/ds390/ralloc.c(packRegsDPTRnuse): fixed bug 1665511
31509         * support/regression/tests/bug1665511.c: new, added
31511 2011-06-19 Borut Razem <borut.razem AT gmail.com>
31513         * doc/sdccman.lyx: fixed bug #3322383 - Spelling mistakes
31514         * .version, doc/sdccman.lyx: changed sdcc version to 3.0.4
31516 2011-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
31518         * support/regression/tests/bug1962613.c: fixed clash with Bessel functions
31519         * support/regression/tests/strtok.c: disabled test for GCC on Solaris
31521 2011-06-15 Philipp Klaus Krause <pkk AT spth.de>
31523         * sim/ucsim/z80.src/inst_xd.cc:
31524           Fixed bug #3315215.
31526 2011-06-11 Philipp Klaus Krause <pkk AT spth.de>
31528         * src/SDCCmain.c,
31529           src/z80/gen.c:
31530           Fixed bug #3315124.
31532 2011-06-11 Maarten Brock <sourceforge.brock AT dse.nl>
31534         * support/regression/tests/bug3299577.c: fixed warnings
31535         * support/regression/tests/abs.c,
31536           support/regression/tests/bool.c,
31537           support/regression/tests/bug-1292721.c,
31538           support/regression/tests/bug-2646174.c,
31539           support/regression/tests/bug-2890326.c,
31540           support/regression/tests/bug-2982135.c,
31541           support/regression/tests/bug-3034585.c,
31542           support/regression/tests/bug-3117729.c,
31543           support/regression/tests/bug-3184920.c,
31544           support/regression/tests/bug1477149.c,
31545           support/regression/tests/bug1536762.c,
31546           support/regression/tests/bug1838000.c,
31547           support/regression/tests/bug2084206.c,
31548           support/regression/tests/bug2729218.c,
31549           support/regression/tests/bug2862650.c,
31550           support/regression/tests/bug3029630.c,
31551           support/regression/tests/bug3130806.c,
31552           support/regression/tests/bug3166208.c,
31553           support/regression/tests/bug3303325.c,
31554           support/regression/tests/bugs-1596270-1736867.c,
31555           support/regression/tests/interrupt.c,
31556           support/regression/tests/memory.c,
31557           support/regression/tests/strcmp.c,
31558           support/regression/tests/strcpy.c,
31559           support/regression/tests/strncmp.c,
31560           support/regression/tests/strpbrk.c,
31561           support/regression/tests/strspn.c: changed svn eol-style
31563 2011-06-10 Philipp Klaus Krause <pkk AT spth.de>
31565         * Merge the optralloc branch.
31567 2011-06-10 Philipp Klaus Krause <pkk AT spth.de>
31569         * src/z80/gen.c:
31570           Fixed register-assignment-related multiplication bug.
31572 2011-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
31574         * src/SDCCcse.c(cseBBlock): fixed the fix
31576 2011-06-09 Philipp Klaus Krause <pkk AT spth.de>
31578         * src/SDCC.lex,
31579           src/SDCC.y,
31580           src/SDCCsymt.h,
31581           src/SDCCopt.c:
31582           Rename __optlink to __smallc.
31584 2011-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
31586         * src/SDCCcse.c(cseBBlock): fixed cse bug 2729218 reading pointer for result
31587         * src/SDCCdflow.c: cosmetics
31588         * src/SDCCicode.c(operandOperation): fixed fatal error for literal pointer
31589         * src/SDCCmain.c(linkEdit): only use -M for mcs51 and ds390
31590         * src/SDCCopt.c: fixed warnings
31591         * src/SDCCval.c(floatFromVal, ulFromVal): handle structs
31592         * support/regression/tests/bug2729218.c: new, added
31593         * src/SDCCcse.c(cseBBlock): fixed the fix
31595 2011-06-08 Philipp Klaus Krause <pkk AT spth.de>
31597         * Merge from trunk.
31599 2011-06-05 Philipp Klaus Krause <pkk AT spth.de>
31601         * src/SDCCralloc.hpp,
31602           src/z80/gen.c:
31603           Ensure that SEND iCodes, except for the first in each chain are deactivated for cost function calculation.
31605 2011-06-05 Philipp Klaus Krause <pkk AT spth.de>
31607         * src/z80/gen.c:
31608           Fixed use of arbitrary register combinations as return value.
31610 2011-06-01 Philipp Klaus Krause <pkk AT spth.de>
31612         * src/z80/ralloc2.cc,
31613           src/z80/gen.c,
31614           src/z80/gen.h:
31615           Emit info about the register assignment being optimal when using --fverbose-asm.
31617 2011-05-27 Philipp Klaus Krause <pkk AT spth.de>
31619         * Merge from trunk.
31621 2011-05-27 Philipp Klaus Krause <pkk AT spth.de>
31623         * src/SDCCtree_dec.hpp,
31624           src/z80/ralloc2.cc:
31625           Workarounds for compiler warnings.
31627 2011-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
31629         * src/hc08/main.c(hc08_dwarfRegNum): fixed interface
31630         * src/mcs51/gen.c: fixed MSVC errors by changing snprintf to SNPRINTF
31631         * src/port.h: fixed regNum and getRegName function pointer definitions
31632         * src/z80/gen.c(genJumpTab): fixed warning
31634 2011-05-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31636         * src/z80/gen.c:
31637           Workarounds for compiler warnings.
31639 2011-05-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31641         * Merge from trunk.
31643 2011-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31645         * src/SDCCicode.c,
31646           src/z80/gen.c,
31647           src/z80/ralloc2.cc:
31648           Exact cost for builtin function calls.
31650 2011-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31652         * src/SDCCtree_dec.hpp,
31653           src/SDCCralloc.hpp,
31654           src/z80/ralloc2.cc:
31655           Fixed bug in Thorup heuristic, that resulted in much higher width of tree-decomposition.
31657 2011-05-21 Philipp Klaus Krause <pkk AT spth.de>
31659         * Merge from trunk.
31661 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31663         * src/z80/gen.c:
31664           Remove unnecessary statement, debug message cleanup.
31666 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31668         * src/SDCCtree_dec.hpp,
31669           src/SDCCralloc.hpp,
31670           src/z80/rallo2.cc:
31671           Debug message cleanup.
31673 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31675         * src/z80/gen.c:
31676           Ported reorganization of cast to bool from trunk.
31678 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31680         * Merge from trunk.
31682 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31684         * src/z80/gen.c,
31685           support/regression/tests/bug3303325.c:
31686           Merge from trunk: Fixed bug #3303325.
31688 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31690         * src/z80/gen.c:
31691           Code cleanup wrt. temporary labels.
31693 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31695         * configure.in:
31696           Give an error when boost is not detected.
31698 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31700         * Merge from trunk.
31702 2011-05-16 Philipp Klaus Krause <pkk@spth.de>
31704         * src/z80/gen.c:
31705           Fixed crash when running on cygwin.
31707 2011-05-15 Philipp Klaus Krause <pkk@spth.de>
31709         * Merge from trunk.
31711 2011-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
31713         * sdas/linksrc/aslink.vcxproj,
31714         * sdas/linksrc/aslink.vcxproj.filters: added lkbank.c
31715         * src/z80/ralloc.c: moved z80_init_asmops prototype
31717 2011-05-13 Philipp Klaus Krause <pkk@spth.de>
31719         * Merge from trunk.
31721 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31723         * src/SDCCralloc.hpp,
31724           configure.in:
31725           Make STX library optional and detect it in configure script.
31727 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31729         * src/z80/gen.c:
31730           Minor code cleanup and cost function accuracy improvement.
31732 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31734         * Merge from trunk.
31736 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31738         * src/z80/peeph-z80.def:
31739           Fixed some bit-manipulation peepholes for immediate operands.
31740         * src/z80/gen.c:
31741           Fixed operand loading in complement.
31743 2011-05-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31745         * Merge from trunk.
31747 2011-05-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31749         * src/z80/z80.h,
31750           src/z80/main.c,
31751           src/z80/ralloc.c:
31752           Reintegrated old register allocator (option --oldralloc).
31754 2011-05-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31756         * src/SDCCralloc.hpp,
31757           src/z80/ralloc2.cc:
31758           Handle the check for result bytes overwriting operand bytes in the conflict graph instead of the cost function.
31760 2011-05-08 Philipp Klaus Krause <pkk@spth.de>
31762         * src/z80/ralloc2.cc
31763           Fixed over-eager early HLinst_OK() use.
31765 2011-05-08 Philipp Klaus Krause <pkk@spth.de>
31767         * Merge from trunk.
31769 2011-05-06 Philipp Klaus Krause <pkk@spth.de>
31771         * src/z80/gen.c:
31772           Remove some leftover debug stuff.
31773         * src/z80/peeph-z80.def:
31774           Generalize optimization of bit setting and resetting.
31776 2011-05-06 Philipp Klaus Krause <pkk@spth.de>
31778         * Merge everything except src/z80/gen.c from trunk,
31779           but mark gen.c as merged, so that further changes in gen.c
31780           will be merged.
31782 2011-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31784         * src/SDCCralloc.hpp,
31785           src/z80/ralloc2.cc
31786           Improved performance, reduced memory usage.
31788 2011-05-02 Borut Razem <borut.razem AT gmail.com>
31790         * configure.in, configure:
31791           don't use "-pipe" on x86 Solaris g++, since src/z80/ralloc2.cc dies
31793 2011-04-29 Philipp Klaus Krause <pkk@spth.de>
31795         * Merge everything except src/z80/gen.c from trunk.
31797 2011-04-29 Philipp Klaus Krause <pkk@spth.de>
31799         * src/SDCCralloc.hpp,
31800           src/z80/ralloc2.cc
31801           Some performance improvements.
31803 2011-04-25 Philipp Klaus Krause <pkk@spth.de>
31805         * Merge everything except src/z80/gen.c from trunk.
31807 2011-04-25 Maarten Brock <sourceforge.brock AT dse.nl>
31809         * debugger/mcs51/cmd.c,
31810         * debugger/mcs51/symtab.c,
31811         * src/z80/ralloc2.cc: fixed some warnings
31812         * sdas/linksrc/aslink.vcxproj,
31813         * sdas/linksrc/aslink.vcxproj.filters: added lksdcdb.c
31814         * src/src.vcxproj,
31815         * src/src.vcxproj.filters,
31816         * sdcc.sln: added dependencies on config, removed avr & xa51
31817         * sdcc_vc_in.h: set OPT_DISABLE_AVR & OPT_DISABLE_XA51
31818         * src/pic14/ralloc.h: fixed rename of struct regs to reg_info
31819         * src/z80/gen.c: replaced true/false with TRUE/FALSE
31821 2011-04-21 Philipp Klaus Krause <pkk@spth.de>
31823         * src/SDCCdebug.h,
31824           src/mcs51/gen.c,
31825           src/mcs51/ralloc.c,
31826           src/mcs51/gen.h,
31827           src/mcs51/ralloc.h,
31828           src/mcs51/main.c,
31829           src/mcs51/rtrack.c,
31830           src/SDCCsymt.h,
31831           src/SDCCdwarf2.c,
31832           src/port.h,
31833           src/pic14/pcode.h,
31834           src/pic14/pcodepeep.c,
31835           src/pic14/pcoderegs.c,
31836           src/pic14/ralloc.c,
31837           src/pic14/gen.h,
31838           src/pic14/ralloc.h,
31839           src/pic14/main.c,
31840           src/pic14/pcode.c,
31841           src/pic14/glue.c,
31842           src/z80/ralloc.c,
31843           src/z80/gen.h,
31844           src/z80/ralloc.h,
31845           src/z80/main.c,
31846           src/pic16/pcode.h,
31847           src/pic16/device.c,
31848           src/pic16/device.h,
31849           src/pic16/gen.c,
31850           src/pic16/pcoderegs.c,
31851           src/pic16/ralloc.c,
31852           src/pic16/gen.h,
31853           src/pic16/ralloc.h,
31854           src/pic16/main.c,
31855           src/pic16/main.h,
31856           src/pic16/pcode.c,
31857           src/pic16/glue.c,
31858           src/hc08/gen.h,
31859           src/hc08/ralloc.h,
31860           src/hc08/main.c,
31861           src/hc08/gen.c,
31862           src/hc08/ralloc.c,
31863           src/ds390/gen.h,
31864           src/ds390/ralloc.h,
31865           src/ds390/main.c,
31866           src/ds390/gen.c,
31867           src/ds390/ralloc.c,
31868           src/cdbFile.c:
31869           Renamed regs struct to reg_info, since g++ pollutes the global namespace with "regs" on OpenSolaris, even when using --std=c++98.
31871 2011-04-21 Philipp Klaus Krause <pkk@spth.de>
31873         * Merge everything except src/z80/gen.c from trunk.
31875 2011-04-20 Philipp Klaus Krause <pkk@spth.de>
31877         * src/z80/gen.c:
31878           Fixed bug in assignments to bitfields of size < 8.
31880 2011-04-20 Philipp Klaus Krause <pkk@spth.de>
31882         * src/SDCCralloc.hpp:
31883           Allow extremly low values of --max-allocs-per-node.
31885 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31887         * src/z80/gen.c:
31888           Make some cheapMove()s for more optimization potential (moving some optimizations from the peephole optimizer to code generation, where they can be seen by the cost function).
31890 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31892         * src/z80/peeph-z80.def:
31893           Added some peephole rules to better optimize shifting and dead loads.
31895 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31897         * Merge everything except src/z80/gen.c from trunk.
31899 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31901         * src/z80/gen.c:
31902           Fixed result assignment bug in addition.
31904 2011-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31906         * src/z80/gen.c,
31907           src/z80/ralloc.c,
31908           src/z80/main.c,
31909           src/z80/z80.h:
31910           Added --optralloc-remat option for handling rematerialization in the new allocator,
31911           fixed cost function bug when reading beyond the size of operands,
31912           removed option for the use of an exact cost function and made the exact cost function the default,
31913           improved code generation for addition.
31915 2011-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31917         * src/z80/gen.c:
31918           Fixed a bug triggered by assigning rematerializeable variables to register A or IY.
31920 2011-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31922         * Merge everything except src/z80/gen.c from trunk.
31924 2011-04-17 Philipp Klaus Krause <pkk AT spth.de>
31926         * src/z80/gen.c:
31927           Fixed bug in bitfield reading that occoured when reading from (HL) and writing the result to L.
31929 2011-04-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31931         * Merge everything except src/z80/gen.c from trunk.
31933 2011-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31935         * Merge everything except src/z80/gen.c from trunk.
31937 2011-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31939         * src/z80/gen.c:
31940           Some optimizations for using a pointer to a bitfield in iy,
31941           improve pushing of 4-byte parameters.
31943 2011-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31945         * src/z80/gen.c:
31946           Fixed genAssign to be able to handle arbitrary register-to-register assignments.
31948 2011-04-11 Philipp Klaus Krause <pkk AT spth.de>
31950         * src/z80/gen.c:
31951           Fixed another genPointerGet() bug.
31953 2011-04-10 Borut Razem <borut.razem AT gmail.com>
31955         * src/z80/gen.c: dbuf-ized
31956         * src/SDCCglobl.h: sync with trunk
31958 2011-04-10 Philipp Klaus Krause <pkk AT spth.de>
31960         * src/z80/gen.c:
31961           Cleaned up some leftover debug messages,
31962           fixed assignment of lh to hl,
31963           implemented exact cost for EXSTK to SFR assignment,
31964           fixed genPointerGet() bug that made simplefloat regression tests fail.
31966 2011-04-09 Philipp Klaus Krause <pkk AT spth.de>
31968         * src/z80/gen.c:
31969           Added warning in commitPair() for lh to hl assignment.
31971 2011-04-09 Philipp Klaus Krause <pkk AT spth.de>
31973         * src/z80/gen.c:
31974           Fixed bug that could result in slightly wrong cost function.
31976 2011-04-09 Borut Razem <borut.razem AT gmail.com>
31978         * Merge from trunk
31979         * support/regression/tests/bug3166208.c: sync with trunk
31981 2011-04-09 Borut Razem <borut.razem AT gmail.com>
31983         * src/z80/gen.c, src/z80/ralloc2.cc:
31984           changed with the Philipp's version from his private
31985           sdcc-or-2011-4-8 branch; fixed MSVC 2010 compilation
31986         * src/SDCCicode.c: dbuf_detach() replaced with dbuf_destroy()
31987         * support/regression/ports/ucz80/spec.mk:
31988           added --optralloc-exact-cost to SDCCFLAGS
31990 2011-04-09 Borut Razem <borut.razem AT gmail.com>
31992         * sim/ucsim/cmd.src/cmdpars.y: removed warnings
31993         * support/regression/tests/logic.c, src/SDCCpeeph.c, src/SDCCasm.c,
31994           src/SDCCicode.c, src/SDCCglobl.h, src/SDCCsystem.c:
31995           sync with optralloc branch
31997 2011-04-08 Philipp Klaus Krause <pkk AT spth.de>
31999         * src/z80/ralloc.c:
32000           Fixed bug that allowed old register allocator to use IY even when the new one does, too,
32001           which led to conflicts in the assignment.
32003 2011-04-07 Philipp Klaus Krause <pkk AT spth.de>
32005         * src/port.h,
32006           src/SDCCpeeph.c,
32007           src/z80/main.c,
32008           src/z80/peep.h,
32009           src/z80/peep.c,
32010           src/z80/peeph-z80.def:
32011           Added new peephole function notUsedFrom() to check for variable uses starting from label,
32012           added it as condition in peepholes where appropriate, modified notUsed()
32013           peephole function to not rely on first argument being constant or %1.
32015 2011-04-07 Philipp Klaus Krause <pkk AT spth.de>
32017         * src/z80/gen.c:
32018           Fixed SIGSEGV crash due to incorrect register pair cache spilling.
32020 2011-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
32022         * device/lib/mcs51/Makefile.in,
32023         * device/lib/mcs51/crtxpopbits.asm, device/lib/mcs51/crtxpopr0.asm: renamed
32024         * device/lib/mcs51/crtxpop.asm,
32025         * device/lib/mcs51/crtxpush.asm,
32026         * device/lib/mcs51/crtxpushr0.asm,
32027         * src/mcs51/gen.c (xstackRegisters, saveRegisters, unsaveRegisters,
32028           genSend): fixed for new register order
32030 2011-04-06 Philipp Klaus Krause <pkk AT spth.de>
32032         * src/z80/peep.c:
32033           Give warning instead of crashing when failing to parse ex line node.
32035 2011-04-05 Borut Razem <borut.razem AT gmail.com>
32037         * src/src.vcxproj, src/src.vcxproj.filters, src/z80/gen.c:
32038           fixed MSVC 2010 compilation
32039         * src/SDCCasm.c, src/SDCCasm.h:
32040           removed tsprintf(), dbuf_tprintf() is used instead
32041         * src/z80/gen.c: fixed bug in fetchLitPair()
32043 2011-04-05 Philipp Klaus Krause <pkk AT spth.de>
32045         * src/z80/ralloc2.cc:
32046           Avoid assignments where the result overwrites operands in some unary operations.
32047         * src/z80/gen.c:
32048           Avoid unnecessary saving of iy in builtin memcpy().
32050 2011-04-05 Philipp Klaus Krause <pkk AT spth.de>
32052         * src/z80/ralloc2.cc:
32053           Avoid assignments where the result overwrites operands in subtraction, addition, bitwise and, xor;
32054           get correct cost for bitwise or.
32055         * src/z80/gen.c:
32056           Remove workaround for result overwritings operands in addition; fixed commitPair() for swapped bytes in target.
32058 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32060         * src/z80/gen.c:
32061           Fixed broken or when result is sfr.
32062         * src/z80/peeph-z80.def:
32063           Fixed broken peephole for combining additions next to pushes.
32065 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32067         * src/z80/ralloc2.cc,
32068           src/z80/gen.c:
32069           Allow iy as operand to left shift and decrement.
32071 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32073         * src/z80/ralloc2.cc:
32074           Fixed broken caching of values in hl during pointer assignment.
32076 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32078         * src/z80/ralloc2.cc:
32079           Do not allocate operands to hl when the code generator will use (hl) for the result in addition.
32081 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32083         * src/z80/gen.c:
32084           Fix for restoring of register iy when other register pairs are restored as well.
32086 2011-03-31 Philipp Klaus Krause <pkk AT spth.de>
32088         * src/z80/peeph-z80.def:
32089           Fix peephole 76' so it doesn't overwrite accumulator during multibyte addition.
32091 2011-03-31 Philipp Klaus Krause <pkk AT spth.de>
32093         * src/z80/gen.c:
32094           Fix for genPointerGet when result is lh.
32096 2011-03-31 Philipp Klaus Krause <pkk AT spth.de>
32098         * src/z80/gen.c:
32099           Fix for addition with literal when right operand is partially in hl.
32101 2011-03-31 Maarten Brock <sourceforge.brock AT dse.nl>
32103         * src/mcs51/ralloc.c (regs8051, serialRegAssign),
32104         * src/mcs51/ralloc.h: prefer to use adjacent ascending registers
32106 2011-03-30 Maarten Brock <sourceforge.brock AT dse.nl>
32108         * sdas/linksrc/lklex.c,
32109         * src/SDCCast.c: small fixes
32111 2011-03-29 Borut Razem <borut.razem AT gmail.com>
32113         * Partially merge from trunk
32115 2011-03-29 Philipp Klaus Krause <pkk AT spth.de>
32117         * src/z80/z80.h,
32118           src/z80/gen.c,
32119           src/z80/ralloc2.cc,
32120           src/z80/peeph-z80.def:
32121           Handle IY in the new allocator.
32123 2011-03-28 Philipp Klaus Krause <pkk AT spth.de>
32125         * src/SDCCralloc.hpp,
32126           src/z80/ralloc2.cc,
32127           src/z80/gen.c,
32128           src/z80/ralloc.c,
32129           src/z80/z80.h:
32130           Preparations for handling IY in the new allocator.
32132 2011-03-28 Philipp Klaus Krause <pkk AT spth.de>
32134         * src/z80/ralloc2.cc,
32135           src/z80/gen.c,
32136           src/z80/ralloc.c,
32137           Fixes for the exact cost function.
32139 2011-03-28 Maarten Brock <sourceforge.brock AT dse.nl>
32141         * sdas/linksrc/lklex.c,
32142         * src/SDCCast.c: small fixes
32144 2011-03-28 Borut Razem <borut.razem AT gmail.com>
32146         * src/z80/gen.c: fixed bug, introduced during code cleaning
32148 2011-03-28 Philipp Klaus Krause <pkk AT spth.de>
32150         * src/SDCCerr.c,
32151           src/SDCCerr.h,
32152           src/SDCCval.c,
32153           src/SDCCval.h,
32154           src/SDCC.y,
32155           src/SDCCglue.c,
32156           src/pic14/glue.c,
32157           src/pic16/glue.c,
32158           src/SDCCast.c:
32159           Support for designated initializers, thanks C. Scott and R. Quattlebaum.
32161 2011-03-27 Maarten Brock <sourceforge.brock AT dse.nl>
32163         * sdas/as6808/m08mch.c,  sdas/as6808/m08pst.c,
32164         * sdas/as8051/i51mch.c,  sdas/as8051/i51pst.c,
32165         * sdas/asgb/gbmch.c,     sdas/asgb/gbpst.c,
32166         * sdas/asz80/z80mch.c,   sdas/asz80/z80pst.c,
32167         * sdas/asxxsrc/asdata.c, sdas/asxxsrc/asexpr.c,
32168         * sdas/asxxsrc/aslist.c, sdas/asxxsrc/asmain.c,
32169         * sdas/asxxsrc/asout.c,  sdas/asxxsrc/asxxxx.h,
32170         * sdas/linksrc/aslink.h, sdas/linksrc/lkaomf51.c,
32171         * sdas/linksrc/lkar.c,   sdas/linksrc/lkarea.c,
32172         * sdas/linksrc/lkdata.c, sdas/linksrc/lkelf.c,
32173         * sdas/linksrc/lkeval.c, sdas/linksrc/lkhead.c,
32174         * sdas/linksrc/lkihx.c,  sdas/linksrc/lklex.c,
32175         * sdas/linksrc/lklib.c,  sdas/linksrc/lklibr.c,
32176         * sdas/linksrc/lklist.c, sdas/linksrc/lkmain.c,
32177         * sdas/linksrc/lkmem.c,  sdas/linksrc/lkrloc.c,
32178         * sdas/linksrc/lksym.c,  sdas/linksrc/lksdcclib.c: first steps towards ASxxxx 5
32180 2011-03-27 Borut Razem <borut.razem AT gmail.com>
32182         * src/z80/main.c, src/z80/gen.c, src/z80/gen.h,
32183           src/z80/ralloc.c, src/z80/ralloc.h,
32184           src/mcs51/gen.c, src/ds390/gen.c:
32185           dbuf-ized, get rid of global buffer, code cleaning
32186         * src/SDCCasm.c, src/SDCCasm.h:
32187           removed tsprintf()
32188         * support/Util/dbuf.c, support/Util/dbuf.h:
32189           added dbuf_is_initialized()
32191 2011-03-26 Borut Razem <borut.razem AT gmail.com>
32193         * src/mcs51/gen.c, src/mcs51/gen.h,
32194           src/mcs51/ralloc.c, src/mcs51/ralloc.h,
32195           src/ds390/gen.c, src/ds390/ralloc.c:
32196           dbuf-ized, get rid of global buffer, code cleaning
32198 2011-05-26 Philipp Klaus Krause <pkk AT spth.de>
32200         * src/SDCCcse.c (boolCast):
32201           Fully reenabled boolCast, and fixed my stupid typo that triggered bug 3223041.
32203 2011-03-25 Maarten Brock <sourceforge.brock AT dse.nl>
32205         * src/hc08/gen.c: cosmetics
32206         * src/hc08/ralloc.c (packRegsForAssign): fixed bug 1477149 & SINHF,
32207           throughout synced with mcs51/ralloc.c
32208         * support/regression/tests/float_single.c: enabled SINHF
32210 2011-03-25 Philipp Klaus Krause <pkk AT spth.de>
32212         * src/SDCCcse.c (boolCast, cseBBlock):
32213           Reenabled boolCast except for the one case that triggers bug 3223041.
32215 2011-03-24 Philipp Klaus Krause <pkk AT spth.de>
32217         * src/z80/ralloc.c,
32218           src/z80/gen.c,
32219           src/z80/ralloc2.cc:
32220           gbz80 fixes.
32222 2011-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
32224         * src/SDCCsymt.h: added IS_BOOLEAN
32225         * src/SDCCast.c (getResultTypeFromType),
32226         * src/SDCCicode.c (geniCodeLogic, geniCodeLogicAndOr, ast2iCode),
32227         * src/SDCCsymt.c (computeTypeOr, computeType, compareType),
32228         * src/SDCCval.c (checkConstantRange): use IS_BOOLEAN
32229         * src/SDCCcse.c (boolCast, cseBBlock): disabled boolCast fixed bug 3223041
32230         * src/z80/gen.c (_toBoolean): added parameter needflag,
32231           (_castBoolean, genCast): castBoolean factored out of genCast
32232         * support/regression/tests/bug3223041.c: modified for hc08 without _Bool
32234 2011-03-24 Borut Razem <borut.razem AT gmail.com>
32236         * src/SDCCglue.c, src/ds390/gen.c, src/ds390/gen.h,
32237           src/ds390/ralloc.c, src/ds390/ralloc.h, src/SDCCptropt.c,
32238           src/SDCCptropt.h, src/SDCCicode.c, src/SDCCicode.h:
32239           dbuf-ized, get rid of global buffer, code cleaning,
32240           use dbuf_tprintf() instead of tsprintf()
32242 2011-03-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32244         * src/SDCCralloc.hpp,
32245           src/SDCCicode.h,
32246           src/z80/ralloc2.cc:
32247           Make sdcc the best compiler for the Z80.
32249 2011-03-22 Philipp Klaus Krause <pkk AT spth.de>
32251         * src/z80/gen.c:
32252           sfr fixes for accurate cost function.
32254 2011-03-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32256         * src/z80/gen.c,
32257           src/SDCCralloc.hpp,
32258           src/z80/ralloc2.cc:
32259           Code reorganization for a more accurate cost function.
32262 2011-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
32264         * support/regression/ports/ds390/spec.mk,
32265         * support/regression/ports/hc08/spec.mk,
32266         * support/regression/ports/ucz80/spec.mk: fixed output
32268 2011-03-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32270         * src/z80/ralloc2.cc,
32271           src/z80/gen.c:
32272           Code reorganization for a more accurate cost function.
32274 2011-03-21 Borut Razem <borut.razem AT gmail.com>
32276         * src/SDCCmacro.c: fixed bug, introduced 2011-03-20:
32277           call dbuf_vprintf() instead dbuf_printf() in mvsprintf()
32279 2011-03-21 Maarten Brock <sourceforge.brock AT dse.nl>
32281         * src/ds390/gen.c (genRet): forgot the _endLazyDPSEvaluation
32282         * support/regression/compact-results.py: new, added
32283         * support/regression/Makefile.in: print test name and compact results after
32284           running the test for better progress insight with make -j
32286 2011-03-21 Borut Razem <borut.razem AT gmail.com>
32288         * src/SDCCval.c, src/SDCCval.h, src/SDCCast.c: dbuf-ized
32290 2011-03-20 Philipp Klaus Krause <pkk AT spth.de>
32292         * src/SDCCralloc.hpp,
32293           src/z80/z80.h,
32294           src/z80/ralloc2.cc,
32295           src/z80/gen.c:
32296           Code reorganization for a more accurate cost function.
32298 2011-03-20 Philipp Klaus Krause <pkk AT spth.de>
32300         * src/z80/z80.h,
32301           src/z80/main.c:
32302           Register allocator option cleanup.
32304 2011-03-20 Borut Razem <borut.razem AT gmail.com>
32306         * src/SDCCicode.c, src/SDCCicode.h, src/SDCCsymt.c, src/SDCCsymt.h,
32307           src/port.h, src/SDCCast.c, src/SDCCast.h, src/SDCCBBlock.c,
32308           src/SDCCBBlock.h, src/z80/main.c, src/pic16/main.c:
32309           dbuf-ized, get rid of global buffer, code cleaning
32310         * src/SDCCmacro.c, src/SDCCmain.c, support/Util/NewAlloc.c,
32311           support/Util/newalloc.h: introduced Safe_strndup()
32313 2011-03-20 Maarten Brock <sourceforge.brock AT dse.nl>
32315         * src/ds390/gen.c (movc, toCarry): replaced movc with toCarry,
32316           (genNot, genSend, genRet): used toCarry,
32317           (genAnd, genOr, genXor): fixed bug 3223041
32318         * src/mcs51/gen.c (toCarry): handle IS_OP_ACCUSE,
32319           (genCmpEq, genAnd, genOr, genXor): fixed bug 3223041
32320         * support/regression/tests/bug3223041.c: new, added
32322 2011-03-20 Borut Razem <borut.razem AT gmail.com>
32324         * src/SDCCmain.c, src/SDCCmacro.c, src/SDCCmacro.h, src/SDCCutil.c,
32325           src/SDCCutil.h: dbuf-ized SDCCmacro.c
32326         * src/SDCCutil.c, src/SDCCutil.h, src/SDCCmain.c, src/ds390/main.c, src/z80/main.c:
32327           dbuf-ized buildCmdLine(), moved to SDCCutil
32328         * src/SDCCbuild_cmd.[ch]: deleted
32330 2011-03-20 Borut Razem <borut.razem AT gmail.com>
32332         * src/SDCCmain.c, src/SDCCmacro.c, src/SDCCmacro.h, src/SDCCutil.c,
32333           src/SDCCutil.h: dbuf-ized SDCCmacro.c
32334         * src/SDCCutil.c, src/SDCCutil.h, src/SDCCmain.c, src/ds390/main.c, src/z80/main.c:
32335           dbuf-ized buildCmdLine(), moved to SDCCutil
32336         * src/SDCCbuild_cmd.[ch]: deleted
32338 2011-03-19 Borut Razem <borut.razem AT gmail.com>
32340         * src/SDCCmain.c, src/SDCCutil.c, src/SDCCutil.h, src/SDCCmacro.c,
32341           src/SDCCmacro.h:
32342           fixed bug #3152525:
32343           sdcc doesn't pass double-quotes from -D option to sdcpp
32344         * debugger/mcs51/simi.c:
32345           call ioctl(sock, FIONBIO, &iMode)
32346           replaced with fcntl(sock, F_SETFL, FNONBLOCK | FASYNC) on *nix
32348 2011-03-19 Maarten Brock <sourceforge.brock AT dse.nl>
32350         * sdas/asxxsrc/asmain.c (main): fixed warning
32351         * sdas/linksrc/lkaomf51.c (OutputAOEMF51): fixed bug 1630751
32352           (ParseRegisters, CollectInfoFromCDB): get address for ascending registers
32353         * src/cdbFile.c: cosmetics
32354         * support/regression/fwk/lib/statics.c,
32355         * support/regression/tests/bug1477149.c: fixed for type float
32356         * sdas/linksrc/lkaomf51.c: disabled DODUMP
32358 2011-03-18 Borut Razem <borut.razem AT gmail.com>
32360         * sdas/asxxsrc/asmain.c:
32361           reverted incorrect fix for bug #3195019:
32362           option -o just instructs sdas to generate an object file,
32363           it doesn't take an object output file name as argument
32364         * sdas/asxxsrc/asmain.c:
32365           hopefully properly fixed bug #3195019
32367 2011-03-18 Maarten Brock <sourceforge.brock AT dse.nl>
32369         * src/cdbFile.c (cdbWriteBasicSymbol),
32370         * src/SDCCglue.c (emitDebugSym),
32371         * debugger/mcs51/symtab.c (gc_strcat, symLookup): concatenate module and
32372           function name seperated by . for locals to fix bug 1477149 with --debug
32373         * sdas/linksrc/lkaomf51.c (CollectInfoFromCDB): split S:L and L:L locals,
32374           F:F are static, check modules for L:F and L:X
32375         * src/SDCCdebug.c: cosmetics
32376         * src/SDCCglue.c (emitOverlay): fixed bug 1477149
32377         * support/regression/fwk/lib/statics.c,
32378         * support/regression/ports/ds390/fwk.lib,
32379         * support/regression/ports/gbz80/fwk.lib,
32380         * support/regression/ports/hc08/fwk.lib,
32381         * support/regression/ports/ucz80/fwk.lib,
32382         * support/regression/tests/bug1477149.c: new, added
32383         * support/regression/ports/ds390/spec.mk,
32384         * support/regression/ports/hc08/spec.mk,
32385         * support/regression/ports/mcs51-common/spec.mk
32386         * support/regression/ports/ucz80/spec.mk: added FWKLIB and statics.rel
32387         * support/regression/ports/host/spec.mk.in: added statics.o
32388         * support/regression/ports/mcs51-common/fwk.lib: added statics.rel
32389         * .version: bumped to 3.0.2
32390         * src/cdbFile.c (cdbWriteBasicSymbol): applied patch from bug 1627975,
32391           thanks sandra-l
32393 2011-03-17 Borut Razem <borut.razem AT gmail.com>
32395         * src/SDCCloop.c, src/SDCCsymt.c, src/SDCCast.c:
32396           fixed empty statement warnings
32397         * sdas/asxxsrc/asmain.c:
32398           fixed bug #3195019: sdcc generates .rel instead of .o
32399         * src/Makefile.in:
32400           removed -O2 from CPPFLAFS
32402 2011-03-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32404         * src/z80/ralloc2.cc,
32405           src/z80/gen.c,
32406           src/z80/ralloc.c,
32407           src/z80/main.c:
32408           Code reorganization for a more accurate cost function.
32410 2011-03-16 Philipp Klaus Krause <pkk AT spth.de>
32412         * src/SDCCralloc.hpp,
32413           src/z80/z80.h:
32414           Solaris fix.
32416 2011-03-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32418         * src/z80/ralloc2.cc,
32419           src/z80/gen.c,
32420           src/z80/gen.h,
32421           src/z80/z80.h:
32422           Code reorganization for a more accurate cost function.
32424 2011-03-15 Borut Razem <borut.razem AT gmail.com>
32426         * debugger/mcs51/configure.in, debugger/mcs51/configure:
32427           added C99_FLAG to CFLAGS and MAKEDEP for SunPro C compiler
32428         * debugger/mcs51/simi.c: include <sys/filio.h> in Solaris
32430 2011-03-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32432         * src/z80/main.c,
32433           src/z80/gen.h,
32434           src/z80/ralloc2.cc,
32435           src/z80/gen.c:
32436           Code reorganization for a more accurate cost function.
32438 2011-03-14 Maarten Brock <sourceforge.brock AT dse.nl>
32440         * src/SDCCglue.c (pointerTypeToGPByte),
32441         * src/ds390/gen.c (genCast): ds390 function pointer is no CPOINTER
32443 2011-03-14 Borut Razem <borut.razem AT gmail.com>
32445         * configure, configure.in: don't use C99_FLAG in CXXFLAGS
32446           for SunPro C++ compiler
32448 2011-03-13 Maarten Brock <sourceforge.brock AT dse.nl>
32450         * src/SDCCast.c (processParms): fixed bug 2084206,
32451           (getLeftResultType): return RESULT_TYPE_GPTR for generic pointers,
32452           (decorateType, CAST): don't change function pointer to CPOINTER
32453           when resulttype is generic pointer, necessary for varargs
32454         * support/regression/tests/bug2084206.c: new, added
32456 2011-03-13 Borut Razem <borut.razem AT gmail.com>
32458         * src/SDCCglobl.h: don't incude stdbool.h if compiled with c++
32460 2011-03-13 Philipp Klaus Krause <pkk AT spth.de>
32462         * src/z80/ralloc2.cc:
32463           Preparations for rematerialization support in new allocator.
32464         * src/z80/ralloc.c:
32465           Old register allocator cleanup.
32466         * src/z80/gen.c:
32467           Code reorganization for a more accurate cost function.
32469 2011-03-09 Philipp Klaus Krause <pkk AT spth.de>
32471         * src/SDCCopt.c,
32472           support/regression/tests/memory.c:
32473           Completed fix for #3188357.
32475 2011-03-07 Borut Razem <borut.razem AT gmail.com>
32477         * configure, configure.in, src/Makefile.in: CXXFLAGS fixes
32479 2011-03-06 Borut Razem <borut.razem AT gmail.com>
32481         * sim/ucsim/cmd.src/Makefile.in:
32482           fixed for bison, byacc and flex version 2.5.4
32484 2011-03-05 Philipp Klaus Krause <pkk AT spth.de>
32486         * src/SDCCopt.c:
32487           Partial fix for #3188357.
32489 2011-03-05 Borut Razem <borut.razem AT gmail.com>
32491         * sim/ucsim/configure, sim/ucsim/cmd.src/cmdlexcl.h,
32492           sim/ucsim/cmd.src/Makefile.in, sim/ucsim/cmd.src/newcmd.cc,
32493           sim/ucsim/cmd.src/cmdset.cc, sim/ucsim/cmd.src/cmdlex.l,
32494           sim/ucsim/cmd.src/newcmdposix.cc, sim/ucsim/cmd.src/newcmdwin32.cc,
32495           sim/ucsim/cmd.src/cmdpars.y, sim/ucsim/configure.in:
32496           use bison instead of unsupported bison++
32497         * sim/ucsim/cmd.src/flex_lexer.h, sim/ucsim/cmd.src/cmdpars.cc,
32498           sim/ucsim/cmd.src/cmdpars.h, sim/ucsim/cmd.src/FlexLexer.h,
32499           sim/ucsim/cmd.src/cmdlex.cc: deleted
32501 2011-03-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32503         * sim/ucsim/z80.src/inst_cb.cc:
32504           Fixed broken res b, a instruction.
32506 2011-03-02 Borut Razem <borut.razem AT gmail.com>
32508         * src/SDCCmain.c, doc/sdccman.lyx:
32509           fixed use of SDCC_LIB environment variable:
32510           first search in $SDCC_LIB/<model>
32511           then search in $SDCC_LIB
32513 2011-03-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32515         * src/z80/ralloc2.cc:
32516           Improved coalescing.
32517         * src/z80/gen.c,
32518           src/z80/peeph-z80.def:
32519           Minor improvements.
32521 2011-02-27 Philipp Klaus Krause <pkk AT spth.de>
32523         * src/z80/ralloc2.cc,
32524           src/z80/gen.c,
32525           src/z80/main.c,
32526           src/z80/peep.c,
32527           src/z80/peeph-z80.def:
32528           Various minor improvements.
32530 2011-02-26 Philipp Klaus Krause <pkk AT spth.de>
32532         * src/z80/peeph-z80.def
32533           Minor peephole improvements.
32535 2011-02-24 Borut Razem <borut.razem AT gmail.com>
32537         * doc/sdccman.lyx: fixed bug #3191324: PIC instructions in documentation
32539 2011-02-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32541         * src/mcs51/gen.c,
32542           src/z80/peeph-z80.def:
32543           Merge from trunk.
32545 2011-02-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32547         * src/z80/ralloc2.cc,
32548           src/z80/gen.c,
32549           src/z80/peeph-z80.def:
32550           Improvements for --optralloc-all.
32552 2011-02-20 Philipp Klaus Krause <pkk AT spth.de>
32554         * src/z80/main.c,
32555           src/z80/gen.c,
32556           src/z80/ralloc2.cc:
32557           Fixes for --fomit-frame-pointer.
32558         * src/mcs51/gen.c:
32559           Merge from trunk.
32561 2011-02-19 Philipp Klaus Krause <pkk AT spth.de>
32563         * src/SDCCralloc.hpp,
32564           src/z80/ralloc2.cc:
32565           Liverange fix.
32566         * src/z80/peep.c,
32567           src/z80/gen.c:
32568           Fixes for --reserve-regs-iy.
32569         * support/regression/tests/bug-3184920.c:
32570           Merge from trunk.
32572 2011-02-19 Maarten Brock <sourceforge.brock AT dse.nl>
32574         * debugger/mcs51/cmd.c,
32575         * debugger/mcs51/sdcdb.c,
32576         * debugger/mcs51/simi.c,
32577         * debugger/mcs51/symtab.c,
32578         * src/SDCCargs.h,
32579         * src/version.awk: cosmetic changes
32580         * src/pic14/gen.c (genDataPointerSet),
32581         * src/pic14/glue.c (emitIvals),
32582         * src/SDCCsystem.c: fixed warnings
32583         * src/SDCCerr.c (setWarningDisabled): check errNum
32584         * src/SDCCpeeph.c: added optimizeReturn
32585         * src/mcs51/peeph.def: disabled 237.x, fixed bug 1653651
32586         * src/SDCCglobl.h: added options.peepReturn
32587         * src/SDCCmain.c (parseCmdLine): added --peep-return & --no-peep-return
32588         * support/scripts/resource.rc: replaced include "winres.h" with "winresrc.h"
32589         * support/scripts/winres.h: deleted
32591 2011-01-18 Philipp Klaus Krause <pkk AT spth.de>
32593         * src/z80/peeph-z80.def,
32594           support/regression/tests/bug-3184920.c:
32595           Fix for #3184920 from trunk.
32597 2011-02-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32599         * support/scripts/sdcc.nsi:
32600           Merge from trunk.
32601         * src/z80/ralloc2.cc:
32602           Fix for --optralloc-all.
32603         * src/z80/gen.c:
32604           Fix for --reserve-regs-iy.
32606 2011-02-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32608         * src/SDCCralloc.hpp,
32609           src/z80/ralloc2.cc:
32610           Improved heuristics wrt. junction nodes.
32611         * src/version.awk,
32612           src/src.dsp,
32613           support/scripts/resource.rc:
32614           Merge from trunk.
32615         * src/z80/gen.c:
32616           Improved addition by increment.
32618 2011-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32620         * src/SDCCralloc.hpp,
32621           src/z80/ralloc2.cc:
32622           Early elimination of some impossible assignments.
32624 2011-02-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32626         * src/z80/ralloc2.cc,
32627           src/z80/gen.c:
32628           Avoid result overwriting operand bug in |.
32630 2011-02-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32632         * src/SDCCtree_dec.hpp,
32633           src/SDCCralloc.hpp,
32634           src/z80/ralloc2.cc:
32635           Changed style from Allman to GNU.
32637 2011-02-07 Borut Razem <borut.razem AT gmail.com>
32639         * Merged from trunk
32641 2011-02-06 Maarten Brock <sourceforge.brock AT dse.nl>
32643         * all.vcxproj: fixed missing ;'s
32644         * all.vcxproj.filters: added sdld6808, sdldgb, sdldz80
32646 2011-02-05 Philipp Klaus Krause <pkk AT spth.de>
32648         * src/SDCCicode.c (setOperandType),
32649           support/regression/tests/bug-221168.c,
32650           support/regression/tests/bug3166208.c:
32651           Maarten's fix of #3166208 from trunk.
32653 2011-02-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32655         * src/mcs51/gen.h,
32656           src/mcs51/gen.c,
32657           sdas/linksrc/Makefile.in,
32658           support/makebin/makebin.c,
32659           support/regression/tests/bug3130806.c:
32660           Fixes from trunk.
32662 2011-02-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32664         * sim/ucsim/z80.src/inst_cb.cc:
32665           Fixed #3166058.
32667 2011-01-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32669         * src/z80/ralloc2.cc:
32670           Improved handling of HL.
32672 2011-01-26 Philipp Klaus Krause <pkk AT spth.de>
32674         * src/z80/ralloc2.cc:
32675           Improved handling of HL.
32677 2011-01-26 Philipp Klaus Krause <pkk AT spth.de>
32679         * src/z80/ralloc2.cc,
32680           src/z80/peeph-z80.def:
32681           Improved handling of A and HL.
32683 2011-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32685         * Makefile.common.in,
32686           src/z80/ralloc2.cc,
32687           src/z80/gen.c,
32688           src/z80/peeph-z80.def:
32689           Improved handling of A and HL.
32691 2011-01-25 Borut Razem <borut.razem AT gmail.com>
32693         * src/z80/gen.c:
32694           removed MSCV 2010 warning C4018: '<' : signed/unsigned mismatch
32695         * src/SDCCsysytem.c, src/SDCCutil.c: removed MSCV 2010 warnings
32697 2011-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32699         * src/SDCCralloc.hpp,
32700           src/z80/ralloc2.cc:
32701           Improved handling of A and HL.
32703 2011-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32705         * src/SDCCglobl.h,
32706           src/SDCCralloc.hpp,
32707           std/SDCCmain.c,
32708           src/z80/z80.h,
32709           src/z80/main.c:
32710           Modified fix for MSVC 2010 warnings, changed handling of --max-allocs-per-node option.
32712 2011-01-24 Borut Razem <borut.razem AT gmail.com>
32714         * src/SDCCralloc.hpp, src/z80/main.c, src/z80/ralloc2.cc,
32715           src/z80/z80.h, src/z80/z80.vcxproj: fixed msvc 2010 warnings
32717 2011-01-24 Philipp Klaus Krause <pkk AT spth.de>
32719         * src/z80/ralloc2.cc,
32720           src/z80/gen.c:
32721           Improved handling of HL in the new allocator.
32723 2011-01-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32725         * src/z80/ralloc2.cc:
32726           Fixed bug in handling of register A.
32728 2011-01-24 Philipp Klaus Krause <pkk AT spth.de>
32730         * src/SDCCralloc.hpp,
32731           src/z80/ralloc2.cc,
32732           src/z80/z80.h,
32733           src/z80/main.c,
32734           src/z80/gen.c:
32735           Improved handling of A in the new register allocator and made it the default.
32737 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32739         * src/z80/z80.h,
32740           src/z80/main.c,
32741           src/z80/ralloc.c:
32742           Added option to handle hl, but not a (or iy) by new allocator.
32744 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32746         * src/z80/z80.h,
32747           src/SDCCtree_dec.hpp,
32748           src/z80/ralloc.c,
32749           src/z80/ralloc2.cc:
32750           Feature enable macro cleanup.
32752 2011-01-23 Borut Razem <borut.razem AT gmail.com>
32754         * sdcc.sln, */*.vcxproj: MSVC 2010 project files cleaning
32755         * */*.vcxproj.filters: added to svn
32756         * debugger/mcs51/simi.c:
32757           fixed warning C4273: '_environ' : inconsistent dll linkage
32758         * Merged from trunk
32760 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32762         * src/SDCCtree_dec.hpp,
32763           src/SDCCralloc.hpp,
32764           src/z80/ralloc2.cc:
32765           Re-rooting of the tree-decomposition.
32767 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32769         * src/SDCCtree_dec.hpp,
32770           src/SDCCralloc.hpp,
32771           src/z80/ralloc2.cc:
32772           Fixed MSVC++ compilation problem, preparations for re-rooting the tree decomposition.
32774 2011-01-23 Borut Razem <borut.razem AT gmail.com>
32776         * src/avr/avr.vcxproj, src/ds390/ds390.vcxproj, src/hc08/hc08.vcxproj,
32777           src/mcs51/mcs51.vcxproj, src/pic14/pic14.vcxproj,
32778           src/pic16/pic16.vcxproj, src/xa51/xa51.vcxproj, src/z80/z80.vcxproj:
32779           remove /Zm1000 command line option from all projects
32781 2011-01-22 Borut Razem <borut.razem AT gmail.com>
32783         * all.vcxproj, config.vcxproj, sdas/linksrc/sdld_all.vcxproj,
32784           src/avr/avra.vcxproj, src/ds390/ds390a.vcxproj,
32785           src/hc08/hc08a.vcxproj, src/mcs51/mcs51a.vcxproj,
32786           src/pic14/pic14a.vcxproj, src/pic16/pic16a.vcxproj,
32787           src/src.vcxproj, src/xa51/xa51a.vcxproj, src/yacc.vcxproj,
32788           src/z80/z80a.vcxproj, support/cpp/sdcppa.vcxproj:
32789           fixed Custom Builds
32791 2011-01-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32793         * src/SDCCtree_dec.hpp,
32794           src/SDCCralloc.hpp,
32795           src/z80/ralloc2.cc:
32796           Simplified allocation algorithm by requiring leafs of the tree decomposition to be empty.
32798 2011-01-22 Borut Razem <borut.razem AT gmail.com>
32800         * src/z80/main.c(598):
32801           fixed error C2065: 'false' : undeclared identifier
32803 2011-01-22 Philipp Klaus Krause <pkk AT spth.de>
32805         * src/SDCCtree_dec.hpp:
32806           Fixed vertex iterator / descriptor problem that caused errors in MSVC++.
32808 2011-01-22 Philipp Klaus Krause <pkk AT spth.de>
32810         * src/SDCCralloc.hpp,
32811           src/z80/main.c:
32812           Disabled forgotten debug message.
32814 2011-01-22 Philipp Klaus Krause <pkk AT spth.de>
32816         * src/Makefile.in,
32817           src/SDCCralloc.hpp,
32818           src/z80/z80.h,
32819           src/z80/main.c,
32820           src/z80/ralloc.c,
32821           src/z80/ralloc2.cc:
32822           Added option to enable experimental support for A and HL.
32824 2011-01-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32826         * src/SDCCtree_dec.hpp:
32827           Added missing boost:: prefix.
32829 2011-01-21 Maarten Brock <sourceforge.brock AT dse.nl>
32831         * sdcc.sln,
32832         * [*].vcxproj: added project files for Microsoft Visual C++ Express 2010
32834 2011-01-21 Maarten Brock <sourceforge.brock AT dse.nl>
32836         * sdas/linksrc/sdld_all.dsp: renamed dldgb.exe to sdldgb.exe
32837         * src/avr/gen.c,
32838         * src/ds390/gen.c,
32839         * src/ds390/ralloc.c,
32840         * src/hc08/gen.c,
32841         * src/mcs51/gen.c,
32842         * src/pic14/gen.c,
32843         * src/pic14/ralloc.c,
32844         * src/pic16/gen.c,
32845         * src/pic16/genutils.c,
32846         * src/SDCCicode.c,
32847         * src/SDCCicode.h,
32848         * src/SDCClrange.c,
32849         * src/xa51/ralloc.c,
32850         * src/z80/gen.c,
32851         * src/z80/ralloc.c,
32852         * src/z80/ralloc2.cc: renamed union operand to union svt,
32853           added OP_KEY and OP_TYPE, use OP_xxx macros more often
32855 2011-01-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32857         * src/SDCCralloc.hpp,
32858           src/z80/ralloc.h,
32859           src/z80/ralloc.c,
32860           src/z80/ralloc2.cc:
32861           Handle A in new register allocator.
32863 2011-01-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32865         * src/z80ralloc2.cc:
32866           Reg name cleanup.
32868 2011-01-18 Philipp Klaus Krause <pkk AT spth.de>
32870         * src/z80ralloc2.cc:
32871           Preparaton for use of a and hl in the new allocator.
32873 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32875         * src/SDCCtree_dec.hpp:
32876           Fixed const-correctness of iterators.
32878 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32880         * src/ralloc2.cc:
32881           Fixed confusion of std::map/std::multimap iterators.
32883 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32885         * src/SDCCtree_dec.hpp
32886           Fixed std::vector<bool> active initalization in tree_decomposition_from_elimination_ordering()
32888 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32890         * src/SDCCralloc.hpp,
32891           src/z80/ralloc2.cc:
32892           Made operands in assign_cost() const.
32894 2011-01-17 Maarten Brock <sourceforge.brock AT dse.nl>
32896         * src/SDCCralloc.hpp: do not include "sdccconf.h" directly, it does not
32897           exist when building with MSVC. Let it come through SDCCglobl.h
32899 2011-01-17 Borut Razem <borut.razem AT gmail.com>
32901         * Merged from trunk
32903 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32905         * src/SDCCicode.h,
32906           src/SDCCicode.c,
32907           src/SDCCralloc.hpp,
32908           src/z80/ralloc2.cc:
32909           Split validateOpType() into const and non-const version.
32911 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32913         * src/SDCCralloc.hpp:
32914           Some documenting comments.
32916 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32918         * src/z80/ralloc2.cc:
32919           Fixed some forgotten debug statements.
32921 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32923         * src/SDCCralloc.hpp,
32924           src/z80/ralloc2.cc:
32925           Fixed the allocator for gbz80.
32927 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32929         * src/SDCCtree_dec.hpp,
32930           src/z80/tree_dec.hh,
32931           src/SDCCralloc.hpp,
32932           src/z80/ralloc2.cc:
32933           Moved some generic parts of the new allocator out of the z80 directory.
32935 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32937         * src/z80/ralloc2.cc:
32938           Type fixes.
32940 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32942         * src/z80/ralloc2.cc:
32943           Preparations for the use of a better cost function and handling a, hl and iy in the new allocator.
32945 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32947         * src/SDCCsymt.h,
32948           src/z80/ralloc.c,
32949           src/z80/ralloc2.cc:
32950           Improved variable handling and C++ standard conformance.
32952 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32954         * src/z80/ralloc2.cc:
32955           Removed local assignment map.
32957 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32959         * configure.in,
32960           configure,
32961           Makefile.common.in,
32962           src/Makefile.in,
32963           src/port.mk,
32964           src/SDCCsymt.h,
32965           src/SDCCsymt.c,
32966           src/z80/z80.h,
32967           src/z80/main.c,
32968           src/z80/ralloc.h,
32969           src/z80/ralloc.c,
32970           src/z80/tree_dec.hh,
32971           src/z80/ralloc2.cc:
32972           Initial import of the new register allocator.
32974 2011-01-16 Borut Razem <borut.razem AT gmail.com>
32976         * Created Optimal Register allocator (optralloc) branch
32978 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32980         * SDCClrange.h,
32981           SDCClrange.c:
32982           Comment on the effects of dead code on live ranges.
32984 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32986         * src/SDCCicode.h,
32987           src/SDCCicode.c:
32988           Make argument to validateOpType const.
32990 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32992         * src/z80/peeph-z80.def:
32993           Two new peephole rules, optimizing code frequently generated by the new allocator.
32995 2011-01-16 Borut Razem <borut.razem AT gmail.com>
32997         * support/regression/collate-results.py: count invalid instructions
32998         * sim/ucsim/z80.src/inst_xxcb.cc (inst_XXcb_set): fixed SET and RES handling
33000 2011-01-15 Borut Razem <borut.razem AT gmail.com>
33002         * src/SDCCmain.c, src/SDCCdwarf2.c, src/SDCCdwarf2.h, src/z80/gen.c,
33003           src/SDCCglobl.h, src/pic16/pcode.h, src/pic16/pcode.c,
33004           src/SDCCsystem.c, src/SDCC.lex:
33005           code cleaning: removed warnings, use const char *
33006         * src/pic14/glue.c (emitIvals): removed empty line generation
33008 2011-01-15 Philipp Klaus Krause <pkk AT spth.de>
33010         * SDCCglobl.h:
33011           Use Maarten's better bool scheme.
33013 2011-01-15 Philipp Klaus Krause <pkk AT spth.de>
33015         * configure,
33016           configure.in,
33017           src/Makefile.in,
33018           Makefile.common.in,
33019           src/port.mk,
33020           src/SDCCsymt.h,
33021           src/SDCCsymt.c,
33022           src/SDCClrange.c,
33023           src/z80/z80.h,
33024           src/z80/main.c,
33025           src/z80/ralloc.h,
33026           src/z80/ralloc.c,
33027           src/z80/tree_dec.hh,
33028           src/z80/ralloc2.cc,
33029           src/z80/peeph-z80.def:
33030           Reverted to old register allocator.
33032 2011-01-15 Philipp Klaus Krause <pkk AT spth.de>
33034         * src/z80/ralloc2.cc:
33035           Small change for MSVC compability:
33037 2011-01-14 Philipp Klaus Krause <pkk AT spth.de>
33039         * src/z80/tree_dec.hh,
33040           src/z80/ralloc2.cc:
33041           Added GPLv2 or later license text.
33043 2011-01-14 Philipp Klaus Krause <pkk AT spth.de>
33045         * src/z80/ralloc.c:
33046           Remove some no longer used remains of the old register allocator.
33048 2011-01-14 Philipp Klaus Krause <pkk AT spth.de>
33050         * src/z80/main.c:
33051           Enable new register allocator options for the GBZ80.
33053 2011-01-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33055         * src/z80/ralloc.c,
33056           src/z80/ralloc2.cc:
33057           Use new register allocator for the GBZ80.
33059 2011-01-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33061         * configure,
33062           configure.in,
33063           src/Makefile.in,
33064           Makefile.common.in,
33065           src/port.mk,
33066           src/SDCCsymt.h,
33067           src/SDCCsymt.c,
33068           src/SDCClrange.c,
33069           src/z80/z80.h,
33070           src/z80/main.c,
33071           src/z80/ralloc.h,
33072           src/z80/ralloc.c,
33073           src/z80/tree_dec.hh,
33074           src/z80/ralloc2.cc,
33075           src/z80/peeph-z80.def:
33076           New register allocator for the Z80.
33078 2011-01-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33080         * src/SDCCglobl.h:
33081           Use bool from stdbool.h, except for MSVC, where unsigned char is used. For #3150686.
33083 2011-01-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33085         * src/SDCCsymt.h,
33086           src/SDCCval.c,
33087           src/SDCCsymt.c:
33088           Changed class to xclass in sym_link for C++ compability, for #3150686.
33090 2011-01-11 Maarten Brock <sourceforge.brock AT dse.nl>
33092         * src/SDCCicode.c (geniCodeAdd): fixed bug 3153956
33093         * support/regression/tests/bug3037889.c: added test for bug 3153956
33095 2010-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
33097         * debugger/mcs51/simi.c (waitForSim): implemented timeout,
33098           (openSimulator): use non-blocking socket mode
33100 2010-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
33102         * debugger/mcs51/cmd.c (commonSetUserBp): fixed bug 1185014
33104 2010-12-19 Borut Razem <borut.razem AT siol.net>
33106         * src/ds390/main.c, src/Makefile.in, src/SDCCbuild_cmd.c,
33107           src/SDCCbuild_cmd.h, src/SDCCmain.c, src/src.dsp, src/z80/main.c:
33108           support/Util/BuildCmd.[ch] moved / renamed to src/SDCCbuild_cmd.[ch]
33110 2010-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
33112         * debugger/mcs51/cmd.c (printOrSetSymValue),
33113         * debugger/mcs51/simi.h (memcache_t),
33114         * debugger/mcs51/simi.c (getMemCache, getMemString, simSetValue,
33115           simGetValue): made size unsigned
33116           (init_winsock): fixed uninitialized iResult,
33117           (openSimulator): removed intptr_t cast
33118         * debugger/mcs51/sdcdb.c: include <direct.h> for chdir(),
33119           (parseCmdLine): access() is not portable, replaced with fopen/fclose,
33120           (main): fixed bug 3137466
33121         * debugger/mcs51/sdcdb.h: include sdcc_vc.h or sdcccon.h
33122         * debugger/mcs51/sdcdb.dsp: new, added
33123         * sdcc.dsw: added sdcdb.dsp
33124         * sdas/asxxsrc/asmain.c (asmbl): error only if is_sdas()
33125         * debugger/mcs51/sdcdb.c (searchDirsFname): retry with '_' replaced
33126           with '.'
33128 2010-12-18 Maarten Brock <sourceforge.brock AT dse.nl>
33130         * sdas/as8051/i51adr.c,
33131         * sdas/as8051/i51ext.c,
33132         * sdas/as8051/i51mch.c,
33133         * sdas/as8051/i51pst.c,
33134         * sdas/as8051/i8051.h,
33135         * sdas/asxxsrc/asdata.c,
33136         * sdas/asxxsrc/asdbg.c,
33137         * sdas/asxxsrc/aslex.c,
33138         * sdas/asxxsrc/aslist.c,
33139         * sdas/asxxsrc/asout.c,
33140         * sdas/asxxsrc/assubr.c,
33141         * sdas/asxxsrc/assym.c,
33142         * sdas/asxxsrc/asxxxx.h,
33143         * sdas/asxxsrc/sdas.c,
33144         * sdas/asxxsrc/strcmpi.c: cosmetic, replaced tabs with spaces
33145         * sdas/asxxsrc/asmain.c (asmbl): error on multiple mnemonics on one line
33146         * support/cpp/libcpp/include/cpplib.h: added PREV_NL
33147         * support/cpp/libcpp/lex.c (_cpp_process_line_notes, cpp_output_line),
33148         * support/cpp/c-ppoutput.c (scan_translation_unit): fix macros w/o __asm
33149         * support/regression/tests/bug1505956.c: new, added
33151 2010-12-16 Maarten Brock <sourceforge.brock AT dse.nl>
33153         * support/cpp/c-ppoutput.c (scan_translation_unit): fix bug 1505956/1406219
33154         * support/cpp/libcpp/include/cpplib.h: added IN_ASM
33155         * support/cpp/libcpp/internal.h: added n__endasm to spec_nodes
33156         * support/cpp/libcpp/lex.c (_cpp_process_line_notes): return int in_asm on
33157           continued inline asm lines,
33158           (_cpp_lex_direct): set/reset in_asm flag,
33159           (cpp_output_line): insert __endasm; __asm to fix bug 1505956/1406219
33160         * support/cpp/libcpp/macro.c (macro_real_token_count): fixed warning
33161         * support/cpp/sdcpp.c (sdcpp_init_options): init n__endasm
33163 2010-12-14 Borut Razem <borut.razem AT siol.net>
33165         * src/SDCCdwarf2.c, src/SDCCset.c, src/pic16/pcode.c:
33166           fixed some defects, reported by Wipro DeepCheck static analysis tool
33168 2010-12-13 Borut Razem <borut.razem AT siol.net>
33170         * src/pic14/main.c, src/pic16/main.c:
33171           fixed bug #3113082: Filenames with spaces fail on pic backend
33173 2010-12-11 Borut Razem <borut.razem AT siol.net>
33175         * src/pic14/main.c:
33176           fixed bug #3135245: --use-non-free set the wrong dir for the lib
33178 2010-12-10 Philipp Klaus Krause <pkk AT spth.de>
33180         * src/z80/gen.c:
33181           Fixed signed comparison for gbz80.
33183 2010-12-06 Philipp Klaus Krause <pkk AT spth.de>
33185         * src/SDCCsymt.c:
33186           Optimized boolean ternary operator.
33188 2010-12-06 Borut Razem <borut.razem AT siol.net>
33190         * src/Makefile.in, src/SDCCmain.c, src/src.dsp,
33191           src/pic14/main.c, src/z80/main.c, src/pic16/main.c,
33192           src/ds390/main.c, src/SDCCsystem.c, src/SDCCsystem.h:
33193           support/Util/MySystem.[ch] moved / renamed src/SDCCsystem.[ch]
33194         * src/SDCCargs.h, src/SDCCasm.h, src/SDCCast.h:
33195           cosmetic changes
33197 2010-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
33199         * device/include/stdio.h,
33200         * device/lib/printf_fast.c,
33201         * device/lib/printf_tiny.c: fixed bug 3108582
33203 2010-12-05 Maarten Brock <sourceforge.brock AT dse.nl>
33205         * src/z80/peep.c (z80instructionSize): fixed warning
33206         * support/regression/tests/bug-3117729.c: fixed and enabled for mcs51
33208 2010-12-05 Borut Razem <borut.razem AT siol.net>
33210         * Makefile.in:
33211           fixed bug #312815: Top level Makefile variable is mis-spelled
33213 2010-12-02 Philipp Klaus Krause <pkk AT spth.de>
33215         * support/regression/tests/bug-3117729.c:
33216           Disabled test for mcs51.
33218 2010-11-29 Philipp Klaus Krause <pkk AT spth.de>
33220         * support/regression/tests/bug-3117729.c:
33221           Added bug description.
33223 2010-11-28 Philipp Klaus Krause <pkk AT spth.de>
33225         * src/z80/peeph-z80.def,
33226           support/regression/tests/bug-3117729.c:
33227           Fixed #3117729, minor peephole improvements.
33229 2010-11-28 Philipp Klaus Krause <pkk AT spth.de>
33231         * src/SDCCpeeph.c,
33232           src/z80/peep.c:
33233           Fixed #3117748, improved fix for #3109557.
33235 2010-11-26 Raphael Neider <rneider AT web.de>
33237         * src/pic14/glue.c (emitIvals): end retlw instruction with newline,
33238           fixes #3119071.
33240 2010-11-21 Philipp Klaus Krause <pkk AT spth.de>
33242         * src/z80/peep.c,
33243           src/SDCCpeeph.c:
33244           Fixed #3109557.
33246 2010-11-21 Philipp Klaus Krause <pkk AT spth.de>
33248         * src/z80/peeph-z80.def:
33249           Minor peephole fix.
33251 2010-11-15 Maarten Brock <sourceforge.brock AT dse.nl>
33253         * src/ds390/main.c (_ds390_genIVT, _ds390_genInitStartup): keep flat24 mode
33254           off before _sdcc_external_startup is called
33255         * device/lib/ds390/tinibios.c (_sdcc_external_startup): pop 16 bit address,
33256           push 24 bit, don't call anything before the changeover to flat24 mode
33257         * support/regression/ports/ds390/spec.mk: start uCsim in 16 bit mode
33259 2010-11-07 Borut Razem <borut.razem AT siol.net>
33261         * Makefile.common.in, sdcc_vc_in.h, sdccconf_in.h, src/pic14/main.c,
33262           src/port.h, src/SDCCast.c, src/SDCCmain.c, src/SDCCopt.c,
33263           src/SDCCpeeph.c, src/SDCCsymt.c:
33264           TARGET_ID_PIC1 renamed to TARGET_ID_PIC14,
33265           TARGET_IS_PIC renamed to TARGET_IS_PIC14
33266           OPT_DISABLE_PIC renamed to OPT_DISABLE_PIC14
33267         * support/Util/dbuf.c, support/Util/dbuf.h: added function dbuf_detach_c_str()
33269 2010-11-06 Borut Razem <borut.razem AT siol.net>
33271         * support/Util/MySystem.c: use native WIN32 API calls in sdcc_pclose()
33273 2010-11-05 Borut Razem <borut.razem AT siol.net>
33275         * support/Util/MySystem.c: use native WIN32 sdcc_popen and sdcc_pclose
33276           solution due to a bug in wine msvrct.dll popen implementation
33277         * support/Util/MySystem.c, support/Util/MySystem.h,  src/SDCCmain.c,
33278           src/ds390/main.c, src/pic14/main.c, src/pic16/main.c, src/z80/main.c:
33279           my_xxxx() renamed to sdcc_xxxx()
33281 2010-11-05 Philipp Klaus Krause <pkk AT spth.de>
33283         * src/SDCCcse.c:
33284           Optimization for & on booleans.
33285         * src/z80/gen.c,
33286           src/z80/peeph-z80.def,
33287           support/regression/tests/bitopcse.c:
33288           Fixes for z80 using --reserve-regs-iy and gbz80.
33290 2010-11-05 Raphael Neider <rneider AT web.de>
33292         * sdas/as8051/Makefile.in,
33293           sdas/asz80/Makefile.in,
33294           sdas/as6808/Makefile.in,
33295           sdas/asgb/Makefile.in: fix order of linking with -lm
33297 2010-11-03 Philipp Klaus Krause <pkk AT spth.de>
33299         * src/z80/gen.c,
33300           src/z80/peep.c:
33301           Improvements relating to the use of hl as an alternative to iy.
33303 2010-11-03 Philipp Klaus Krause <pkk AT spth.de>
33305         * src/SDCCpeeph.h,
33306           src/z80/gen.c,
33307           src/z80/ralloc.c,
33308           src/z80/main.c,
33309           src/z80/z80.h,
33310           src/z80/peeph-z80.def:
33311           Some steps towards implementing #3074318, and minor gbz80 fixes.
33313 2010-11-03 Philipp Klaus Krause <pkk AT spth.de>
33315         * src/z80/gen.c,
33316           src/z80/peep.c:
33317           Fixed #3093447.
33319 2010-11-03 Maarten Brock <sourceforge.brock AT dse.nl>
33321         * src/SDCCmain.c (setIncludePath): fixed uninitialized target
33323 2010-11-03 Borut Razem <borut.razem AT siol.net>
33325         * device/include/pic14/sdcc-lib.h:
33326           directories */pic renamed to */pic14
33328 2010-11-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
33330         * src/mcs51/peeph.def: added peepholes 248.n to 248.p
33331           optimizing and/or/xor to xdata arrays
33333 2010-11-02 Borut Razem <borut.razem AT siol.net>
33335         * device/include/Makefile.in, device/non-free/include/Makefile.in,
33336           device/lib/Makefile.in, device/lib/pic14/configure,
33337           device/lib/pic14/configure.in, device/lib/pic14/Makefile.common.in,
33338           device/lib/pic16/aclocal.m4, device/lib/pic16/configure,
33339           device/lib/pic16/configure.ac, device/non-free/lib/Makefile.in,
33340           device/non-free/lib/pic14/configure,
33341           device/non-free/lib/pic14/configure.in,
33342           device/non-free/lib/pic14/libdev/Makefile.in,
33343           device/non-free/lib/pic14/libdev/mkall.sh,
33344           device/non-free/lib/pic14/Makefile.common.in,
33345           device/non-free/lib/pic16/configure,
33346           device/non-free/lib/pic16/configure.ac:
33347           directories */pic renamed to */pic14
33349 2010-11-01 Borut Razem <borut.razem AT siol.net>
33351         * Small Device C Compiler 3.0.0 released
33352         * .version, doc/sdccman.lyx: changed sdcc version to 3.0.1
33353         * device/include/pic, device/include/asm/pic, device/lib/pic,
33354           device/non-free/include/pic, device/non-free/lib/pic,
33355           sdcc/src/pic: renamed to */pic14
33356         * configure, configure.in, regression/Makefile, src/SDCCmain.c,
33357           device/include/Makefile.in, device/non-free/include/Makefile.in,
33358           support/regression/ports/pic14/spec.mk, support/scripts/sdcc.nsi,
33359           device/non-free/lib/Makefile.in, device/lib/Makefile.in,
33360           sdcc.dsw, src/pic14/pic14.dsp, src/pic14/pic14a.dsp, src/src.dsp:
33361           directories */pic renamed to */pic14
33362         * src/pic16/gen.c: _naked renamed to __naked
33363         * support/scripts/repack_release.sh:
33364           fix if the packages are not in current directory
33366 2010-10-23 Borut Razem <borut.razem AT siol.net>
33368         * device/lib/pic/libsdcc/fs2ulong.c, device/lib/pic/libsdcc/fslt.c,
33369           device/lib/pic/libsdcc/fseq.c, device/lib/pic/libsdcc/ulong2fs.c,
33370           device/lib/pic/libsdcc/fsgt.c, device/lib/pic/libsdcc/fsdiv.c,
33371           device/lib/pic/libsdcc/fsneq.c, device/lib/pic/libsdcc/fsadd.c,
33372           device/lib/pic/libsdcc/fssub.c, device/lib/pic/libsdcc/fsmul.c,
33373           device/lib/ds400/ds400rom.c:
33374           sdcc library license changed to GPL+LE
33375         * support/scripts/sdcc.nsi:
33376           no need to copy readline5.dll
33378 2010-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
33380         * doc/sdccman.lyx: documented --model-huge and other small updates
33382 2010-10-17 Borut Razem <borut.razem AT siol.net>
33384         * support/cpp/sdcpp-opts.c:
33385           fixed bug #3088672: -M (& -MM) not suppressing warnings
33386         * doc/sdccman.lyx: small cosmetic changes
33388 2010-10-16 Maarten Brock <sourceforge.brock AT dse.nl>
33390         * device/include/mcs51/C8051F920.h: patch 3088689, thanks Steven Borley
33392 2010-10-16 Raphael Neider <rneider AT web.de>
33394         * device/lib/Makefile.in, device/non-free/lib/Makefile.in:
33395           fix parallel make on cygwin by preventing multiple rules
33396           from generating the same library files
33398 2010-10-14 Raphael Neider <rneider AT web.de>
33400         * device/lib/pic/configure.in,
33401           device/lib/pic16/configure.ac,
33402           device/non-free/lib/pic/configure.in,
33403           device/non-free/lib/pic16/configure.ac: abort configure if gputils
33404           are unavailable while the pic14 or pic16 port is enabled
33405         * device/lib/pic/configure,
33406           device/lib/pic16/configure,
33407           device/non-free/lib/pic/configure,
33408           device/non-free/lib/pic16/configure: regenerated
33409         * device/non-free/lib/Makefile.in: avoid trying to install from
33410           non-existing BUILDDIR (if both pic ports are disabled)
33411         * doc/sdccman.lyx: fix supported pic14 devices (16hv616 and 16hv785)
33412         * src/SDCCmain.c (setIncludePath): do not use 'target' uninitialized
33414 2010-10-12 Raphael Neider <rneider AT web.de>
33416         * src/SDCCmain.c (setIncludePath): handle special case of pic14 paths
33417         * src/pic/main.c (__pic14_initPaths): removed, handled in SDCCmain.c
33419 2010-10-12 Borut Razem <borut.razem AT siol.net>
33421         * device/lib/pic/Makefile.in, device/non-free/lib/pic/Makefile.in:
33422           fixed target "all" if gputils not found
33424 2010-10-11 Borut Razem <borut.razem AT siol.net>
33426         * doc/sdccman.lyx: fixes proposed by Sebastien Lorquet
33428 2010-10-10 Borut Razem <borut.razem AT siol.net>
33430         * support/cpp/sdcpp-diagnostic.c, support/cpp/sdcpp.h:
33431           define inhibit_warnings
33432         * src/SDCCmain.c: removed readCfgFile() call
33433         * support/scripts/sdcc.nsi:
33434           added include/ds390/*.h and include/ds400/*.h to the package
33435         * src/regression/Makefile, src/regression/inline.c,
33436           src/regression/string1.c: added non-free search path,
33437           fixed deprecated keyword warnings
33438         * device/lib/Makefile.in device/non-free/lib/Makefile.in:
33439           fixed bug #3084827:
33440           Building fails at non-free when disabling PIC/PIC16
33442 2010-10-09 Borut Razem <borut.razem AT siol.net>
33444         * support/cpp/auto-host_vc_in.h, support/cpp/libcpp/include/cpplib.h,
33445           support/cpp/sdcpp-diagnostic.c:
33446           fixed bug #3080422: #error not working as expected
33447         * src/SDCCmain.c, src/SDCCglobl.h:
33448           --non-free and SDCC_NON_FREE changed to --use-non-free and
33449           SDCC_USE_NON_FREE
33450         * doc/sdccman.lyx: documented --non-free
33451         * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
33452           changed sdcc version to 3.0.0
33453         * src/SDCCmain.c: removed function readCfgFile()
33454         * support/scripts/repack_release.sh:
33455           fixed typo
33457 2010-10-08 Borut Razem <borut.razem AT siol.net>
33459         * sim/ucsim/s51.src/Makefile.in:
33460           fixed bug 3082829: S51 is not installed in recent SDCC versions
33462 2010-10-06 Borut Razem <borut.razem AT siol.net>
33464         * sdcc/configure, sdcc/configure.in:
33465           show non-free search paths
33466         * support/scripts/sdcc_mingw32, support/scripts/sdcc_cygwin_mingw32:
33467           define non_free_include_dir_suffix and non_free_lib_dir_suffix
33468         * support/scripts/sdcc.nsi:
33469           remove non-free directory on uninstall
33470         * support/regression/ports/pic14/spec.mk,
33471           support/regression/ports/pic16/spec.mk:
33472           add --non-free option for pic* regression tests
33474 2010-10-05 Borut Razem <borut.razem AT siol.net>
33476         * support/scripts/sdcc.nsi:
33477           added non-free/lib/pic*/*.lib files to the win32 setup package,
33478           remove non-free directory on uninstall
33480 2010-10-04 Borut Razem <borut.razem AT siol.net>
33482         * src/SDCCmain.c: defined symbol SDCC_NON_FREE when --non-free command
33483           line option is used
33484         * configure.in, configure, Makefile.in, device/lib/pic/configure.in,
33485           device/lib/pic/configure, device/lib/pic/Makefile.in,
33486           device/lib/pic/Makefile.common.in, device/lib/pic16/configure.ac,
33487           device/lib/pic16/configure, device/lib/pic16/Makefile.am,
33488           device/lib/pic16/Makefile.in,
33489           device/lib/pic16/Makefile.common,
33490           device/lib/pic16/libm/Makefile.in,
33491           device/lib/pic16/debug/Makefile.in,
33492           device/lib/pic16/libio/Makefile.in,
33493           device/lib/pic16/startup/Makefile.in,
33494           device/lib/pic16/libsdcc/Makefile.in,
33495           device/lib/pic16/libc/Makefile.in,
33496           support/scripts/sdcc.nsi:
33497           pic* device files moved to non-free
33498         * device/include/pic/*.h: moved to device/non-free/include/pic
33499         * device/include/pic16/*.h: moved to device/non-free/include/pic16
33500         * device/lib/pic/libdev/*.c, device/lib/pic/libdev/mkall.sh:
33501           moved to device/non-freelib/pic/libdev
33502         * device/lib/pic16/libdev/*.c, device/lib/pic16/libdev/mkmk.sh,
33503           device/lib/pic16/libdev/Makefile.am,
33504           device/lib/pic16/libdev/Makefile.in:
33505           moved to device/non-free/lib/pic16/libdev
33506         * device/lib/pic16/pics.all: moved to device/non-free/lib/pic16
33507         * device/non-free/include/Makefile.in,
33508           device/non-free/include/clean.mk,
33509           device/non-free/lib/pic16/config.h.in,
33510           device/non-free/lib/pic16/configure,
33511           device/non-free/lib/pic16/Makefile.in,
33512           device/non-free/lib/pic16/configure.ac,
33513           device/non-free/lib/pic16/Makefile.common,
33514           device/non-free/lib/pic16/bootstrap.sh,
33515           device/non-free/lib/pic16/depcomp,
33516           device/non-free/lib/pic16/Makefile.am,
33517           device/non-free/lib/pic16/missing,
33518           device/non-free/lib/pic16/aclocal.m4,
33519           device/non-free/lib/pic16/install-sh,
33520           device/non-free/lib/Makefile.in,
33521           device/non-free/lib/clean.mk,
33522           device/non-free/lib/pic/configure,
33523           device/non-free/lib/pic/Makefile.in,
33524           device/non-free/lib/pic/Makefile.subdir,
33525           device/non-free/lib/pic/configure.in,
33526           device/non-free/lib/pic/Makefile.rules,
33527           device/non-free/lib/pic/Makefile.common.in,
33528           device/non-free/lib/incl.mk: added
33530 2010-10-03 Borut Razem <borut.razem AT siol.net>
33532         * device/include/mcs51/ser_ir.h, device/lib/ser_ir_cts_rts.c,
33533           device/lib/ser_ir.c, device/include/pic16/pic18fregs.h:
33534           sdcc library license changed to GPL+LE
33535         * configure.in, configure, sdccconf_in.h, sdcc_vc_in.h:
33536           introduced NON_FREE_INCLUDE_DIR_SUFFIX and NON_FREE_LIB_DIR_SUFFIX
33537         * src/SDCCmain.c, src/SDCCglobl.h:
33538           search / include non-free libraries and header files
33539         * .version, doc/sdccman.lyx: bumped version to 2.9.8
33541 2010-10-02 Maarten Brock <sourceforge.brock AT dse.nl>
33543         * device/include/stdlib.h,
33544         * device/lib/_atof.c,
33545         * device/lib/_atoi.c,
33546         * device/lib/_atol.c: fixed const in prototypes
33548 2010-09-28 Philipp Klaus Krause <pkk AT spth.de>
33550         * src/SDCCsymt.c,
33551           support/regression/tests/bug-3034585.c:
33552           Fixed #3034585.
33554 2010-09-27 Maarten Brock <sourceforge.brock AT dse.nl>
33556         * src/SDCCerr.c,
33557         * src/SDCCerr.h: added W_DEPRECATED_OPTION
33558         * src/ds390/main.c,
33559         * src/mcs51/main.c,
33560         * src/SDCCmain.c (linkEdit): deprecated --no-pack-iram
33562 2010-09-26 Philipp Klaus Krause <pkk AT spth.de>
33564         * src/hc08/peeph.def:
33565           Fixed #1715020.
33566         * src/SDCCerr.h,
33567           src/z80/gen.c,
33568           src/SDCCast.c:
33569           Minor spelling corrections in comments.
33571 2010-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
33573         * src/SDCCicode.c (geniCodeStruct): fixed bug 3029630
33574         * support/regression/tests/bug3029630.c: new, added
33576 2010-09-24 Borut Razem <borut.razem AT siol.net>
33578         * device/include/mcs51/XC866.h: fixed copy & paste error in the comment
33580 2010-09-22 Borut Razem <borut.razem AT siol.net>
33582         * device/include/mcs51/XC866.h, device/include/mcs51/reg764.h,
33583           device/include/mcs51/at89s8253.h:
33584           sdcc library license changed to GPL+LE
33586 2010-09-20 Philipp Klaus Krause <pkk AT spth.de>
33588         * src/doc/sdccman.lyx:
33589           Fixed #3071726.
33591 2010-09-19 Borut Razem <borut.razem AT siol.net>
33593         * support/regression/ports/pic14/spec.mk,
33594           support/regression/ports/pic16/spec.mk,
33595           support/regression/ports/ds390/spec.mk,
33596           support/regression/ports/hc08/spec.mk,
33597           support/regression/ports/ucz80/spec.mk,
33598           support/regression/ports/mcs51-common/spec.mk:
33599           fixed mingw32 cross compiled regression tests:
33600           include top source directory when cross compiling,
33601           launch win32 native simulator with wine,
33602           removed wrong quotes, call build machine native timeout utility
33603         * src/SDCCmain.c, src/ds390/main.c:
33604           ds390 default library path was wrong
33605         * src/SDCC.lex: implemented punctuators, as defined in
33606           ISO/IEC 9899:1999, chapter 6.4.6#3
33607           support/regression/tests/preproc.c: punctuators regression test
33609 2010-09-19 Maarten Brock <sourceforge.brock AT dse.nl>
33611         * src/SDCCicode.c (geniCodeJumpTable): fixed bug 3069862
33612         * support/regression/tests/bug2947189.c: new, added
33614 2010-09-18 Borut Razem <borut.razem AT siol.net>
33616         * debugger/mcs51/cmd.c:
33617           fixed warning: suggest explicit braces to avoid ambiguous 'else'
33619 2010-09-18 Philipp Klaus Krause <pkk AT spth.de>
33621         * src/doc/sdccman.lyx:
33622           Minor update in ANSI conformance section.
33624 2010-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
33626         * src/SDCCast.c (ast_print): fixed for MSVC
33627         * src/SDCCicode.c (geniCodeJumpTable): fixed bug 2947189
33628         * support/librarian/sdcclib.c: test return values of system and fgets
33630 2010-09-13 Borut Razem <borut.razem AT siol.net>
33632         * device/lib/_divulong.c, device/lib/_decdptr.c, device/lib/_divuint.c,
33633           device/lib/pic16/libsdcc/long/divulong.c,
33634           device/lib/pic16/libsdcc/int/divuint.c,
33635           device/lib/pic16/libsdcc/char/divuchar.c,
33636           device/lib/hc08/_divuint.c, device/lib/hc08/_divulong.c,
33637           device/lib/hc08/_mullong.c:
33638           sdcc library license changed to GPL+LE
33640 2010-09-13 Raphael Neider <rneider AT web.de>
33642         * configure.in, custom_in.h:
33643           revive support for big-endian machines, broken since r5954
33644         * sim/ucsim/configure.in, sim/ucsim/custom.h, sim/ucsim/custom_in.h:
33645           have configure create custom.h next to ddconfig.h in the build tree
33646           so that CPP will find it
33647         * configure, sdccconf_in.h, sim/ucsim/configure,
33648           sim/ucsim/ddconfig_in.h: regenerated
33650 2010-09-13 Borut Razem <borut.razem AT siol.net>
33652         * device/lib/pic16/libc/utils/cvtdec.S,
33653           device/lib/pic16/libc/stdlib/g_ftoa.S:
33654           sdcc library license changed to GPL+LE
33656 2010-09-12 Borut Razem <borut.razem AT siol.net>
33658         * debugger/mcs51/cmd.c, src/SDCCpeeph.c, src/SDCChasht.c,
33659           src/SDCCval.c, src/SDCCicode.c, src/SDCCset.c, src/SDCCglue.c,
33660           src/z80/gen.c, src/pic16/pcodepeep.c, src/pic16/pcoderegs.c,
33661           src/pic16/pcode.c, src/SDCCast.c, sdas/asranlib/asranlib.c,
33662           support/makebin/makebin.c, support/Util/findme.c:
33663           fixed defects, reported by Wipro DeepCheck static analysis tool
33664           src/SDCCerr.h, src/SDCCglobl.h, src/common.h:
33665           introduced sdcc style assert
33666         * ../asxxxx: removed copy of asxxxx v2.0 sources from sdcc source tree:
33667           asxxxx v3.0 sources are availeble at
33668           http://shop-pdp.kent.edu/ashtml/asxarc.htm
33670 2010-09-11 Borut Razem <borut.razem AT siol.net>
33672         * debugger/mcs51/cmd.c, src/SDCCbitv.c, sdas/asranlib/asranlib.c:
33673           fixed defects, reported by Wipro Static Analysis Report On SDCC
33674         * src/SDCCsymt.c: fixed redundant variable in SDCCsymt.c: getSpec(),
33675           thanks to Jan Waclawek
33677 2010-09-11 Maarten Brock <sourceforge.brock AT dse.nl>
33679         * src/mcs51/gen.c (genFunction, genEndFunction): use bitVectIsZero,
33680          (genLiteralAssign): factored out of genAssign,
33681          (litPut): new helper function for genDataPointerSet,
33682          (genDataPointerSet, genAssign): use genLiteralAssign instead of patch
33683           1490145 for consistency
33685 2010-09-07 Philipp Klaus Krause <pkk AT spth.de>
33687         * src/z80/gen.c,
33688           src/z80/peeph-z80.def:
33689           Minor comments.
33690         * sim/ucsim/z80.src/inst.cc:
33691           Fixed #3061455.
33693 2010-09-06 Raphael Neider <rneider AT web.de>
33695         * configure.in, debugger/mcs51/configure.in,
33696           device/lib/pic/configure.in, device/lib/pic16/configure.ac,
33697           sim/ucsim/configure.in, sim/ucsim/custom.h,
33698           sim/ucsim/ddconfig_in.h, support/packihx/configure.in:
33699           updated build system to allow autoreconf -fi to set up the project,
33700           regenerated files
33702 2010-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
33704         * device/include/mcs51/AT89C513xA.h: new, added, thanks Anirban Brahmachari
33706 2010-08-26 Philipp Klaus Krause <pkk AT spth.de>
33708         * src/z80/peeph-z80.def:
33709           Fixed #3052514.
33711 2010-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
33713         * src/ds390/gen.c (genCast): fixed bug with ruonly src and dest downcast,
33714           (AOP_IS_STR): replaced thoughout with IS_OP_RUONLY,
33715           synced with mcs51,
33716           (genDjnz): fixed bug 2995824
33717         * src/mcs51/gen.c (continueIfTrue, jumpIfTrue, jmpTrueOrFalse, genAnd,
33718           genOr, genXor, genDjnz): fixed bugs 2989562 and 2995824
33719         * src/ds390/ralloc.c,
33720         * src/SDCC.lex: cosmetic changes
33721         * support/regression/tests/bug2686159.c: disabled segfaulting test on host
33722         * support/regression/tests/bug2989562.c: new, added
33724 2010-08-24 Maarten Brock <sourceforge.brock AT dse.nl>
33726         * src/SDCCcse.c (cseBBlock): fixed bug 2686159 with part of patch by Robert
33727           Larice, thanks
33728         * src/SDCCBBlock.c,
33729         * src/SDCCglobl.h: cosmetic changes
33730         * support/regression/tests/bug2686159.c: new, added
33732 2010-08-23 Maarten Brock <sourceforge.brock AT dse.nl>
33734         * src/mcs51/gen.c (genAnd, genOr, genXor): fixed bug 2944399
33735         * src/mcs51/ralloc.c (packRegsForAccUse): disabled strange exception
33736         * support/regression/tests/bug2944399.c: new, added
33738 2010-08-22 Borut Razem <borut.razem AT siol.net>
33740         * device/include/mcs51/msc1210.h:
33741           sdcc library license changed to GPL+LE
33743 2010-08-20 Raphael Neider <rneider AT web.de>
33745         * device/include/pic16/adc.h,
33746         * device/include/pic16/pic18fam.h,
33747         * device/include/pic16/usart.h,
33748         * device/lib/pic16/libio/adc/*.c,
33749         * device/lib/pic16/libio/usart/*.c
33750         * doc/sdccman.lyx,
33751         * support/scripts/inc2h-pic16.pl,
33752         * support/scripts/pic18fam-h-gen.pl: automatized device I/O style
33753           classification, provide USART initialization for more devices,
33754           addresses item 2 from #1631532.
33756 2010-08-18 Borut Razem <borut.razem AT siol.net>
33758         * sdas/asxxsrc/asdbg.c:
33759           cosmetic change
33760         * device/include/malloc.h, device/include/mcs51/serial.h,
33761           device/lib/serial.c: sdcc library license changed to GPL+LE
33763 2010-08-17 Maarten Brock <sourceforge.brock AT dse.nl>
33765         * sdas/as6808/as_hc08.dsp,
33766         * sdas/as8051/asx8051.dsp,
33767         * sdas/asgb/asgb.dsp,
33768         * sdas/asz80/as_z80.dsp: asnoice.c renamed to asdbg.c (sync with asxxxx)
33770 2010-08-17 Borut Razem <borut.razem AT siol.net>
33772         * sdas/as8051/Makefile.in, sdas/asz80/Makefile.in,
33773           sdas/as6808/Makefile.in, sdas/asgb/Makefile.in:
33774           asnoice.c renamed to asdbg.c (sync with asxxxx)
33775         * sdas/asxxsrc/asxxxx.h:
33776           reverted fix for bug 3041470,
33777           DefineCDB_Line() renamed to DefineSDCC_Line() (sync with asxxxx)
33778         * sdas/asxxsrc/asmain.c:
33779           DefineCDB_Line() renamed to DefineSDCC_Line() (sync with asxxxx)
33780         * sdas/asxxsrc/asdbg.c: renamed from asxxsrc/asnoice.c,
33781           use dbuf to dynamically allocate debug symbol
33782         * sdas/linksrc/aslink.h:
33783           changed NCPS to PATH_MAX - quick & dirty fix for asld part of
33784           bug 3041470; proper solution would be support of arbitrary identifier
33785           lenght using dynamic buffers
33787 2010-08-16 Raphael Neider <rneider AT web.de>
33789         * src/pic16/glue.c (pic16emitStaticSeg): allow extern declarations with
33790           incomplete types, fixes #3041150
33792 2010-08-15 Maarten Brock <sourceforge.brock AT dse.nl>
33794         * sdas/asxxsrc/asxxxx.h: changed NCPS to PATH_MAX to fix bug 3041470
33796 2010-08-15 Borut Razem <borut.razem AT siol.net>
33798         * support/regression/tests/bug3037889.c:
33799           testBug3037889() renamed to Bug3037889()
33800           so that the function is compiled but not executed
33801         * src/pic/ralloc.c:
33802           fixed bug #3038483: running make of revision 5905 produces warnings
33804 2010-08-13 Borut Razem <borut.razem AT siol.net>
33806         * device/lib/pic16/libc/stdio/fprintf.c,
33807           device/lib/pic16/libc/stdio/printf.c,
33808           device/lib/pic16/libc/stdio/printf_small.c,
33809           device/lib/pic16/libc/stdio/printf_tiny.c,
33810           device/lib/pic16/libc/stdio/putchar.c,
33811           device/lib/pic16/libc/stdio/sprintf.c,
33812           device/lib/pic16/libc/stdio/streams.c,
33813           device/lib/pic16/libc/stdio/strmgpsim.c,
33814           device/lib/pic16/libc/stdio/strmmssp.c,
33815           device/lib/pic16/libc/stdio/strmputchar.c,
33816           device/lib/pic16/libc/stdio/strmusart.c,
33817           device/lib/pic16/libc/stdio/vfprintf.c,
33818           device/lib/pic16/libc/stdio/vprintf.c,
33819           device/lib/pic16/libc/stdio/vsprintf.c:
33820           sdcc library license changed to GPL+LE
33822 2010-08-12 Maarten Brock <sourceforge.brock AT dse.nl>
33824         * src/SDCCloop.c (basicInduction): fixed bug 3034976 with patch 3043854,
33825           thanks Ruud van Silfhout
33826         * support/regression/tests/bug3037889.c: added test for bug 3034976
33828 2010-08-10 Maarten Brock <sourceforge.brock AT dse.nl>
33830         * src/ds390/gen.c: fixed by applying patch from bug 3037889, thanks Patrik
33831           Persson
33832         * src/SDCCerr.h,
33833         * src/SDCCerr.c (vwerror, werror, werrorfl): return if warning was printed
33834         * src/SDCCast.c (checkPtrCast): only print from and to types when warning
33835           or error was printed
33836         * support/regression/tests/bug3037889.c: new, added
33838 2010-08-09 Maarten Brock <sourceforge.brock AT dse.nl>
33840         * support/regression/tests/bug1757671.c: fixed for 64 bit arch
33841         * src/SDCCval.c (valMinus): applied new patch from bug 3037889,
33842           thanks Patrik Persson
33844 2010-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
33846         * src/SDCCval.c (valMinus): applied patch from bug 3037889 though not fixed,
33847           thanks Patrik Persson
33848         * src/z80/gen.c (genCmp): fixed bug 3041519
33850 2010-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
33852         * sim/ucsim/z80.src/inst.cc (inst_add): moved add_HL_Word to z80mac.h,
33853           (inst_daa, inst_scf, inst_ccf, inst_sub): fixed flags
33854           (inst_jp): fixed JP PO/PE
33855         * sim/ucsim/z80.src/inst_ed.cc (inst_ed): fixed flags
33856         * sim/ucsim/z80.src/inst_xd.cc (inst_Xd_add): moved add_IX_Word to z80mac.h
33857         * sim/ucsim/z80.src/instcl.h: cosmetics
33858         * sim/ucsim/z80.src/z80.cc (print_regs): print N flag
33859         * sim/ucsim/z80.src/z80mac.h: fixed flags
33860         * src/z80/gen.c (genIfxJump): simplified
33861           (genCmp): fixed bug 1757671
33862         * device/include/stdbool.h: __SDCC_WEIRD_BOOL==2 for hc08/pic14/pic16
33863         * support/regression/tests/bool.c: run test only once,
33864           run half the cases for __bit
33865         * support/regression/tests/bug1757671.c: new, added
33867 2010-08-07 Philipp Klaus Krause <pkk AT spth.de>
33869         * src/SDCCicode.c,
33870           support/regression/tests/bool.c:
33871           Fixed #3040914.
33873 2010-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
33875         * src/SDCCerr.c,
33876         * src/SDCCerr.h: added E_INCOMPLETE_FIELD
33877         * src/SDCCsymt.c (checkStructFlexArray, compStructSize): fixed bug 1518279
33879 2010-08-05 Borut Razem <borut.razem AT siol.net>
33881         * device/include/mcs51at89S8252.h, device/include/mcs51/at89c55.h,
33882           device/include/mcs51/at89x51.h, sdcc/device/include/mcs51/at89x52.h,
33883           device/include/mcs51/ser.h, device/lib/_ser.c:
33884           sdcc library license changed to GPL+LE
33886 2010-08-04 Borut Razem <borut.razem AT siol.net>
33888         * sim/ucsim/cmd.src/cmdlex.cc: regenerated,
33889           fix for patch #3038644: Fix for GCC-4.4 compile error
33890         * device/include/z80/z180.h, device/include/hc08/mc68hc908apxx.h,
33891           sdcc/device/include/hc08/mc68hc908jkjl.h:
33892           sdcc library license changed to GPL+LE
33894 2010-08-04 Maarten Brock <sourceforge.brock AT dse.nl>
33896         * src/ds390/gen.c (genCmpGt, genCmpLt),
33897         * src/mcs51/gen.c (genCmpGt, genCmpLt): fixed bug 1994062 part 1
33898           (genCmp): use optimization from bug 1994062
33899         * src/SDCCast.c (decorateType '['):  fixed bug 1994062 part 2
33900         * src/SDCCset.c: cosmetic changes
33901         * support/regression/tests/bug1994062.c: new, added
33903 2010-08-03 Raphael Neider <rneider AT web.de>
33905         * device/include/pic16/stdio.h,
33906         * device/lib/pic16/libc/stdio/putchar.c: resurrect PUTCHAR macro,
33907           fixes #3038656
33909 2010-08-03 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
33911         * src/mcs51/peeph.def: fixed bug #3038728 (consecutive &=
33912           on volatile variable)
33914 2010-08-03 Raphael Neider <rneider AT web.de>
33916         * src/pic/gen.c (genDataPointerSet): properly determine operand size,
33917           fixes #3038372
33919 2010-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
33921         * src/ds390/gen.c (genCast),
33922         * src/mcs51/gen.c (genCast): always copy the pointer
33923         * src/hc08/gen.c: cosmetic changes
33924         * src/SDCCast.h: added checkPtrCast
33925         * src/SDCCicode.c (geniCodeCast),
33926         * src/SDCCast.c (checkPtrCast): factored out of geniCodeCast,
33927           (decorateType CAST): check pointer casts
33928         * src/SDCCerr.c,
33929         * src/SDCCerr.h: changed error E_CANNOT_USE_GENERIC_POINTER to warning
33930           W_USING_GENERIC_POINTER
33931         * src/SDCCglue.c (aopLiteralLong): moved check to decorateType,
33932           (pointerTypeToGPByte): exit on internal error, return -1 for GPTR warning
33933           (_printPointerType): handle 4 byte pointers,
33934           (printGPointerType): copy whole generic pointer when warned
33935         * support/regression/tests/bug3027957.c (correct): added for bug 3034400
33937 2010-08-02 Philipp Klaus Krause <pkk AT spth.de>
33939         * sim/ucsim/z80.src/inst.cc:
33940           Fixed #2801879.
33941         * support/regression/tests/bug2862650.c:
33942           Improved redundancy.
33944 2010-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
33946         * src/SDCCicode.c (ast2iCode): fixed bug 1962613
33947         * support/regression/tests/bug1962613.c: new, added
33948         * src/SDCCsymt.c (compareTypeExact): fixed the fix for bug 1929140
33949         * support/regression/tests/bug1115321.c: fixed next problem on solaris
33951 2010-08-01 Philipp Klaus Krause <pkk AT spth.de>
33953         * support/regression/tests/bug2862650.c:
33954           Redundant regression test for #2862650.
33956 2010-08-01 Borut Razem <borut.razem AT siol.net>
33958         * device/include/ds80c390.h, device/include/tinibios.h,
33959           device/include/time.h, device/include/ds390/serial390.h,
33960           device/lib/time.c, device/lib/gets.c, device/lib/ds390/lcd390.c,
33961           device/lib/ds390/tinibios.c, device/lib/ds390/rtc390.c,
33962           device/lib/ds390/i2c390.c, device/lib/ds400/tinibios.c:
33963           sdcc library license changed to GPL+LE
33965 2010-07-30 Borut Razem <borut.razem AT siol.net>
33967         * device/lib/printf_large.c, device/lib/sprintf.c,
33968           device/lib/vprintf.c:
33969           sdcc library license changed to GPL+LE
33971 2010-07-30 Maarten Brock <sourceforge.brock AT dse.nl>
33973         * src/SDCC.y: fixed bug 1579664
33974         * support/regression/tests/bug1579664.c: new, added
33975         * src/SDCCsymt.c (compareTypeExact): fixed bug 1929140
33976         * support/regression/tests/bug1929140.c: new, added
33978 2010-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
33980         * src/SDCCerr.c,
33981         * src/SDCCerr.h
33982         * src/SDCCglue.c (printIvalCharPtr),
33983         * src/SDCCicode.c (geniCodeCast): changed E_LITERAL_GENERIC and
33984           E_NONPTR2_GENPTR to warnings
33985         * support/regression/tests/bug1115321.c: fixed problem on solaris
33986         * support/regression/tests/literalop.c: only test char overflow on SDCC
33988 2010-07-29 Borut Razem <borut.razem AT siol.net>
33990         * support/regression/tests/literalop.c:
33991           fixed regresssion test failure on host target (gcc -O2):
33992           the test result was udefined according to C standard 6.5 #5 and
33993           implementation dependent, so it was removed.
33994           Thanks to Jan Waclawek for the explanation that it is not a gcc bug.
33996 2010-07-28 Maarten Brock <sourceforge.brock AT dse.nl>
33998         * device/lib/printf_large.c: small optimization
33999         * src/hc08/gen.c (transferRegReg, genPointerGet): fixed bug 1115321
34000         * src/hc08/ralloc.c: cosmetic changes
34001         * src/pic16/glue.c (pic16emitStaticSeg),
34002         * src/SDCCglue.c (emitStaticSeg): fixed bug 1474589
34003         * src/z80/gen.c: fixed some warnings
34004         * support/regression/tests/bug1115321.c: new, added
34006 2010-07-26 Borut Razem <borut.razem AT siol.net>
34008         * src/SDCCutil.c:
34009           applied patch #3034715: Report correct host for x86_64 Macs,
34010           thanks to Patrik Persson
34012 2010-07-26 Philipp Klaus Krause <pkk AT spth.de>
34014         * src/z80/gen.c,
34015           src/z80/main.c,
34016           support/regression/tests/float_single.c:
34017           Fixed #2862650.
34019 2010-07-25 Philipp Klaus Krause <pkk AT spth.de>
34021         * src/z80/gen.c:
34022           Fixed #3027961.
34024 2010-07-25 Borut Razem <borut.razem AT siol.net>
34026         * src/SDCCerr.c, src/SDCCerr.h, src/SDCC.y, src/SDCC.lex,
34027           src/SDCCast.c, src/SDCCast.h, device/include/stddef.h,
34028           device/include/pic16/stddef.h, support/regression/tests/zeropad.c,
34029           support/regression/tests/offsetof.c:
34030           applied patch #2801126: __builtin_offsetof implementation,
34031           thanks to Robert Larice
34032         * support/regression/ports/pic16/spec.mk,
34033           support/regression/ports/pic16/support.c:
34034           _asm and _endasm changed to __asm and __endasm, reentrant changed to __reentrant
34035         * device/include/pic16/stdlib.h: added declarations of abs() and labs()
34037 2010-07-24 Borut Razem <borut.razem AT siol.net>
34039         * device/lib/pic16/libm/*, device/lib/pic16/libio/adc/*,
34040           device/lib/pic16/libio/i2c/*, device/lib/pic16/libio/usart/*,
34041           device/lib/pic16/libsdcc/long/*,
34042           device/lib/pic16/libsdcc/fixed16x16/*,
34043           device/lib/pic16/libsdcc/stack/*, device/lib/pic16/libsdcc/lregs/*,
34044           device/lib/pic16/libsdcc/char/*:
34045           sdcc library license changed to GPL+LE
34047 2010-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
34049         * src/mcs51/ralloc.c,
34050         * src/SDCCicode.c: cosmetic changes
34051         * src/mcs51/gen.c (genPointerGet, genPointerSet),
34052         * src/SDCCglue.c (aopLiteralLong),
34053         * src/SDCCsymt.c (computeType),
34054         * src/SDCCval.c (valPlus),
34055         * src/z80/ralloc.c (serialRegAssign, packRegisters): fixed bug 3027957
34056         * support/regression/tests/bug3027957.c: new, added
34057         * support/regression/fwk/include/testfwk.h: removed flaky NULL definition
34058         * support/regression/tests/absolute.c,
34059         * support/regression/tests/bug-2982135.c,
34060         * support/regression/tests/bug-524691.c,
34061         * support/regression/tests/bug1496419.c,
34062         * support/regression/tests/bug2817646.c,
34063         * support/regression/tests/driverstruct.c: include <stddef.h> for NULL
34065 2010-07-18 Maarten Brock <sourceforge.brock AT dse.nl>
34067         * src/SDCCast.c (decorateType CAST): fixed bug 2941749
34068         * src/SDCCBBlock.c,
34069         * src/SDCCcse.c: cosmetic changes
34070         * src/SDCCglue.c (printIvalPtr): added names
34071         * support/regression/ports/ds390/spec.mk,
34072         * support/regression/ports/hc08/spec.mk,
34073         * support/regression/ports/mcs51-common/spec.mk,
34074         * support/regression/ports/ucz80/spec.mk: added .PRECIOUS for using -j
34075         * support/regression/tests/absolute.c: added test for bug 2941749
34077 2010-07-17 Maarten Brock <sourceforge.brock AT dse.nl>
34079         * src/SDCCcse.c,
34080         * src/SDCCopt.c,
34081         * src/SDCCicode.c: cosmetic changes
34082         * src/SDCCloop.c (loopInduction): fixed bug 2889032
34083         * support/regression/tests/bug2889032.c: new, added
34085 2010-07-15 Borut Razem <borut.razem AT siol.net>
34087         * sdas/as8051/Makefile.in, sdas/asz80/Makefile.in,
34088           sdas/linksrc/Makefile.in, sdas/as6808/Makefile.in,
34089           sdcc/sdas/asgb/Makefile.in:
34090           fixed bug #3030113: assembler Makefile.in missing trailing '@' on
34091           MAKEPDEP= stmt
34093 2010-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
34095         * src/SDCCsymt.h: added IS_SMALL_PTR
34096         * src/mcs51/ralloc.c (packRegsForOneuse): check for small pointers, check
34097             all subsequent params to fix bug 3004918
34098         * support/regression/tests/bug3004918.c: new, added
34099         * src/SDCCloop.c: cosmetic changes
34100         * src/mcs51/main.c (_mcs51_keywords): removed duplicate keywords,
34101           (get_model): fixed bug 3018737
34103 2010-07-10 Maarten Brock <sourceforge.brock AT dse.nl>
34105         * src/SDCCast.c (processParms): fixed bug 3002698
34106         * src/SDCCast.h: cosmetic changes
34108 2010-07-05 Borut Razem <borut.razem AT siol.net>
34110         * support/regression/ports/pic14/spec.mk,
34111           support/regression/ports/pic16/spec.mk,
34112           support/regression/ports/ds390/spec.mk,
34113           support/regression/ports/hc08/spec.mk,
34114           support/regression/ports/ucz80/spec.mk,
34115           support/regression/ports/mcs51-common/spec.mk:
34116           mingw build cross reggression testing with wine
34118 2010-07-03 Philipp Klaus Krause <pkk AT spth.de>
34120         * support/scripts/sdcc.nsi: removed unix2dos conversion
34122 2010-06-28 Philipp Klaus Krause <pkk AT spth.de>
34124         * device/lib/z80/modmixed.s:
34125           Fixed missing line.
34127 2010-06-25 Borut Razem <borut.razem AT siol.net>
34129         * device/lib/pic16/libsdcc/float/*, device/lib/pic16/startup/*:
34130           sdcc library license changed to GPL+LE
34132 2010-06-25 Philipp Klaus Krause <pkk AT spth.de>
34134         * device/lib/z80/mod.s,
34135           device/lib/z80/Makefile.in,
34136           device/lib/z80/modmixed.s,
34137           device/lib/z80/modsigned.s,
34138           device/lib/z80/divmixed.s,
34139           device/lib/z80/divsigned.s,
34140           device/lib/z80/modunsigned.s:
34141           Z80 division library reorganization.
34143 2010-06-23 Philipp Klaus Krause <pkk AT spth.de>
34145         * device/lib/z80/divsigned.s:
34146           Minor cleanup
34147         * src/SDCCpeeph.c,
34148           src/z80/peep.h,
34149           src/z80/main.c,
34150           src/z80/peep.c,
34151           src/z80/peeph-z80.def,
34152           Implemented correct instruction size calculation, replacing estimate.
34154 2010-06-20 Borut Razem <borut.razem AT siol.net>
34156         * src/SDCCmain.c, src/pic/main.c, src/pic16/main.c:
34157           fixed bug #3015137: -c -o not working as expected (caused by fix for
34158           #2951083)
34159         * device/lib/pic16/libc/string/*, device/lib/pic16/libc/utils/cnvint.S,
34160           device/lib/pic16/libc/utils/cnvfrac.S:
34161           sdcc library license changed to GPL+LE
34163 2010-06-19 Borut Razem <borut.razem AT siol.net>
34165         * device/include/pic/pic14devices.txt,
34166           device/include/pic16/pic16devices.txt:
34167           license changed to GPL - files are not part of sdcc library
34168         * device/lib/z80/divunsigned.s, device/lib/pic16/debug/gstack/gstack.c,
34169           device/lib/pic16/libsdcc/int/*, device/lib/pic16/libc/stdlib/*:
34170           sdcc library license changed to GPL+LE
34172 2010-06-15 Philipp Klaus Krause <pkk AT spth.de>
34174         * device/lib/z80/abs.s,
34175           device/lib/z80/Makefile.in:
34176           Z80-specific abs().
34178 2010-06-14 Philipp Klaus Krause <pkk AT spth.de>
34180         * src/SDCCpeeph.c,
34181           src/SDCCpeeph.h,
34182           src/port.h,
34183           src/mcs51/peeph.def,
34184           src/ds390/peeph.def,
34185           src/avr/peeph.def,
34186           src/z80/peep.h,
34187           src/z80/peep.c,
34188           src/z80/peeph-z80.def,
34189           src/z80/peeph-gbz80.def:
34190           Peephole cleanup.
34192 2010-06-13 Maarten Brock <sourceforge.brock AT dse.nl>
34194         * sdas/linksrc/lksym.c,
34195         * src/ds390/main.c,
34196         * src/SDCCast.c: cosmetic changes
34197         * src/SDCC.y: removed type_specifier2, moved AT into type_specifier,
34198             fixed bug 29979999
34199         * src/SDCCsymt.c (addDecl): fixed char* __code __at(N) bug
34200         * support/regression/tests/absolute.c: added test for bug 29979999
34202 2010-06-12 Borut Razem <borut.razem AT siol.net>
34204         * device/include/asm/pic/features.h, device/include/pic/*.h,
34205           device/include/pic/p16f_common.inc:
34206           sdcc library license changed to GPL+LE
34208 2010-06-10 Philipp Klaus Krause <pkk AT spth.de>
34210         * src/SDCCpeeph.c,
34211           src/z80/peep.c:
34212           Improved canAssign().
34214 2010-06-07 Philipp Klaus Krause <pkk AT spth.de>
34216         * src/port.h,
34217           src/SDCCpeeph.c,
34218           src/mcs51/main.c,
34219           src/pic/main.c,
34220           src/z80/peep.h,
34221           src/z80/main.c,
34222           src/z80/peep.c,
34223           src/z80/peeph-z80.def,
34224           src/pic16/main.c,
34225           src/hc08/main.c,
34226           src/ds390/main.c:
34227           Added canAssign() for use in peepholes.
34229 2010-06-07 Philipp Klaus Krause <pkk AT spth.de>
34231         * src/z80/gen.c,
34232           src/z80/mappings.i,
34233           src/z80/peeph-gbz80.def:
34234           Move generation of short jumps into peepholes.
34236 2010-06-05 Borut Razem <borut.razem AT siol.net>
34238         * device/include/asm/pic16/features.h, device/include/pic16/*.h,
34239           device/include/pic16/pic16devices.txt,
34240           device/include/pic16/p18fxxx.inc, device/lib/pic16/libsdcc/*.c:
34241           sdcc library license changed to GPL+LE
34243 2010-06-05 Maarten Brock <sourceforge.brock AT dse.nl>
34245         * sdas/asranlib/asranlib.c (do_ranlib): fixed text output
34246         * src/SDCCerr.c,
34247         * src/SDCCerr.h,
34248         * src/SDCC.y: changed E_STORAGE_CLASS_SPECIFIED_FOR_PARAMETER to
34249             E_STORAGE_CLASS_FOR_PARAMETER
34250         * src/SDCCcse.c,
34251         * src/SDCCdflow.c,
34252         * src/SDCCval.c: cosmetic changes
34253         * src/SDCCopt.c,
34254         * src/SDCCsymt.c,
34255         * src/SDCCsymt.h: removed double underscores from function names,
34256             fixed bug 3005305
34258 2010-06-03 Philipp Klaus Krause <pkk AT spth.de>
34260         * device/lib/_memcpy,
34261           device/lib/_memmove.c:
34262           Library cleanup.
34264 2010-06-02 Borut Razem <borut.razem AT siol.net>
34266         * doc/sdccman.lyx: corrected z80 assembler name, corrected revision
34267           date format
34269 2010-06-01 Philipp Klaus Krause <pkk AT spth.de>
34271         * src/z80/gen.c:
34272           Optimization of multibyte comparison.
34273         * src/SDCCpeeph.c,
34274           src/SDCCpeeph.h,
34275           src/z80/peeph-z80.def:
34276           Peephole barriers, fixes #1677178.
34278 2010-05-31 Borut Razem <borut.razem AT siol.net>
34280         * debugger/mcs51/simi.c, debugger/mcs51/cmd.c, debugger/mcs51/sdcdb.c,
34281           debugger/mcs51/sdcdb.h: enhanced help text formating, added usage
34282           (-h, -?, --help) and verbose (-v) command line options, SDCDB_VERSION
34283           bumped to 0.9
34284         * doc/sdccman.lyx: asxxxx and aslink renamed to sdas and sdld
34286 2010-05-30 Philipp Klaus Krause <pkk AT spth.de>
34288         * src/z80/peeph-z80.def:
34289           Minor peephole improvement.
34291 2010-05-25 Philipp Klaus Krause <pkk AT spth.de>
34293         * src/SDCCcse.c:
34294           Simplified division optimization.
34295         * src/z80/gen.c:
34296           Fixed comment alignment.
34297         * src/z80/peep.c,
34298           src/z80/peeph-z80.def:
34299           Peephole improvements, mostly negation.
34301 2010-05-24 Borut Razem <borut.razem AT siol.net>
34303         * src/SDCC.y, src/SDCCsymt.h: test if the parameter is a valid storage
34304           class specifier
34305         * src/hc08/gen.c, support/regression/tests/bug1875933.c:
34306           fixed bug #3006063: xor broken
34308 2010-05-23 Philipp Klaus Krause <pkk AT spth.de>
34310         * support/regression/tests/bug1875933.c:
34311           Disabled recently introduced regression test on hc08, since it never worked there.
34313 2010-05-23 Philipp Klaus Krause <pkk AT spth.de>
34315         * src/z80/peep.c,
34316           src/z80/peeph-z80.def:
34317           Minor peephole improvements.
34319 2010-05-23 Borut Razem <borut.razem AT siol.net>
34321         * src/SDCCerr.c, src/SDCCerr.h, src/SDCCsymt.h, src/SDCC.y:
34322           fixed bug #2811521: sdcc doesn't accept register storage class
34323           specifier in func
34325 2010-05-21 Philipp Klaus Krause <pkk AT spth.de>
34327         * src/mcs51/gen.c,
34328           src/z80/gen.c,
34329           src/hc08/gen.c,
34330           src/ds390/gen.c,
34331           support/regression/tests/bug1875933.c:
34332           Completed fix for #1875933 applying #2892763.
34334 2010-05-21 Philipp Klaus Krause <pkk AT spth.de>
34336         * src/SDCCopt.c,
34337           src/z80/gen.c,
34338           support/regression/tests/memory.c:
34339           Fixed bug #2995398.
34341 2010-05-16 Philipp Klaus Krause <pkk AT spth.de>
34343         * src/z80/main.c:
34344           A tiny step toward implementing #1921061.
34346 2010-05-16 Philipp Klaus Krause <pkk AT spth.de>
34348         * src/z80/peeph-z80.def:
34349           Minor peephole improvements.
34351 2010-05-13 Borut Razem <borut.razem AT siol.net>
34353         * sdas/asxxsrc/asmain.c: fixed bug #2914707: as-z80 segmentation fault
34355 2010-05-10 Borut Razem <borut.razem AT siol.net>
34357         * src/Makefile.in: added -Wall
34358         * sdas/linksrc/lkarea.c: fixed bug #2999446: ds390 xram limit at 0x400000
34359         * asxxsrc/asmain.c: fixed compiler warning
34361 2010-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
34363         * support/cpp/sdcpp.dsp: added sdcpp-diagnostic.c
34365 2010-05-06 Maarten Brock <sourceforge.brock AT dse.nl>
34367         * device/lib/_strtok.c: cosmetic changes
34368         * sdas/linksrc/aslink.dsp: removed lkgb.c
34369         * src/SDCCast.c (gatherImplicitVariables): fixed bug 2956580, const iTemp
34370         * src/z80/peeph-gbz80.def (rule 16): fixed non-existent operandsNotSame bug
34371         * support/regression/tests/bug2956580.c: new, added
34373 2010-05-05 Borut Razem <borut.razem AT siol.net>
34375         * support/cpp/sdcpp.opt: fixed bug #2996806: Werror broken
34377 2010-05-04 Borut Razem <borut.razem AT siol.net>
34379         * debugger/mcs51/sdcdb.c: fixed compiler warnings
34381 2010-05-03 Borut Razem <borut.razem AT siol.net>
34383         * support/cpp/Makefile.in, support/cpp/sdcpp-diagnostic.c,
34384           support/cpp/sdcpp.h, support/cpp/sdcpp-opts.c:
34385           added c_cpp_error diagnostic callback function
34387 2010-05-01 Maarten Brock <sourceforge.brock AT dse.nl>
34389         * device/include/mcs51/C8051F330.h,
34390         * device/include/mcs51/C8051F336.h,
34391         * device/include/mcs51/C8051F350.h,
34392         * device/include/mcs51/C8051F410.h,
34393         * device/include/mcs51/C8051T630.h: applied patch 2994867, thanks Steven Borley
34395 2010-04-22 Borut Razem <borut.razem AT siol.net>
34397         * support/cpp/libcpp/charset.c, support/cpp/libcpp/directives.c,
34398           support/cpp/libcpp/errors.c, support/cpp/libcpp/expr.c,
34399           support/cpp/libcpp/files.c, support/cpp/libcpp/identifiers.c,
34400           support/cpp/libcpp/include/cpp-id-data.h,
34401           support/cpp/libcpp/include/cpplib.h,
34402           support/cpp/libcpp/include/line-map.h,
34403           support/cpp/libcpp/include/symtab.h, support/cpp/libcpp/init.c,
34404           support/cpp/libcpp/internal.h, support/cpp/libcpp/lex.c,
34405           support/cpp/libcpp/line-map.c, support/cpp/libcpp/macro.c,
34406           support/cpp/libcpp/mkdeps.c, support/cpp/libcpp/symtab.c,
34407           support/cpp/libcpp/traditional.c, support/cpp/libiberty/filenames.h,
34408           support/cpp/libiberty/hashtab.c, support/cpp/libiberty/hashtab.h,
34409           support/cpp/libiberty/obstack.h, support/cpp/libiberty/safe-ctype.h,
34410           support/cpp/libiberty/splay-tree.h, support/cpp/sdcpp.c,
34411           support/cpp/sdcpp.h, support/cpp/sdcpp-opts.c:
34412           SDCPP synchronized with GCC CPP release version 4.5.0
34414 2010-04-14 Borut Razem <borut.razem AT siol.net>
34416         * sim/ucsim/configure, sim/ucsim/configure.in, sim/ucsim/ddconfig_in.h:
34417           fixed bug #2986676: ucz80 fails to run z80 regtests on Solaris
34418           SPARC platform
34419         * sdccconf_in.h: corrected endianness detection on solaris
34420         * debugger/mcs51/symtab.c, debugger/mcs51/configure,
34421           debugger/mcs51/Makefile.in, debugger/mcs51/simi.c,
34422           debugger/mcs51/cmd.c, debugger/mcs51/symtab.h,
34423           debugger/mcs51/configure.in, debugger/mcs51/sdcdb.c,
34424           debugger/mcs51/config.h.in, debugger/mcs51/break.c:
34425           code cleaning: removed warnings, added -Wall c compiler flag, ...
34427 2010-04-12 Borut Razem <borut.razem AT siol.net>
34429         * device/lib/pic/libsdcc/*.[cS], device/lib/pic/*.[cS]:
34430           sdcc library license changed to GPL+LE
34432 2010-04-11 Borut Razem <borut.razem AT siol.net>
34434         * sim/ucsim/configure.in:
34435           define CXXFLAGS
34436         * device/lib/pic/libm/expf.c:
34437           corrected typo
34438         * device/include/mcs51/uPSD32xx.h:
34439           sdcc library license changed to GPL+LE
34441 2010-04-10 Borut Razem <borut.razem AT siol.net>
34443         * support/regression/ports/host/spec.mk.in:
34444           reverted change made 2010-04-08, since the include is needed by
34445           the libmullong.c regression test
34446         * device/lib/pic/libm/*.c:
34447           sdcc library license changed to GPL+LE
34449 2010-04-09 Borut Razem <borut.razem AT siol.net>
34451         * device/include/mcs51/msm8xc154s.h:
34452           sdcc library license changed to GPL+LE
34454 2010-04-08 Philipp Klaus Krause <pkk AT spth.de>
34455         * support/regression/tests/bug-2982135.c:
34456           Fixed a stupid mistake.
34458 2010-04-08 Borut Razem <borut.razem AT siol.net>
34460         * support/regressuin/test/bitvars.c:
34461           fixed failing test on on Solaris i386 SunPro C compiler;
34462           it behaves differently if -xO2 option is set or not
34463         * src/SDCCast.c, src/SDCCast.h:
34464           fixed SunPro C warning: anonymous struct declaration
34465         * device/include/mcs51/C8051F336.h, device/include/mcs51/C8051T610.h,
34466           device/include/mcs51/p89lpc938.h, device/include/mcs51/C8051F920.h,
34467           device/include/mcs51/C8051T600.h, device/include/mcs51/C8051T630.h,
34468           sdcc/device/include/hc08/mc68hc908qy.h, device/include/hc08/mc68hc908gp32.h:
34469           sdcc library license changed to GPL+LE
34470         * support/regression/ports/host/spec.mk.in: removed unneeded include
34471         * sim/ucsim/cmd.src/Makefile.in:
34472           sh test doesn't understand -e option
34473         * sim/ucsim/cmd.src/FlexLexer.h:
34474           fixed warning about missing newline at last line
34476 2010-04-07 Philipp Klaus Krause <pkk AT spth.de>
34477         * src/z80/ralloc.c,
34478           support/regression/tests/bug-2982135.c:
34479           Fixed bug #2982135.
34481 2010-04-06 Philipp Klaus Krause <pkk AT spth.de>
34482         * src/z80/gen.c,
34483           src/z80/peeph-z80.def
34484           Minor improvements, workaround for bug #2970351.
34485         * device/lib/z80/divunsigned.s,
34486           device/lib/z80/Makefile.in,
34487           device/lib/z80/div.s,
34488           device/lib/z80/divmixed.s
34489           device/lib/z80/divsigned.s:
34490           Division library reorganization.
34492 2010-04-05 Borut Razem <borut.razem AT siol.net>
34494         * sdcc/sim/ucsim/gui.src/Makefile.in:
34495           fixed for Solaris if CURSES_PKGS is empty
34496         * sdcc/device/include/mcs51/at89c51snd1c.h:
34497           sdcc library license changed to GPL+LE
34499 2010-04-04 Borut Razem <borut.razem AT siol.net>
34501         * device/include/hc08/mc68hc908jb8.h:
34502           sdcc library license changed to GPL+LE
34503         * sdas/linksrc/Makefile.in: Solaris make (GNU Make 3.81) doesn't like
34504           $$() syntax; converted to ``
34506 2010-04-03 Borut Razem <borut.razem AT siol.net>
34508         * device/include/mcs51/p89lpc933_4.h, device/include/mcs51/p89lpc935_6.h,
34509           device/include/mcs51/p89v66x.h, device/include/mcs51/p89c66x.h,
34510           device/include/mcs51/at89Sx051.h: sdcc library license changed to GPL+LE
34512 2010-04-03 Philipp Klaus Krause <pkk AT spth.de>
34513         * src/z80/gen.c:
34514           Fixed bug #2977331.
34516 2010-04-01 Borut Razem <borut.razem AT siol.net>
34518         * support/regression/ports/host/spec.mk.in:
34519           fixed execution of host regression tests on Mac OS X
34521 2010-03-28 Borut Razem <borut.razem AT siol.net>
34523         * device/include/ds400/ds400rom.h, device/include/asm/gbz80/features.h,
34524           device/lib/z80/crt0.s, device/lib/gbz80/stubs.s,
34525           device/lib/gbz80/div.s, device/lib/gbz80/fstubs.s,
34526           device/lib/gbz80/putchar.s, device/lib/gbz80/crt0.s,
34527           device/lib/gbz80/crt0_rle.s, device/lib/gbz80/heap.s,
34528           device/lib/gbz80/mul.s, device/lib/gbz80/shift.s,
34529           device/lib/ds400/memcpyx.c, device/lib/hc08/_mulint.c,
34530           device/lib/hc08/_ret.c, device/lib/hc08/_mullong.c,
34531           device/lib/mcs51/crtpagesfr.asm, device/lib/mcs51/crtxpush.asm,
34532           device/lib/mcs51/crtxpopbits.asm, device/lib/mcs51/crtxpushr0.asm,
34533           device/lib/mcs51/crtbank.asm, device/lib/mcs51/crtcall.asm,
34534           device/lib/mcs51/crtxinit.asm, device/lib/mcs51/crtstart.asm,
34535           device/lib/mcs51/crtxstack.asm, device/lib/mcs51/crtxclear.asm,
34536           device/lib/mcs51/crtclear.asm, device/lib/mcs51/crtxpop.asm,
34537         * device/include/asm/mcs51/features.h, device/include/mcs51/*.h:
34538           sdcc library license changed to GPL+LE
34540 2010-03-25 Borut Razem <borut.razem AT siol.net>
34542         * sdcc/configure, sdcc/configure.in, sdcc/sdccconf_in.h,
34543           sdcc/sim/ucsim/configure, sdcc/sim/ucsim/configure.in,
34544           sdcc/sim/ucsim/ddconfig_in.h:
34545           fixed endianness detection, enabled NetBSD build
34546         * sim/ucsim/cmd.src/cmdpars.cc:
34547           fixed alloca detection on Solaris x86. This is actually bison++ bug.
34548         * support/regression/tests/bitfields.c,
34549           support/regression/tests/literalop.c,
34550           support/regression/tests/bitwise.c,
34551           support/regression/tests/swap.c:
34552           fixed host regression tests on NetBSD sparc64
34554 2010-03-23 Borut Razem <borut.razem AT siol.net>
34556         * device/include/*.h, device/include/asm/z80/features.h,
34557           device/include/asm/default/features.h, device/include/z80/*.h,
34558           device/lib/z80/*.s, device/include/asm/ds390/features.h,
34559           device/lib/ds390/memcpyx.c, device/lib/ds390/putchar.c:
34560           sdcc library license changed to GPL+LE
34562 2010-03-20 Borut Razem <borut.razem AT siol.net>
34564         * main_in.mk, configure, debugger/mcs51/configure,
34565           debugger/mcs51/Makefile.in, debugger/mcs51/configure.in,
34566           configure.in, src/Makefile.in, src/port.mk, sim/ucsim/configure,
34567           sim/ucsim/cmd.src/Makefile.in, , sim/ucsim/xa.src/Makefile.in,
34568           sim/ucsim/z80.src/Makefile.in, sim/ucsim/gui.src/Makefile.in,
34569           sim/ucsim/gui.src/serio.src/Makefile.in,
34570           sim/ucsim/gui.src/obsolete/portmon.src/Makefile.in,
34571           sim/ucsim/sim.src/Makefile.in, sim/ucsim/main_in.mk,
34572           sim/ucsim/configure.in, sim/ucsim/hc08.src/Makefile.in:
34573           introduced MAKEDEP
34575 2010-03-20 Borut Razem <borut.razem AT siol.net>
34577         * configure.in, configure, support/regression/tests/bitfields.c,
34578           support/regression/tests/bug-1981238.c,
34579           support/regression/tests/preproc.c,
34580           support/regression/tests/strtok.c,
34581           support/regression/tests/structflexarray.c,
34582           support/regression/tests/malloc.c:
34583           regression test fixed for SunPro C compiler
34584         * support/regression/ports/host/spec.mk:
34585           adapted for SunPro C compiler & renamed to spec.mk.in
34586         * support/regression/Makefile.in:
34587           include ./ports/$(PORT)/spec.mk if exists
34588         * device/lib/Makefile.in:
34589           Solaris make (GNU Make 3.81) doesn't like $$() syntax;
34590           converted to ``
34592 2010-03-19 Borut Razem <borut.razem AT siol.net>
34594         * configure.in, configure, device/lib/z80/Makefile.in,
34595           device/lib/gbz80/Makefile.in, device/lib/ds390/Makefile.in,
34596           device/lib/Makefile.in, device/lib/ds400/Makefile.in,
34597           device/lib/mcs51/Makefile.in, device/lib/hc08/Makefile.in:
34598           autoconf test if ar accepts -S (GNU ar does, BSD ar does not)
34599         * src/pic/ralloc.c: Solaris SunPro C compiler doesn't like (void)0
34601 2010-03-18 Borut Razem <borut.razem AT siol.net>
34603         * sim/ucsim/ddconfig_in.h:
34604           fixed endianness detection, so that it works on Solaris
34606 2010-03-17 Borut Razem <borut.razem AT siol.net>
34608         * configure.in, configure, debugger/mcs51/configure.in,
34609           debugger/mcs51/configure, sim/ucsim/configure.in,
34610           sim/ucsim/configure, sim/ucsim/aclocal.m4, src/SDCCutil.c:
34611           preparations for *BSD and Solaris ports
34612         * configure, debugger/mcs51/configure, debugger/mcs51/configure.in,
34613           configure.in, sim/ucsim/configure, sim/ucsim/cmd.src/Makefile.in,
34614           sim/ucsim/xa.src/Makefile.in, sim/ucsim/z80.src/Makefile.in,
34615           sim/ucsim/gui.src/Makefile.in,
34616           sim/ucsim/gui.src/serio.src/Makefile.in,
34617           sim/ucsim/gui.src/obsolete/portmon.src/Makefile.in,
34618           sim/ucsim/sim.src/Makefile.in, sim/ucsim/configure.in,
34619           sim/ucsim/hc08.src/Makefile.in, sim/ucsim/s51.src/Makefile.in,
34620           sim/ucsim/avr.src/Makefile.in, sdas/as8051/Makefile.in,
34621           sdas/asz80/Makefile.in, sdas/linksrc/Makefile.in,
34622           sim/ucsim/main_in.mk: portable -Wall
34623         * support/cpp/Makefile.in, support/cpp/libiberty/alloca.c:
34624           added alloca.c
34626 2010-03-15 Borut Razem <borut.razem AT siol.net>
34628         * device/lib/*.c: sdcc library license changed to GPL+LE
34630 2010-03-13 Borut Razem <borut.razem AT siol.net>
34632         * support/scripts/sdcc.nsi: removed lib/src/z80/*.c from the package
34633         * src/z80/gen.c: fixed warning: suggest parentheses around assignment
34634           used as truth value
34635         * sdas/asxxsrc/sdas.c, sdas/linksrc/sdld.c:
34636           fixed warning: implicit declaration of function 'tolower'
34637         * sdas/asxxsrc/asmain.c: fixed warning: variable not initialized
34638         * device/include/limits.h, device/include/stdint.h,
34639           device/include/float.h, device/include/typeof.h,
34640           device/include/stddef.h, device/include/sdcc-lib.h,
34641           device/include/stdlib.h, device/include/stdio.h,
34642           device/include/math.h, device/include/asm/default/features.h,
34643           device/include/assert.h, device/include/setjmp.h,
34644           device/include/stdbool.h, device/include/ctype.h,
34645           device/include/stdarg.h, device/include/errno.h:
34646           sdcc library license changed to GPL+LE
34648 2009-03-11 Raphael Neider <rneider AT web.de>
34650         * device/include/pic/pic16f616.h,
34651           device/include/pic/pic16hv616.h,
34652           device/lib/pic/libdev/devices.txt,
34653           device/lib/pic/libdev/pic16f616.c,
34654           device/lib/pic/libdev/pic16hv616.c:
34655           add support for 16f616 and 16hv616 devices
34657 2010-03-09 Philipp Klaus Krause <pkk AT spth.de>
34658         * device/lib/gbz80/Makefile.in,
34659           device/lib/gbz80/printf.c:
34660           Made gbz80 port use the generic printf routine family.
34662 2010-03-07 Philipp Klaus Krause <pkk AT spth.de>
34663         * src/z80/gen.c,
34664           support/regression/tests/float_single.c:
34665           gbz80 port regression test fixes.
34667 2010-03-06 Borut Razem <borut.razem AT siol.net>
34669         * src/hc08/main.c: fixed hc08 target:
34670           reintroduced MODAL_SMALL and MODEL_LARGE
34672 2010-03-04 Borut Razem <borut.razem AT siol.net>
34674         * src/SDCCmain.c, src/port.h, src/avr/main.c, src/ds390/main.c,
34675           src/hc08/main.c, src/mcs51/main.c, src/pic16/main.c, src/pic/main.c,
34676           src/xa51/main.c, src/z80/main.c: get_model() moved to the traget
34677         * src/mcs51/rtrack.c: removed MSVC warnings:
34678           integral size mismatch in argument; conversion supplied
34679         * src/SDCCglobl.h: introduced NO_MODEL
34681 2010-03-03 Borut Razem <borut.razem AT siol.net>
34683         * all.dsp: added makebin to project
34684         * src/SDCCmain.c: fixed lib suffix,
34685           get_lib_suffix() renamed to get_model(),
34686           added pic* handling to get_model()
34688 2010-03-02 Borut Razem <borut.razem AT siol.net>
34690         * src/SDCCmain.c, src/pic/main.c, src/pic16/main.c:
34691           lib suffix is a part of lib dir set
34692         * support/scripts/Makefile.in, support/scripts/clean.mk:
34693           added clean Makefile target for scripts
34695 2010-03-02 Maarten Brock <sourceforge.brock AT dse.nl>
34697         * src/SDCCmain.c(get_lib_suffix): added huge model
34699 2010-02-26 Borut Razem <borut.razem AT siol.net>
34701         * sdcc/support/scripts/as2gbmap.py:
34702           use pre-python 2.6 exceptin handling syntax
34704 2010-02-25 Borut Razem <borut.razem AT siol.net>
34706         * configure.in, configure, Makefile.in, support/scripts/Makefile.in:
34707           "compile" as2gbmap.py: copy it to bin/as2gbmap and make it executable
34708         * support/scripts/sdcc.nsi: include bin/as2gbmap.cmd to the package
34710 2010-02-24 Borut Razem <borut.razem AT siol.net>
34712         * sdcc/support/scripts/as2gbmap.py:
34713           sort symbols by value for rrgb outout,
34714           handle file open errors
34715         * doc/sdccman.lyx: documented changed library format to ar in 2.9.0;
34716           documented makebin and as2gbmap.py
34718 2010-02-23 Borut Razem <borut.razem AT siol.net>
34720         * src/SDCCmain.c, src/z80/main.c, sdas/linksrc/lkdata.c,
34721           sdas/linksrc/lklist.c, sdas/linksrc/lkmain.c, sdas/linksrc/lkrloc.c,
34722           sdas/linksrc/aslink.h:
34723           removed geneneration of no$gmb symbol file and rrgb map file
34724         * sdas/linksrc/Makefile.in: removed compilation of lkgb.c
34725         * sdcc/support/scripts/as2gbmap.py:
34726           added option -j to convert from asxxxx to no$gmb symbol file format
34727         * sdas/linksrc/lkgb.c, sdas/linksrc/lkgg.c: deleted from svn
34729 2010-02-21 Borut Razem <borut.razem AT siol.net>
34731         * support/makebin/makebin.c:
34732           check if fopen() succeeded
34733         * support/regression/ports/gbz80/spec.mk:
34734           sdlsgb now creates .ihx file and makebin converts it to .gb;
34735           removed -m (Load map file) rrgb command line option, since sdlsgb
34736           doesn't generate a rrgb compatible map file
34737         * src/SDCCmain.c: search C runtime initialization object files
34738           crt0.rel in system library directories, then in user defined
34739           library directories - third try
34740         * support/scripts/as2gbmap.py: converter from asxxxx to rrgb map
34741           file format
34743 2010-02-21 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34745         * src/mcs51/rt rack.c: fixed two warnings reported in #2955971
34746           by Hubert Sack. (2nd warning found a bug)
34748 2010-02-20 Philipp Klaus Krause <pkk AT spth.de>
34749         * device/lib/gbz80/mul.s,
34750           device/lib/gbz80/Makefile.in:
34751           Fixed multiplication in gbz80 port.
34753 2010-02-20 Philipp Klaus Krause <pkk AT spth.de>
34754         * device/lib/gbz80/div.s:
34755           Fixed mixed-sign division and modulo in gbz80 port.
34757 2010-02-20 Borut Razem <borut.razem AT siol.net>
34759         * support/makebin/makebin.c: added support for GameBoy binary file format,
34760           added optional input and output file names arguments,
34761           making it (hopefully) more robust, ...
34762         * all.dsp, sdcc.dsw, support/makebin/makebin.dsp:
34763           added makebin to the MSVC project
34764         * src/SDCCmain.c: fixed bug #2955614 - Regression - Warning: Couldn't find
34766 2010-02-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34768         * src/mcs51/rtrack.h,
34769           src/mcs51/rtrack.c,
34770           src/mcs51/ralloc.h,
34771           src/mcs51/gen.c: Implemented tracking of symbols and dptr.
34772           Set environment variable SDCC_REGTRACK if you want to enable
34773           register tracking. If you want diagnostic output use option
34774           --fverbose-asm and additionally set SDCC_REGTRACK_VERBOSE
34776 2010-02-18 Borut Razem <borut.razem AT siol.net>
34778         * src/SDCCmain.c: search C runtime initialization object files
34779           crt0.rel in system library directories, then in user defined
34780           library directories
34782 2010-02-16 Borut Razem <borut.razem AT siol.net>
34784         * support/scripts/sdcc.nsi: remove crt0.rel for z80 and gb
34785         * src/SDCCmain.c:
34786           fixed the fist part of bug #2951083: -o not working as expected:
34787           rename the linker output file name to -o binary file name
34788         * sdas/linksrc/lkaomf51.c:
34789           fixed the second part of bug #2951083: -o not working as expected:
34790           remove the file extension in any case
34792 2010-02-16 Philipp Klaus Krause <pkk AT spth.de>
34794         * src/z80/peeph-gbz80.def,
34795           device/include/asm/z80/features.h,
34796           device/lib/gbz80/Makefile.in,
34797           device/lib/gbz80/div.s,
34798           device/lib/gbz80/mul.s,
34799           support/regression/ports/gbz80/spec.mk:
34800           Made gbz80 regression tests compile again.
34802 2010-02-11 Borut Razem <borut.razem AT siol.net>
34804         * sdas/linksrc/lkmain.c: removed unneeded gb linker initialization
34806 2010-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
34808         * device/lib/clean.mk: also clean huge library
34810 2010-02-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34812         * src/mcs51/gen.c: (genAssign literal) loading via accumulator if it
34813           pays off. Could eventually also be enabled for assigning to registers
34815 2010-02-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34817         * src/mcs51/peeph.def: added rules 105.b and 114.x improving parameter
34818           passing for models large and huge.
34819           Regression test suite is about 1% smaller for model large
34821 2010-02-09 Borut Razem <borut.razem AT siol.net>
34823         * sdas/asxxsrc/sdas.c, sdas/linksrc/sdld.c:
34824           convert parogram name to lower case since on Win 9x program names
34825           in argv[0] are always upper case;
34826           added diagnostic if SDAS_DIAG and/or SDLD_DIAG environment
34827           variables are set
34829 2010-02-08 Borut Razem <borut.razem AT siol.net>
34831         * src/avr/gen.c, src/avr/gen.h, src/cdbFile.c, src/ds390/gen.c,
34832           src/ds390/gen.h, src/hc08/gen.c, src/hc08/gen.h, src/mcs51/gen.c,
34833           src/mcs51/gen.h, src/mcs51/main.c, src/pic16/gen.c, src/pic16/gen.h,
34834           src/pic16/main.c, src/pic/gen.c, src/pic/gen.h, src/port.h,
34835           src/SDCCBBlock.c, src/SDCCdebug.c, src/SDCCdebug.h, src/SDCCdwarf2.c,
34836           src/SDCCdwarf2.h, src/SDCCglobl.h, src/SDCCglue.c, src/SDCCmain.c,
34837           src/xa51/gen.c, src/xa51/gen.h, src/xa51/main.c, src/z80/gen.c,
34838           src/z80/gen.h, src/z80/main.c:
34839           get rid of scratchFileName, const string pointers
34840         * src/SDCCmain.c, src/xa51/main.c, src/mcs51/main.c, sdcc_vc_in.h:
34841           fixed bug #2947712: SDCC completely broken in multiple ways
34842         * sdas/linksrc/lklist.c, sdas/linksrc/lkmain.c:
34843           reintroduced gameboy map file format, required by rrgb simulator,
34844           reenabled gameboy regression tests
34846 2010-02-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34848         * src/mcs51/peeph.def: added rules 272.x helping literal left shifts
34850 2010-02-07 Borut Razem <borut.razem AT siol.net>
34852         * src/SDCCmain.c, src/SDCCglobl.h, src/z80/main.c, src/hc08/main.c,
34853           sdas/linksrc/lkmain.c, sdas/linksrc/lkar.c, sdas/linksrc/lkrloc.c:
34854           fixed output file format handling
34855         * src/SDCCmain.c, src/port.h, src/xa51/main.c, src/mcs51/main.c,
34856           src/z80/main.c, src/ds390/main.c, src/hc08/main.c:
34857           list of standard library files moved to port structure,
34858           defined for each target
34859         * sdas/linksrc/lkmain.c: re-added the gb version of map()
34861 2010-02-06 Maarten Brock <sourceforge.brock AT dse.nl>
34863         * device/lib/_setjmp.c: fixed --stack-auto for model-huge
34864         * support/regression/Makefile.in: keep the hex-file
34866 2010-02-05 Philipp Klaus Krause <pkk AT spth.de>
34868         * src/z80/gen.c,
34869           src/z80/mappings.i,
34870           src/z80/peeph-z80.def:
34871           Decompose multiline macros, fixing #1570701, #1921731.
34873 2010-02-04 Borut Razem <borut.razem AT siol.net>
34875         * src/mcs51/main.c, src/z80/main.c, src/ds390/main.c, src/hc08/main.c,
34876           src/xa51/main.c, src/SDCCmain.c, src/port.h:
34877           list of C runtime initialization object files crt0.rel moved to port
34878           structure, defined for each target
34880 2010-02-02 Philipp Klaus Krause <pkk AT spth.de>
34882         * src/z80/peeph-gbz80.def,
34883           src/z80/mappings.i:
34884           Fixed gbz80 port to work with new assembler.
34886 2010-02-02 Maarten Brock <sourceforge.brock AT dse.nl>
34888         * src/SDCCsymt.c(addSymChain): fixed --xstack float support in model-huge
34890 2010-02-01 Maarten Brock <sourceforge.brock AT dse.nl>
34892         * src/SDCCmain.c(assemble): don't destroy asmName twice
34894 2010-02-01 Maarten Brock <sourceforge.brock AT dse.nl>
34896         * src/ds390/ralloc.c (packRegsDPTRuse): fixed bug 2938110
34897         * support/regression/tests/bug2938110.c: new, added
34899 2010-02-01 Borut Razem <borut.razem AT siol.net>
34901         * sdas/linksrc/lkar.c, sdas/linksrc/lksdcclib.c:
34902           detection of asxxxx v3.0 and higher rel files
34904 2010-01-31 Philipp Klaus Krause <pkk AT spth.de>
34906         * src/z80/peeph-z80.def:
34907           Minor peephole.
34909 2010-01-30 Maarten Brock <sourceforge.brock AT dse.nl>
34911         * configure,
34912         * configure.in: added device/lib/huge/Makefile
34914 2010-01-30 Maarten Brock <sourceforge.brock AT dse.nl>
34916         * device/include/asm/mcs51/features.h: added _RETURN
34917         * device/include/setjmp.h: adapted for model-huge
34918         * device/lib/_setjmp.c: adapted for xstack and model-huge
34919         * device/lib/_decdptr.c(_decdptr): __naked
34920         * device/lib/_logexpf.c (_fs_cordic_rshift_r765_unsigned): __naked
34921         * device/lib/_mullong.c: use _AUTOMEM from sdcc-lib.h
34922         * device/lib/_startup.c (_sdcc_external_startup): __nonbanked
34923         * device/lib/_strlen.c,
34924         * device/lib/abs.c,
34925         * device/lib/labs.c: use _RETURN
34926         * device/lib/cotf.c,
34927         * device/lib/tanf.c,
34928         * device/lib/tancotf.c (tancotf): changed iscotan to BOOL
34929         * device/lib/expf.c,
34930         * device/lib/logf.c: adapted for model-huge
34931         * device/lib/printf_large.c: set USE_FLOATS for ds390, xstack, model-huge
34932         * device/lib/huge: added directory
34933         * device/lib/huge/Makefile.in: new, added
34934         * src/mcs51/gen.c (aopPut, Push): factored out Push,
34935           (getFreePtr): save R0 in B for PCALL,
34936           (opIsGptr): also true for banked function pointers,
34937           (saveRegisters, unsaveRegisters): always save for banked functions,
34938             don't kill R0,
34939           (genCall, genPcall, genEndFunction): even static functions are banked in
34940             model-huge, address could be taken,
34941           (genPcall): don't kill R0-R2 before genSend
34942         * src/mcs51/main.c (_mcs51_keywords): added nonbanked,
34943           (_mcs51_finaliseOptions): added MODEL_HUGE,
34944             xstack float lib is not reentrant,
34945           (mcs51_port): added MODEL_HUGE, fixed banked_overhead bug
34946         * src/mcs51/peep.c (termScanAtFunc): always abort for banked call and R0-R2
34947         * src/SDCC.y: remoed warning W_BANKED_WITH_STATIC
34948         * src/SDCCast.c (funcOfType): all C support routines are nonbanked,
34949           (processParms): fixed banked function pointer is no codepointer,
34950           (createFunction): fixed banked_overhead bug
34951         * src/SDCCerr.c: W_BANKED_WITH_STATIC no longer used
34952         * src/SDCCglue.c (_printPointerType): added size parameter,
34953           (printIvalFuncPtr): adapted for banked function pointer,
34954           (glue): added MODEL_HUGE
34955         * src/SDCCmain.c (optionsTable, parseCmdLine, preProcess): added
34956             MODEL_HUGE, --model-huge and OPTION_HUGE_MODEL
34957         * src/SDCCmem.c (allocParms): moved banked_overhead to createFunction
34958         * src/SDCCsymt.c (getSize): adapted for model-huge,
34959           (checkFunction): merge banked/nonbanked from prototype into definition,
34960           (initCSupport):  all C support routines are made nonbanked in funcOfType
34961         * src/SDCCsymt.h: added BANKED_FUNCTIONS, adapted IFFUNC_ISBANKEDCALL
34962         * src/z80/gen.c (emitCall):  even static functions are banked in
34963             model-large and model-medium, address could be taken
34964         * support/regression/Makefile.in: added target test-mcs51-huge
34965         * support/regression/ports/mcs51-common/support.c: added PSBANK,
34966           (_sdcc_external_startup): must be nonbanked
34967         * support/regression/ports/mcs51-xstack-auto/spec.mk: moved USE_FLOATS to
34968             printf_large.c
34969         * support/regression/ports/mcs51-huge: added directory
34970         * support/regression/ports/mcs51-huge/spec.mk: new, added
34971         * support/regression/tests/bug1678803.c,
34972         * support/regression/tests/bug1712928.c: adapted for model-huge
34973         * support/regression/tests/float_single.c: added putchar for debugging
34974         * support/regression/tests/snprintf.c: adapted for model-huge
34976 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
34978         * src/z80/gen.c:
34979           Minor comment.
34981 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
34983         * src/z80/gen.c:
34984           Minor comment.
34986 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
34988         * src/SDCCsymt.h:
34989           Minor fix.
34991 2010-01-29 Borut Razem <borut.razem AT siol.net>
34993         * sdcc/src/xa51/main.c, sdcc/src/mcs51/main.c, sdcc/src/SDCCmain.c,
34994           sdcc/src/z80/main.c, sdcc/src/ds390/main.c, sdcc/src/hc08/main.c,
34995           sdcc/sdas/asxxsrc/asmain.c:
34996           fixed bug #2925290: SDCC assemblers do not process "-o" option correctly
34997           The sdas command line syntax is now compatible with asxxxx v5.0
34999 2010-01-24 Philipp Klaus Krause <pkk AT spth.de>
35000         * support/regression/tests/bool.c,
35001           support/regression/tests/bitopcse.c,
35002           device/include/stdbool.h:
35003           Added test for bool.
35005 2010-01-24 Borut Razem <borut.razem AT siol.net>
35007         * src/z80/gen.c:
35008           fixed declaration in the middle of the block
35009         * support/cpp/ansidecl.h, support/cpp/libcpp/directives.c,
35010           support/cpp/libcpp/errors.c, support/cpp/libcpp/init.c,
35011           support/cpp/libcpp/internal.h, support/cpp/libcpp/lex.c,
35012           support/cpp/libiberty.h, support/cpp/libiberty/hex.c,
35013           support/cpp/libiberty/md5.c, support/cpp/libiberty/splay-tree.c,
35014           support/cpp/md5.h:
35015           SDCPP synchronized with GCC CPP release version 4.4.3
35017 2010-01-24 Philipp Klaus Krause <pkk AT spth.de>
35018         * src/SDCCcse.c,
35019           src/SDCCval.c,
35020           src/SDCCicode.c,
35021           src/SDCCsymt.c,
35022           src/SDCCsymt.h,
35023           src/SDCC.y,
35024           src/SDCCdwarf2.c,
35025           src/SDCCglue.c,
35026           src/z80/gen.c,
35027           src/z80/main.c,
35028           src/z80/peep.c,
35029           src/z80/peeph-z80.def,
35030           src/SDCCglobl.h,
35031           src/SDCC.lex,
35032           src/SDCCast.c,
35033           device/include/stdbool.h,
35034           support/regression/tests/bug1546986.c,
35035           support/regression/tests/constantRange.c,
35036           support/regression/tests/bug2805333.c,
35037           support/regression/tests/bug1337835.c,
35038           support/regression/tests/bitopcse.c,
35039           support/regression/tests/bug1723128.c,
35040           support/regression/tests/bug-908454.c,
35041           support/regression/tests/bug1734654.c,
35042           support/regression/tests/bug1745717.c,
35043           support/regression/tests/bug2719592.c,
35044           support/regression/tests/bug1738367.c,
35045           support/regression/tests/funptrs.c,
35046           support/regression/tests/bug1509084.c,
35047           support/regression/tests/bug1788177.c,
35048           support/regression/tests/bitvars.c:
35049           Finally implemented true _Bool support.
35050         * src/SDCCpeeph.c,
35051           doc/random-notes.txt:
35052           Generic cleanup.
35054 2010-01-24 Borut Razem <borut.razem AT siol.net>
35056         * sdas/as8051/i51adr.c, sdas/as8051/i51pst.c, sdas/asz80/z80pst.c,
35057           sdas/asz80/z80adr.c, sdas/linksrc/lkdata.c, sdas/linksrc/lkmain.c,
35058           sdas/linksrc/aslink.h, sdas/as6808/m08adr.c, sdas/as6808/m08pst.c,
35059           sdas/asxxsrc/asmain.c, sdas/asxxsrc/asxxxx.h, sdas/asxxsrc/aslex.c,
35060           sdas/asxxsrc/asdata.c, sdas/asgb/gbadr.c, sdas/asgb/gbpst.c:
35061           optimized .optsdcc handling
35063 2010-01-23 Borut Razem <borut.razem AT siol.net>
35065         * src/SDCCicode.c, src/SDCCast.c, src/SDCCast.h:
35066           fixed bug #1767885: Parameters lost from scope of intermediate inline function
35067           applied patches from Pavel Pisa; tahks Pavel
35068         * support/regression/tests/inline.c:
35069           merged inline regression tests bug1717305.c, bug1864577.c and bug 1767885
35071 2010-01-18 Borut Razem <borut.razem AT siol.net>
35073         * src/SDCCmain.c, sdas/linksrc/lkmain.c, sdas/linksrc/aslink.h:
35074           fixed bug #2933892 - Weird default ouput location for linker - regression
35075           The sdld command line syntax is now compatible with asxxxx v5.0
35077 2010-01-18 Philipp Klaus Krause <pkk AT spth.de>
35079         * src/SDCCast.c:
35080           Taking the address of _Bool works on the z80 and gbz80 ports.
35082 2010-01-17 Philipp Klaus Krause <pkk AT spth.de>
35084         * src/SDCCcse.c,
35085           src/SDCCicode.c,
35086           src/SDCCglue.c,
35087           src/z80/gen.c,
35088           src/z80/main.c,
35089           src/z80/peep.c,
35090           src/z80/peeph-z80.def,
35091           device/include/stdbool.h,
35092           device/lib/z80/crt0.s:
35093           Support for bool on the Z80 (RFE #1751355).
35094         * device/lib/z80/asm_strings.s,
35095           device/lib/z80/mulchar.s,
35096           device/lib/z80/stubs.s,
35097           device/lib/z80/fstubs.s,
35098           device/lib/z80/heap.s,
35099           device/lib/gbz80/stubs.s,
35100           device/lib/gbz80/fstubs.s,
35101           device/lib/gbz80/asm_strings.s,
35102           device/lib/gbz80/heap.s:
35103           Z80 library cleanup.
35104         * src/SDCCpeeph.c:
35105           Enable jump-to-jump optimizations for jump table entries.
35107 2010-01-16 Borut Razem <borut.razem AT siol.net>
35109         * doc/sdccman.lyx: sfr at to __sfr __at
35111 2010-01-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35113         * src/SDCCmain.c: added ReadcfgFile() - get options from
35114           a sdcc.cfg file.
35116 2010-01-15 Borut Razem <borut.razem AT siol.net>
35118         * support/regression/ports/hc08/support.c,
35119           support/regression/ports/pic14/support.c,
35120           support/regression/ports/pic16/support.c,
35121           support/regression/ports/xa51/support.c,
35122           support/regression/tests/macro.c:
35123           _asm and _endasm changed to __asm and __endasm
35125 2010-01-15 Philipp Klaus Krause <pkk AT spth.de>
35127         * device/lib/gbz80/string.c:
35128           Removed unused gbz80-specific string routines.
35130 2010-01-14 Borut Razem <borut.razem AT siol.net>
35132         * src/SDCCerr.c, src/SDCCerr.h, src/SDCC.lex, doc/sdccman.lyx,
35133           device/include/mcs51/mcs51reg.h,
35134           support/regression/tests/bug2817646.c,
35135           support/regression/tests/driverstruct.c,
35136           support/regression/tests/nullstring.c,
35137           support/regression/tests/bug1546986.c,
35138           support/regression/tests/bug-1981238.c,
35139           support/regression/tests/array.c,
35140           support/regression/tests/bug-1699804.c,
35141           support/regression/tests/bug-221100.c,
35142           support/regression/tests/bug1839277.c,
35143           support/regression/tests/bug-460010.c,
35144           support/regression/tests/bug1921073.c,
35145           support/regression/tests/bug1839321.c,
35146           support/regression/tests/float.c,
35147           support/regression/tests/simplefloat.c,
35148           support/regression/tests/bug2783061.c,
35149           support/regression/tests/critical.c,
35150           support/regression/tests/bug1551947.c,
35151           support/regression/tests/bug663539.c,
35152           support/regression/tests/absolute.c,
35153           support/regression/tests/bug-221168.c,
35154           support/regression/tests/bug-716242.c,
35155           support/regression/tests/bug1348008.c,
35156           support/regression/tests/bug1928022.c,
35157           support/regression/tests/bug1938300.c,
35158           support/regression/tests/bug-880197.c,
35159           support/regression/tests/bug1536762.c,
35160           support/regression/tests/bug1198642.c,
35161           support/regression/tests/bug1749275.c,
35162           support/regression/tests/bitopcse.c,
35163           support/regression/tests/bug1535242.c,
35164           support/regression/tests/bug-868103.c,
35165           support/regression/tests/using.c,
35166           support/regression/tests/bug1723128.c,
35167           support/regression/tests/bug1750318.c,
35168           support/regression/tests/bug1409955.c,
35169           support/regression/tests/bug1856409.c,
35170           support/regression/tests/regtrack.c,
35171           support/regression/tests/setjmp.c,
35172           support/regression/tests/bug1618050.c,
35173           support/regression/tests/float_single.c,
35174           support/regression/tests/malloc.c,
35175           support/regression/tests/bug-524691.c,
35176           support/regression/tests/bug1908493.c,
35177           support/regression/tests/bug2761883.c,
35178           support/regression/tests/sfr16.c,
35179           support/regression/tests/zeropad.c,
35180           support/regression/tests/staticinit.c,
35181           support/regression/tests/bug2655200.c,
35182           support/regression/tests/bug2435941.c,
35183           support/regression/fwk/include/testfwk.h,
35184           support/regression/fwk/lib/testfwk.c,
35185           support/regression/ports/pic14/spec.mk,
35186           support/regression/ports/ds390/spec.mk,
35187           support/regression/ports/ds390/support.c,
35188           support/regression/ports/hc08/spec.mk,
35189           support/regression/ports/ucz80/spec.mk,
35190           support/regression/ports/mcs51-common/spec.mk,
35191           support/regression/ports/mcs51-common/T2_isr.c,
35192           support/regression/ports/mcs51-common/support.c,
35193           support/regression/generate-cases.py:
35194           implemented RFE #2931693: deprecate warnings for sdcc specific keyword
35195         * configure.in, configure:
35196           implemented RFE #2932327: remove unsupported and broken targets xa51 and avr
35197         * .version, doc/sdccman.lyx: bumped version to 2.9.7
35199 2010-01-11 Borut Razem <borut.razem AT siol.net>
35201         * configure.in, configure, Makefile.in, sdcc.dsw,
35202           sdas/asranlib/asranlib.dsp, sdas/asranlib/Makefile.in:
35203           sdas/aslink renamed to sdas/linksrc
35205 2009-01-10 Raphael Neider <rneider AT web.de>
35207         * src/pic/gen.c (genCmp): do not clobber CARRY when storing the
35208           result of the comparison (fixes #2929477), cosmetic changes
35210 2010-01-10 Borut Razem <borut.razem AT siol.net>
35212         * configure.in, configure, Makefile.in, sdas/*/Makefile.in,
35213           sdcc/sdcc.dsw, sdas/asranlib/asranlib.dsp, config.dsp:
35214           as renamed to sdas, as/link renamed to sdas/aslink,
35215           as/z80 renamed to sdac/asz80, as/mcs51 renamed to sdas/as8051,
35216           as/hc80 renamed to sdcc/sdas/as6808
35217         * debugger/mcs51/cmd.c, sim/ucsim/utils.cc, sdcc/sdas/aslink/lklibr.c,
35218           support/cpp/libcpp/macro.c: fixed compiler warnings
35220 2010-01-09 Borut Razem <borut.razem AT siol.net>
35222         * as/*/conf.mk: removed
35223           as/conf.mk: added
35224           as/*/Makefile.in: use common as/conf.mk
35225           as/*/clean.in: unified
35226         * src/SDCCmain.c, src/z80/main.c,
35227           device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in,
35228           as/asxxsrc/asmain.c, as/link/aslink.h,
35229           support/regression/Makefile.in,
35230           support/regression/ports/ucz80/spec.mk:
35231           object file extension for z80 and gb targets changed from .o to .rel
35232         * .version, doc/sdccman.lyx: bumped version to 2.9.6
35234 2010-01-04 Borut Razem <borut.razem AT siol.net>
35236         * doc/sdccman.lyx, support/cpp/libcpp/internal.h,
35237           support/cpp/libcpp/lex.c, support/cpp/sdcpp.c:
35238           fixed bug #2919991: #Pragma preproc_asm cannot be used by -- std-c99.
35239         * support/cpp/libcpp/macro.c, support/cpp/version.c:
35240           SDCPP synchronized with GCC CPP release version 4.4.2
35241         * as/link/lklist.c: fixed NULL pointer dereference
35242         * as/link/lkmain.c: do not complaint when opening optional adb files
35244 2009-12-31 Borut Razem <borut.razem AT siol.net>
35246         * as/link/lkarea.c, as/link/lkdata.c, as/link/lklist.c,
35247           as/link/lks19.c, as/link/lkmain.c, as/link/lkeval.c,
35248           as/link/lklibr.c, as/link/lkaomf51.c, as/link/lkhead.c,
35249           as/link/lklex.c, as/link/lkrloc.c, as/link/aslink.h:
35250           sync with aslink 2.0
35251         * as/link/lks19.c: include "sdld.c"
35252         * as/link/aslink.dsp: cleaning
35253         * as/link/aslink.h: changed the type Character Type Definitions to char
35255 2009-12-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
35257         * src/hc08/gen.c: fixed bug 2912013
35259 2009-12-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35261         * as/link/aslink.dsp, as/link/sdld_all.dsp: fixed destination path of
35262         sdld.exe, sdldz80.exe, sdldgb.exe, and sdld6808.exe
35264 2009-12-21 Borut Razem <borut.razem AT siol.net>
35266         * Makefile.in: fixed hc08
35267         * Makefile.in, as/link/Makefile.in: fixed installation
35269 2009-12-20 Borut Razem <borut.razem AT siol.net>
35271         * as/link/lkmain.c, as/link/lksdcclib.c,
35272           as/link/lklib.c, as/link/lklex.c, as/link/aslink.h:
35273           fixed "o" file extension for z80 and gb targets
35275 2009-12-19 Borut Razem <borut.razem AT siol.net>
35277         * configure, Makefile.in, configure.in, as/link/Makefile.in,
35278           all.dsp, as/link/aslink.dsp, as/link/sdld_all.dsp,
35279           as/link/lkmain.c, as/link/lkgb.c, as/link/lkihx.c,
35280           as/link/sdld.c, as/link/sdld.h, as/link/lkmem.c,
35281           as/link/clean.mk, as/link/lkrloc.c: modified
35282           as/link/lkarea.c, as/link/readme.390, conf.mk, aslink.dsp:
35283           moved from as/link/mcs51,
35284           as/link/z80, as/link/mcs51, as/link/hc08: removed,
35285           unification of lkarea.c, one polymorphic sdld
35286         * as/asxxsrc/sdas.h, as/asxxsrc/sdas.c:
35287           renamed TRAGET_IS_XXXX to TARGET_ID_XXXX
35288         * .version, doc/sdccman.lyx: bumped version to 2.9.5
35290 2009-12-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
35292         * device/lib/abs.c, device/lib/labs.c: assembler version
35293           for mcs51, other targets slightly shorter too
35294         * support/regression/tests/abs.c: added regression test
35296 2009-12-17 Indy Sams < drift_solutions AT users.sourceforge.net >
35298         * device/lib/_strpbrk.c: fixed bug #2908537 (svn commit by Frieder)
35300 2009-12-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
35302         * support/regression/tests/strpbrk.c: added regression test
35304 2009-12-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35306         * device/include/mcs51/w7100.h: added.
35308 2009-12-16 Borut Razem <borut.razem AT siol.net>
35310         * as/link/lkihx.c,
35311           as/link/z80/Makefile.in, as/link/z80/linkz80.dsp,
35312           as/link/z80/linkgbz80.dsp,
35313           as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
35314           as/link/hc08/Makefile.in, as/link/hc08/link_hc08.dsp,
35315           as/link/z80/lkihx.c, as/link/hc08/lkihx.c
35316           as/link/mcs51/lkihx.c: unification of lkihx.c
35318 2009-12-14 Raphael Neider <rneider AT web.de>
35320         * device/include/pic16/pic16devices.txt:
35321           mask _XINST for 18f97j60 family, fix configword locations
35322         * device/include/pic16/pic18f24j50.h,
35323           device/include/pic16/pic18f25j50.h,
35324           device/include/pic16/pic18f44j50.h,
35325           device/include/pic16/pic18f45j50.h,
35326           device/include/pic16/pic18f46j50.h,
35327           device/include/pic16/pic18f66j60.h,
35328           device/include/pic16/pic18f66j65.h,
35329           device/include/pic16/pic18f67j60.h,
35330           device/include/pic16/pic18f86j60.h,
35331           device/include/pic16/pic18f86j65.h,
35332           device/include/pic16/pic18f87j60.h,
35333           device/include/pic16/pic18f96j60.h,
35334           device/include/pic16/pic18f96j65.h,
35335           device/include/pic16/pic18f97j60.h:
35336           add symbolic addresses to configuration bits
35337         * device/include/pic16/pic18fregs.h: add __CONFIG() macro
35339 2009-12-14 Borut Razem <borut.razem AT siol.net>
35341         * src/SDCCmain.c: fixed crashing if -o option is not defined,
35342           bug #2913769: sdcc crashes on cygwin
35343         * as/link/lkgb.c, as/link/z80/lkihx.c, as/link/lkrloc.c,
35344           as/link/z80/Makefile.in, as/link/z80/linkz80.dsp,
35345           as/link/z80/linkgbz80.dsp,
35346           as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
35347           as/link/hc08/Makefile.in, as/link/hc08/link_hc08.dsp,
35348           as/link/z80/lkrloc.c, as/link/hc08/lkrloc.c
35349           as/link/mcs51/lkrloc.c:
35350           unification of lkrloc.c
35352 2009-12-13 Borut Razem <borut.razem AT siol.net>
35354         * as/link/aslink.h. as/link/lksym.c, as/link/lkstore.c:
35355           StrStore() replaced with strsto(), removed as/link/lkstore.c
35356         * as/link/lkgb.c, as/link/lkgg.c, as/link/z80/lkgb.c,
35357           as/link/z80/lkgg.c, as/link/z80/Makefile.in,
35358           as/link/z80/linkz80.dsp, as/link/z80/linkgbz80.dsp,
35359           as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
35360           as/link/hc08/Makefile.in, as/link/hc08/link_hc08.dsp:
35361           as/link/z80/lkgb.c and as/link/z80/lkgg.c moved to as/link
35362         * as/link/lkelf.c: added casts to new()
35363         * as/link/lkmem.c: fixed code asld6808 crash
35364         * all.dsp, as/link/z80/linkz80.dsp, as/link/z80/linkgbz80.dsp:
35365           fixed for new sdld names
35366         * src/SDCCmain.c: fixed cygwin compilation
35368 2009-12-12 Borut Razem <borut.razem AT siol.net>
35370         * as/link/z80/lkmain.c: removed
35371         * as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
35372           as/link/z80/Makefile.in: use as/link/lkmain.c
35373         * as/link/lkmain.c: fixed command line option handling
35374         * src/port.h, src/SDCCmain.c, src/z80/main.c:
35375           fixed crt object file handling with asld, ...
35376         * as/link/lkdata.c, as/link/mcs51/lkarea.c,
35377           as/link/aslink.h, as/link/hc08/Makefile.in,
35378           as/link/mcs51/Makefile.in, as/link/z80/Makefile.in,
35379           as/link/z80/linkz80.dsp, as/link/z80/linkgbz80.dsp,
35380           as/link/mcs51/aslink.dsp, as/link/hc08/link_hc08.dsp:
35381           modified
35382           as/link/z80/lks19.c, as/link/z80/lkmem.c,
35383           as/link/mcs51/lks19.c, as/link/mcs51/lkmem.c,
35384           as/link/hc08/lks19.c, as/link/hc08/lkmem.c,
35385           as/link/hc08/lkelf.c: moved to as/link
35386           unification of lkelf.c, lks19.c and lkmem.c
35388 2009-12-10 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35390         * all.dsp, as/link/hc08/link_hc08.dsp, as/link/mcs51/aslink.dsp:
35391          renamed linker executables.
35393 2009-12-04 Borut Razem <borut.razem AT siol.net>
35395         * support/scripts/sdcc.nsi: renamed liker executables
35396         * as/link/mcs51/Makefile.in, as/link/hc08/Makefile.in:
35397           fixed installation linker executable name
35399 2009-12-03 Borut Razem <borut.razem AT siol.net>
35401         * device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in,
35402           device/lib/ds390/Makefile.in, device/lib/Makefile.in,
35403           device/lib/ds400/Makefile.in, device/lib/mcs51/Makefile.in,
35404           device/lib/hc08/Makefile.in:
35405           fixed bug #2907642: version of make > 3.80 required to build SDCC
35406         * as/asxxsrc/asxxxx.h: fixed typo
35408 2009-12-02 Borut Razem <borut.razem AT siol.net>
35410         * as/link/hc08/link_hc08.dsp, as/link/mcs51/aslink.dsp,
35411           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
35412           as/link/lkmain.c: re-enabled msvc build
35414 2009-12-01 Borut Razem <borut.razem AT siol.net>
35416         * as/link/aslink.h, as/link/lkmain.c, as/link/z80/Makefile.in,
35417           as/link/z80/lkmain.c:
35418           temporarily re-added special lkmain.c for z80 and gb targets
35420 2009-11-29 Borut Razem <borut.razem AT siol.net>
35422         * src/mcs51/main.c, src/z80/main.c, src/hc08/main.c, src/ds390/main.c,
35423           as/asxxsrc/sdas.c, as/link/Makefile.in, as/link/lkmain.c,
35424           as/link/z80/Makefile.in, as/link/mcs51/Makefile.in,
35425           as/link/hc08/Makefile.in, as/link/aslink.h, as/link/sdlink.[ch],
35426           as/link/sdld.[ch], as/asxxsrc/sdas.c, as/link/lkdata.c,
35427           as/link/lkmain.c:
35428           fixed bug in target detection, sdlink renamed to sdld
35430 2009-11-28 Borut Razem <borut.razem AT siol.net>
35432         * as/asxxsrc/asdata.c, as/asxxsrc/asmain.c, as/asxxsrc/asxxxx.h:
35433           mark sdas specifics
35434         * as/asxxsrc/sdas.c, as/asxxsrc/sdas.h, as/link/aslink.h,
35435           as/link/hc08/lkarea.c, as/link/hc08/lkmain.c, as/link/hc08/lkmem.c,
35436           as/link/hc08/Makefile.aslink, as/link/hc08/Makefile.in,
35437           as/link/lkmain.c, as/link/Makefile.in, as/link/mcs51/lkmain.c,
35438           as/link/mcs51/Makefile.aslink, as/link/mcs51/Makefile.in,
35439           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
35440           as/link/z80/lkarea.c, as/link/z80/lkgb.c, as/link/z80/lkmain.c,
35441           as/link/z80/lkmem.c, as/link/z80/Makefile.in, src/ds390/main.c,
35442           src/hc08/main.c, src/mcs51/main.c, src/z80/main.c,
35443           as/link/sdlink.[ch]:
35444           lkmain.c unification; linkers renamed to sdlinkXXXX
35446 2009-11-27 Borut Razem <borut.razem AT siol.net>
35448         * sim/ucsim/config.guess, sim/ucsim/ltmain.sh, sim/ucsim/config.sub:
35449           upgraded to libtool 2.2.5,
35450           fixed dug #2897829: ancient-libtool sim/ucsim/ltmain.sh 1.4.2
35452 2009-11-06 Raphael Neider <rneider AT web.de>
35454         * src/pic/gen.c (pic14_getDataSize): use true size of generic
35455           pointers to fix assignment of the result of pointer arithmetics
35457 2009-11-05 Raphael Neider <rneider AT web.de>
35459         * src/pic/gen.c (genUnpackBits): setup FSR before using it, fixes
35460           "[Sdcc-user] The damned loop from hell"; plus cosmetic changes
35462 2009-11-04 Maarten Brock <sourceforge.brock AT dse.nl>
35464         * src/SDCCmem.c(defaultOClass, allocDefault): refactored
35465         * src/SDCCmem.h: added defaultOClass
35466         * src/SDCCsymt.c(processFuncArgs): use defaultOClass to support storage
35467           class in parameters, fixes bug 2761883
35468         * support/regression/tests/bug2761883.c: new, added
35469         * doc/sdccman.lyx: removed warning about ignored storage class in params
35471 2009-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
35473         * src/SDCCast.c(constExprTree): struct fields have a constant offset
35475 2009-11-01 Maarten Brock <sourceforge.brock AT dse.nl>
35477         * src/SDCCglue.c(initValPointer): fixed bug 1503239
35478         * support/regression/tests/bug1928022.c: added test cases
35480 2009-11-01 Philipp Klaus Krause <pkk AT spth.de>
35482         * src/SDCCpeeph.c,
35483         * src/mcs51/peeph.def,
35484         * src/avr/peeph.def,
35485         * src/z80/peeph-z80.def,
35486         * src/ds390/peeph.def,
35487         * support/regression/tests/bug-2890326.c:
35488           Fixed bug #2890326.
35490 2009-11-01 Maarten Brock <sourceforge.brock AT dse.nl>
35492         * src/SDCCsymt.c(addSymChain, checkDecl): fixed bug 1470790
35493         * support/regression/tests/zeropad.c: added test
35495 2009-11-01 Maarten Brock <sourceforge.brock AT dse.nl>
35497         * src/SDCCast.c(decorateType,CAST): fold literal pointers
35498         * src/SDCCdflow.c(usedInRemaining),
35499         * src/SDCCicode.c(geniCodeCall): fix for non-symbol values
35500         * src/SDCCsymt.c(isConstant): reverted, make literals const instead
35501         * src/SDCCval.c(constFloatVal, constFixed16x16Val, constVal, constCharVal,
35502           strVal): make literals const
35503           (valForArray),
35504           (valForStructElem): fixed bug 1928022 with folded literal pointers
35505         * src/ds390/gen.c(genCall),
35506         * src/hc08/gen.c(genCall),
35507         * src/mcs51/gen.c(genCall),
35508         * src/z80/gen.c(emitCall): handle literal function pointers
35509         * support/regression/tests/bug1928022.c: new, added
35511 2009-10-30 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35513         * device/include/mcs51/P89LPC922.h, device/include/mcs51/P89LPC932.h,
35514           device/include/mcs51/p89lpc938.h: fixed bug 2889428, double definition
35515           for CMP1 and CMP2.
35516         * device/include/mcs51/p89lpc925.h: for consistency with the other lpc
35517           files, renamed CMP1b and CMP2b to CMP_1 and CMP_2.
35519 2009-10-28 Maarten Brock <sourceforge.brock AT dse.nl>
35521         * src/SDCCast.c(newIfxNode): fixed bug 2887512
35522           (decorateType, '='): use different error for function pointers
35523         * src/SDCCglue.c(printIvalFuncPtr): fixed bug 2806238, don't throw away
35524           function pointer value just like that
35525           (printIval): use different error for function pointers
35526         * src/SDCCsymt.c(compareFuncType, compareType): new function to compare
35527           function pointer types
35528           (isConstant): treat literals as constant too to warn before bug 2887512
35530 2009-10-26 Borut Razem <borut.razem AT siol.net>
35532         * doc/cdbfileformat.lyx, doc/sdccman.lyx, doc/test_suite_spec.lyx:
35533           converted to LyX 1.6.4 (\lyxformat 345) format
35535 2009-10-25 Maarten Brock <sourceforge.brock AT dse.nl>
35537         * as/link/mcs51/lkarea.c(lnkarea2): fixed bug 2839083
35539 2009-10-24 Maarten Brock <sourceforge.brock AT dse.nl>
35541         * src/SDCCast.c(decorateType): also set OCLS for PTR_OP, fixed bug 2823963
35542         * src/SDCCast.h: cosmetic changes
35543         * src/SDCCicode.c,
35544         * src/SDCCicode.h: moved setOClass prototype
35545         * support/regression/tests/bug2823963.c: new, added
35547 2009-10-22 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35549         * device/include/mcs51/p89lpc9321.h, device/include/mcs51/p89lpc9331.h,
35550           device/include/mcs51/p89lpc9351.h: added
35552 2009-10-21 Maarten Brock <sourceforge.brock AT dse.nl>
35554         * src/SDCCast.c(createIvalPtr),
35555         * src/SDCCglue.c(printIvalFuncPtr): fixed bug 2881971
35556         * support/regression/tests/zeropad.c: added test
35558 2009-10-18 Borut Razem <borut.razem AT siol.net>
35560         * support/scripts/sdcc.nsi: assemblers renamed to sdasxxxx
35562 2009-10-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35564         * src/mcs51/gen.c: Fixed bug 2880909
35565         * all.dsp, device/lib/make51lib.bat: renamed assemblers to sdasxxxx
35567 2009-10-17 Borut Razem <borut.razem AT siol.net>
35569         * as/asgb/asgb.dsp, as/asgb/Makefile.in, as/asxxsrc/asexpr.c,
35570           as/asxxsrc/asmain.c, as/asxxsrc/asout.c, as/asxxsrc/sdas.c,
35571           as/asxxsrc/sdas.h, as/hc08/as_hc08.dsp, as/hc08/Makefile.in,
35572           as/mcs51/asx8051.dsp, as/mcs51/Makefile.in, as/z80/as_z80.dsp,
35573           as/z80/Makefile.in, device/lib/gbz80/Makefile.in,
35574           device/lib/hc08/Makefile.in, device/lib/mcs51/Makefile.in,
35575           device/lib/z80/Makefile.in, src/ds390/main.c, src/hc08/main.c,
35576           src/mcs51/main.c, src/z80/main.c,
35577           support/regression/ports/gbz80/spec.mk,
35578           support/regression/ports/hc08/spec.mk,
35579           support/regression/ports/ucz80/spec.mk,
35580           support/regression/ports/z80/spec.mk:
35581           assemblers renamed to sdasxxxx:
35582             as-gbz80 -> sdasgb,
35583             as-hc08 -> sdas6808
35584             asx8051 -> sdas8051
35585             as-z80 -> sdasz80
35586         * .version, doc/sdccman.lyx: bumped version to 2.9.4
35588 2009-10-12 Maarten Brock <sourceforge.brock AT dse.nl>
35590         * device/lib/_fsadd.c: optimized (for mcs51-xstack) and enhanced precision
35591           to fix some float_single regression tests
35592         * device/lib/_fssub.c: optimized
35593         * device/lib/asinf.c,
35594         * device/lib/acosf.c,
35595         * device/lib/asincosf.c: optimized
35596         * device/lib/mcs51/crtxpop.asm,
35597         * device/lib/mcs51/crtxpopbits.asm,
35598         * device/lib/mcs51/crtxpush.asm,
35599         * device/lib/mcs51/crtxpushr0.asm: new (slow) helper functions for xstack
35600         * device/lib/mcs51/Makefile.in: added crtxpush... and crtxpop...
35601         * src/mcs51/gen.c(aopForSym): optimized stack access
35602           (xstackRegisters): new, calculates bitmask
35603           (saveRegisters, unsaveRegisters): use (slow) crtxpush/pop to save memory
35604           (genFunction): optimized stack access
35605         * src/mcs51/peep.c(removeDeadMove): removed unused parm
35606         * support/regression/tests/float_single.c: enabled now passing tests
35608 2009-10-12 Borut Razem <borut.razem AT siol.net>
35610         * as/link/aslink.h, as/link/hc08/lkarea.c, as/link/hc08/lkmain.c,
35611           as/link/lkdata.c, as/link/lksym.c, as/link/mcs51/lkarea.c,
35612           as/link/mcs51/lkmain.c, as/link/z80/lkarea.c, as/link/z80/lkmain.c:
35613           itroduced zflag for case senditivity; zflag is forced to 1
35615 2009-10-10 Borut Razem <borut.razem AT siol.net>
35617         * as/asgb/Makefile.in, as/z80/Makefile.in: added -lm to LDFLAGS
35619 2009-10-10 Borut Razem <borut.razem AT siol.net>
35621         * as/hc08/m08adr.c, as/hc08/m08mch.c, as/hc08/m6808.h,
35622           as/mcs51/i51adr.c, as/mcs51/i51mch.c, as/mcs51/i51pst.c,
35623           as/mcs51/i8051.h, as/z80/z80.h, as/z80/z80adr.c, as/z80/z80mch.c:
35624           targets synced with asxxxx v2.0 and later
35625         * as/asgb/asgb.dsp, as/asgb/clean.mk, as/asgb/conf.mk, as/asgb/gb.h,
35626           as/asgb/gbadr.c, as/asgb/gbext.c, as/asgb/gbmch.c, as/asgb/gbpst.c,
35627           as/asgb/Makefile.in,
35628           as/Makefile.in, as/z80/as_gbz80.dsp,
35629           as/mcs51/i51ext.c, as/z80/Makefile.in, as/z80/z80.h, as/z80/z80adr.c,
35630           as/z80/z80ext.c, as/z80/z80mch.c, as/z80/z80pst.c,
35631           configure, configure.in, Makefile.in, sdcc.dsw:
35632           split asz80 and asgb
35633         * as/asgb/gb.h, as/asgb/gbmch.c, as/asxxsrc/asdata.c,
35634           as/asxxsrc/asexpr.c, as/asxxsrc/aslex.c, as/asxxsrc/asmain.c,
35635           as/asxxsrc/asxxxx.h, as/hc08/m08adr.c, as/hc08/m08mch.c,
35636           as/hc08/m6808.h, as/link/aslink.h, as/link/hc08/lkarea.c,
35637           as/link/hc08/lkelf.c, as/link/hc08/lkihx.c, as/link/hc08/lkmain.c,
35638           as/link/hc08/lkrloc.c, as/link/hc08/lks19.c, as/link/lkdata.c,
35639           as/link/lkeval.c, as/link/lkhead.c. as/link/lklist.c,
35640           as/link/lknoice.c, as/link/lksym.c, as/link/mcs51/lkarea.c,
35641           as/link/mcs51/lkihx.c, as/link/mcs51/lkmain.c,
35642           as/link/mcs51/lkrloc.c, as/link/mcs51/lks19.c, as/link/z80/lkarea.c,
35643           as/link/z80/lkihx.c, as/link/z80/lkmain.c, as/link/z80/lkrloc.c,
35644           as/link/z80/lks19.c, as/mcs51/i51mch.c, as/mcs51/i8051.h,
35645           as/z80/z80.h, as/z80/z80mch.c: type Addr_T renamed to a_uint,
35646           function comma() moved to aslex.c
35648 2009-10-09 Maarten Brock <sourceforge.brock AT dse.nl>
35650         * src/SDCC.y,
35651         * src/SDCCsymt.c(mergeDeclSpec): fixed bug 1376285
35653 2009-10-08 Maarten Brock <sourceforge.brock AT dse.nl>
35655         * src/SDCCerr.c,
35656         * src/SDCCerr.h: changed W_STRUCT_AS_ARG to error E_STRUCT_AS_ARG
35657         * src/SDCCsymt.c(aggregateToPointer),
35658         * src/SDCCast.c(processParms): throw error for struct parameters,
35659           fixes bug 2874687
35661 2009-10-07 Maarten Brock <sourceforge.brock AT dse.nl>
35663         * src/SDCCglue.c(initValPointer, initPointer): fixed bug 2166213
35665 2009-10-05 Borut Razem <borut.razem AT siol.net>
35667         * as/asxxsrc/asmain.c:
35668           removed forced wide listing format for symbol table and
35669           removed forced enable case sensitivity for symbols in case of sdas
35671 2009-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
35673         * as/asxxsrc/assubr.c: include sdas.h
35674         * as/asxxsrc/assym.c(symeq): type of n is size_t
35675         * src/SDCCglue.c(initPointer): fixed bug 2655200 by using oclass->ptrType
35676         * support/regression/tests/bug2655200.c: enabled --model-medium
35678 2009-10-04 Borut Razem <borut.razem AT siol.net>
35680         * as/asxxsrc/asdata.c, as/asxxsrc/aslex.c, as/asxxsrc/assubr.c,
35681           as/asxxsrc/assym.c, as/asxxsrc/asxxxx.h:
35682           partially synced with asxxxx v2.0
35683         * src/ds390/main.c, src/hc08/main.c, src/mcs51/main.c, src/z80/main.c:
35684           added -z and -w option to assembler invocation
35686 2009-10-04 Maarten Brock <sourceforge.brock AT dse.nl>
35688         * device/include/string.h,
35689         * device/lib/_strlen.c: return size_t
35690         * device/lib/_memchr.c,
35691         * device/lib/_strcspn.c: cosmetic changes
35692         * device/lib/sincosf.c,
35693         * device/lib/cosf.c,
35694         * device/lib/sinf.c: use BOOL instead of larger int
35695         * src/z80/gen.c,
35696         * src/z80/mappings.i: cosmetic changes
35697         * src/SDCCsymt.c (pointerTypes, mergeDeclSpec, checkSClass): fixed bug 2817646
35698           (checkFunction): disabled __naked
35699           (dbuf_printTypeChain): more like RFE 2824498, print C-ish
35700           (isRestrict): added
35701         * src/SDCCsymt.h: added IS_RESTRICT, mergeDeclSpec, isRestrict
35702         * src/SDCC.y: use mergeDeclSpec to fix bug 2817646
35703         * src/SDCCicode.c (checkPtrQualifiers, checkTypes, geniCodeAssign,
35704           geniCodeParms, geniCodeCall): fixed bug 1302048
35705         * src/SDCCerr.c,
35706         * src/SDCCerr.h: added warning W_TARGET_LOST_QUALIFIER
35707         * support/regression/tests/bug-136564.c,
35708         * support/regression/tests/bug-223113.c,
35709         * support/regression/tests/bug1839277.c,
35710         * support/regression/tests/bug2655200.c: added necessary const keywords
35711         * support/regression/tests/strtok.c: removed incorrect const keyword
35712         * support/regression/tests/bug2817646.c: new, added
35713         * .version,
35714         * doc/sdccman.lyx: bumped version to 2.9.3
35716 2009-10-03 Philipp Klaus Krause <pkk AT spth.de>
35717         * src/z80/z80-peeph.def:
35718           Reenabled unproblematic peephole changes.
35720 2009-10-03 Philipp Klaus Krause <pkk AT spth.de>
35721         * src/z80/z80-peeph.def:
35722           Reverted recent peephole changes.
35724 2009-09-30 Philipp Klaus Krause <pkk AT spth.de>
35725         * src/SDCCcse.c:
35726           A step towards #1923898.
35728 2009-09-29 Philipp Klaus Krause <pkk AT spth.de>
35729         * src/z80/gen.c,
35730           Minor 16-bit addition improvement.
35732 2009-09-28 Philipp Klaus Krause <pkk AT spth.de>
35733         * src/z80/ralloc.c,
35734         * src/z80/peeph-z80.def:
35735           Improved usage of accumulator as inter-i-code temporary.
35737 2009-09-28 Philipp Klaus Krause <pkk AT spth.de>
35738         * src/SDCCOpt.c:
35739           Burn the corpses to fight necromancy.
35741 2009-09-27 Philipp Klaus Krause <pkk AT spth.de>
35742         * src/z80/gen.c,
35743         * src/z80/ralloc.c,
35744         * src/z80/peeph-z80.def
35745           Improved usage of accumulator as inter-i-code temporary.
35747 2009-09-26 Philipp Klaus Krause <pkk AT spth.de>
35748         * src/z80/peeph-z80.def:
35749           Minor peephole improvement.
35751 2009-09-26 Philipp Klaus Krause <pkk AT spth.de>
35752         * src/SDCCpeeph.c,
35753           src/z80/peeph-z80.def:
35754           Fixed #2867572.
35756 2009-09-20 Philipp Klaus Krause <pkk AT spth.de>
35757         * device/include/string.h,
35758           device/lib/_strspn.c,
35759           device/lib/incl.mk,
35760           device/lib/_memchr.c,
35761           device/lib/_strcspn.c,
35762           device/lib/_memcmp.c:
35763           Minor string library improvements, including #772292.
35765 2009-09-20 Philipp Klaus Krause <pkk AT spth.de>
35766         * src/SDCCmain.c:
35767           Fixed #2819835 applying #2853488.
35769 2009-09-20 Philipp Klaus Krause <pkk AT spth.de>
35770         * debugger/mcs51/sdcdb.c,
35771           src/SDCCerr.c,
35772           src/z80/gen.c,
35773           src/z80/mappings.i,
35774           src/pic16/gen.c,
35775           src/pic16/pcode.c,
35776           support/librarian/sdcclib.c:
35777           Applied spelling patch #2862563.
35779 2009-09-15 Maarten Brock <sourceforge.brock AT dse.nl>
35781         * device/include/mcs51/at89Sx051.h: new, added, applied patch 2858106,
35782           thanks Ben Boeckel
35784 2009-09-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35786         * device/include/mcs51/p89v51rd2.h: Watchdog Timer Control sfr is
35787           bit addressable.
35789 2009-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
35791         * src/mcs51/gen.c (genAnd, genOr): applied patch for bug 2719592,
35792           thanks to Robert Larice
35793         * support/regression/tests/bug2719592.c: new, added
35795 2009-09-02 Borut Razem <borut.razem AT siol.net>
35797         * support/regression/ports/gbz80/spec.mk,
35798           support/regression/ports/ucz80/spec.mk,
35799           support/regression/ports/z80/spec.mk: fixed *z80 regression test if
35800           built ran directly from sdcc source directory
35802 2009-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
35804         * as/asxxsrc/asmain.c,
35805         * as/asxxsrc/asxxxx.h: fixed warning, main should return int
35806         * as/hc08/Makefile.in,
35807         * as/mcs51/Makefile.in: added -lm to LDFLAGS
35809 2009-08-31 Raphael Neider <rneider AT web.de>
35811         * device/lib/_fsmul.c, device/lib/pic/libsdcc/fsmul.c,
35812           device/lib/pic16/libsdcc/float/fsmul.c: fix overflow during rounding
35813         * support/regression/tests/float.c: add testcase for the fix
35815 2009-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
35817         * src/mcs51/gen.c (aopGet): applied patch 2837100 to fix bug 2805333
35818         * support/regression/tests/bug2805333.c: new, added,
35819           thanks Ruud van Silfhout
35821 2009-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
35823         * device/include/ctype.h: removed _REENTRANT as they are already with
35824           --stack-auto, optimized _tolower and _toupper with char casts
35825         * device/include/string.h,
35826         * device/lib/_strcat.c,
35827         * device/lib/_strchr.c,
35828         * device/lib/_strcmp.c,
35829         * device/lib/_strcpy.c,
35830         * device/lib/_strcspn.c,
35831         * device/lib/_strlen.c,
35832         * device/lib/_strncat.c,
35833         * device/lib/_strncmp.c,
35834         * device/lib/_strncpy.c,
35835         * device/lib/_strpbrk.c,
35836         * device/lib/_strrchr.c,
35837         * device/lib/_strspn.c,
35838         * device/lib/_strstr.c,
35839         * device/lib/_strtok.c,
35840         * device/lib/pic16/libc/stdio/printf_small.c,
35841         * device/lib/pic16/libc/stdio/printf_tiny.c,
35842         * device/lib/pic16/libc/stdio/vfprintf.c,
35843         * device/lib/printf_large.c,
35844         * device/lib/time.c: added required const keywords to pointers
35845         * device/lib/pic16/debug/Makefile.in: changed ommitFramePtr to omitFramePtr
35846         * support/regression/tests/bug-716242.c,
35847         * support/regression/tests/nullstring.c,
35848         * support/regression/tests/strstr.c,
35849         * support/regression/tests/strtok.c: added const and set svn-properties
35850         * support/regression/tests/bug1908493.c: added cast
35851         * support/regression/tests/float_single.c: fixed check for result=0.0
35853 2009-08-28 Borut Razem <borut.razem AT siol.net>
35855         * as/asxxsrc/asout.c: as/mcs51/asout.c moved to as/asxxsrc/asout.c
35856         * as/mcs51/asout.c, as/hc08/asout.c, as/z80/asout.c: removed
35857         * as/asxxsrc/sdas.c, as/asxxsrc/sdas.h:
35858           added function is_sdas_target_mcs51_like()
35859         * as/z80/as_gbz80.dsp, as/hc08/as_hc08.dsp, as/z80/as_z80.dsp,
35860           as/mcs51/asx8051.dsp, as/hc08/Makefile.in, as/mcs51/Makefile.in,
35861           as/z80/Makefile.in: updated project files
35862         * as/asxxsrc/asexpr.c: as/mcs51/asexpr.c moved to as/asxxsrc/asexpr.c
35863         * as/mcs51/asexpr.c, as/hc08/asexpr.c, as/z80/asexpr.c: removed
35864         * as/z80/as_gbz80.dsp, as/hc08/as_hc08.dsp, as/z80/as_z80.dsp,
35865           as/mcs51/asx8051.dsp, as/hc08/Makefile.in, as/mcs51/Makefile.in,
35866           as/z80/Makefile.in: updated project files
35867         * support/regression/ports/z80/spec.mk:
35868           unified as-z80 and as-gbz80 call convention with other assemblers
35870 2009-08-27 Borut Razem <borut.razem AT siol.net>
35872         * as/asxxsrc/asmain.c:
35873           HUGE changed to ASXXXX_HUGE due to redefinition in math.h
35874         * support/regression/ports/gbz80/spec.mk,
35875           support/regression/ports/ucz80/spec.mk,
35876           support/regression/ports/z80/spec.mk:
35877           unified as-z80 and as-gbz80 call convention with other assemblers
35879 2009-08-26 Borut Razem <borut.razem AT siol.net>
35881         * as/asxxsrc/sdas.c, as/asxxsrc/sdas.h: added
35882         * as/asxxsrc/asmain.c: calls sdas
35883         * src/z80/main.c: unified as-z80 and as-gbz80 call convention with
35884           other assemblers
35885         * as/hc08/Makefile.in, as/mcs51/Makefile.in, as/z80/Makefile.in,
35886           as/hc08/as_hc08.dsp, as/mcs51/asx8051.dsp, as/z80/as_gbz80.dsp,
35887           as/z80/as_z80.dsp: updated project files
35888         * device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in:
35889           unified call convention, sync with device/lib/z80/Makefile.in
35890         * as/asxxsrc/aslist.c: as/mcs51/aslist.c moved to as/asxxsrc/aslist.c
35891         * as/asxxsrc/asxxxx.h, as/z80/asout.c, as/mcs51/asout.c,
35892           as/hc08/asout.c:
35893           HUGE changed to ASXXXX_HUGE due to redefinition in math.h
35894         * as/asxxsrc/asmain.c: forced wflag and zflag
35895         * as/z80/aslist.c, as/mcs51/aslist.c, as/hc08/aslist.c: removed
35897 2009-08-25 Borut Razem <borut.razem AT siol.net>
35899         * as/hc08/Makefile.in, as/mcs51/Makefile.in, as/z80/Makefile.in:
35900           removed duplicated asdata.c
35901         * as/hc08/aslist.c, as/hc08/asmain.c, as/hc08/asout.c,
35902           as/mcs51/aslist.c, as/mcs51/asmain.c, as/mcs51/asout.c:
35903           fixed copy&paste problem in S_ORG
35904         * as/asxxsrc/asmain.c, as/hc08/Makefile.in, as/mcs51/Makefile.in,
35905           as/z80/Makefile.in,
35906         * as/mcs51/asx8051.dsp, as/z80/as_z80.dsp, as/hc08/as_hc08.dsp,
35907           as/z80/as_gbz80.dsp: as/mcs51/asmain.c moved to s/asxxsrc/asmain.c
35908         * as/hc08/asmain.c, as/z80/asmain.c: removed
35909         * as/asxxsrc/asmain.c, as/asxxsrc/asdata.c, as/asxxsrc/asxxxx.h:
35910           added wflag and zflag
35911         * as/hc08/aslist.c, as/hc08/asout.c, as/mcs51/aslist.c,
35912           as/mcs51/asout.c: fixed compiler wrning about unused variables
35914 2009-08-24 Borut Razem <borut.razem AT siol.net>
35916         * as/asxxsrc/asdata.c, as/asxxsrc/asxxxx.h, as/asxxsrc/aslex.c,
35917           as/asxxsrc/asnoice.c, as/asxxsrc/assubr.c, as/asxxsrc/assym.c,
35918           as/hc08/asexpr.c, as/hc08/aslist.c, as/hc08/asmain.c,
35919           as/hc08/asout.c, as/hc08/m08adr.c, as/hc08/m08ext.c,
35920           as/hc08/m08mch.c, as/hc08/m08pst.c, as/mcs51/asexpr.c,
35921           as/mcs51/aslist.c, as/mcs51/asmain.c, as/mcs51/asout.c,
35922           as/mcs51/i51adr.c, as/mcs51/i51ext.c, as/mcs51/i51mch.c,
35923           as/mcs51/i51pst.c, as/z80/asexpr.c, as/z80/aslist.c,
35924           as/z80/asmain.c, as/z80/asout.c, as/z80/z80adr.c,
35925           as/z80/z80ext.c, as/z80/z80mch.c, as/z80/z80pst.c,
35926           as/hc08/as_hc08.dsp, as/mcs51/asx8051.dsp, as/z80/as_gbz80.dsp,
35927           as/z80/as_z80.dsp,
35928           as/hc08/Makefile.in, as/mcs51/Makefile.in, as/z80/Makefile.in:
35929           as/mcs51/asdata.c moved to as/asxxsrc/asdata.c,
35930           as/mcs51/asm.h moved to as/asxxsrc/asxxxx.h
35931         * as/hc08/asdata.c, as/mcs51/asdata.c, as/z80/asdata.c,
35932           as/hc08/asm.h, as/mcs51/asm.h, as/z80/asm.h: removed
35934 2009-08-10 Borut Razem <borut.razem AT siol.net>
35936         * as/asxxsrc/assubr.c, as/hc08/asm.h, as/hc08/asmain.c,
35937           as/mcs51/asm.h, as/mcs51/asmain.c, as/z80/asm.h:
35938           increnemt aserr only on fatal errors
35940 2009-08-09 Borut Razem <borut.razem AT siol.net>
35942         * as/asxxsrc/assubr.c: moved and mergerd from as/mcs51/assubr.c
35943           as/hc08/assubr.c, as/mcs51/assubr.c, as/z80/assubr.c: deleted
35944           as/hc08/asmain.c, as/mcs51/asmain.c: removed variable fatalError
35945         * as/z80/as_gbz80.dsp, as/hc08/as_hc08.dsp,
35946           as/z80/as_z80.dsp, as/mcs51/asx8051.dsp: assubr.c moved to as/asxxsrc
35947         * as/hc08/Makefile.as_hc08, as/mcs51/Makefile.asx8051,
35948           as/hc08/Makefile.bcc, as/link/hc08/Makefile.bcc,
35949           as/link/mcs51/Makefile.bcc, as/mcs51/Makefile.bcc,
35950           as/z80/Makefile.bcc, device/examples/ds390/tinitalk/Makefile.bcc,
35951           Makefile.bcc, src/avr/Makefile.bcc, src/ds390/Makefile.bcc,
35952           src/hc08/Makefile.bcc, src/izt/Makefile.bcc, src/Makefile.bcc,
35953           src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/pic/Makefile.bcc,
35954           src/xa51/Makefile.bcc, src/z80/Makefile.bcc, Bcc.inc
35955           support/cpp/Makefile.bcc, support/librarian/Makefile.bcc,
35956           support/packihx/Makefile.bcc: removed unmaintained makefiles,
35957           implemented RFE #2786753: Remove Borland C support
35958         * support/Util/dbuf_string.h: include stdio.h
35960 2009-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
35962         * device/lib/pic16/libc/Makefile.in,
35963         * device/lib/pic16/libdev/Makefile.in,
35964         * device/lib/pic16/libio/Makefile.in,
35965         * device/lib/pic16/libm/Makefile.in,
35966         * device/lib/pic16/libsdcc/Makefile.in,
35967         * device/lib/pic16/startup/Makefile.in,
35968         * device/lib/pic16/Makefile.common,
35969         * device/lib/pic16/Makefile.in,
35970         * src/hc08/main.c (_hc08_setDefaultOptions),
35971         * src/pic16/gen.c (genFunction, genEndFunction),
35972         * src/pic16/NOTES,
35973         * src/SDCCglobl.h,
35974         * src/SDCCmain.c,
35975         * src/z80/gen.c (genFunction),
35976         * doc/sdccman.lyx: changed ommitFramePtr to omitFramePtr
35977         * src/mcs51/main.c (_mcs51_finaliseOptions),
35978         * src/SDCCmain.c (parseCmdLine): moved mcs51 specific code for float_rent
35979         * src/SDCCast.h,
35980         * src/SDCCast.c (decorateType): removed incorrect fix for bug 1372851 which
35981            caused bug 1458678
35982           (CodePtrPointsToConst),
35983         * src/SDCCicode.c (isOperandVolatile),
35984         * src/SDCCsymt.h (IS_CONSTANT, IS_VOLATILE),
35985         * src/SDCCsymt.c (structElemType, checkSClass, isConstant, isVolatile)
35986         * src/SDCCglue.c (emitRegularMap, initPointer),
35987         * src/pic16/glue.c (pic16_initPointer): skip arrays when setting/checking
35988            const/volatile, fixes bugs 1372851 and 1458678
35989         * src/SDCCbitv.c (bitVectnBitsOn): made mask const
35990         * src/SDCCicode.c (opFromOpWithDU),
35991         * src/SDCCopt.c (replaceRegEqv): use OPDEFS and OP_USES
35992         * src/SDCCptropt.c: cosmetic changes
35993         * src/z80/gen.c (isRegString, isConstantString): renamed isConstant and
35994           made them static
35995         * support/regression/tests/bug1458678.c: new, added
35997 2009-08-06 Philipp Klaus Krause <pkk AT spth.de>
35999         * src/SDCCpepph.c:
36000           Fixed #1947081.
36001         * src/z80/peeph-z80.def:
36002           Fixed #1703943.
36004 2009-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
36006         * as/link/lksym.c (newsym): only allow redefinition in ABS area
36007           fixes bug 1057171
36008         * src/hc08/main.c,
36009         * src/mcs51/main.c,
36010         * src/z80/main.c: made RSEG absolute
36011         * src/SDCCglue.c (emitDebugSym): new, factored out
36012           (emitRegularMap): add org 0x0000 to SFR/SBIT,
36013           (emitRegularMap, emitStaticSeg) fixed bug for absolute debug symbols
36014         * src/SDCCmem.h,
36015         * src/SDCCsymt.h: cosmetic changes
36016         * src/SDCCsymt.c (dbuf_printTypeChain): implemented RFE 2824498
36018 2009-07-26 Borut Razem <borut.razem AT siol.net>
36020         * support/regression/Makefile.in,
36021           support/regression/ports/pic14/spec.mk,
36022           support/regression/ports/z80/spec.mk,
36023           support/regression/ports/pic16/spec.mk,
36024           support/regression/ports/gbz80/spec.mk,
36025           support/regression/ports/ds390/spec.mk,
36026           support/regression/ports/hc08/spec.mk,
36027           support/regression/ports/ucz80/spec.mk,
36028           support/regression/ports/host/spec.mk,
36029           support/regression/ports/mcs51-common/spec.mk,
36030           support/regression/ports/xa51/spec.mk:
36031           preparations for running WIN32 regression test on Linux / wine
36033 2009-07-22 Borut Razem <borut.razem AT siol.net>
36035         * support/scripts/sdcc.nsi: add SDCC bin directory to path if silent mode
36037 2009-07-20 Maarten Brock <sourceforge.brock AT dse.nl>
36039         * as/asranlib/asranlib.dsp: removed all windows library dependencies
36040         * as/mcs51/asx8051.dsp: no debugging for Release build
36041         * src/SDCCast.h,
36042         * src/SDCCast.c (createRMW): IS_DEREF now also checks for PTR_OP
36043         * src/SDCCicode.c (geniCodeStruct): added assert for really being a struct,
36044           (ast2iCode): IS_DEREF now also checks for PTR_OP, fixes bug 2821333
36045         * src/SDCCptropt.c: changed all TAB's to spaces
36046         * support/regression/tests/float_single.c,
36047         * device/lib/asincosf.c: removed unnecessary macros, const on global always
36048           means 'put it in code memory', and 'reentrant' is predefined in testfwk.h
36050 2009-07-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36052         * doc/sdccman.lyx: various changes
36053         * src/SDCCmain.c: fix typo in help text
36055 2009-07-19 Borut Razem <borut.razem AT siol.net>
36057         * src/SDCCast.c: removed check for "unanticipated opcode in tree",
36058           introduced with patch #2802510
36060 2009-07-18 Borut Razem <borut.razem AT siol.net>
36062         * src/SDCCmain.c: RFE #1204438 - make SDCC a multicall binary,
36063           fixed for WIN32
36064         * as/link/lkar.c: fixed bug 2817508 - double free or memory corruption
36065           in aslink
36066         * src/SDCCast.c, support/regression/tests/bug2740884.c:
36067           applied patch #2802510 - fix for bug #2740884,
36068           fixed bug #2740884 - Incorrect assignment in array of structs,
36069           thanks to Robert Larice
36070         * as/hc08/clean.mk, as/link/clean.mk, as/link/hc08/clean.mk,
36071           as/link/mcs51/clean.mk, as/link/z80/clean.mk, as/mcs51/clean.mk,
36072           as/z80/clean.mk, device/lib/clean.mk, device/lib/large/Makefile.in,
36073           device/lib/Makefile.in, device/lib/mcs51/Makefile.in,
36074           device/lib/medium/Makefile.in, device/lib/pic/Makefile.in,
36075           device/lib/small/Makefile.in, support/cpp/Makefile.in:
36076           applied patch #2801385 - make clean and distclean,
36077           fixed bug #2799101 - make clean does not remove .obj in /as,
36078           fixed bug #2783160 - "make distclean" fails to clean properly,
36079           thanks to Robert Larice
36080         * .version, doc/sdccman.lyx: changed sdcc version to 2.9.2
36082 2009-07-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36084         * src/SDCCmain.c: make SDCC a multicall binary, RFE #1204438,
36085           allows choosing the port by renaming the sdcc binary
36086           (to f.e. z80-sdcc) or by calling SDCC from a suitable link
36087           (parameter -m takes precedence)
36088         * src/SDCCglue.c: be more verbose about constants in code space
36090 2009-07-07 Raphael Neider <rneider AT web.de>
36092         * src/pic16/device.c (find_in_list): ignore case during device
36093           selection, fixes #2816817
36095 2009-06-24 Raphael Neider <rneider AT web.de>
36097         * src/pic/ralloc.c (pic14_assignRegisters): avoid incorrect register
36098           reuse among functions (fixes #2810015), cosmetic changes
36100 2009-06-22 Raphael Neider <rneider AT web.de>
36102         * device/include/pic16/adc.h,
36103           device/include/pic16/pic16devices.txt,
36104           device/include/pic16/pic18f1[34]k50.h,
36105           device/include/pic16/pic18f[24][456]j50.h,
36106           device/include/pic16/pic18f[68][56]27.h,
36107           device/include/pic16/pic18f[68][67]22.h,
36108           device/include/pic16/pic18fregs.h,
36109           device/lib/pic16/libdev/Makefile.am,
36110           device/lib/pic16/libdev/pic18f1[34]k50.c,
36111           device/lib/pic16/libdev/pic18f[24][456]j50.c,
36112           device/lib/pic16/libdev/pic18f[68][56]27.c,
36113           device/lib/pic16/libdev/pic18f[68][67]22.c,
36114           device/lib/pic16/libio/Makefile.am,
36115           device/lib/pic16/libio/adc/adcbusy.c,
36116           device/lib/pic16/libio/adc/adcopen.c,
36117           device/lib/pic16/libio/adc/adcsetch.c,
36118           device/lib/pic16/libio/i2c/i2copen.c,
36119           device/lib/pic16/pics.all,
36120           doc/sdccman.lyx: added families 18f1[34]k50 (#2783178),
36121             18f[24][456]j50 (#2794505), and 18f[68][56]27/18f[68][67]22
36122         * device/lib/pic16/aclocal.m4,
36123           device/lib/pic16/configure,
36124           device/lib/pic16/Makefile.in,
36125           device/lib/pic16/debug/Makefile.in,
36126           device/lib/pic16/libc/Makefile.in,
36127           device/lib/pic16/libdev/Makefile.in,
36128           device/lib/pic16/libio/Makefile.in,
36129           device/lib/pic16/libm/Makefile.in,
36130           device/lib/pic16/libsdcc/Makefile.in,
36131           device/lib/pic16/startup/Makefile.in: regenerated
36133 2009-06-13 Borut Razem <borut.razem AT siol.net>
36135         * src/SDCCasm.c: fixed bug #2805536: Assembly code comment cause Internal Error
36136         * support/regression/tests/macro.c: new, added
36138 2009-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
36140         * src/SDCC.y,
36141         * src/SDCCsymt.c (finalizeSpec),
36142         * src/SDCCsymt.h: applied patch for bug 2798646, thanks Robert Larice
36143         * src/SDCCsymt.c (initCSupport): also handle --funsigned-char for floating
36144           point support routines
36145         * src/z80/ralloc.c (regTypeNum): fixed warning
36146         * device/lib/_atof.c,
36147         * support/regression/tests/args.c,
36148         * support/regression/tests/arithcse.c,
36149         * support/regression/tests/bitvars.c,
36150         * support/regression/tests/compare.c,
36151         * support/regression/tests/onebyte.c,
36152         * support/regression/tests/shifts.c,
36153         * support/regression/tests/uminus.c,
36154         * support/regression/tests/vaargs.c: fixed for --funsigned-char
36156 2009-05-30 Borut Razem <borut.razem AT siol.net>
36158         * device/include/mcs51/80c51xa.h: moved to device/include/xa51
36159           device/include/mcs51/ds400rom.h: moved to device/include/ds400
36160           device/include/mcs51/serial390.h: moved to device/include/ds390
36161           device/include/mcs51/ds80c390.h, device/include/mcs51/tinibios.h:
36162           moved back to device/include, since they are used also by ds400
36163           device/include/Makefile.in: new include directories ds390, ds400
36164           and xa51
36165         * device/include/stdlib.h: coorected types for _itoa and _ltoa
36166         * device/lib/ds400/Makefile.in: added include serch path include/ds400
36168 2009-05-25 Philipp Klaus Krause <pkk AT spth.de>
36169         * src/z80/gen.c:
36170           Fixed an ancient, but difficult to reproduce and detect bug, that
36171           led to stack corruption under certain conditions.
36173 2009-05-25 Borut Razem <borut.razem AT siol.net>
36175         * device/include/80c51xa.h, device/include/ds400rom.h,
36176           device/include/ds80c390.h, device/include/ser.h,
36177           device/include/ser_ir.h, device/include/serial.h,
36178           device/include/serial390.h, device/include/tinibios.h:
36179           moved to device/include/mcs51/
36180           device/include/z180.h:
36181           moved to device/include/z80/
36182           implemented RFE #1930974: Some device specific header files are not
36183           in their folders
36185 2009-05-24 Philipp Klaus Krause <pkk AT spth.de>
36187         * src/z80/ralloc.c,
36188           src/z80/peeph-z80.def,
36189           src/SDCCasm.c:
36190           Propagate rematerializability over addition of constants.
36192 2009-05-24 Philipp Klaus Krause <pkk AT spth.de>
36194         * src/z80/ralloc.c:
36195           Improved use of hl as inter-i-code temporary.
36197 2009-05-24 Philipp Klaus Krause <pkk AT spth.de>
36199         * src/z80/gen.c:
36200           Fixed bug #2795942.
36202 2009-05-22 Raphael Neider <rneider AT web.de>
36204         * src/pic16/gen.c (genGenericShift): do not overwrite the shift count
36205           for `val = 1 << val', fixes bug #2795131
36207 2009-05-18 Maarten Brock <sourceforge.brock AT dse.nl>
36209         * src/SDCCglue.c (printIvalBitFields): cleaned up
36210         * src/pic16/glue.c (pic16_printIvalBitFields): same fix for bug 2791782
36212 2009-05-17 Maarten Brock <sourceforge.brock AT dse.nl>
36214         * device/lib/_iscntrl.c,
36215         * device/lib/_isdigit.c,
36216         * device/lib/_isgraph.c,
36217         * device/lib/_islower.c,
36218         * device/lib/_isprint.c,
36219         * device/lib/_ispunct.c,
36220         * device/lib/_isspace.c,
36221         * device/lib/_isupper.c,
36222         * device/lib/_isxdigit.c,
36223         * device/lib/_ltoa.c,
36224         * device/lib/pic16/libc/ctype/iscntrl.c,
36225         * device/lib/pic16/libc/ctype/isdigit.c,
36226         * device/lib/pic16/libc/ctype/isgraph.c,
36227         * device/lib/pic16/libc/ctype/islower.c,
36228         * device/lib/pic16/libc/ctype/isprint.c,
36229         * device/lib/pic16/libc/ctype/ispunct.c,
36230         * device/lib/pic16/libc/ctype/isspace.c,
36231         * device/lib/pic16/libc/ctype/isupper.c,
36232         * device/lib/pic16/libc/ctype/isxdigit.c,
36233         * device/lib/pic16/libc/stdlib/ltoa.c: fixed warnings after patch 2704189
36234         * src/SDCCglue.c (printIvalBitFields): fixed bug 2791782, a bug with
36235           bitfields in next integer and an endianness bug for hc08
36236         * support/regression/tests/bitfields.c: added testcase for these bugs
36238 2009-05-09 Philipp Klaus Krause <pkk AT spth.de>
36240         * src/z80/ralloc.c,
36241           src/z80/gen.c,
36242           support/regression/test/bug-2646174.c:
36243           Fixed bug #2646174.
36245 2009-05-09 Philipp Klaus Krause <pkk AT spth.de>
36247         * src/z80/peeph-z80.def:
36248           Fixed bug #1924707.
36250 2009-05-09 Borut Razem <borut.razem AT siol.net>
36252         * doc/sdccman.lyx: implemented RFE #2786753: Remove Borland C support
36254 2009-05-09 Maarten Brock <sourceforge.brock AT dse.nl>
36256         * device/include/mcs51/uPSD32xx.h: added, thanks G.H.J. Morsink
36257         * device/include/mcs51/C8051F920.h: added, from patch 2486338,
36258           thanks Steven Borley
36260 2009-05-07 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
36262         * support/librarian/sdcclib.c: fixed bugs in GetNameFromPath() and
36263           ChangeExtension().  Thanks to Jon Nall for pointed the bug out and
36264           patch #2788108.
36266 2009-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
36268         * doc/sdccman.lyx: documented pointer casting for vararg function params
36270 2009-05-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
36272         * as/link/hc08/link_hc08.dsp, as/link/mcs51/aslink.dsp,
36273           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp: replaced getline.c
36274           with lk_readnl.c.
36276 2009-05-04 Borut Razem <borut.razem AT siol.net>
36278         * support/cpp/sdcpp.c, support/cpp/version.c: fixed crash due to
36279           missing initialization of line_table,
36280           corrected sdcpp version to 4.4.0
36282 2009-04-19 Philipp Klaus Krause <pkk AT spth.de>
36284         * device/lib/z80/div.s:
36285           Applied patch #2764475 from Marco Bodrato to speed up Z80 division.
36287 2009-05-03 Borut Razem <borut.razem AT siol.net>
36289         * as/link/hc08/Makefile.in, as/link/mcs51/Makefile.in,
36290           as/link/z80/Makefile.in, as/link/lk_readnl.c, as/link/lk_readnl.h,
36291           as/link/lklib.c, as/link/lkrel.c, as/link/lksdcclib.c:
36292           getline renamed to lk_readln to prevent conflicts with Fedora 11
36293           glibc-2.9.90-19 getline;
36294           see https://bugzilla.redhat.com/show_bug.cgi?id=488217
36296 2009-05-01 Maarten Brock <sourceforge.brock AT dse.nl>
36298         * src/SDCCast.c (processParms): fixed bug 2783061 by applying patch from
36299           Keith Packard, thanks
36300         * support/regression/tests/bug2783061.c: new, added
36302 2009-04-28 Borut Razem <borut.razem AT siol.net>
36304         * support/cpp/output.h, support/cpp/opts-common.c,
36305           support/cpp/c-ppoutput.c, support/cpp/cppdefault.c,
36306           support/cpp/system.h, support/cpp/cppdefault.h,
36307           support/cpp/prefix.c, support/cpp/except.h, support/cpp/hwint.h,
36308           support/cpp/prefix.h, support/cpp/libiberty/safe-ctype.h,
36309           support/cpp/libiberty/filenames.h, support/cpp/libiberty/xstrdup.c,
36310           support/cpp/libiberty/md5.c, support/cpp/libiberty/obstack.h,
36311           support/cpp/sdcpp.c, support/cpp/intl.h, support/cpp/sdcpp.h
36312           support/cpp/libcpp/symtab.c, support/cpp/libcpp/directives.c,
36313           support/cpp/libcpp/macro.c, support/cpp/libcpp/include/cpplib.h,
36314           support/cpp/libcpp/include/symtab.h,
36315           support/cpp/libcpp/include/line-map.h,
36316           support/cpp/libcpp/include/cpp-id-data.h,
36317           support/cpp/libcpp/include/mkdeps.h, support/cpp/libcpp/files.c,
36318           support/cpp/libcpp/line-map.c, support/cpp/libcpp/init.c,
36319           support/cpp/libcpp/identifiers.c, support/cpp/libcpp/ucnid.h,
36320           support/cpp/libcpp/traditional.c, support/cpp/libcpp/errors.c,
36321           support/cpp/libcpp/expr.c, support/cpp/libcpp/internal.h,
36322           support/cpp/libcpp/mkdeps.c, support/cpp/libcpp/lex.c,
36323           support/cpp/libcpp/system.h, support/cpp/libcpp/charset.c,
36324           support/cpp/opts.h, support/cpp/sdcpp-opts.c:
36325           SDCPP synchronized with GCC CPP release version 4.4.0.
36326           SDCPP license changed to GPL version 3 or later.
36328 2009-04-28 Borut Razem <borut.razem AT siol.net>
36330         * fixed GCC 4.4.0 mingw compilation:
36331           sim/ucsim/cmd.src/cmdlex.cc: regenerated - added #include <stdio.h>
36332         * src/SDCCsymt.c: fixed warning:
36333           suggest parentheses around operand of '!' or change '&' to '&&' or
36334           '!' to '~'
36335         * support/scripts/sdcc_mingw32: sync with sdcc-build
36337 2009-04-27 Raphael Neider <rneider AT web.de>
36339         * src/pic16/gen.c (genNearPointerGet): fix double indirect
36340           access to bitfields (#2782405)
36342 2009-04-27 Borut Razem <borut.razem AT siol.net>
36344         * fixed GCC 4.4.0 mingw compilation:
36345         * sim/ucsim/cmd.src/cmdlex.l: added #include <stdio.h>
36346         * support/cpp/sdcpp-opts.c: fixed warning:
36347           unknown conversion type character 'm' in format,
36348           use strerror(errno) instead of %m glibc extension format specifier
36349         * src/SDCCsymt.c: fixed warning:
36350           suggest parentheses around operand of '!' or change '&' to '&&' or
36351           '!' to '~'
36352         * src/pic16/pcode.c, src/pic16/glue.c: fixed warning:
36353           unknown conversion type character 'h' in format,
36354           replaced hh printf format specifier with parameter casting to
36355           unsigned char
36357 2009-04-19 Philipp Klaus Krause <pkk AT spth.de>
36359         * device/lib/z80/shift.s,
36360           device/lib/z80/memmove.s,
36361           device/lib/z80/mul.s,
36362           device/lib/z80/mulchar.s,
36363           device/lib/z80/div.s,
36364           device/lib/z80/mod.s:
36365           Applied patch #2762516 from Marco Bodrato containing minor
36366           improvements of many Z80 asm routines.
36368 2009-04-19 Philipp Klaus Krause <pkk AT spth.de>
36370         * support/regression/tests/strtok.c,
36371           support/regression/tests/strstr.c,
36372           support/regression/tests/strspn.c,
36373           support/regression/tests/strncmp.c,
36374           support/regression/tests/strcpy.c,
36375           support/regression/tests/strcmp.c:
36376           Added some regression tests by Ruud van Silfhout from patch #2321830.
36378 2009-04-13 Borut Razem <borut.razem AT siol.net>
36380         * device/lib/Makefile.in, device/lib/ds390/Makefile.in,
36381           device/lib/ds400/Makefile.in, device/lib/gbz80/Makefile.in,
36382           device/lib/hc08/Makefile.in, device/lib/mcs51/Makefile.in,
36383           device/lib/z80/Makefile.in: override PORTDIR in sub-makefiles
36385 2009-04-13 Raphael Neider <rneider AT web.de>
36387         * device/lib/pic16/bootstrap.sh: avoid symlinks
36388         * device/lib/pic16/configure.ac,
36389           device/lib/pic16/configure.gnu: removed obsolete configure-wrapper
36391 2009-04-13 Borut Razem <borut.razem AT siol.net>
36393         * device/lib/Makefile.in: remove abspath for PORTDIR, introduced in
36394           svn revision #5341, since it makes asranlib to fail on cygming and
36395           mingw builds: win32 native asranlib doesn't understand cygwin paths.
36397 2009-04-10 Raphael Neider <rneider AT web.de>
36399         * device/lib/pic/libsdcc/fs2ulong.c, device/lib/pic/libsdcc/fsadd.c,
36400           device/lib/pic/libsdcc/fsdiv.c, device/lib/pic/libsdcc/fseq.c,
36401           device/lib/pic/libsdcc/fsgt.c, device/lib/pic/libsdcc/fslt.c,
36402           device/lib/pic/libsdcc/fsmul.c, device/lib/pic/libsdcc/fsneq.c,
36403           device/lib/pic/libsdcc/fssub.c, device/lib/pic/libsdcc/ulong2fs.c,
36404           device/lib/pic16/libsdcc/float/fs2ulong.c,
36405           device/lib/pic16/libsdcc/float/fsadd.c,
36406           device/lib/pic16/libsdcc/float/fsdiv.c,
36407           device/lib/pic16/libsdcc/float/fsmul.c: fixed pic14 libraries, merge
36408           changes from the pic16 port, minor code cleanup
36409         * src/pic/gen.c: implemented genUminusFloat(), fixed warning and style
36411 2009-04-09 Philipp Klaus Krause <pkk AT spth.de>
36413         * device/lib/z80/mod.s,
36414           device/lib/z80/Makefile.in,
36415           device/lib/z80/div.s,
36416           device/lib/z80/modsigned.s,
36417           device/lib/z80/divsigned.s:
36418           Applied patch #2741451 from Marco Bodrato
36419           and moved functions for signed modulo into
36420           separate file.
36422 2009-04-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36424         * src/mcs51/peeph.def: disabled rule 270, fixing bug #2736282
36426 2009-04-04 Philipp Klaus Krause <pkk AT spth.de>
36428         * src/z80/gen.c,
36429           src/z80/peeph-z80.def:
36430           Improved caching of pointers in hl and iy.
36431           device/lib/z80/div.s:
36432           Applied patch #2727917 from Marco Bodrato.
36434 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36436         * src/z80/ralloc.c:
36437           Enabled use of hl as inter-i-code temporary.
36439 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36441         * src/z80/peeph-z80.def:
36442           Reenabled peephole 0t.
36444 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36446         * src/z80/gen.c:
36447           Fixed bugs #2728224, #2728218.
36448           src/z80/peeph-z80.def:
36449           Workaround for bug #2728445.
36450           support/regression/tests/memory.c:
36451           Added test for memcmp().
36453 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36455         * device/lib/z80/mul.s,
36456           device/lib/z80/memmove.s,
36457           device/lib/z80/strlen.s:
36458           Minor improvements, code cleanup and license clarification.
36460 2009-04-01 Philipp Klaus Krause <pkk AT spth.de>
36462         * device/lib/z80/mul.s:
36463           Minor improvement in Z80 16x16 bit multiplication.
36465 2009-03-23 Borut Razem <borut.razem AT siol.net>
36467         * src/SDCCval.c, src/SDCCmain.c, device/include/limits.h,
36468           device/include/pic/limits.h, device/include/pic16/limits.h,
36469           device/lib/_fs2schar.c, device/lib/pic/libsdcc/fs2schar.c,
36470           device/lib/pic16/libsdcc/float/fs2schar.c, doc/sdccman.lyx,
36471           support/regression/tests/funsigned-char.c:
36472           applied patch 2704189: character constant sign fix
36473           thanks to Robert Larice
36475 2009-03-22 Borut Razem <borut.razem AT siol.net>
36477         * Small Device C Compiler 2.9.0 released
36478         * .version, doc/sdccman.lyx: changed sdcc version to 2.9.1
36480 2009-03-15 Borut Razem <borut.razem AT siol.net>
36482         * support/scripts/repack_release.sh: added
36484 2009-03-13 Borut Razem <borut.razem AT siol.net>
36486         * doc/sdccman.lyx: "freeware" replaced with "free open source"
36488 2009-03-12 Borut Razem <borut.razem AT siol.net>
36490         * src/z80/peep.c: #2652979: --debug crashes sdcc
36492 2009-03-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36494         * src/SDCCglue.c,
36495           support/regression/tests/bug2655200.c:
36496           applied modified patch from Robert Larice <larice AT vidisys.de>
36497           fixing original report of bug #2655200: pointer to pdata memory
36498           not correctly initialized
36500 2009-03-11 Borut Razem <borut.razem AT siol.net>
36502         * as/asranlib/asranlib.c: retain the original file mode
36504 2009-03-10 Borut Razem <borut.razem AT siol.net>
36506         * src/mcs51/gen.c, src/z80/gen.c, src/hc08/gen.c, src/ds390/gen.c,
36507           support/regression/tests/bug1875933.c:
36508           fixed bug #1875933: Evelyn jumps into the void
36509           thanks to Robert Larice
36511 2009-03-10 Raphael Neider <rneider AT web.de>
36513         * src/pic16/pcode.c (LinkFlow): fix invalid cast from pCodeLabel
36514           to pCodeInstruction to avoid a segmentation fault
36516 2009-03-03 Borut Razem <borut.razem AT siol.net>
36518         * device/lib/printf_large.c: fixed bug #2656821: bug in printf
36520 2009-03-03 Raphael Neider <rneider AT web.de>
36522         * device/lib/pic/libdev/Makefile.in: build device-specific
36523           libraries for the correct processor, fixes #2654585
36525 2009-03-01 Raphael Neider <rneider AT web.de>
36527         * device/lib/Makefile.in: fixed parallel builds (i.e., make -jN, N>1)
36529 2009-03-01 Borut Razem <borut.razem AT siol.net>
36531         * src/z80/peep.c: fixed bug #2648964: --i-code-in-asm crashes sdcc
36532         * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
36533           changed sdcc version to 2.9.0
36535 2009-03-01 Maarten Brock <sourceforge.brock AT dse.nl>
36537         * src/mcs51/ralloc.c (spillThis, spilSomething): fixed bug 2435941
36538           (serialRegAssign): do not spil bit registers
36539           throughout cosmetic changes
36540         * support/regression/tests/bug2435941.c: new, added
36542 2009-02-28 Raphael Neider <rneider AT web.de>
36544         * src/regression/compare10.c,
36545           src/regression/compare7.c,
36546           src/regression/compare8.c,
36547           src/regression/compare9.c: reset watchdog timer in time
36548         * src/regression/configword.c: apply patch from #2488150
36549         * src/pic/glue.c (pic14createInterruptVect): pin RESET vector
36550           handler to 0x0000 as the linker no longer knows STARTUP sections
36551         * src/pic/pcode.c (register_reassign, ReuseReg): applied modified
36552           patch #2512926 to (mostly) fix #1762626, cosmetic changes
36553         * src/pic/pcodepeep.c: remove reference to nonexisting function
36555 2009-02-28 Raphael Neider <rneider AT web.de>
36557         * device/include/pic16/signal.h: avoid multiline inline
36558           assembler statements in macros, addresses #2644965
36560 2009-02-27 Raphael Neider <rneider AT web.de>
36562         * device/include/pic16/pic18f[24][3456]k20.h,
36563           device/include/pic16/pic18f[68][567]j50.h,
36564           device/include/pic16/pic18f[68]6j55.h,
36565           device/lib/pic16/libdev/pic18f[24][3456]k20.c,
36566           device/lib/pic16/libdev/pic18f[68][567]j50.c,
36567           device/lib/pic16/libdev/pic18f[68]6j55.c,
36568           device/include/pic16/pic18fregs.h,
36569           device/include/pic16/pic16devices.txt,
36570           device/lib/pic16/pics.all,
36571           device/lib/pic16/libdev/Makefile.am,
36572           device/lib/pic16/libio/Makefile.am: added/re-enabled many device
36573           families (87j50 family contributed by Robert Wuest)
36575         * device/include/pic16/adc.h,
36576           device/lib/pic16/libio/adc/adcbusy.c,
36577           device/lib/pic16/libio/adc/adcclose.c,
36578           device/lib/pic16/libio/adc/adcconv.c,
36579           device/lib/pic16/libio/adc/adcopen.c,
36580           device/lib/pic16/libio/adc/adcsetch.c: added 65j50-style ADC
36582         * doc/sdccman.lyx: updated list of supported devices, fixed typo
36583         * device/lib/pic16/Makefile.common: do not suppress assembler warnings
36585         * device/lib/pic16/Makefile.in,
36586           device/lib/pic16/libm/Makefile.in,
36587           device/lib/pic16/debug/Makefile.in,
36588           device/lib/pic16/libio/Makefile.in,
36589           device/lib/pic16/startup/Makefile.in,
36590           device/lib/pic16/libsdcc/Makefile.in,
36591           device/lib/pic16/libdev/Makefile.in,
36592           device/lib/pic16/libc/Makefile.in: regenerated
36594 2009-02-27 Borut Razem <borut.razem AT siol.net>
36596         * as/z80/asexpr.c, as/z80/z80mch.c: re-fixed bugs
36597           #1829678 and #1704376 in the way proposed by Alan Baldwin
36599 2009-02-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
36601         * device/include/mcs51/at89c51ed2.h: Fixed address of SFR P5. Thanks
36602           to Steve Qu for the fix.
36604 2009-02-23 Borut Razem <borut.razem AT siol.net>
36606         * as/z80/asexpr.c: fixed bug #1829678: Z-80 CP A,<xxx> assembly
36607           it is already fixed for mcs51 and hc08 targets
36608         * as/z80/z80mch.c: fixed bug #1704376: missing as-z80 errors
36610 2009-02-22 Borut Razem <borut.razem AT siol.net>
36612         * device/lib/Makefile.in: fixed parenthesis error
36613         * doc/sdccman.lyx: fixed webdocs bug #2071421: error in the manual,
36614           fixed webdocs bug #1967920: --version
36616 2009-02-18 Maarten Brock <sourceforge.brock AT dse.nl>
36618         * device/include/mcs51/at89c51ed2.h: fixed bug #2071949 bitmask RBCK wrong
36620 2009-02-17 Maarten Brock <sourceforge.brock AT dse.nl>
36622         * as/link/mcs51/lkihx.c (hexRecord): bugfix do not insert extended address
36623           when addresses are unsorted
36625 2009-02-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36627         * device/include/mcs51/p89v66x.h: added ENBOOT thanks
36628           Gudjon Gudjonsson <gudjon AT gudjon.org>
36629         * device/include/mcs51/p89c66x.h: fixed some defines
36630         * device/include/mcs51/p89v66x.h: fixed some sbit addresses
36631         * doc/sdccman.lyx: added <NO FLOAT> to index, try to reanimate
36632           svn keywords
36634 2009-02-14 Borut Razem <borut.razem AT siol.net>
36636         * doc/sdccman.lyx: corrected cpp info
36638 2009-02-13 Borut Razem <borut.razem AT siol.net>
36640         * as/Makefile.in: *.doc renamed to *.txt
36642 2009-02-11 Borut Razem <borut.razem AT siol.net>
36644         * as/doc/aslnk.doc, as/doc/abstra.doc: renamed to *.txt
36645         * as/doc/aslnk.txt, as/doc/asxhtml.html: changed licens to GPLv3
36647 2009-02-11 Borut Razem <borut.razem AT siol.net>
36649         * doc/sdccman.lyx: documented ar format libraries
36651 2009-02-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36653         * support/regression/tests/float_single.c: added regression
36654           test. Some testpoints for probably rarely used functions
36655           (acosf, sinhf, tanf, expf) disabled for some targets
36657 2009-02-10 Raphael Neider <rneider AT web.de>
36659         * src/pic16/gen.c (pic16_freeAsmop): avoid NULL pointer dereference,
36660           (genAssign): fixed for operands on the stack
36662         * device/lib/pic16/libc/stdio/vfprintf.c,
36663           device/lib/pic16/configure.ac,
36664           device/lib/pic16/Makefile.common: add configurable support for
36665           printing floats via ./configure --enable-floats
36666         * device/lib/pic16/configure,
36667           device/lib/pic16/Makefile.in,
36668           device/lib/pic16/libm/Makefile.in,
36669           device/lib/pic16/debug/Makefile.in,
36670           device/lib/pic16/libio/Makefile.in,
36671           device/lib/pic16/startup/Makefile.in,
36672           device/lib/pic16/libsdcc/Makefile.in,
36673           device/lib/pic16/libdev/Makefile.in,
36674           device/lib/pic16/libc/Makefile.in: regenerated
36675         * doc/sdccman.lyx: documented float support and how to get it
36676         * doc/Makefile.in: fixed race condition on parallel builds
36678         * device/lib/pic16/libc/stdio/sprintf.c,
36679           device/lib/pic16/libc/stdio/vsprintf.c: do not mess up the user's
36680           pointer to the string buffer, enlarge buffer for x_ftoa()
36682 2009-02-10 Borut Razem <borut.razem AT siol.net>
36684         * device/lib/printf_tiny.c: replaced non-C89 comments '//' with '/* */'
36686 2009-02-10 Raphael Neider <rneider AT web.de>
36688         * device/include/pic16/pic18f*.h: add bit aliases in INTCONbits_t
36690 2009-02-09 Raphael Neider <rneider AT web.de>
36692         * src/pic16/pcode.c (assignToSameBank): add force argument to ignore
36693           artificial bank size limits for compound data (structs, arrays),
36694           avoids assert if --obanksel=N, N > 1, is given
36696 2009-02-09 Borut Razem <borut.razem AT siol.net>
36698         * as/asranlib/asranlib.c, link/lkar.c: don't check the padding bytes since
36699           the openSUSE GNU ar (GNU Binutils; openSUSE 11.0) 2.18.50.20080409-11.1
36700           uses '`' character instead '\n' for padding
36701         * as/asranlib/asranlib.c: made it more robust
36703 2009-02-08 Borut Razem <borut.razem AT siol.net>
36705         * as/COPYING3: added
36706         * support/scripts/sdcc.nsi: added COPYING3.txt to the package
36707         * device/lib/Makefile.in: reenable floating point in model-xstack-auto
36708           libraries
36710 2009-02-07 Borut Razem <borut.razem AT siol.net>
36712         * as/asranlib/asranlib.c: fixed BSD header length calculation
36713         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.9
36714           due sdcc asxxxx license change to GPLv3
36716 2009-02-05 Borut Razem <borut.razem AT siol.net>
36718         * as/asranlib/asranlib.c, link/lkar.h, link/lkar.c:
36719           added support for BSD (Mac OS X) ar format
36720         * as/asxxsrc/aslex.c, as/as/asxxsrc/asnoice.c, as/as/asxxsrc/assym.c,
36721           as/as/hc08/asdata.c, as/hc08/asexpr.c, as/hc08/aslist.c,
36722           as/hc08/asm.h, as/hc08/asmain.c, as/hc08/asout.c, as/hc08/assubr.c,
36723           as/hc08/m08adr.c, as/hc08/m08ext.c, as/hc08/m08mch.c,
36724           as/hc08/m08pst.c, as/hc08/m6808.h, as/link/aslink.h,
36725           as/link/hc08/lkarea.c, as/link/hc08/lkelf.c, as/link/hc08/lkihx.c,
36726           as/link/hc08/lkmain.c, as/link/hc08/lkmem.c, as/link/hc08/lkrloc.c,
36727           as/link/hc08/lks19.c, as/link/lkaomf51.c, as/link/lkdata.c,
36728           as/link/lkeval.c, as/link/lkhead.c, as/link/lklex.c, as/link/lklib.c,
36729           as/link/lklibr.c, as/link/lklibr.h, as/link/lklist.c,
36730           as/link/lknoice.c, as/link/lkrel.c, as/link/lkrel.h,
36731           as/link/lksdcclib.c, as/link/lkstore.c, as/link/lksym.c,
36732           as/link/mcs51/lkarea.c, as/link/mcs51/lkihx.c,
36733           as/link/mcs51/lkmain.c, as/link/mcs51/lkmem.c,
36734           as/link/mcs51/lkrloc.c, as/link/mcs51/lks19.c, as/link/z80/lkarea.c,
36735           as/link/z80/lkgb.c, as/link/z80/lkgg.c, as/link/z80/lkihx.c,
36736           as/link/z80/lkmain.c, as/link/z80/lkrloc.c, as/link/z80/lks19.c,
36737           as/mcs51/asdata.c, as/mcs51/asexpr.c, as/mcs51/aslist.c,
36738           as/mcs51/asm.h, as/mcs51/asmain.c, as/mcs51/asout.c,
36739           as/mcs51/assubr.c, as/mcs51/i51adr.c, as/mcs51/i51ext.c,
36740           as/mcs51/i51mch.c, as/mcs51/i51pst.c, as/mcs51/i8051.h,
36741           as/xa51/xa_link.c, as/xa51/xa_main.c, as/xa51/xa_main.h,
36742           as/xa51/xa_rasm.l, as/xa51/xa_rasm.y, as/xa51/xa_version.h,
36743           as/z80/asdata.c, as/z80/asexpr.c, as/z80/aslist.c, as/z80/asm.h,
36744           as/z80/asmain.c, as/z80/asout.c, as/z80/assubr.c, as/z80/z80.h,
36745           as/z80/z80adr.c, as/z80/z80ext.c, as/z80/z80mch.c, as/z80/z80pst.c:
36746           changed license to GPL either version 3, or (at your option) any
36747           later version
36749 2009-02-05 Borut Razem <borut.razem AT siol.net>
36751         * as/asranlib/asranlib.c, link/lkar.h, link/lkar.c:
36752           added support for BSD (Mac OS X) ar format
36754 2009-02-02 Borut Razem <borut.razem AT siol.net>
36756         * device/lib/gbz80/Makefile.in, device/lib/hc08/Makefile.in,
36757           device/lib/z80/Makefile.in:
36758           chose source files in the PORT directory if they are available
36760 2009-02-01 Raphael Neider <rneider AT web.de>
36762         * device/lib/pic16/libdev/pic18f1220.c,
36763         * device/lib/pic16/libdev/pic18f4450.c:
36764           define SSPBUF to allow use of printf
36766 2009-02-01 Borut Razem <borut.razem AT siol.net>
36768         * device/lib/Makefile.in, device/lib/gbz80/Makefile.in,
36769           device/lib/hc08/Makefile.in, device/lib/incl.mk,
36770           device/lib/z80/Makefile.in:
36771           don't remake libraries
36772         * support/regression/tests/snprintf.c:
36773           reenable floating point in small-xstack-auto library
36775 2009-01-26 Raphael Neider <rneider AT web.de>
36777         * src/pic16/ralloc.c (packForPush): disabled to fix #2496919
36779 2009-01-25 Raphael Neider <rneider AT web.de>
36781         * src/pic16/main.c (_pic16_linkEdit): prepend -L paths to linker
36782           search path instead of appending them
36784 2009-01-24 Borut Razem <borut.razem AT siol.net>
36786         * as/asranlib/asranlib.h: changed type of offset to unsigned int to
36787           make it work on ppc Mac OS X (off_t is 64 bit and is not converted
36788           to 32 bit unsigned int when calling sputl() since it is a macro
36789         * as/link/lkar.c: changed the initialization of This->loaded
36791 2009-01-23 Borut Razem <borut.razem AT siol.net>
36793         * as/link/lkar.h: changed type of ar_size to size_t to make it work on
36794           ppc Mac OS X (off_t is 64 bit and is not converted to 32 bit
36795           unsigned int when calling new(), since asxxxx doesn't use function
36796           prototypes)
36798 2009-01-21 Borut Razem <borut.razem AT siol.net>
36800         * as/link/lkar.h: sgetl and sputl are independent of endianness
36801         * as/link/sdxxxx_config.h.in: removed endianness detection
36803 2009-01-20 Borut Razem <borut.razem AT siol.net>
36805         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.8
36806           due creation of ar format libraries
36807         * support/scripts/sdcc.nsi:
36808           don't add nonexistent object files to the package
36810 2009-01-19 Borut Razem <borut.razem AT siol.net>
36812         * Makefile.in, configure.in, configure,
36813           device/lib/Makefile.in, device/lib/ds390/Makefile.in,
36814           device/lib/ds400/Makefile.in, device/lib/gbz80/Makefile.in,
36815           device/lib/hc08/Makefile.in, device/lib/large/Makefile.in,
36816           device/lib/mcs51/Makefile.in, device/lib/medium/Makefile.in,
36817           device/lib/small/Makefile.in,
36818           device/lib/z80/Makefile.in: create ar format libraries
36819         * support/regression/ports/mcs51-xstack-auto/spec.mk:
36820           use device/lib/Makefile to create library
36821         * support/regression/tests/snprintf.c:
36822           floating point is not enabled in small-xstack-auto library
36823         * device/lib/libfloat.lib, device/lib/libint.lib,
36824           device/lib/liblong.lib, device/lib/libsdcc.lib: removed
36826 2009-01-18 Borut Razem <borut.razem AT siol.net>
36828         * support/cpp/auto-host.h: fixed warning: "__STDC__" redefined,
36829           warning: extra tokens at end of #endif directive
36831 2009-01-11 Borut Razem <borut.razem AT siol.net>
36833         * Makefile.in: added SDCC_ASRANLIB to PKGS
36835 2009-01-10 Borut Razem <borut.razem AT siol.net>
36837         * support/scripts/sdcc.nsi: added asranlib.exe to the install package
36838         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.7
36839           due added support for ar format libraries
36841 2009-01-09 Borut Razem <borut.razem AT siol.net>
36843         * as/asranlib/Makefile.in, as/asranlib/asranlib.dsp,
36844           as/asranlib/asranlib.c: added asranlib
36845         * as/link/lkar.c, as/link/lkar.h: added support for ar format libraries
36846         * Makefile.in, as/link/hc08/Makefile.in,
36847           as/link/hc08/link_hc08.dsp, as/link/lklib.c, as/link/lklibr.c,
36848           as/link/lklibr.h, as/link/lkrel.c, as/link/lkrel.h,
36849           as/link/lksdcclib.c, as/link/mcs51/Makefile.in,
36850           as/link/mcs51/aslink.dsp, as/link/z80/Makefile.in,
36851           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp, configure,
36852           configure.in, sdcc.dsw: modified to support ar format libraries
36854 2009-01-08 Maarten Brock <sourceforge.brock AT dse.nl>
36856         * src/SDCCast.c (decorateType RETURN): use RESULT_TYPE_GPTR for generic
36857           pointer return
36859 2009-01-05 Philipp Klaus Krause <pkk AT spth.de>
36861         * sim/ucsim/z80.src/inst_ed.cc:
36862           Fixed bug #2488074, which made regression tests fail.
36864 2009-01-05 Philipp Klaus Krause <pkk AT spth.de>
36866         * device/lib/z80/mod.s,
36867           device/lib/z80/div.s,
36868           device/lib/z80/mulchar.s,
36869           device/lib/z80/mul.s,
36870           device/lib/z80/divsigned.s,
36871           device/lib/z80/Makefile.in:
36872           Implemented RFE #1702376.
36874 2009-01-05 Borut Razem <borut.razem AT siol.net>
36876         * as/link/lksdcclib.c:
36877           fixed linker hanging in INDEXLIB is not defined (hc08)
36879 2009-01-04 Philipp Klaus Krause <pkk AT spth.de>
36881         * src/z80/gen.c:
36882           Implemented RFE #2485684, and some further improvements of HL caching
36883           including a bugfix.
36884         * src/z80/peeph-z80.def:
36885           Fixed a bug exposed by implementing RFE #2485684.
36887 2009-01-04 Philipp Klaus Krause <pkk AT spth.de>
36889         * src/z80/peeph-z80.def:
36890           Peephole improvements.
36891         * src/z80/gen.c,
36892           src/z80/main.c,
36893           device/include/string.h,
36894           device/lib/z80/memmove.s:
36895           Minor code cleanup.
36896         * device/lib/z80/Makefile.in,
36897           device/lib/Makefile.in,
36898           support/regression/tests/memory.c,
36899           device/lib/z80/strlen.s:
36900           Partially implemented RFE #2471534.
36902 2009-01-04 Borut Razem <borut.razem AT siol.net>
36904         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.6
36905           due changes in sdcc asxxxx linkers - it sholud be done 2 days ago :(
36906         * doc/README.txt: updated John Hartman's e-mail address
36907         * as/link/lkrel.c, as/link/lksdcclib.c:
36908           fixed bug #2484677: Linker hangs
36909         * src/z80/peep.c: fixed msvc warning C4047:
36910           'return' : 'int ' differs in levels of indirection from 'char *'
36911         * config.dsp: as/lib corrected to as/link
36913 2009-01-04 Philipp Klaus Krause <pkk AT spth.de>
36915         * src/z80/peep.c:
36916           Implemented RFE #2484693.
36917         * src/z80/peeph-z80.def:
36918           Some peephole improvements.
36920 2009-01-03 Borut Razem <borut.razem AT siol.net>
36922         * as/link/lklibr.c:
36923           fixed warning: 'ret' may be used uninitialized in this function
36925 2009-01-02 Borut Razem <borut.razem AT siol.net>
36927         * as/link/lklib.c, as/link/lksdcclib.c, as/link/lklibr.h,
36928           as/link/getline.[ch], as/link/lkrel.[ch]: added,
36929           made support for differnet library formats more flexible,
36930           preparation for support of ar format
36931         * as/link/lklibr.c, as/link/z80/Makefile.in,
36932           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
36933           as/link/hc08/link_hc08.dsp, as/link/hc08/Makefile.in,
36934           as/link/mcs51/aslink.dsp, as/link/mcs51/Makefile.in,
36935           as/link/hc08/lkelf.c, as/link/aslink.h:
36936           made support for differnet library formats more flexible,
36937           preparation for support of ar format
36939 2009-01-01 Borut Razem <borut.razem AT siol.net>
36941         * as/link/asxxxx_config.h.in:
36942           fixed warning: extra tokens at end of #endif directive
36943         * src/z80/peep.c:
36944           fixed warning: suggest parentheses around && within ||
36945         * device/lib/Makefile.in: allow whitespaces at the end of lines in
36946           ports.build, in order to make it work on cygwin - it seems to be a
36947           bug in cygwin grep: CR is not treated as part of end-of-line
36949 2008-12-31 Borut Razem <borut.razem AT siol.net>
36951         * configure, configure.in, config.dsp, config_vc.awk,
36952           as/link/asxxxx_config.h.in, as/link/hc08/lkelf.c, as/link/aslink.h,
36953           as/link/hc08/Makefile.in, as/link/mcs51/Makefile.in:
36954           introduced asxxxx_config.h.in
36956 2008-12-30 Philipp Klaus Krause <pkk AT spth.de>
36958         * src/z80/gen.c,
36959           src/z80/peeph-z80.def:
36960           Minor addition improvement.
36962 2008-12-30 Raphael Neider <rneider AT web.de>
36964         * as/link/hc08/lkelf.c, as/link/lkaomf51.c, as/link/lklibr.c,
36965           as/link/z80/lkgb.c, debugger/mcs51/cmd.c, sim/ucsim/utils.cc,
36966           src/SDCCasm.c, support/Util/dbuf_string.c, support/cpp/c-ppoutput.c,
36967           support/cpp/libcpp/lex.c, support/cpp/libcpp/macro.c,
36968           support/librarian/sdcclib.c, support/makebin/makebin.c:
36969           partially revert changes from r5293..r5295
36971 2008-12-29 Philipp Klaus Krause <pkk AT spth.de>
36973         * src/z80/peeph-z80.def:
36974           Minor peephole improvement.
36976 2008-12-29 Raphael Neider <rneider AT web.de>
36978         * src/pic/pcode.c (insertBankSel, FixRegisterBanking): emit
36979           incorrectly discarded BANKSELs
36981 2008-12-29 Philipp Klaus Krause <pkk AT spth.de>
36983         * support/regression/tests/memory.c:
36984           Added simple test for memset(), memcpy() and memmove()
36986 2008-12-29 Borut Razem <borut.razem AT siol.net>
36988         * sdcc/support/scripts/sdcc.nsi: removed $INSTDIR\lib\src\z80\*.c
36990 2008-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
36992         * src/mcs51/peeph.def (177.e): replaced notVolatile(%3) with
36993           operandsNotRelated(%1 %3), had to change (a)r%1 to (a)%1 for this to work
36994           (177.j): added new rule
36995         * src/SDCCsymt.h: added RESULT_TYPE_GPTR
36996         * src/SDCCast.c (processParms): use RESULT_TYPE_GPTR for generic ptr parms,
36997           (decorateType CAST): propagate storage class to generic pointer results
36999 2008-12-27 Philipp Klaus Krause <pkk AT spth.de>
37001         * device/lib/z80/string.c,
37002           device/lib/z80/printf.c,
37003           device/lib/z80/mul.s:
37004           z80 library cleanup
37005         * src/z80/gen.c:
37006           Fixed code generation bug exposed by builtin memcpy().
37008 2008-12-27 Philipp Klaus Krause <pkk AT spth.de>
37010         * device/lib/_memcpy.c:
37011           fixed conflict with builtin memcpy()
37013 2008-12-26 Borut Razem <borut.razem AT siol.net>
37015         * support/librarian/sdcclib.c:
37016           fixed bug 2466950: "sdcclib broken"
37017           by removing fgets return value check
37019 2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
37020         * src/z80/main.c,
37021           src/z80/gen.c,
37022           device/include/string.h: Implemented RFE #1914254
37024 2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
37025         * device/lib/z80/Makefile.in,
37026           device/lib/Makefile.in,
37027           device/lib/z80/memmove.s: Implemented RFE #1914256
37029 2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
37031         * src/z80/peeph-z80.def: fixed a bug in peephole 0zf
37032         * src/z80/peep.c: improved checks for unused data
37033         * src/z80/gen.c,
37034           src/z80/main.c: Implemented RFE #1899189
37036 2008-12-25 Borut Razem <borut.razem AT siol.net>
37038         * support/regression/Makefile.in:
37039           add -I$(INC_DIR) to SDCCFLAGS only if INC_DIR is defined
37041 2008-12-25 Philipp Klaus Krause <pkk AT spth.de>
37043         * src/z80/peeph-z80.def: minor peephole improvements
37045 2008-12-21 Borut Razem <borut.razem AT siol.net>
37047         * support/librarian/sdcclib.c: fixed build failure on Mac OS X
37048           due to redefinition of symbol __assert
37049           sdcclib.c:53:1:warning: "__assert" redefined
37050           /Xcode2.5/SDKs/MacOSX10.4u.sdk/usr/include/assert.h:80:1:
37051           warning: this is the location of the previous definition
37053 2008-12-20 Raphael Neider <rneider AT web.de>
37055         * debugger/mcs51/break.c, debugger/mcs51/cmd.c,
37056           debugger/mcs51/simi.c, debugger/mcs51/symtab.c,
37057           support/cpp/libcpp/macro.c: fix format string errors
37059         * sim/ucsim/s51.src/timer2.cc: add clarifying parens
37061         * src/pic/device.c: partial rewrite using strtok,
37062           quieten compiler warnings, adopt SDCC coding style
37064         * as/link/hc08/lkelf.c, as/link/lkaomf51.c, as/link/lklibr.c,
37065           as/link/z80/lkgb.c, as/z80/asout.c, debugger/mcs51/cmd.c,
37066           sim/ucsim/utils.cc, src/SDCCasm.c, support/Util/dbuf_string.c,
37067           support/cpp/c-ppoutput.c, support/cpp/libcpp/lex.c,
37068           support/librarian/sdcclib.c, support/makebin/makebin.c:
37069           quieten most compiler warnings
37071         * sim/ucsim/avr.src/arith_inst.cc: quieten compiler warnings,
37072           probably fix operator precedence bug
37074         * doc/clean.mk: quieten rm if no .lyx is present
37076 2008-12-19 Borut Razem <borut.razem AT siol.net>
37078         * doc/sdccman.lyx, doc/random-notes.txt, doc/avr/avr_design.txt,
37079           doc/TININative.txt, doc/macro-sys-design.txt, doc/libdoc.txt,
37080           doc/README.txt, doc/test_suite_spec.lyx:
37081           applied patch 2446381: Dcoumentation spelling correcitons
37082           thanks to Steven Borley
37084 2008-12-16 Raphael Neider <rneider AT web.de>
37086         * device/include/pic/pic12f629.h,
37087           device/include/pic/pic12f675.h,
37088           device/lib/pic/libdev/pic12f629.c,
37089           device/lib/pic/libdev/pic12f675.c: consolidated, added TRISIO bits
37091 2008-12-14 Borut Razem <borut.razem AT siol.net>
37093         * doc/sdccman.lyx, cdbfileformat.lyx, test_suite_spec.lyx:
37094           converted to LyX 1.5.7 (\lyxformat 276) format
37096 2008-12-07 Borut Razem <borut.razem AT siol.net>
37098         * support/regression/tests/bitfields.c:
37099           added test case for bug #2366757
37101 2008-12-07 Raphael Neider <rneider AT web.de>
37103         * src/pic16/glue.c (pic16_printIvalBitFields): prevent
37104           NULL pointer dereference, closes #2366757
37106 2008-11-25 Raphael Neider <rneider AT web.de>
37108         * device/include/pic16/pic16devices.txt,
37109           sdcc/src/pic16/device.c,
37110           sdcc/src/pic16/device.h: implicitly disable XINST
37111           whenever CONFIG4L is set via an additional optional
37112           argument to the configword directive in pic16devices.txt
37114 2008-11-24 Raphael Neider <rneider AT web.de>
37116         * device/lib/pic16/configure.ac,
37117           device/lib/pic16/Makefile.common: fixed quoting issues
37119         * device/lib/pic16/configure,
37120           device/lib/pic16/debug/Makefile.in,
37121           device/lib/pic16/libc/Makefile.in,
37122           device/lib/pic16/libdev/Makefile.in,
37123           device/lib/pic16/libio/Makefile.in,
37124           device/lib/pic16/libm/Makefile.in,
37125           device/lib/pic16/libsdcc/Makefile.in,
37126           device/lib/pic16/Makefile.in,
37127           device/lib/pic16/startup/Makefile.in: regenerated
37129         * src/pic16/main.c (_pic16_finaliseOptions): revert to
37130           variant of r5216
37132 2008-11-24 Raphael Neider <rneider AT web.de>
37134         * src/pic16/main.c (_pic16_finaliseOptions): do not quote the
37135           argument of --asm= or --link= to allow for
37136           --asm="sh script --options", the user can double quote the
37137           argument if needed: --asm="'c:/program files/gpasm' -q",
37138           also fix some potential buffer overflows
37140 2008-11-19 Borut Razem <borut.razem AT siol.net>
37142         * doc/sdccman.lyx:
37143           fixed 2314467: sdccman.lyx: fix "--" in command line parameters
37144           thanks Mauro Giachero
37146 2008-11-16 Borut Razem <borut.razem AT siol.net>
37148         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.5
37149         * doc/sdccman.lyx: documented fixed unnamed bit-field initialization
37151 2008-11-15 Borut Razem <borut.razem AT siol.net>
37153         * src/pic16/glue.c, src/SDCC.y, src/SDCCast.c, src/SDCCglue.c,
37154           src/SDCCsymt.c, src/SDCCsymt.h:
37155           fixed RFE #2291335 : Unnamed bit-field initialization
37156         * support/regression/tests/bitfields.c:
37157           added test case for RFE #2291335
37158         * support/regression/tests/bug-1981238.c:
37159           don't initialize unnamed bit-fields
37161 2008-11-11 Raphael Neider <rneider AT web.de>
37163         * device/include/pic16/pic18f25j10.h,
37164           device/include/pic16/pic18f45j10.h: remove useless boilerplate
37166         * device/include/pic16/adc.h,
37167           device/lib/pic16/libio/adc/adcbusy.c,
37168           device/lib/pic16/libio/adc/adcclose.c,
37169           device/lib/pic16/libio/adc/adcconv.c,
37170           device/lib/pic16/libio/adc/adcopen.c,
37171           device/lib/pic16/libio/adc/adcread.c,
37172           device/lib/pic16/libio/adc/adcsetch.c: generalized, documented,
37173           and fixed ADC routines to work for more target devices,
37174           incorporates patch #2036130 by Nick Materer
37176 2008-11-10 Steven Borley <steven.borley AT partnerelectronics.com>
37178         * device/include/ctype.h,
37179         * device/include/ds400rom.h,
37180         * device/include/ds80c390.h,
37181         * device/include/float.h,
37182         * device/include/math.h,
37183         * device/include/serial.h,
37184         * device/include/stdbool.h,
37185         * device/include/tinibios.h: replaced non-C89 '//' with '/* */',
37186           patch 2195343
37187         * device/include/mcs51/C8051F336.h,
37188         * device/include/mcs51/C8051T600.h,
37189         * device/include/mcs51/C8051T610.h,
37190         * device/include/mcs51/C8051T630.h: new, added, patch 2183334
37191           (svn commit by Maarten Brock <sourceforge.brock AT dse.nl>)
37193 2008-11-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
37195         * device/include/mcs51/P89LPC922.h: fixed #2255989, thanks kubi57
37197 2008-11-10 Raphael Neider <rneider AT web.de>
37199         * device/lib/pic16/libdev/mkmk.sh: obey pics.all
37200         * device/lib/pic16/libio/mkmk.sh: properly match whole lines in
37201           .ignore files, fixes IO libs for 18f242, 18f252, 18f442, and 18f452
37202           (patch by Nick Materer, #2253980)
37204         * device/lib/pic16/libio/adc.ignore,
37205           device/lib/pic16/libio/i2c.ignore,
37206           device/lib/pic16/libio/usart.ignore,
37207           device/lib/pic16/pics.all: updated to build more device libs
37209         * device/lib/pic16/libdev/Makefile.am,
37210           device/lib/pic16/libdev/Makefile.in,
37211           device/lib/pic16/libio/Makefile.am,
37212           device/lib/pic16/libio/Makefile.in: regenerated
37214         * src/pic16/device.c (pic16_dump_usection): fixed output of multiple
37215           names per memory location, applied SDCC style to more functions
37217 2008-11-09 Gudjon I. Gudjonsson <gudjon AT gudjon.org>
37219         * device/include/mcs51/p89lpc933_4.h: new NXP header file
37220         * device/include/mcs51/p89lpc935_6.h: new NXP header file
37221         * device/include/mcs51/p89v66x.h: minor changes
37222           (svn commit by Frieder Ferlemann <Frieder.Ferlemann AT web.de>)
37224 2008-11-09 Raphael Neider <rneider AT web.de>
37226         * device/include/pic/pic14devices.txt: fixed memory description for
37227           12f629 and 12f675, closes #2236240
37229 2008-11-06 Borut Razem <borut.razem AT siol.net>
37231         * src/SDCCmain.c: fixed bug #2224960: sdcc -MM no working correctly
37232           pass system include paths with -isystem to sdcpp
37233         * src/SDCCglue.c, src/pic/glue.c, src/pic16/glue.c: removed unneeded
37234           functions (closePipes), (closeTmpFiles) and (rmTmpFiles)
37236 2008-11-02 Raphael Neider <rneider AT web.de>
37238         * doc/sdccman.lyx: updated the sections on the library build process
37239           and on how to add support for new devices, and documented known
37240           problems with the extended instruction set including a workaround
37242 2008-11-01 Raphael Neider <rneider AT web.de>
37244         * device/include/pic16/adc.h,
37245           device/include/pic16/pic16devices.txt,
37246           device/include/pic16/pic18f2410.h,
37247           device/include/pic16/pic18f2510.h,
37248           device/include/pic16/pic18f2515.h,
37249           device/include/pic16/pic18f2610.h,
37250           device/include/pic16/pic18f4410.h,
37251           device/include/pic16/pic18f4510.h,
37252           device/include/pic16/pic18f4515.h,
37253           device/include/pic16/pic18f4610.h,
37254           device/include/pic16/pic18fregs.h,
37255           device/lib/pic16/libdev/Makefile.am,
37256           device/lib/pic16/libdev/Makefile.in,
37257           device/lib/pic16/libdev/pic18f2410.c,
37258           device/lib/pic16/libdev/pic18f2510.c,
37259           device/lib/pic16/libdev/pic18f2515.c,
37260           device/lib/pic16/libdev/pic18f2610.c,
37261           device/lib/pic16/libdev/pic18f4410.c,
37262           device/lib/pic16/libdev/pic18f4510.c,
37263           device/lib/pic16/libdev/pic18f4515.c,
37264           device/lib/pic16/libdev/pic18f4610.c,
37265           device/lib/pic16/libio/Makefile.am,
37266           device/lib/pic16/libio/Makefile.in,
37267           device/lib/pic16/pics.all: added support for 18f[24][456]10
37268           and 18f[24]515 devices
37269         * doc/sdccman.lyx: updated list of supported PIC16 devices
37271         * src/pic/glue.c, src/pic/pcode.c, src/pic/pcodeflow.c,
37272           src/pic16/glue.c, src/pic16/pcode.c, src/pic16/pcodeflow.c,
37273           src/xa51/gen.c: avoid compiler warnings
37274         * support/scripts/inc2h-pic16.pl: removed trailing whitespace
37276 2008-10-22 Gudjon I. Gudjonsson <gudjon AT gudjon.org>
37278         * device/include/mcs51/p89v66x.h: NXP header file
37279         * device/include/mcs51/p89c66x.h: fixed an SBIT definition
37280           (svn commit by Frieder Ferlemann <Frieder.Ferlemann AT web.de>)
37282 2008-10-14 Raphael Neider <rneider AT web.de>
37284         * device/lib/pic16/libdev/Makefile.am,
37285           device/lib/pic16/libio/Makefile.am: enable building libraries for
37286           18f2321, 18f4321, 18f2523, 18f4620, 18f66j60, 18f66j65, 18f67j60,
37287           18f86j60, 18f86j65, 18f87j60, 18f96j60, 18f96j65, and 18f97j60
37288         * device/lib/pic16/libdev/Makefile.in,
37289           device/lib/pic16/libio/Makefile.in: regenerated
37291 2008-10-14 Raphael Neider <rneider AT web.de>
37293         * device/include/pic16/pic18f2450.h,
37294           device/include/pic16/pic18f4450.h,
37295           device/lib/pic16/libdev/pic18f2450.c,
37296           device/lib/pic16/libdev/pic18f4450.c,
37297           device/include/pic16/adc.h,
37298           device/include/pic16/pic16devices.txt,
37299           device/include/pic16/pic18fregs.h,
37300           device/lib/pic16/libdev/Makefile.am,
37301           device/lib/pic16/libdev/Makefile.in,
37302           device/lib/pic16/libio/Makefile.am,
37303           device/lib/pic16/libio/Makefile.in,
37304           device/lib/pic16/pics.all: added 18f2450 and 18f4450, closes #1844525
37306         * device/lib/pic16/libsdcc/stack/stack.S: there is no need to pin the
37307           stack to a fixed location, relax it to automatically work with all
37308           but the smallest devices (256 byte RAM devices need #pragma stack)
37310 2008-10-09 Maarten Brock <sourceforge.brock AT dse.nl>
37312         * debugger/mcs51/break.c: bugfix from patch 1989966, thanks Risto Huotari
37313         * debugger/mcs51/simi.c: bugfix from patch 1989972, thanks Risto Huotari
37314         * device/lib/_strcspn.c: fixed bug 2140931
37316 2008-10-06 Raphael Neider <rneider AT web.de>
37318         * device/include/pic16/stdio.h,
37319           device/lib/pic16/libc/stdio/putchar.c: putchar should not be
37320           declared __naked for convenience, named all arguments
37321         * device/lib/pic16/libc/stdio/strmgpsim.c,
37322           device/lib/pic16/libc/stdio/strmmssp.c,
37323           device/lib/pic16/libc/stdio/strmusart.c: cosmetic changes
37325         * src/pic16/pcode.c (createReachingDefinitions): avoid segfault on
37326           empty __naked functions,
37327         * (pCodeLabelDestruct, pic16_unlinkpCode, pic16_pCodeUnlink): fix
37328           corner cases (unlink first/last pCode in list), reuse more code
37330 2008-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
37332         * src/ds390/main.c (_ds390_genInitStartup): added
37333         * src/SDCCpeeph.c (getPatternVar): new, added,
37334           (labelInRange): fixed bug 2115959
37335         * src/mcs51/peeph.def (rules 193.x to 198.x): check for labelInRange
37336         * src/SDCCicode.h: added newiTempOperand
37337         * src/SDCCcse.c (algebraicOpts): fixed bug for x*-1,
37338           added optimizations for 0/x and x/-1, see also patch 2142900
37339         * support/regression/tests/onebyte.c (testMul): added test cases
37341 2008-09-20 Borut Razem <borut.razem AT siol.net>
37343         * src/pic16/glue.c:
37344           definition of absolute address symbols without initial value,
37345           fixed SDCC crash "do not know how to intialize symbol"
37347 2008-09-16 Maarten Brock <sourceforge.brock AT dse.nl>
37349         * device/lib/z80/mul.s (__mulsuchar_rrx_s, __muluschar_rrx_s),
37350         * device/lib/z80/div.s (__divsuchar_rrx_s, __modsuchar_rrx_s,
37351           __divuschar_rrx_s, __moduschar_rrx_s): added mixed signedness versions
37352         * device/lib/z80/stubs.s: added stubs for above functions
37353         * src/SDCCopt.c (convilong),
37354         * src/SDCCsymt.c (initCSupport): fixed bug 1900961
37355         * src/SDCCsymt.h (__muldiv): enlarged for mixed signedness
37356         * src/z80/main.c (_hasNativeMulFor): fixed bug, I think
37357         * support/regression/tests/onebyte.c: enabled all tests for z80
37359 2008-09-15 Borut Razem <borut.razem AT siol.net>
37361         * device/include/pic16/stdio.h, device/lib/pic16/libc/stdio/streams.c,
37362           device/lib/pic16/libc/stdio/printf.c,
37363           device/lib/pic16/libc/stdio/strmusart.c,
37364           device/lib/pic16/libc/stdio/printf_tiny.c,
37365           device/lib/pic16/libc/stdio/sprintf.c,
37366           device/lib/pic16/libc/stdio/strmgpsim.c,
37367           device/lib/pic16/libc/stdio/putchar.c,
37368           device/lib/pic16/libc/stdio/fprintf.c,
37369           device/lib/pic16/libc/stdio/strmmssp.c,
37370           device/device/lib/pic16/libc/stdio/vprintf.c,
37371           device/lib/pic16/libc/stdio/printf_small.c,
37372           device/lib/pic16/libc/stdio/vsprintf.c,
37373           device/lib/pic16/libc/stdio/strmputchar.c,
37374           device/lib/pic16/libc/Makefile.am,
37375           device/lib/pic16/libc/Makefile.in:
37376           *printf now returns int, puchar.c moved from stdlib to stdio,
37377           *printf format parameter type changed from char * to const char *,
37378           added GNU link excetion text to library source files,
37379           applyed GNU coding style, removed useless svn ids,
37380           added BINARY_SPECIFIER macro re-enables the use of the removed 'b'
37381           binary specifier: "%b", "%hb" and "%lb"
37382         * device/lib/pic16/libc/stdio/vfprintf.c:
37383           applied patch #2044424: PIC16: vfprintf
37384           thanks Mauro Giachero
37385         * support/regression/tests/bug1057979.c:
37386           removed old pic16 sprintf specifics
37387         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.4
37388         * doc/sdccman.lyx: documented 'b' binary format specifier removal
37390 2008-09-15 Raphael Neider <rneider AT web.de>
37392         * src/pic16/device.c (pic16_dump_usection): force udata sections
37393           into the addressable range (0..0xFFF), workaround for a gpsim
37394           bug preventing simulation of regtest bug1750318
37395         * src/pic16/ralloc.c (deassignLRs): cosmetic changes,
37396           (serialRegAssign): fixed regtest bug-971834,
37397           (pic16_packRegisters): avoid null-pointer dereference
37399 2008-09-14 Raphael Neider <rneider AT web.de>
37401         * src/pic16/gen.c, src/pic16/ralloc.c: use
37402           SYM_SPIL_LOC/SPIL_LOC macros, no functional changes
37403         * src/pic16/ralloc.c (rematStr): reimplemented, fixes #1818857
37405 2008-09-12 Borut Razem <borut.razem AT siol.net>
37407         * support/regression/fwk/testfwk.h:
37408           define pdata as data for pic16 target
37409           thanks Mauro Giachero
37411 2008-09-11 Borut Razem <borut.razem AT siol.net>
37413         * support/regression/tests/bug-221100.c, support/regression/shifts.c,
37414           support/regression/absolute.c:
37415           applied patch #2105615: Some PIC16 testcase fixlets
37416           thanks Mauro Giachero
37418 2008-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
37420         * src/z80/gen.c (genCmpGt, genCmpLt): fixed bug 2094505
37421         * support/regression/tests/bug2094505.c: new, added
37423 2008-09-07 Borut Razem <borut.razem AT siol.net>
37425         * src/SDCCglue.c, src/SDCCast.c:
37426           fixed throw of "excess elements" warning for char arrays
37427         * support/regression/tests/nullstring.c:
37428           disable warning about excess elements in array of chars initializer
37430 2008-09-07 Maarten Brock <sourceforge.brock AT dse.nl>
37432         * as/z80/aslist.c (lstsym): changed old K&R to ANSI
37433         * src/SDCCicode.c (geniCodeCritical): fixed bug for hc08
37434         * src/z80/gen.c (genCritical, genEndCritical): fixed bug 2077267
37435         * support/regression/tests/bug2077267.c: new, added
37437 2008-09-05 Raphael Neider <rneider AT web.de>
37439         * configure.in, Makefile.common.in: add support for ccache,
37440           remove spurious $VERSION output, detect doc-tools even without
37441           --enable-doc to facilitate later manual doc-builds, minor cleanup
37442         * configure: regenerated
37444         * doc/Makefile.in: quieten pdflatex, makeindex, and latex2html,
37445           avoid races in parallel VPATH builds
37446         * doc/clean.mk: remove .lyx files in the builddir for VPATH builds
37447         * doc/sdccman.lyx: mention --without-ccache configure option
37449 2008-09-01 Raphael Neider <rneider AT web.de>
37451         * src/pic16/gen.c (pic16_derefPtr): handle CPOINTERs as well
37452         * (genConstPointerGet): fix reading bitfields from __code space
37453         * src/pic16/glue.c (pic16_printIvalBitFields): correctly mask
37454           bitfield initializers (fix regression test bug1856409.c)
37455         * (pic16_printIvalCharPtr,pic16_printIvalPtr): generalized to support
37456           arbitrary sizes
37458 2008-08-31 Raphael Neider <rneider AT web.de>
37460         * src/pic16/gen.c (genAssign): removed useless compiler output
37461         * (genPointerGet,genPointerSet,genCast),
37462           src/pic16/glue.c (pic16_printGPointerType):
37463           also handle PPOINTERs just to avoid spurious asserts
37464         * (pic16_printIvalType,pic16_printIvalBitFields):
37465           generalized to arbitrary type/bitfield sizes, allows compilation of
37466           regression test bug-1981238.c
37467         * (pic16_printIvalChar): fix regression test structflexarray.c
37468         * (pic16_printIvalArray): avoid SIGSEGV on uninitialized strings
37469           in initialized structs and fix #1843745
37470         * (pic16_printIvalStruct): always output initializers for all fields,
37471           even those not explicitly given, fixes zeropad.c regression test
37472         * (pic16_printIvalUnion): fix union initializers (bug1426356.c,
37473           #2073635, #1567098, and #1485812)
37474         * src/pic16/main.c (_pic16_keywords): remove unsupported 'pdata'
37476 2008-08-31 Borut Razem <borut.razem AT siol.net>
37478         * support/regression/tests/bug-895992.c,
37479           support/regression/tests/onebyte.c:
37480           enabled pic16 regression testing since the bugs
37481           1511794: pic16: regression test bug-895992.c fails
37482           1444425: onebyte.c regression tes fails on pic16
37483           are fixed, probably by fixing
37484           2048464: PIC16: fix genUminus - addresses not.c regression test
37485         * src/SDCCsymt.c, src/SDCCglue.c,
37486           support/regression/tests/bug-1981238.c:
37487           applied patch 2076664: fix #1981238 + SIGSEGV in SDCCGlue.c
37488           thanks to RvS
37490 2008-08-30 Borut Razem <borut.razem AT siol.net>
37492         * support/cpp/libcpp/files.c: SDCPP synchronized with GCC CPP
37493           release version 4.3.2
37495 2008-08-24 Raphael Neider <rneider AT web.de>
37497         * device/lib/pic16/configure, device/lib/pic16/configure.ac:
37498           always use the sdcc from the current build tree (ignore $CC from
37499           the environment, fixes compile farm builds)
37500         * device/lib/Makefile.in: rename .a into .lib for compatibility,
37501           remove more build products from install directory
37502         * sdcc/src/pic16/main.c (_pic16_linkEdit,_pic16_finaliseOptions)
37503         * sdcc/support/scripts/sdcc.nsi: revert to .lib extension for libs
37505 2008-08-24 Borut Razem <borut.razem AT siol.net>
37507         * src/SDCC.y: applied patch
37508           2050245: Fix # 1963382
37509           for bug
37510           1963382: Listing File - C file comment is incorrect
37511           thanks to RvS
37513 2008-08-23 Borut Razem <borut.razem AT siol.net>
37515         * src/pic16/gen.c: applied patch
37516           2048464: PIC16: fix genUminus - addresses not.c regression test
37517           thanks Mauro Giachero
37519 2008-08-22 Borut Razem <borut.razem AT siol.net>
37521         * device/lib/pic16/configure, device/lib/pic16/configure.ac,
37522           src/pic16/main.c: allow spaces in gpasm and gplink paths
37524 2008-08-15 Philipp Klaus Krause <pkk AT spth.de>
37526         * src/z80/peep.c,
37527         * src/z80/peeph-z80.def: minor peephole improvement
37529 2008-08-15 Raphael Neider <rneider AT web.de>
37531         * src/z80/gen.c (_vemit2): suppress compiler warning
37533         * src/pic/*.[ch]: make proper use of header files and avoid
37534           ad-hoc extern declarations, mark module-local helpers 'static',
37535           removed dead/replaced code, no functional changes
37536         * src/pic16/pcode.c: disentangled from pic14 backend
37538 2008-08-14 Philipp Klaus Krause <pkk AT spth.de>
37540         * src/z80/gen.c: fixed #2051348
37541         * support/regression/tests/bug-2051348.c: regression test for #2051348
37543 2008-08-10 Raphael Neider <rneider AT web.de>
37545         * configure.in,
37546         * Makefile.common.in: export PACKAGE for $docdir,
37547           fixes #1957036, avoid some "underquoted definition" warnings
37548         * configure: regenerated
37550 2008-08-10 Raphael Neider <rneider AT web.de>
37552         * device/lib/pic16/**: build pic16 library using autotools for
37553           improved dependency tracking
37555         * device/lib/Makefile.in,
37556         * src/pic16/main.c,
37557         * support/scripts/sdcc.nsi: adapt to changes in filenames (s/.lib/.a/)
37559 2008-08-10 Raphael Neider <rneider AT web.de>
37561         * src/pic/pcode.c (ReuseReg): do not overlay the registers used for
37562           local variables if --nooverlay is given, workaround for #2023121
37564 2008-08-08 Raphael Neider <rneider AT web.de>
37566         * src/pic16/genarith.c (genAddLit): fix structure access (#1888004)
37568 2008-08-08 Raphael Neider <rneider AT web.de>
37570         * src/pic/pcoderegs.c,
37571         * src/pic/pcode.c,
37572         * src/pic16/pcode.c: replace own SAFE_snprintf with common SNPRINTF
37574 2008-08-07 Borut Razem <borut.razem AT siol.net>
37576         * src/SDCCval.c, src/SDCCmain.c, src/SDCC.lex,
37577           device/lib/pic/Makefile.rules, device/lib/ds390/Makefile.in,
37578           device/lib/ds400/Makefile.in, device/lib/hc08/Makefile.in,
37579           support/cpp/libcpp/lex.c,  doc/sdccman.lyx:
37580           applied modified patch 2038174: Add support for binary constants v2
37581           thanks Mauro Giachero
37582         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.3
37584 2008-08-04 Raphael Neider <rneider AT web.de>
37586         * doc/sdccman.lyx,
37587         * src/pic16/device.h,
37588         * src/pic16/glue.c,
37589         * src/pic16/main.c: enable --optimize-goto by default
37591         * device/lib/pic16/Makefile.common.in: suppress removed option
37593         * src/pic16/gen.c,
37594         * src/pic16/genutils.c: avoid too long relative branches (#2031890)
37596 2008-07-30 Borut Razem <borut.razem AT siol.net>
37598         * src/pic16/device.c, src/pic16/glue.c, src/pic16/pcode.c:
37599           applied patch 22032433: PIC16: fix constant strings,
37600           thanks Mauro Giachero
37602 2008-07-29 Borut Razem <borut.razem AT siol.net>
37604         * src/pic16/gen.c: applied patches:
37605           2030306: [1/3] PIC16: fix failing rotate.c tests on 16-bit variables,
37606           2030307: [2/3] PIC16: fix failing rotate.c tests for 32-bit var (1),
37607           2030310: [3/3] PIC16: fix failing rotate.c tests for 32-bit var (2),
37608           thanks Mauro Giachero
37610 2008-07-13 Philipp Klaus Krause <pkk AT spth.de>
37612         * src/port.h: Fixed typo in comment
37614 2008-07-12 Philipp Klaus Krause <pkk AT spth.de>
37616         * src/z80/mappings.i: Implemented RFE #1919415
37617         * src/z80/peeph-z80.def: Implemented RFE #1919415, #1861376,
37618           #1880202, #1914434, prepared for RFE #1703943
37620 2008-07-12 Philipp Klaus Krause <pkk AT spth.de>
37622         * src/z80/peeph.def,
37623         * src/z80/peeph-z80.def,
37624         * src/z80/peeph-gbz80.def: separate Z80 from GBZ80 peepholes in
37625           preparation for Z80 peephole improvements
37627 2008-06-21 Raphael Neider <rneider AT web.de>
37629         * device/include/pic16/pic18f66j60.h,
37630         * device/include/pic16/pic18f66j65.h,
37631         * device/include/pic16/pic18f67j60.h,
37632         * device/include/pic16/pic18f86j60.h,
37633         * device/include/pic16/pic18f86j65.h,
37634         * device/include/pic16/pic18f87j60.h,
37635         * device/include/pic16/pic18f96j60.h,
37636         * device/include/pic16/pic18f96j65.h,
37637         * device/include/pic16/pic18f97j60.h,
37638         * device/lib/pic16/libdev/pic18f66j60.c,
37639         * device/lib/pic16/libdev/pic18f66j65.c,
37640         * device/lib/pic16/libdev/pic18f67j60.c,
37641         * device/lib/pic16/libdev/pic18f86j60.c,
37642         * device/lib/pic16/libdev/pic18f86j65.c,
37643         * device/lib/pic16/libdev/pic18f87j60.c,
37644         * device/lib/pic16/libdev/pic18f96j60.c,
37645         * device/lib/pic16/libdev/pic18f96j65.c,
37646         * device/lib/pic16/libdev/pic18f97j60.c,
37647         * device/include/pic16/pic16devices.txt,
37648         * device/include/pic16/pic18fregs.h,
37649         * device/lib/pic16/pics.all: added new devices
37651         * device/include/pic16/adc.h,
37652         * device/lib/pic16/libio/adc/adcbusy.c,
37653         * device/lib/pic16/libio/adc/adcopen.c,
37654         * device/lib/pic16/libio/adc/adcsetch.c,
37655         * device/lib/pic16/libio/i2c/i2copen.c,
37656         * device/lib/pic16/libio/usart/uopen.c: adapted to new devices,
37657           all changes from a patch by Anton Strobl
37659 2008-06-12 Borut Razem <borut.razem AT siol.net>
37661         * sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/bp.cc,
37662           sim/ucsim/xa.src/xa.cc, sim/ucsim/xa.src/xacl.h,
37663           sim/ucsim/z80.src/z80cl.h, sim/ucsim/z80.src/z80.cc,
37664           sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
37665           sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
37666           sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/uc390.cc,
37667           sim/ucsim/s51.src/uc51.cc, sim/ucsim/s51.src/uc390cl.h,
37668           sim/ucsim/avr.src/avrcl.h, sim/ucsim/avr.src/avr.cc:
37669           fixed bug 1990586: s51 simulator, uc::disass() unimplemented
37670           by applying the modified patch from Risto Huotari
37672 2008-06-04 Maarten Brock <sourceforge.brock AT dse.nl>
37674         * .version,
37675         * doc/sdccman.lyx: bumped sdcc version to 2.8.2
37676         * src/ds390/gen.c (aopPutUsesAcc, genAddrOf): fixed bug 1015185
37677         * src/mcs51/gen.c (genNearPointerGet, genNearPointerSet): fixed bug 1938300
37678         * support/regression/tests/bug1938300.c: new, added
37680 2008-06-03 Maarten Brock <sourceforge.brock AT dse.nl>
37682         * device/include/asm/ds390/features.h,
37683         * device/include/asm/mcs51/features.h,
37684         * device/include/mcs51/regc515c.h: inserted LGPL notice
37686 2008-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
37688         * device/lib/gbz80/div.s,
37689         * device/lib/z80/div.s: fixed bug 1904314 by applying a modified part of
37690           patch 1597883, Thanks Robert Ramey
37692 2008-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
37694         * src/SDCCast.c (createIvalType, createIvalStruct, createIvalArray,
37695           createIvalCharPtr, createIvalPtr, createIval),
37696         * src/SDCCval.h
37697         * src/SDCCval.c (convertIListToConstList, list2expr): handle incomplete
37698           initializers for local auto variables
37699         * support/regression/tests/zeropad.c: added testcase for auto initializers
37701 2008-05-26 Raphael Neider <rneider AT web.de>
37703         * device/lib/pic16/startup/crt0.c,
37704         * device/lib/pic16/startup/crt0i.c,
37705         * device/lib/pic16/startup/crt0iz.c: clean up, make use of access bank
37706           explicit, fixed curr_entry loop for >= 256 initializer records,
37707           removed debug code (write to 0xf7e)
37709 2008-05-25 Raphael Neider <rneider AT web.de>
37711         * device/include/pic/pic16f627a.h,
37712         * device/include/pic/pic16f628a.h,
37713         * device/include/pic/pic16f648a.h: added missing ports
37715 2008-05-20 Maarten Brock <sourceforge.brock AT dse.nl>
37717         * device/include/float.h: added __INFINITY
37718         * device/lib/_fsadd.c: handle overflows
37719         * device/lib/_fsmul.c,
37720         * device/lib/_fsdiv.c: use __INFINITY
37721         * device/lib/_fseq.c,
37722         * device/lib/_fsneq.c: handle -0.0
37723         * sim/ucsim/s51.src/uc89c51r.cc,
37724         * sim/ucsim/s51.src/uc89c51rcl.h: fixed bug 1385430
37725         * sim/ucsim/sim.src/hwcl.h: */* confuses VC
37726         * src/mcs51/gen.c (genSend): fixed bug with --xstack
37727         * support/regression/ports/mcs51-xstack-auto/spec.mk: print floats
37728         * support/regression/tests/snprintf.c: test bug with --xstack
37730 2008-05-19  Philipp Klaus Krause <pkk AT spth.de>
37732         * src/SDCCpeeph.c (callFuncByName):
37733           Support nested parenthesis in peephole function arguments (#1967300)
37735 2008-05-19 Raphael Neider <rneider AT web.de>
37737         * src/pic16/gen.c (pic16_emitpLabel,pic16_emitpLabelFORCE):
37738           fixed duplicate labels (#1911325)
37740 2008-05-19 Raphael Neider <rneider AT web.de>
37742         * src/regression/empty.c: suppress warning
37743         * src/regression/pointer1.c: enabled index_by_pointer()
37744         * src/regression/inline.c: now works for pic16 as well
37746         * src/pic16/device.c: include dbuf declarations
37747         * src/pic16/device.h: removed obsolete prototypes
37749         * src/pic16/gen.c, src/pic16/gen.h: moved generic pointer tags
37750         * src/pic16/glue.c: made purely local functions static,
37751           (pic16_printGPointerType, pic16_printIvalCharPtr,
37752           pic16_printIvalFuncPtr, pic16_printIvalPtr): fixed initialized
37753           generic pointers' tags (#1961866)
37755         * src/pic16/pcode.c (assignValnums): optimize literal assignments
37757 2008-05-19 Borut Razem <borut.razem AT siol.net>
37759         * support/scripts/sdcc.nsi: remove uninstall.exe after uninstallation,
37760           fixed typo, uninstall include/pic16/pic16devices.txt
37762 2008-05-18 Borut Razem <borut.razem AT siol.net>
37764         * support/Utils/dbuf_string.[ch]: added dbuf_chomp(),
37765           the buffer is null terminated
37766         * src/device/pic16.c:
37767           applied modified patch 1965676: Patch for Win32 16 bit PIC
37768         * sdcc_vc_in.h: defined YY_NO_UNISTD_H
37770 2008-05-16 Maarten Brock <sourceforge.brock AT dse.nl>
37772         * src/SDCC.lex (check_type),
37773         * src/SDCC.y (type_specifier2 TYPE_NAME): fixed bug 1925942
37774         * as/hc08/clean.mk,
37775         * as/mcs51/clean.mk,
37776         * as/z80/clean.mk: also clean *.dep
37777         * device/lib/pic16/libsdcc/stack/Makefile,
37778         * sim/ucsim/libtool: removed as they are rebuild by configure
37779         * src/clean.mk: removed izt, so Makefile is not deleted for distclean
37781 2008-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
37783         * src/SDCCast.c (fixupInline, createFunction): save currBlockno in
37784           fixupInline instead of createFunction to fix bug 1864577
37785           (inlineFindMaxBlockno): removed, use global blockNo
37786         * src/SDCCglobl.h: added blockNo
37787         * src/z80/peep.c,
37788         * src/z80/peep.h: modified properties
37789         * support/regression/tests/bug1864577.c: new, added
37791 2008-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
37793         * as/mcs51/asdata.c,
37794         * as/mcs51/asm.h: added org_cnt
37795         * as/mcs51/asmain.c (main, asmbl): fixed bug 1957716, changed old K&R to ANSI
37796         * as/mcs51/asout.c: changed old K&R to ANSI
37797         * as/mcs51/Makefile.in: use common identifiers
37798         * as/hc08/asdata.c,
37799         * as/hc08/asexpr.c,
37800         * as/hc08/asm.h,
37801         * as/hc08/asmain.c,
37802         * as/hc08/asout.c,
37803         * as/hc08/Makefile.bcc,
37804         * as/hc08/Makefile.in: synchronized with as/mcs51/*
37805         * sdcc_vc_in.h: added define __func__
37806         * src/SDCCast.c (expandInlineFuncs): applied patch 1957148 to fix bug 1717305,
37807           Thanks Ruud van Silfhout
37808         * support/regression/tests/bug1717305.c: new, added
37810 2008-05-05 Borut Razem <borut.razem AT siol.net>
37812         * support/regression/Makefile.in,
37813           support/regression/ports/ds390/spec.mk,
37814           support/regression/ports/hc08/spec.mk,
37815           support/regression/ports/mcs51-common/spec.mk,
37816           support/regression/ports/pic14/spec.mk,
37817           support/regression/ports/pic16/spec.mk,
37818           support/regression/ports/ucz80/spec.mk,
37819           support/regression/ports/z80/spec.mk:
37820           added INC_DIR and LIBDIR paths
37821         * src/ds390/gen.c: removed duplicated selicolon
37823 2008-05-04 Borut Razem <borut.razem AT siol.net>
37825         * support/regression/Makefile.in,
37826           support/regression/fwk/lib/testfwk.c,
37827           support/regression/ports/ds390/spec.mk,
37828           support/regression/ports/hc08/spec.mk,
37829           support/regression/ports/mcs51-common/spec.mk,
37830           support/regression/ports/mcs51-large/spec.mk,
37831           support/regression/ports/mcs51-medium/spec.mk,
37832           support/regression/ports/mcs51-small/spec.mk,
37833           support/regression/ports/mcs51-stack-auto/spec.mk,
37834           support/regression/ports/mcs51-xstack-auto/spec.mk,
37835           support/regression/ports/pic14/spec.mk,
37836           support/regression/ports/pic16/spec.mk,
37837           support/regression/ports/ucz80/spec.mk:
37838           added possibility to define the sdcc binary directory SDCC_BIN_PATH
37839           used to run regeression tests
37841 2008-05-01 Raphael Neider <rneider AT web.de>
37843         * doc/sdccman.lyx, support/scripts/inc2h-pic16.pl: updated list of
37844           supported devices and instructions to add new ones
37846 2008-05-01 Raphael Neider <rneider AT web.de>
37848         * device/include/pic16/adc.h,
37849           device/lib/pic16/libio/adc/adcbusy.c,
37850           device/lib/pic16/libio/adc/adcopen.c,
37851           device/lib/pic16/libio/adc/adcsetch.c: support old 18f242 and new
37852           18f2455 style ADC devices, based on patch #1776197
37853         * device/lib/pic16/libio/adc/adcclose.c,
37854           device/lib/pic16/libio/adc/adcconv.c,
37855           device/lib/pic16/libio/adc/adcread.c: cosmetic changes
37856         * device/include/pic16/{pic18f2331.h,pic18f2431.h},
37857           device/lib/pic16/libdev/{pic18f2331.c,pic18f2431.c}: reuse 18f4331
37858         * device/include/pic16/pic18f4431.h,
37859           device/lib/pic16/libdev/pic18f4431.c: remove outdated comments
37860         * device/lib/pic16/libio/adc.ignore: forbid unhandled devices
37862 2008-05-01 Raphael Neider <rneider AT web.de>
37864         * src/pic16/device.h: removed unused field PIC16_device.sfrRange,
37865           moved xinst flag into pic16_options_t
37866         * src/pic16/device.c (default_device, pic16_list_devices,
37867           pic16_find_device): removed references to sfrrange
37868         * src/pic16/gen.c (genFunction),
37869           src/pic16/glue.c (pic16initialComments),
37870           src/pic16/main.c (pic16_optionsTable),
37871           src/pic16/ralloc.c (newReg, pic16_writeUsedRegs): updated references
37872           to xinst
37873         * device/include/pic16/pic16devices.txt: removed sfrrange lines
37875 2008-04-29 Raphael Neider <rneider AT web.de>
37877         * src/pic16/devices.inc,
37878           device/include/pic16/pic16devices.txt: replaced compiled-in list
37879           of devices with a variant parsed at runtime
37880         * src/pic16/device.c: added support for parsing pic16devices.txt,
37881           clean up
37882         * src/pic16/device.h: removed (now) unused fields from PIC_device
37883         * src/pic16/main.c: removed #pragma maxram,
37884           (_pic16_initPaths): removed bogus generation of search paths,
37885           setup the port proper only after the search paths (for
37886           pic16devices.txt) are set up,
37887           (_pic16_finaliseOptions): moved processor dependant code here
37888           from _pic16_initPaths(), clean up
37889         * src/pic16/ralloc.c (pic16_init_stack),
37890         * src/pic16/ralloc.h,
37891         * src/pic16/pcode.c: clean up
37892         * device/include/Makefile.in,
37893           support/scripts/sdcc.nsi: also install/package pic16devices.txt
37894         * support/scripts/inc2h-pic16.pl: updated instructions
37896 2008-04-29 Raphael Neider <rneider AT web.de>
37898         * device/include/pic16/{pic18f2480.h, pic18f2580.h, pic18f4423.h,
37899           pic18f4480.h, pic18f4523.h, pic18f4580.h, pic18f6585.h, pic18f8585.h},
37900           device/lib/pic16/libdev/{pic18f2480.c, pic18f2580.c, pic18f4423.c,
37901           pic18f4480.c, pic18f4523.c, pic18f4580.c, pic18f6585.c, pic18f8585.c}:
37902           added missing family members and 18f2480/2580/4480/4580 family
37903         * device/include/pic16/{pic18f2423.h, pic18f2523.h}: use 18f4523.h
37904         * device/include/pic16/pic18f2525.h: use 18f4620.h
37905         * device/include/pic16/pic18f6680.h: use 18f8680.h
37906         * device/include/pic16/pic18fregs.h,
37907           device/lib/pic16/pics.all,
37908           src/pic16/devices.inc: add new devices
37909         * device/lib/pic16/libdev/{pic18f2423.c, pic18f2523.c}: use 18f4523.c
37910         * device/lib/pic16/libdev/pic18f2525.c: use 18f4620.c
37911         * device/lib/pic16/libdev/pic18f6680.c: uso 18f8680.c
37912         * device/lib/pic16/libio/{adc.ignore, i2c.ignore, usart.ignore}:
37913           prevent attempting to build the libio for some new devices
37915 2008-04-29 Raphael Neider <rneider AT web.de>
37917         * debugger/mcs51/Makefile.in: fixed paths to sources
37919 2008-04-25 Borut Razem <borut.razem AT siol.net>
37921         * as/link/lklibr.c: moved from as/link/z80/lklibr.c
37922         * as/link/hc08/lklibr.c, as/link/mcs51/lklibr.c: deleted
37923         * as/link/hc08/Makefile.bcc, as/link/hc08/Makefile.in,
37924         * as/link/hc08/link_hc08.dsp, as/link/mcs51/Makefile.bcc,
37925           as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
37926           as/link/z80/Makefile.in, as/link/z80/linkgbz80.dsp,
37927           as/link/z80/linkz80.dsp: lklibr.c moved
37928         * doc/INSTALL.txt: binary archives in bz2 format
37929         * support/cpp/auto-host_vc_in.h: CPP2 replaced with CPP
37931 2008-04-23 Maarten Brock <sourceforge.brock AT dse.nl>
37933         * src/SDCCglue.c (printIvalType, printIvalBitFields): fixed bug 1856409
37934         * support/regression/tests/bug1856409.c: new, added
37936 2008-04-20 Maarten Brock <sourceforge.brock AT dse.nl>
37938         * src/z80/peep.c,
37939         * src/mcs51/peep.c: Use werror for error messages.
37940         * src/SDCCicode.c (geniCodeConditional),
37941         * src/SDCCsymt.c (structElemType): fixed bug 1839321
37942         * src/z80/Makefile.bcc,
37943         * src/z80/z80.dsp: added src/z80/peep.c/h
37944         * support/regression/tests/bug1839321.c: new, added
37946 2008-04-20 Raphael Neider <rneider AT web.de>
37948         * device/include/pic16/pic18f2455.h: added bitfields for port C
37950 2008-04-20 Philipp Klaus Krause <pkk AT spth.de>
37952         * src/z80/peep.c: Use werror for error messages.
37954 2008-04-19 Philipp Klaus Krause <pkk AT spth.de>
37956         * src/z80/peep.h (declaration of notUsed()),
37957         * src/z80/main.c (enabled notUsed() for z80 port, documented z80_port
37958           struct),
37959         * src/z80/z80.h (added dependency on peep.h),
37960         * src/z80/peep.c (definition of notUsed()): Implemented RFE #1880202
37961           for Z80.
37963 2008-04-19 Philipp Klaus Krause <pkk AT spth.de>
37965         * src/SDCCpeeph.c (added support for notUsed()),
37966         * src/mcs51/main.c (added dependency on peep.h, documented mcs51_port
37967           struct),
37968         * src/port.h (removed dependency on mcs51/peep.h, added declaration
37969           for notUsed()): Implemented generic (that is not port-specific) part
37970           of RFE #1880202.
37972 2008-04-17 Maarten Brock <sourceforge.brock AT dse.nl>
37974         * as/link/mcs51/lkmem.c (summary2): fixed bug 1796077
37975         * device/lib/libsdcc.lib,
37976         * device/lib/Makefile.in,
37977         * support/regression/ports/mcs51-xstack-auto/spec.mk,
37978         * device/lib/calloc.c: renamed to _calloc.c
37979         * device/lib/free.c: renamed to _free.c
37980         * device/lib/malloc.c: renamed to _malloc.c
37981         * device/lib/realloc.c: renamed to _realloc.c
37982         * src/ds390/gen.c (aopGet, aopPut, genPlusBits, genDataPointerSet,
37983           genNearPointerSet, genPagedPointerSet): synchronized with mcs51/gen.c
37984         * src/ds390/gen.c (popForBranch, genIfxJump, genCmp, genCmpEq, ifxForOp,
37985           genAnd, genOr, genXor, genIfx, gen390Code): fixed bug 1509084
37986         * src/mcs51/gen.c (popForBranch, genIfxJump, genCmp, genCmpEq,
37987           ifxForOp, genAnd, genOr, genXor, genNearPointerGet,
37988           genPagedPointerGet, genFarPointerGet, genCodePointerGet,
37989           genGenPointerGet, genIfx, gen51Code): fixed bug 1509084
37990         * src/ds390/gen.c,
37991         * src/mcs51/gen.c: throughout cosmetic changes for syncing both
37992         * src/SDCCsymt.h: updated IS_OP_RUONLY, IS_OP_ACCUSE
37993         * support/regression/tests/bug1509084.c: new, added
37995 2008-04-14 Maarten Brock <sourceforge.brock AT dse.nl>
37997         * device/include/mcs51/cc2510fx.h: added _XPAGE
37998         * device/include/mcs51/compiler.h: cosmetic changes
38000 2008-03-31 Maarten Brock <sourceforge.brock AT dse.nl>
38002         * sdcc.dsw: adapted for moved cpp2, added dependency for as_z80 on
38003           config
38005 2008-03-31 Borut Razem <borut.razem AT siol.net>
38007         * support/cpp2 renamed to support/cpp
38008         * support/cpp2/libiberty/filenames.h, support/cpp2/libiberty/hex.c,
38009           support/cpp2/libiberty/splay-tree.c,
38010           support/cpp2/libiberty/splay-tree.h, support/cpp2/libcpp/macro.c,
38011           support/cpp2/libcpp/directives.c,
38012           support/cpp2/libcpp/include/cpplib.h,
38013           support/cpp2/libcpp/include/symtab.h,
38014           support/cpp2/libcpp/include/line-map.h,
38015           support/cpp2/libcpp/line-map.c, support/cpp2/libcpp/files.c,
38016           support/cpp2/libcpp/init.c, support/cpp2/libcpp/traditional.c,
38017           support/cpp2/libcpp/expr.c, support/cpp2/libcpp/internal.h,
38018           support/cpp2/libcpp/lex.c, support/cpp2/libcpp/system.h,
38019           support/cpp2/libcpp/charset.c: SDCPP synchronized with GCC CPP
38020           release version 4.3.0
38021         * configure.in, configure, Makefile.in, Makefile.bcc:
38022           adapted for moved cpp2
38024 2008-03-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38026         * device/include/hc08/mc68hc908jkjl.h: committed fix for bug #1929739,
38027           thanks Alejandro Pustowka <alejo_pustowka AT yahoo.com.mx>
38029 2008-03-30 Maarten Brock <sourceforge.brock AT dse.nl>
38031         * src/SDCCloop.c (loopInvariants): applied fix for bug 1717943, thanks
38032           Robert Larice
38033         * support/regression/tests/bug1717943.c: new, added
38035 2008-03-30 Philipp Klaus Krause <pkk AT spth.de>
38037         * src/z80/gen.c (assignResultValue): Reverted reversal of order of
38038           bytewise return value assignments introduced in last commit.
38040 2008-03-30 Philipp Klaus Krause <pkk AT spth.de>
38042         * src/z80/gen.c (emitDebug, assignResultValue, genPlus, genMinus,
38043           genMult, genJumpTab):
38044           Use 16-bit instructions for addition in some additional cases,
38045           implemented RFEs #1914251, #1914245, #1922090, #1921382, #1918323.
38047 2008-03-30 Philipp Klaus Krause <pkk AT spth.de>
38049         * src/z80/ralloc.c (serialRegAssign, allocReg, tryAllocatingRegPair):
38050           Implemented RFE #1921450, changed some debug messages.
38052 2008-03-30 Borut Razem <borut.razem AT siol.net>
38054         * Small Device C Compiler 2.8.0 released
38055         * .version, doc/sdccman.lyx: changed sdcc version to 2.8.1
38056         * support/scripts/sdcc.nsi: added finish page; this version
38057           was used for 2.8.0 release
38058         * doc/knownbugs.html: removed; magically generated by the build
38059           process using gen_known_bugs.pl from now on
38061 2008-03-23 Borut Razem <borut.razem AT siol.net>
38063         * src/pic/gen.h: Q&D solution for the bug, found by Jim Paris
38064           and reverted it, since it was already fixed by Raphael ;-)
38065         * doc/knownbugs.html: updated for RC2
38067 2008-03-22 Raphael Neider <rneider AT web.de>
38069         * src/SDCCicode.c (getPtrType): avoid unnecessary extra assignments
38070           for PIC16 targets
38072 2008-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
38074         * src/mcs51/gen.c (adjustArithmeticResult): fixed bug 1839299
38075         * support/regression/tests/bug1839277.c: added related testBug1839299
38077 2008-03-21 Maarten Brock <sourceforge.brock AT dse.nl>
38079         * src/ds390/gen.c (opIsGptr, adjustArithmeticResult, genAddrOf, genAssign),
38080         * src/mcs51/gen.c (opIsGptr, adjustArithmeticResult, genAddrOf, genAssign):
38081           fixed bug 1839277
38082         * src/mcs51/gen.c: throughout only output hex constants
38083         * src/SDCCicode.c (getPtrType, geniCodeCast): fixed code size regression
38084         * support/regression/tests/bug1839277.c: new, added
38086 2008-03-21 Philipp Klaus Krause <pkk AT spth.de>
38088         * src/z80/ralloc.c (callFuncByName): Used // instead of /**/ to fix
38089           compilation warning about nested comments.
38091 2008-03-20 Maarten Brock <sourceforge.brock AT dse.nl>
38093         * src/SDCCsymt.c (comparePtrType): fixed bug 1921073
38094         * support/regression/tests/bug1921073.c: new, added
38096 2008-03-17 Philipp Klaus Krause <pkk AT spth.de>
38098         * src/z80/SDCCpeeph.c.c (callFuncByName):
38099           Commented function parameters.
38101 2008-03-17 Philipp Klaus Krause <pkk AT spth.de>
38103         * src/z80/ralloc.c (packRegsForAccUse2):
38104           disabled a broken accumulator packing optimization (fixed #1292721).
38105         * support/regression/tests/bug-1292721: Regression test for #1292721.
38107 2008-03-16 Raphael Neider <rneider AT web.de>
38109         * src/pic/gen.c (SetIrp,genNearPointerGet,genNearPointerSet):
38110           fixed code bloat regression using a variant of patch #1915618
38112 2008-03-16 Borut Razem <borut.razem AT siol.net>
38114         * support/scripts/sdcc.nsi: added section debugging macros, added SDCC
38115           icon, changed startup menu for release distribution, code cleaning,
38116           create url files instead links in startup menu
38118 2008-03-16 Maarten Brock <sourceforge.brock AT dse.nl>
38120         * src/SDCCcse.c (algebraicOpts): fixed bug 1579949
38121         * support/regression/tests/bug1579949.c: new, added
38123 2008-03-14 Paul Stoffregen <paul AT pjrc.com>
38125         * device/lib/printf_fast.c: fixed bug 1255403
38127 2008-03-14 Maarten Brock <sourceforge.brock AT dse.nl>
38129         * doc/sdccman.lyx: enhanced paragraph about bankswitching for mcs51
38130         * src/cdbFile.c (cdbWriteBasicSymbol): fixed bug 1909409 for locals
38132 2008-03-14 Borut Razem <borut.razem AT siol.net>
38134         * as/doc/asmlnk.doc, as/doc/asxhtm.html: updated link-xx and aslink
38135           command line options
38136         * as/link/hc08/lkmain.c: converted tabs to spaces so that the usage
38137           is correctly displayed
38138         * as/link/z80/lkmain.c: usage line commented out
38140 2008-03-13 Borut Razem <borut.razem AT siol.net>
38142         * doc/sdccman.lyx: corrected to be able to convert to PDF,
38143           updated the list pf supported pic14 devices
38145 2008-03-12 Maarten Brock <sourceforge.brock AT dse.nl>
38147         * doc/sdccman.lyx: added paragraph about bankswitching for mcs51
38149 2008-03-12 Borut Razem <borut.razem AT siol.net>
38151         * as/doc/asmlnk.doc, as/doc/asxhtm.html: updated command line options,
38152           fixed documentation request #1718191
38153         * as/hc80/asmain.c, as/mcs51/asmain.c: added option -c to usage
38154         * doc/sdccman.lyx: added description of --no-std-crt0 gbz80
38155           command line option
38157 2008-03-10 Maarten Brock <sourceforge.brock AT dse.nl>
38159         * src/SDCCast.c (isConformingBody): fixed bug 1505811, thanks Robert Larice
38160         * support/regression/tests/bug1505811.c: new, added
38162 2008-03-09 Raphael Neider <rneider AT web.de>
38164         * device/include/pic16/pic18f2620.h,
38165         * device/include/pic16/pic18f4620.h,
38166         * device/lib/pic16/libdev/pic18f2620.c,
38167         * device/lib/pic16/libdev/pic18f4525.c,
38168         * device/lib/pic16/libdev/pic18f4620.c: merged 18f2525/2620/4525/4620
38169           family to consistently use pic18f4620.[ch], fixes #1832562
38171 2008-03-09 Borut Razem <borut.razem AT siol.net>
38173         * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
38174           changed sdcc version to 2.8.0
38175         * knownbugs.html: regenerated
38176         * support/scripts/gen_known_bugs.pl: added number of open bugs
38178 2008-03-09 Raphael Neider <rneider AT web.de>
38180         * src/pic16/gen.c (pic16_mov2w_volatile): NEW, read volatile operands,
38181           (genOr): read volatile operand even if the result is known,
38182           closes #1511838
38183           (genOr,genXor): removed unused legacy code,
38184           (genDummyRead): use pic16_mov2w_volatile()
38186 2008-03-08 Borut Razem <borut.razem AT siol.net>
38188         * src/SDCCglue.c: fixed bug #1864582: multiple definition of char
38189           cons w. --model-large
38190         * support/regression/staticinit.c: added regression test for bug
38191           #1864582
38193 2008-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
38195         * src/ds390/gen.c (pushSide, genPcall),
38196         * src/hc08/gen.c (pushSide, genPcall): synchronized with mcs51
38197         * src/mcs51/gen.c: cosmetic changes
38198         * support/regression/fwk/include/testfwk.h: added macro reentrant
38199         * support/regression/tests/bug1908493.c: new, added
38201 2008-03-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
38203         * src/SDCCdebug.c:, as/link/lkaomf51.c: Fixed bug 1909409: Pdata in OMF file
38205 2008-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
38207         * src/mcs51/gen.c (pushSide, genPcall): fixed bug 1908493
38208         * src/SDCCmain.c (preProcess): removed -DSDCC_PARMS_IN_BANK1 because it is
38209           already set in ds390/main.c and mcs51/main.c
38211 2008-03-07 Raphael Neider <rneider AT web.de>
38213         * src/regression/init0.c: new test for initialized arrays of function
38214           pointers
38215         * src/regression/Makefile: made a bit more flexible, added init0.c
38216         * src/pic/glue.c (emitIvals): hacky fix for initializing from function
38217           pointers, closes #1427663
38219 2008-03-05 Borut Razem <borut.razem AT siol.net>
38221         * dos/sdccman.lyx: docummented predefined macros SDCC_REVISION,
38222           SDCC_PARMS_IN_BANK1, SDCC_FLOAT_REENT and SDCC_INT_LONG_REENT
38224 2008-03-05 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
38226         * support/librarian/sdcclib.c:Added feature request 1908061:
38227           Synchronise sdcclib commands with ar.
38229 2008-03-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38231         * src/SDCCmain.c: added predefined macros SDCC_REVISION (RFE #1907229),
38232           and (depending on corresponding compiler option) SDCC_PARMS_IN_BANK1,
38233           SDCC_FLOAT_REENT, SDCC_INT_LONG_REENT
38234         * device/include/mcs51/compiler.h: removed umlauts, added double
38235           underscore
38237 2008-03-04 Maarten Brock <sourceforge.brock AT dse.nl>
38239         * src/SDCCptropt.c (ptrPseudoSymConvert): fixed bug 1536762
38240         * support/regression/tests/bug1536762.c: new, added
38241         * src/SDCCutil.c,
38242         * src/SDCCutil.h: added getBuildDate()
38243         * src/SDCCmain.c (printVersionInfo),
38244         * src/SDCCglue.c (initialComments): use getBuildDate() instead of
38245           __DATE__
38246         * src/*/ralloc.c: removed IS_OP_RUONLY macro
38247         * src/ds390/ralloc.c (packRegisters),
38248         * src/mcs51/ralloc.c (packRegisters),
38249         * src/z80/ralloc.c (packRegisters): applied fix for bug 1618050, thanks
38250           Robert Larice
38251         * support/regression/tests/bug1618050.c: new, added
38252         * src/SDCCsymt.h: fixed typo in DECLSPEC2TXT
38253         * support/regression/fwk/include/testfwk.h,
38254         * support/regression/tests/bug1838000.c: moved _AUTOMEM and _STATMEM to
38255           testfwk.h
38257 2008-03-04 Raphael Neider <rneider AT web.de>
38259         * src/pic/gen.c: removed unused prototypes, prevent internal errors
38260           on accessing OP_SYM_TYPE(op)
38261         * src/pic/gen.h: removed unused prototype of genMinusDec()
38262         * src/pic/genarith.c (genMinus): cosmetic changes, rewritten to
38263           fix #1876953 (invalid subtraction code), removed unused code
38265 2008-03-03 Raphael Neider <rneider AT web.de>
38267         * src/pic/gen.c,
38268         * src/pic/gen.h,
38269         * src/pic/genarith.c,
38270         * src/pic/ralloc.c,
38271         * src/pic/ralloc.h: removed AOP_R0, AOP_R1, AOP_DPTR, AOP_DPTR2,
38272           AOP_ACC, and *_IDX and adjusted code, removed unused legacy code
38274 2008-03-03 Raphael Neider <rneider AT web.de>
38276         * src/pic/device.c (find_device): search user-specified paths first
38277           for pic14devices.txt, fixes #1900827
38279 2008-03-02 Borut Razem <borut.razem AT siol.net>
38281         * support/scripts/sdcc.nsi: fixed bug in IsNT, LogicLib-isation of
38282           AddToPath and RemoveFromPath
38284 2008-03-01 Borut Razem <borut.razem AT siol.net>
38286         * support/scripts/sdcc.nsi: reverted MULTIUSER page since it didn't
38287           work correctly, added debugging support if -DSDCC.DEBUG command line
38288           option is defined
38290 2008-02-28 Borut Razem <borut.razem AT siol.net>
38292         * doc/sdccman.lyx: cosmetic changes
38294 2008-02-28 Maarten Brock <sourceforge.brock AT dse.nl>
38296         * src/mcs51/ralloc.c (fillGaps): fixed bug 1839671
38297         * doc/sdccman.lyx: fixed unmeant removal of spaces
38299 2008-02-27 Borut Razem <borut.razem AT siol.net>
38301         * support/scripts/sdcc.nsi: corrected installation directory for
38302           current user installation mode
38303         * doc/README.txt: added Philipp Klaus Krause to the developers list
38305 2008-02-27 Maarten Brock <sourceforge.brock AT dse.nl>
38307         * src/mcs51/gen.c (genUnpackBits): don't generate ifxJump, instead
38308           return ifx condition
38309           (genNearPointerGet, genPagedPointerGet, genFarPointerGet,
38310           genCodePointerGet, genGenPointerGet): cleanup aop before generating
38311             ifxJump to fix bug 1838000
38312         * src/SDCCsymt.c (aggregateToPointer): fix problem for xstack
38313         * support/regression/tests/bug1838000.c: new, added
38314         * device/include/mcs51/cc1110.h: new, added, thanks to Pravin Angolkar
38316 2008-02-26 Borut Razem <borut.razem AT siol.net>
38318         * src/SDCCast.c, doc/sdccman.lyx: fixed RFE #1901171: integer promotion
38319           of casted varargs
38320         * support/scripts/sdcc.nsi: added MULTIUSER page,
38321           NSIS upgraded to version 2.35
38323 2008-02-25 Maarten Brock <sourceforge.brock AT dse.nl>
38325         * src/mcs51/ralloc.c (isSpiltOnStack): fixed bug 1565152
38326         * support/regression/tests/bug1565152.c: new, added
38328 2008-02-25 Maarten Brock <sourceforge.brock AT dse.nl>
38330         * src/mcs51/gen.c (genPagedPointerSet): fixed bug 1670148
38331         * support/regression/ports/mcs51-xstack-auto/spec.mk: added expf.c
38332         * support/regression/tests/bug1670148.c: new, added
38334 2008-02-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
38336         * device/include/mcs51/at89c51ed2.h: fixed bug 1901469.
38338 2008-02-24 Borut Razem <borut.razem AT siol.net>
38340         * src/SDCCast.c, src/SDCCast.h: fixed bug #1874922: explicit typecast
38341           is ineffective for unsigned char parameter
38343 2008-02-24 Maarten Brock <sourceforge.brock AT dse.nl>
38345         * src/SDCCast.c (expandInlineFuncs): fixed bug 1875869
38346         * src/SDCCglue.c (printIvalBitFields): fixed bug 1806631
38347         * support/regression/tests/bitopcse.c: removed hc08 exception, see testfwk.h
38348         * support/Util/MySystem.c (my_system): output errorcode when verbose
38350 2008-02-22 Philipp Klaus Krause <pkk AT spth.de>
38352         * src/z80/gen.c (genMult): Rewrote 8-bit multiplication by constant,
38353           implements #1898231
38355 2008-02-22 Philipp Klaus Krause <pkk AT spth.de>
38357         * device/lib/z80/mul.s: Rewrote __muluchar_rrx_s, to improve 8-bit mult.,
38358           implements #1896290
38360 2008-02-22 Maarten Brock <sourceforge.brock AT dse.nl>
38362         * src/SDCCast.c (createIvalStruct): fixed bug 1466761
38364 2008-02-21 Borut Razem <borut.razem AT siol.net>
38366         * support/regression/Makefile.in,
38367           support/regression/ports/ds390/spec.mk,
38368           support/regression/ports/hc08/spec.mk,
38369           support/regression/ports/mcs51-common/spec.mk,
38370           support/regression/ports/pic14/spec.mk,
38371           support/regression/ports/pic16/spec.mk,
38372           support/regression/ports/ucz80/spec.mk,
38373           support/regression/ports/xa51/spec.mk:
38374           added CFLAGS when compiling timeout
38376 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38378         * support/regression/tests/bugs-1596270-1736867.c: Regression test for
38379           #1596270, #1736867
38381 2008-02-20 Maarten Brock <sourceforge.brock AT dse.nl>
38383         * src/SDCClrange.c (findPrevUse): fixed bug 1888147
38384         * support/regression/tests/bug1888147.c: new, added
38386 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38388         * src/z80/gen.c: fixed bugs #1596270, #1736867
38390 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38392         * src/z80/gen.c: fixed bug in register pair loading when swapping register
38393           contents, mostly fixes #1596270
38395 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38397         * src/z80/peeph.def,
38398         * src/z80/peeph-z80.def: moved peephole that breaks gbz80 to z80-specific
38399           peepholes, fixes #1806565
38401 2008-02-20 Maarten Brock <sourceforge.brock AT dse.nl>
38403         * src/SDCCpeeph.c (operandBaseName): added check for @Ri
38404         * src/mcs51/peeph.def (rule 177.c): added operandsNotRelated(%1 %3)
38405           fixes bug 1739475, thanks Robert Larice
38406           (rule 271): new, added
38408 2008-02-18 Borut Razem <borut.razem AT siol.net>
38410         * sim/ucsim/s51.src/Makefile.in: fixed error made in previous commit
38412 2008-02-17 Maarten Brock <sourceforge.brock AT dse.nl>
38414         * src/SDCCmain.c (linkEdit): emit -z when using --debug for z80
38416 2008-02-17 Raphael Neider <rneider AT web.de>
38418         * src/pic16/genarith.c,
38419         * src/pic16/gen.c,
38420         * src/pic16/gen.h,
38421         * src/pic16/genutils.c: removed unused legacy code,
38422           removed unused fields from struct asmop and struct _G
38424 2008-02-17 Raphael Neider <rneider AT web.de>
38426         * src/pic16/gen.c (AccRsh): cosmetic changes,
38427           (shiftR1Left2ResultSigned,shiftR1Left2Result,shiftL1Left2Result,
38428           genRightShiftLiteral): fixed to work with SFRs as result by
38429           assigning only once to result,
38430           removed a lot of unused/excluded code fragments
38432 2008-02-17 Raphael Neider <rneider AT web.de>
38434         * device/include/pic/pic16f88.h,
38435         * device/include/pic/pic16f886.h,
38436         * device/include/pic/pic16f887.h: added TRISA6 and TRISA7
38438 2008-02-17 Borut Razem <borut.razem AT siol.net>
38440         * src/z80/peeph.def: applied patch
38441           #1893626: Optimize tail calls on Z80, thanks to Philipp Krause
38442         * src/z80/gen.c, src/z80/peeph.def: applied patch
38443           #1893510: Improve logical left shift on Z80, thanks to Philipp Krause
38444         * sim/ucsim/avr.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
38445           sim/ucsim/s51.src/Makefile.in, sim/ucsim/sim.src/Makefile.in,
38446           sim/ucsim/xa.src/Makefile.in, sim/ucsim/z80.src/Makefile.in,
38447           sim/ucsim/main_in.mk: renamed libutil.a to libucsimutil.a in order to
38448           enable compilation on Mac OS X 10.5 (Leopard) and XCode v3.0
38450 2008-02-16 Maarten Brock <sourceforge.brock AT dse.nl>
38452         * as/link/mcs51/aslink.dsp: removed SDK define
38453         * as/link/z80/clean.mk: brought in sync with other ports
38454         * as/link/z80/lklibr.c (SdccLib, fndsym): handle the dflag here too
38455         * as/hc08/Makefile.bcc,
38456         * as/mcs51/Makefile.bcc,
38457         * as/z80/Makefile.bcc: noice.c was moved to as/asxxsrc/
38458         * src/z80/main.c (_setValues): use the now capitalized -Z,
38459           (z80_port, gbz80_port): generate debug information when asked
38461 2008-02-16 Borut Razem <borut.razem AT siol.net>
38463         * as/z80/asmain.c, as/z80/asm.h, as/z80/asdata.c,
38464           as/link/z80/lkmain.c, as/z80/as_gbz80.dsp, as/z80/as_z80.dsp,
38465           as/z80/Makefile.in. as/z80/Makefile.bcc:
38466           applied patch #1893393: patch for as-z80 and link-z80 to generate
38467           cdb, thanks to Armin Diehl
38468         * as/*/asnoice.c, as/hc08/as_hc08.dsp, as/hc08/Makefile.in,
38469           as/mcs51/asx8051.dsp, as/mcs51/Makefile.in:
38470           asnoice.c moved to as/asxxsrc/asnoice.c
38471         * src/z80/peeph-gbz80.def: applied patch
38472           #1880235: Z80 return peephole, thanks to Philipp Krause
38474 2008-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
38476         * .version,
38477         * doc/sdccman.lyx: bumped version to 2.7.5
38478         * src/SDCCsymt.c (compareType, comparePtrType): fixed bug 1281583
38480 2008-02-13 Maarten Brock <sourceforge.brock AT dse.nl>
38482         * device/include/pic16/stdlib.h,
38483         * device/lib/pic16/libc/stdlib/ltoa.c,
38484         * device/lib/pic16/libc/stdio/vfprintf.c: ascii strings are char*
38486 2008-02-13 Borut Razem <borut.razem AT siol.net>
38488         * src/SDCCmain.c, src/SDCCglue.c: fixed --c1mode
38489         * src/pic16/glue.c, src/SDCCast.c, src/SDCCast.h, src/SDCCBBlock.c,
38490           src/SDCCcse.c, src/SDCCglue.c, src/SDCCicode.c, src/SDCCloop.c,
38491           src/SDCCopt.c,  src/SDCCval.c:
38492           fixed bug #1890273: SDCC Warning 154 shows wrong filename
38494 2008-02-12 Maarten Brock <sourceforge.brock AT dse.nl>
38496         * src/SDCCsymt.c (compareType): fixed bug 1309013
38498 2008-02-09 Borut Razem <borut.razem AT siol.net>
38500         * src/SDCCval.c, src/SDCCval.h:
38501           code cleaning, added function constChrVal()
38502         * src/SDCCglue.c, src/pic/glue.c, src/pic16/glue.c, src/SDCCast.c, src/SDCC.y:
38503           call constChrVal() instead constVal()
38505 2008-02-01 Maarten Brock <sourceforge.brock AT dse.nl>
38507         * src/SDCCast.c (resolveSymbols): added reentrancy check for parameters
38508           of function pointer
38509         * src/SDCCerr.h,
38510         * src/SDCCerr.c: changed warning W_NONRENT_ARGS to error E_NONRENT_ARGS
38511         * support/regression/tests/absolute.c: added TestStruct TestVar (see also
38512           bug 1859853)
38514 2008-02-01 Raphael Neider <rneider AT web.de>
38516         * device/include/pic/pic16f886.h,
38517         * device/include/pic/pic16f887.h: added RA6 and RA7
38519 2008-01-24 Raphael Neider <rneider AT web.de>
38521         * device/include/pic/pic16f88.h: added RA6 and RA7
38522         * device/lib/pic/libdev/disabled_pic16f886.c,
38523         * device/lib/pic/libdev/disabled_pic16f887.c: renamed and enabled
38525         * src/pic16/devices.inc,
38526         * device/include/pic16/pic18f2423.h,
38527         * device/include/pic16/pic18f2523.h,
38528         * device/include/pic16/pic18fregs.h,
38529         * device/lib/pic16/pics.all
38530         * device/lib/pic16/libdev/pic18f2423.c,
38531         * device/lib/pic16/libdev/pic18f2523.c: added 18f2423 and 18f2523
38532         * device/lib/pic16/libio/i2c.ignore,
38533         * device/lib/pic16/libio/usart.ignore,
38534         * device/lib/pic16/libio/adc.ignore: ignore new devices
38536 2008-01-23 Maarten Brock <sourceforge.brock AT dse.nl>
38538         * src/SDCCast.c (createRMW): fixed bug 1582651
38540 2008-01-20 Borut Razem <borut.razem AT siol.net>
38542         * src/SDCCcse.c: partially fixed enhancement request
38543           #1793872 - multiply by -1 not collapsed
38544         * support/regression/tests/arithcsi.c: added regression test
38546 2008-01-19 Maarten Brock <sourceforge.brock AT dse.nl>
38548         * as/mcs51/asx8051.dsp: removed define SDK
38549         * as/mcs51/i51mch.c (machine): fixed bug 1865114
38550         * device/include/asm/ds390/features.h: fixed bug with ds390 & stack-auto
38551         * as/link/lklex.c,
38552         * as/link/mcs51/lkmain.c: used LKDIRSEP, LKDIRSEPSTR and LKOBJEXT,
38553           cosmetic changes, brought more in sync, changed old K&R to ANSI
38555 2008-01-13 Borut Razem <borut.razem AT siol.net>
38557         * support/scripts/sdcc.nsi: added Uninstall/reinstall page, ...
38558         * src/SDCCicode.c: fixed bug #1870216 - Error 122: dividing by zero
38560 2007-12-30 Borut Razem <borut.razem AT siol.net>
38562         * src/pic16/gen.c: fixed implementation of bitwise operations for
38563           pic16 target
38564         * support/regression/tests/bitwise.c: added test cases
38566 2007-12-29 Borut Razem <borut.razem AT siol.net>
38568         * src/SDCCasm.[ch]: renamed from asm[ch], use dbuf_getline(), ...
38569         * src/src.dsp, src/Makefile.bcc, src/Makefile.in, src/common.h,
38570           src/SDCCglue.c, src/xa51/main.c: asm.[ch] renamed to SDCCasm.[ch]
38571         * support/Util/dbuf_string.[ch]: added function dbuf_getline()
38572         * src/ds390/gen.c, src/hc08/gen.c, src/mcs51/gen.c, src/pic16/gen.c,
38573           src/pic/gen.c, src/z80/gen.c, src/xa51/gen.c, src/pic16/ralloc.c,
38574           src/pic16/pcode.[ch]: added const qualifier
38575         * as/hc08/Makefile.bcc, as/hc08/Makefile.in, as/hc08/as_hc08.dsp,
38576           as/mcs51/Makefile.bcc, as/mcs51/Makefile.in, as/mcs51/asx8051.dsp,
38577           as/z80/Makefile.bcc, as/z80/Makefile.in, as/z80/as_gbz80.dsp,
38578           as/z80/as_z80.dsp: added dbuf.[ch] and dbuf_string[ch] to project
38579         * as/asxxsrc/aslex.c: use dbuf_getline()
38580         * as/hc08/asdata.c, as/hc08/asexpr.c, as/hc08/asm.h, as/hc08/m08adr.c,
38581           as/mcs51/asdata.c, as/mcs51/asexpr.c, as/mcs51/asm.h,
38582           as/mcs51/i51adr.c, as/z80/asdata.c, as/z80/asexpr.c, as/z80/aslist.c,
38583           as/z80/asm.h, as/z80/z80adr.c:
38584           changed type of ib and ip to const char *
38586 2007-12-28 Borut Razem <borut.razem AT siol.net>
38588         * as/asxxsrc/aslex.c: moved from as/mcs51/aslex.c;
38589           introduced (readlin) - long lines are turuncated
38590         * as/hc08/as_hc08.dsp, as/mcs51/asx8051.dsp, as/z80/as_gbz80.dsp,
38591           as/z80/as_z80.dsp, as/hc08/Makefile.in, as/mcs51/Makefile.in,
38592           as/z80/Makefile.in: moved aslex.c to asxxsrc
38593         * as/hc08/aslex.c, as/z80/aslex.c: deleted
38594         * as/hc08/asmain.c, as/mcs51/asmain.c:
38595           added missing initialization of a_addr field
38596         * support/regression/tests/long_asm_line.c: added regtest for long
38597           assembler line
38599 2007-12-22 Borut Razem <borut.razem AT siol.net>
38601         * src/SDCC.lex: fixed bug #1852894: # character hangs the compiler
38603 2007-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
38605         * src/SDCCsymt.c (computeType): fixed bug, thanks Fan Weiguang
38607 2007-12-16 Borut Razem <borut.razem AT siol.net>
38609         * device/include/pic16/stdbool.h: removed, since already exists in
38610          device/include/; this also fixes bitopcse.c regression test for pic16
38611          target
38612         * support/regression/fwk/inclusw/testfwk.h: added macro ASSERT_FAILED
38613         * src/pic16/glue.c: fixed bug #1851855: generic static pointer
38614           dereference doesn't work; covered by regression test bug1399290
38616 2007-12-05 Borut Razem <borut.razem AT siol.net>
38618         * doc/sdccman.lyx: fixed bug #1844509 - Correction to Manual 4.6.9
38619           Adding new PIC16
38621 2007-12-01 Borut Razem <borut.razem AT siol.net>
38623         * sim/ucsim/cmd.src/cmdmem.cc, sim/ucsim/cmd.src/mem.cc:
38624           corrected handling of the highest_valid_address
38626 2007-11-17 Raphael Neider <rneider AT web.de>
38628         * src/pic/main.c (_asmCmd): include debug arguments (-g as $3)
38629         * src/pic/glue.c (picglue): emit .file if --debug is given
38631 2007-11-17 Raphael Neider <rneider AT web.de>
38633         * src/pic16/genarith.c (pic16_genPlus, pic16_genMinus): take special
38634         care when left or right operand resides in result, fixes #1830220
38636 2007-11-17 Borut Razem <borut.razem AT siol.net>
38638         * src/SDCCglue.c, src/pic16/glue.c: reverted fix for bug
38639           #983491 - "Merge duplicate strings function is ineffective"
38640         * support/regression/tests/bug-983491.c: regtest disabled
38641         * as/asxxsrc: created
38642           as/asxxsrc/assym.c, as/asxxsrc/strcmpi.c: moved
38643           as/hc08/assym.c, as/mcs51/assym.c, as/strcmpi.c,
38644           as/z80/assym.c, as/hc08/asstore.c, as/mcs51/asstore.c: deleted
38645           as/hc08/Makefile.bcc, as/hc08/Makefile.in, as/hc08/as_hc08.dsp,
38646           as/hc08/asm.h, as/link/hc08/Makefile.bcc, as/link/hc08/Makefile.in,
38647           as/link/hc08/link_hc08.dsp, as/link/mcs51/Makefile.bcc,
38648           as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
38649           as/link/z80/Makefile.in, as/link/z80/linkgbz80.dsp,
38650           as/link/z80/linkz80.dsp, as/mcs51/Makefile.bcc, as/mcs51/Makefile.in,
38651           as/mcs51/asm.h, as/mcs51/asx8051.dsp, as/z80/Makefile.bcc,
38652           as/z80/Makefile.in, as/z80/as_gbz80.dsp, as/z80/as_z80.dsp,
38653           as/z80/Makefile.as_hc08, as/mcs51/Makefile.asx8051: modified
38654           created as/asxxsrc directory, assym.c and strcpi.c moved into it
38656 2007-11-15 Maarten Brock <sourceforge.brock AT dse.nl>
38658         * device/include/stdarg.h: added and removed some casts
38659         * src/SDCCsymt.c (compareType): Fully check types between generic and
38660           non-generic pointers, also accept ptr-ptr to void-ptr assignments
38662 2007-11-13 Borut Razem <borut.razem AT siol.net>
38664         * support/regression/tests/bug-1817005.c:
38665           added regtest for bug #1817005 - as-z80 chokes on long labels
38667 2007-11-12 Borut Razem <borut.razem AT siol.net>
38669         * as/z80/asmain.c, as/z80/asm.h, as/z80/assym.c, as/z80/asdata.c,
38670           as/z80/asout.c, as/z80/aslist.c:
38671           fixed bug #1817005 - as-z80 chokes on long labels
38673 2007-11-11 Maarten Brock <sourceforge.brock AT dse.nl>
38675         * as/hc08/asmain.c,
38676         * as/z80/asmain.c: cosmetic changes
38677         * as/hc08/alloc.h,
38678         * as/mcs51/alloc.h,
38679         * as/z80/alloc.h: removed
38680         * as/hc08/assym.c,
38681         * as/mcs51/assym.c: replaced alloc.h with stdlib.h
38682         * as/link/aslink.h: added LKDIRSEP and, LKDIRSEPSTR
38683         * as/link/hc08/Makefile.in,
38684         * as/link/mcs51/Makefile.in,
38685         * as/link/z80/Makefile.in: added -DUNIX to CFLAGS
38686         * as/link/lklex.c,
38687         * as/link/mcs51/lkarea.c,
38688         * as/link/mcs51/lkmain.c: cosmetic changes
38689         * as/link/hc08/lklibr.c,
38690         * as/link/z80/lklibr.c,
38691         * as/link/mcs51/lklibr.c: used LKDIRSEP, LKDIRSEPSTR and LKOBJEXT,
38692           used cygwin_conv_to_full_posix_path,
38693           added warnings, cosmetic changes, brought more in sync
38694           changed old K&R into ANSI function declarations
38695         * as/link/z80/lklibr.c (loadAdb): added
38696         * as/link/z80/lkmain.c: removed -- option from usage text
38698 2007-11-03 Maarten Brock <sourceforge.brock AT dse.nl>
38700         * src/mcs51/gen.c (outBitC): optimized for no result
38702 2007-10-31 Borut Razem <borut.razem AT siol.net>
38704         * src/SDCCsymt.c: fixed (hopeful properly) bug
38705           #1805702 - order of extern matters
38706         * support/regression/tests/bug-1805702.c: enabled regtest for bug
38707           #1805702
38709 2007-10-29 Borut Razem <borut.razem AT siol.net>
38711         * src/SDCCsymt.c: reverted bad fixed of bug #1805702
38712           - order of extern matters
38713         * support/regression/tests/bug-1805702.c: disabled regtest for bug
38714           #1805702
38716 2007-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
38718         * src/ds390/peeph.def: replaced 24bitModeAndPortDS390 by
38719           24bitMode, portIsDS390
38720         * src/mcs51/gen.c (genOr): optimized for RFE 1750727
38721         * src/SDCCpeeph.c (flat24bitModeAndPortDS390): removed
38722           (notVolatileVariable): also check sloc names,
38723           (callFuncByName): moved ftab[] out of function and sorted it by use
38725 2007-10-28 Maarten Brock <sourceforge.brock AT dse.nl>
38727         * device/include/stdarg.h: fixed bug in va_start macro for --xstack
38728         * src/hc08/gen.c (aopForRemat): aop->aopu.aop_immd.from_cast_remat not set,
38729           aop->aopu.aop_immd.aop_immd2 not filled with (generic) pointer type
38730         * src/SDCCicode.c (geniCodeCast): fixed bug 880197
38731         * support/regression/tests/bug-880197.c: new, added
38733 2007-10-28 Borut Razem <borut.razem AT siol.net>
38735         * support/regression/Makefile.in,
38736           support/regression/ports/mcs51-large/spec.mk,
38737           support/regression/ports/mcs51-xstack-auto/spec.mk,
38738           support/regression/ports/mcs51-stack-auto/spec.mk,
38739           support/regression/ports/mcs51-medium/spec.mk,
38740           support/regression/ports/mcs51-common/spec.mk,
38741           support/regression/ports/mcs51-common/*,
38742           support/regression/ports/mcs51-small/*:
38743           mcs51 renamed to mcs51-common, created mcs51-small
38744         * src/SDCCsymt.c: fixed bug #1805702 - order of extern matters
38745         * support/regression/tests/bug-1805702.c: added regtest for bug
38746           #1805702
38748 2007-10-26 Maarten Brock <sourceforge.brock AT dse.nl>
38750         * src/mcs51/peeph.def: moved rules 257.x to 253.x and re-enabled 253.b,
38751           added new rules 265 - 270
38752         * support/regression/tests/bug1721024.c:new, added
38753         * support/regression/Makefile.in: renamed test-mcs51 to test-mcs51-small,
38754           introduced new test-mcs51 to run all mcs51 tests
38756 2007-10-25 Maarten Brock <sourceforge.brock AT dse.nl>
38758         * support/regression/tests/bug1816470.c: new, added
38760 2007-10-21 Maarten Brock <sourceforge.brock AT dse.nl>
38762         * src/SDCCast.c (resultTypePropagate): do propagate for LEFT_OP, do not
38763           propagate for *,+,- with float, fixed bug 1816470
38764           (decorateType): cast to resultTypeProp instead of resultType
38766 2007-10-19 Borut Razem <borut.razem AT siol.net>
38768         * src/pic16/glue.c: fixed bug #983491 - "Merge duplicate strings
38769           function is ineffective" for pic16 tareget
38770         * support/scripts/listerr.c: corrected include path
38771         * device/lib/_itoa.c: fixed bug #1806402 - _itoa and _uitoa leak to
38772           adjacent memory
38774 2007-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
38776         * support/regression/tests/using.c: new, added
38777         * support/regression/tests/vaargs.c: fixed and enabled test
38779 2007-10-18 Borut Razem <borut.razem AT siol.net>
38781         * src/SDCCglue.c: fixed bug #983491 - Merge duplicate strings function
38782           is ineffective
38783         * support/regression/tests/bug-983491.c: added regtest for bug #983491
38785 2007-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
38787         * doc/sdccman.lyx: documented option --Werror
38788         * src/SDCCsymt.c (checkFunction): fixed bug 1815418 by setting
38789           RegBankUsed[] earlier
38791 2007-10-14 Maarten Brock <sourceforge.brock AT dse.nl>
38793         * device/include/mcs51/p89lpc938.h: new, added, thanks Kyle Guinn
38794         * src/pic/glue.c,
38795         * src/SDCCval.c,
38796         * src/SDCCast.c,
38797         * src/SDCCast.h: replaced AST_LIT_VALUE with AST_FLOAT_VALUE and
38798           AST_ULONG_VALUE
38799         * src/SDCCast.c (decorateType): improved optimization of tri-op
38800         * src/SDCCerr.c (vwerror, setWError),
38801         * src/SDCCerr.h,
38802         * src/SDCCmain.c (parseCmdLine): added option --Werror to treat all
38803           warnings as errors, thanks Stas Sergeev for PATCH 1813211
38805 2007-10-13 Maarten Brock <sourceforge.brock AT dse.nl>
38807         * src/mcs51/gen.c (leftRightUseAcc): use macro IS_OP_ACCUSE
38808         * src/SDCCast.c (decorateType): optimize bit=cond?1:0, RFE 1738430
38809         * support/regression/tests/bug-223113.c,
38810         * support/regression/tests/bug-426632.c,
38811         * support/regression/tests/bug-468811.c,
38812         * support/regression/tests/bug-477835.c,
38813         * support/regression/tests/bug-478094.c,
38814         * support/regression/tests/bug-499644.c,
38815         * support/regression/tests/bug-524209.c,
38816         * support/regression/tests/bug-524211.c,
38817         * support/regression/tests/packcast.c,
38818         * support/regression/tests/structidx.c: added empty tests
38819         * support/regression/tests/bug-607243.c: enabled test
38821 2007-10-06 Borut Razem <borut.razem AT siol.net>
38823         * .version, doc/sdccman.lyx: bumped version to 2.7.4 to indicate the full
38824            support of universal binaries on Mac OS X
38826 2007-10-02 Borut Razem <borut.razem AT siol.net>
38828         * src/SDCCval.h: unified double2ul macro for all platforms
38829         * src/SDCCval.c: fixed bug #1777758 - applied Maarten's patch
38830         * support/regression/tests/bitwise.c: added regtest for bug #1777758
38832 2007-09-30 Borut Razem <borut.razem AT siol.net>
38834         * src/SDCCval.h: fixed bug #1739860 - sdcc does not work correctly on some
38835           platforms
38836         * sdcc_vc_in.h: enabled warnings
38837         * src/hc08/gen.c: fixed MSVC warning C4146: unary minus operator applied to
38838           unsigned type, result still unsigned
38839         * src/mcs51/peep.c: fixed gcc warning: suggest parentheses around && within ||
38841 2007-09-28 Raphael Neider <rneider AT web.de>
38843         * src/pic/device.c (find_device): prevent buffer underflow error
38844         * src/pic/pcoderegs.c (OptimizeRegUsage): avoid dereferencing
38845           the just destroyed list entry
38847 2007-09-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38849         * doc/sdccman.lyx: there's a dedicated wiki page for cmake and sdcc, thanks
38850           Alexander Neundorf
38852 2007-09-18 Borut Razem <borut.razem AT siol.net>
38854         * src/SDCCval.c: fixed MSVC warning C4146: unary minus operator
38855          applied to unsigned type, result still unsigned
38857 2007-09-17 Borut Razem <borut.razem AT siol.net>
38859         * src/SDCC.y, src/SDCCast.c, src/SDCCcse.c, src/SDCCglue.c,
38860           src/SDCCicode.c, src/SDCCopt.c, src/SDCCsymt.c, src/SDCCval.c,
38861           src/SDCCval.h, src/hc08/gen.c, src/avr/gen.c, src/ds390/gen.c,
38862           src/mcs51/gen.c, src/pic/gen.c, src/pic/genarith.c, src/pic/glue.c,
38863           src/pic/ralloc.c, src/pic16/gen.c, src/pic16/genarith.c,
38864           src/pic16/genutils.c, src/pic16/glue.c, src/pic16/main.c,
38865           src/z80/gen.c, src/z80/ralloc.c:
38866           fixed bug #1739860 - sdcc does not work correctly on some platforms
38867           (not finished)
38868           introduced and used ulFromVal(), double2ul(), used strtod() instead sscanf()
38870 2007-09-17 Raphael Neider <rneider AT web.de>
38872         * src/pic16/device.c: reverted to previous version
38873         * device/lib/pic16/Makefile.common.in: quieten gpasm via -Wa,-q
38875 2007-09-16 Raphael Neider <rneider AT web.de>
38877         * src/pic16/device.c (pic16_dump_usection): do not reserve 0 bytes,
38878           as this raises a ton of gpasm warnings, just emit a second label
38879         * src/pic16/devices.inc,
38880         * device/lib/pic16/pics.all,
38881         * device/lib/pic16/libdev/pic18f2585.c,
38882         * device/lib/pic16/libdev/pic18f2680.c,
38883         * device/lib/pic16/libdev/pic18f2682.c,
38884         * device/lib/pic16/libdev/pic18f2685.c,
38885         * device/lib/pic16/libdev/pic18f4585.c,
38886         * device/lib/pic16/libdev/pic18f4680.c,
38887         * device/lib/pic16/libdev/pic18f4682.c,
38888         * device/lib/pic16/libdev/pic18f4685.c,
38889         * device/include/pic16/pic18f2585.h,
38890         * device/include/pic16/pic18f2680.h,
38891         * device/include/pic16/pic18f2682.h,
38892         * device/include/pic16/pic18f2685.h,
38893         * device/include/pic16/pic18f4585.h,
38894         * device/include/pic16/pic18f4680.h,
38895         * device/include/pic16/pic18f4682.h,
38896         * device/include/pic16/pic18f4685.h,
38897         * device/include/pic16/pic18fregs.h: added 18f2585, 18f2680,
38898           18f2682, 18f2685, 18f4585, 18f4680, 18f4682, 18f4685,
38899           patch contributed by Anton Strobl, applied with changes
38901 2007-09-16 Raphael Neider <rneider AT web.de>
38903         * device/include/pic16/pic18f2431.h,
38904         * device/include/pic16/pic18f25j10.h,
38905         * device/include/pic16/pic18f4431.h,
38906         * device/include/pic16/pic18f45j10.h: adopted common include style
38907         * device/include/pic16/pic18f1320.h,
38908         * device/include/pic16/pic18f2320.h,
38909         * device/include/pic16/pic18f2525.h,
38910         * device/include/pic16/pic18f4320.h,
38911         * device/include/pic16/pic18f4525.h: NEW, just include proper .h file
38912         * device/include/pic16/pic18fregs.h: prepared for automatic include
38913           file selection by having DEVICE.h for every DEVICE
38914         * device/lib/pic16/libdev/pic18f2320.c,
38915         * device/lib/pic16/libdev/pic18f4320.c: just include proper .c file
38917         * device/lib/pic16/configure.in,
38918         * device/lib/pic16/configure: use rm -rf instead of rmdir
38919         * device/lib/pic16/Makefile.in: use RMDIR to remove build directories
38920         * device/lib/pic16/libc/stdlib/free.c: avoid warning on pointer cast
38922 2007-09-09 Borut Razem <borut.razem AT siol.net>
38924         * src/SDCCmain.c, src/SDCCutil.c: print newline after printVersionInfo(),
38925           distingush between i386 and ppc Mac OS X versions
38927 2007-09-05 Maarten Brock <sourceforge.brock AT dse.nl>
38929         * src/mcs51/gen.c (genReceive): fixed bug 1788177
38930         * support/regression/tests/bug1788177.c: new, added
38932 2007-09-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38934         * doc/sdccman.lyx: mentioned d52 and cmake, customizing startup code
38935         * device/include/mcs51/lint.h added keyword __naked
38937 2007-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
38939         * src/pic16/glue.c,
38940         * src/pic/glue.c,
38941         * src/SDCCmem.h: removed maxRegBank
38942         * src/SDCCmem.c (allocVariables): removed maxRegBank and moved setting
38943           RegBankUsed[] to checkFunction() in SDCCsymt.c to fix bug 1759839
38944         * src/SDCCsymt.c (checkFunction): set RegBankUsed[] here
38945         * src/mcs51/peep.c (isCallerSaveFunc, termScanAtFunc): changed function
38946           name and behaviour to handle banked functions
38947           (scan4op): and use it to fix bug 1786213
38949 2007-09-03 Raphael Neider <rneider AT web.de>
38951         * device/include/pic16/pic18f248.h,
38952         * device/include/pic16/pic18f258.h,
38953         * device/include/pic16/pic18f448.h,
38954         * device/lib/pic16/libdev/pic18f248.c,
38955         * device/lib/pic16/libdev/pic18f258.c,
38956         * device/lib/pic16/libdev/pic18f448.c: fixed TRISEbits,
38957           added T0CONbits, fixes #1786891
38959 2007-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
38961         * src/ds390/gen.c (genFarPointerSet),
38962         * src/hc08/ralloc.c (packRegisters),
38963         * src/mcs51/ralloc.c (packRegisters),
38964         * src/SDCCcse.c (cseBBlock): check if result is a symbol first to fix
38965           bug 1750318
38966         * src/SDCCicode.h: POINTER_SET can be true for literals too
38967         * support/regression/tests/bug1750318.c: new, added
38969 2007-08-23 Borut Razem <borut.razem AT siol.net>
38971         * debugger/mcs51/sdcdb.c: fixed compilation with older readline
38972           library versions without the completition functionality
38974 2007-08-22 Raphael Neider <rneider AT web.de>
38976         * device/include/pic16/pic18f1220.h,
38977         * device/lib/pic16/libdev/pic18f1220.c: applied patch #1776191
38979 2007-08-12 Borut Razem <borut.razem AT siol.net>
38981         * debugger/mcs51/Makefile.in: support/Util/SDCCerr.[ch] moved to src
38983 2007-08-11 Borut Razem <borut.razem AT siol.net>
38985         * support/Util/SDCCerr.c, support/Util/SDCCerr.h, src/src.dsp,
38986           src/Makefile.in, src/Makefile.bcc, support/scripts/listerr.c:
38987           support/Util/SDCCerr.[ch] moved to src
38988         * as/hc08/as_hc08.dsp, as/link/hc08/link_hc08.dsp,
38989           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
38990           device/examples/ds390/tinitalk/tinitalk.dsp,
38991           device/examples/serialcomm/windows/serialcomm.dsp,
38992           support/librarian/librarian.dsp:
38993           removed linking of unused odbc32.lib and odbccp32.lib
38994         * support/scripts/winres.h:
38995           added for compilation with Visual C++ 2005 Express Edition
38997 2007-08-09 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
38999         * device/include/mcs51/at89c51ed.h: Fixed typo in declarations of CKCON0
39000           and CKCON1.
39002 2007-08-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39004         * sdccconf_in.h: update the endian test so that SPARC Solaris
39005           does not throw syntax errors
39007 2007-08-06 Borut Razem <borut.razem AT siol.net>
39009         * doc/sdccman.lyx: removed two index entries which prevented the
39010           generation of sdcc doc archive
39012 2007-08-05 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39014         * doc/sdccman.lyx: Same changes made 2007-07-28 but using lyx 1.4.4
39015           instead of lyx 1.5.0.
39017 2007-07-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39019         * device/include/hc08/mc68hc908apxx.h: new header contributed by
39020           Lucas Loizaga, with minor modifications. Thanks!
39022 2007-07-28 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39024         * doc/sdccman.lyx: Documented --acall-ajmp and described new features
39025           in sdcclib.
39027 2007-07-28 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39029         * src/SDCCglobl.h, src/SDCCpeeph.c, src/SDCCglue.c, src/mcs51/main.c,
39030           src/mcs51/peeph.def: Added option --acall-ajmp: replaces lcall/ljmp
39031           with acall/ajmp.
39033 2007-07-22 Borut Razem <borut.razem AT siol.net>
39035         * configure.in, configure: re-introduced .version
39036         * sdcc.spec, doc/INSTALL.txt: they are used only for releases;
39037           the version reverted to 2.7.0
39039 2007-07-18 Maarten Brock <sourceforge.brock AT dse.nl>
39041         * configure.in,
39042         * doc/sdccman.lyx: bumped version to 2.7.3
39043         * device/include/mcs51/compiler.h: fixed elif->else
39044         * src/mcs51/gen.c (genAnd, genOr): handle accuse for pure bit operands
39045         * src/mcs51/ralloc.c (createStackSpil): fixed SCLS bug with sloc for sbit,
39046           (operandUsesAcc, packRegsForAccUse): added parameter allowBitspace to
39047            enable accuse for bit operands
39048         * src/SDCCmain.c (printVersionInfo),
39049         * src/SDCCutil.c (getBuildEnvironment): factored out creation of build
39050           environment descriptor
39051         * src/SDCCutil.h: added getBuildEnvironment
39052         * src/SDCCglue.c (initialComments): use getBuildEnvironment
39053         * support/regression/tests/bug1464657.c: enabled test test_Peephole251
39054         * support/regression/tests/bug-408972.c: enabled test leftShiftLong
39055         * support/regression/tests/bug1348008.c,
39056         * support/regression/tests/bug1496419.c,
39057         * support/regression/tests/bug1503067.c,
39058         * support/regression/tests/preproc.c: added empty tests
39060 2007-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
39062         * support/regression/tests/bug1678803.c: new, added
39064 2007-07-14 Maarten Brock <sourceforge.brock AT dse.nl>
39066         * as/link/aslink.h,
39067         * as/link/hc08/lkihx.c,
39068         * as/link/hc08/lkrloc.c,
39069         * as/link/mcs51/lkihx.c,
39070         * as/link/mcs51/lkrloc.c: renamed ihxEntendedLinearAddress to
39071           ihxExtendedLinearAddress
39072         * as/link/mcs51/lkrloc.c (relr),
39073         * as/mcs51/asout.c (outr11, outr19): handle absolute destination for
39074           acall/ajmp, see bug 830513
39076 2007-07-13 Maarten Brock <sourceforge.brock AT dse.nl>
39078         * src/SDCCcse.c (replaceAllSymBySym): renamed siaddr to isaddr,
39079           (cseBBlock): remember aggr2ptr has been used
39080         * src/SDCCicode.c (operandSize): added function to handle aggr2ptr,
39081           (geniCodeAssign): fixed bug 868103
39082         * src/SDCCicode.h: made operand.aggr2ptr 2 bits wide,
39083           added operandSize prototype
39084         * src/mcs51/gen.c (aopOp): use operandSize to fix bug 868103,
39085           (genDataPointerSet): use max of size of right and result,
39086           (gencjne): added parameter useCarry for optimization,
39087           (genCmpEq): use carry if appropriate,
39088           (genXor): check if operand already in carry
39089         * support/regression/tests/bug-868103.c: enabled test
39091 2007-07-12 Raphael Neider <rneider AT web.de>
39093         * src/pic16/gen.c (genNearPointerSet): fixed handling of literals
39095 2007-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
39097         * src/SDCCsymt.c (compareType): fixed bugs 1738367 and 1745717 with patch
39098           from Robert Larice, thanks
39099         * support/regression/tests/bitopcse.c,
39100         * support/regression/tests/bitvars.c,
39101         * support/regression/tests/bug-908454.c: use <stdbool.h> for the bit types
39102         * support/regression/tests/bug-927659.c: enabled test for z80
39103         * support/regression/tests/bug1738367.c: added extra tests by Frieder
39104         * support/regression/tests/bug1745717.c: new, added
39105         * support/regression/tests/literalop.c,
39106         * support/regression/tests/nullstring.c: removed storage definitions that
39107           are now in testfwk.h
39109 2007-07-10 Maarten Brock <sourceforge.brock AT dse.nl>
39111         * device/include/stdbool.h: do not define __bool_true_false_are_defined
39112           and bool for targets that do not fully support it.
39113         * support/regression/tests/bug1546986.c,
39114         * support/regression/tests/bug1723128.c,
39115         * support/regression/tests/bug1734654.c,
39116         * support/regression/tests/bug1738367.c,
39117         * support/regression/tests/constantRange.c: only use bool if allowed
39119 2007-07-09 Maarten Brock <sourceforge.brock AT dse.nl>
39121         * src/mcs51/peep.c (isCallerSaveFunc): fixed bug 1749275, thanks Robert
39122           Larice, also handle function pointers
39123         * support/regression/tests/bug1749275.c: new, added
39125 2007-07-03 Borut Razem <borut.razem AT siol.net>
39127         * src/mcs51/gen.c, src/avr/gen.c, src/pic/gen.c, src/z80/gen.c,
39128           src/pic16/gen.c, src/hc08/gen.c, src/ds390/gen.c: fixed RFE
39129           #1746528: SDCC should ignore ':' in inline assembler comments
39130         * device/include/typeof.h: fixed bug #1747142: typeof.h needs fixing
39132 2007-07-02 Maarten Brock <sourceforge.brock AT dse.nl>
39134         * device/include/mcs51/C8051F360.h: fixed bug #1746410, thanks Chris Jones
39135         * device/lib/mcs51/crtxclear.asm: do not set __XPAGE unconditionally
39137 2007-06-29 Borut Razem <borut.razem AT siol.net>
39139         * src/SDCCmain.c: fixed bug
39140           #1744746: SDCC #4867: broken option --xram-size
39142 2007-06-28 Borut Razem <borut.razem AT siol.net>
39144         * sim/ucsim/configure.in, sim/ucsim/configure, sim/ucsim/ddconfig_in.h:
39145           find out the endianess of host machine for ucsim
39147 2007-06-27 Borut Razem <borut.razem AT siol.net>
39149         * support/regression/generate-cases.py: corrected the file name
39150           in warning
39151         * configure.in, configure, sdccconf_in.h: find out the endianess of
39152           host machine
39153         * src/SDCC.y: fixed bug #1744146: Crash when compiling array of
39154           negative size
39156 2007-06-27 Gudjon I. Gudjonsson <gudjon AT gudjon.org>
39158         * device/include/mcs51/p89c66x.h: NXP header file, OK to change licence
39160 2007-06-26 Borut Razem <borut.razem AT siol.net>
39162         * support/regression/generate-cases.py: display warning if function
39163           list is empty; implemented more flexible rule for detection of
39164           testing functions, allowing return type 'void' in the same line as
39165           the function name in the function definition
39166         * support/regression/tests/bug-1654060.c: corrected test
39167         * support/librarian/sdcclib.c: fixed warning:
39168           format '%s' expects type 'char *', but argument 2 has type 'int'
39170 2007-06-25 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39172         * support/librarian/sdcclib.c: Added feature Requests [1510635]
39173           Multiple infiles for sdcclib.
39175 2007-06-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39177         * src/SDCCast.c (inlineFindMaxBlockno, createFunction): fixed
39178           bug 1731741
39180 2007-06-18 Borut Razem <borut.razem AT siol.net>
39182         * src/SDCCmain.c: removed option -C since SDCC compiler doesn't know
39183           how to handle comments, so they have to be removed by the
39184           preprocessor; fixed bug #1738926:SDCC #4852: broken option -V
39185         * src/SDCCmain.c, src/SDCCargs.h, src/ds390/main.c, src/mcs15/main.c,
39186           src/pic16/main.c, src/pic/main.c, src/z80/main.c,
39187           support/Util/SDCCerr.c, support/Util/SDCCerr.h:
39188           table driven option hadling
39190 2007-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
39192         * src/SDCCast.c (decorateType),
39193         * src/SDCCicode.c (geniCodeConditional): moved optimization for '?' from
39194           iCode to ast level to fix bug 1738367
39195         * support/regression/tests/bug1738367.c: new, added
39197 2007-06-15 Raphael Neider <rneider AT web.de>
39199         * src/pic16/devices.inc,
39200         * device/lib/pic16/pics.all,
39201         * device/include/pic16/pic18fregs.h,
39202         * device/include/pic16/pic18f[24][45]20.h,
39203         * device/lib/pic16/libdev/pic18f[24][45]20.c: added support for
39204           18f2420, 18f2520, and 18f4420 devices, updated 18f4520 definitions
39205         * device/lib/pic16/Makefile.in: faster cleanup
39207 2007-06-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39209         * src/mcs51/peeph.def: added 177.i (mov from a is slightly cheaper)
39211 2007-06-13 Raphael Neider <rneider AT web.de>
39213         * src/SDCCmain.c: prevent NULL pointer dereference, avoid warning
39215 2007-06-12 Raphael Neider <rneider AT web.de>
39217         * support/scripts/inc2h.pl: conditionally emit defines for SFR bits,
39218           suppress bit defines if NO_BIT_DEFINES is #define'd
39219         * device/include/pic/pic*.h: recreated all headers to include
39220           conditional bit defines
39221         * device/include/pic/pic16f886.h,
39222         * device/include/pic/pic16f887.h: fixed based on newer .inc file
39223         * device/include/pic/recreate.sh: script to recreate the complete
39224           device library files based on the currently supported devices
39226 2007-06-12 Borut Razem <borut.razem AT siol.net>
39228         * src/pic16/main.c, src/SDCCargs.h, SDCCmain.c,
39229           support/regression/Makefile.in, support/scripts/build.mak,
39230           support/scripts/Makefile.snapshot:
39231           use new svn URL scheme
39232         * doc/sdccman.lyx: SDCC Wiki moved to
39233           http://sdcc.wiki.sourceforge.net/
39235 2007-06-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39237         * src/mcs51/peeph.def: disabled rule 132.d to fix #1734654
39238         * support/regression/tests/bug1734654.c: added
39240 2007-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
39242         * src/SDCCast.c (decorateType): optimized '?' for equal operands
39243         * src/SDCCicode.c (geniCodeConditional): optimization for bit result
39244           with literal operands
39246 2007-06-10 Borut Razem <borut.razem AT siol.net>
39248         * as/link/z80/lklibr.c: fixed mingw build warning
39249           lklibr.c:575: warning: implicit declaration of function 'tolower'
39250         * src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c,
39251           src/z80/main.c: move target specific options from src/SDCCmain.c
39252           to src/<target>/main.c
39254 2007-06-09 Borut Razem <borut.razem AT siol.net>
39256         * src/z80/gen.c: fixed bug #1294691: nested ifs make compiler crash;
39257           removed unused swap_sense; removed outBitCLong, replaced with outBitC
39258         * support/regression/tests/bug-1294691.c: added
39260 2007-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
39262         * src/SDCCmem.c (allocDefault): removed check sym->level==0 for SPEC_ABSA,
39263           can also be static, fixes bug 1733438
39264         * src/SDCCsymt.c (checkSClass): static local vars in reentrant funcs can
39265           have absolute address too
39266           (computeType): added optimization for 'cond ? true : false'
39267         * support/regression/tests/absolute.c: added test for static absolute var
39269 2007-06-08 Raphael Neider <rneider AT web.de>
39271         * src/regression/Makefile: suppress parallel builds, allow easy
39272           switching between pic14/pic16 ports
39273         * src/regression/picregs.h: added pic14/16 header file switch
39274         * src/regression/{compare7.c,compare8.c,compare9.c,compare10.c,
39275           inline.c,nestfor.c,string1.c}: include "picregs.h"
39277 2007-06-07 Borut Razem <borut.razem AT siol.net>
39279         * sim/ucsim/*.[ch], sim/ucsim/configure, sim/ucsim/configure.in:
39280           permanent solution to suppress GCC 4.2.0 c++ warning:
39281           deprecated conversion from string constant to `char *'
39282           use 'const char *' where ever required
39283         * support/regression/generate-cases.py: implemented more flexible rule
39284           for detection of testing functions, allowing white-spaces surrounding
39285           the function name and the 'void' parameter.
39286         * support/regression/tests/constantRange.c,
39287           support/regression/tests/scott-compare3.c: fixed failing regression
39288           tests, uncovered by implementation of more flexible rule for detection
39289           of testing functions
39291 2007-06-04 Maarten Brock <sourceforge.brock AT dse.nl>
39293         * src/SDCCast.c(decorateType): better optimize '!!' and comparisons
39295 2007-06-04 Borut Razem <borut.razem AT siol.net>
39297         * configure.in, configure, config_vc.awk: sdcc version number is now
39298           stored in configure.in; removed .version
39299         * configure.in, configure, sdcc.spec, doc/sdccman.lyx, doc/sdccman.lyx,
39300           doc/INSTALL.txt: version bumped to 2.7.2
39301         * sim/ucsim/configure.in, sim/ucsim/configure:
39302           use "read" to read from .version
39304 2007-06-03 Borut Razem <borut.razem AT siol.net>
39306         * */Makefile.in: removed annoying warning:
39307           Makefile:xx: Makefile.dep: No such file or directory
39309 2007-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
39311         * src/mcs51/gen.c (outBitC, genRet): used IS_OP_RUONLY,
39312           (genNot, genXor): used toCarry, also fixes a bug for c = bit ^ val
39313         * src/mcs51/ralloc.c: removed IS_OP_RUONLY + some cosmetic changes
39314         * src/SDCCast.c (resultTypePropagate): propagate for '!',
39315           (decorateType): also optimize comparisons with RESULT_TYPE_BIT,
39316           bugfix: only use newBoolLink for bit result type
39317         * src/SDCCicode.c (geniCodeLogic): added param tree,
39318           bugfix: use newBoolLink if tree is bit type, bug appears when ruonly,
39319           (geniCodeLogicAndOr): use IS_BIT,
39320           (geniCodeJumpTable, geniCodeSwitch): added NULL param to geniCodeLogic,
39321           (ast2iCode): added tree param to geniCodeLogic for comparisons
39322         * src/SDCCsymt.h: added IS_OP_RUONLY and IS_OP_ACCUSE
39323         * support/regression/tests/bug1723128.c: added test NotZero
39325 2007-06-01 Borut Razem <borut.razem AT siol.net>
39327         * SDCPP synchronized with GCC CPP release version 4.2.0,
39328           currently the latest release:
39329         * support/cpp2/c-incpath.c, support/cpp2/c-incpath.h,
39330           support/cpp2/c-ppoutput.c, support/cpp2/cppdefault.c,
39331           support/cpp2/cppdefault.h, support/cpp2/except.h,
39332           support/cpp2/libcpp/directives.c, support/cpp2/libcpp/expr.c,
39333           support/cpp2/libcpp/files.c, support/cpp2/libcpp/include/cpplib.h,
39334           support/cpp2/libcpp/init.c, support/cpp2/libcpp/internal.h,
39335           support/cpp2/libcpp/lex.c, support/cpp2/libcpp/macro.c,
39336           support/cpp2/libcpp/mkdeps.c, support/cpp2/libiberty/getpwd.c,
39337           support/cpp2/libiberty/hashtab.c, support/cpp2/optc-gen.awk,
39338           support/cpp2/opth-gen.awk, support/cpp2/opts.c,
39339           support/cpp2/opts.h, support/cpp2/output.h,
39340           support/cpp2/prefix.c, support/cpp2/sdcpp-opts.c,
39341           support/cpp2/sdcpp.dsp, support/cpp2/sdcpp.opt,
39342           support/cpp2/system.h, support/cpp2/version.c,
39343           support/cpp2/Makefile.in: modified
39344         * support/cpp2/opts-common.c: added
39345         * device/lib/pic16/libdev/pic18f[24][45]j10.c: fixed svn atrributes
39346         * device/lib/pic16/libdev/pic18f[24]5j10.c:
39347           search for included source file in local directory
39348         * sim/ucsim/configure, sim/ucsim/configure.in:
39349           temporary solution to suppress GCC 4.2.0 c++ warning:
39350           deprecated conversion from string constant to `char *'
39352 2007-06-01 Raphael Neider <rneider AT web.de>
39354         * device/lib/pic/libdev/pic12f683.c,
39355         * device/include/pic/pic12f683.h: added GPIO bits
39357 2007-06-01 Raphael Neider <rneider AT web.de>
39359         * doc/sdccman.lyx: added --disable-pic16-port, fixed some `--' and
39360           quotation marks, clarified role of PIC14 vs. PIC16 ports
39361         * src/pic16/devices.inc,
39362         * device/include/pic16/pic18fregs.h,
39363         * device/include/pic16/pic18f[24][45]j10.h,
39364         * device/lib/pic16/pics.all,
39365         * device/lib/pic16/libdev/pic18f[24][45]j10.c: added support for
39366           18f24j10, 18f25j10, 18f44j10, and 18f45j10
39367         * device/lib/pic16/libio/{i2c,adc,usart}.ignore: do not build IO libs
39368           for new devices as they are not yet supported by gputils
39370 2007-05-31 Borut Razem <borut.razem AT siol.net>
39372         * Small Device C Compiler 2.7.0 released
39373         * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
39374           changed sdcc version to 2.7.1
39375         * support/scripts/sdcc.nsi: added How to create WIN32 release
39376           setup.exe package
39378 2007-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
39380         * doc/sdccman.lyx: documented initialization and allocation of absolute
39381           variables, bit parameter passing, the need for function pointers to be
39382           reentrant and alpha quality support of inline and retrict
39384 2007-05-26 Borut Razem <borut.razem AT siol.net>
39386         * support/regression/tests/bug1057979.c, support/regression/tests/malloc.c,
39387           support/regression/fwk/include/testfwk.h: fixed compilation on Mac OS x
39388         * docs/knownbugs.html: updated
39390 2007-05-25 Maarten Brock <sourceforge.brock AT dse.nl>
39392         * doc/sdccman.lyx: inserted footnotes about inline assembler labels,
39393           thanks Jan Waclawek
39394         * src/mcs51/gen.c (aopPut): fixed part of bug 1723128 when result is
39395           AOP_CRY and ruonly
39396           (gencjneshort): optimized when left is AOP_DIR
39397         * src/SDCCglue.c (printIvalStruct): fixed other part of bug 1723128 for
39398           initializing unions in a struct/array
39399         * support/regression/fwk/include/testfwk.h: added defines for data, near
39400           and far for host and z80
39401         * support/regression/tests/bug1723128.c: new, added
39403 2007-05-22 Borut Razem <borut.razem AT siol.net>
39405         * doc/knownbugs.html: updated
39407 2007-05-21 Raphael Neider <rneider AT web.de>
39409         * src/pic16/glue.c (pic16_initPointer): avoid assertion, emit better
39410           error message instead
39411         * src/pic/pcoderegs.c (pCodeOptime2pCodes): keep register state intact
39413 2007-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
39415         * src/mcs51/peeph.def (257.b): disabled to fix bug 1721024
39417 2007-05-21 Raphael Neider <rneider AT web.de>
39419         * src/pic/pcoderegs.c (pCodeOptime2pCodes): fixed bogus optimization,
39420           closes #1722392
39421         * src/regression/gpsim_assert.h,
39422         * src/regression/Makefile,
39423         * src/regression/pcodeopt.c: regression test for the above fix
39425 2007-05-11 Maarten Brock <sourceforge.brock AT dse.nl>
39427         * src/SDCCpeeph.c (labelIsUncondJump): ignore identical labels for
39428           jumps to self, fixed bug 1717281
39430 2007-05-10 Borut Razem <borut.razem AT siol.net>
39432         * support/scripts/gen_known_bugs.pl: cosmetic fix
39433         * doc/knownbugs.html: generated by gen_known_bugs.pl
39435 2007-05-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39437         * src/SDCCast.c (createFunction): also generate non-inlined version of
39438           function for functions declared as "static inline"
39439         * src/SDCCast.c (fixupInline, inlineAddDecl): reset symbol state so
39440           function can be inlined after non-inlined version generated.
39442 2007-05-10 Borut Razem <borut.razem AT siol.net>
39444         * support/scripts/gen_known_bugs.pl: added script
39445           which generates knownbugs.html
39447 2007-05-09 Maarten Brock <sourceforge.brock AT dse.nl>
39449         * doc/knownbugs.html: updated for release 2.7.0
39451 2007-05-09 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39453         * device/include/mcs51/uPSD33xx.h: Added patch by Jan Waclawek.
39455 2007-05-08 Maarten Brock <sourceforge.brock AT dse.nl>
39457         * src/ds390/gen.c (emitcode): don't change properties of previous lines,
39458           (throughout): updated generating comments
39459         * src/mcs51/gen.c (emitcode): don't change properties of previous lines,
39460           (throughout): updated generating comments
39461         * src/SDCCpeeph.c (peepHole): continue searching at the first replaced
39462           rule instead of at the second, or it might skip lines when removing the
39463           complete match
39464         * support/regression/tests/bug1714204.c: changed test to foo
39466 2007-05-08 Borut Razem <borut.razem AT siol.net>
39468         * doc/sdccman.lyx: changed sdcc version to 2.7.0,
39469           thanks to SDCC Distributed Compile Farm members,
39470           added Z80 and GBZ80 command line options
39471         * .version, doc/INSTALL.txt, sdcc.spec: changed sdcc version to 2.7.0
39473 2007-05-08 Maarten Brock <sourceforge.brock AT dse.nl>
39475         * device/lib/mcs51/crtxinit.asm: added disabled version for dual dptr
39476         * device/include/mcs51/uPSD33xx.h: added sfr DPS as alias for DPTC
39477         * support/regression/tests/longlit.c: modified to be tested at all and
39478           to pass the actual test
39480 2007-05-07 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39482         * device/include/mcs51/uPSD33xx.h: Added.
39484 2007-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
39486         * device/lib/_gptrput.c,
39487         * device/lib/_gptrget.c: removed old code,
39488          (_gptrgetWord),
39489         * src/ds390/gen.c (genGenPointerGet): fixed bug 1714204
39490         * support/regression/tests/bug1714204.c: new, added
39492 2007-05-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39494         * support/regression/tests/regtrack.c: test was never executed
39495           because of the regression test being picky about white spaces.
39496         * device/lib/mcs51/crtclear.asm: added comment
39498 2007-05-06 Raphael Neider <rneider AT web.de>
39500         * device/lib/pic/Makefile.rules,
39501         * device/lib/pic16/Makefile.rules: make sure *.ignore file exists,
39502           made "&> /dev/null" redirection sh-safe ("> /dev/null 2>&1")
39504 2007-05-06 Raphael Neider <rneider AT web.de>
39506         * src/pic16/device.h,
39507         * src/pic16/main.h,
39508         * src/pic16/main.c (pic16_optionsTable,_pic16_parseOptions,
39509           _pic16_setDefaultOptions): removed/reordered command-line args
39510         * doc/sdccman.lyx: updated PIC14 and PIC16 documentation (supported
39511           devices, regrouped command line args, environment variables),
39512           clarified sone points, added sections on how to add devices to the
39513           PIC14/PIC16 ports
39515 2007-05-06 Maarten Brock <sourceforge.brock AT dse.nl>
39517         * src/z80/peeph.def: fixed bug in rule 2
39519 2007-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
39521         * src/port.h: added TARGET_MCS51_LIKE
39522         * src/SDCCpeeph.c (labelIsUncondJump): new, added, other targets could
39523           take advantage of it too
39524         * src/z80/gen.c (genIpush): push b, d or h directly instead of using a,
39525           (shiftR2Left2Result): Optimized: don't check shifting by 0
39526         * src/z80/peeph-z80.def,
39527         * src/z80/peeph.def: whole set of new rules by Philipp Krause with some
39528           modifications, see patch 1700823
39529         * src/mcs51/peep.c (): fixed bug 1712928
39530         * support/regression/tests/bug1712928.c: new, added
39532 2007-05-05 Borut Razem <borut.razem AT siol.net>
39534         * device/lib/pic16/Makefile.common.in,
39535           device/lib/pic/Makefile.common.in, sim/ucsim/cmd.src/Makefile.in:
39536           removed bash dependencies
39538 2007-05-01 Borut Razem <borut.razem AT siol.net>
39540         * src/SDCCicode.c:
39541           fixed bug #1710507: --i-code-in-asm makes compile fail
39542           all iCode comments are now one liners
39543         * src/mcs51/gen.c: fixed memory leak
39545 2007-05-01 Raphael Neider <rneider AT web.de>
39547         * device/lib/pic/libdev/*.c
39548         * device/include/pic/*.h: regenerated all device libs from updated
39549           .inc files
39550         * support/scripts/inc2h.pl: documented usage, now uses strict to
39551           catch more bugs
39553 2007-04-30 Borut Razem <borut.razem AT siol.net>
39555         * doc/sdccman.lyx:
39556           fixed bug #1669175: Problem with space in output paths
39557           documented how to use paths with spaces for Windows users
39559 2007-04-29 Borut Razem <borut.razem AT siol.net>
39561         * Fixed svn:eol-style and svn:keywords properties
39562         * src/SDCCval.c: fixed bug
39563           #1592871: Segfault with "large" const arrays of characters
39564           replaced recursion with iteration
39565         * Removed svn:executable property from non-executable files
39567 2007-04-29 Maarten Brock <sourceforge.brock AT dse.nl>
39569         * src/mcs51/gen.c (genRet): fixed bug 1707003
39571 2007-04-27 Raphael Neider <rneider AT web.de>
39573         * src/pic16/pcode.c (pBlockRemoveUnusedLabels,pic16_pBlockAddInval,
39574           createReachingDefinitions,assignValnums,pic16_destructDF,
39575           pic16_createDF,pic16_vcg_dumpedges,pic16_vcg_dump_default):
39576           prevent NULL pointer dereferences
39577         * device/lib/pic/libdev/pic16f886.c,
39578         * device/lib/pic/libdev/pic16f887.c: svn mv'ed to disabled_* to
39579           prevent building them, gputils do not really support them yet
39581 2007-04-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39583         * device/lib/_ltoa.c: 36 bytes less __data mem. This really
39584           helps printf_small. 32 bytes more __idata mem.
39586 2007-04-27 Raphael Neider <rneider AT web.de>
39588         * src/pic/pcode.c (addpCode2pBlock,LinkFlow,pBlockRemoveUnusedLabels):
39589           return early when pb or pb->pcHead is NULL (patch #1708427)
39590         * src/regression/empty.c,
39591         * src/regression/Makefile: added test with empty functions
39592         * support/Util/SDCCerr.c: fixed typo in E_INIT_STRUCT message
39594 2007-04-27 Borut Razem <borut.razem AT siol.net>
39596         * src/SDCCast.c: fixed feature request
39597           #1547512: Redundant strings linked when using sizeof("abc")
39599 2007-04-23 Borut Razem <borut.razem AT siol.net>
39601         * doc/sdccman.lyx, src/SDCCmain.c:
39602           peep-hole comments are generated only if --fverbose-asm option is
39603           specified and --no-peep-comments is not, as proposed by Frieder.
39604         * support/regression/Makefile.in: compile regression tests with
39605           --fverbose-asm option so one can "grep" whether a new (or an old)
39606           peephole is (still) applied; requested by Frieder.
39608 2007-04-23 Kevin Buettner <kevin AT buettner.to>
39610         * device/include/pic/pic16f886.h,
39611         * device/include/pic/pic16f887.h,
39612         * device/lib/pic/libdev/pic16f886.c,
39613         * device/lib/pic/libdev/pic16f887.c,
39614         * device/include/pic/pic14devices.txt,
39615         * device/lib/pic/libdev/devices.txt: Add 16f886 and 16f887.
39617 2007-04-23 Kevin Buettner <kevin AT buettner.to>
39619         * device/lib/pic/libsdcc/idata.c: PAGESEL _main before going there,
39620           fixes #1704666
39622 2007-04-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39624         * device/lib/_memset.c: assembler version for mcs51
39626 2007-04-22 Borut Razem <borut.razem AT siol.net>
39628         * support/scripts/listerr.c: program to create the list of errors and
39629           warnings list from - added
39630         * doc/sdccman.lyx: removed the note
39631           "For list of warnings and corresponding codes, see err_warn.txt"
39632         * src/SDCCsymt.c: fixed bug #1699804:
39633           Bug with some uses of sizeof(static local array) (MCS51)
39634         * support/regression/tests/bug-1699804.c: added
39636 2007-04-20 Maarten Brock <sourceforge.brock AT dse.nl>
39638         * as/mcs51/asmain.c (search_path_append, search_path_fopen): new, added,
39639           (main): added option -i,
39640           (asmbl, case S_INCL): use search_path_fopen,
39641           mostly from patch 1579668 by Peter Miller, thanks
39642         * src/z80/main.c: fixed typo --callee-saves-bc
39643         * device/include/mcs51/compiler.h: added sfrword for Tasking
39645 2007-04-20 Borut Razem <borut.razem AT siol.net>
39647         * src/z80/main.c: replaced reserved keyword asm with asmblr
39649 2007-04-19 Borut Razem <borut.razem AT siol.net>
39651         * src/port.h: use const pointers to strings
39652         * src/SDCCargs.h: declared getStringArg() and getIntArg()
39653         * src/pic16/main.c: include SDCCargs.h
39654         * src/SDCCglobl.h: code_seg and const_seg are not pointers to
39655           const char, since the strings are dynamically allocated
39656         * src/SDCCmain.c: options.code_seg and options.const_seg are
39657           dynamically allocated; check port specific command line options
39658           before the general ones
39659         * src/z80/main.c: fixed bug #1631895: codeseg/constseg #pragma fail
39661 2007-04-18 Maarten Brock <sourceforge.brock AT dse.nl>
39663         * device/include/ds400rom.h,
39664         * device/lib/ds390/lcd390.c,
39665         * device/lib/ds390/memcpyx.c,
39666         * device/lib/ds390/rtc390.c,
39667         * device/lib/ds400/ds400rom.c,
39668         * device/lib/ds400/memcpyx.c,
39669         * device/lib/hc08/_ret.c: more replacements of keywords with their
39670           double underscore equivalents
39671         * device/lib/ds390/Makefile.in,
39672         * device/lib/ds400/Makefile.in,
39673         * device/lib/gbz80/Makefile.in,
39674         * device/lib/hc08/Makefile.in,
39675         * device/lib/mcs51/Makefile.in,
39676         * device/lib/z80/Makefile.in: added --std-c89 to CFLAGS
39678 2007-04-17 Borut Razem <borut.razem AT siol.net>
39680         * doc/sdccman.lyx, src/SDCCmain.c, src/SDCCglobal.h, src/ds390/gen.c,
39681           src/hc08/gen.c, src/mcs51/gen.c, src/mcs51/rtrack.c:
39682           fixed #1493816: option --no-gen-comments: --no-gen-comments renamed
39683           to --fverbose-asm, to be gcc'ish
39685 2007-04-17 Maarten Brock <sourceforge.brock AT dse.nl>
39687         * src/mcs51/gen.c (aopOp): set size to 1 for ruonly, fixes bug 1699455
39689 2007-04-17 Borut Razem <borut.razem AT siol.net>
39691         * doc/sdccman.lyx: fixed #1701874: Mac OSX references in SDCC manual
39692         * device/lib/ds400/tinibios.c, device/lib/hc08/_divuint.c,
39693           device/lib/hc08/_divulong.c: replaced _asm and _endasm keywords
39694           with their double underscore equivalent
39696 2007-04-14 Borut Razem <borut.razem AT siol.net>
39698         * doc/sdccman.lyx: some additional "freeware" replaced with "free open
39699           source"
39701 2007-04-13 Borut Razem <borut.razem AT siol.net>
39703         * doc/sdccman.lyx: -pedantic-parse-number is not in conformance with
39704           C99 standard
39705         * device/examples/serialcomm/windows/serial.[ch],
39706           device/examples/serialcomm/windows/test_serialcomm.cpp:
39707           updated by Bela Torok
39708         * device/examples/serialcomm/windows/serialcomm.dsw,
39709           device/examples/serialcomm/windows/serialcomm.dsp: added
39711 2007-04-13 Jan Waclawek <wek AT efton.sk>
39713         * doc/sdccman.lyx: additions and changes at various places
39714           (submitted as #1697136).
39715           (svn commit by Frieder Ferlemann <Frieder.Ferlemann AT web.de>)
39717 2007-04-10 Borut Razem <borut.razem AT siol.net>
39719         * doc/cdbfileformat.lyx, doc/sdccman.lyx, doc/test_suite_spec.lyx:
39720           LyX file format changed to 245
39721         * doc/sdccman.lyx, doc/README.txt, sdc/SDCC.lex, src/SDCCglue.c:
39722           "FreeWare" replaced with "free open source"
39724 2007-04-10 Maarten Brock <sourceforge.brock AT dse.nl>
39726         * device/include/mcs51/C8051F120.h: added some defines for bits in RSTSRC
39728 2007-04-08 Maarten Brock <sourceforge.brock AT dse.nl>
39730         * device/include/pic16/pic18fregs.h,
39731         * device/lib/_bp.c,
39732         * device/lib/_decdptr.c,
39733         * device/lib/_divsint.c,
39734         * device/lib/_divslong.c,
39735         * device/lib/_divuint.c,
39736         * device/lib/_divulong.c,
39737         * device/lib/_fs2schar.c,
39738         * device/lib/_fs2sint.c,
39739         * device/lib/_fs2slong.c,
39740         * device/lib/_fs2uchar.c,
39741         * device/lib/_fs2uint.c,
39742         * device/lib/_fs2ulong.c,
39743         * device/lib/_fsadd.c,
39744         * device/lib/_fscmp.c,
39745         * device/lib/_fsdiv.c,
39746         * device/lib/_fseq.c,
39747         * device/lib/_fsget1arg.c,
39748         * device/lib/_fsget2args.c,
39749         * device/lib/_fsgt.c,
39750         * device/lib/_fslt.c,
39751         * device/lib/_fsmul.c,
39752         * device/lib/_fsneq.c,
39753         * device/lib/_fsnormalize.c,
39754         * device/lib/_fsreturnval.c,
39755         * device/lib/_fsrshift.c,
39756         * device/lib/_fssub.c,
39757         * device/lib/_fsswapargs.c,
39758         * device/lib/_gptrget.c,
39759         * device/lib/_gptrgetc.c,
39760         * device/lib/_gptrput.c,
39761         * device/lib/_logexpf.c,
39762         * device/lib/_modsint.c,
39763         * device/lib/_modslong.c,
39764         * device/lib/_moduint.c,
39765         * device/lib/_modulong.c,
39766         * device/lib/_mulint.c,
39767         * device/lib/_mullong.c,
39768         * device/lib/_schar2fs.c,
39769         * device/lib/_ser.c,
39770         * device/lib/_setjmp.c,
39771         * device/lib/_sint2fs.c,
39772         * device/lib/_slong2fs.c,
39773         * device/lib/_spx.c,
39774         * device/lib/_uchar2fs.c,
39775         * device/lib/_uint2fs.c,
39776         * device/lib/_ulong2fs.c,
39777         * device/lib/asincosf.c,
39778         * device/lib/atanf.c,
39779         * device/lib/calloc.c,
39780         * device/lib/ds390/tinibios.c,
39781         * device/lib/ds400/tinibios.c,
39782         * device/lib/expf.c,
39783         * device/lib/free.c,
39784         * device/lib/hc08/_mulint.c,
39785         * device/lib/logf.c,
39786         * device/lib/malloc.c,
39787         * device/lib/printf_fast.c,
39788         * device/lib/printf_tiny.c,
39789         * device/lib/printfl.c,
39790         * device/lib/realloc.c,
39791         * device/lib/ser_ir.c,
39792         * device/lib/serial.c,
39793         * support/regression/tests/libmullong.c: replaced all special keywords
39794           with their double underscore equivalent
39795         * support/regression/ports/mcs51-xstack-auto/spec.mk,
39796         * device/lib/Makefile.in: compile libs with --std-c99 instead of
39797           --std-sdcc99
39798         * src/mcs51/gen.c (outBitC): don't store if result is return-use-only,
39799           (genRet): if the bit-symbol is ruonly it already is in the carry
39800         * src/mcs51/ralloc.c (regTypeNum): make regType REG_CND for ruonly bit
39801         * src/SDCCast.c (createFunction): applied patch 887171 by Stas Sergeev
39802         * src/SDCCicode.c (ast2iCode): '!', GETHBIT, GETABIT: only set operand
39803           type UCHAR if dest is not bit
39805 2007-04-03 Maarten Brock <sourceforge.brock AT dse.nl>
39807         * device/include/math.h,
39808         * device/lib/cotf.c,
39809         * device/lib/expf.c,
39810         * device/lib/sincoshf.c: changed XMAX to C99 HUGE_VALF
39812 2007-04-01 Borut Razem <borut.razem AT siol.net>
39814         * src/SDCC.lex, src/SDCCmain.c, support/cpp2/sdcpp.c:
39815           fixed bug #1692042: input buffer overflow...scanner uses REJECT
39816         * support/cpp2/sdcpp.c: fixed recursion bug - internal_error() called
39817           gcc_unreachable() called internal_error()...
39819 2007-03-30 Raphael Neider <rneider AT web.de>
39821         * src/pic/ralloc.c (isData): suppress garbage debug output
39823 2007-03-28 Borut Razem <borut.razem AT siol.net>
39825         * doc/sdccman.lyx:
39826           "Nightly Snapshots" replaced with "Snapshot Builds", since the SDCC
39827           is developed, built and used worldwide, and the word "night" doesn't
39828           make any sense.
39830 2007-03-28 Maarten Brock <sourceforge.brock AT dse.nl>
39832         * device/include/mcs51/C8051F360.h: new, added
39833         * device/include/mcs51/C8051F520.h: fixed buggy sbit addresses SPI0CN
39835 2007-03-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39837         * src/SDCC.y (declaration_specifiers, function_specifier),
39838         * support/Util/SDCCerr.c,
39839         * support/Util/SDCCerr.h,
39840         * src/SDCCsymt.h,
39841         * src/SDCCsymt.c (mergeSpec, checkFunction): Parse and validate the
39842           inline keyword
39843         * src/SDCCmem.c (deallocParms),
39844         * src/SDCCast.c: support for function inlining, not quite complete
39845         * src/SDCCsymt.c (printTypeChain, printTypeChainRaw): display
39846           'restrict' qualifier
39848 2007-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
39850         * src/mcs51/gen.c (saveRegisters, unsaveRegisters): free some bitVects,
39851           (saveRBank, unsaveRBank): don't save bits,
39852           (genFunction, genEndFunction): save bits exactly once, fix bug 1535242
39853         * support/regression/tests/bug1535242.c: new, added
39854         * device/include/assert.h: applied patch 1686533 to fix bug 1686528,
39855           thanks Alexey Shamrin <shamrin AT gmail.com>,
39856           made assert.h header ANSI compliant (added a check for NDEBUG macro,
39857           removed header guard)
39858         * .version,
39859         * sdcc.spec: bumped version to 2.6.5
39860         * src/SDCCmain.c(parseCmdLine): fixed bug 1677144
39862 2007-03-22 Borut Razem <borut.razem AT siol.net>
39864         * debugger/mcs51/cmd.c, debugger/mcs51/sdcdb.c:
39865           fixed bug #1653671: sdcdb integration into ddd is broken
39867 2007-03-22 Raphael Neider <rneider AT web.de>
39869         * src/pic/gen.c (popGetExternal): augmented to also create references
39870           to external variables (not only labels),
39871           (genCall): comment on plan to reduce PAGESEL overhead,
39872           (genFunction, genEndFunction): also save/restore FSR around interrupt
39873           handling code, removed lots of unused code
39874           (genDivOneByte): release acquired temp register
39875         * src/pic/glue.c (pic14createInterruptVect): adapt to new signature
39876           of popGetExternal
39877         * device/lib/pic/libsdcc/shadowregs.c: NEW, provide storage location
39878           for registers that need to be saved during interrupts (FSR, STATUS,
39879           PCLATH; W needs special handling), currently only FSR is used
39881 2007-03-22 Raphael Neider <rneider AT web.de>
39883         * device/include/pic/pic14devices.txt: 16f688 has only one config word
39885 2007-03-19 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39887         * /as/link/mcs51/aslink.dsp: Object extension for mcs51 is 'rel' not 'o'.
39889 2007-03-17 Maarten Brock <sourceforge.brock AT dse.nl>
39891         * src/mcs51/peeph.def (263.x): fixed bug for volatile variables
39893 2007-03-14 Maarten Brock <sourceforge.brock AT dse.nl>
39895         * as/link/aslink.h: added LKOBJEXT
39896         * as/link/hc08/link_hc08.dsp,
39897         * as/link/hc08/Makefile.bcc,
39898         * as/link/hc08/Makefile.in,
39899         * as/link/mcs51/aslink.dsp,
39900         * as/link/mcs51/Makefile.bcc,
39901         * as/link/mcs51/Makefile.in: moved lkamof51.c and lkdata.c
39902         * as/link/hc08/lkaomf51.c, as/link/mcs51/lkaomf51.c,
39903         * as/link/lkaomf51.c: merged and moved
39904         * as/link/hc08/lkdata.c, as/link/mcs51/lkdata.c,
39905         * as/link/z80/lkdata.c,
39906         * as/link/lkdata.c: merged and moved
39907         * as/link/hc08/lkmain.c,
39908         * as/link/mcs51/lkmain.c: cosmetic changes
39909         * as/link/z80/lkeval.c, as/link/lkeval.c: merged
39910         * as/link/lklex.c: use LKOBJEXT
39911         * as/link/z80/lklist.c, as/link/lklist.c: merged,
39912           ANSI-fied functions, removed bubble-sorts
39913         * as/link/z80/lksym.c, as/link/lksym.c: merged,
39914           ANSI-fied functions
39915         * as/link/z80/linkgbz80.dsp,
39916         * as/link/z80/linkz80.dsp,
39917         * as/link/z80/Makefile.in: added lkaomf51.c and lknoice.c,
39918           moved lkdata.c, lkeval.c, lkhead.c, lklex.x, lklist.c, lksym.c
39919         * as/link/z80/lkhead.c,
39920         * as/link/z80/lklex.c: deleted
39921         * as/link/z80/lklibr.c: moved LKOBJEXT to aslink.h
39922         * as/link/z80/lkmain.c: added copyfile()
39924 2007-03-13 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39926         * device/include/mcs51/P89LPC925.h: Added missing P1_6 and P1_7.
39928 2007-03-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39930         * device/lib/_strlen.c: assembler version for mcs51
39932 2007-03-13 Raphael Neider <rneider AT web.de>
39934         * device/include/pic16/pic18f2221.h,
39935         * device/include/pic16/pic18f2321.h,
39936         * device/include/pic16/pic18f2331.h,
39937         * device/include/pic16/pic18f4221.h,
39938         * device/include/pic16/pic18f4321.h,
39939         * device/include/pic16/pic18f4331.h: fixed config byte location names
39940         * support/scripts/inc2h-pic16.pl: removed debug output, emit
39941           consistently named config byte locations
39943 2007-03-13 Borut Razem <borut.razem AT siol.net>
39945         * src/Makefile.in, sim/ucsim/avr.src/Makefile.in,
39946           sim/ucsim/hc08.src/Makefile.in, sim/ucsim/s51.src/Makefile.in,
39947           sim/ucsim/xa.src/Makefile.in, sim/ucsim/z80.src/Makefile.in,
39948           as/link/z80/Makefile.in, as/z80/Makefile.in:
39949           introduced LDFLAGS
39951 2007-03-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39953         * device/lib/printfl.c: 13 bytes less __data mem (12 more __idata)
39954         * device/lib/printf_large.c: pointer was converted to generic
39955         pointer for mcs51 models other than model-small (Maarten noticed)
39957 2007-03-10 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39959         * device/include/mcs51/ADuC84x.h: Added.
39961 2007-03-10 Borut Razem <borut.razem AT siol.net>
39963         * src/SDCC.lex, src/SDCCutil.[ch], src/SDCCval:
39964           fixed RFE #1624219: double backslashes in filenames;
39965           functions hexEscape(), octalEscape() and copyStr() moved from
39966           SDCCval.c to SDCCutil.c and made them glovbally available
39968 2007-03-09 Borut Razem <borut.razem AT siol.net>
39970         * src/SDCC.lex, src/SDCCast.c. src/SDCCglobl.c, src/SDCCsymt.c,
39971           src/SDCCval.c: fixed bugs #1676768: Wrong line number reported and
39972           1673361: Missaligned comments in output files
39974 2007-03-09 Raphael Neider <rneider AT web.de>
39976         * device/include/pic/pic14devices.txt: fixed confsiz of 16f91[3467]
39978 2007-03-09 Raphael Neider <rneider AT web.de>
39980         * src/pic/gen.c,
39981         * src/pic/glue.c,
39982         * src/pic/ralloc.c: suppress undesired debug output
39983         * src/SDCCmain.c (linkEdit): initialize c to quieten compiler
39985 2007-03-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39987         * device/lib/printf_large.c: 6 bytes less __data mem (6 more __idata)
39989 2007-03-07 Borut Razem <borut.razem AT siol.net>
39991         * device/lib/pic16/libdev/pic18f[24][34]31.c:
39992           search include files in the current directory
39994 2007-03-04 Maarten Brock <sourceforge.brock AT dse.nl>
39996         * src/SDCCglue.c (emitMaps, glue),
39997         * src/SDCCmem.c (initMem, allocDefault): added x_abs for initialized
39998           absolute xdata
39999         * support/regression/tests/absolute.c: added xdata test
40001 2007-03-03 Maarten Brock <sourceforge.brock AT dse.nl>
40003         * src/SDCCmain.c (parseCmdLine): only set options.xstack_loc for mcs51,
40004           added condition to macro, fixes bug 1666080
40006 2007-03-02 Raphael Neider <rneider AT web.de>
40008         * src/pic/gen.c (genGenPointerSet): removed bogus assertion
40010 2007-02-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40012         * device/lib/mcs51/crtxclear.asm: pdata segment of 256 byte would not
40013         be cleared. Unconditionally set __XPAGE
40014         * src/hc08/gen.c: --no-gen-comments (RFE #1493816) for hc08
40016 2007-02-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40018         * src/SDCCglobl.h,
40019         * src/SDCCmain.c,
40020         * src/mcs51/gen.c,
40021         * src/mcs51/rtrack.c,
40022         * src/ds390/gen.c,
40023         * doc/sdccman.lyx: added --no-gen-comments
40024         * src/mcs51/peeph.def: added 192.b, disabled 185
40026 2007-02-25 Raphael Neider <rneider AT web.de>
40028         * src/pic16/gen.c (genCast): fixed typo
40029         * device/lib/pic16/Makefile.subdir: only install existing files
40030         * device/lib/pic16/libdev/Makefile.in: build serially, avoid races
40032 2007-02-25 Maarten Brock <sourceforge.brock AT dse.nl>
40034         * device/lib/mcs51/crtcall.asm: new, added for indirect calls
40035         * device/lib/mcs51/crtclear.asm,
40036         * device/lib/mcs51/crtxclear.asm: renumbered labels
40037         * device/lib/mcs51/Makefile.in: added crtcall.asm
40038         * doc/sdccman.lyx: documented mcs51 crt* library startup code
40039         * src/mcs51/gen.c (movc): removed,
40040           (aopGet, genPlusBits): clear a after loading the carry (possibly from
40041             acc.x or psw.x),
40042           (toCarry, genSend, genRet): added function toCarry,
40043           (genPcall): use "lcall @a+dptr" for functions w/o parameters,
40044           (assignBit, genAssign, genCast): added function assignBit
40045         * src/mcs51/Makefile.bcc: added rtrack.c
40046         * src/mcs51/ralloc.h: made valueKnown a bitfield
40047         * src/mcs51/rtrack.c (getReg, rtrackUpdate): added getReg,
40048           fixed "jbc acc" and "cpl acc" bug, enhanced "cjne", "jnz" and "djnz",
40049           disabled InvalidateAllRx for lcall __gptrput, added "xch a,rn"
40050         * src/pic/pcode.c (FixRegisterBanking): fixed warning used uninitialized
40051         * src/z80/gen.c: added AOP_IS_PAIRPTR,
40052           (_pop): only pop valid pairs, see gencjneshort,
40053           (gencjneshort): return pair that still needs to be popped, restructured,
40054           (gencjne, genCmpEq): call _pop
40056 2007-02-23 Raphael Neider <rneider AT web.de>
40058         * device/include/pic/pic14devices.txt: 16f684 has only one config word
40060 2007-02-22 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40062         * device/include/mcs51/P89LPC925.h: Added.
40064 2007-02-18 Raphael Neider <rneider AT web.de>
40066         * src/pic/glue.c (emitInitVal): fixed #1659894 (SIGSEGV on arrays)
40068 2007-02-17 Borut Razem <borut.razem AT siol.net>
40070         * support/cpp2/directives.c, support/cpp2/version.c:
40071           synchronized with GCC CPP 4.1.2
40073 2007-02-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40075         * src/mcs51/rtrack.h,
40076         * src/mcs51/rtrack.c: added register tracking for the mcs51 port,
40077           by checking the strings passed by emitcode() to the assembler.
40078           Feel free to change. This in part addresses RFE #482179.
40079           Set environment variable SDCC_RTRACK to enable.
40080         * src/mcs51/gen.c: inserted hooks
40081         * src/mcs51/ralloc.h: added two members to struct regs
40082         * support/regression/tests/regtrack.c: added
40084 2007-02-14 Borut Razem <borut.razem AT siol.net>
40086         * src/SDCC.y: fixed bug #1291133: duplicate members across enum(s)
40087         * Makefile.in: applied patch from Makefile related part of
40088           #1469393: Compiler does not initialize static data
40090 2007-02-12 Maarten Brock <sourceforge.brock AT dse.nl>
40092         * src/SDCCicode.c (geniCodeAssign): return (itemp) right instead of left
40093           for better fix of bug 1273984, compiles pic16 rand.c
40095 2007-02-12 Borut Razem <borut.razem AT siol.net>
40097         * src/pic16/main.c: fixed pic16 standard library directory bug
40099 2007-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
40101         * src/hc08/gen.c (genSwap): fix swap regression test
40103 2007-02-10 Borut Razem <borut.razem AT siol.net>
40105         * src/SDCCsymt.c: fixed bug #1159134: invalid duplicate declarations
40106           with same scope
40107         * support/regression/tests/bug-1654060.c: added regression test for
40108           #1654060
40110 2007-02-09 Bernhard Held <bernhard AT bernhardheld.de>
40112         * src/mcs51/gen.c (genRet): fixed RFE 1652561: added code for bit to
40113         bit moves in return statement
40115 2007-02-09 Borut Razem <borut.razem AT siol.net>
40117         * src/SDCC.y: fixed bug #1654060 typedef within function causes
40118           syntax error
40120 2007-02-07 Maarten Brock <sourceforge.brock AT dse.nl>
40122         * src/mcs51/gen.c (aopPut): use direct name for pushing registers
40123         * src/SDCCmain.c (parseCmdLine): dbuf_s path must be initialised
40125 2007-02-07 Raphael Neider <rneider AT web.de>
40127         * src/pic16/devices.inc,
40128         * device/include/pic16/pic18fregs.h,
40129         * device/include/pic16/pic18f[24][34]31.h,
40130         * device/lib/pic16/libdev/pic18f[24][34]31.c,
40131         * device/lib/pic16/pics.all: added 18f[24][34]31 family
40132         * device/lib/pic16/libio/i2c.ignore: do not build i2c
40134 2007-02-07 Maarten Brock <sourceforge.brock AT dse.nl>
40136         * device/lib/printf_large.c (_print_format): fixed compare/assign bug, how
40137           can this have lived here for so many years?
40138         * src/SDCCicode.c (ast2iCode): return left instead of right for assignment,
40139           fixes bug 1273984, see also patch 1645121, thanks Gnther Jehle
40140         * support/regression/tests/bug1273984.c: new, added, thanks Gnther Jehle
40142 2007-02-06 Bernhard Held <bernhard AT bernhardheld.de>
40144         * src/SDCCBlock.c (addiCodeToeBBlock): fixed bug 1652207: GOTO icodes
40145         appended by loop induction must be at the very end of the eBBlock
40147 2007-02-05 Kevin Vigor
40149         * src/ds390/gen.c, src/ds390/main.c: Address bug 1469393.
40151 2007-02-05 Borut Razem <borut.razem AT siol.net>
40153         * support/regression/fwk/lib/timeout.c: native WIN32 port,
40154           implemented #1651830 Reg. tests: rewrite timeout.c to use WIN32 API
40156 2007-02-03 Borut Razem <borut.razem AT siol.net>
40158         * src/SDCC.y, src/SDCCmain.c, src/SDCCglobl.h, doc/sdccman.lyx:
40159           applied patch #1646602 option to set default signedness of char to
40160           unsigned, added -funsigned-char command line option,
40161           thanks to Gunther Jehle
40162         * device/lib/Makefile.in: added the -f option to rm so it doesn't
40163           prompt for file deletion a few hundred times (especially the
40164           subversion files, which have ro permissions so it asks for
40165           confirmation), thanks to Simon McAuliffe;
40166           added {} + option to find in order to remove multiple files from a
40167           single rm commad
40169 2007-02-02 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40171         * device/include/mcs51/SST89x5xRDx.h: Added.
40173 2007-02-02 Raphael Neider <rneider AT web.de>
40175         * src/pic/glue.c (emitSymbolSet): check sym->etype before use
40176         * src/regression/Makefile: use --no-pcode-opt, ignore failing tests
40178 2007-02-01 Raphael Neider <rneider AT web.de>
40180         * src/pic/glue.c (picglue,emitSymbolSet,showAllMemmaps): emit the
40181           config words again
40183 2007-01-31 Borut Razem <borut.razem AT siol.net>
40185         * support/Util/dbuf_string.h: added ATTRIBUTE_PRINTF to dbuf_printf()
40186           if compiled with GCC. Thanks to Raphael Neider
40188 2007-01-31 Raphael Neider <rneider AT web.de>
40190         * src/pic/pcode.c (isValidIdChar,bankCompare): fuzzy matching of
40191             operand names, handles name and (name + n) for all n,
40192           (sameBank): restructured, also check bank allocation policy,
40193         * src/pic/glue.c (emitPseudoStack): fixed printf arguments,
40194           (pic14_operandsAllocatedInSameBank): check whether to operands
40195             will be allocated into the same bank (i.e., section) to reduce
40196             BANKSEL overhead, queried from pcode.c:sameBank,
40197           (pic14printLocals): reintroduced clustering registers into a single
40198             section: all compiler generated symbols will now reside in one
40199             bank (per file), reducing BANKSEL overhead and code size,
40200           (showAllMemmaps): use local dbuf where possible
40202 2007-01-29 Raphael Neider <rneider AT web.de>
40204         * src/pic/gen.c (popGetExternal): simplified, mark symbol as used,
40205           (call_libraryfunc): retrieve/create symbol and mark as used,
40206           (genFunction): mark defined functions as non-extern and add again
40207            to code memmap for later output
40208         * src/pic/glue.c (emitPseudoStack): put into own subroutine,
40209           (pic14printLocals): reworked for new symbol emission,
40210           (emitIfNew,pic14_constructAbsMap,emitIvalLabel,emitIvals,emitInitVal,
40211           showAllMemmaps): reworked symbol output using dbufs, added handling
40212             of string literals (still incomplete),
40213           (picglue): removed symbol emission, moved into showAllMemmaps,
40214           (emitSymbolSet): new workhorse for symbol output,
40215           (pic14emitMaps,pic14printPublics,pic14printExterns): commented out
40217 2007-01-29 Borut Razem <borut.razem AT siol.net>
40219         * src/SDCCmain.c, src/SDCCutil.c: dbuf_splitFile: file extension
40220           component contains the extension separator.
40222 2007-01-28 Borut Razem <borut.razem AT siol.net>
40224         * sim/ucsim/cmd.src/cmdutil.cc: NUL device is detected as CG_FILE type
40225           on WIN32
40226         * src/SDCCdwarf2.c, src/SDCCglobl.h, src/SDCCmain.c, src/SDCCutil.c,
40227           src/SDCCutil.h, src/avr/gen.c, src/ds390/gen.c, src/hc08/gen.c,
40228           src/mcs51/gen.c, src/pic/device.c, src/pic/gen.c, src/pic/pcode.c,
40229           src/pic/pcodepeep.c, src/pic/ralloc.c, src/pic16/device.h,
40230           src/pic16/gen.c, src/pic16/main.c, src/pic16/pcode.c,
40231           src/pic16/pcodepeep.c, src/pic16/ralloc.c, src/xa51/gen.c,
40232           src/z80/gen.c, support/Util/MySystem.c:
40233           accept slash and backslash as directory separator on WIN32 and
40234           Cygwin ports
40236 2007-01-28 Raphael Neider <rneider AT web.de>
40238         * src/pic16/devices.inc,
40239         * device/include/pic16/pic18f[24][23]21.h,
40240         * device/include/pic16/pic18fregs.h,
40241         * device/lib/pic16/libdev/pic18f[24][23]21.c,
40242         * device/lib/pic16/pics.all: added support for the 18f[24][23]21 family
40243         * device/lib/pic16/libio/adc.ignore,
40244         * device/lib/pic16/libio/i2c.ignore,
40245         * device/lib/pic16/libio/usart.ignore: do not build I/O lib for new
40246           family, as gputils do not yet support the devices
40247         * device/lib/pic16/Makefile.subdir: ignore errors on install
40248         * support/scripts/inc2h-pic16.pl: script to generate pic16 device
40249           headers and libraries from gputils .inc files
40251 2007-01-26 Paul Stoffregen <paul AT pjrc.com>
40253         * doc/sdccman.lyx: add printf_fast_f precision limitation note
40255 2007-01-26 Paul Stoffregen <paul AT pjrc.com>
40257         * doc/sdccman.lyx: add printf benchmarks
40259 2007-01-25 Paul Stoffregen <paul AT pjrc.com>
40261         * device/lib/printf_fast.c: fix %c, char promoted to int
40262         * device/lib/printf_tiny.c: fix %c, char promoted to int
40264 2007-01-25 Paul Stoffregen <paul AT pjrc.com>
40266         * device/lib/printf_fast.c: fix float overflow check, bug #1525093
40268 2007-01-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40270         * support/regression/tests/swap.c: 64 bit hosts failed
40271         * doc/sdccman.lyx: added preliminary mcs51 printf feature matrix
40273 2007-01-25 Raphael Neider <rneider AT web.de>
40275         * src/pic/pcode.c (sameBank,FixRegisterBanking): optimize banksels
40276           based on absolute register address, patch by Alex Blond
40278 2007-01-22 Raphael Neider <rneider AT web.de>
40280         * src/pic/glue.c (pic14emitRegularMap): mark initialized symbols as
40281           emitted, do not emit them again...
40283 2007-01-22 Raphael Neider <rneider AT web.de>
40285         * src/regression/bank1.c, src/regression/compare6.c,
40286           src/regression/add.c: cosmetic changes
40287         * src/pic/pcode.h: moved GPTRTAG_* here from gen.c
40288         * src/pic/gen.c: fixed global zero and one,
40289           (aopForSym): removed unued code,
40290           (aopGet): assert aop is defined, check and use `index' of
40291             pCodeImmd operands (fixes #1630908),
40292         * src/pic/pcode.c (get_op): added output of generic pointer tag,
40293           (register_reassign): prevent accidental register unification,
40294           (ReuseReg): cosmetic changes (also above)
40295         * src/pic/glue.c (pic14_constructAbsMap,pic14emitRegularMap,
40296           pic14emitStaticSeg): do not emit initialized data,
40297           (printIval*): replaced with working versions,
40298           (pic14createInterruptVect,picglue): use idata for initialized data,
40299             now init data should work in all modules (not only main()),
40300         * device/lib/pic/libsdcc/idata.c: NEW, handle initialized data
40302 2007-01-21 Borut Razem <borut.razem AT siol.net>
40304         * sim/ucsim/configure.in: introduced macro DD_COPT_NO_IGNORE,
40305           use -fPIC or -fpic if they are supported and not ignored
40306         * src/SDCCval.c: fixed bug introduced by me in rev. #4577
40307         * support/cpp2/libcpp/lex.c: fixed gcc 4.1.1 warnings
40309 2007-01-20 Borut Razem <borut.razem AT siol.net>
40311         * src/SDCC.lex, src/SDCCmain.c, sdc/SDCCglobl.h, doc/sdccman.lyx:
40312           implemented RFE #1470316: allow "$" in variable names
40314 2007-01-20 Raphael Neider <rneider AT web.de>
40316         * device/include/pic/pic14regs.h: reverted accidental wipe of the file
40318 2007-01-20 Raphael Neider <rneider AT web.de>
40320         * device/lib/pic/libdev/devices.txt: device list for mkall.sh
40321         * device/lib/pic/libdev/mkall.sh: script to rebuild all device libs
40322         * device/lib/pic/libdev/pic14ports.txt: device PORT specifications
40323         * support/scripts/inc2h.pl: fixed major .inc parsing bugs,
40324           applied patch from Robert Tate (#1629249) to add PORTs and TRISs
40325         * device/lib/pic/libdev/pic*.c,
40326         * device/include/pic/pic*.h: regenerated with enhanced inc2h.pl
40327         * device/lib/pic/libdev/Makefile.in: show progress
40329 2007-01-19 Bernhard Held <bernhard AT bernhardheld.de>
40331         * doc/sdccman.lyx: updated "configure options" for autoconf 2.6
40332         * support/scripts/sdcc_cygwin_mingw32,
40333         * support/scripts/sdcc_mingw32,
40334         * support/scripts/build.mak: replaced --datadir by --datarootdir for
40335         conformance with autoconf 2.6
40337 2007-01-19 Raphael Neider <rneider AT web.de>
40339         * src/pic/device.c (register_map): fixed list construction
40340         * src/pic/gen.c (genDivOneByte,genModOneByte): accept result > 1 byte,
40341           (genMod): removed case for genModbits,
40342           (genModbits): removed as now unused/unimplemented
40343         * src/pic/glue.c (picglue): prevent name clash with sources 'init.c'
40345 2007-01-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40347         * support/regression/tests/swap.c: added in response to #1638622
40348         * doc/sdccman.lyx: synced version, minor changes
40350 2007-01-18 Borut Razem <borut.razem AT siol.net>
40352         * SDCClabel.c: fixed bug #1638651: wrong linenumber presented in warning,
40353           thanks to Gunther Jehle
40354         * src/asm.c: don't die if the file drfined in #line couldn't be opened
40355         * src/SDCC.lex, src/SDCCglobal.h, src/SDCCicode.c, src/SDCCsymt.c,
40356           src/SDCCval.c: removed redundant definitions of currFname and mylineno;
40357           use filename in lineno instead.
40358         * SDCCast.c: removed MSVC warning C4018: '==' : signed/unsigned mismatch,
40359           print the file name in ast_print()
40361 2007-01-18 Borut Razem <borut.razem AT siol.net>
40363         * support/Util/dbuf_string.c: removed (PTR) cast since it is not
40364           defined in MSVC
40365         * src/SDCC.lex: stringLiteral() returns const char pointer,
40366           EOF detection in stringLiteral(), fixed asmbuf memory leak,
40367           fixed column counting
40368         * src/SDCCval.[ch]: constVal(), value *strVal() and charVal()
40369           accept const char pointer as parameter
40370         * src/SDCCdwarf2.c: corrected buffer size
40372 2007-01-17 Borut Razem <borut.razem AT siol.net>
40374         * support/Util/dbuf_string.c: fixed for amd64
40376 2007-01-15 Borut Razem <borut.razem AT siol.net>
40378         * src/pic16/ralloc.c, src/pic/ralloc.c, src/SDCC.y:
40379           removed terminal symbol ELIPSIS, since it was never generated by the
40380           lexer and it was wrongly used in parameter_identifier_list rule
40382 2007-01-15 Raphael Neider <rneider AT web.de>
40384         * doc/sdccman.lyx: updated PIC14/16 command line args, updated PIC14
40385             code page and data banking description
40386         * src/pic/genarith.c,
40387         * src/pic/gen.h: removed bit arithmetic functions,
40388             updated exit(1) to exit(EXIT_FAILURE)
40389         * device/lib/pic16/libsdcc/stack/stack.S: default to 256 byte stack
40390         * device/include/pic16/pic18f2455.h,
40391         * device/lib/pic16/libdev/pic18f2455.c: added PORTD, LATD, LATE,
40392             TRISD and TRISE, fixed/added some bit names
40393         * device/lib/pic16/libdev/pic18f{2550,4550,4455}.c,
40394         * device/include/pic16/pic18f{2550,4550,4455}.h: simply include
40395             updated pic18f2455.{c,h} instead of duplicating them
40397 2007-01-14 Borut Razem <borut.razem AT siol.net>
40399         * as/mcs51/asnoice.c, as/hc08/asnoice.c: fixed bug #1447412:
40400           Cannot debug files that contain spaces in the path name
40401           by converting spaces in asm file name to underscores
40403 2007-01-13 Borut Razem <borut.razem AT siol.net>
40405         * doc/sdccman.lyx: fixed format errors
40407 2007-01-10 Borut Razem <borut.razem AT siol.net>
40409         * src/SDCC.lex, src/SDCCmain.c: fixed bug #1631895:
40410           codeseg/constseg #pragma fail
40411         * suppoprt/cpp2/Makefile.bcc: reenable Borland C compilation
40412         * suppoprt/cpp2/configure.in, suppoprt/cpp2/libcpp/lex.c,
40413           suppoprt/cpp2/Makefile.in, suppoprt/cpp2/sdcpp-opts,
40414           suppoprt/cpp2/sdcpp.[ch]: house cleaning
40416 2007-01-09 Borut Razem <borut.razem AT siol.net>
40418         * get rid of diagnistic.[ch], pretty-print.[ch],
40419           c-pretty-print.[ch], ... used just for error, warning, ...
40420           message formatting
40421         * suppoprt/cpp2/pretty-print.[ch], suppoprt/cpp2/diagnostic.[ch],
40422           suppoprt/cpp2/diagnostic.def, suppoprt/cpp2/input.h,
40423           suppoprt/cpp2/pretty-print.[ch]:
40424           removed
40425         * suppoprt/cpp2/Makefile.in, suppoprt/cpp2/opts.c,
40426           suppoprt/cpp2/sdcpp-opts.c, suppoprt/cpp2/sdcpp.[ch],
40427           suppoprt/cpp2/sdcpp.dsp:
40428           changed
40430 2007-01-08 Maarten Brock <sourceforge.brock AT dse.nl>
40432         * device/lib/printf_large.c (output_float): removed recursion,
40433           use smaller buffer on stack for mcs51,
40434           fixed bug printing 1.96
40435         * support/regression/tests/snprintf.c: added test
40437 2007-01-07 Borut Razem <borut.razem AT siol.net>
40439         * use dynamic memory buffers instead temporary files
40440         * support/Util/dbuf_string.c, support/Util/dbuf_string.h:
40441           added
40442         * src/Makefile.in, src/SDCC.lex, src/SDCCast.c, src/SDCCast.h,
40443           src/SDCCcse.c, src/SDCCglobl.h, src/SDCCglue.c, src/SDCCglue.h,
40444           src/SDCCicode.c, src/SDCCicode.h, src/SDCCmain.c, src/SDCCmem.c,
40445           src/SDCCmem.h, src/SDCCpeeph.c, src/SDCCpeeph.h, src/SDCCsymt.c,
40446           src/SDCCsymt.h, src/SDCCutil.c, src/asm.c, src/asm.h, src/avr/gen.c,
40447           src/avr/main.c, src/ds390/gen.c, src/ds390/main.c, src/hc08/gen.c,
40448           src/hc08/main.c, src/izt/gen.c, src/mcs51/gen.c, src/mcs51/main.c,
40449           src/pic/device.c, src/pic/gen.c, src/pic/glue.c, src/pic/main.c,
40450           src/pic/ralloc.c, src/pic16/gen.c, src/pic16/glue.c,
40451           src/pic16/main.c, src/pic16/ralloc.c, src/port.h, src/src.dsp,
40452           src/xa51/gen.c, src/xa51/main.c, src/z80/gen.c, src/z80/main.c,
40453           support/Util/dbuf.c, support/Util/dbuf.h:
40454           modified
40455         * .version, sdcc.spec: bumped version to 2.6.4
40457 2007-01-07 Maarten Brock <sourceforge.brock AT dse.nl>
40459         * src/port.h: added TARGET_Z80_LIKE macro
40460         * src/SDCCmain.c (linkEdit): use TARGET_Z80_LIKE,
40461           output PSEG location if --xram-loc or --xstack-loc was used
40462         * as/link/mcs51/lkarea.c (lnksect2): set segment address afterwards
40464 2007-01-07 Maarten Brock <sourceforge.brock AT dse.nl>
40466         * as/as_gbz80.dsp, as/z80/as_gbz80.dsp,
40467         * as/as_z80.dsp,   as/z80/as_z80.dsp,
40468         * as/asx8051.dsp,  as/mcs51/asx8051.dsp,
40469         * sdcc.dsw: moved project files into subdir
40470         * as/hc08/as_hc08.dsp,
40471         * as/hc08/Makefile.bcc,
40472         * as/hc08/Makefile.in,
40473         * as/mcs51/Makefile.bcc,
40474         * as/mcs51/Makefile.in,
40475         * as/z80/Makefile.bcc,
40476         * as/z80/Makefile.in,
40477         * as/link/mcs51/Makefile.bcc: use as/strcmpi.c
40478         * as/hc08/asm.h,
40479         * as/mcs51/asm.h,
40480         * as/z80/asm.h: added as_strcmpi() and as_strncmpi() prototypes
40481         * as/hc08/asmain.c,
40482         * as/hc08/assym.c,
40483         * as/mcs51/asmain.c,
40484         * as/mcs51/assym.c,
40485         * as/z80/assym.c: removed include "strcmpi.h"
40486         * as/hc08/strcmpi.c,
40487         * as/hc08/strcmpi.h,
40488         * as/mcs51/strcmpi.c,
40489         * as/mcs51/strcmpi.h,
40490         * support/Util/strcmpi.c,
40491         * support/Util/strcmpi.h: removed files
40492         * as/strcmpi.c: added as_strncmpi()
40494 2007-01-05 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40496         * sdcc.dsw: Added some dependencies on project config.dsp
40498 2007-01-05 Maarten Brock <sourceforge.brock AT dse.nl>
40500         * as/link/mcs51/lkarea.c (lnkarea2, lnksect2): replaced [di]seg_ap->a_addr
40501           with [di]ram_start to fix a regresion
40503 2007-01-03 Bernhard Held <bernhard AT bernhardheld.de>
40505         * configure.in: added missing mcs51 in status output
40506         * Makefile.in: add support/regression to SDCC_EXTRA to distclean this
40507         directory
40508         * debugger/mcs51/clean.mk (distclean): remove config.h
40509         * src/clean.mk (clean): remove SDCCy.c, SDCCy.h, SDCClex.c
40510         * support/cpp2/Makefile.in (clean): remove s-options, optionlist,
40511         options.h, s-options-h and options.c
40512         * support/cpp2/clean.mk: unused, removed
40513         * Makefile.common.in,
40514         * main_in.mk,
40515         * as/Makefile.in,
40516         * as/hc08/Makefile.in,
40517         * as/hc08/clean.mk,
40518         * as/mcs51/Makefile.in,
40519         * as/mcs51/clean.mk,
40520         * as/z80/clean.mk,
40521         * as/z80/conf.mk,
40522         * as/z80/Makefile.in,
40523         * as/z80/clean.mk,
40524         * as/link/Makefile.in,
40525         * as/link/hc08/Makefile.in,
40526         * as/link/hc08/clean.mk,
40527         * as/link/mcs51/Makefile.in,
40528         * as/link/mcs51/clean.mk,
40529         * as/link/z80/Makefile.in,
40530         * as/link/z80/clean.mk,
40531         * as/link/z80/conf.mk,
40532         * debugger/mcs51/Makefile.in,
40533         * debugger/mcs51/clean.mk,
40534         * device/include/Makefile.in,
40535         * device/lib/Makefile.in,
40536         * device/lib/mcs51/Makefile.in,
40537         * device/lib/pic/Makefile.in,
40538         * device/lib/pic/Makefile.common.in,
40539         * device/lib/pic/Makefile.subdir,
40540         * device/lib/pic/Makefile.rules,
40541         * device/lib/pic16/libio/Makefile.in,
40542         * device/lib/pic16/Makefile.subdir,
40543         * device/lib/pic16/libdev/Makefile.in,
40544         * device/lib/pic16/Makefile.rules,
40545         * device/lib/pic16/Makefile.common.in,
40546         * sim/ucsim/avr.src/Makefile.in,
40547         * sim/ucsim/main_in.mk,
40548         * sim/ucsim/cmd.src/Makefile.in,
40549         * sim/ucsim/doc/Makefile.in,
40550         * sim/ucsim/gui.src/Makefile.in,
40551         * sim/ucsim/gui.src/obsolete/portmon.src/Makefile.in,
40552         * sim/ucsim/gui.src/serio.src/Makefile.in,
40553         * sim/ucsim/hc08.src/Makefile.in,
40554         * sim/ucsim/libltdl/Makefile.in,
40555         * sim/ucsim/s51.src/Makefile.in,
40556         * sim/ucsim/sim.src/Makefile.in,
40557         * sim/ucsim/sim.src/conf.mk,
40558         * sim/ucsim/xa.src/Makefile.in,
40559         * sim/ucsim/z80.src/Makefile.in,
40560         * src/Makefile.in,
40561         * src/clean.mk,
40562         * src/port.mk,
40563         * support/cpp2/Makefile.in,
40564         * support/librarian/Makefile.in,
40565         * support/librarian/clean.mk,
40566         * support/makebin/Makefile.in,
40567         * support/makebin/clean.mk,
40568         * support/packihx/Makefile.in,
40569         * support/regression/Makefile.in,
40570         * support/regression/ports/ds390/spec.mk,
40571         * support/regression/ports/gbz80/spec.mk,
40572         * support/regression/ports/hc08/spec.mk,
40573         * support/regression/ports/mcs51/spec.mk,
40574         * support/regression/ports/mcs51-large/spec.mk,
40575         * support/regression/ports/mcs51-medium/spec.mk,
40576         * support/regression/ports/mcs51-xstack-auto/spec.mk,
40577         * support/regression/ports/pic14/spec.mk,
40578         * support/regression/ports/pic16/spec.mk,
40579         * support/regression/ports/mcs51-stack-auto/spec.mk,
40580         * support/regression/ports/ucz80/spec.mk,
40581         * support/regression/ports/xa51/spec.mk,
40582         * support/regression/ports/z80/spec.mk: fixed for autoconf 2.6x by
40583         adding a slash after $(top_builddir) and/or adding @datarootdir@
40584         * configure.in,
40585         * debugger/mcs51/configure.in,
40586         * device/lib/pic/configure.in,
40587         * device/lib/pic16/configure.in,
40588         * sim/ucsim/configure.in,
40589         * support/cpp2/configure.in,
40590         * support/packihx/configure.in: changed AC_PREREQ to 2.60
40591         * configure,
40592         * debugger/mcs51/configure,
40593         * device/lib/pic/configure,
40594         * device/lib/pic16/configure,
40595         * sim/ucsim/configure,
40596         * support/cpp2/configure,
40597         * support/packihx/configure: generated with autoconf 2.60
40599 2007-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
40601         * as/link/hc08/lkihx.c (newArea),
40602         * as/link/hc08/lkrloc.c: renamed newArea() to ihxNewArea()
40604 2007-01-02 Borut Razem <borut.razem AT siol.net>
40606         * doc/sdccman.lyx: documented #pragma sdcc_hash
40607         * support/cpp2/sdcpp.c: allow_naked_hash (value of #pragma sdcc_hash)
40608           initialized to 0
40609         * support/cpp2/c-ppoutput.c: fixed warning: no newline at end of file
40611 2007-01-01 Bernhard Held <bernhard AT bernhardheld.de>
40613         * src/SDCCast.c (createDo): backPatchLabels() needs falseLabel in
40614         empty 'while'-loop to work correctly, see regression test 'while.c'
40615         * support/regression/tests/while.c: added
40617 2007-01-01 Borut Razem <borut.razem AT siol.net>
40619         * support/cpp2/libcpp/directives.c, support/cpp2/libcpp/identifiers.c,
40620           support/cpp2/libcpp/init.c, support/cpp2/libcpp/sdcpp-opts.c,
40621           support/cpp2/libcpp/sdcpp.c:
40622           sdcpp specific pragma/directive/option handling moved to sdcpp.c
40623         * doc/sdccman.lyx: reference to the GCC 4.1.1 CPP Manual
40624         * support/cpp2/libcpp/mkdeps.c: synchronized with GCC CPP 4.1.1
40626 2006-12-31 Borut Razem <borut.razem AT siol.net>
40628         * SDCPP synchronized with GCC CPP release version 4.1.1,
40629           currently the latest release:
40630         * support/cpp2/libcpp, support/cpp2/libcpp/include,
40631           support/cpp2/libcpp/include/cpp-id-data.h
40632           support/cpp2/libiberty/fopen_unlocked.c
40633           support/cpp2/libiberty/md5.c
40634           support/cpp2/md5.h
40635           support/cpp2/opt-functions.awk
40636           support/cpp2/opt-gather.awk
40637           support/cpp2/optc-gen.awk
40638           support/cpp2/opth-gen.awk:
40639           added
40640         * support/cpp2/Makefile.in, support/cpp2/auto-host_vc_in.h,
40641           support/cpp2/c-incpath.c, support/cpp2/c-incpath.h,
40642           support/cpp2/c-ppoutput.c, support/cpp2/c-pretty-print.c,
40643           support/cpp2/c-pretty-print.h, support/cpp2/cppdefault.c,
40644           support/cpp2/cppdefault.h, support/cpp2/diagnostic.c,
40645           support/cpp2/diagnostic.h, support/cpp2/except.h,
40646           support/cpp2/hwint.h, support/cpp2/input.h,
40647           support/cpp2/intl.h, support/cpp2/move-if-change,
40648           support/cpp2/opts.c, support/cpp2/opts.h,
40649           support/cpp2/output.h, support/cpp2/prefix.c,
40650           support/cpp2/prefix.h, support/cpp2/pretty-print.c,
40651           support/cpp2/pretty-print.h, support/cpp2/sdcpp-opts.c,
40652           support/cpp2/sdcpp.c, support/cpp2/sdcpp.dsp,
40653           support/cpp2/sdcpp.h, support/cpp2/sdcpp.opt,
40654           support/cpp2/sdcppa.dsp, support/cpp2/symcat.h,
40655           support/cpp2/version.c:
40656           modified
40657         * support/cpp2/libcpp/charset.c, support/cpp2/libcpp/directives.c,
40658           support/cpp2/libcpp/errors.c, support/cpp2/libcpp/expr.c,
40659           support/cpp2/libcpp/files.c, support/cpp2/libcpp/identifiers.c,
40660           support/cpp2/libcpp/include/cpplib.h, support/cpp2/libcpp/include/line-map.h,
40661           support/cpp2/libcpp/include/mkdeps.h, support/cpp2/libcpp/include/symtab.h,
40662           support/cpp2/libcpp/init.c, support/cpp2/libcpp/internal.h,
40663           support/cpp2/libcpp/lex.c, support/cpp2/libcpp/line-map.c,
40664           support/cpp2/libcpp/macro.c, support/cpp2/libcpp/mkdeps.c,
40665           support/cpp2/libcpp/symtab.c, support/cpp2/libcpp/system.h,
40666           support/cpp2/libcpp/traditional.c, support/cpp2/libcpp/ucnid.h,
40667           support/cpp2/libiberty/hashtab.c, support/cpp2/libiberty/hashtab.h:
40668           moved
40669         * support/cpp2/cppcharset.c, support/cpp2/cpperror.c,
40670           support/cpp2/cppexp.c, support/cpp2/cppfiles.c,
40671           support/cpp2/cpphash.c, support/cpp2/cpphash.h,
40672           support/cpp2/cppinit.c, support/cpp2/cpplex.c,
40673           support/cpp2/cpplib.c, support/cpp2/cpplib.h,
40674           support/cpp2/cppmacro.c, support/cpp2/cpptrad.c,
40675           support/cpp2/cppucnid.h, support/cpp2/hashtab.c,
40676           support/cpp2/hashtab.h, support/cpp2/hashtable.c,
40677           support/cpp2/hashtable.h, support/cpp2/line-map.c,
40678           support/cpp2/line-map.h, support/cpp2/mkdeps.c,
40679           support/cpp2/mkdeps.h, support/cpp2/options_vc_in.c,
40680           support/cpp2/options_vc_in.h, support/cpp2/opts.sh,
40681           support/cpp2/system.h:
40682           deleted / moved
40684 2006-12-31 Borut Razem <borut.razem AT siol.net>
40686         * configure.in, configure: fixed bug #1538756: configure dies if bison
40687           and flex are not installed, 2nd try
40689 2006-12-30 Bernhard Held <bernhard AT bernhardheld.de>
40691         * src/mcs51/peeph.def: renamed rule 400 to 500, moved rule 253.x to
40692         400.x for better code in RFE 899102
40694 2006-12-30 Bernhard Held <bernhard AT bernhardheld.de>
40696         * src/SDCCpeeph.c (deadMove),
40697         * src/port.h,
40698         * src/mcs51/peep.h: renamed 'op' by 'reg'
40699         * src/mcs51/peep.c (isFunc, isCallerSaveFunc): added,
40700         (scan4op): small change for removeDeadMove(), added support for
40701         'callee saves' and/or PACLL function calls,
40702         (removeDeadMove): added, removes superflous 'mov r%1,%2',
40703         (removeDeadPopPush): renamed from mcs51DeadMove(), common parts
40704         left in new dispatcher mcs51DeadMove()
40705         (mcs51DeadMove): dispatcher for removeDeadPopPush() and new
40706         removeDeadMove()
40707         * src/mcs51/peeph.def: added rule 301 removing superflous 'mov r%1,%2'
40709 2006-12-30 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40711         * support/cpp2/options_vc_in.h, support/cpp2/options_vc_in.c,
40712           support/cpp2/sdcppa.dsp: create 'options.h' and 'options.c' under MSVC.
40714 2006-12-30 Borut Razem <borut.razem AT siol.net>
40716         * support/cpp2/spacs.h: deleted from svn
40717         * configure.in, configure: fixed bug #1538756: configure dies if bison
40718           and flex are not installed
40720 2006-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
40722         * src/z80/gen.c (assignResultValue): fixed bug when registers overlap,
40723           with this z80 passes printf float test when enabled
40724         * support/regression/tests/bug1057979.c: typo disabled ds390 float test
40726 2006-12-28 Borut Razem <borut.razem AT siol.net>
40728         * support/cpp2/config.in, support/cpp2/configure.in,
40729           support/cpp2/configure, support/cpp2/Makefile.in:
40730           fix for the solaris build
40732 2006-12-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
40734         * src/SDCC.y (type_specifier2, pointer),
40735         * src/SDCCsymt.h,
40736         * src/SDCCsymt.c (mergeSpec, checkSClass),
40737         * support/Util/SDCCerr.c,
40738         * support/Util/SDCCerr.h: Parse and validate the restrict keyword
40739         * support/valdiag/valdiag.py: Allow test cases to specify
40740           required language standard
40741         * support/valdiag/tests/restrict.c: New file to test restrict keyword
40742         * support/valdiag/tests/tentdecl.c: Supress empty source file error
40744 2006-12-27 Borut Razem <borut.razem AT siol.net>
40746         * support/cpp2/cppmain.c, support/cpp2/mbchar.[ch]: removed
40747         * support/cpp2/libiberty/Makefile.in, support/cpp2/libiberty/sdcpp.dsp:
40748           mbchar removed
40749         * support/cpp2/libiberty/getpwd.c, support/cpp2/sdcpp.h:
40750           fixed for borland C
40751         * support/cpp2/libiberty/Makefile.bcc: updated
40752         * src/pic16/main.c: fixed #pragma udata handling
40753         * src/mcs51/mcs51.dsp: added peep.[ch] to the project
40755 2006-12-26 Bernhard Held <bernhard AT bernhardheld.de>
40757         * src/SDCCpeeph.c: made labelHashEntry global,
40758         made pcDistance, FBYNAME static,
40759         (pcDistance): made static, use isComment and isLabel,
40760         (deadMove): added,
40761         (getLabelRef): added, extracted from labelRefCount(),
40762         (labelRefCount): use new getLabelRef(),
40763         (callFuncByName): made static, added deadMove,
40764         use isComment and isLabel,
40765         (newPeepRule): made static, set isLabel,
40766         (isLabelDefinition): added parameter isPeepRule to allow '%' in
40767         labels from peephole rules,
40768         (buildLabelRefCountHash): speed up by running isLabelDefinition() only
40769         when isComment or isLabel is set
40770         * src/SDCCpeeph.h: added "isLabel" and "visited" to struct lineNode,
40771         added labelHashEntry, isLabelDefinition, labelHash and getLabelRef
40772         to make them global
40773         * src/mcs51/peep.h: added
40774         * src/mcs51/peep.c: added, implements mcs51DeadMove()
40775         * src/port.h: added peep->deadMove to port structure
40776         * src/mcs51/main.c: initialize peep->deadMove with mcs51DeadMove
40777         * src/mcs51/peeph.def: renumbered rule 300 to 400, added new rule 300
40778         deadMove, finally removed no. 1 and 2
40779         * src/mcs51/gen.c,
40780         * src/pic/gen.c,
40781         * src/z80/gen.c,
40782         * src/z80/ralloc.c,
40783         * src/pic16/gen.c,
40784         * src/ds390/gen.c,
40785         * src/hc08/gen.c: mark lines with isComment or isLabel
40786         * sim/ucsim/s51.src/uc390hw.cc: don't waist 65535 ticks before CKRDY
40787         * .version,
40788         * sdcc.spec: bumped version to 2.6.3
40790 2006-12-26 Borut Razem <borut.razem AT siol.net>
40792         * support/cpp2/Makefile.in: added dependency on options.h
40793         * configure: regenerated
40794         * support/cpp2/sdcpp.opt, support/cpp2/move-if-change: svn:eol-style native
40795         * support/cpp2/Makefile.in: added vasprintf.c
40797 2006-12-25 Borut Razem <borut.razem AT siol.net>
40799         * SDCPP synchronized with GCC CPP release version 3.4.6,
40800           the latest release before 4.x:
40801         * support/cpp2/Makefile.in, support/cpp2/config.h,
40802           support/cpp2/configure, support/cpp2/configure.in,
40803           support/cpp2/cppdefault.c, support/cpp2/cppdefault.h,
40804           support/cpp2/cpperror.c, support/cpp2/cppexp.c,
40805           support/cpp2/cppfiles.c, support/cpp2/cpphash.c,
40806           support/cpp2/cpphash.h, support/cpp2/cppinit.c,
40807           support/cpp2/cpplex.c, support/cpp2/cpplib.c,
40808           support/cpp2/cpplib.h, support/cpp2/cppmacro.c,
40809           support/cpp2/cpptrad.c, support/cpp2/except.h,
40810           support/cpp2/hashtable.c, support/cpp2/hashtable.h,
40811           support/cpp2/hwint.h, support/cpp2/intl.h,
40812           support/cpp2/line-map.c, support/cpp2/line-map.h,
40813           support/cpp2/mkdeps.c, support/cpp2/mkdeps.h,
40814           support/cpp2/output.h, support/cpp2/prefix.c,
40815           support/cpp2/prefix.h, support/cpp2/sdcpp.dsp,
40816           support/cpp2/system.h, support/cpp2/version.c:
40817           modified
40818         * support/cpp2/c-incpath.c, support/cpp2/c-incpath.h,
40819           support/cpp2/c-ppoutput.c, support/cpp2/c-pretty-print.c,
40820           support/cpp2/c-pretty-print.h, support/cpp2/cppcharset.c,
40821           support/cpp2/cppucnid.h, support/cpp2/diagnostic.c,
40822           support/cpp2/diagnostic.def, support/cpp2/diagnostic.h,
40823           support/cpp2/hashtab.c, support/cpp2/hashtab.h,
40824           support/cpp2/input.h, support/cpp2/libiberty/getpwd.c,
40825           support/cpp2/libiberty/vasprintf.c, support/cpp2/libiberty/xmemdup.c,
40826           support/cpp2/move-if-change, support/cpp2/opts.c,
40827           support/cpp2/opts.h, support/cpp2/opts.sh,
40828           support/cpp2/pretty-print.c, support/cpp2/pretty-print.h,
40829           support/cpp2/sdcpp.opt, support/cpp2/sdcpp-opts.c,
40830           support/cpp2/win32, support/cpp2/win32/dirent.c,
40831           support/cpp2/win32/dirent.h:
40832           added
40833         * support/cpp2/sdcpp.c: renamed from sdcppmain.c
40834         * support/cpp2/sdcpp.h: renamed from sdcc.h
40835         * sdcppinit.c: deleted
40837 2006-12-23 Borut Razem <borut.razem AT siol.net>
40839         * support/cpp2/cpphash.h, support/cpp2/cpplex.c,
40840           support/cpp2/cpplib.[ch], support/cpp2/sdcppinit.c, doc/sdccman.lyx,
40841           preproc.c: an other try to fix bug #982435: introduced
40842           -pedantic-parse-number command line option and pedantic_parse_number
40843           pragma
40845 2006-12-21 Maarten Brock <sourceforge.brock AT dse.nl>
40847         * as/link/mcs51/lkarea.c (lnkarea2): handle absolute areas, restructured
40848            BSEG handling,
40849           (lnksect2): use --data-loc and --idata-loc as lower bound for ramstart,
40850            corrected overlayed areax addresses, warn about memory overlaps
40851         * as/mcs51/asmain.c (asmbl): create a new area for every .org directive
40852         * src/avr/main.c,
40853         * src/ds390/main.c,
40854         * src/hc08/main.c,
40855         * src/mcs51/main.c,
40856         * src/pic16/main.c,
40857         * src/pic/main.c,
40858         * src/xa51/main.c,
40859         * src/z80/main.c,
40860         * src/port.h: added xabs_name and iabs_name
40861         * src/SDCCglue.c (emitRegularMap): allocate for absolutes with initializer
40862           (glue, emitMaps): create and emit maps d_abs and i_abs
40863         * src/SDCCglue.h: cosmetic changes
40864         * src/SDCCmain.c (setDefaultOptions): idata can start below 0x80
40865         * src/SDCCmem.h,
40866         * src/SDCCmem.c (initMem): added x_abs, i_abs and d_abs
40867           (allocDefault): put absolute, initialized globals in them
40868         * support/regression/tests/absolute.c: added absolute bdata test
40869         * device/lib/printf_large.c (output_float): moved fpBuffer to stack/xdata
40871 2006-12-20 Borut Razem <borut.razem AT siol.net>
40873         * support/cpp2/cpphash.h, support/cpp2/cpplex.c: fixed bug #982435
40874         * support/regression/tests/preproc.c: renamed from bug-1351710.c,
40875           added regression test for bug #982435
40877 2006-12-18 Borut Razem <borut.razem AT siol.net>
40879         * src/SDCCutil.c: fixed a bug in (get_pragma_token)
40880         * src/pic16/main.c, src/SDCC.lex, src/z80/main.c:
40881           small cosmetic changes
40882         * src/SDCC.lex: (stringLiteral) fixed bug #1351710
40883         * support/regression/tests/bug-1351710.c: added regression test
40885 2006-12-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40887         * doc/sdccman.lyx: added the long missed iCode table
40888           "<where is figure II?>", added links to wiki
40890 2006-12-17 Borut Razem <borut.razem AT siol.net>
40892         * doc/sdccman.lyx, src/pic16/main.c, src/pic/main.c, src/port.h,
40893           src/SDCC.lex, src/SDCCutil.[ch], src/z80/main.c,
40894           support/Util/SDCCerr.[ch]: removed deprecated pragmas,
40895           unified table driven pragma handling, pragma argument type checking
40896         * support/Util/dbuf.c: (dbuf_set_size) allow to set size equal to the
40897           current one - version 1.1.3
40898         * src/SDCCmain.c: (setParseWithComma) substituted brain damaged strtok
40900 2006-12-13 Raphael Neider <rneider AT web.de>
40902         * src/pic/device.h: removed AssignedMemory structure and macros
40903         * src/pic/device.c: removed global finalMapping (linker assigns
40904             memory locations),
40905           (register_map): add SFRs to remembered memRanges
40906           (addMemRange,isSFR,dump_map,dump_sfr,mapRegister,assignRegister,
40907           assignFixedRegisters,assignRelocatableRegisters): removed,
40908           (setMaxRAM,validAddress): adapted accordingly,
40909           (pic14_hasSharebank,pic14_getSharedStack): only report and use
40910             reasonably sized sharebanks,
40911         * src/pic/ralloc.c (writeUsedRegs): stripped down (remove?),
40912           (allDefsOutOfRange): removed unused code,
40913         * src/pic/main.c (_process_pragma): removed memmap/maxram pragma
40914             handling
40915         * src/pic/pcode.c (register_reassign): removed recursion warning,
40916             fired far too often,
40917         * src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap): modified
40918             to use existing pic14_stringInSet() to avoid duplicate symbols,
40919             tidied up the code a bit,
40920           (pic14printLocals): added in symmetry to printExterns, replaces
40921             writeUsedRegs more or less,
40922           (picglue): call new pic14_printLocals(),
40923         * device/include/pic/pic*.h: removed #pragma memmap directives,
40924             information gathered from include/pic/pic14devices.txt
40925         * support/scripts/inc2h.pl: do not emit #pragma memmap lines
40927 2006-12-10 Maarten Brock <sourceforge.brock AT dse.nl>
40929         * device/include/mcs51/C8051F520.h: fixed buggy CPT0MX
40931 2006-12-11 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40933         * device/include/mcs51/cc2430.h: fixed missing ';'
40935 2006-12-10 Raphael Neider <rneider AT web.de>
40937         * device/lib/pic16/libc/stdio/vfprintf.c,
40938         * device/lib/pic16/libc/stdio/printf_small.c,
40939         * device/lib/pic16/libc/stdio/printf_timy.c: pop int from stack for
40940           char arguments, as char varargs are cast to int by the caller,
40941           hopefully fixes #1604915 (other device libraries are still affected)
40943 2006-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
40945         * src/mcs51/ralloc.c (packRegsForAssign),
40946         * src/hc08/ralloc.c (packRegsForAssign): fixed bug #1605880
40948 2006-12-10 Maarten Brock <sourceforge.brock AT dse.nl>
40950         * device/include/malloc.h: removed init_dynamic_memory
40951         * device/lib/malloc.c: made init_dynamic_memory static and automatically
40952           call it once from malloc. Also use _sdcc_heap[] from _heap.c
40953         * device/lib/_heap.c: new, added, contains _sdcc_heap[]
40954         * device/lib/libsdcc.lib,
40955         * device/lib/Makefile.in,
40956         * support/regression/ports/mcs51-xstack-auto/spec.mk: added _heap.c
40957         * doc/sdccman.lyx: documented use of new _heap.c
40958         * support/regression/tests/malloc.c: removed init_dynamic_memory
40959         * src/cdbFile.c(spacesToUnderscores): new function,
40960           (cdbWriteEndFunction, cdbWriteCLine): use spacesToUnderscores, fixes bug
40961           1068030
40962         * device/include/tinibios.h: removed defines for putchar and getchar
40963         * device/lib/ds390/Makefile.in: added putchar.c
40964         * device/lib/ds390/putchar.c: new, added, fixes bug 1465671
40966 2006-12-09 Borut Razem <borut.razem AT siol.net>
40968         * support/cpp2/sdcc.h: prevent multiple inclusion
40969         * support/cpp2/options.h: deleted
40971 2006-12-08 Borut Razem <borut.razem AT siol.net>
40973         * support/cpp2/sdcc.h: removed x*alloc() macros
40974         * support/cpp2/libiberty.h: uncommented out x*alloc() declarations
40975         * support/cpp2/Makefile.bcc, support/cpp2/Makefile.in,
40976           support/cpp2/sdcpp.sdc: x*alloc files added to the project
40977         * support/cpp2/system.h: moved #include "sdcc.h"
40978         * support/cpp2/libiberty/xexit.c, support/cpp2/libiberty/xmalloc.c,
40979           support/cpp2/libiberty/xstrdup.c, support/cpp2/libiberty/xstrerror.c:
40980           added
40981         * support/cpp2/sdcppinit.c: added -isysroot, -fsigned-char,
40982           -funsigned-char options
40983         * support/cpp2/sdcppmain.c: fixed bug 1611411
40985 2006-12-07 Borut Razem <borut.razem AT siol.net>
40987         * support/cpp2/cpplib.c: reverted sdcpp special handling of _Pragma()
40988           directive
40990 2006-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
40992         * src/SDCCsymt.c (addDecl): fixed bug 1609244
40993         * src/SDCCmain.c (linkEdit): fixed bug 1609279
40994         * doc/sdccman.lyx,
40995         * .version: bumped to 2.6.2 because a) it's been a while
40996           b) the linker sources have moved c) the preprocessor is upgraded
40998 2006-12-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41000         * support/regression/tests/snprintf.c: some checks
41001         * lib/src/printf_large.c: %bc: read char instead of int from stack
41003 2006-12-03 Maarten Brock <sourceforge.brock AT dse.nl>
41005         * device/include/mcs51/cc2430.h: inserted _XPAGE
41007 2006-12-02 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41009         * device/include/mcs51/cc2430.h: added
41011 2006-12-02 Maarten Brock <sourceforge.brock AT dse.nl>
41013         * device/include/asm/default/features.h,
41014         * device/include/asm/ds390/features.h,
41015         * device/include/mcs51/at89s53.h,
41016         * device/include/ser.h,
41017         * device/include/ser_ir.h,
41018         * device/include/serial.h: changed keywords to double underscore variants,
41019           fixes bug 1590261 some more, thanks Steven Borley
41021 2006-12-01 Raphael Neider <rneider AT web.de>
41023         * src/pic/pcode.c (register_reassign): do not crash on recursive code
41024           but emit warning (recursion is not supported for pic14)
41026 2006-11-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41028         * src/mcs51/peeph.def: added 101.a,b (moves to int/long xdata)
41029         * doc/sdccman.lyx: various small changes, acknowledged Sourceforge
41031 2006-11-30 Raphael Neider <rneider AT web.de>
41033         * src/pic/device.c (dump_sfr): always emit symbols
41034         * src/pic/glue.c (pic14printPublics): fixed typo
41036 2006-11-30 Raphael Neider <rneider AT web.de>
41038         * src/pic/device.c (create_pic,ram_map): add memRange entries to PIC
41039           (pic14_getSharebankSize, pic14_getSharebankAddress): replaced with
41040           (pic14_hasSharebank,pic14_isShared,pic14_allRAMShared,
41041            pic14_getSharedStack): NEW, evaluate the memRange entries to locate
41042            a sharebank, use a non-shared bank for the stack if none available
41043         * src/pic/device.h (struct memRange): added linked list next field,
41044           added prototypes for above functions
41045         * src/pic/ralloc.c (initStack): handle shared and banked stacks,
41046           (typeRegWithIdx): accept fixed and unfixed stack registers
41047         * src/pic/pcode.c (pCodeInitRegisters): use new functions to create
41048           the stack, handle shared and banked stack (except for WSAVE),
41049           (insertBankSel): removed useless optimization (will never fire),
41050           (FixRegisterBanking): added optimization for devices with only one
41051           possibly aliased bank of memory, like 16f84
41052         * src/pic/glue.c (pic14_constructAbsMap): back to udata_ovr, as some
41053           devices have no SHAREBANK in the linker script
41054         * device/include/pic/pic14devices.txt: documented memmap
41055         * device/lib/pic/libdev/Makefile.in: removed --stack-loc again
41057 2006-11-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
41059         * src/hc08/gen.c (transferRegReg, loadRegFromAop, forceStackedAop,
41060           storeRegToAop, freeAsmop, genPlusIncr, genPlus, genPointerGetSetOfs,
41061           genAnd, genOr, genXor, genLeftShiftLiteral, genRightShiftLiteral,
41062           genhc08Code): switched most of the D (debug) macros to DD (detailed
41063           debug) macros to better control clutter in the generated .asm file.
41064         * src/hc08/gen.c: (forceStackedAop, genUminus, genLeftShift,
41065           genRightShift): fixed bug with non-constant bit shift stored to
41066           a volatile result (SF Open Discussion forum thread #1616749).
41067           Single byte case is not yet optimized.
41069 2006-11-28 Maarten Brock <sourceforge.brock AT dse.nl>
41071         * device/include/asm/mcs51/features.h,
41072         * device/include/malloc.h,
41073         * device/include/stdio.h: changed keywords to double underscore variants,
41074           fixes bug 1590261
41076 2006-11-27 Borut Razem <borut.razem AT siol.net>
41078         * support/cpp2/cppexp.c, support/cpp2/hashtable.h,
41079           support/cpp2/Makefile.in, support/cpp2/cppfiles.c,
41080           support/cpp2/output.h, support/cpp2/cppinit.c,
41081           support/cpp2/cpplib.c, support/cpp2/cpplib.h,
41082           support/cpp2/Makefile.bcc, support/cpp2/cpphash.c,
41083           support/cpp2/cppdefault.c, support/cpp2/system.h,
41084           support/cpp2/cpphash.h, support/cpp2/cpplex.c,
41085           support/cpp2/cppdefault.h, support/cpp2/mbchar.c,
41086           support/cpp2/prefix.c, support/cpp2/except.h,
41087           support/cpp2/hwint.h, support/cpp2/cppmacro.c,
41088           support/cpp2/line-map.h, support/cpp2/sdcpp.dsp,
41089           support/cpp2/sdcc.h, support/cpp2/mkdeps.c,
41090           support/cpp2/version.c, support/cpp2/cppmain.c,
41091           support/cpp2/version.h, support/cpp2/hashtable.c,
41092           support/cpp2/cpperror.c:
41093           synchronized with GCC CPP release version 3.3.6,
41094           the latest where cppmain.c still exists.
41095         * support/cpp2/cpptrad.c, support/cpp2/sdcppmain.c,
41096           support/cpp2/sdcppinit.c: added
41098 2006-11-27 Borut Razem <borut.razem AT siol.net>
41100         * support/cpp2/cpplex.c:
41101           fixed _asm ... _endasm handling bug, introduce with GCC CPP
41102           synchronization
41103         * support/cpp2/cpplib.c: removed definitions of unused variables
41105 2006-11-26 Borut Razem <borut.razem AT siol.net>
41107         * support/cpp2/libiberty.h: commented out x*alloc() declarations
41108           since they are redefined by macros in support/cpp2/sdcc.h
41109         * support/cpp2/sdcc.h: x*alloc macro redefinition
41111 2006-11-25 Borut Razem <borut.razem AT siol.net>
41113         * support/cpp2/cppexp.c, support/cpp2/hashtable.h,
41114           support/cpp2/configure, support/cpp2/Makefile.in,
41115           support/cpp2/cppfiles.c, support/cpp2/output.h,
41116           support/cpp2/cppinit.c, support/cpp2/cpplib.c,
41117           support/cpp2/config.h, support/cpp2/cpplib.h,
41118           support/cpp2/Makefile.bcc, support/cpp2/cpphash.c,
41119           support/cpp2/cppdefault.c, support/cpp2/config.in,
41120           support/cpp2/system.h, support/cpp2/cpplex.c,
41121           support/cpp2/cpphash.h, support/cpp2/mbchar.c,
41122           support/cpp2/cppdefault.h, support/cpp2/prefix.c
41123           support/cpp2/hwint.h, support/cpp2/mbchar.h,
41124           support/cpp2/prefix.h, support/cpp2/cppmacro.c,
41125           support/cpp2/configure.in, support/cpp2/intl.h,
41126           support/cpp2/sdcpp.dsp, support/cpp2/acconfig.h,
41127           support/cpp2/sdcc.h, support/cpp2/mkdeps.c,
41128           support/cpp2/version.c, support/cpp2/cppmain.c,
41129           support/cpp2/ansidecl.h, support/cpp2/libiberty.h,
41130           support/cpp2/hashtable.c, support/cpp2/aclocal.m4,
41131           support/cpp2/cpperror.c,
41132           support/cpp2/libiberty/safe-ctype.c,
41133           support/cpp2/libiberty/safe-ctype.h,
41134           support/cpp2/libiberty/splay-tree.c,
41135           support/cpp2/libiberty/obstack.c,
41136           support/cpp2/libiberty/lbasename.c,
41137           support/cpp2/libiberty/splay-tree.h,
41138           support/cpp2/libiberty/obstack.h:
41139           synchronized with GCC CPP release version 3.2.3,
41140           the latest before integration of cpp into gcc
41141         * support/cpp2/except.h, support/cpp2/line-map.c,
41142           support/cpp2/line-map.h,
41143           support/cpp2/libiberty/hex.c,
41144           support/cpp2/libiberty/concat.c,
41145           support/cpp2/libiberty/filenames.h: added
41146         * support/cpp2/intl.c: deleted
41148 2006-11-24 Borut Razem <borut.razem AT siol.net>
41150         * src/SDCC.y: enabled compilation of empty source file
41151         * support/Util/SDCCerr.[ch]: added sdcc warning 190 -
41152           "ISO C forbids an empty source file"
41153         * device/lib/_startup.c, device/lib/printf_tiny.c: disable warning 190
41154           if all the code is ifdefed out.
41156 2006-11-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
41158         * src/hc08/gen.c (genPcall): fix for bug #1601032
41160 2006-11-23 Maarten Brock <sourceforge.brock AT dse.nl>
41162         * device/include/mcs51/c8051f000.h, device/include/mcs51/C8051F000.h,
41163         * device/include/mcs51/c8051f018.h, device/include/mcs51/C8051F018.h,
41164         * device/include/mcs51/c8051f020.h, device/include/mcs51/C8051F020.h,
41165         * device/include/mcs51/c8051f040.h, device/include/mcs51/C8051F040.h,
41166         * device/include/mcs51/c8051f060.h, device/include/mcs51/C8051F060.h,
41167         * device/include/mcs51/c8051f120.h, device/include/mcs51/C8051F120.h,
41168         * device/include/mcs51/c8051f200.h, device/include/mcs51/C8051F200.h,
41169         * device/include/mcs51/c8051f300.h, device/include/mcs51/C8051F300.h,
41170         * device/include/mcs51/c8051f310.h, device/include/mcs51/C8051F310.h,
41171         * device/include/mcs51/c8051f320.h, device/include/mcs51/C8051F320.h,
41172         * device/include/mcs51/c8051f326.h, device/include/mcs51/C8051F326.h,
41173         * device/include/mcs51/c8051f330.h, device/include/mcs51/C8051F330.h,
41174         * device/include/mcs51/c8051f340.h, device/include/mcs51/C8051F340.h,
41175         * device/include/mcs51/c8051f350.h, device/include/mcs51/C8051F350.h,
41176         * device/include/mcs51/c8051f410.h, device/include/mcs51/C8051F410.h:
41177           Renamed to all upper case as per the standard set by SiLabs
41179 2006-11-23 Maarten Brock <sourceforge.brock AT dse.nl>
41181         * device/include/mcs51/C8051F520.h: new, added
41182         * device/include/mcs51/compiler.h: added link about predefined macros
41184 2006-11-23 Raphael Neider <rneider AT web.de>
41186         * src/regression/Makefile: add -L path to fresh library
41187         * src/regression/simulate: emphasize FAILED output
41188         * src/regression/create_stc: output _failures from gpsim
41189         * src/regression/compare4.c,
41190         * src/regression/rotate6.c: fixed char literals,
41191           all compile, all run =8-D
41193         * src/pic/pcode.h: added isPCASMDIR macro
41194         * src/pic/gen.c (genAnd): fixed bit offset
41195         * src/pic/ralloc.c (allocNewDirReg,allocDirReg,allocRegByName,
41196           packBits): unified register numbering schemes,
41197           (newReg): do not insert stack registers into hash table,
41198           (initStack): unpinned pseudo stack, simplified,
41199           (typeRegWithIdx): fixed retrieval of stack registers,
41200         * src/pic/pcode.c (addpCodeComment,sameBank): added,
41201           (pCodeReplace): removed invalid assertion,
41202           (insertPCodeInstruction): fixed newly added labels,
41203           (insertBankSwitch,BankSelect,IsBankChange,DoBankSelect,
41204           FixRegisterBankingInFlow,compareBankFlow,FixBankFlow,
41205           DumpFlow): removed unsed (broken?) code,
41206           (insertBankSel): prevent STATUS from being BANKSELed,
41207           (FixRegisterBanking): rewritten from scratch, implemented generic
41208             optimizations (suppress BANKSELs to same register and to registers
41209             present in all banks),
41210           (AnalyzeBanking): update flow after BANKSELection
41212         * src/pic/glue.c (pic14_constructAbsMap): emit pseudo stack in
41213             sharebank, let linker place it, mark STKxx symbols as emitted
41215 2006-11-21 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41217         * src/regression/arrays.c,
41218         * src/regression/bank1.c,
41219         * src/regression/bool2.c,
41220         * src/regression/compare7.c,
41221         * src/regression/compare8.c,
41222         * src/regression/compare9.c,
41223         * src/regression/compare10.c,
41224         * src/regression/configword.c,
41225         * src/regression/for.c,
41226         * src/regression/mult1.c,
41227         * src/regression/pointer1.c,
41228         * src/regression/rotate6.c,
41229         * src/regression/string1.c,
41230         * src/regression/struct1.c,
41231         * src/regression/Makefile: make PIC14 regression tests run again
41232           (3 fail, 6 won't compile)
41234 2006-11-21 Raphael Neider <rneider AT web.de>
41236         * device/include/pic16/pic18f4550.h,
41237         * device/include/pic16/pic18f4455.h,
41238         * device/lib/pic16/libdev/pic18f4550.c,
41239         * device/lib/pic16/libdev/pic18f4455.c: fixed #1578591 and #1595144
41240         * configure.in: removed superfluous closing bracket
41242 2006-11-21 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41244         * device/lib/expf.c: Fixed bug 1599523: result of expf(x) is
41245           always positive.
41247 2006-11-21 Raphael Neider <rneider AT web.de>
41249         * src/pic/device.{c,h}: added pic14_getPIC()
41250         * src/pic/gen.c (continueIfTrue,jumpIfTrue): added PIC code,
41251           (genAnd): added PIC code for one case, fixes #1597044
41252         * src/pic/pcode.c (BankSelect): Ohoh, added generic optimization for
41253           SFRs that are present in all banks (e.g., STATUS)
41255 2006-11-20 Raphael Neider <rneider AT web.de>
41257         * src/pic/pcode.c: changed inverted ops for DECFSZ/DECFSZW and
41258           INCFSZ/INCFSZW and declared them as changing Z bit,
41259           (insertPCodeInstruction): correctly invert the above instructions,
41260           fixes #1599333,
41261           (DoBankSelect): don't panic on po_immediates
41263 2006-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
41265         * as/link/aslink.h,
41266         * as/link/mcs51/lkihx.c (newArea),
41267         * as/link/mcs51/lkrloc.c: renamed newArea() to ihxNewArea()
41268         * as/link/mcs51/lkihx.c (ihx): output reset vector as start address
41270 2006-11-11 Raphael Neider <rneider AT web.de>
41272         * src/pic/pcode.c (newpCodeOpBit): search SymbolTab for referenced
41273           bitfield symbols, fixes #1579535 (once more...).
41275 2006-11-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41277         * support/regression/generate-cases.py,
41278         * support/regression/fwk/include/testfwk.h,
41279         * support/regression/fwk/lib/testfwk.c: used code pointers,
41280           (about 50kByte less code generated for mcs51)
41282 2006-11-06 Borut Razem <borut.razem AT siol.net>
41284         * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4,
41285           debugger/mcs51/configure: fixed failed check because the function
41286           rl_function_of_keyseq isn't in Readline 5.2. Thanks to Ilya Goldberg
41287           who submitted the patch for gpsim.
41288         * debugger/mcs51/configure.in: removed the result message
41289         * debugger/mcs51/Makefile.in: fixed the config.status warning
41290           "... seems to ignore the --datarootdir setting"
41292 2006-11-03 Maarten Brock <sourceforge.brock AT dse.nl>
41294         * device/include/mcs51/c8051f020.h,
41295         * device/include/mcs51/c8051f040.h,
41296         * device/include/mcs51/c8051f060.h,
41297         * device/include/mcs51/c8051f120.h: added PS0, fixed bug 1589279
41298         * src/z80/gen.c (gencjneshort),
41299         * src/z80/peeph.def: applied patch 1571373, thanks Philipp Krause
41301 2006-10-31 Borut Razem <borut.razem AT siol.net>
41303         * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4,
41304           debugger/mcs51/configure: get readline version
41306 2006-10-30 Borut Razem <borut.razem AT siol.net>
41308         * debugger/mcs51/sdcdb.c: replaced hardcoded "/" with DIR_SEPARATOR_STRING
41309         * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4,
41310           debugger/mcs51/configure: locate readline even when cross compiling
41311         * support/scripts/sdcc.nsi: include readline5.dll into the setup package
41313 2006-10-29 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41315         * device/include/mcs51/serial_IO.h: putchar() and getchar() using
41316           serial port.
41318 2006-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
41320         * device/include/malloc.h,
41321         * device/lib/calloc.c,
41322         * device/lib/free.c,
41323         * device/lib/malloc.c,
41324         * device/lib/realloc.c: moved definition of struct into sources
41325         * support/regression/tests/malloc.c: use void* for init_dynamic_memory()
41327 2006-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
41329         * as/asx8051.dsp: corrected output directories
41330         * as/link/hc08: new directory for hc08 linker
41331         * as/hc08/aslink.h,             as/link/aslink.h,
41332         * as/hc08/aslink.mak,           as/link/hc08/aslink.mak,
41333         * as/hc08/clean.mk,             as/link/hc08/clean.mk,
41334         * as/hc08/link_hc08.dsp,        as/link/hc08/link_hc08.dsp,
41335         * as/hc08/lkaomf51.c,           as/link/hc08/lkaomf51.c,
41336         * as/hc08/lkarea.c,             as/link/hc08/lkarea.c,
41337         * as/hc08/lkdata.c,             as/link/hc08/lkdata.c,
41338         * as/hc08/lkelf.c,              as/link/hc08/lkelf.c,
41339         * as/hc08/lkihx.c,              as/link/hc08/lkihx.c,
41340         * as/hc08/lklibr.c,             as/link/hc08/lklibr.c,
41341         * as/hc08/lkmain.c,             as/link/hc08/lkmain.c,
41342         * as/hc08/lkmem.c,              as/link/hc08/lkmem.c,
41343         * as/hc08/lkrloc.c,             as/link/hc08/lkrloc.c,
41344         * as/hc08/lks19.c,              as/link/hc08/lks19.c,
41345         * as/hc08/Makefile.aslink,      as/link/hc08/Makefile.aslink,
41346         * as/hc08/Makefile.bcc,         as/link/hc08/Makefile.bcc,
41347         * as/hc08/Makefile.in,          as/link/hc08/Makefile.in,
41348         * as/link/hc08/conf.mk,
41349         * configure,
41350         * configure.in,
41351         * Makefile.in,
41352         * sdcc.dsw: moved hc08 linker to as/link/hc08
41353         * as/hc08/lkeval.c,     as/link/mcs51/lkeval.c,     as/link/lkeval.c,
41354         * as/hc08/lkhead.c,     as/link/mcs51/lkhead.c,     as/link/lkhead.c,
41355         * as/hc08/lklex.c,      as/link/mcs51/lklex.c,      as/link/lklex.c,
41356         * as/hc08/lklist.c,     as/link/mcs51/lklist.c,     as/link/lklist.c,
41357         * as/hc08/lknoice.c,    as/link/mcs51/lknoice.c,    as/link/lknoice.c,
41358         * as/hc08/lksym.c,      as/link/mcs51/lksym.c,      as/link/lksym.c,
41359         * as/link/mcs51/aslink.dsp,
41360         * as/link/mcs51/Makefile.in: factored out the common files
41361         * as/hc08/lkstore.c: deleted, use the one already in as/link/
41362         * as/clean.mk: extra cleaning common files
41363         * as/link/mcs51/strcmpi.c,      as/strcmpi.c: moved
41364         * as/link/mcs51/strcmpi.h: deleted, moved protoype to aslink.h
41365         * as/mcs51/asm.h: include sdccconf.h or sdcc_vc.h
41367 2006-10-29 Raphael Neider <rneider AT web.de>
41369         * src/pic/ralloc.c (newReg): create aliases for registers with
41370           multiple names to fix #1579535 and #1584001,
41371           (regWithIdx,dirregWithName): resolve aliases on lookup
41372         * src/pic/pcode.c (DoBankSelect): die with error message on failing
41373           bankselect
41374         * device/lib/pic/libdev/Makefile.in: move pseudo stack down to 0x4f
41375           to prevent build errors on small devices
41377 2006-10-28 Raphael Neider <rneider AT web.de>
41379         * src/pic/gen.c (genFunction,genCall): drop "same code page"
41380           assumption within interrupt handlers, fixes #1584940
41381         * src/pic/glue.c (pic14_constructAbsMap): mark absolute symbols as
41382           "emitted" to avoid emitting them again in udata
41384 2006-10-27 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41386         * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c:
41387         Removed.
41389 2006-10-26 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41391         * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c:
41392         Initialize uart only if SM0 and SM1 are zero.  Also, use flag to turn
41393         on/off CR to CRLF conversion.
41395 2006-10-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41397         * doc/sdccman.lyx: updated IRQ section
41399 2006-10-24 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41401         * device/lib/serial_io.c: removed
41402         * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c
41403         replacements for serial_io.c
41405 2006-10-24 Maarten Brock <sourceforge.brock AT dse.nl>
41407         * src/z80/main.c (_process_pragma, _parseOptions): fixed bug 1583318
41409 2006-10-24 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41411         * device/lib/serial_io.c: Default putchar() and getchar() for
41412           mcs51 uses serial port.
41414 2006-10-23 Maarten Brock <sourceforge.brock AT dse.nl>
41416         * src/mcs51/gen.c (movc): improved check for 0 and 1, see RFE 1582704
41418 2006-10-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41420         * support/regression/ports/mcs51/support.c: smaller
41421         _sdcc_external_startup()
41422         * device/lib/mcs51/crtxclear.asm: don't check high byte of l_PSEG
41424 2006-10-20 Maarten Brock <sourceforge.brock AT dse.nl>
41426         * device/lib/gbz80/crt0.s,
41427         * device/lib/gbz80/crt0_rle.s,
41428         * device/lib/gbz80/div.s,
41429         * device/lib/gbz80/fstubs.s,
41430         * device/lib/gbz80/heap.s,
41431         * device/lib/gbz80/mul.s,
41432         * device/lib/gbz80/putchar.s,
41433         * device/lib/gbz80/stubs.s,
41434         * device/lib/z80/crt0.s,
41435         * device/lib/z80/crt0_rle.s,
41436         * device/lib/z80/div.s,
41437         * device/lib/z80/fstubs.s,
41438         * device/lib/z80/heap.s,
41439         * device/lib/z80/mul.s,
41440         * device/lib/z80/putchar.s,
41441         * device/lib/z80/stubs.s: reverted, I was mistaken
41443 2006-10-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41445         * src/mcs51/peeph.def: peephole 238.x added check for notvolatile
41446         * support/regression/ports/mcs51/support.c: removed race
41447         condition on TI in _putchar allowing to use serial port mode 0
41449 2006-10-20 Borut Razem <borut.razem AT siol.net>
41451         * debugger/mcs51/sdcdb.c: replaced isblank() with isspace()
41453 2006-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
41455         * device/lib/gbz80/crt0.s,
41456         * device/lib/gbz80/crt0_rle.s,
41457         * device/lib/gbz80/div.s,
41458         * device/lib/gbz80/fstubs.s,
41459         * device/lib/gbz80/heap.s,
41460         * device/lib/gbz80/mul.s,
41461         * device/lib/gbz80/putchar.s,
41462         * device/lib/gbz80/stubs.s,
41463         * device/lib/z80/crt0.s,
41464         * device/lib/z80/crt0_rle.s,
41465         * device/lib/z80/div.s,
41466         * device/lib/z80/fstubs.s,
41467         * device/lib/z80/heap.s,
41468         * device/lib/z80/mul.s,
41469         * device/lib/z80/putchar.s,
41470         * device/lib/z80/stubs.s: removed all leading underscores from area names
41472 2006-10-17 Maarten Brock <sourceforge.brock AT dse.nl>
41474         * support/regression/ports/mcs51/support.c: use highest baudrate so the
41475           regression tests are not waiting in the simulator for simulated
41476           transmission of debug output
41478 2006-10-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41480         * device/lib/printf_large.c: slightly smaller
41481         * doc/sdccman.lyx: do not use spaces within html links
41483 2006-10-16 Borut Razem <borut.razem AT siol.net>
41485         * configure.in, configure, sdccconf_in.h, src/SDCCglobal,
41486           debugger/mcs51/Makefile.in, debugger/mcs51/sdcdb.[ch],
41487           debugger/mcs51/aclocal.m4, debugger/mcs51/acinclide.m4,
41488           debugger/mcs51/config.h.in, debugger/mcs51/configure.in,
41489           debugger/mcs51/configure:
41490           [ 1185668 ] add gnu readline support to sdcdb - enabled
41492 2006-10-16 Raphael Neider <rneider AT web.de>
41494         * src/pic/pcode.c (BankSelect): another fix on (partial) BANKSELs,
41495           fixes #1577882, removes close to all banking optimizations
41497 2006-10-15 Maarten Brock <sourceforge.brock AT dse.nl>
41499         * src/SDCCsymt.c (checkSClass): no error for uninitialised absolute
41500           variables in code memory
41501         * support/regression/tests/absolute.c: added test for this
41503 2006-10-15 Raphael Neider <rneider AT web.de>
41505         * src/pic/pcode.c (InsertBankSel): suppress BANKSELs for one bank
41506           devices,
41507           (BankSelect): emit BANKSEL before touching linker-placed regs,
41508           fixes #1570934
41510 2006-10-10 Raphael Neider <rneider AT web.de>
41512         * src/SDCCmain.c (optionsTable): accept --stack-size for PICs,
41513         * src/pic/device.c (pic14_getSharebankSize,pic14_getSharebankAddress),
41514         * src/pic/main.c (_pic14_parseOptions),
41515         * src/pic/main.h: mostly reverted to previous state, now use results
41516             from SDCCmain.c's argument parsing
41518 2006-10-10 Borut Razem <borut.razem AT siol.net>
41520         * debugger/mcs51/break.[ch], debugger/mcs51/cmd.c,
41521           debugger/mcs51/sdcdb.[ch], debugger/mcs51/simi.c:
41522           [ 1185668 ] add gnu readline support to sdcdb -
41523           prepared for READLINE, not enabled yet,
41524           thanks to <tal.bav AT gmail.com>
41526 2006-10-10 Raphael Neider <rneider AT web.de>
41528         * src/pic16/pcode.c (pic16_pCode2str): use isACCESS_BANK macro
41529         * src/pic16/devices.inc,
41530         * device/include/pic16 (pic18f[24]620.h),
41531         * device/include/pic18fregs.h,
41532         * device/lib/pic16/pics.all,
41533         * device/lib/pic16/libdev/pic18f[24]{620,525}.c): added support for
41534             18f2620, 18f4620, 18f2525, and 18f4525 devices, thanks to
41535             Gary Plumbridge and Anton Strobl
41537 2006-10-10 Raphael Neider <rneider AT web.de>
41539         * src/pic/main.c (_pic14_parseOptions): added --stack-loc=NUM and
41540           --stack-siz=NUM options to configure the argument passing stack
41541         * src/pic/main.h: added stackLocation and stackSize to pic14_options_t
41542         * src/pic/device.c (mapRegister): catch out-of-memory SIGSEGVs,
41543           (pic14_getSharebankSize): obey --stack-siz=NUM,
41544           (pic14_getSharebankAddress): obey --stack-loc=NUM
41546 2006-10-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41548         * doc/sdccman.lyx: added to the manual
41549         * doc/figures/ddd_example.png: added (neither pdflatex nor
41550         most browsers seem to like the .eps file)
41552 2006-10-06 Bernhard Held <bernhard AT bernhardheld.de>
41554         * src/SDCCglue.c (tempfileandname): changed un*x tmp search paths
41555         to /tmp and /var/tmp acc. LSB
41556         * src/SDCCast.c (addCast): Fixed bug 1571231: promote in case of
41557         RESULT_TYPE_IFX
41558         * support/regression/tests/onebyte.c: added test
41560 2006-10-05 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41562         * src/mcs51/gen.c: emitcode for "add a,0x%02x" requires only 8 bits.
41564 2006-10-05 Borut Razem <borut.razem AT siol.net>
41566         * partially fixed [ 1570701 ] peephole - not replacing code from multiline macros,
41567           thanks to dfulab:
41568           - sdcc.dsw: changed property eol-style to CRLF
41569           - support/scripts/resource.rc: replaced references to "afxres.h" with "winres.h"
41571 2006-10-04 Raphael Neider <rneider AT web.de>
41573         * device/include/pic/{pic16f84.h,pic16f84a.h},
41574         * device/lib/pic/libdev/{pic16f84.c,pic16f84a.c}: added PORT[AB]_bits
41575           from patch #1522504, thanks to Robas Teodor
41577 2006-10-02 Maarten Brock <sourceforge.brock AT dse.nl>
41579         * as/link/z80/lkarea.c: essentially reverted lnksect() to #4380 which
41580           fixes bug 1566015
41582 2006-10-01 Maarten Brock <sourceforge.brock AT dse.nl>
41584         * src/pic16/glue.c (pic16emitMaps),
41585         * src/pic/glue.c (pic14emitMaps): hopefully fixed bug 1568779
41586         * device/lib/gets.c: fixed bug 1568829,thanks Philipp Krause
41587         * device/lib/pic16/libc/string/memcpypgm2ram.c,
41588         * device/lib/pic16/libc/string/memcpyram2ram.c: fixed bug 1568836, thanks
41589           Philipp Krause
41590         * as/mcs51/asmain.c (asmbl, newdot): fixed problems with absolute areas
41591         * as/link/mcs51/lkmem.c (summary2): reverted, do do count abs segments
41593 2006-09-30 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41595         * support/librarian/sdcclib.c: Added option -l.
41596         * as/link/mcs51/lkmem.c: don't use absolute segments to compute memory
41597           usage totals.
41598         * device/lib/make51lib.bat: added.  Allows building mcs51 libraries easily
41599           using Windows command prompt.
41601 2006-09-30 Maarten Brock <sourceforge.brock AT dse.nl>
41603         * device/lib/libsdcc.lib: added module rand
41604         * src/ds390/ralloc.c (rematStr),
41605         * src/hc08/ralloc.c (rematStr),
41606         * src/mcs51/ralloc.c (rematStr),
41607         * src/z80/ralloc.c (rematStr): made output more consistent
41608         * src/mcs51/gen.c: cosmetic changes
41610 2006-09-30 Maarten Brock <sourceforge.brock AT dse.nl>
41612         * src/port.h: added mem.cabs_name to PORT
41613         * src/ds390/main.c,
41614         * src/hc08/main.c,
41615         * src/mcs51/main.c,
41616         * src/pic16/main.c,
41617         * src/pic/main.c,
41618         * src/xa51/main.c,
41619         * src/z80/main.c: added cabs_name initializers
41620         * src/SDCCglue.c (emitStaticSeg): allocate and initialize absolute
41621           constants
41622           (emitMaps): emit absolutes in code memory into cabs_name
41623         * src/SDCCmem.c,
41624         * src/SDCCmem.h: added memory map c_abs and defined CABS_NAME
41625         * src/ds390/gen.c (genCodePointerGet): fixed bug if left is a literal
41626         * support/regression/fwk/include/testfwk.h: added define for at
41627         * support/regression/tests/absolute.c: added, new
41629 2006-09-29 Maarten Brock <sourceforge.brock AT dse.nl>
41631         * src/mcs51/gen.c (genPlusIncr, genMinusDec, genAddrOf): small
41632           optimizations, see also patch 887161 by Stas Sergeev
41633         * src/mcs51/peeph.def(104, 207, 209, 212): disabled as they do not seem
41634           to be necessary anymore,
41635           (102, 103, 104, 127): renamed all occurances of bp to _bp
41637 2006-09-27 Maarten Brock <sourceforge.brock AT dse.nl>
41639         * device/include/mcs51/at89c51snd1c.h: fixed MSK_SREQ definition
41640           thanks Weston T. Schmidt for patch 1555221
41641         * src/mcs51/peeph.def: renamed rule 257 to 257.a, added 257.b
41642         * src/SDCCicode.c(geniCodeMultiply): small optimization
41644 2006-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
41646         * device/include/stdlib.h: added rand prototypes
41647         * device/lib/rand.c: new, added
41648         * device/lib/Makefile.in: added rand.c
41649         * src/z80/peeph.def,
41650         * src/z80/peeph-gbz80.def,
41651         * src/z80/peeph-z80.def: updated conditonals, fixed bug 1565908
41653 2006-09-20 Raphael Neider <rneider AT web.de>
41655         * device/lib/pic16/libio/i2c/i2cnack.c (i2c_nack): fixed ACKDT bit
41657 2006-09-19 Maarten Brock <sourceforge.brock AT dse.nl>
41659         * as/link/aslink.h: cosmetic changes
41660         * as/link/mcs51/Makefile.in,
41661         * as/link/z80/Makefile.in: fixed build on CF where VPATH is used
41663 2006-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
41665         * as/link/aslink.h,
41666         * as/link/mcs51/aslink.h,
41667         * as/link/z80/aslink.h: merged and moved to as/link/
41668         * as/link/lkstore.c,
41669         * as/link/mcs51/lkstore.c: moved to as/link/
41670         * as/link/clean.mk: remove *.o
41671         * as/link/mcs51/alloc.h: deleted
41672         * as/link/mcs51/lkarea.c: added lnksect prototype
41673         * as/link/mcs51/lkdata.c,
41674         * as/link/mcs51/lklex.c,
41675         * as/link/mcs51/lkmain.c: renamed as_getline to lk_getline
41676         * as/link/mcs51/lkmem.c,
41677         * as/link/mcs51/lknoice.c: removed include strcmpi.h
41678         * as/link/mcs51/lksym.c: include stdlib.h instead of malloc.h or alloc.h
41679         * as/link/mcs51/aslink.dsp,
41680         * as/link/mcs51/Makefile.aslink,
41681         * as/link/mcs51/Makefile.bcc,
41682         * as/link/mcs51/Makefile.in: updated for moved files
41683         * as/link/z80/lkarea.c,
41684         * as/link/z80/lkhead.c,
41685         * as/link/z80/lklex.c,
41686         * as/link/z80/lklibr.c,
41687         * as/link/z80/lklist.c,
41688         * as/link/z80/lkmain.c,
41689         * as/link/z80/lkrloc.c,
41690         * as/link/z80/lksym.c: synced with mcs51
41691         * as/link/z80/lkdata.c,
41692         * as/link/z80/lkeval.c,
41693         * as/link/z80/lkihx.c,
41694         * as/link/z80/lks19.c: cosmetic changes
41695         * as/link/z80/Makefile.in,
41696         * as/link/z80/linkgbz80.dsp,
41697         * as/link/z80/linkz80.dsp: updated for moved files
41699 2006-09-16 Borut Razem <borut.razem AT siol.net>
41701         * debugger/mcs51/sdcdb.c: partially fixed
41702           [ 1203664 ] sdcdb fails to open files w. two "." periods
41703         * debugger/mcs51/simi.c, debugger/mcs51/symtab.c,
41704           debugger/mcs51/symtab.h: fixed indenting
41705         * configure.in, configure: up to date with latest Maarten's changes
41707 2006-09-15 Maarten Brock <sourceforge.brock AT dse.nl>
41709         as/link/mcs51
41710         as/aslink.dsp,                  as/link/mcs51/aslink.dsp,
41711         as/link/mcs51/aslink.h,         as/mcs51/aslink.h,
41712         as/link/mcs51/aslink.mak,       as/mcs51/aslink.mak,
41713         as/link/mcs51/lkaomf51.c,       as/mcs51/lkaomf51.c,
41714         as/link/mcs51/lkarea.c,         as/mcs51/lkarea.c,
41715         as/link/mcs51/lkdata.c,         as/mcs51/lkdata.c,
41716         as/link/mcs51/lkeval.c,         as/mcs51/lkeval.c,
41717         as/link/mcs51/lkhead.c,         as/mcs51/lkhead.c,
41718         as/link/mcs51/lkihx.c,          as/mcs51/lkihx.c,
41719         as/link/mcs51/lklex.c,          as/mcs51/lklex.c,
41720         as/link/mcs51/lklibr.c,         as/mcs51/lklibr.c,
41721         as/link/mcs51/lklist.c,         as/mcs51/lklist.c,
41722         as/link/mcs51/lkmain.c,         as/mcs51/lkmain.c,
41723         as/link/mcs51/lkmem.c,          as/mcs51/lkmem.c,
41724         as/link/mcs51/lknoice.c,        as/mcs51/lknoice.c,
41725         as/link/mcs51/lkrloc.c,         as/mcs51/lkrloc.c,
41726         as/link/mcs51/lks19.c,          as/mcs51/lks19.c,
41727         as/link/mcs51/lkstore.c,        as/mcs51/lkstore.c,
41728         as/link/mcs51/lksym.c,          as/mcs51/lksym.c,
41729         as/link/mcs51/Makefile.aslink,  as/mcs51/Makefile.aslink,
41730         as/link/mcs51/alloc.h,
41731         as/link/mcs51/clean.mk,
41732         as/link/mcs51/conf.mk,
41733         as/link/mcs51/Makefile.bcc,
41734         as/link/mcs51/Makefile.in,
41735         as/link/mcs51/readme.390,
41736         as/link/mcs51/strcmpi.c,
41737         as/link/mcs51/strcmpi.h,
41738         as/mcs51/clean.mk,
41739         as/mcs51/Makefile.bcc,
41740         as/mcs51/Makefile.in,
41741         configure,
41742         Makefile.in,
41743         sdcc.dsw: moved mcs51 linker to as/link/mcs51
41745 2006-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
41747         * as/link,
41748         * as/link/Makefile.in,
41749         * as/link/z80/linkgbz80.dsp,
41750         * as/link/z80/linkz80.dsp,
41751         * configure,
41752         * link,
41753         * link/clean.mk,
41754         * link/Makefile.in,
41755         * link/README,
41756         * link/z80,
41757         * link/z80/aslink.h,
41758         * link/z80/clean.mk,
41759         * link/z80/conf.mk,
41760         * link/z80/linkgbz80.dsp,
41761         * link/z80/linkz80.dsp,
41762         * link/z80/lkarea.c,
41763         * link/z80/lkdata.c,
41764         * link/z80/lkeval.c,
41765         * link/z80/lkgb.c,
41766         * link/z80/lkgg.c,
41767         * link/z80/lkhead.c,
41768         * link/z80/lkihx.c,
41769         * link/z80/lklex.c,
41770         * link/z80/lklibr.c,
41771         * link/z80/lklist.c,
41772         * link/z80/lkmain.c,
41773         * link/z80/lkrloc.c,
41774         * link/z80/lks19.c,
41775         * link/z80/lksym.c,
41776         * link/z80/Makefile.in,
41777         * Makefile.in,
41778         * sdcc.dsw: moved link/ to as/link/
41780 2006-09-11 Maarten Brock <sourceforge.brock AT dse.nl>
41782         * as/mcs51/i51mch.c (machine): fixed warning
41784 2006-09-10 Maarten Brock <sourceforge.brock AT dse.nl>
41786         * as/mcs51/i51mch.c (machine): S_DJNZ fixed bug 1554318
41788 2006-09-09 Borut Razem <borut.razem AT siol.net>
41790         * debugger/mcs51/sdcdb.c, debugger/mcs51/simi.c:
41791           sdcdb WIN32 native port
41792         * src/clean.mk: fixed
41794 2006-09-08 Borut Razem <borut.razem AT siol.net>
41796         * doc/sdccman.lyx: SDCDB and ucSim are available on Win32 platforms.
41798 2006-09-08 Raphael Neider <rneider AT web.de>
41800         * src/pic16/main.c (_pic16_linkEdit,pic16_linkCmd),
41801         * src/pic/main.c(_pic14_do_link, linkCmd): pass "-w" and "-r"
41802             to gplink to disable processor mismatch warning and to allow
41803             the use of devices with only aliased (shared) memory banks,
41804           (_pic16_genAssemblerPreamble): include pXXX.inc on --mplab-comp
41806 2006-09-07 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41808         * doc/sdccman.lyx: Some re-formating plus example on using
41809           #pragma preproc_asm +/-
41811 2006-09-07 Borut Razem <borut.razem AT siol.net>
41813         * support/scripts/sdcc.nsi: added SDCDB executables in a separate
41814           section
41816 2006-09-06 Borut Razem <borut.razem AT siol.net>
41818         * support/scripts/sdcc.nsi: fixed Error: unterminated string parsing
41819           line at sdcc.nsi:153
41820         * sdcc/debugger/mcs51/simi.c: argsToCmdLine() fixes
41822 2006-09-05 Borut Razem <borut.razem AT siol.net>
41824         * configure.in, configure: support for winsock2
41825         * debugger/mcs51/break.h, debugger/mcs51/cmd.c,
41826           debugger/mcs51/cmd.h, debugger/mcs51/sdcdb.c,
41827           debugger/mcs51/sdcdb.h, debugger/mcs51/simi.c,
41828           debugger/mcs51/simi.h, debugger/mcs51/symtab.c,
41829           debugger/mcs51/symtab.h: sdcdb WIN32 native port
41831 2006-09-05 Maarten Brock <sourceforge.brock AT dse.nl>
41833         * src/SDCCopt.c (cnvToFcall): fixed bug 1551947 by updating OP_USES
41834           and OP_DEFS
41835         * support/regression/tests/bug1551947.c: new, added
41836         * src/SDCCsymt.h: strings are char* not byte*
41838 2006-09-05 Raphael Neider <rneider AT web.de>
41840         * device/lib/pic16/libdev/pic18f4550.c,
41841           device/include/pic16/pic18f4550.h: added PORTD/TRISD
41842             declarations/definitions from patch #1520949
41844 2006-09-05 Raphael Neider <rneider AT web.de>
41846         * src/pic16/gen.c (genPackBits): fix assignment to 8-bit,
41847           byte-aligned bitfields, fixes #1539278
41849 2006-09-05 Raphael Neider <rneider AT web.de>
41851         * src/pic/gen.c (genReceive): skip unreferenced arguments,
41852           fixes #1544120
41854 2006-09-04 Borut Razem <borut.razem AT siol.net>
41856         * support/scripts/sdcc.nsi: move ucSim executables to a separate section
41857         * support/scripts/sdcc_cygwin_mingw32: don't disable ucsim,
41858           -mno-cygwin is a part of the compiler name
41859         * support/scripts/sdcc_mingw32: don't disable ucsim
41861 2006-09-03 Borut Razem <borut.razem AT siol.net>
41863         * sdcc.spec: corrected for 2.6.0. Thanks to Christer Weinigel.
41864         * device/lib/Makefile.in device/lib/clean.mk: small but essential corrections
41866 2006-09-03 Raphael Neider <rneider AT web.de>
41868         * src/pic/ralloc.c,
41869         * src/pic/pcode.c (InitReuseRegs): allocate registers with pseudo
41870           indices >= 0x1000 to disambiguate them from fixed regs __at(addr),
41871           fixes #1550049
41873 2006-09-01 Borut Razem <borut.razem AT siol.net>
41875         * sim/ucsim/cmd.src/cmdutil.cc: #include <sys/time.h> and <unistd.h>
41876           to make ppc-osx happy
41878 2006-08-31 Borut Razem <borut.razem AT siol.net>
41880         * sim/ucsim/cmd.src/newcmdposix.cc: #include <assert.h>
41881         * sim/ucsim/cmd.src/newcmd.cc: #include <ctype.h>
41882         * sim/ucsim/cmd.src/newcmd.cc: #include <ctype.h>
41883         * support/regression/ports/ds390/spec.mk,
41884           support/regression/ports/mcs51/spec.mk,
41885           support/regression/ports/xa51/spec.mk: introduced DEV_NULL variable.
41886           To run regression tests in mingw environment:
41887           make DEV_NULL=NUL CC=gcc
41889 2006-08-30 Borut Razem <borut.razem AT siol.net>
41891         * sim/ucsim/cmd.src/newcmdposix.cc, sim/ucsim/cmd.src/newcmdposixcl.h,
41892           sim/ucsim/cmd.src/newcmdwin32.cc, sim/ucsim/cmd.src/newcmdwin32cl.h,
41893           sim/ucsim/app.cc, sim/ucsim/appcl.h, sim/ucsim/configure,
41894           sim/ucsim/configure.in, sim/ucsim/ddconfig_in.h, sim/ucsim/error.cc,
41895           sim/ucsim/errorcl.h, sim/ucsim/option.cc, sim/ucsim/optioncl.h,
41896           sim/ucsim/utils.cc, sim/ucsim/utils.h, sim/ucsim/cmd.src/Makefile.in,
41897           sim/ucsim/avr.src/avr.cc, sim/ucsim/avr.src/avrcl.h,
41898           sim/ucsim/cmd.src/bp.cc, sim/ucsim/cmd.src/bpcl.h,
41899           sim/ucsim/cmd.src/cmdconf.cc, sim/ucsim/cmd.src/cmdgui.cc,
41900           sim/ucsim/cmd.src/cmdmem.cc, sim/ucsim/cmd.src/cmdset.cc,
41901           sim/ucsim/cmd.src/cmdsetcl.h, sim/ucsim/cmd.src/cmdstat.cc,
41902           sim/ucsim/cmd.src/cmduc.cc, sim/ucsim/cmd.src/cmduccl.h,
41903           sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/cmdutil.h,
41904           sim/ucsim/cmd.src/command.cc, sim/ucsim/cmd.src/commandcl.h,
41905           sim/ucsim/cmd.src/get.cc, sim/ucsim/cmd.src/getcl.h,
41906           sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/newcmd.cc,
41907           sim/ucsim/cmd.src/newcmdcl.h, sim/ucsim/cmd.src/set.cc,
41908           sim/ucsim/cmd.src/show.cc, sim/ucsim/cmd.src/timer.cc,
41909           sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
41910           sim/ucsim/s51.src/Makefile.in, sim/ucsim/s51.src/interrupt.cc,
41911           sim/ucsim/s51.src/interruptcl.h, sim/ucsim/s51.src/pca.cc,
41912           sim/ucsim/s51.src/pcacl.h, sim/ucsim/s51.src/port.cc,
41913           sim/ucsim/s51.src/portcl.h, sim/ucsim/s51.src/serial.cc,
41914           sim/ucsim/s51.src/serialcl.h, sim/ucsim/s51.src/timer0.cc,
41915           sim/ucsim/s51.src/timer0cl.h, sim/ucsim/s51.src/timer1.cc,
41916           sim/ucsim/s51.src/timer1cl.h, sim/ucsim/s51.src/timer2.cc,
41917           sim/ucsim/s51.src/timer2cl.h, sim/ucsim/s51.src/uc390.cc,
41918           sim/ucsim/s51.src/uc390cl.h, sim/ucsim/s51.src/uc390hw.cc,
41919           sim/ucsim/s51.src/uc390hwcl.h, sim/ucsim/s51.src/uc51.cc,
41920           sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/wdt.cc,
41921           sim/ucsim/s51.src/wdtcl.h, sim/ucsim/sim.src/hw.cc,
41922           sim/ucsim/sim.src/hwcl.h, sim/ucsim/sim.src/mem.cc,
41923           sim/ucsim/sim.src/memcl.h, sim/ucsim/sim.src/obsolete.cc,
41924           sim/ucsim/sim.src/obsolete.h, sim/ucsim/sim.src/sim.cc,
41925           sim/ucsim/sim.src/simcl.h, sim/ucsim/sim.src/stack.cc,
41926           sim/ucsim/sim.src/stackcl.h, sim/ucsim/sim.src/test_mem_speed.cc,
41927           sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
41928           sim/ucsim/xa.src/xa.cc, sim/ucsim/xa.src/xacl.h,
41929           sim/ucsim/z80.src/z80.cc, sim/ucsim/z80.src/z80cl.h:
41930           ucsim WIN32 native port
41932 2006-08-30 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41934         * doc/sdccman.lyx: added note on dynamic memory heap initialization
41936 2006-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
41938         * src/mcs51/gen.c (genAnd, genOr, genXor): fixed bug 1546986
41939         * src/ds390/gen.c (aopGetUsesAcc): handle AOP_DPTR2 and AOP_DPTRn too
41941 2006-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
41943         * src/ds390/gen.c (genAnd, genOr, genXor): fixed bug 1546986
41944         * support/regression/tests/bug1546986.c: new, added
41945         * as/mcs51/.cvsignore,
41946         * debugger/mcs51/.cvsignore,
41947         * src/.cvsignore: deleted
41949 2006-08-25 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41951         * device/include/mcs51/P89c51RD2.h: fixed bug 1546936 (error in sbit
41952           definitions)
41954 2006-08-20 Borut Razem <borut.razem AT siol.net>
41956         * sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/newcmdcl.h:
41957           removed cl_listen_console::match(), cl_console::match(),
41958           restructured cl_commander::proc_input()
41960 2006-08-16 Borut Razem <borut.razem AT siol.net>
41962         * sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/newcmdcl.h,
41963           sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/cmdutil.h,
41964           sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/uc.cc: code cleaning
41966 2006-08-14 Borut Razem <borut.razem AT siol.net>
41968         * support/regression/Makefile.in,
41969           support/regression/ports/pic14/gpsim.cmd,
41970           support/regression/ports/pic14/spec.mk,
41971           support/regression/ports/pic14/support.c:
41972           added pic14 regression test
41974 2006-08-14 Maarten Brock <sourceforge.brock AT dse.nl>
41976         * as/doc/asxhtm.html: documented changed ABS behaviour
41977         * as/doc/README: fixed some typos
41979 2006-08-13 Maarten Brock <sourceforge.brock AT dse.nl>
41981         * support/regression/tests/float_trans.c: disabled test if __STDC_IEC_559__
41982           not defined on host
41984 2006-08-12 Borut Razem <borut.razem AT siol.net>
41986         * support/regression/fwk/include/testfwk.h,
41987           support/regression/fwk/lib/testfwk.c,
41988           support/regression/generate-cases.py,
41989           support/regression/Makefile.in:
41990           regression test framework does not depend on function pointers and
41991           variable arguments
41993 2006-08-09 Maarten Brock <sourceforge.brock AT dse.nl>
41995         * device/include/stddef.h: c temporary hack to fix bug 1518273
41997 2006-08-09 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41999         * device/include/mcs51/cc2510fx.h: added
42000         * src/z80/z80.dsp, src/gbz80/gbz80.dsp: added support/Util/strcmpi.ch
42001           to projects.
42003 2006-08-09 Maarten Brock <sourceforge.brock AT dse.nl>
42005         * as/z80/assym.c (mlookup): ignore case when looking up mnemonics
42006         * as/z80/Makefile.in: added strcmpi.c
42007         * as/z80/z80adr.c: added upper case registers and lower case conditionals
42008         * support/Util/strcmpi.ch: added with intention to remove from mcs51/hc08
42010 2006-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
42012         * device/lib/gbz80/asm_strings.s,
42013         * device/lib/gbz80/crt0_rle.s,
42014         * device/lib/gbz80/div.s,
42015         * device/lib/gbz80/mul.s,
42016         * device/lib/gbz80/shift.s,
42017         * device/lib/z80/asm_strings.s,
42018         * device/lib/z80/crt0_rle.s,
42019         * device/lib/z80/div.s,
42020         * device/lib/z80/mul.s,
42021         * device/lib/z80/shift.s: changed to all lower case menmonics except the
42022           flags which are all upper case
42024 2006-08-07 Maarten Brock <sourceforge.brock AT dse.nl>
42026         * as/z80/asm.h: made CASE_SENSITIVE 1
42027         * link/z80/aslink.h: made CASE_SENSITIVE 1
42028         * src/z80/gen.c (throughout): made all conditionals upper case
42029         * support/regression/tests/bug1503067.c: new
42031 2006-08-07 Maarten Brock <sourceforge.brock AT dse.nl>
42033         * src/z80/gen.c (aopPut): fixed bug !*ixy should be !*iyx,
42034           (shiftIntoPair): added case 2 for PAIR_IY,
42035           (setupToPreserveCarry): replaced parameters with iCode and check if
42036            PAIR_DE is in use to fix bug 1399290,
42037           (genPlus, genMinus): updated call to setupToPreserveCarry
42038         * support/regression/tests/bug1399290.c: new
42040 2006-08-06 Maarten Brock <sourceforge.brock AT dse.nl>
42042         * device/lib/Makefile.in (Z80SOURCES): enabled float support
42043         * sim/ucsim/z80.src/inst.cc (inst_rst): generate breakpoint on RST8,ACC==0
42044         * src/ds390/gen.c (shiftRLong),
42045         * src/hc08/gen.c (shiftLLong, shiftRLong): fixed bug 1533966
42046         * src/mcs51/gen.c (sameReg): changed to sameByte,
42047           (xch_a_aopGet): new,
42048           (shiftL2Left2Result, shiftR2Left2Result, shiftRLeftOrResult, shiftLLong,
42049            shiftRLong): fixed bug 1533966
42050         * src/z80/gen.c (shiftR2Left2Result, shiftL2Left2Result, genlshTwo,
42051           genLeftShiftLiteral, genrshTwo, genRightShiftLiteral): fixed bug 1533966
42052         * support/regression/Makefile.in: disabled z80, enabled ucz80
42053         * support/regression/tests/float_trans.c: enabled test for z80 and host
42054         * support/regression/tests/shifts2.c: new, for testing bug 1533966
42056 2006-08-01 Borut Razem <borut.razem AT siol.net>
42058         * src/mcs51/gen.c, src/dc390/gen.c: fixed warning:
42059           comparison is always false due to limited range of data type
42060           on PPC64 machine (openpower-linux1) where "char = unsigned char"
42062 2006-08-01 Maarten Brock <sourceforge.brock AT dse.nl>
42064         * sim/ucsim/hc08.src/hc08mac.h: removed faulty and unused add_u16_disp
42065         * sim/ucsim/hc08.src/hc08.cc: removed faulty and unused int8
42066         * sim/ucsim/z80.src/z80mac.h (add_u16_disp): use explicit signed char cast
42067         * sim/ucsim/z80.src/z80.cc: removed faulty and unused int8
42069 2006-07-31 Borut Razem <borut.razem AT siol.net>
42071         * sim/ucsim/configure, sim/ucsim/cmd.src/newcmdcl.h,
42072           sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/cmdutil.cc,
42073           sim/ucsim/z80.src/Makefile.in, sim/ucsim/configure.in,
42074           sim/ucsim/hc08.src/Makefile.in, sim/ucsim/hc08.src/hc08.cc,
42075           sim/ucsim/ddconfig_in.h, sim/ucsim/s51.src/Makefile.in,
42076           sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/serialcl.h,
42077           sim/ucsim/s51.src/uc51.cc, sim/ucsim/s51.src/serial.cc,
42078           sim/ucsim/app.cc, sim/ucsim/avr.src/Makefile.in:
42079           enable ucsim mingw compilation. Serial port is disabled,
42080           since it uses termios.h API, which is not available on native
42081           WIN32
42083 2006-07-31 Borut Razem <borut.razem AT siol.net>
42085         * Small Device C Compiler 2.6.0 released
42086         * support/scripts/sdcc.nsi: added FULL_DOC option
42087         * .version, doc/sdccman.lyx: changed sdcc version to 2.6.1
42089 2006-07-28 Borut Razem <borut.razem AT siol.net>
42091         * support/scripts/sdcc.nsi: remove $INSTDIR/include/asm/pic16/*.h
42092         * doc/INSTALL.txt: updated
42094 2006-07-27 Borut Razem <borut.razem AT siol.net>
42096         * device/lib/pic/Makefile.in, device/lib/pic/Makefile.subdir,
42097           device/lib/pic/libdev/Makefile.in: fixed bug
42098           [ 1438354 ] pic libsdcc: distclean doesn't work
42099         * device/lib/pic16/Makefile.in, device/lib/pic16/Makefile.subdir,
42100           device/lib/pic16/libio/Makefile.in: fixed bug
42101           [ 1438344 ] pic16 lib: clean doesn't work properly
42102         * doc/knownbugs.html removed [ 1438354 ] and [ 1438344 ] from the list
42104 2006-07-26 Maarten Brock <sourceforge.brock AT dse.nl>
42106         * device/lib/pic/libsdcc/fsdiv.c,
42107         * device/lib/pic/libsdcc/fsmul.c,
42108         * device/lib/pic16/libsdcc/float/fsdiv.c,
42109         * device/lib/pic16/libsdcc/float/fsmul.c,
42110         * device/lib/_fsdiv.c,
42111         * device/lib/_fsmul.c: bugfix, handle too large and too small numbers
42112         * support/regression/tests/bug1520966.c: added
42113         * doc/knownbugs.html: removed [ 1520966 ] from the list
42115 2006-07-25 Borut Razem <borut.razem AT siol.net>
42117         * configure.in, configure, sdccconf_in.h: fixed bug
42118           [ 1519095 ] regression test onebyte.c fails on ppc64 host
42119         * doc/knownbugs.html: removed [ 1519095 ] from the list
42121 2006-07-25 Maarten Brock <sourceforge.brock AT dse.nl>
42123         * doc/knownbugs.html: added, contains list of known bugs at release
42124         * device/include/mcs51/compiler.h: fixed SFR32 for SDCC
42126 2006-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
42128         * device/include/mcs51/compiler.h: added SFRX for xdata based special
42129           function registers and corrected defaults with additional warning
42130         * device/lib/malloc.c: cosmetic changes
42131         * device/lib/realloc.c: bugfix for bug #1496907, Thanks Efim Monyak
42132         * src/ds390/ralloc.c (getRegBitNoSpil): reenabled,
42133           (fillGaps): and used it
42135 2006-07-20 Raphael Neider <rneider AT web.de>
42137         * src/pic/device.c (addMemRange,assignRegister): suppress verbose
42138           output unless SDCCPICDEBUG is set
42139         * device/lib/pic16/Makefile.rules (%.lib target): suppress verbose
42140           output if SILENT is set
42142 2006-07-11 Borut Razem <borut.razem AT siol.net>
42144         * doc/README.txt: updated
42146 2006-07-10 Borut Razem <borut.razem AT siol.net>
42148         * support/scripts/sdcc.nsi: added device/include/asm/pic/features.h and
42149           device/lib/src/pic/libm/*.c and device/lib/src/pic16/libsdcc/stack/*.S
42150           in WIN32 installation
42151         * .version, sdcc.spec, doc/sdccman.lyx: changed sdcc version to 2.6.0 -
42152           release candidate 1
42154 2006-07-08 Maarten Brock <sourceforge.brock AT dse.nl>
42156         * device/include/mcs51/XC866.h: added sbit definitions for Px_x, P1_x, P2_x
42157         * src/pic16/glue.c (initPointer): fixed bug 1496419 for pic16
42159 2006-07-06 Maarten Brock <sourceforge.brock AT dse.nl>
42161         * src/hc08/gen.c (genAddrOf): fixed bug when offset on stack is >127
42163 2006-07-06 Borut Razem <borut.razem AT siol.net>
42165         * support/regression/tests/bitfields.c:
42166           fixed bug [ 1518322 ] regression test bitfields fails on ppc hosts
42167         * support/regression/tests/constantRange.c:
42168           fixed bug [ 1518317 ] regression test constantRange fails on alpha host
42170 2006-07-04 Borut Razem <borut.razem AT siol.net>
42172         * src/configure.in, src/configure, src/Makefile.in, as/z80/Makefile.in,
42173           src/port.mk,
42174           src/avr/Makefile.in, src/ds390/Makefile.in, src/ds400/Makefile.in,
42175           src/hc08/Makefile.in, src/mcs51/Makefile.in, src/pic16/Makefile.in,
42176           src/pic/Makefile.in, src/xa51/Makefile.in, src/z80/Makefile.in:
42177           reverted changes from 2006-07-03
42178         * Makefile.common.in: added @CPPFLAGS@ to CPPFLAGS
42179         * support/regression/Makefile.in, support/regression/ports/host/spec.mk:
42180           added CPPFLAGS, used by the host port
42182 2006-07-03 Bernhard Held <bernhard AT bernhardheld.de>
42184         * support/regression/valdiag/tests/switch.c,
42185         * support/regression/valdiag/tests/constantRange.c: adapted to gcc 4
42186         * support/regression/tests/libmullong.c: fixed for host
42187         * support/regression/ports/host/spec.mk: disable all warnings for host,
42188         SDCC runs with --less-pedantic too
42190 2006-07-03 Borut Razem <borut.razem AT siol.net>
42192         * src/configure.in, src/configure, src/Makefile.in, as/z80/Makefile.in:
42193           defined CPPFLAGS
42194         * src/port.mk: defined CPPFLAGS, renamed to src/port.mk.in
42195         * src/avr/Makefile.in, src/ds390/Makefile.in, src/ds400/Makefile.in,
42196           src/hc08/Makefile.in, src/mcs51/Makefile.in, src/pic16/Makefile.in,
42197           src/pic/Makefile.in, src/xa51/Makefile.in, src/z80/Makefile.in:
42198           include ../port.mk
42199         * sim/ucsim/main_in.mk, sim/ucsim/avr.src/Makefile.in,
42200           sim/ucsim/gui.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
42201           sim/ucsim/s52.src/Makefile.in, sim/ucsim/sim.src/Makefile.in,
42202           sim/ucsim/xa.src/Makefile.in: ignore header files for dependencies
42204 2006-07-02 Raphael Neider <rneider AT web.de>
42206         * src/pic16/devices.inc,
42207         * device/include/pic16/pic18fregs.h,
42208         * device/include/pic16/pic18f4550.h,
42209         * device/lib/pic16/pics.all,
42210         * device/lib/pic16/libdev/pic18f4550.c: added support for 18f4550
42212 2006-07-01 Bernhard Held <bernhard AT bernhardheld.de>
42214         * as/hc08/lkaomf51.c (OutputName),
42215         * as/mcs51/lkaomf51.c (OutputName),
42216         * as/z80/asmain.c (asmbl),
42217         * src/ds390/main.c (asmLineNodeFromLineNode),
42218         * src/hc08/ralloc.c (hc08_assignRegisters),
42219         * src/mcs51/main.c (asmLineNodeFromLineNode),
42220         * src/xa51/ralloc.c (checkRegMask),
42221         * src/xa51/gen.c (emitcode),
42222         * src/z80/gen.c (_emit2),
42223         * src/SDCCast.c (searchLitOp),
42224         * src/SDCCglobl.h,
42225         * support/packihx/packihx.c,
42226         * support/Util/MySystem.c (split_command): fix gcc 4 warnings
42227         * src/ds390/gen.c (aopPutUsesAcc),
42228         * src/ds390/ralloc.c (getRegBitNoSpil): unused, therefore disabled
42229         * support/regression/tests/libmullong.c (mullong_wrapper),
42230         * src/SDCCsymt.c (powof2),
42231         * src/SDCCast.c,
42232         * src/SDCCicode.c: renamed TYPE_WORD by TYPE_TARGET_INT and so on
42233         * src/SDCCsymt.h: added TYPE_TARGET_*
42234         * src/SDCCutil.c (doubleFromFixed16x16, fixed16x16FromDouble),
42235         * src/SDCCutil.h (doubleFromFixed16x16, fixed16x16FromDouble): moved to
42236         SDCCast because 1) header problems 2) this is the right place
42237         * src/SDCCast.c (doubleFromFixed16x16, fixed16x16FromDouble): added
42238         * src/SDCCval.h (doubleFromFixed16x16, fixed16x16FromDouble): added
42239         prototype
42241 2006-06-29 Bernhard Held <bernhard AT bernhardheld.de>
42243         * src/SDCCicode.h: removed buggy semicolon in unused macro
42244         * src/SDCClrange.c (findPrevUseSym, rlivePoint): fixed bug #1486853,
42245         search for previous definiton of auto symbols too,
42246         (findPrevUse): fixed logic of emitWarnings
42248 2006-06-26 Raphael Neider <rneider AT web.de>
42250         * src/pic16/gen.c (genFunction, genEndFunction): also preserve
42251           PCLATH and PCLATU on interrupts, potentially fixes #1505141
42253 2006-06-25 Raphael Neider <rneider AT web.de>
42255         * device/lib/pic/libm: NEW, added math library functions
42256         * device/lib/pic/libsdcc: NEW; added float support functions
42257         * device/lib/pic/{Makefile.in,configure.in,configure}: added libm/
42258         * device/include/pic/{limits.h,errno.h,sdcc-lib.h,float.h,math.h}:
42259           NEW, added math related headers
42260         * device/include/asm/pic/features.h: NEW
42261         * src/pic/gen.c (emitpcode_real): emit warning on NULL pCodeOp,
42262           (popGet): allow larger offsets for AOP_PCODE,
42263           (genDataPointerSet): handle literals explicitly, more debug output,
42264           (genAssign): fixed for float using aopLiteral ;-)
42265         * src/pic/glue.c (pic14createInterruptVect): inserted pagesel before
42266           GOTO initialisation routine
42267         * src/pic/pcoderegs.c (pCodeRegMapLiveRangesInFlow): set wasUsed
42268           flag on registers, fixes #1469043 (local variables do not work)
42269         * src/pic/main.c (_pic14_do_link),
42270         * src/pic16/main.c (_pic16_linkEdit): use fullDstFileName if
42271           available
42273 2006-06-25 Borut Razem <borut.razem AT siol.net>
42275         * device/lib/pic16/libc/stdio/sprintf.c: return the number of
42276           characters printed (not including the trailing '\0' used to end
42277           output to strings). Problem detected in regression test bug-927659.c.
42278           NOTE: printf() family functions should return int instead
42279           unsigned int!
42280         * device/lib/pic16/libc/stdio/vfprintf.c: "%%" prints "%", unknown
42281           specifier are printed as themselves
42282         * sdcc/support/regression/tests/bug1057979.c: pic16 printf doesn't
42283           support flags, width and precision specifiers
42285 2006-06-24 Borut Razem <borut.razem AT siol.net>
42287         * sdcc/support/regression/tests/bitvars.c: added gbz80, pic16 and pic16
42288           to the list of sdcc tagrets not supporting bit type
42289         * sdcc/support/regression/tests/bug-905992.c.c: excluded regression
42290           testfor pic16 due to bug:
42291           [ 1511794 ] pic16: regression test bug-895992.c fails
42293 2006-06-24 Maarten Brock <sourceforge.brock AT dse.nl>
42295         * src/mcs51/gen.c (genCmp): optimization for RFE 1162453
42296         * src/SDCCglue.c (initPointer), fixed bug 1496419
42297         * support/regression/tests/bug1496419.c: new, added
42299 2006-06-22 Borut Razem <borut.razem AT siol.net>
42301         * support/regression/ports/pic16/support.c: use gpsim usart module from
42302           libgpsim_modules library
42304 2006-06-21 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
42306         * device/include/mcs51/at89c51ed2.h: Fixed bug 1510144 changed
42307         IP0H to IPH0.
42309 2006-06-19 Raphael Neider <rneider AT web.de>
42311         * src/pic/glue.h,src/pic16/glue.h: added prototypes
42312         * src/pic/glue.c,src/pic16/glue.c (pic1x_stringInSet,
42313           pic1x_emitSymbolIfNew): NEW, check for a string in a set,
42314           (pic14printExterns,pic14printPublics,pic16printPublics,
42315           pic16_printExterns): use new functions to emit symbols
42316           (picglue,pic16glue): emit publics before emitting externs
42317         * src/pic/gen.c,src/pic16/gen.c (genFunction): remember the names of
42318           locally defined functions to avoid bug #1443651
42319         * support/regression/tests/bug-716242.c: removed pic16 workaround
42320         * support/regression/ports/pic16/spec.mk: ignore errors during build
42322 2006-06-19 Raphael Neider <rneider AT web.de>
42324         * src/pic/glue.h: added pic14aopLiteral prototype
42325         * src/pic/glue.c (pic14aopLiteral): return unsigned int
42326         * src/pic/gen.c: removed stdint.h dependency
42327           (aopGet): use Safe_strdup()
42328           (bitpatternFromVal): removed, replaced use with pic14aopLiteral
42329           (genDataPointerSet): use pic14aopLiteral()
42330         * src/pic16/glue.h, src/pic16/glue.c, src/pic16/gen.c: similar changes
42331           for pic16; thanks to Bernhard and Maarten
42333 2006-06-18 Borut Razem <borut.razem AT siol.net>
42335         * support/regression/tests/structflexarray.c: flexible array members
42336           not supported by gcc < 3
42337         * sim/ucsim/configure, sim/ucsim/configure.in: do not compile serio
42338           GUI tool by default
42339         * src/pic/gen.c: don't include [p]strdin.h on solaris
42340         * support/Util/pstdint.h: added svn attributes
42341         * support/regression/tests/constantRange.c,
42342           support/regression/tests/rotate.c: include inttypes.h instead
42343           stdint.h on solaris, added svn attributes
42345 2006-06-18 Raphael Neider <rneider AT web.de>
42347         * src/SDCCsymt.c (initCSupport): change return type of divschar to
42348           int for PIC16
42349         * src/pic16/genarith.c (genAddLit): sign-extend via standard routine
42350           (pic16_genMinusBits): simplified sign-extension
42351           (pic16_genUMult8XLit_8,pic16_genUMult8X8_8): renamed to
42352             pic16_genMult8XLit_n resp. pic16_genMult8X8_n, fixed and
42353             adjusted to correctly handle mixed-signed operands, disabled
42354             now unused multiplciation routines
42355         * src/pic16/gen.c (pic16_pushpCodeOp): fixed to handle literals
42356           (assignResultValue): added argument denoting the size of the result
42357             as returned by the function (fixes upcasts in assigning from
42358             function calls: char foo(); int i = foo();)
42359           (genCall,genPcall,genGenPointerGet,genReceive): pass size of
42360             function result to assignResultValue
42361           (genMult): disabled inlined multiplication code
42362           (genDiv): augmented to also handle the modulus operator, fixed to
42363             handle mixed-signed operands correctly
42364           (genMod): simply call genDiv, disabled unused code
42365           (genAssign): fixed missing (sign-)extension on result
42366         * src/pic16/main.c (_hasNativeMulFor): accept literals [-128..256) as
42367             valid char operands, allow signed operands for native code, added
42368             division and modulo operator handling
42369         * device/lib/pic16/libsdcc/char/divschar.c: divschar returns an int
42371         As a consequence, onebyte.c (if split into two files) and muldiv.c
42372         pass regression tests.
42374 2006-06-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
42376         * doc/Makefile.in: two runs of makeindex seem needed to get
42377         correct page references in the index of sdccman.pdf
42378         * doc/sdccman.lyx: mentioned cmon51, added links, small changes
42380 2006-06-17 Borut Razem <borut.razem AT siol.net>
42382         * sdcc/device/lib/Makefile.in: corrected PORTINCDIR path
42384 2006-06-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
42386         * doc/sdccman.lyx: updated, added (porting source code, debugging),
42387         mentioned ec2drv and paulmon
42389 2006-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
42391         * as/mcs51/lkarea.c (lnkarea2): clear new xdatamap, bugfix for two
42392           consecutive abs areas
42393           (find_empty_space, allocate_space): added map to handle codemap or
42394            xdatamap,
42395           (lnksect2): renamed rloc to locIndex, fixed bug 960060 by handling
42396            absolute idata and xdata
42397         * as/mcs51/lkmem.c (summary2): updated legend
42399 2006-06-16 Raphael Neider <rneider AT web.de>
42401         * src/pic16/gen.c (shiftR2Left2Result): fixed bug #1507127
42403 2006-06-13 Maarten Brock <sourceforge.brock AT dse.nl>
42405         * debugger/mcs51/cmd.c (cmdListFunctions): fixed bugs 1181163 and
42406           1208515
42407         * src/SDCClrange.c (findPrevUse): fixed bug 1294475
42409 2006-06-13 Vangelis Rokas <vrokas AT users.sourceforge.net>
42411         * src/port.h (struct PORT): added field gp_tags, to hold the tag
42412         value of generic pointers,
42413         * src/avr/main.c,
42414           src/ds390/main.c,
42415           src/hc08/main.c,
42416           src/izt/i186.c,
42417           src/izt/tlcs900h.c,
42418           src/mcs51/main.c,
42419           src/pic/main.c,
42420           src/pic16/main.c,
42421           src/xa51/main.c,
42422           src/z80/main.c: PORT structure, added elements for gp_tags field,
42423         * src/SDCCsymt.h: replaced hardwired values of GPTYPE_* macros with
42424         fields in the PORT structure of each port,
42425         * src/SDCCast.c (decorateType): allow processing of generic pointers
42426         for PIC16 port (FPTRSIZE equals GPTRSIZE), also set GPTYPE_NEAR for
42427         S_FIXED symbols
42429 2006-06-12 Maarten Brock <sourceforge.brock AT dse.nl>
42431         * link/z80/lkgb.c,
42432         * link/z80/lkgg.c,
42433         * src/pic16/gen.c,
42434         * src/pic16/main.c,
42435         * src/pic16/pcode.c,
42436         * src/pic/main.c,
42437         * src/pic/pcoderegs.c,
42438         * src/SDCCicode.c,
42439         * src/SDCCmain.c,
42440         * src/SDCCsymt.c: replaced all exit(-1) by exit(EXIT_FAILURE) to fix
42441           bug 1504689 on minGW
42443 2006-06-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
42445         * device/lib/printf_tiny.c: fixed bug #1465675 (%x format specifier)
42447 2006-06-12 Bernhard Held <bernhard AT bernhardheld.de>
42449         * src/SDCCast.c (backPatchLabels): fixed bug #1504636
42451 2006-06-11 Maarten Brock <sourceforge.brock AT dse.nl>
42453         * device/lib/printf_large.c (OUTPUT_CHAR, _output_char): added and used
42454           for optimization
42456 2006-06-11 Vangelis Rokas <vrokas AT users.sourceforge.net>
42458         * src/pic16/gen.c (genCast): fixed bug with assignment of a pointer
42459         to a char variable. Fixed bug #1504211
42460         * device/include/pic16/adc.h,
42461         device/include/lib/pic16/libio/adc/adcopen.c: applied patch #1364387
42462         and fixed bug #1364390
42464 2006-06-10 Borut Razem <borut.razem AT siol.net>
42466         * CVSROOT: removed the CVS left-over
42468 2006-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
42470         * as/hc08/asmain.c (asexit),
42471         * as/hc08/lkmain.c (lkexit),
42472         * as/mcs51/asmain.c (asexit),
42473         * as/mcs51/lkmain.c (lkexit),
42474         * src/SDCCglue.c (DEFSETFUNC),
42475         * src/SDCCmain.c (linkEdit, assemble),
42476         * support/librarian/sdcclib.c (AddRel),
42477           replaced unlink() by standard C remove()
42478         * src/SDCC.y: replaced removePostIncDecOps() by createRMW()
42479         * src/SDCCast.c (replaceAstWithTemporary, createRMW,
42480           gatherImplicitVariables): new, added to fix bug 608752,
42481           (createFunction): added gatherImplicitVariables()
42482         * src/SDCCast.h: added createRMW prototype
42483         * src/SDCCsymt.h (struct symbol): added infertype
42484         * support/regression/tests/bug608752.c: new, added
42486 2006-06-10 Raphael Neider <rneider AT web.de>
42488         * src/pic16/gen.c (pic16_aopOp): use WREG as destination even for
42489           multibyte dummy reads (fixes #1503234)
42491 2006-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
42493         * device/include/mcs51/compiler.h: new, added header file to enable
42494           creating common sfr definition header files for different compilers
42496 2006-06-05 Raphael Neider <rneider AT web.de>
42498         * src/pic16/{pcode.h,genarith.c}:
42499           introduced pCodeOp combining any two pCodeOps (previously only
42500           two register operands could be combined), removed pcop2 from
42501           pCodepReg, replaced pCodeOpReg2 with pCodeOp2, fixes #1492366
42502         * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): added case for PO_TWO_OPS
42503         * src/pic16/gen.c (pic16_popGet2,pic16_popGet2p,pic16_popCombine2):
42504           rewritten to use new PO_TWO_OPS
42505         * src/pic16/main.c (_hasNativeMulFor): cover more cases natively,
42506         * src/pic16/pcode.c (pic16_newpCodeOpImmd): initialize rIdx field,
42507           (pic16_newpCodeOp): catch invalid attempts on PO_TWO_OPS,
42508           (pic16_newpCodeOp2): NEW, create combined pCodeOp,
42509           (pic16_get_op): embraced return arg to allow #define return(x),
42510             added new case for combined opcodes
42511           (pic16_get_op2): reduced to use pic16_get_op() on second pCodeOp,
42512           (pic16_pCode2str,pic16_getRegFrompCodeOp,
42513            pic16_getRegFromInstruction2): fixed/added handling of new pCodeOp
42515 2006-06-04 Bernhard Held <bernhard AT bernhardheld.de>
42517         * src/SDCCval.c (checkConstantRange): added
42518         * src/SDCCval.h: added checkConstantRange
42519         * support/Util/SDCCerr.c,
42520         * support/Util/SDCCerr.h: replaced unused W_IF_NEVER_TRUE and
42521         W_IF_ALWAYS_TRUE by W_COMP_RANGE and W_LIT_OVERFLOW
42522         * src/SDCC.y: moved early 'condition transformations' to SDCCast.c
42523         * src/SDCCast.c (decorateType): added checkConstantRange,
42524         added 'condition transformations' from SDCC.y so that now W_COMP_RANGE
42525         can be emitted with the correct always true/false warning,
42526         added optimization for double '!';
42527         result of decorateType() must be assigned back to the tree, because
42528         decorateType() can change the tree
42529         * src/SDCCicode.c (geniCodeLogic),
42530         (geniCodeAssign): replaced new checkConstantRange, added warnings,
42531         (checkConstantRange): removed, it was only a fragment which never
42532         emitted a warning
42533         * src/SDCCsymt.c (computeType): fixed promotion for
42534         "-1 < (unsigned bit) b"
42535         * src/pic/ralloc.c (packRegsForAssign),
42536         * src/pic16/ralloc.c (packRegsForAssign),
42537         * src/hc08/ralloc.c (packRegsForAssign),
42538         * src/z80/ralloc.c (packRegsForAssign): ported fix for bug #930931
42539         from mcs51
42540         * src/mcs51/ralloc.c (packRegsForAssign): removed outcommented source
42541         * support/regression/tests/constantRange.c: added
42542         * support/valdiag/tests/constantRange.c: added
42543         * support/valdiag/valdiag.py: added -DPORT_HOST=1
42545 2006-06-02 Borut Razem <borut.razem AT siol.net>
42547         * support/regression/ports/pic16/support.c: increase stack size
42548           to 255 bytes
42549         * support/regression/Makefile.in: sort tests by name so that the
42550           resutlts can be compared on different machines / platforms
42552 2006-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
42554         * device/lib/printf_large.c (output_digit): optimized further, Tnx Frieder
42555         * src/ds390/gen.c (emitLabel): new, added,
42556           (genDjnz): fixed stack overflow bug,
42557           (throughout): cosmetic changes to sync with mcs51/gen.c,
42558           replaced emitcode("", "%05d$:", lbl->key + 100) with emitLabel(lbl)
42559         * src/mcs51/gen.c (genEndFunction): small optimization,
42560           (throughout): cosmetic changes to sync with ds390/gen.c
42562 2006-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
42564         * device/lib/printf_large.c (output_digit, calculate_digit): optimized,
42565           (_print_format): fixed printing pointers
42566         * src/mcs51/gen.c (emitLabel, movb): new, added,
42567           (genAssign): small optimization,
42568           (genDjnz): fixed stack overflow bug,
42569           (throughout): replaced sprintf with SNPRINTF,
42570           replaced mcs51_regWithIdx with REG_WITH_INDEX,
42571           replaced emitcode("mov", "b,...") with MOVB(...),
42572           replaced emitcode("", "%05d$:", lbl->key + 100) with emitLabel(lbl),
42573           replaced D(emitcode("; genXXX", "")) with D(emitcode(";", "genXXX"))
42574         * src/mcs51/peeph.def: added rules 140 and 264
42575         * src/SDCCmem.c (allocLocal): store register declared locals in DSEG/OSEG
42576           so they may get optimized into registers
42578 2006-05-30 Maarten Brock <sourceforge.brock AT dse.nl>
42580         * src/SDCCmain.c (optionsTable, parseCmdLine): handle --use-stdout
42581           immediately when encountered,
42582           (printUsage): always use stderr even on windows
42584 2006-05-30 Bernhard Held <bernhard AT bernhardheld.de>
42586         * src/SDCCast.c (isLoopCountable): fixed bug #1478316
42587         (processParms): fixed bug #1247551
42588         * src/SDCCmain.c (printVersionInfo, printOptions, printUsage,
42589         parseCmdLine, main): print '--version' to stdout,
42590         print 'help' to stdout if --help is given,
42591         print 'help' to stderr and exit with EXIT_FAILURE if no or bad
42592         arguments are given; fixed --help
42594 2006-05-27 Bernhard Held <bernhard AT bernhardheld.de>
42596         * src/SDCCcse.c (findPointerSet): fixed bug #1493710
42597         * support/regression/tests/bug-1493710.c: added
42599 2006-05-27 Borut Razem <borut.razem AT siol.net>
42601         * support/regression/fwk/lib/testfwk.c: define array in _printn() as
42602           static instead auto
42603         * support/regression/ports/pic16/support.c: increase stack size
42604           from default 64 bytes to 128 bytes
42605         * support/regression/tests/staticinit.c,
42606           support/regression/tests/float.c: regression tests fully enabled
42607           for pic16 port by putting the initialized data arrays into the code
42608           section
42609         * support/regression/ports/pic16/spec.mk: don't link default libraries.
42610           This was changed by mistake in the previous version.
42612 2006-05-28 Vangelis Rokas <vrokas AT users.sourceforge.net>
42614         * src/pic16/gen.c (genFunction, genEndFunction): some
42615         beautifications, fixed bug with falsely restoring FSR2 in large
42616         stack model, thanks to Beau E. Cox for reporting the bug
42618 2006-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
42620         * debugger/mcs51/break.c,
42621         * debugger/mcs51/cmd.c (throughout): removed unused variables and labels,
42622           use %p to print pointers, made address variables unsigned
42623         * debugger/mcs51/cmd.c (infoSymbols): added missing parameter to printf
42624         * debugger/mcs51/symtab.c (parseSymbol): must return something
42625         * src/mcs51/gen.c (aopForSym): small optimization,
42626            moved declarations mcs51_ptrRegReq and mcs51_nRegs to ralloc.h,
42627           (freeAsmop): added missing break,
42628           (aopPut): removed parameter bvolatile, determine it inside the function,
42629           (saveRegisters, unsaveRegisters): small optimization,
42630           (genIpush): removed pointless check,
42631           (throughout): replaced Safe_calloc, strcpy with Safe_strdup,
42632           replaced sprintf with SNPRINTF,
42633           replaced strcpy with strncpyz,
42634           updated aopPut calls,
42635           replaced D(emitcode("; genXXX", "")) with D(emitcode(";", "genXXX"))
42636         * src/mcs51/ralloc.h:  added declarations mcs51_ptrRegReq and mcs51_nRegs
42638 2006-05-24 Borut Razem <borut.razem AT siol.net>
42640         * support/regression/tests/bug-221100.c: fixed xdata problem caused by
42641           modification of test for the pic16 port, put the array to the code
42642           memory for pic16port; thanks to Maarten Brock and Frieder Ferlemann
42644 2006-05-23 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
42646         * src/pic/gen.c: MSC 6 does not have <stdint.h>.  Use pstdint.h instead.
42647         * support/Util/pstdint.h: added
42649 2006-05-22 Borut Razem <borut.razem AT siol.net>
42651         * src/regression/Makefile: removed bool2.c test, added -q linker option
42652         * src/regression/add2.c, src/regression/add3.c, src/regression/bool1.c,
42653           src/regression/bool3.c, src/regression/nestfor.c, src/regression/ptrfunc.c,
42654           src/regression/compare.c, src/regression/or1.c, src/regression/compare2.c,
42655           src/regression/while.c, src/regression/compare3.c, src/regression/compare4.c,
42656           src/regression/compare5.c, src/regression/sub2.c, src/regression/rotate1.c,
42657           src/regression/rotate2.c, src/regression/rotate3.c, src/regression/rotate4.c,
42658           src/regression/switch1.c, src/regression/rotate5.c, src/regression/for.c,
42659           src/regression/add.c, src/regression/sub.c, src/regression/call1.c:
42660           define SUPPORT_BIT_TYPES 0, removed unused bit variables
42662 2006-05-22 Raphael Neider <rneider AT web.de>
42664         * src/pic16/gen.c (pic16_storeForReturn): fragile fix for
42665           bug #1492360 (problematic due to generic pointers, see code)
42667 2006-05-22 Borut Razem <borut.razem AT siol.net>
42669         * support/regression/ports/pic16/specs.mk: removed stack size linker
42670           directive
42671         * support/regression/tests/array.c,
42672           support/regression/tests/bitopcse.c,
42673           support/regression/tests/bug-908454.c,
42674           support/regression/tests/malloc.c: modified for pic16 regression test
42675         * support/regression/tests/bitfields.c:
42676           pic16 - excluded bitfileds of size > 8
42677         * support/regression/tests/bp.c: pic16 - reduced data size
42678         * support/regression/tests/bug-221100.c: pic16 - reduced data size
42679         * support/regression/tests/bug-460010.c:
42680           pic16 - used the absolute address the fits in memory
42681         * support/regression/tests/bug-716242.c:
42682           bug [ 1443651 ] pic 16: redefining symbol that cannot be redefined.
42683         * support/regression/tests/float.c:
42684           pic16 - excluded - data size too big
42685         * support/regression/tests/onebyte.c:
42686           pic16 - bug [ 1444425 ] onebyte.c regression tes fails on pic16
42687         * support/regression/tests/shifts.c:
42688           pic16 - function names probably have to differ in first X characters
42689           (gpasm limitation?)
42690         * support/regression/tests/staticinit.c:
42691           pic16 - excluded some tests due error: no target memory available for
42692           section ".idata"
42694 2006-05-22 Borut Razem <borut.razem AT siol.net>
42696         * support/Util/dbuf.c: fixed bug #1489008 fix dbuf_c_str(),
42697           second try. Thanks Stas Sergeev once more.
42699 2006-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
42701         * src/hc08/gen.c (transferAopAop): aop forced to stack was not restored,
42702           (genLeftShift, genRightShift): fixed bug 1491627
42703         * src/hc08/peeph.def (rules 7, 8.x): added
42704         * support/regression/tests/shifts.c (ShiftLeftByParam,
42705           ShiftRightByParam, testShiftByParam): added to test variable shifting
42707 2006-05-20 Raphael Neider <rneider AT web.de>
42709         * src/pic/gen.c (bitpatternFromVal): fixed for 64-bit machines
42710         * src/pic16/ralloc.c (newReg): use correct name in hashtable,
42711           (allocReg): add only new registers to dynAllocRegs,
42712           (pic16_assignRegisters): do not reset dynrIdx, fixes bugs
42713             #1489055, #1445850, and probably #1483693
42715 2006-05-19 Vangelis Rokas <vrokas AT users.sourceforge.net>
42717         * src/pic16/glue.c (pic16_emitConfigRegs, pic16_emitIDRegs): fixed
42718         bug in for-loop that didn't emit the last of CONFIG and ID registers
42720 2006-05-18 Maarten Brock <sourceforge.brock AT dse.nl>
42722         * src/mcs51/gen.c (genCodePointerGet): inc dptr instead of loading acc
42723           with offset
42724         * src/mcs51/peeph.def (186.x): updated and reenabled to fix bugs
42725           1489016, 1434401 and 1490124
42726         * src/ds390/peeph.def (186.x, 227.x): updated and reenabled to fix bugs
42727           1489016, 1434401 and 1490124
42729 2006-05-17 Borut Razem <borut.razem AT siol.net>
42731         * support/Util/dbuf.c: fixed bug #1489008 fix dbuf_c_str(),
42732           thanks Stas Sergeev
42734 2006-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
42736         * device/include/mcs51/P89c51RD2.h,
42737         * device/include/mcs51/P89LPC901.h,
42738         * device/include/mcs51/P89LPC922.h,
42739         * device/include/mcs51/P89LPC932.h: added, thanks Omar Espinosa
42741 2006-05-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
42743         * device/lib/pic16/libsdcc/stack/{stack.S, Makefile.in}: add workaround
42744         to fix missing stack pragma in compiled binary object file,
42746 2006-05-14 Bernhard Held <bernhard AT bernhardheld.de>
42748         * support/packihx/configure.in,
42749         * support/packihx/configure: removed warning, autoconf >= 2.5x can
42750         determine sizeof basic types even while cross compiling
42752 2006-05-13 Bernhard Held <bernhard AT bernhardheld.de>
42754         * src/avr/gen.c (aopop),
42755         * src/ds390/gen.c (aopOp),
42756         * src/hc08/gen.c (aopOp),
42757         * src/mcs51/gen.c (aopop),
42758         * src/pic16/gen.c (pic16_aopOp),
42759         * src/pic/gen.c (aopOp),
42760         * src/z80/gen.c (aopop): fix for bug #1479882; use new, exclusive asmop
42761         if size of operand is smaller than spill location
42763 2006-05-12 Borut Razem <borut.razem AT siol.net>
42765         * *.dsw, *.dsp: changed property svn:eol-style to CRLF since they
42766           have to have CR/LF line endings even if they are checked out on *nix
42767           or on WIN32 in cygwin binmode
42769 2006-05-12 Maarten Brock <sourceforge.brock AT dse.nl>
42771         * doc/sdccman.lyx: documented numeric ranges, WEBDOC #1442369
42772         * device/include/ds80c390.h: added sfr16 definitions
42773         * src/ds390/gen.c,
42774         * src/ds390/gen.h,
42775         * src/ds390/main.c,
42776         * src/ds390/ralloc.c,
42777         * src/ds390/ralloc.h: changes all over the place to sync with mcs51
42778           fixing several bugs and adding sfr16/sfr32, reentrant bit params,
42779           bit returning functions
42780         * support/regression/tests/sfr16.c: enabled test on ds390
42782 2006-05-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
42784         * src/hc08/gen.c (asmopToBool, genIfx): fix for bug #1429722
42785         * src/hc08/gen.c (storeRegToAop): fix for bug #1439894
42787 2006-05-11 Maarten Brock <sourceforge.brock AT dse.nl>
42789         * sim/ucsim/sim.src/memcl.h: added get_decoder() to cl_address_space
42790         * sim/ucsim/sim.src/mem.cc: implemented cl_address_space::get_decoder,
42791           (cl_address_space constructor): removed expensive initialization,
42792           (cl_address_space::get_cell): extended for late initialization,
42793           (cl_address_space::*): use late initialization,
42794           (cl_address_decoder::activate): removed expensive initialization,
42795           This reduced regression test running time by 25%
42797 2006-05-11 Bernhard Held <bernhard AT bernhardheld.de>
42799         * packihx/,
42800         * configure.in,
42801         * configure,
42802         * sdcc.dsw,
42803         * Makefile.bcc,
42804         * Makefile.in,
42805         * support/packihx/Makefile.in,
42806         * support/packihx/clean.mk,
42807         * support/packihx/Makefile.bcc,
42808         * support/packihx/PackIhx.dsp: moved packihx to support/packihx
42810 2006-05-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
42812         * src/SDCCval.c (valNot): fix for regression test failure
42813           of not.c on big endian hosts
42815 2006-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
42817         * device/inlcude/mcs51/msc1210.h: new, added, thanks Philippe Latu
42819 2006-05-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
42821         * device/lib/mcs51/Makefile.in: changed string comparison operator
42822           to = for POSIX compliance; == is bash extension
42824 2006-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
42826         * device/lib/hc08/_mulint.c: applied patch 1485428, thanks
42827           kosmonaut_pirx
42829 2006-05-09 Vangelis Rokas <vrokas AT users.sourceforge.net>
42831         * src/pic16/gen.c (pic16_freeAsmop): release any temp registers
42832         allocated by aopForSym thus fixing bug #1478657 about failed testfwk.c
42833         * src/pic16/main.c (_pic16_keywords): added 'sfr16' keyword,
42834         * src/pic16/ralloc.c (pic16_allocWithIdx): also a fix for bug exposed by
42835         bug report #1478657,
42837 2006-05-05 Borut Razem <borut.razem AT siol.net>
42839         * doc/Makefile.in: remove of WARNINGS and labels.pl immediately after
42840           making the html
42842 2006-05-02 Borut Razem <borut.razem AT siol.net>
42844         * doc/Makefile.in: removed *.ind dependency since there is no rule to
42845           create *.ind, which made make to fail if invoked with -j 2
42847 2006-05-01 Maarten Brock <sourceforge.brock AT dse.nl>
42849         * src/SDCCglue.c (emitRegularMap): partial fix for bug 1477149, thanks
42850           Hubert Sack for patch 1479782
42852 2006-05-01 Vangelis Rokas <vrokas AT users.sourceforge.net>
42854         * src/pic16/glue.c (pic16_printIvalStruct): fixed bug #1445929
42856 2006-05-01 Raphael Neider <rneider AT web.de>
42858         * src/pic/device.c (sanitise_processor_name): only remove p(ic) prefix,
42859           (create_pic): store only prefix-free device name,
42860           (init_pic): check for device names with "16" prefix,
42861           (list_valid_pics),
42862         * src/pic/device.h (struct PIC_device),
42863         * src/pic/main.c (_pic14_genAssemblerPreamble): adapted to single
42864             stored device name,
42865         * device/include/pic/pic12f{635,675,629,683}.h,
42866         * device/lib/pic/libdev/pic12f{635,675,629,683}.c: NEW device libraries
42867         * device/lib/pic/libdev/Makefile.in: allow pic12* devices,
42868         * device/include/pic/pic16f505.h,
42869         * device/lib/pic/libdev/pic16f505.c: removed
42870         * device/include/pic/pic14devices.txt: added support for pic12f
42871             devices, removed unsupported non 16-bit devices
42872             [above changes provided by patch from Zik Saleeba]
42873         * src/pic/*, src/pic16/*, device/include/pic16/*,
42874           device/lib/pic/**, device/lib/pic16/**: obfuscated email address
42876 2006-05-01 Borut Razem <borut.razem AT siol.net>
42878         * configure.in, configure, doc/Makefile.in:
42879           sync with nightly build makefile - latex, dvipdf and dvips
42880           not needed any more
42882 2006-04-30 Bernhard Held <bernhard AT bernhardheld.de>
42884         * support/scripts/sdcc.nsi: removed all Readmes and Makefiles
42885         in the library source
42887 2006-04-30 Maarten Brock <sourceforge.brock AT dse.nl>
42889         * support/regression/ports/hc08/spec.mk: fixed bug 1478892
42891 2006-04-28 Raphael Neider <rneider AT web.de>
42893         * src/pic16/pcode.c (pic16_newpCodeOpLit12),
42894         * src/pic16/gen.c (pic16_popGetLit12): NEW, create 12 bit literal,
42895           (pic16_loadFSR0): handle 12 bit literals correctly, fixes #1440527
42896         * src/pic16/pcode.h: added prototype for pic16_newpCodeOpLit12()
42898 2006-04-28 Bernhard Held <bernhard AT bernhardheld.de>
42900         * device/lib/pic/libdev/Makefile.in,
42901         * device/lib/hc08/Makefile.in,
42902         * device/lib/gbz80/Makefile.in,
42903         * device/lib/z80/Makefile.in,
42904         * device/lib/ds390/Makefile.in,
42905         * device/lib/ds400/Makefile.in: added srcdir to include search path,
42906         thanks to Borut for the bug report
42907         * configure.in,
42908         * configure: always create doc/Makefile independent from --enable-doc
42909         * Makefile.in: always install from directory doc independent from
42910         --enable-doc
42911         * device/lib/pic/Makefile.in: added libdev again, it was erroneously
42912         removed
42913         * device/lib/pic/libdev/Makefile.in: fixed VPATH build
42914         * doc/Makefile.in: install *.txt if present
42915         * device/include/Makefile.in (install): added installation of pic/*.inc
42916         and pic/*.txt files again, they were erroneously removed
42918 2006-04-28 Raphael Neider <rneider AT web.de>
42920         * src/pic/{gen.c,main.h,pcode.c},
42921         * src/pic16/{gen.c,pcode.c}: quietened compiler warnings
42922             concerning signedness with casts
42924 2006-04-28 Raphael Neider <rneider AT web.de>
42926         * src/pic/gen.c (genFunction): set global pic14_hasInterrupt on
42927             definition of an interrupt handler,
42928         * src/pic/glue.c (pic14_emitInterruptHandler): moved output of
42929             interrupt handler stuff from picglue() to separate routine,
42930           (picglue): enabled definition of intr handlers in files w/o main()
42932 2006-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
42934         * support/librarian/sdcclib.c: moved include <limits.h> up to enable
42935           compilation with MSVC 2005 Express Edition (VC8)
42937 2006-04-26 Bernhard Held <bernhard AT bernhardheld.de>
42939         * device/lib/Makefile: fixed build of gbz80 lib
42941 2006-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
42943         * support/regression/tests/bug-460010.c,
42944         * support/regression/tests/bug-524691.c,
42945         * support/regression/tests/bug-716242.c: removed conditional defines
42946           that are already in testfwk.h
42948 2006-04-25 Maarten Brock <sourceforge.brock AT dse.nl>
42950         * src/ds390/gen.c (AccAXRrl1, AccAXLrl1): changed to real rotate by 1,
42951           (AccAXRsh1): added, shift right by 1,
42952           (AccAXLsh, AccAXRsh, AccAXRshS): updated for AccAXRrl1, AccAXRsh1 and
42953            AccAXLrl1
42954         * support/regression/tests/rotate.c: use <stdint.h> and enabled ds390
42956 2006-04-25 Bernhard Held <bernhard AT bernhardheld.de>
42958         * src/SDCCast.c (decorateType): partial fix for RFE 1475769,
42959         remove cast to same type
42960         * src/SDCCast.c (decorateType): fix for RFE 1475742,
42961         optimize 'ifx (op == 0)' resp. 'ifx (op != 0)'
42962         * as/z80/Makefile,
42963         * link/z80/Makefile: removed, they have moved to
42964         Makefile.in files
42965         * configure,
42966         * configure.in: replaced duplicate message about ucsim by missing sdcpp
42967         * install-sh: fix bug #1204398 by setting umask 0022
42968         * device/lib/Makefile: separate build of z80 and gbz80 lib
42970 2006-04-24 Bernhard Held <bernhard AT bernhardheld.de>
42972         Enabled VPATH feature: changed nearly all Makefiles (149 files).
42973         See sdccman.lyx '2.4.10 VPATH feature' about how to use it.
42975         One basic decision: e.g. src/clean.mk includes further files. In order
42976         to make this work there are two solutions:
42977         - rename another dozen clean.mk to clean_in.mk, add srcdir to them and
42978           run configure on them. This way they can use
42979           'include $(srcdir)/port-clean.mk'
42980         - always include clean.mk by the Makefile at the same level. To avoid
42981           that `make clean` tries to include and build Makefile.dep the
42982           MAKECMDGOALS are examined (see e.g. src/Makefile.in). This has been
42983           implemented, because now even `make uninstall` doesn't create
42984           Makefile.in. clean.mk could be eliminated by pasting it in
42985           Makefile.in.
42987         * debugger/mcs51/Makefile.in: build own objects from library sources
42988         (SLIB, SDCC) in current directory
42990         * configure, configure.in: renamed --disable-device-lib-build in
42991         --disable-device-lib; added --enable-doc, the required tools are
42992         searched by configure; added result message; the toolchain for the
42993         belonging ports are now only built, if the port is enabled.
42995         * support/regression/*: all output is written in directory gen, because
42996         the fwk and ports directories don't livet in the build tree using vpath
42998         * doc/sdccman.lyx: renamed --disable-device-lib-build to
42999         --disable-device-lib, added --enable-doc, added section VPATH
43001         * sim/ucsim/configure.in,
43002         * sim/ucsim/configure.in: hc08 couldn't be disabled, now hc08 and
43003         z80 are enabled by default
43005 2006-04-24 Raphael Neider <rneider AT web.de>
43007         * src/pic/device.c (pic14_assignConfigWordValue): remember assignments
43008             to config word, "pic14_"-prefixed some extern functions
43009           (pic14_emitConfigWord): emit __config directive(s) if assignment to
43010             config word has been found
43011         * src/pic/device.h: added prototypes
43012         * src/pic/pcode.c: added "pic14_"-prefix where needed
43013         * src/pic/ralloc.c (IS_CONFIG_ADDRESS,pic14_assignRegisters): cosmetic
43014             fixup
43015         * src/pic/glue.c (pic14_constructAbsMap): handle assignments to config
43016             words,
43017           (pic14emitRegularMap): ignore config words,
43018           (pic14createInterruptVect): moved generating __config directives away
43019           (picglue): have __config directives emitted
43021 2006-04-24 Borut Razem <borut.razem AT siol.net>
43023         * doc/Makefile: sync with nightly build makefile
43025 2006-04-24 Raphael Neider <rneider AT web.de>
43027         * src/pic/pcoderegs.c (OptimizeRegUsage): do not optimize
43028             registers that have not been assigned proper liveranges,
43029             fixes #1469504 and #1474602,
43030           (pCodeRegOptimizeRegUsage): fixed typo in comment
43032 2006-04-24 Borut Razem <borut.razem AT siol.net>
43034         * device/examples/main8051.c: deleted - it was removed from CVS
43035           24.mar.2000 and after that modified 18.feb.2001, so it reappered
43036           after the transition to Subversion
43037         * src/SDCCalloc.h: deleted - it was removed  from CVS
43038           3.feb.2001 and after that modified 18.feb.2001, so it reappered
43039           after the transition to Subversion
43040         * sim/ucsim/cpu.gif, sim/ucsim/interrupt.gif, sim/ucsim/new.gif,
43041           sim/ucsim/serial1.gif, sim/ucsim/serial2.gif,
43042           sim/ucsim/term_cpuopt.gif, sim/ucsim/timers.gif, sim/ucsim/wins.gif,
43043           sim/ucsim/post.jpg, sim/ucsim/UCsim.jpg: corrected
43045 2006-04-22 Maarten Brock <sourceforge.brock AT dse.nl>
43047         * as/asx8051.dsp: added mcs51/strcmpi.h
43048         * as/hc08/as_hc08.dsp: added asm.h, m6808.h, strcmpi.h
43049         * as/hc08/aslink.h: updated lnksect prototype
43050         * as/hc08/asm.h,
43051         * as/mcs51/asm.h: added a_addr to struct area and s_org to struct sym
43052         * as/hc08/asmain.c,
43053         * as/mcs51/asmain.c (asmbl): init dot.s_org for S_ORG,
43054           (newdot): handle A_ABS
43055         * as/hc08/asout.c,
43056         * as/mcs51/asout.c (outarea): output address
43057         * as/hc08/lkaomf51.c,
43058         * as/mcs51/lkaomf51.c: disabled unused array UsageType
43059         * as/hc08/m08pst.c,
43060         * as/mcs51/i51pst.c,
43061         * as/z80/z80pst.c: "ABS" is not A_OVR
43062         * as/hc08/lkarea.c (newarea): read a_addr,
43063           (lnkarea): added codemap array, sort absolute areas to the front,
43064            combine all GSINITx/GSFINAL,
43065           (find_empty_space, allocate_space): new functions,
43066           (lnksect): return next address, handle absolute sections
43067         * as/mcs51/lkarea.c (newarea): read a_addr,
43068           lnksect2 prototype changed,
43069           (lnkarea2): define codemap unsigned, combine all GSINITx/GSFINAL,
43070           (find_empty_space, allocate_space): new, factored out of lnksect2,
43071           (lnksect2): return next address, handle absolute sections
43072         * as/hc08/lkhead.c,
43073         * as/mcs51/lkhead.c (newhead): head is absolute but not overlay
43074         * as/hc08/lklibr.c (addfile, fndsym),
43075         * as/mcs51/lklibr.c (addfile, buildlibraryindex, fndsym): prevent
43076           index out of range and detect both '\' and '/'
43077         * device/include/mcs51/c8051f200.h: added _XPAGE, removed bad comment
43078         * device/include/stdbool.h: removed SDCC_ds390 from check to pass
43079           regression tests (ds390 cannot return bool yet)
43080         * doc/sdccman.lyx: changed version number, document changed --no-peep,
43081           document critical interrupts on z80, document changed SDCC define
43082         * src/asm.c (_asxxxx_mapping): fixed .org directive,
43083           (_a390_mapping): added .org directive
43084         * src/hc08/gen.c (transferAopAop): made bytemask log to fix warning,
43085           (genMultOneByte): fixed warnings
43086         * src/hc08/hc08.dsp: lowered warning level to 2 to suppress pedantic
43087           ones
43088         * src/pic16/device.c: removed newReg prototype, removed BYTE_IN_LONG
43089         * src/pic16/gen.c (pic16_popGetLabel): made parameter key signed,
43090           (pic16_genLeftShiftLiteral, genRightShiftLiteral): fixed warnings
43091         * src/pic16/gen.h: changed prototype for pic16_popGetLabel
43092         * src/pic16/main.c: removed newReg prototype
43093         * src/pic16/pcode.c,
43094         * src/pic16/pcode.h (pic16_emitDB): changed parameter c to int to fix
43095           warnings
43096         * src/pic16/pic16.dsp: lowered warning level to 2 to suppress pedantic
43097           ones
43098         * src/pic16/ralloc.c
43099         * src/pic16/ralloc.h (newReg): changed type to int and size to unsigned
43100           to fix warnings
43101         * src/pic/pcode.c (allocInternalRegister): changed parameter optype
43102           from short to PIC_OPTYPE
43103         * src/pic/pic.dsp: lowered warning level to 2 to suppress pedantic ones
43104         * src/pic/ralloc.c (newReg, allocInternalRegister): changed parameter
43105           optype from short to PIC_OPTYPE
43106         * src/port.h: made int_size unsigned to fix warnings
43107         * src/SDCC.y: fixed warning on MSVC
43108         * src/SDCCicode.c (getArraySizePtr): return unsigned int
43109         * src/SDCCopt.c (convertToFcall): fixed warnings
43110         * src/SDCCsymt.h: removed double prototype for genSymName
43111         * src/xa51/ralloc.c (allocReg): made size unsigned int, type int and
43112           offset int to fix warnings
43114 2006-04-22 Borut Razem <borut.razem AT siol.net>
43116         * doc/sdccman.lyx, */Makefile, */Makefile.in:
43117           references to CVS replaced with Subversion
43119 2006-04-21 Borut Razem <borut.razem AT siol.net>
43121         * doc/sdccman.lyx, */Makefile, */Makefile.in:
43122           references to CVS replaced with Subversion
43124 2006-04-19 Borut Razem <borut.razem AT siol.net>
43126         * src/version.awk: adapted for svn
43127         * /asxxxx/asxhtml/*.gif: set property svn:mime-type to image/gif
43128           sim/ucsim/doc/*.gif: set property svn:mime-type to image/gif
43129           sim/ucsim/doc/*.jpg: set property svn:mime-type to image/jpeg
43130           /binutils-avr/etc/*.vi, *.jin: removed all properties
43131           support/scripts/sdcc.ico: set property svn:mime-type to image/x-icon
43133 2006-04-19 Borut Razem <borut.razem AT siol.net>
43135         * CVS to Subversion migration completed
43137 2006-04-18 Borut Razem <borut.razem AT siol.net>
43139         * support/scripts/sdcc.nsi: removed unexisting ${DEV_ROOT}/lib/pic/*.o,
43140           ${DEV_ROOT}/lib/src/pic/libdev/*.S, ${DEV_ROOT}/lib/src/pic/libdev/*.inc
43142 2006-04-17 Borut Razem <borut.razem AT siol.net>
43144         * device/include/Makefile.in: added pic/*.inc to the installation
43146 2006-04-15 Bernhard Held <bernhard AT bernhardheld.de>
43148         * support/regression/collate-results.py: fixed output in case of
43149         a valdiag error
43150         * support/regression/generate-cases.py: fixed splitting of pathnames
43151         with dots
43152         * as/hc08/lklibr.c (addfile),
43153         * as/mcs51/lklibr.c (addfile): fixed off-by-one bug
43155 2006-04-11 Raphael Neider <rneider AT web.de>
43157         * src/pic16/gen.c (getFreePtr, pic16_popRegFromString),
43158         * src/pic16/ralloc.c (pic16_allocregWithName): removed debug output
43159         * src/pic16/pcode.c (assignValnums): fixed #1460578
43161 2006-04-11 Raphael Neider <rneider AT web.de>
43163         * device/lib/pic/libdev/*.c,
43164         * device/include/pic/*.h: replaced sfr and data with __sfr and __data,
43165           fixes #1468739, enables compilation in --std-c99 mode
43166         * support/scripts/inc2h.pl: emit __sfr/__data instead of sfr/data
43168 2006-04-11 Raphael Neider <rneider AT web.de>
43170         * src/pic/device.c (find_device): removed debug output
43171           (list_valid_pics): enabled verbose listing of supported devices
43172         * device/include/stdbool.h: define bool as char for pic14/16 as well
43174 2006-04-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43176         * src/SDCC.y: allow using brackets here: "__interrupt (1) __using (1)"
43178 2006-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
43180         * .version: bumped version to 2.5.6
43181         * src/pic/ralloc.c (newReg): MSVC doesn't support __builtin_return_address
43183 2006-04-06 Raphael Neider <rneider AT web.de>
43185         * .version: bumped version to 2.5.6 (pic14 ABI changed)
43186         * src/SDCCmain.c: add -DSDCC_PROCESSOR=<id> for pic14 port
43187         * src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap,
43188           pic14emitRegularMap,pic14emitMaps): moved output for absolute symbols to
43189             pic14_constructAbsMap
43190           (pic14printPublics): declare absolute global symbols as global
43191           (pic14createInterruptVect),
43192         * src/pic/ralloc.c (IS_CONFIG_ADDRESS): support second config word,
43193           (newReg): assume new registers unused, use correct name in
43194             hashtable (reg->name instead of name), more debugLog output
43195         * src/pic/device.h (PIC_device): added fields for verbose output
43196         * src/pic/device.c: moved device definition to pic14devices.txt,
43197             added routines for runtime parsing of pic14devices.txt,
43198             added support for second config word
43199         * src/pic/main.c (_process_pragma): removed #pragma maxram,
43200           (_pic14_keywords): no longer accept "bit" and "sbit" keywords
43201           (_pic14_initPaths): add search paths with "pic" suffix (not "pic14")
43202           (_pic14_parseOptions): moved pCodeInitRegisters here
43203           (_pic14_do_link): add "pic$(ARCH).lib" to linker arguments
43204         * src/pic/pcode.c (AnalyzeBanking): bail out on unset processor,
43205           (pCodeInitRegisters): rewrapped comments, perpared new approach to
43206             handling the pseudo stack
43207         * device/lib/Makefile.in: ignore failures in objects-pic16,
43208         * device/lib/pic/{configure,configure.in,Makefile}: added libdev/
43209         * device/lib/pic/NEWS: document new dependency on picXXX.lib
43210         * device/lib/pic/Makefile.subdir,
43211         * device/lib/pic16/Makefile.subdir: improved clean rules
43212         * device/lib/pic/libdev/: NEW, pic14 device libraries
43213         * device/lib/pic/libsdcc/_gptr{get,put}{1,2,3,4}.S: use _X not X
43214         * device/lib/pic/libsdcc/macros.inc: use _X not X, declare default SFRs
43215         * device/include/Makefile.in: create subdir and install pic14 headers
43216         * device/include/pic/p16f_common.inc: removed unused declarations
43217         * device/include/pic/pic16*.h: added header files for 100+ 14 bit
43218             PICs from inc2h.pl v1.6,
43219             replaced BIT_AT macros with struct declarations
43220         * device/include/pic/pic14devices.txt: definition of supported devices,
43221             all above improvements contributed by Zik Saleeba, thanks
43222         * support/scripts/inc2h.pl: removed BIT_AT, replaced with structs
43223         * support/scripts/sdcc.nsi: also install pic14 device libraries and
43224             headers
43226 2006-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
43228         * device/include/mcs51/c8051f410.h: added interrupt numbers,
43229         * device/include/mcs51/c8051f200.h: old SiLabs mcu completes the list,
43230           thanks to Charles Olds
43232 2006-04-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43234         * debugger/mcs51/cmd.c (infoRegisters): show return address on stack
43236 2006-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
43238         * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug 1464657
43239         * src/mcs51/gen.c (genJumpTab): fixed bug in medium model
43240         * support/regression/bug1464657.c: added, new test
43242 2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
43244         * src/SDCCmain.c (preProcess): implemented RFE 1449908, define SDCC as the
43245           version number
43247 2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
43249         * src/SDCCpeeph.c (initPeepHole): implemented RFE 1460196, when both
43250           --no-peep and --peep-file <file> are used don't use default rules but
43251           do use the <file>
43253 2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
43255         * src/mcs51/gen.c (genCall): fixed bug 1457608
43257 2006-03-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43259         * doc/sdccman.lyx: reverted to version 1.129 of december as my latest
43260         changes seem to cause (trigger?) problems with the build system.
43262 2006-03-29 Maarten Brock <sourceforge.brock AT dse.nl>
43264         * src/SDCCpeeph.c (operandsLiteral): new, added,
43265           (callFuncByName): inserted operandsLiteral
43266         * src/mcs51/peeph.def: reenabled 132.e, added extra check to 132.x
43268 2006-03-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43270         * doc/sdccman.lyx: added paragraph "Use of SDCC in Education"
43271         * src/mcs51/peeph.def: disabled rule 132.e fixing bug #1453093
43273 2006-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
43275         * src/z80/gen.c (genFunction, genEndFunction): fixed bug 1160666,
43276           implemented patch 1120823 Thanks to Willy De la Court (normal
43277           interrupts need an interrupt number now if they are made critical),
43278           and enabled nesting of critical functions though not for gbz80
43279           (genCritical, genEndCritical): added functions
43280           (genZ80Code): added cases for CRITICAL and ENDCRITICAL
43281         * src/z80/mappings.i: added "ei" to all mappings
43283 2006-03-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43285         * sim/ucsim/cmd.src/newcmdcl.h: applied patch fixing GCC 4.1 build
43286         submitted by the Debian SDCC maintainer Aurelien Jarno:
43287         "Credits goes to Martin Michlmayr, who rebuilt the whole Debian
43288         archive with gcc 4.1 on mips and wrote the patch"
43290 2006-03-16 Raphael Neider <rneider AT web.de>
43292         * src/pic16/genarith.c (genAddLit): simplified and fixed case where
43293           the left operand is shorter than the result (c* = lit-c* + int),
43294           fixes bug #1450796
43295         * src/pic16/gen.c (genRightShift): check IS_SYMOP before accessing
43296           OP_SYMBOL
43298 2006-03-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
43300         * src/.version: increased version number to 2.5.5
43301         * src/SDCCmain.c (linkEdit): do not test for PIC16 target since, PIC16
43302         linking is done manually in pic16 port's _linkEdit,
43303         * src/SDCCsymt.c (compStructSize): for target PIC16 and shell variable
43304         PIC16_PACKED_BITFIELDS, compact bitfield structures as much as possible,
43305         * src/pic16/gen.c (aopForSym): when direct register name is WREG then
43306         allocate asmop as AOP_ACC,
43307         (aopForRemat): added parameter 'bool result' in function declaration,
43308         (pic16_aopGet): return AOP_ACC when accessing WREG,
43309         (pic16_popGetTempReg): minor modification,
43310         (pic16_popRegFromIdx): first try with 'pic16_regWithIdx' then with
43311         'pic16_allocWithIdx',
43312         (genPcall): removed ftype, usage of OP_SYM_TYPE asserted error when
43313         calling function in absolute addresses,
43314         (genAssign): take into account AOP_ACC asmop,
43315         * src/pic16/pcode.c (pic16_newpCodeOpReg): minor modifications,
43316         * src/pic16/pcoderegs.c: some debug functions and lines added,
43317         * src/pic16/ralloc.c (decodeRegType): added but commented out,
43318         * (pic16_typeRegWithIdx): search 'pic16_dynInternalRegs' for given
43319         register too,
43320         * (pic16_findFreeReg, pic16_findFreeRegNext): allocate new register via
43321         call to allocReg, not by manually allocating a new one,
43322         (pic16_assignRegisters): now before going through the register
43323         allocating functions mark all registers as free. This eliminates some
43324         side effects resulting from peephole parser done earlier in the backbone
43326 2006-03-13 Maarten Brock <sourceforge.brock AT dse.nl>
43328         * src/SDCCicode.c (geniCodeLogic),
43329         * src/SDCCast.c (decorateType): applied patch by Bernhard for rfe 1422617
43331 2006-03-10 Maarten Brock <sourceforge.brock AT dse.nl>
43333         * src/mcs51/gen.c (sameReg): new, checks if two aop regs are the same,
43334           (genSend): bugfix, do not allocate and free twice,
43335           (shiftRLong): handle partially overlapping aops
43336         * support/regression/tests/bitopcse.c: fixed warning redefined idata
43338 2006-03-08 Borut Razem <borut.razem AT siol.net>
43340         * support/regression/fwk/include/testfwk.h: added defines for xdata, idata
43341           for pic16
43343 2006-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
43345         * support/regression/tests/bug1409955.c: new, added
43346         * src/mcs51/gen.h: changed asmop.freed:1 to asmop.allocated for tracking
43347         * src/mcs51/gen.c (newAsmop): set asmop.allocated to 1,
43348           (aopForSym, aopOp): increment asmop.allocated if reused,
43349           (freeAsmop): decrement asmop.allocated and check for zero instead of
43350           using asmop.freed,
43351           (freeForBranchAsmop): use asmop.allocated instead of asmop.freed,
43352           (genNot, genCpl, genUminus, genMinus, genMult, genDiv, genMod, genCmpGt,
43353            genCmpLt, genAndOp, genOrOp, genAnd, genOr, genXor, genRRC, genRLC,
43354            genGetHbit, genGetAbit, genGetByte, genGetWord, genSwap,
43355            genLeftShiftLiteral, genLeftShift, genRightShiftLiteral,
43356            genSignedRightShift, genRightShift, genDataPointerGet,
43357            genPagedPointerGet, genFarPointerGet, genCodePointerGet,
43358            genGenPointerGet, genDataPointerSet, genAssign, genCast): free asmop's
43359             in reverse order from allocation,
43360           (genPlus, genCmpEq): free asmop's in reverse order from allocation and
43361             added swappedLR to keep track
43362         * support/regression/fwk/include/testfwk.h: added defines for xdata, idata,
43363           pdata & code for GCC, z80, gbz80 & hc08
43364         * support/regression/tests/zeropad.c: moved defines to testfwk.h
43366 2006-03-08 Raphael Neider <rneider AT web.de>
43368         * src/pic16/main.c (_hasNativeMulFor): fixed bug #1444425
43370 2006-03-07 Maarten Brock <sourceforge.brock AT dse.nl>
43372         * device/include/mcs51/c8051f410.h: new SiLabs mcu
43373         * src/ds390/peeph.def: disabled 186.d and 227.a as fix for #1434401
43374         * support/regression/tests/array.c: added parenthesis, made arrays unsigned
43376 2006-03-06 Borut Razem <borut.razem AT siol.net>
43378         * support/regression/ports/pic16/spec.mk: link with libm18f.lib,
43379           made the linker quiet
43381 2006-03-06 Vangelis Rokas <vrokas AT users.sourceforge.net>
43383         * src/pic16/gen.c (genPcall): fixed bug #1443644
43384         * src/pic16/device.h (struct pic16_options_t): added 'int CATregs' flag
43385         which dumps before the function entry point a data byte which represents
43386         the number of the local variables used by the specified function, added
43387         'xinst' for initial support for Extended Instruction Support,
43388         * src/pic16/gen.c (aopForSym, pic16_aopGet): beautifications,
43389         (pic16_testStackOverflow): do not prefix GSTACK_TEST_NAME with
43390         port->fun_prefix anymore (may change later),
43391         (genFunction, genEndFunction): do not store/restore local registers for
43392         _main (this should take care the --main-return command line option in
43393         the future),
43394         (genOr): removed some legacy pic-port instructions,
43395         * src/pic16/genarith.c (genAddLit): re-enabled old code because
43396         performing operations with SFR's causes data to be written more than
43397         once to each SFR. Perhaps SFRs should be handled in special cases...
43398         * src/pic16/glue.c: macros BIG_ENDIAN and BYTE_IN_LONG are moved to
43399         pcode.h
43400         * src/pic16/main.c (_process_pragma): stack bound checking did not take
43401         into account for stack starting position,
43402         (struct OPTIONS pic16_optionsTable): added command line argument
43403         --extended or -y for Extended Instruction Support,
43404         * src/pic16/ralloc.c (pic16_decodeOp): added case for FUNCTION,
43405         (deassignLRs): *** perhaps the most important change, old 'for' code
43406         (commented out for reference), didn't account for some registers which
43407         were left marked 'not free' after a pointer operation. The change
43408         reduces register usage a lot in some cases
43410 2006-03-04 Borut Razem <borut.razem AT siol.net>
43412         * support/regression/ports/hc08/spec.mk: remove *.asm in traget
43413           _clean
43414         * support/regression/tests/bug-524697.c: decreased array size for
43415           mcs51 to fit into the internal RAM
43416         * support/regression/Makefile.in: a little bit more verbose
43418 2006-03-03 Borut Razem <borut.razem AT siol.net>
43420         * support/regression/fwk/lib/testfwk.c,
43421           support/regression/fwk/include/testfwk.h: introduced function
43422           _prints(), nonrecursive _printn(), call _initEmu() from main()
43423         * support/regression/ports/gbz80/support.asm,
43424           support/regression/ports/ucz80/support.asm,
43425           support/regression/ports/z80/support.asm,
43426           support/regression/ports/ds390/support.c,
43427           support/regression/ports/hc08/support.c,
43428           support/regression/ports/host/support.c,
43429           support/regression/ports/mcs51/support.c,
43430           support/regression/ports/xa51/support.c: added empty _initEmu()
43431           function
43432         * support/regression/ports/pic16/gpsim.cmd,
43433           support/regression/ports/pic16/spec.mk,
43434           support/regression/ports/pic16/support.c,
43435           support/regression/Makefile.in: added pic16 regression test
43437 2006-03-01 Raphael Neider <rneider AT web.de>
43439         * src/pic16/gen.c (genPcall,pic16_derefPtr,genGenPointerGet,
43440           genConstPointerGet): use safe way of generating MOVFF to cover
43441             literals as well as registers, fixes bug #1440527
43442         * src/pic16/glue.c (pic16_printIvalBitFields): prevent NULL pointer
43443             dereference
43444           (pic16_printIvalUnion,pic16_isUnion): NEW, handle initialized unions
43445             more correctly, fixes bug #1232186
43446           (pic16_printIval): use pic16_printIvalUnion() for initialized unions
43447         * src/pic16/main.c (_pic16_linkEdit): reorder linker arguments to make
43448             gplink guess the correct processor in more cases, applied patch
43449             from Till Riedel attached to and fixing bug #1436552
43451 2006-02-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43453         * support/regression/tests/array.c: added, contains check for #1434401
43454         * src/mcs51/peeph.def: disabled 186.d as temporary fix for #1434401
43456 2006-02-16 Maarten Brock <sourceforge.brock AT dse.nl>
43458         * device/include/mcs51/at89s8253.h: new, thanks to Krzysztof Polomka
43459         * device/include/mcs51/at89S8252.h: fixed, thanks to Krzysztof Polomka
43460         * device/include/mcs51/c8051f326.h,
43461         * device/include/mcs51/c8051f340.h: new SiLabs mcu's
43462         * device/include/mcs51/c8051f000.h,
43463         * device/include/mcs51/c8051f018.h,
43464         * device/include/mcs51/c8051f020.h: used () with __at, renamed IDLE,STOP to
43465           PCON_IDLE,PCON_STOP and added sfr16 definitions
43467 2006-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
43469         * src/mcs51/gen.c (genPlus, genMinus, genMult, genGetAbit, genGetByte,
43470           genGetWord): fixed bug 1409955
43472 2006-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
43474         * device/include/hc08/mc68hc908gp32.h,
43475         * device/include/hc08/mc68hc908jb8.h: removed AWUL, added PTA6 & PTA7
43477 2006-02-13 Maarten Brock <sourceforge.brock AT dse.nl>
43479         * src/SDCCast.c (constExprValue): return NULL if not a value
43480         * src/SDCCglue.c (printIvalArray): fixed bug 1225568
43481         * src/hc08/gen.c(genUnpackBits, genUnpackBitsImmed): fixed bug 1019480
43482         * support/regression/tests/bitfields.c: enabled signed bitfield for all
43484 2006-02-13 Borut Razem <borut.razem AT siol.net>
43486         * src/regression/ptrarg.c: added, fails due to bug #1430967
43487         * src/regression/Makefile: ptrarg.c added, ...
43489 2006-02-12 Maarten Brock <sourceforge.brock AT dse.nl>
43491         * src/z80/gen.c (genUnpackBits): fixed bug 1019480
43492         * support/regression/tests/bitfields.c: enabled signed bitfield for z80
43494 2006-02-11 Borut Razem <borut.razem AT siol.net>
43496         * src/SDCCmain.c: Added "sdcc: Calling linker..." if --verbose,
43497           print "Processor: xxx" message to stdout only if --verbose
43499 2006-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
43501         * src/SDCCglue.c (printIvalStruct): fixed bug 1426356 union initializer
43502         * support/regression/tests/bug1426356.c: added
43503         * support/regression/tests/bitfields.c: removed 2 tests
43505 2006-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
43507         * device/include/mcs51/at89c51snd1c.h: updated comments, see patch 1428901
43508         * device/include/mcs51/c8051f330.h,
43509         * device/include/mcs51/c8051f350.h: used () with __at, renamed IDLE,STOP to
43510           PCON_IDLE,PCON_STOP and added sfr16 definitions
43511         * device/lib/_divsint.c,
43512         * device/lib/_divuint.c,
43513         * device/lib/_divulong.c,
43514         * device/lib/_divulong.c: renamed a,b to x,y to avoid confusion, fixed
43515           register bank bug for small stackauto
43517 2006-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
43519         * support/regression/fwk/lib/timeout.c: include <stdlib.h> for exit()
43521 2006-02-08 Maarten Brock <sourceforge.brock AT dse.nl>
43523         * support/regression/ports/mcs51-xstack-auto/spec.mk: forgot -I(...)/mcs51
43524         * all.dsp: corrected several bin paths
43525         * device/include/mcs51/c8051f120.h,
43526         * device/include/mcs51/c8051f300.h,
43527         * device/include/mcs51/c8051f310.h: used () with __at and renamed IDLE,STOP
43528           to PCON_IDLE,PCON_STOP
43529         * device/include/mcs51/c8051f320.h: see above, also added sfr16 definitions
43530         * device/lib/printf_large.c (output_float): fixed bug 1388703
43531         * support/regression/tests/bug1057979.c: added test for bug 1388703
43533 2006-02-08 Raphael Neider <rneider AT web.de>
43535         * src/pic/pcode.c (pciTRIS): fixed typo,
43536           (BuildFlow,LinkFlow_pCode): added (disabled) debug output,
43537           (LinkFlow): fixed handling of flows that end in a call,
43538           (ReuseReg): perform safety check earlier
43539         * src/pic/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed
43540             to work with flows at the beginning of a pBlock,
43541             fixes #1426557 (Symbol not previously defined),
43542           (pic14_ReMapLiveRanges): NEW, destroy and rebuild register
43543             usage information
43544           (RemoveUnusedRegisters): update register usage info
43545         * src/pic/ralloc.c (newReg): prevent duplicate registers from being
43546             created, reuse existing ones instead
43547         * src/pic/gen.c (genPcall): fixed #1424719
43549 2006-02-07 Bernhard Held <bernhard AT bernhardheld.de>
43551         * link/z80/lkmain.c,
43552         * link/z80/lklex.c,
43553         * link/z80/lkdata.c,
43554         * link/z80/aslink.h: fixed build on current cygwin:
43555         replaced getline() by lk_getline()
43557 2006-02-01 Borut Razem <borut.razem AT siol.net>
43559         * src/regression/add.c, src/regression/add2.c, src/regression/add3.c,
43560           src/regression/add4.c, src/regression/and1.c, src/regression/and2.c,
43561           src/regression/arrays.c, src/regression/b.c, src/regression/bank1.c,
43562           src/regression/bool1.c, src/regression/bool2.c,
43563           src/regression/bool3.c, src/regression/call1.c,
43564           src/regression/compare.c, src/regression/compare10.c,
43565           src/regression/compare2.c, src/regression/compare3.c,
43566           src/regression/compare4.c, src/regression/compare5.c,
43567           src/regression/compare6.c, src/regression/compare7.c,
43568           src/regression/compare8.c, src/regression/compare9.c,
43569           src/regression/configword.c, src/regression/for.c,
43570           src/regression/inline.c, src/regression/mult1.c,
43571           src/regression/nestfor.c, src/regression/or1.c,
43572           src/regression/pointer1.c, src/regression/ptrfunc.c,
43573           src/regression/rotate1.c, src/regression/rotate2.c,
43574           src/regression/rotate3.c, src/regression/rotate4.c,
43575           src/regression/rotate5.c, src/regression/rotate6.c,
43576           src/regression/rotate7.c, src/regression/string1.c,
43577           src/regression/struct1.c, src/regression/sub.c,
43578           src/regression/sub2.c, src/regression/switch1.c,
43579           src/regression/while.c, src/regression/xor.c,
43580           src/regression/create_stc, src/regression/simulate,
43581           src/regression/rt.sh, src/regression/Makefile: reenabled Scott's PIC14
43582           regression tests
43583         * src/regression/gpsim_assert.h: added
43585 2006-01-28 Bernhard Held <bernhard AT bernhardheld.de>
43587         * src/ds390/gen.c (unsaveRegisters): fixed literal function pointer
43588         ((void (code *) (void)) 0) ();
43589         * as/hc08/aslex.c,
43590         * as/hc08/aslink.h,
43591         * as/hc08/asm.h,
43592         * as/hc08/asmain.c,
43593         * as/hc08/lkdata.c,
43594         * as/hc08/lklex.c,
43595         * as/hc08/lkmain.c,
43596         * as/mcs51/aslex.c,
43597         * as/mcs51/aslink.h,
43598         * as/mcs51/asm.h,
43599         * as/mcs51/asmain.c,
43600         * as/mcs51/lkdata.c,
43601         * as/mcs51/lklex.c,
43602         * as/mcs51/lkmain.c,
43603         * as/z80/aslex.c,
43604         * as/z80/asm.h,
43605         * as/z80/asmain.c: fixed build on current cygwin:
43606         replaced getline() by as_getline()
43608 2006-01-27 Bernhard Held <bernhard AT bernhardheld.de>
43610         * src/SDCC.y: fixed bug #716242, exchanged pointer and function
43611         declarator in the symbol chain
43612         * src/SDCCsymt.h,
43613         * src/SDCCsymt.c (processFuncPtrArgs): added, removes "(void)"
43614         parameter list for function pointers
43615         * src/SDCCast.c (decorateType): added call of processFuncPtrArgs()
43616         * support/regression/tests/bug-716242.c: added
43618 2006-01-20 Bernhard Held <bernhard AT bernhardheld.de>
43620         * src/SDCCicode.c (geniCodeAdd, geniCodeArray): use char for array
43621         offset if possible
43622         * src/SDCCast.c (getLeftResultType): 255 fits in char, not 256
43624 2006-01-18 Bernhard Held <bernhard AT bernhardheld.de>
43626         * src/SDCCast.c (backPatchLabels): fixed bug #1408066: made it
43627         inifinitely recurseable, added static
43628         * support/regression/tests/bug-1408066.c: added
43630 2006-01-17 Bernhard Held <bernhard AT bernhardheld.de>
43632         * src/SDCCicode.h,
43633         * src/SDCCicode.c (newiTempPreheaderLabel, newiTempLoopHeaderLabel):
43634         renamed, added possibility to create "postLoopLbl"-labels
43635         * src/SDCCBBlock.c (iCodeBreakDown): renamed newiTempPreheaderLabel to
43636         newiTempLoopHeaderLabel
43637         * src/SDCCloop.c (newInduction, newRegion, backEdges, insertIntoLoop,
43638         isNotInBlocks, addToExitsMarkDepth, createLoop, dominatedBy,
43639         addDefInExprs, assignmentsToSym, isOperandInvariant, pointerAssigned,
43640         hasNonPtrUse, loopInvariants, addressTaken, findInduction,
43641         findDefInRegion, mergeRegions, ifMerged, mergeInnerLoops): made static,
43642         (pinduction, pregion, hasIncomingDefs, findLoopEndSeq): disabled,
43643         (basicInduction): fixed bug #136564, made static,
43644         (loopInduction): changed parameter of basicInduction, made static,
43645         (addPostLoopBlock): added
43646         * src/SDCCloop.h: removed backEdges, pregion, pinduction,
43647         loopOptimizations, addressTaken, findDefInRegion, hasIncomingDefs,
43648         findLoopEndSeq
43649         * support/regression/tests/bug-136564.c: added
43650         * support/regression/ports/mcs51-xstack-auto/spec.mk: added
43651         --std-sdcc99 to LIBSDCCFLAGS
43653 2006-01-16 Bernhard Held <bernhard AT bernhardheld.de>
43655         * src/SDCCicode.c (geniCodeIfx): fix bug 1406131: always false
43656         while loop
43657         * support/regression/tests/bug-1406131.c: added
43659 2005-12-31 Bernhard Held <bernhard AT bernhardheld.de>
43661         * src/SDCCast.c (decorateType): fix promotion of unary minus
43662         * src/SDCCsymt.c (computeType): beautified
43663         * src/SDCCval.c (cheapestVal): beautified, old non-Ansi version removed,
43664         (valUnaryPM, valComplement): fix sign and promotion,
43665         (valNot): ANSI: result type is int (SDCC: unsigned char)
43666         * support/regression/tests/uminus.c: speedup by removing superflous
43667         test case 'int'
43668         * support/regression/tests/onebyte.c: added promotion and signedness
43669         tests for unary minus
43670         * support/regressions/tests/bug-477927.c: disable warning about
43671         uninitialized variables
43672         * support/regression/tests/not.c: added
43674 2005-12-28 Bernhard Held <bernhard AT bernhardheld.de>
43676         * device/lib/Makefile.in: added --std-sdcc99 to CFLAGS
43677         * src/mcs51/gen.c (gen51Code): show final register usage after
43678         fillGaps in asm with --i-code-in-asm
43679         * src/SDCClrange.c (sequenceiCode, setLiveFrom, setLiveTo,
43680         markLiveRanges, markAlive, findNextUseSym, findNextUse, unvisitBlocks,
43681         incUsed, rliveClear, adjustIChain): made static,
43682         (setFromRange): excluded because it's unused,
43683         (findPrevUseSym, markWholeLoop): added,
43684         (findPrevUse): rewritten; fixes bug 895992; now a complete search
43685         through all branches of predecessors enables sdcc to emit the warning
43686         W_LOCAL_NOINIT, marking of outermost loop was incomplete,
43687         (rlivePoint): made static, added parameter emitWarnings which is only
43688         true during the first run out of two,
43689         (findRecursiveSucc, findRecursivePred): removed,
43690         (computeLiveRanges): made static, added parameter emitWarnings,
43691         (dumpIcRlive): added for debugging only
43692         * src/SDCClrange.h: added boolean parameter to computeLiveRanges(),
43693         removed prototype of setFromRange()
43694         * src/SDCCopt.c (eBBlockFromiCode): added new parameter emitWarnings
43695         in call of computeLiveRanges()
43696         * support/regression/tests/bug-895992.c: added
43697         * support/regression/tests/bug-971834.c: added
43698         * support/valdiag/tests/bug-895992.c: added
43699         * support/valdiag/tests/bug-971834.c: added
43701 2005-12-18 Raphael Neider <rneider AT web.de>
43703         * src/pic16/gen.c: added IS_DIRECT macro for "direct" operands,
43704           (genUnpackBits): improved code for direct operands,
43705           (genPackBits): improved code for literal assignment to bitfields
43706             and for direct destination operands (no FSR indirection),
43707             prevented redundant AND, fixes #1362800,
43708           (AccLsh): added parameter to disable masking of the result
43709         * src/pic16/pcode.c (pic16_safepCodeUnlink): fixed to work with
43710           skip instructions with side-effects (like incfsz),
43711           (pic16_pCodeIsAlive): suppress verbose output unless pcode_verbose,
43712         * src/pic16/pcoderegs.c (RemoveRegsFromSet): removed annoying warning
43713         * device/lib/pic16/Makefile.common.in: added --asm=@GPASM@ to CC,
43714           fixes #1375263
43716 2005-12-11 Bernhard Held <bernhard AT bernhardheld.de>
43718         * src/SDCCicode.c (geniCodeAssign): fixed bug 11369874, don't use
43719         volatile variables as spill location
43721 2005-12-10 Bernhard Held <bernhard AT bernhardheld.de>
43723         * src/SDCCcse.c (findCheaperOp): fixed bug 1376320, copy signedness to
43724         replacing literals
43725         * support/regression/tests/bug-1376320.c: added
43727 2005-12-08 Raphael Neider <rneider AT web.de>
43729         * src/pic/device.c: renamed is_shared to pic14_is_shared
43730         * src/pic/gen.c (genIfx): re-enabled handling of sbits
43731         * src/pic/glue.c (emitSymbolToFile): added workaround for sbits,
43732           (is_valid_identifier): added for above workaround
43734 2005-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
43736         * device/lib/Makefile.in: fixed to enable port-specific-objects
43737         * device/lib/ds390/i2c390.c (BitOutI2C): optimized by making bout unsigned
43738           char, thanks Hubert Sack
43739         * doc/sdccman.lyx: documented --xstack-loc,
43740           elaborated a bit more on interrupts and pitfalls,
43741           removed "setjmp/longjmp unsupported",
43742           documented some unsupported C99 features
43743         * src/SDCCmain.c (linkEdit): adapted default lib path for --stack-auto
43744         * src/SDCCpeeph.c (readRules): inserted patch 1367130 for finding missing
43745           if, thanks Hubert Sack
43746         * src/mcs51/gen.c (genEndFunction): enabled "pop psw" for regbank 0 isr
43747         * support/regression/Makefile.in: test-mcs51-stack-auto no longer needs to
43748           make make_library
43749         * support/regression/get_ticks.py: new, get cpu cycles and code size, so
43750           regression tests can report resource usage (rfe 700441)
43751         * support/regression/collate-results.py: report resource usage
43752         * support/regression/ports/ds390/spec.mk,
43753         * support/regression/ports/hc08/spec.mk,
43754         * support/regression/ports/mcs51/spec.mk,
43755         * support/regression/ports/ucz80/spec.mk: run sim output through get_ticks
43756         * support/regression/ports/ds390/uCsim.cmd,
43757         * support/regression/ports/hc08/uCsim.cmd,
43758         * support/regression/ports/mcs51/uCsim.cmd,
43759         * support/regression/ports/ucz80/uCsim.cmd: inserted "state" to report time
43760         * support/regression/ports/mcs51-stack-auto/spec.mk: no need to build the
43761           library, use the default one
43762         * support/regression/ports/mcs51-xstack-auto/spec.mk: inserted rules for
43763           building the library
43765 2005-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
43767         * config.dsp: added dependency on .version and configure_vc.awk
43768         * device/include/setjmp.h: updated for --stack-auto and --xstack
43769         * device/include/mcs51/at89c51snd1c.h: corrected line endings
43770         * device/include/mcs51/XC866.h: added, thanks Llewellyn van Zyl
43771         * device/lib/_setjmp.c: updated for --stack-auto and --xstack
43772         * device/lib/libsdcc.lib: added _setjmp
43773         * src/SDCCast.c (createIvalCharPtr): fixed warnings,
43774           (decorateType): fixed bug 1372851,
43775           (optimizeGetHbit): fixed warning
43776         * src/SDCCglue.c (printIvalChar, printIvalArray): adapted for flexible
43777           array initialisation
43778         * support/regression/tests/bug1057979.c: added test for bug 1358192
43779         * support/regression/tests/setjmp.c: added, test for setjmp/longjmp
43781 2005-12-03 Borut Razem <borut.razem AT siol.net>
43783         * support/scripts/sdcc.nsi: added /SOLID option to "SetCompressor lzma"
43784           command since the NSIS was upgraded to version 2.11 on CF x86-linux2
43786 2005-11-29 Bernhard Held <bernhard AT bernhardheld.de>
43788         * src/SDCCast.c (createIvalStruct, createIvalArray, createIvalPtr,
43789         createIval): implement symbol independant "flexible array member",
43790         (createIvalCharPtr): implemented flexible array initialisation with a
43791         string
43792         * src/SDCCsymt.c (copyStruct): removed,
43793         (getSize): fixed misleading comment,
43794         (getAllocSize): removed, the additional allocation size is now in
43795         sym->flexArrayLength,
43796         (checkStructFlexArray): new, syntax checks for flexible array members,
43797         (compStructSize): added syntax checks for "flexible array members"
43798         (copyStruct): removed,
43799         (copyLinkChain): removed inefficient fix for bug 770487
43800         * src/SDCCglue.c (emitRegularMap): getAllocSize has been removed
43801         * src/SDCCsymt.h: added structdef.b_flexArrayMember and
43802         symbol->flexArrayLength
43803         * src/SDCCerr.c,
43804         * src/SDCCerr.h: added W_INVALID_FLEXARRAY, W_C89_NO_FLEXARRAY,
43805         E_FLEXARRAY_NOTATEND and E_FLEXARRAY_INEMPTYSTRCT
43806         * support/regression/tests/structflexarray.c: added
43807         * support/valdiag/tests/structflexiblearray.c: added
43809 2005-11-29 Bernhard Held <bernhard AT bernhardheld.de>
43811         * src/SDCCast.c (decorateType): fixed bug 1368489
43812         * support/Util/SDCCerr.c,
43813         * support/Util/SDCCerr.h: added warning W_CMP_SU_CHAR
43815 2005-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43817         * device/include/mcs51/at89c51snd1c.h: added file submitted by
43818           Weston T. Schmidt <schmidtw AT users.sourceforge.net>, patch #1368001
43820 2005-11-27 Borut Razem <borut.razem AT siol.net>
43822         * support/cpp2/cppinit.c, support/cpp2/cpplib.h, support/cpp2/mkdeps.c,
43823           support/cpp2/mkdeps.h: added command line option
43824           -obj-ext=<extension> to SDCPP to define object file externion, used
43825           for generation of make dependencies (-M)
43826         * src/SDCCmain.c: pass -obj-ext=<extension> to SDCPP
43828 2005-11-26 Borut Razem <borut.razem AT siol.net>
43830         * support/scripts/sdcc.nsi: added small-stack-auto libraries,
43831           added missing device/lib/mcs51/crt*.asm, pic and pic16 sources,
43832           added pic and pic16 libraries
43834 2005-11-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43836         * device/include/float.h: Corrected typo in prototype of __fsgt
43838 2005-11-25 Borut Razem <borut.razem AT siol.net>
43840         * sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
43841           added creation of model-mcs51-stack-auto libraries
43843 2005-11-24 Bernhard Held <bernhard AT bernhardheld.de>
43845         * src/SDCCsymt.c (copyLinkChain): fixed bug 770487, copy structdef
43846         and fields-list too
43847         * src/SDCCast.c (createIvalArray): removed obsolete comment
43849 2005-11-24 Borut Razem <borut.razem AT siol.net>
43851         * sdcc/device/lib/Makefile.in: remove all unnecessary files, 2nd try...,
43852           added missing device/lib/mcs51/crt*.asm sources
43854 2005-11-23 Bernhard Held <bernhard AT bernhardheld.de>
43856         * src/SDCCast.c (createIvalCharPtr): fixed bug 1348271
43858 2005-11-22 Maarten Brock <sourceforge.brock AT dse.nl>
43860         * device/lib/_fs2schar.c,
43861         * device/lib/_fs2sint.c,
43862         * device/lib/_fs2slong.c: optimized inline asm
43864 2005-11-21 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43866         * device/lib/_fs2slong.c, device/lib/_fs2sint.c, device/lib/_fs2char.c:
43867           Better handling of floats between -1.0 and 0.0.
43869 2005-11-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43871         * src/mcs51/peeph.def: added missing "if"s as noted by Hubert Sack.
43872           (the missing "if"s prohibited removal of redundant labels)
43874 2005-11-19 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43876         * device/lib/_fs2slong.c, device/lib/_fs2sint.c, device/lib/_fs2char.c:
43877           Properly convert floats between -1.0 and 0.0 to long, int, and char
43878           types (max integer value of negative floats tends to zero).
43879         * device/lib/modff.c, device/lib/ceilf.c, device/lib/floorf.c:
43880           Removed changes made so to work properly with floats between
43881           -1.0 and 0.0, as the problem is fixed in _fs2slong.c, _fs2sint.c,
43882           and _fs2char.c
43884 2005-11-18 Bernhard Held <bernhard AT bernhardheld.de>
43886         * src/SDCCcse.c (ReplaceOpWithCheaperOp): minor fix for debugging only
43887         * src/mcs51/gen.c (genUnpackBits): better code and a fix,
43888         (genCast) cosmetic change
43889         * src/ds390/gen.c (genUnpackBits, ): ported from mcs51
43890         * src/ds390/ralloc.c (packRegsForAssign): ported fix for bitfields
43891         from mcs51
43892         * support/regression/tests/bitfields (testSignedBitfields): added
43894 2005-11-18 Borut Razem <borut.razem AT siol.net>
43896         * sdcc/device/lib/Makefile.in: remove all unnecessary files
43897         * device/lib/pic/Makefile.rules, device/lib/pic16/Makefile.subdir:
43898           introduced SILENT option to make building of pic16 libraries less
43900 2005-11-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43902         * device/lib/modff.c, device/lib/ceilf.c, device/lib/floorf.c:
43903           Now they work properly with floats between -1.0 and 0.0
43904         * device/lib/printf_large.c: Removed temporary patch for bug 1358192
43906 2005-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
43908         * src/SDCCicode.c (printOperand): added missing else
43910 2005-11-18 Bernhard Held <bernhard AT bernhardheld.de>
43912         * src/SDCCsymt.c (computeType): fixed bug 1358192: added missing else,
43913         reformatted for better readability
43914         * src/mcs51/gen.c (genUnpackBits): initial, incomplete support for
43915         signed bitfields
43917 2005-11-17 Borut Razem <borut.razem AT siol.net>
43919         * device/lib/pic16/Makefile.rules, device/lib/pic16/Makefile.subdir:
43920           introduced SILENT option to make building of pic16 libraries less
43921           verbose - used for nightly snapshot build
43922         * doc/sdccman.lyx: documented that SDCDB and ucSim are currently not
43923           available on Win32 platforms.
43924         * sdcc/device/lib/Makefile.in: added library sources for mcs51, small,
43925           medium, large, pic and pic16
43927 2005-11-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43929         * device/lib/printf_large.c: Temporary patch for bug 1358192:
43930           printf("%f"...) sets fraction to zero.
43932 2005-11-16 Raphael Neider <rneider AT web.de>
43934         * src/pic/pcode.c (LinkFlow): handle empty flows correctly,
43935           fixes #1357221
43936         * src/pic/gen.c (genIfx): implemented for CARRY bit
43937         * src/pic16/gen.c (genAssign,genCast): fixed assigning/casting
43938           to generic pointers, fixes #1357332,
43939           (pic16_movLit2f): NEW,
43940           (pic16_storeForReturn,genDataPointerSet): use pic16_movLit2f
43942 2005-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
43944         * src/SDCCmain.c (parseCmdLine): fixed bug 1356800, thanks rsudjian
43946 2005-11-11 Raphael Neider <rneider AT web.de>
43948         * src/pic/gen.c: handle FPOINTERS like POINTERS everywhere
43949         * src/pic16/gen.c (pic16_derefPtr): now works for non-pointers as well,
43950           compute pointer's type from operand,
43951           (genUnpackBits,genPackBits): handle FPOINTERS correctly, re-indented,
43952           improved single bit reads, fixes bug #1353379
43954 2005-11-09 Borut Razem <borut.razem AT siol.net>
43956         * support/scripts/sdcc.nsi: added lib/pic to the package
43958 2005-11-08 Maarten Brock <sourceforge.brock AT dse.nl>
43960         * src/SDCCval.c (valUnaryPM): fixed bug 1350699
43962 2005-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
43964         * support/regression/tests/bug1348008.c: added
43965         * src/mcs51/gen.c (saveRBank, unsaveRBank): fixed bug 1348008
43966         * support/regression/tests/bug1337835.c: updated comment
43968 2005-11-06 Borut Razem <borut.razem AT siol.net>
43970         * sim/ucsim/error.cc, sim/ucsim/errorcl.h,
43971           sim/ucsim/sim.src/stack.cc, sim/ucsim/sim.src/stackcl.h,
43972           sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
43973           sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/memcl.h,
43974           sim/ucsim/cmd.src/set.cc, sim/ucsim/cmd.src/show.cc:
43975           dynamic construction of cl_error_class and derivates - 2.nd try
43977 2005-11-05 Borut Razem <borut.razem AT siol.net>
43979         * sim/ucsim/sim.src/error.cc: fixed uninitialized class member variable
43980           bug, which caused Bus Errors on sparc solaris
43982 2005-11-04 Borut Razem <borut.razem AT siol.net>
43984         * sim/ucsim/error.cc, sim/ucsim/errorcl.h,
43985           sim/ucsim/sim.src/stack.cc, sim/ucsim/sim.src/stackcl.h,
43986           sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
43987           sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/memcl.h,
43988           sim/ucsim/cmd.src/cmdconf.cc: dynamic construction of cl_error_class
43989           and derivates to resolve the initialization problem on OSX
43991 2005-11-02 Borut Razem <borut.razem AT siol.net>
43993         * sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
43994           corrected typo - #include <winsock2.h>
43996 2005-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
43998         * src/asm.c (printILine): always close tmpFile, thanks Beau E. Cox,
43999           (_asxxxx_mapping): added org directive for future enhancements
44001 2005-11-01 Borut Razem <borut.razem AT siol.net>
44003         * sim/ucsim/app.cc, sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
44004           enabled sockets on WIN32
44005         * sim/ucsim/cmd.src/newcmd.cc: fixed bug with uninitialized variables
44007 2005-10-31 Borut Razem <borut.razem AT siol.net>
44009         * support/regression/generate-cases.py: escape backslashes in {testcase}:
44010           WIN32 backslash path delimiters should be escaped when used in C strings
44011         * support/regression/tests/bitfields.c: exclude failing assertions for
44012           __CYGWIN32__ and __MINGW32__ hosts
44014 2005-10-30 Borut Razem <borut.razem AT siol.net>
44016         * src/SDCCutil.c: corrected double comparison typo
44018 2005-10-30 Maarten Brock <sourceforge.brock AT dse.nl>
44020         * device/lib/medium/Makefile: added for new memory model medium
44021         * device/include/asm/mcs51/features.h: updated for medium/pdata
44022         * device/include/mcs51/c8051f120.h: added sfr16/sfr32 definitions,
44023           added Multiply & Accumulate sbit's and MAC0_PAGE define
44024         * device/include/mcs51/c8051f300.h: added sfr16 definitions
44025         * device/include/mcs51/c8051f310.h: added sfr16 definitions
44026         * device/lib/_mullong.c: update for medium model
44027         * device/lib/incl.mk: added medium model
44028         * doc/sdccman.lyx: documented medium model
44029         * src/SDCCast.c (isBitAndPow2): simplified using updated powof2
44030         * src/SDCCicode.c (geniCodeMultiply, geniCodeDivision): use updated powof2
44031         * src/SDCCmain.c (optionsTable, linkEdit): enabled medium model
44032         * src/SDCCmem.c (allocIntoSeg): set iaccess for pdata symbols,
44033           (allocParms): set SCLS and OCLS to pdata for medium model
44034         * src/SDCCsymt.c (processFuncArgs): use default_local_map and set iaccess
44035           for pdata,
44036           (powof2): return <0 if not power of 2
44037         * src/avr/gen.c (genBitWise): use updated powof2
44038         * src/mcs51/gen.c (genMinusDec): use acc if necessary,
44039           (shiftR2Left2Result): small optimization in setup, save acc when storing,
44040           (shiftLLeftOrResult): use B if necessary
44041         * src/mcs51/main.c (_mcs51_finaliseOptions, mcs51_port): added medium model
44042         * src/mcs51/peeph.def: renamed 226 to 226.b, added 226.a
44043         * src/pic/main.c (_pic14_do_link): made void parameter list explicit
44044         * support/regression/Makefile.in: added test-mcs51-medium
44045         * support/regression/ports/mcs51-medium/spec.mk: added to test medium model
44047 2005-10-28 Bernhard Held <bernhard AT bernhardheld.de>
44049         * src/SDCCsymt.c (compStructSize): make bitfields without (un)signed
44050         specifier unsigned
44051         * device/lib/time.c (mktime): fixed bug 1334315
44053 2005-10-28 Raphael Neider <rneider AT web.de>
44055         * device/include/pic/p16f_common.inc: added common declarations
44056         * src/pic/ralloc.c (initStack): moved regs *r to block start for Alpha
44058 2005-10-27 Maarten Brock <sourceforge.brock AT dse.nl>
44060         * src/mcs51/gen.c (getTempRegs): return 0 if not enough registers found,
44061           (aopPutUsesAcc): added to predict accumulator use,
44062           (assignResultValue): save acc if necessary,
44063           (genMinusDec): store result if indirectly addressed,
44064           (genDivOneByte):  save acc if necessary,
44065           (movLeft2Result): bugfix if left already in acc,
44066           (genAnd, genOr, genXor, shiftL2Left2Result, shiftR2Left2Result): pay more
44067             attention to accumulator use (esp. pdata),
44068           (genReceive): receive pdata correctly
44069         * src/SDCCicode.c (isOperandInPagedSpace): added to detect pdata operands
44070         * src/SDCCicode.h: added isOperandInPagedSpace prototype
44072 2005-10-27 Raphael Neider <rneider AT web.de>
44074         * doc/sdccman.lyx: corrected version (should be 2.5.4 not 2.5.5)
44076 2005-10-27 Raphael Neider <rneider AT web.de>
44078         * .version: changed version to 2.5.4
44079         * doc/sdccman.lyx: changed version to 2.5.4, added some remarks to PIC14
44080         * device/lib/pic/libsdcc/{_mulint.c,_mullong.c}: use unsigned literals,
44081           (_divschar.c,divuchar.c,_mulchar.c,_modschar.c,_moduchar): NEW,
44082             arithmetics support routines
44083         * device/lib/pic/Makefile.rules: have assembler sources preprocessed
44084         * device/lib/Makefile.in: also create installdir for pic
44086         * src/SDCCopt.c (cnvToFcall): mark support routines `extern' for
44087           pic14 port as well
44088         * src/pic/device.c (dump_sfr): rewritten to delegate register
44089           placement to the linker (use `extern sym' rather than sym EQU addr),
44090           (validAddress): fixed to check last specified address
44091         * src/pic/gen.c (aopForSym): added code to deal with array (useless?),
44092           (popGetLit): truncate literal value to 8 bit,
44093           (popGet): moved assert to more appropriate place
44094           (popGetExternal): create pCode operand from and mark the according
44095             symbol as being `extern'
44096           (popGetAddr): added sanity check on immediate's offset, provide
44097             GPOINTER tag on demand
44098           (aopPut): fixed for immediates,
44099           (mov2w_op): move operand's address or contents to WREG (depending on
44100             operand type), safer variant of mov2w,
44101           (movwf,call_libraryfunc): NEW, handy abbreviations,
44102           (get_argument_pcop,get_return_val_pcop,pass_argument,
44103           get_returnvalue): interface for accessing function parameters and
44104             return values,
44105           (assignResultValuei,genRet): use new parameter/return value interface
44106           (pic14_getDataSize): back to old version handling generic pointers,
44107           (pic14_toBoolean,genNot,genCpl,genCmpEq,genOrOp): heavily rewritten,
44108             provided implementation and/or fixed old one,
44109           (genMultOneByte,genDivOneByte,genModOneByte): implemented as library
44110             calls, removed legacy 8051 reference code
44111           (AccLsh,AccRsh): rewritten and fixed to deal with signed operands
44112           (loadSignToC): NEW, move the operands sign bit to CARRY,
44113           (genGenericShift): NEW, replaces genLeftShift, genRightShift and
44114             genRightShiftSigned, accepts negative shift counts,
44115           (setup_fsr): load FSR and adjust IRP (indirect memory access),
44116           (emitPtrByteGet,emitPtrByteSet): rewritten, now works with
44117             generic pointers, __data pointers and __code pointers,
44118           (genUnpackBits,genPackBits): rewritten to work with generic pointers
44119             and signed bitfields, limit bitfields to 8 bit,
44120           (genDataPointerGet): fixed number of bytes read,
44121           (genGenPointerGet,genConstPointerGet): fixed bitfield access,
44122           (genPointerGet,genPointerSet): fixed handling of __code pointers,
44123             pointers to constant data are no longer assumed to point to __code
44124             space, removed invalid pointer types,
44125           (bitpatternFromVal): retrieve the PICs representation of an integer
44126             or float literal,
44127           (genDataPointerSet): fixed assigning to po_immediate operands,
44128           (genGenPointerSet): implemented as library call,
44129           (genIfx): fixed incorrect condition,
44130           (genAddrOf): limit generic pointers' addresses to 2 bytes,
44131             provide GPOINTER tag according to destination's storage class,
44132           (genCast): added code to handle casting to generic pointers, added
44133             sign-/zero extension of the result
44134           (aop_isLitLike,op_isLitLike): fixed handling of immediates
44135         * src/pic/gen.h: added macros to access IRP bit in STATUS register
44136         * src/pic/genarith.c (genAddLit): use min(result's,left's) size, sign
44137           extend the result
44138         * src/pic/glue.c (is_shared_address,is_shared): check whether a given
44139           address/register resides in the shared banks
44140           (emitSymbolToFile): improved to handle global and `pinned' symbols,
44141             put all variables into separate sections (have the linker arrange
44142             them)
44143           (picglue): put init code and interrupt handlers in separate sections
44144         * src/pic/main.c: added port specific options table, modified to PORT
44145           structure to make GPOINTERs 3 byte, added pic14_options
44146           (_pic14_do_link): private linking routine (update paths to libraries,
44147             add libsdcc.lib by default)
44148         * src/pic/main.h: declare pic14_options
44149         * src/pic/pcode.c: fixed instructions i/o relations,
44150           (RegCond): reverted to correct version,
44151           (newpCodeOpLit): truncate literals to 8 bit,
44152           (genericPrint): added debug output,
44153           (getRegFromInstruction): fixed for various operand types, simplified
44154           (BuildFlow): fixed broken handling of isntructions with labels
44155           (LinkFlow): start at last instruction in flow (skip trailing comments),
44156             pass the flow on to the next instruction after CALL
44157           (pCodeReplace): NEW, replace a pCode and move meta data to the new one
44158           (insertPCodeInstruction): fixed inserting after a skip instruction,
44159           (DoBankSelect): fixed for labeled instructions
44160           (OptimizepBlock): honor --nopeep switch
44161           (AnalyzeFlow,ReuseReg): prevent crash on source files with no function
44162         * src/pic/pcodepeep.c (pCodePeepMatchRule): prevent NULL pointer accesses
44163         * src/pic/pcoderegs.c (regIsLocal): NEW, check visibility of a register
44164           (pCodeOptime2pCodes): allow disabling this optimization via
44165             --no-pcode-opt due seldomly occuring bugs, fixed some conditions
44166             but is still buggy), started implementation of a dataflow based
44167             pCode optimization (CSE + dead code elimination)
44168           (pCodeRegMapLiveRangesInFlow): removed bogus inCond
44169         * src/pic/ralloc.c (initStack): renamed stack registers to STK%d, the new
44170           names are independant of the stack location and therefore portable across
44171           devices
44173 2005-10-27 Maarten Brock <sourceforge.brock AT dse.nl>
44175         * src/mcs51/ralloc.c (bitType): added to detect bit variables,
44176           (selectSpil): fixed bug 1337835 by not spilling bit variables
44177         * support/regression/tests/bug1337835.c: added test for this bug
44178         * src/mcs51/peeph.def: restart after rule 3.c,
44179           addded rules 263.x to optimize loading constants
44181 2005-10-26 Raphael Neider <rneider AT web.de>
44183         * src/SDCCsymt.c (compStructSize): allow signed bitfields for PIC ports
44184         * src/pic16/gen.c (genUnpackBits): support signed bitfields,
44185           (genAssign): emit warning when casting literals to generic pointer
44186             type, also applies when taking the address of a fixed variable,
44187           (genCast): improved casting to generic pointers
44188         * src/pic16/glue.c (pic16emitStaticSeg): fixed(?) handling of fixed
44189           extern variables, added verbose error message
44190         * device/include/pic16/{string.h,errno.h}: added #pragma library c
44192 2005-10-26 Bernhard Held <bernhard AT bernhardheld.de>
44194         * src/mcs51/gen.c (genMinus): fixed bug 1270906: reverse subtraction,
44195         carry must be complemented too
44196         * src/mcs51/peeph.def: addded rule 262 to remove double cpl c, which
44197         could be emitted by genMinus
44198         * src/SDCCval.c (constVal): fixed bug 1305065
44200 2005-10-25 Bernhard Held <bernhard AT bernhardheld.de>
44202         * src/SDCCast.c (addCast): added promotion for bit variables
44203         (decorateType): emit W_COMPLEMENT before the problem vanishes behind
44204         promotion casts + optimisation
44205         (optimizeGetWord): fix warning 'i' might be used uninitialized
44206         * src/mcs51/gen.c (genCpl): removed W_COMPLEMENT
44207         * src/ds390/gen.c (genCpl): removed W_COMPLEMENT
44209 2005-10-24 Bernhard Held <bernhard AT bernhardheld.de>
44211         * src/SDCCicode.c (ast2iCode): reverted to 1.224 because of regression:
44212         all chars are promoted to int; promotion should be handled in SDCCast.c
44214 2005-10-15 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44216         * device/lib/_strcmp.c: Fixed bug 1326457
44218 2005-10-11 Raphael Neider <rneider AT web.de>
44220         * device/lib/pic16/libio/i2c.ignore: added 1320, fixes broken builds
44221         * device/lib/pic16/libdev/pic18f1320.c: added 1320's device library
44223 2005-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
44225         * src/SDCC.y (AT): fixed bug with sfr32 addresses when built with GCC
44226         * support/regression/tests/sfr16.c: added test for the sfr32 bug
44228 2005-10-04 Raphael Neider <rneider AT web.de>
44230         * device/include/pic16/pic18fregs.h, src/pic16/devices.inc,
44231           device/lib/pic16/pics.all: added pic18f1320
44232         * src/pic16/pcode.c (mnem2key): fixed prototype's argument mismatch
44234 2005-09-30 Raphael Neider <rneider AT web.de>
44236         * src/pic16/device.c (Pics16[]): moved device descriptions to devices.inc
44237         * src/pic16/devices.inc: NEW, provides device descriptions
44238         * src/pic16/gen.c (genInline): fixed handling of ';'-comments
44240 2005-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
44242         * src/SDCCicode.c (operandOperation): added GETABIT, GETBYTE, GETWORD and
44243           GETHBIT
44245 2005-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
44247         * doc/sdccman.lyx: updated Highest Order Bit documentation,
44248           documented Any Order Bit, Higher Order Byte and Higher Order Word
44249         * src/SDCC.y: added tokens GETABIT, GETBYTE, GETWORD
44250         * src/SDCCast.c (optimizeGetHbit): updated to also accept bool=expr&(1<<n),
44251           (optimizeGetAbit): new, to get any bit, not only the high bit,
44252           (optimizeGetByte): new, to get a byte from a (long) int: expr>>(8*n),
44253           (optimizeGetWord): new, to get a word from a long int: expr>>(8*n),
44254           (isConformingBody): also check GETABIT, GETBYTE, GETWORD,
44255           (decorateType): '&': also try GETABIT, GETBYTE, GETWORD optimization,
44256             RIGHT_OP: also try GETBYTE, GETWORD optimization,
44257             GETABIT, GETBYTE, GETWORD: decorate them,
44258           (isShiftRightLitVal, isBitAndPowOf2): new helper functions,
44259           (ast_print): added GETABIT, GETBYTE, GETWORD
44260         * src/SDCCcse.c (isSignedOp): added GETABIT, GETBYTE, GETWORD
44261         * src/SDCCicode.c (codeTable): added GETABIT, GETBYTE, GETWORD,
44262           (geniCodeBinary): new generic binary icode,
44263           (ast2iCode): added GETABIT, GETBYTE, GETWORD
44264         * src/port.h: updated comment for PORT.hasExtBitOp
44265         * src/mcs51/gen.c (genGetAbit): new, to get any single bit,
44266           (genGetByte): new, to get a single byte,
44267           (genGetWord): new, to get a word from a long,
44268           (gen51Code): added GETABIT, GETBYTE, GETWORD
44269         * src/mcs51/main.c (hasExtBitOp): added GETABIT, GETBYTE, GETWORD
44271 2005-09-23 Raphael Neider <rneider AT web.de>
44273         * configure.in, configure: have device/lib/pic configured
44274         * device/lib/Makefile.in: added model-pic14
44275         * device/lib/clean.mk: added pic/ to clean rule
44276         * device/lib/pic: added rudimentary pic14 library providing support
44277           functions for multiplication/division/generic pointer access
44278         * src/SDCCopt.c (convilong): mark support functions as extern
44279           for pic14 port as well
44280         * src/pic/gen.c (genMult): added assertions,
44281           (genpic14Code): emit warning on unhandled iCodes
44282         * src/pic/main.c (_hasNativeMulFor): return true only for 8x8 bit
44283         * src/pic/pcode.c (pCodeOpCopy),
44284         * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed handling of various
44285           pCodeOpReg-subtypes (PO_{STATUS,INTCON,PCL,PCLATH,PCLATU,BSR,
44286           SFR_REGISTER}), made safe for future extensions
44287         * src/pic16/pcode.c (pic16_safepCodeUnlink): allow for removal of
44288           instructions even if preceeded by SKIP instructions (also remove
44289           them); removed unused code
44290         * src/pic16/pcode.h: added arg2 to pCodeOpLit to match pCodeOpLit2,
44291           prevents leaving parts of the structure uninitialized after copying
44293 2005-09-22 Maarten Brock <sourceforge.brock AT dse.nl>
44295         * src/mcs51/gen.c (genMinus): fix for undetected bug introduced 3 months
44296           ago by me
44297         * support/regression/tests/addsub.c: added test for the bug
44299 2005-09-21 Raphael Neider <rneider AT web.de>
44301         * device/include/pic16/pic18f1220.h,
44302           device/lib/pic16/libdev/pic18f1220.c: added ECCPAS sfr and bitfield
44303         * device/lib/pic16/Makefile.rules: added missing opening paren
44304         * src/pic16/gen.c (pic16_genNot,pic16_genCpl): removed as these
44305           are provided in genutils.c,
44306           (genUminusFloat,genUminus,genCmpEq): added asserts on different
44307           operand/result sizes,
44308           (genCmp): assert on NULL pointers first, then check deref'ed values
44309         * src/pic16/genutils.c (pic16_genCpl): fixed for different operand/
44310           result size
44312 2005-09-18 Raphael Neider <rneider AT web.de>
44314         * src/pic16/gen.c (genFarPointerGet,genFarPointerSet): removed
44315           as these are now unused,
44316           (genPointerGet,genPointerSet): handle FPOINTERs like POINTERs
44317         * src/pic16/pcode.c (pic16_symIsSpecial): assume REG_TMPs to be
44318           local, avoids uninitialized pointer dereference on r->name
44319         * src/pic16/ralloc.c (newReg): fixed indentation
44321 2005-09-13 Maarten Brock <sourceforge.brock AT dse.nl>
44323         * src/SDCCval.c (constVal): fixed bug 730366
44324         * support/Util/SDCCerr.c,
44325         * support/Util/SDCCerr.h: added warning W_INVALID_INT_CONST
44327 2005-09-10 Maarten Brock <sourceforge.brock AT dse.nl>
44329         * as/mcs51/lkmem.c (summary2): fixed report for absolute areas (bug 1210220)
44331 2005-09-09 Maarten Brock <sourceforge.brock AT dse.nl>
44333         * src/mcs51/peeph.def (241.x): fixed bug when comparing generic pointers
44335 2005-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
44337         * as/hc08/lkaomf51.c (OutputName): made name unsigned char,
44338           (hex2dec): made hex_digit unsigned char, removed ascii dependance
44339         * as/mcs51/lkaomf51.c (OutputName): made name unsigned char,
44340           (hex2dec): made hex_digit unsigned char, removed ascii dependance
44341         * as/mcs51/lkarea.c (lnkarea2): sort absolute areas to the front
44342         * packihx/packihx.c (hexDigit): made c unsigned char
44343         * as/mcs51/lklibr.c (fndsym),
44344         * link/z80/lkgb.c (gb),
44345         * link/z80/lklibr.c (fndsym),
44346         * link/z80/lkrloc.c (relr),
44347         * sim/ucsim/libltdl/ltdl.c (load_deplibs, try_dlopen),
44348         * src/SDCC.lex (checkCurrFile, process_pragma),
44349         * src/SDCCglue.c (spacesToUnderscores),
44350         * src/SDCCmain.c (setParseWithComma, processFile),
44351         * src/asm.c (tvsprintf, printCLine),
44352         * src/avr/gen.c (emitcode, aopPut),
44353         * src/ds390/gen.c (emitcode),
44354         * src/hc08/gen.c (emitcode, emitinline),
44355         * src/mcs51/gen.c (emitcode, genInline),
44356         * src/pic/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
44357           tokenizeLineNode),
44358         * src/pic/ralloc.c (debugLog),
44359         * src/pic16/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
44360           tokenizeLineNode),
44361         * src/pic16/ralloc.c (debugLog),
44362         * src/z80/main.c (_process_pragma):
44363            made all ctype.h function calls safe
44364         * src/SDCCopt.c: include math.h for fabs
44365         * src/SDCCpeeph.c: added macros ISCHARDIGIT, ISCHARSPACE and ISCHARALNUM
44366           and used them throughout the code to make ctype.h function calls safe
44367         * src/ds390/main.c (asmLineNodeFromLineNode),
44368         * src/mcs51/main.c (asmLineNodeFromLineNode): made p unsigned char*
44369         * src/pic/gen.c (DEBUGpic14_emitcode, pic14_emitcode): made lbp
44370            unsigned char*
44371         * src/pic/pcode.c (mnem2key): made mnem unsigned char*,
44372           (newpCodeAsmDir): made ctype.h function calls safe
44373         * src/pic16/gen.c (pic16_emitpcomment, DEBUGpic16_emitcode,
44374           pic16_emitcode):  made lbp unsigned char*
44375         * src/pic16/pcode.c (mnem2key): made mnem unsigned char*,
44376           (pic16_newpCodeAsmDir): made ctype.h function calls safe
44377         * src/xa51/gen.c (emitcode),
44378         * src/z80/gen.c (_emit2): made lbp unsigned char*
44379         * support/Util/MySystem.c (split_command): made cmd_line and p unsigned
44380            char*
44382 2005-09-05 Raphael Neider <rneider AT web.de>
44384         * src/pic16/ralloc.c (pic16_allocDirReg): use device specific
44385           access bank splitpoint
44387 2005-09-05 Raphael Neider <rneider AT web.de>
44389         * device/lib/pic16/libc/Makefile: added (missing) string to SUBDIRS
44391 2005-09-03 Maarten Brock <sourceforge.brock AT dse.nl>
44393         * .version: changed to version 2.5.3
44394         * doc/sdccman.lyx: changed version to 2.5.3,
44395           documented --codeseg and --constseg and pragma codeseg and constseg,
44396           documented bit parameters (reentrant) and bit returning
44397         * src/SDCCicode.c (geniCodeReceive): fixed (possible) bug generating
44398            currFunc->recvSize, but is this ok for all ports?
44399           (ast2iCode): result of ~ on unsigned char must be cast to int for
44400            bool to work
44401         * src/SDCCmem.c (allocGlobal, allocLocal): don't put bit returning
44402           function pointers in bit space
44403         * src/SDCCsymt.c (checkSClass): allow bit returning function pointers,
44404           (processFuncArgs): call port.reg_parm() with reentrancy info
44405         * src/port.h,
44406         * src/avr/main.c,
44407         * src/ds390/main.c,
44408         * src/hc08/main.c,
44409         * src/pic/main.c,
44410         * src/pic16/main.c,
44411         * src/xa51/main.c,
44412         * src/z80/main.c: port.reg_parm prototype extended with
44413           "bool reentrant" parameter
44414         * src/mcs51/main.c (_mcs51_regparm): use parameter reentrant instead of
44415           options.stackAuto for allocating bit register parameters
44416         * src/mcs51/gen.c (genNot): optimized complementing direct bit,
44417           (genSend): set BitBankUsed if it is,
44418           (selectRegBank): factored out of genCall for use in genPcall,
44419           (genCall): removed redundant dtype assignmen, use selectRegBank,
44420           (genPcall): handle returning in Carry properly, save in F0 if needed,
44421           (genReceive): handle bit register parameters
44422         * src/mcs51/ralloc.c (updateRegUsage): update BitBankUsed along the way,
44423           (mcs51_assignRegisters): enable bit registers for all reentrant
44424            functions and don't set BitBankUsed unconditionally
44425         * src/mcs51/peeph.def (177.d): fixed bug if %2==%3
44426         * support/regression/tests/bitvars.c: enable tests for SDCC_STACK_AUTO
44427         * support/regression/tests/funptrs.c: added tests for BOOL and for return
44429 2005-08-27 Borut Razem <borut.razem AT siol.net>
44431         * device/lib/Makefile.in: cp on sparc-solaris (SunOS) and on
44432         ppc-osx (Darwin) does not support -u option. It seems that it is
44433         supported only on Linux - GNU cp
44435 2005-08-25 Borut Razem <borut.razem AT siol.net>
44437         * sim/ucsim/gui.src/serio.src/Makefile.in,
44438           sim/ucsim/s51.src/Makefile.in, sim/ucsim/avr.src/Makefile.in,
44439           sim/ucsim/z80.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
44440           sim/ucsim/xa.src/Makefile.in: install -s changed to 2 steps:
44441           install and strip, since the strip at /usr/ccs/bin should be used
44442           on solaris
44444 2005-08-24 Borut Razem <borut.razem AT siol.net>
44446         * clean.mk, device/lib/clean.mk: find on sparc-solaris does not support -maxdepth option
44448 2005-08-23 Bernhard Held <bernhard AT bernhardheld.de>
44450         * src/SDCCopt.c (convertToFcall): fixed modulus with divisors 1 and
44451         ffffffffu
44453 2005-08-23 Maarten Brock <sourceforge.brock AT dse.nl>
44455         * as/mcs51/aslink.h: completed lkrloc.c prototypes
44456         * as/mcs51/lkmain.c (link_main): fixed warning
44457         * device/include/stdbool.h: ds390 has no advanced bit support yet
44458         * src/SDCC.y: use SPEC_SHORT and renamed _signed to b_signed
44459         * src/SDCCsymt.c: use SPEC_SHORT and renamed _signed to b_signed
44460         * src/SDCCsymt.h (struct specifier): renamed _xxx bitfields to b_xxx
44461           and updated their macros
44462         * src/SDCCval.c (constVal): updated comment for renamed b_long
44464 2005-08-22 Maarten Brock <sourceforge.brock AT dse.nl>
44466         * as/mcs51/asdata.c: changed ctype['['] to BINOP
44467         * as/mcs51/asexpr.c (expr): added case '[' for bit access in bdata,
44468           (term): abused bit 15 of s_addr to indicate bit-addressable bytes,
44469           (oprio): set priority for '['
44470         * as/mcs51/aslink.h: added define R_BIT, and prototypes for adb_bit
44471            and adb_24_bit
44472         * as/mcs51/asm.h: added defines R_BIT and S_BIT
44473         * as/mcs51/lkarea.c (lnksect2): use T for seg BIT_BANK and overlay it
44474         * as/mcs51/lkdata.c: changed ctype['['] to BINOP
44475         * as/mcs51/lkmain.c (Areas51): rel2 contains 12 (=C) areas now,
44476           added overlayable BIT_BANK area
44477         * as/mcs51/lkmem.c (summary): add BIT_BANK to BSEG_BYTES in the report,
44478           (summary2): explain 'T' in legenda
44479         * as/mcs51/lkrloc.c: replaced old K&R style,
44480           (relr): added R_BIT processing,
44481           (errmsg): added "Bit-addressable relocation error",
44482           (adb_bit): added for converting from byte- to bit-addressable space,
44483           (adb_24_bit): added for converting from byte- to bit-addressable space
44484         * device/include/stdbool.h: changed BOOL to __bit for mcs51 as it can be
44485            used in reentrant functions now even as return value
44486         * device/lib/_gptrput.c (_gptrput): removed obsolete code
44487         * src/SDCCast.c (resultTypePropagate): also propagate AND_OP and OR_OP,
44488           (decorateType): case '!', GETHBIT, AND_OP, OR_OP: result in bool or char
44489         * src/SDCCglobl.h: added indicator BitBankUsed
44490         * src/SDCCglue.c (glue): emit area BIT_BANK with byte 'bits' and equ's for
44491            the bit registers b0-b7
44492         * src/SDCCicode.c (operandFromSymbol): removed IS_BITVAR check,
44493           (geniCodeCast): fixed bug 1263853,
44494           (geniCodeLogicAndOr): put result in bool or char,
44495           (geniCodeReceive): added parameter func for accessing the return type,
44496           (geniCodeFunctionBody): pass func to geniCodeReceive
44497         * src/SDCCmain.c: added indicator BitBankUsed
44498         * src/SDCCmem.c (allocLocal): explicitly set sclass for V_BIT
44499         * src/SDCCsymt.c (newBoolLink): added for creating a bool/bit,
44500           (checkSClass): don't put automatic bool/bit on stack,
44501           (checkFunction): removed check on function cannot return bit
44502         * src/SDCCsymt.h: added newBoolLink prototype
44503         * src/mcs51/gen.c (rb1regs): added bit registers,
44504           (movc): created for assigning to carry,
44505           (pushReg, popReg): created for pushing registers,
44506           (sameRegs): check both AOP_REG and AOP_CRY types,
44507           (aopOp): handle bit registers,
44508           (aopPut): optimization no self-assign,
44509           (saveRegisters): push reg->base (bits) only once for bit registers,
44510            and use pushReg,
44511           (unsaveRegisters): pop reg->base only once and use popReg,
44512           (assignResultValue): added parameter func and return in carry for bits,
44513           (genIpush): optimization no reload in A if not changed,
44514           (genSend): bit parameters in reentrant functions are passed in bit
44515            registers by first assigning to bits in B, then save registers and
44516            copy B to bits,
44517           (genCall): handle returning in Carry properly, save it in F0 if needed,
44518           (genPcall): updated assignResultValue call, this is not safe yet for bit
44519            returning function !!!
44520           (genFunction): don't generate equ's for bit registers and use pushReg,
44521           (genEndFunction): take care of bit returning functions and use popReg,
44522           (genRet): return bit in Carry,
44523           (genIfx): optimize bit registers and other directly addressable bits,
44524           (genReceive): updated assignResultValue call
44525         * src/mcs51/main.c (_mcs51_reset_regparm): added regBitParmFlg,
44526           (_mcs51_regparm): allow passing of upto 8 bit parameters in bit
44527            registers when using stack-auto
44528         * src/mcs51/ralloc.c (_G): added allBitregs,
44529           (regs8051): added the bit registers,
44530           (createStackSpil): use macro IS_BIT,
44531           (getRegBit): added to allocate a bit register, else spill,
44532           (getRegBitNoSpil): added to allocate a bit register, else a gpr,
44533           (updateRegUsage): factored out to ease stepping while debugging,
44534           (serialRegAssign): use updateRegUsage, only spill bits if necessary,
44535            also allocate bit registers,
44536           (fillGaps): handle bit registers,
44537           (findAllBitregs): added to create bit vector with all bit registers,
44538           (mcs51_allBitregs): returns this bit vector,
44539           (mcs51_assignRegisters): when using stack-auto use bit registers for
44540            passing parameters and creating local variables
44541         * src/mcs51/ralloc.h: added B0_IDX..B7_IDX and prototype mcs51_allBitregs
44543 2005-08-22 Borut Razem <borut.razem AT siol.net>
44545         * device/lib/Makefile.in: replaced find option -or with -o
44546           to make it run on solaris
44548 2005-08-22 Raphael Neider <rneider AT web.de>
44550         * src/pic16/gen.c (pic16_loadFromReturn): added check for AOP_PCODE,
44551           fixes #1265442 (crash on Solaris)
44553 2005-08-20 Borut Razem <borut.razem AT siol.net>
44555         * configure, configure.in: added tests for libsocket and libnsl libraries,
44556           requred by sdcdb on sparc-solaris; generate support/regression/Makefile
44557           from support/regression/Makefile.in
44558         * support/regression/Makefile.in: added
44559         * device/lib/pic16/Makefile.common.in: force make to use bash shell
44560         * sim/ucsim/libtool: regenerated on sparc-solaris
44561         * sim/ucsim/avr.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
44562           sim/ucsim/s51.src/Makefile.in, sim/ucsim/xa.src/Makefile.in,
44563           sim/ucsim/z80.src/Makefile.in: removed GNU ld specific linker options
44564           -Wl,--start-group and -Wl,--end-group to enable ucsim compilation on
44565           sparc-solaris, which doesn't use GNU ld linker
44566         * device/lib/Makefile.in: cp on sparc-solaris (SunOS) does not support -u option
44567         * as/Makefile: find on sparc-solaris does not support -maxdepth option
44569 2005-08-19 Maarten Brock <sourceforge.brock AT dse.nl>
44571         * src/mcs51/peeph.def: updated comments
44573 2005-08-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
44575         * device/lib/_gptrget.c,
44576         * device/lib/_gptrput.c: slightly shorter
44577         * doc/sdccman.lyx: incremented version
44578         * src/mcs51/peeph.def: moved peephole comments to the line of first
44579           change to better keep line correlation, reanimated 186.e
44580         * src/mcs51/peeph.def: renamed similar peepholes by using suffixes
44582 2005-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
44584         * src/pic/pcode.c : Pasted ".line" assembly directives patch from
44585           David Saxton with quotes around file name.
44587 2005-08-15 Borut Razem <borut.razem AT siol.net>
44589         * support/regression/tests/bitfields.c, support/regression/tests/bitvars.c,
44590           support/regression/tests/bitwise.c, support/regression/tests/literalop.c,
44591           support/regression/tests/rotate.c, support/regression/tests/zeropad.c:
44592           make tests run on x86_64 platform
44594 2005-08-13 Raphael Neider <rneider AT web.de>
44596         * device/lib/pic16/Makefile.subdir: weakened clean-intermediate rule
44597           as it might be executed DURING a build (parallel make is wonderful)
44599 2005-08-13 Raphael Neider <rneider AT web.de>
44601         * device/lib/Makefile.in (port-specific-objects-pic16):
44602           revert to cp $(PORT)/bin/*.* $(PORTDIR)
44603         * device/lib/pic16/Makefile: added .PHONY targets, removed builddir
44604           dependency
44605         * device/lib/pic16/Makefile.rules: build subdirs before creating
44606           the library, removed builddir rule, create $(builddir) early in
44607           recurse rule, use empty recurse rule for leaf directories
44608         * device/lib/pic16/Makefile.subdir: added phony targets, ignore
44609           mkdir errors (race condition), removed duplicate suffix "hex"
44610           from clean rules
44611         * device/lib/pic16/libdev/Makefile: recursive make via + and $(MAKE)
44612         * device/lib/pic16/libio/Makefile: create sub-make's builddir early,
44613           prevents mkdir -p from aborting on Alpha
44615 2005-08-12 Raphael Neider <rneider AT web.de>
44617         * src/pic16/glue.c (pic16_print(G)PointerType): do not flush
44618           db-statements in order to allow for arrays of pointers in code
44619           sections to be placed without interspersed 0-padding, fixes
44620           bug #1256215
44621         * (emitStatistics): fixed division by zero for pic18f1220
44622         * src/pic16/pcode.c: buffer (up to) 12 DB directives to allow for
44623           unpadded writing of 8-bit, 16-bit, 24-bit and 32-bit values
44624         * (pic16_emitDS): respect DB_ITEMS_PER_LINE
44625         * (pic16_pCodeConstString): keep track of already emitted string
44626           literals to prevent "duplicate definitions of symbol _str_NR"
44627         * src/pic16/ralloc.c (pic16_allocRegByName): removed not so helpful
44628           debug message
44629         * device/lib/Makefile.in: ignore failing PIC16 library builds
44630         * device/lib/pic16/Makefile: do not build if gputils are missing
44631         * device/lib/pic16/Makefile.common.in: do not enforce MAKEFLAGS=-s
44633 2005-08-10 Raphael Neider <rneider AT web.de>
44635         * device/lib/Makefile.in: fixed copying pic16 libraries (broken by
44636           my last commit)
44638 2005-08-10 Raphael Neider <rneider AT web.de>
44640         * src/*.c, src/pic16/{gen.c,glue.c,main.c}: applied Vangelis
44641           Rokas' patch to add the new fixed point type "__fixed16x16"
44642         * device/lib/pic16/libsdcc/fixed16x16: added Vangelis' support
44643           functions for __fixed16x16 arithmetics
44644         * device/lib/pic16: reimplemented the build system to support
44645           a separate build directory, better handling of libio (create
44646           the library in a separate subdir for each architecture) and
44647           easier configuration (centralized in Makefile.common)
44649 2005-08-07 Raphael Neider <rneider AT web.de>
44651         * src/pic16/gen.c (genrshTwo): fixed sign extension
44652         * src/pic16/device.c: added pic18f2320, 4220 and 4320
44653         * device/include/pic16/pic18f2220.h: changed some bit definitions,
44654           added T0CONbits
44655         * device/include/pic16/pic18f4220.h: NEW, header for
44656           pic18f4220 and pic18f4320
44657         * device/include/pic16/pic18fregs.h: added new devices,
44658           embraced Nop(), ClrWdt(), Sleep() and Reset() with do {} while(0)
44659         * device/include/pic16/signal.h: resolved name clashes
44660           on bit definitions, added DEF_HANDLER2(sig1,sig2,handler)
44661           to also allow testing for interrupt enable bits, added
44662           comments on how to use the macros
44663         * device/lib/pic16/libdev/pic18f2220.c: added T0CONbits
44664         * device/lib/pic16/libdev/pic18f{2320,4220,4320}.c: NEW,
44665           register definitions for the devices
44666         * device/lib/pic16/pics.all: added new devices
44667         * device/lib/pic16/libc/stdlib/calloc.c: fixed zeroing
44668           allocated memory
44669         * device/lib/pic16/libc/stdlib/memfree: do not count
44670           the block header as free memory
44671         * device/lib/pic16/libc/stdlib/memmisc.c (_initHeap):
44672           simplified and added missing end-of-blocklist-marker
44673           (reported by Peter Onion, fixes #1252814)
44674         * (_mergeHeapBlock): fixed loop condition
44675         * device/lib/pic16/libc/stdlib/realloc.c: return NULL for
44676           len==0, restructured code
44677         * device/lib/pic16/libc/stdlib/{malloc,memfreemax}.c: cleaned
44678           up a bit, reduced bitfield accesses, prevent endless loops
44679           in case of heap corruption
44680         * device/lib/pic16/libc/stdlib/x_ftoa.c: disabled
44681           "unreferenced arguments/must return a value" warnings
44682         * device/lib/pic16/libio/usart/ubaud.c (usart_baud):
44683           replaced BAUDREG with SPBRG
44684         * device/lib/pic16/libsdcc/lregs/{lrrest.c,lrst.c},
44685           device/lib/pic16/debug/gstack/gstack.c: replaced
44686           _naked, _asm, _endasm with __naked, __asm, __endasm
44688 2005-08-05 Raphael Neider <rneider AT web.de>
44690         * src/pic16/gen.c (pic16_aopGet): fixed handling of offsets in
44691           AOP_PCODE operands, fixes multibyte union-bitfield-accesses
44693 2005-08-05 Borut Razem <borut.razem AT siol.net>
44695         * device/lib/Makefile.in: added missing ';'
44696         * configure: removed ^M characters
44698 2005-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44700         * device/include/mcs51/at89c51ed2.h, device/include/mcs51/p89v51rd2.h,
44701           device/include/mcs51/at89s53.h: changed to GNU Lesser General Public
44702           License
44704 2005-08-04 Borut Razem <borut.razem AT siol.net>
44706         * configure.in: pic16 libraries build 2nd try - enable running
44707           configure in device/lib/pic16
44708         * configure: regenerated from configure.in
44709         * device/lib/Makefile.in: create $(PORT)/bin directory
44711 2005-08-03 Raphael Neider <rneider AT web.de>
44713         * src/pic16/gen.c (pic16_derefPtr): NEW, single place
44714           to get/set values via pointers
44715         * (genUnpackBits,genPackBits): changed detection of
44716           ptr->bitfield vs. sym.bitfield, fixed access via generic
44717           pointers, removed dead (wrong) code for multibyte bitfields
44718         * (genNearPointerGet, genGenPointerGet): removed useless code,
44719           fixed bitfield detection, fixes #1250594
44720         * (genNearPointerSet): removed useless code
44721         * src/pic16/gen.h: renamed pic16_emitpcode to pic16_emitpcode_real
44722           and introduced macro pic16_emitpcode that conditionally emits
44723           the origin of the following pCode (useful for debugging SDCC)
44724         * src/pic16/pcode.c: changed (and disabled) some debug outputs
44725         * (createDefmap): fixed handling of LFSR for --optimize-df
44727 2005-08-02 Borut Razem <borut.razem AT siol.net>
44729         * device/lib/Makefile.in: pic16 libraries build enabled since
44730           gputils-0.13.2 are now localy installed at sourceforge's compile farm
44732 2005-08-02 Raphael Neider <rneider AT web.de>
44734         * src/pic16/gen.c (genPackBits): removed deprecated warning
44735         * (genGenPointerSet): fixed bitfield detection
44737 2005-08-02 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44739         * device/include/mcs51/msm8xc154s.h: Removed PT2 definition, now in 8052.h.
44741 2005-07-31 Raphael Neider <rneider AT web.de>
44743         * device/lib/pic16/libdev/pic18f458.c,
44744           device/include/pic16/pic18f458.h: added missing T0CONbits
44746 2005-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
44748         * device/include/mcs51/msm8xc154s.h: added, thanks to Matthias Arndt
44750 2005-07-28 Maarten Brock <sourceforge.brock AT dse.nl>
44752         * src/mcs51/gen.c (operandsEqu): fixed bug 1246687
44754 2005-07-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44756         * device/include/mcs51/at89c51ed2.h: added.
44758 2005-07-23 Raphael Neider <rneider AT web.de>
44760         * src/pic/gen.h: added emitpcode macro for debugging
44761         * src/pic/gen.c (emitpcode): renamed to emitpcode_real
44762           and replace by macro adding debug information on demand
44763         * (genNot): fixed to C semantics (!0 = 1; !x = 0 iff x != 0)
44764         * (gencjne): tried to fix; replaced with correct (slower) code
44765         * (gen{Unp,P}ackBits): fixed single bit access
44766         * src/pic/pcode.c (AnalyzepCode): fixed DFPRINTF argument
44767         * src/pic/pcodepeep.c (pCodeSearchCondition): fixed finding
44768           previous instruction
44769         * src/pic/pcoderegs.c (regIsSpecial): NEW, check whether a
44770           register has to be handled with care (forbidding movement
44771           of assignments/uses, removing assignments completely, ...)
44772         * (pCodeOptime2pCodes): make use of regIsSpecial
44773         * added lots of debugging output (commented out)
44774         * src/pic/rallloc.c (deassignLRs): prevent operand registers
44775           from being reused as result UNLESS it is known to work
44777 2005-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
44779         * support/Util/dbuf.h: include <stddef.h> for size_t
44780         * .version: changed to version 2.5.2
44782 2005-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
44784         * src/SDCCloop.c (loopInvariants): fixed bug #1234048
44786 2005-07-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
44788         * src/hc08/gen.c (genMinus): fixed bug #1241835,
44789           (genModOneByte): removed needless psha/pula
44791 2005-07-22 Raphael Neider <rneider AT web.de>
44793         * src/SDCCmain.c (linkEdit): initialized linkerScriptFileName,
44794           have PIC14 handled like PIC16, fixes broken pic14 linker calls
44795         * src/pic/gen.c (resolveIfx): do not "invent" labels
44796         * (genSkipc): changed to positive logic
44797         * (genSkipCond): removed as no longer needed
44798         * (pic14_mov2w_regOrLit,genCmp): NEW, replacement for buggy version,
44799           backport from PIC16
44800         * (genLeftShift): check operands are in different registers
44801         * src/pic/genarith.c (genPlus): replaced INCF with ADDLW as
44802           INCF does not update CARRY...
44803         * src/pic/main.c: fixed _linkCmd
44804         * src/pic/pcode.c (unlinkpCode): added inactive code
44805         * src/pic/ralloc.c (deassignLRs): keep arguments to shift operations
44806           alive (do not assign result and operand overlapping registers)
44808 2005-07-22 Raphael Neider <rneider AT web.de>
44810         * src/pic/device.c (dump_sfr): replaced register declaration with
44811           call to emitSymbolToFile() to avoid duplicate symbols
44812         * (assignRelocatableRegisters): do not declare external symbols
44813         * src/pic/ralloc.c (allocNewDirReg): fixed to get size of arrays
44814           right (take size of type, not etype)
44815         * (allocDirReg): fixed call to allocNewDirReg() to pass OP_SYM_TYPE
44816         * (writeUsedRegs): also dump dynDirectRegs (e.g. local variables)
44817         * (packRegsForAccUse): disabled assignment of WREG as
44818           the result reg to prevent occurence of just fixed #1235003,
44819           fixes #1242954
44820         * src/pic/glue.c (emitSymbolToFile): NEW, central place to declare
44821           symbols (avoids duplicate symbols in .asm file)
44822         * (pic14emitRegularMap): use emitSymbolToFile()
44823         * src/pic/gen.c (aopOp): fixed spillLocation handling
44824         * (gen{Unp,P}ackBits): fixed acquiring bit-operands
44825         * (genDataPointerSet): removed unneccessary variables/output
44827 2005-07-22 Maarten Brock <sourceforge.brock AT dse.nl>
44829         * as/mcs51/lkarea.c: enlarged codemap for banked memory
44830         * device/lib/mcs51/crtbank.asm: added # to 0x0F
44832 2005-07-21 Raphael Neider <rneider AT web.de>
44834         * src/pic/gen.c (aopOp): do not generate AOP_ACC operands as pic14
44835           architecture cannot handle them efficiently, fixes bug #1235003
44836         * src/pic16/device.c (pic16_dump_{u,i}section,pic16_dump_int_registers):
44837           check for empty sets before using them (fixes bug #1232190)
44839 2005-07-19 Maarten Brock <sourceforge.brock AT dse.nl>
44841         * as/mcs51/lkarea.c (lnkarea, lnkarea2): improved BSEG size calculation,
44842           (lnksect2): generate warnings for memory overlap
44843         * src/SDCC.lex (doPragma, process_pragma): added pragma's codeseg and
44844           constseg to set the name of these segments so you can instruct the linker
44845           to place them in banks
44846         * src/SDCCast.c (decorateType): use new macro IS_FUNCPTR()
44847         * src/SDCCglobl.h: added MODEL_HUGE to enum,
44848           added code_seg and const_seg to options
44849         * src/SDCCglue.c (emitMaps): use options.const_seg,
44850           (createInterruptVect): put interrupt vectors in segment HOME,
44851           (glue): put HOME before static segment and put the main glue in HOME,
44852           (glue): use options.code_seg
44853         * src/SDCCicode.c (geniCodeCall): use new macro IS_FUNCPTR()
44854         * src/SDCCmain.c: added option --codeseg and --constseg to set the name of
44855           these segments so you can instruct the linker to place them in banks
44856           (linkEdit): use code_loc for HOME segment which should be the first
44857           segment in code memory now
44858         * src/SDCCmem.c: fixed more stuff like bug 1238386
44859         * src/SDCCsymt.c (getSize): use generic pointer size for banked functions,
44860           (changePointer): don't change function pointers to code pointers for
44861           banked functions,
44862           (compareType): added exceptional check for banked function pointers
44863         * src/SDCCsymt.h: changed IFFUNC_ISBANKEDCALL, added IS_FUNCPTR
44864         * src/hc08/main.c (_hc08_genAssemblerPreamble): put HOME first, put CSEG
44865           after static in code memory
44866         * src/mcs51/gen.c: added aopLiteralLong prototype,
44867           (aopForSym): use getSize for functions,
44868           (genCall): generate banked calls over one trampoline __sdcc_banked_call
44869           in HOME with lsb of address in r0, msb in r1 and bank in r2, use
44870           -Wl-bBANKSEG=0xbbaaaa option to set the address (aaaa) and bank (bb) of
44871           the segment,
44872           (genPcall): use call for literal function pointers and generate banked
44873           calls over the one trampoline so there's only one place for the user to
44874           modify according to his/hers hardware,
44875           (genEndFunction): jump to __sdcc_banked_ret in HOME for banked functions,
44876           (genPlusIncr): moved check icount>4 beyond inc dptr optimization
44877         * src/mcs51/main.c: added keyword banked,
44878           (_mcs51_genExtraAreas): put HOME first followed by GSINIT, STATIC and CSEG
44879         * support/Util/SDCCerr.c,
44880         * support/Util/SDCCerr.h: added E_BANKED_WITH_CALLEESAVES, registers are
44881           needed for passing the bank and address to the trampoline
44882         * device/lib/mcs51/crtbank.asm: added for bankswitching
44883         * device/lib/mcs51/Makefile: added crtbank
44885 2005-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
44887         * src/SDCCcse.c (algebraicOpts): fixed loss of volatility
44888           for fields at offset 0 of a struct or union as reported
44889           on 2005-07-07 in the developer mailing list.
44891 2005-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
44893         * src/SDCCmem.c: fixed bug 1238386
44895 2005-07-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
44897         * src/mcs51/peeph.def: added labelrefcounting for peepholes
44898           (patch #1144962), added peephole 300, enabled 259.x
44899         * doc/sdccman.lyx: removed screenshot and provided link instead
44901 2005-07-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
44903         * doc/sdccman.lyx: added section about debugging with ddd
44904         * doc/figures/ddd_example.eps: screenshot of debugging session
44906 2005-07-04 Raphael Neider <rneider AT web.de>
44908         * src/pic/gen.c (genPointerGet): handle pointers to CONST values
44909           like CODE pointers, fixes #1115683
44910         * src/pic/pcode.c (DoBankSelect): forget LastRegIdx during function
44911           call, fixes bugs #1232211, #1228110,
44912           fixed wrong casts to pCodeFlow from pCodeInstructions
44914 2005-07-04 Raphael Neider <rneider AT web.de>
44916         * src/pic/gen.c (popGet): changed assert to allow for
44917           bit operands
44918         * (popGetAddr): changed signature to provide
44919           an additional index, patched all call sites
44920         * (genCmpEq): handle literal-like operands correctly
44921         * (genAddrOf): added sanity checks on __code/__data pointers
44922         * (genAssign): added handling of symbols from __code section
44923         * (gencjne): do not generate code for comparisons whose result
44924           is neither stored nor used, fixes bug #1171114
44925         * (AccLsh, AccRsh): operate on operand instead of WREG
44926         * (shift{Left,Right}_Left2ResultLit): NEW, size independant
44927           replacement for Shift{LR}{12}Left2Result; shift (byte/int/long)
44928           by known count
44929         * rewrote complete shift-by-literal logic, commented unused
44930           functions out
44931         * (genConstPointerGet): get multiple bytes (if result size > 1),
44932           fixed handling of non-immediate addresses
44933         * (genPointerGet): handle CODE pointers like CONST pointers
44934         * (genpic14Code): insert C-SRC lines as Cource-pCodes
44935         * ({aop,op}_isLitLike): NEW, single place to decide whether an
44936           operand is to be treated as a literal or not
44937         * (mov2w,genPcall,genCmpEq),
44938           src/pic/genarith.c: use aop_isLitLike() to decide between
44939           literal/register contents
44940         * (addSign): added missing offset
44941         * src/pic/gen.h: remove newline after FENTRY/FEXIT comments,
44942           only emit comment in debug-mode,
44943           use {aop,op}_isLitLike throughout the file
44944         * src/pic/glue.c: fix initializers for pointers (work in progress)
44945         * src/pic/pcode.c (get_op): honor index on _const symbols
44946         * ({reset,dump}pCodeStatistics): NEW, estimate code size
44947         * (dumppBlock): added pCode size estimation
44948         * src/pic/ralloc.c (deassignLRs,serialRegAssign,packRegisters):
44949           check for IS_SYMOP before OP_SYMBOL'ing
44950         * fixed indentation, compacted switch-statements
44951         * (allocReg): find free register and allocate it instead of
44952           allocating new registers all the time
44953         * (deassignLRs): prevent POINTER_GET's from being assigned the same
44954           registers as its operands (necessary only for multibyte GETs)
44956 2005-07-01 Raphael Neider <rneider AT web.de>
44958         * src/pic/gen.h: added prototypes emitpComment, popGetAddr and
44959           debugging .asm-output macros FENTRY + FEXIT
44960         * src/pic/gen.c (Safe_vsnprintf): NEW, is there a more generic
44961           way... I wonder...
44962         * (emitpComment): NEW, printf to pCode
44963         * (popGet): added assert on too large offsets, fixed PO_IMMEDIATE's
44964           offset handling
44965         * (popGetAddr): NEW, variant of popGet to access an immediates
44966           high(er) bytes instead of the n'th byte of memory they reference,
44967           replaced popGet with popGetAddr where neccessary
44968         * (genDataPointerGet): reactivated and fixed implementation
44969         * (genNearPointerGet): enabled call to genDataPointerGet, fixes array-
44970           accesses
44971         * (genDataPointerSet): fixed multibyte assignments
44972         * (genpic14Code): fixed --i-code-in-asm handling
44973         * src/pic/genarith.c: fixed PO_IMMEDIATE issue using popGetAddr,
44974         * (genPlus): fixed index-out-of-bounds error
44975         * src/pic/pcode.c (get_op): fixed PO_IMMEDIATE's index/offset handling
44976         * src/pic/ralloc.c: added debugging output macro FENTRY2
44977         * (spillThis): fixed indentation, enbraced for-body for clarity
44978         * (rematStr): commented out as now unused
44979         * (regTypeNum): commented out special spill case (overwrites
44980           arbitrary values)
44981         * fixes bugs #1229346, #1216476 (both arrays) and #1115667 (SIGSEGV)
44983 2005-06-30 Maarten Brock <sourceforge.brock AT dse.nl>
44985         * doc/sdccman.lyx: documented sfr16/sfr32,
44986           added example for using storage class with function pointers
44987         * src/mcs51/gen.c (genPlusIncr): optimized small offsets from dptr
44989 2005-06-28 Maarten Brock <sourceforge.brock AT dse.nl>
44991         * device/lib/_gptrget.c: also push/pop _PSBANK, added # to 0x03
44992         * device/lib/_itoa.c,
44993         * device/lib/_ltoa.c: optimized codesize
44994         * src/SDCCsymt.c (checkSClass): added sanity check for sfr at addresses,
44995           but don't know how to suppress the double warning.
44996         * src/mcs51/gen.c (genPlusIncr): fixed bug when incrementing volatile int's
44997         * support/Util/SDCCerr.c,
44998         * support/Util/SDCCerr.h: added warning W_SFR_ABSRANGE for sanity check
45000 2005-06-27 Maarten Brock <sourceforge.brock AT dse.nl>
45002         * as/mcs51/asexpr.c (expr): disabled warning "not in .flat24 mode",
45003           fixed old K&R prototypes
45004         * as/mcs51/asout.c (outrb): always output as if generating 24bit addresses
45005         * device/lib/_gptrget.c,
45006         * device/lib/_gptrgetc.c,
45007         * device/lib/_gptrput.c: changed versions for new memory indicator values,
45008           also new versions for small generic pointers and banked generic pointers
45009         * src/port.h: added const_name
45010         * src/SDCC.lex: added keywords sfr16, __sfr16, sfr32, __sfr32
45011         * src/SDCC.y: added tokens SFR16, SFR32 and their sfr_attributes
45012         * src/SDCCcse.c (findPrevIc): check all associative operators
45013         * src/SDCCglue.c (emitMaps): use CONST_NAME if defined
45014         * src/SDCCicode.h: added macro IS_ASSOCIATIVE
45015         * src/SDCCmem.c: updated comments,
45016           set far-space to 0 for pdata, results in optimized code
45017         * src/SDCCmem.h: added macro CONST_NAME
45018         * src/SDCCsymt.h: renumerated generic pointer types GPTYPE_... thereby
45019           moving the info into the highest bits, see also gptrget/gptrput
45020         * src/src.dsp: added sdcc.ico to project files
45021         * src/avr/gen.c (genCast): fixed bug 0x%d
45022         * src/avr/main.c (avr_port): added "CONST (CODE)" for const_name
45023         * src/ds390/gen.c (aopForRemat, adjustArithmeticResult): disconnected direct
45024           relation between ptr_type and DCL_TYPE,
45025           (genCast): fixed bug 0x%d
45026         * src/ds390/main.c (ds390_port, tininative_port, ds400_port): added "CONST
45027           (CODE)" for const_name
45028         * src/hc08/gen.c (genCast): fixed bug 0x%d
45029         * src/hc08/main.c (_hc08_genAssemblerPreamble): added .area ...const_name,
45030           (hc08_port): added "CONST (CODE)" for const_name
45031         * src/mcs51/gen.c (aopForSym): optimized pushing ACC,
45032           (aopForRemat, adjustArithmeticResult): disconnected direct relation
45033           between ptr_type and DCL_TYPE,
45034           (aopGetUsesAcc, aopGet, aopPut): changed first parameter from asmop* to
45035           operand* and took AOP() inside function so sfr-ness can be checked,
45036           (all over): repaired calls to aopGetUsesAcc, aopGet, aopPut to comply with
45037           new prototype,
45038           (genFunction, genEndFunction): optimized stack setup,
45039           (genMinus): optimized for literals with ending zeroes (in bytes),
45040           (genCast): fixed bug 0x%d
45041         * src/mcs51/main.c (_mcs51_keywords): added sfr16 and sfr32,
45042           (mcs51_port): added "CONST (CODE)" for const_name
45043         * src/mcs51/peeph.def: made rule 226 more generic
45044         * src/pic/main.c (pic_port): added "CONST (CODE)" for const_name
45045         * src/pic16/main.c (pic16_port): added "CONST (CODE)" for const_name
45046         * src/xa51/main.c (xa51_port): added "CONST (CODE)" for const_name
45047         * src/z80/main.c (z80_port): added NULL for const_name,
45048           (gbz80_port): added NULL for const_name
45049         * support/regression/tests/bug663539.c,
45050         * support/regression/tests/sfr16.c: new tests
45052 2005-06-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
45054         * device/include/mcs51/p89v51rd2.h, device/include/mcs51/at89s53.h: added.
45056 2005-06-24 Raphael Neider <rneider AT web.de>
45058         * device/lib/pic16/libdev/pic18f[68][567]20.c:
45059           corrected typos...
45060         * device/include/pic16/signal.h: added USBIF
45061           and SIG_USB
45063 2005-06-24 Raphael Neider <rneider AT web.de>
45065         * device/lib/pic16/libdev/pic18f2455.c,
45066           device/include/pic16/pic18f2455.h: NEW
45067         * device/include/pic16/pic18fregs.h,
45068           device/lib/pic16/pics.all,
45069           src/pic16/device.c: added 18f2455
45070         * device/lib/pic16/libdev/pic18f[68][567]20.c,
45071           device/include/pic16/{pic18f[68][567].h,usart.h}:
45072           replaced MULTIPLE_USARTS define with more relaible
45073           compatibility sfrs (for USART access)
45075 2005-06-20 Slade Rich <slade_rich AT users.sourceforge.net>
45077         * src/pic/pcode.c : Fixed problem when a string constant contains a "\r\n"
45078           and the output asm file line is printed on two lines.
45080 2005-06-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45082         * sim/ucsim/hc08.src/inst.cc (inst_condbranch): fixed simulation of
45083           BGT, BLE, BHI, and BLS instructions
45084         * src/hc08/gen.c (outAcc, outBitC, outBitNV, genCmpLt, genCmpGt,
45085           genCmpEq): removed
45086         * src/hc08/gen.c (genCmpEQorNE, genCmp, branchopCmp, nameCmp,
45087           negatedCmp, exchangedCmp, genhc08Code): rewrite of comparison handling,
45088           fixes bug #1216342
45089         * src/hc08/peeph.def: added rules 2g - 2l for new conditional branches
45091 2005-06-15 Raphael Neider <rneider AT web.de>
45093         * src/pic16/NOTES: moved Vangelis from active developers to people to contact
45094         * device/include/pic16/{6520.h,8520.h}: fixed configuration bits
45095         * src/pic16/gen.c (): prevent iTemps from being considered to be in CODESPACE,
45096           fixes bug #1221120; for symbols in CODESPACE get number of bytes to read from
45097           OP_SYM_TYPE() instead of OP_SYM_ETYPE()
45099 2005-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45101         * device/include/mcs51/reg764.h: Changed PB0 to PBO as requested by
45102           Marcel Telka in bug #1215704
45104 2005-06-02 Slade Rich <slade_rich AT users.sourceforge.net>
45106         * src/pic/pcode.c : Changed pseudo stack size to 15 to allow WSAVE to be
45107           located in shared memory bank.
45109 2005-05-31 Raphael Neider <rneider AT web.de>
45111         * src/pic16/{gen.c,genarith.c}: replaced sign-extension
45112           "CLRF, BTFSC <signbit>, DECF/COMF" with side-effect-free
45113           "CLRF, BTFSC <signbit>, SETF"; fixes "long>>9"
45115 2005-05-27 Maarten Brock <sourceforge.brock AT dse.nl>
45117         * device/lib/_strncpy.c: fixed the fix
45119 2005-05-26 Raphael Neider <rneider AT web.de>
45121         * src/pic16/glue.c (pic16_printIvalChar): fixed _constant_ string
45122           initializers with \0, bug #1208187
45123         * src/pic/glue.c (printIvalChar): fixed (non- and constant) string
45124           intializers with \0, bug #1208187
45126 2005-05-26 Raphael Neider <rneider AT web.de>
45128         * src/pic16/glue.c (pic16_printIvalChar): fixed string
45129           initializers with \0, bug #1208187
45130         * src/pic16/main.c (_process_pragma): added sanity checks
45131           for stack position and size, emit warnings when appropriate
45133 2005-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
45135         * device/lib/_strncpy.c: fixed not filling with \0
45137 2005-05-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45139         * src/SDCCast.c (funcOfType, funcOfTypeVarg, stringToSymbol,
45140           createFunction),
45141         * src/SDCC.y (external_definition, enumerator, parameter_declaration,
45142           compound_statement),
45143         * src/SDCCsymt.h,
45144         * src/SDCCsymt.c (addSymChain, processFuncArgs): fixed bug #1159134
45146 2005-05-24 Raphael Neider <rneider AT web.de>
45148         * src/pic16/glue.c (pic16_printGPointerType): fixed #1207796
45150 2005-05-24 Raphael Neider <rneider AT web.de>
45152         * device/include/pic16/pic18f{442,452,458}.h: fixed wrong
45153           TRISE definitions, closes bug #1162453
45155 2005-05-22 Raphael Neider <rneider AT web.de>
45157         * src/pic16/main.c (_process_pragma): check for missing
45158           arguments to pragmas code and udata
45159         * device/include/pic16/pic18f{2550,4331,4455,4520}.h:
45160           consistency fixes to match other headers (thanks to Jim Paris)
45161         * device/lib/pic16/libio/i2c.ignore: 18f4331 provides no I2C
45163 2005-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
45165         * src/SDCCicode.c (isOperandEqual): fixed missing ;
45167 2005-05-19 Maarten Brock <sourceforge.brock AT dse.nl>
45169         * support/regression/tests/bug1198642.c: new test
45170         * src/SDCCicode.c (isOperandEqual): fixed bug 1198642
45171         * src/SDCCcse.c (findPrevIc): added comment, please have a look
45172         * support/scripts/resource.h,
45173         * support/scripts/resource.rc,
45174         * src/src.dsp: added sdcc.ico to project as icon for sdcc.exe
45175         * support/scripts/sdcc.ico: added 32x32 icon
45177 2005-05-18 Raphael Neider <rneider AT web.de>
45179         * device/lib/pic16/libdev/pic18f*.c,
45180         * device/include/pic16/pic18f*.h: updated "sfr" and "at X"
45181           keywords to "__sfr" and "__at (X)"
45182         * device/include/pic16/pic18fregs.h: added pic18f4520
45183         * src/pic16/pcode.c (pic16_pCode2str): fixed (?) bug
45184           #1203088 (MPLAB compatibility)
45186 2005-05-17 Raphael Neider <rneider AT web.de>
45188         * device/include/pic16/pic18f{2550,4331,4455,4520}.h: NEW
45189         * device/lib/pic16/libdev/pic18f{2550,4331,4455,4520}.c: NEW
45190         * device/lib/pic16/pics.all: added new devices
45191         * src/pic16/device.c: added support for pic18f4520
45193 2005-05-16 Raphael Neider <rneider AT web.de>
45194         * src/pic16/gen.{c,h}: s/mov2f/pic16_mov2f made public
45195         * src/pic16/genarith.c (genAddLit): fixed bug 1202480
45196         * src/pic16/pcode.{c,h} (pic16_newpCodeOpBit_simple): NEW
45197           convenience function for bit access
45199 2005-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
45201         * device/lib/printf_large.c: fixed bug 1193299
45202         * support/regression/tests/bug1057979.c: added test %3.3s
45204 2005-05-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45206         * device/include/mcs51/8051.h,
45207         * device/include/mcs51/8052.h: made parseable with lint
45208         * device/include/mcs51/lint.h: added include file for (sp)lint
45209         * doc/sdccman.lyx: added doc about use of splint (syntax checking tool)
45210         * doc/cdbfileformat.lyx,
45211         * doc/test_suite_spec.lyx: hardcoded date to the date of last text change
45213 2005-05-14 Raphael Neider <rneider AT web.de>
45215         * device/lib/pic16/Makefile.common.in: add --optimize-df to OPT_FLAGS
45216         * device/lib/pic16/libc/stdlib/itoa.c (new)
45217         * device/lib/pic16/libc/stdlib/Makefile: have itoa.c built
45218         * device/lib/pic16/libio/Makefile: exclude subdir according to
45219           ${subdir}.ignore for certain PICs (lacking e.g. i2c)
45220         * device/lib/pic16/libio/i2c.ignore (new): pic18f1220 has no I2C support
45221         * src/pic16/gen.c (genFunction): prevent annoying warning
45222         * src/pic16/pcode.c: renamed stack_t to dynstack_t to prevent
45223           nameclashes on BeOS
45224         * support/cpp2/cppmain.c (cpp_output_string): new
45225         * support/cpp2/cpplib.c (_cpp_do__Pragma): fixed _Pragma(""),
45226           fixes bug 1116802
45228 2005-05-13 Borut Razem <borut.razem AT siol.net>
45230         * src/SDCCmain.c (linkEdit): fixed bug 1195202
45232 2005-05-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45234         * .version: changed to version 2.5.1; back to bleeding edge development
45236 2005-05-11 Borut Razem <borut.razem AT siol.net>
45238         * doc/sdccman.lyx doc/cdbfileformat.lyx doc/test_suite_spec.lyx:
45239           generate PDF version 1.3 documents
45241 2005-05-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45243         * .version: changed to version 2.5.0
45245 2005-04-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45247         * doc/sdccman.lyx: updated weblinks, index and smaller updates
45249 2005-04-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45251         * doc/sdccman.lyx: changed version 2.5.0, documented --std-c89,
45252         --std-sdcc89, --std-c99, --std-sdcc99, and the corresponding #pragmas, as
45253         well as many smaller updates.
45254         * .version: changed to version 2.5.0-pre1
45256 2005-04-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
45258         * src/SDCCmain.c (setIncludePath): added port->target to SDCC_INCLUDE_NAME
45260 2005-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
45262         * support/regression/tests/bug1185672.c: added
45263         * src/mcs51/gen.c (aopGetUsesAcc, genCpl, genAnd, genOr, genXor): fixed
45264           bug 1185672
45265         * src/mcs51/gen.c (genCall): added comments, made it look safer
45266         * src/mcs51/gen.c (genEndFunction): simplified
45268 2005-04-25 Maarten Brock <sourceforge.brock AT dse.nl>
45270         * src/mcs51/ralloc.c (serialRegAssign): fixed bug 1189609
45272 2005-04-14 Borut Razem <borut.razem AT siol.net>
45274         * fixed bug 1045046 - SIGSEGV with really simple code?:
45275           src/pic/pcode.c (pCodeInitRegisters)- pseudo stack size increased to 16
45276           src/pic/ralloc.c (typeRegWithIdx) - error message on pseudo stack overflow
45278 2005-04-14 Borut Razem <borut.razem AT siol.net>
45280         * src/pic16/gen.c (genInline), src/pic16/main.c (_process_pragma),
45281           src/pic16/device.h: temporarily disabled experimental #inline pragma
45282           for 2.5.0 release
45284 2005-04-14 Maarten Brock <sourceforge.brock AT dse.nl>
45286         * device/include/z80/stdio.h,
45287         * device/include/z80/string.h: removed these highly incomplete files so
45288           SDCC can use the default ones in device/include/
45290 2005-04-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45292         * src/mcs51/gen.c (genEndFunction): removed unused variable to fix
45293         gcc warning.
45294         * device/lib/Makefile.in: default PORTINCDIR to the mcs51 subdir to
45295         fix sdcpp warnings.
45297 2005-04-12 Maarten Brock <sourceforge.brock AT dse.nl>
45299         * device/include/malloc.h: removed redundant __reentrant prototypes
45300         * device/lib/_mullong.c: added working xstack variant in asm (C version
45301           doesn't pass regression tests)
45302         * device/lib/bpx.c: used __data and made bpx char for mcs51
45303         * src/SDCCast.c (decorateType): removed unused GPTYPE_IDATA,
45304           (createFunction): fixed bug with xstackPtr
45305         * src/SDCCcse.c: corrected comments
45306         * src/SDCCopt.c (convertToFcall): fixed warning in MSVC,
45307           (killDeadCode, eBBlockFromiCode): removed unused code
45308         * src/SDCCsymt.h: removed unused GPTYPE_GPTR and GPTYPE_IDATA,
45309           corrected comments
45310         * src/mcs51/gen.c (aopForSym, aopPut, toBoolean, unsaveRegisters,
45311           assignResultValue, genCall, genFunction, genEndFunction, genAnd,
45312           genOr, genXor, genAddrOf): fixed several bugs concerning xstack
45313           (genModOneByte): fixed warning in MSVC
45314         * src/mcs51/main.c (): added comments
45315         * src/mcs51/peeph.def: changed 129 to 129.a, added 129.b, 129.c & 129.d
45317 2005-04-12 Maarten Brock <sourceforge.brock AT dse.nl>
45319         * src/SDCCmain.c (linkEdit): oops, changed one line too many
45321 2005-04-11 Maarten Brock <sourceforge.brock AT dse.nl>
45323         * src/SDCCmain.c (linkEdit): fixed bug with finding crt0.o for z80
45325 2005-04-10 Vangelis Rokas <vrokas AT users.sourceforge.net>
45327         * src/pic16/glue.c (printIvalChar): fixed bug when emitting
45328         characters arrays of larger size than the declared one.
45330 2005-04-10 Borut Razem <borut.razem AT siol.net>
45332         * src/pic/gen.c (genInline),
45333           src/pic/pcode.c (newpCodeAsmDir), (pCode2str),
45334           (genericPrint), (unlinkpCodeFromBranch), (compareLabel),
45335           (findNextInstruction), (findPrevInstruction),
45336           (findInstructionUsingLabel),
45337           src/pic/pcode.h: fixed bug #1164907 - Labels not being recognized
45338         * src/pic/pcode.c (findLabel): added missing '\n'
45339         * src/src.dsp: added SDCCdwarf2.c to the project
45341 2005-04-09 Borut Razem <borut.razem AT siol.net>
45343         * support/scripts/sdcc.nsi: added include/hc08/* h to NSIS setup
45345 2005-04-08 Raphael Neider <rneider AT web.de>
45347         * src/pic16/pcode.c: added helpers defmapInsertAfter (insert a new item
45348           into the chain after a given one) and mergeDefmapSymbols (combine
45349           defmap entries for each symbol per pcode)
45350         * (createDefmap): have defmap entries merged in the end
45351         * (defmapReplaceSymRef): split defmap entries covering two accesses to
45352           a symbol before replacing one access type's symbol, merge symbols in
45353           the end (replacement symbol might already have an entry)
45354         * (assignValnums): keep reference to written WREG intact
45356 2005-04-08 Raphael Neider <rneider AT web.de>
45358         * src/pic16/pcode.c (struct defmap_s): named anonymous union (for
45359           Alpha)
45361 2005-04-08 Vangelis Rokas <vrokas AT users.sourceforge.net>
45363         * src/pic16/pcode.c (pic16_get_op2): enlarged size of array b to 128
45364         bytes
45366 2005-04-07 Raphael Neider <rneider AT web.de>
45368         * device/include/pic16/usart.h: added compatibility defines for
45369           devices with more than one USART
45370         * device/include/pic16/pic18f[68][567]20.h: activated above defines
45372 2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
45374         * device/lib/Makefile.in: updated for port specific include
45376 2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
45378         * support/regression/ports/mcs51/spec.mk: added mcs51 include
45380 2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
45382         * device/include/8051.h,
45383         * device/include/8052.h,
45384         * device/include/at89S8252.h,
45385         * device/include/at89c55.h,
45386         * device/include/at89x051.h,
45387         * device/include/at89x51.h,
45388         * device/include/at89x52.h,
45389         * device/include/mcs51reg.h,
45390         * device/include/reg51.h,
45391         * device/include/reg764.h,
45392         * device/include/regc515c.h,
45393         * device/include/sab80515.h: (re)moved these 12 files
45394         * device/include/mcs51/8051.h,
45395         * device/include/mcs51/8052.h,
45396         * device/include/mcs51/at89S8252.h,
45397         * device/include/mcs51/at89c55.h,
45398         * device/include/mcs51/at89x051.h,
45399         * device/include/mcs51/at89x51.h,
45400         * device/include/mcs51/at89x52.h,
45401         * device/include/mcs51/mcs51reg.h,
45402         * device/include/mcs51/reg51.h,
45403         * device/include/mcs51/reg764.h,
45404         * device/include/mcs51/regc515c.h,
45405         * device/include/mcs51/sab80515.h: and added them here
45407 2005-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
45409         * device/include/stdarg.h: changed SDCC specific keywords to double
45410           underlined form.
45411         * device/include/stdint.h: changed intptr_t and uintptr_t for others than
45412           mcs51 and ds390.
45413         * device/include/hc08/mc68hc908gp32.h,
45414         * device/include/hc08/mc68hc908jb8.h,
45415         * device/include/hc08/mc68hc908jkjl.h,
45416         * device/include/hc08/mc68hc908qy.h: fixed comments
45417         * device/include/mcs51/README: updated
45418         * device/include/mcs51/c8051f120.h: added PINRSF
45419         * device/lib/pic16/libc/stdlib/crc16.c: fixed comments
45420         * src/pic16/pcode.c: MSVC6 doesn't accept declaring new variables
45421           amidst code. Also inline is not supported.
45423 2005-04-06 Raphael Neider <rneider AT web.de>
45425         * src/pic16/pcode.c (pic16_pCodeReplace): also update pcflow->end
45426         * (createDefmap): fixed CALLs to depend on FSR1 and RETLW to restore
45427           callers stack/frame pointers
45429 2005-04-06 Vangelis Rokas <vrokas AT users.sourceforge.net>
45431         * device/include/pic16/usart.h: added, missing in previous commit,
45432         * device/include/pic16/adc.h: fixed typo,
45433         * device/lib/pic16/libc/utils/cvtdec.S: added missing in previous
45434         commit,
45435         * device/lib/pic16/libc/stdlib/g_ftoa.S: modified to include
45436         <p18fxxx.inc>
45437         * device/lib/pic16/libc/stdio/streams.c: leave stdin, stdout
45438         uninitialized because a bug appears with gplink
45439         * device/lib/pic16/{some makefiles}: moved $(CSTD) from CFLAGS to
45440         COMPILE_FLAGS and added CPPFLAGS with -nostdinc because sdcpp
45441         complains for unrecognised option
45443 2005-04-05 Raphael Neider <rneider AT web.de>
45445         * src/pic16/gen.c (pic16_popCopyReg): made copying work for extended
45446           structs as well (using memcpy)
45447         * (genFunction): fixed comparison, used pCodeOpLabel to reduce warning
45448           on ISRs (GOTO has no label)
45449         * src/pic16/device.h: added OF_OPTIMIZE_DF
45450         * src/pic16/main.c: added compiler switch --optimize-df to enable the
45451           new data flow analysis/optimization
45452         * src/pic16/pcode.c: added (prototypes for and implementation of)
45453           dataflow analysis functions, fixed pCodeInstructions' inCond and
45454           outCond values, made RCALL a branch instruction
45455         * (pic16_unlinkpCode): keep C line if possible
45456         * (pic16_pCodeUnlink): removed cast on left side of assignment, have
45457           C line moved if possible
45458         * (pic16_getRegFrompCodeOp): NEW, improved version of...
45459         * (pic16_getRegFromInstruction,pic16_getRegFromInstruction2): changed
45460           to use new pic16_getRegFrompCodeOp (works for more SFRs)
45461         * (pic16_BuildFlow): fixed skip instructions with label (did not start
45462           new flow)
45463         * (pic16_getJumptabpCode): NEW, needed in...
45464         * (LinkFlow): fixed handling of jumptables, calls and conditional
45465           branches
45466         * (pic16_InsertCommentAfter): NEW
45467         * (pic16_pCodeReplace): made verbose and flow preserving
45468         * (AnalyzeFlow): added call to data flow analysis
45469         * src/pic16/pcode.h: added defmaps to pCodeFlow struct
45470         * src/pic16/pcodeflow.h: added PCC_STATUS to mean all STATUS bits
45471         * src/pic16/ralloc.c (packRegsForAssign): added return 1 in the end
45473 2005-04-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45475         * src/SDCCast.c (decorateType): fixed bug #1105626
45477 2005-04-02 Vangelis Rokas <vrokas AT users.sourceforge.net>
45479         * device/include/asm/pic16/features.h,
45480         * pic18f*.h headers,
45481         * device/include/pic16/adc.h,
45482         * device/include/pic16/delay.h,
45483         * device/include/pic16/i2c.h,
45484         * device/include/pic16/malloc.h,
45485         * device/include/pic16/stdio.h,
45486         * device/include/pic16/stdlib.h,
45487         * device/include/pic16/string.h,
45488         * device/lib/pic16/libc/stdio/printf_tiny.c,
45489         * device/lib/pic16/libc/stdio/printf_small.c,
45490         * device/lib/pic16/libc/stdio/strmgpsim.c,
45491         * device/lib/pic16/libc/stdio/strmmssp.c,
45492         * device/lib/pic16/libc/stdio/strmusart.c,
45493         * device/lib/pic16/libc/stdio/vfprintf.c,
45494         * device/lib/pic16/libc/stdlib/ltoa.c,
45495         * device/lib/pic16/libc/stdlib/putchar.c,
45496         * device/lib/pic16/libc/stdlib/x_ftoa.c,
45497         * device/lib/pic16/libc/stdlib/memchrpgm.c,
45498         * device/lib/pic16/libc/stdlib/memchrram.c,
45499         * device/lib/pic16/libc/stdlib/memcpypgm2ram.c,
45500         * device/lib/pic16/libc/stdlib/memcpyram2ram.c,
45501         * device/lib/pic16/libio/adc/adcbusy.c,
45502         * device/lib/pic16/libio/adc/adcread.c,
45503         * device/lib/pic16/libio/adc/adcsetch.c,
45504         * device/lib/pic16/libio/usart/ubaud.c,
45505         * device/lib/pic16/libio/usart/ubusy.c,
45506         * device/lib/pic16/libio/usart/udrdy.c,
45507         * device/lib/pic16/libio/usart/uopen.c,
45508         * device/lib/pic16/libio/usart/uputc.c,
45509         * device/lib/pic16/libsdcc/gptr/gptrget1.c,
45510         * device/lib/pic16/libsdcc/gptr/gptrget2.c,
45511         * device/lib/pic16/libsdcc/gptr/gptrget3.c,
45512         * device/lib/pic16/libsdcc/gptr/gptrget4.c,
45513         * device/lib/pic16/libsdcc/gptr/gptrput1.c,
45514         * device/lib/pic16/libsdcc/gptr/gptrput2.c,
45515         * device/lib/pic16/libsdcc/gptr/gptrput3.c,
45516         * device/lib/pic16/libsdcc/gptr/gptrput4.c: modified all SDCC
45517         specific keywords to double underlined form,
45518         * device/lib/pic16/libc/Makefile.rules,
45519         * device/lib/pic16/libsdcc/Makefile.rules,
45520         * device/lib/pic16/libm/Makefile,
45521         * device/lib/pic16/libio/Makefile.rules: added CSTD macro in CFLAGS
45522         to compile with C standard set in Makefile.common
45523         * device/lib/pic16/libc/stdlib/Makefile: added new C sources
45524         rand.c and crc.c in compilation process,
45525         * device/lib/pic16/libsdcc/int/divuint.c,
45526         * device/lib/pic16/libsdcc/long/divulong.c: changed declaration of
45527         `c' from signed to unsigned,
45528         * device/lib/pic16/startup/crt0.c,
45529         * device/lib/pic16/startup/crt0i.c,
45530         * device/lib/pic16/startup/crt0iz.c: adopted to all SDCC specific
45531         keywords to double underlined form, bug fixes in _do_cinit function
45532         which prevented the correct initialization of the .idata segment,
45533         * src/pic16/pcoderegs.c (insideLRBlock): fixed a bug that caused the
45534         core to enter a infinite loop
45535         * device/lib/pic16/libc/stdlib/rand.c, crc.c: new files
45537 2005-04-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45539         * src/SDCCicode.c (getArraySizePtr): fixed bug #1122171
45541 2005-04-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45543         * device/include/Makefile.in: add support for hc08 subdirectory
45544         * device/include/hc08/: new subdirectory
45545         * device/include/hc08/mc68hc908jkjl.h: new header contributed by
45546         Lucas Loizaga, thanks!
45547         * device/include/hc08/mc68hc908qy.h,
45548         * device/include/hc08/mc68hc908gp32.h,
45549         * device/include/hc08/mc68hc908jb8.h: moved hc08 register defs to
45550         their own directory. Changed internal macro names to use the compiler
45551         reserved namespace. Changed SDCC specific keywords to double
45552         underlined form.
45553         * device/include/math.h,
45554         * device/include/malloc.h,
45555         * device/include/stdarg.h,
45556         * device/include/stdbool.h
45557         * device/include/string.h,
45558         * device/include/tinibios.h,
45559         * device/include/ds400rom.h,
45560         * device/include/8051.h,
45561         * device/include/8052.h,
45562         * device/include/80c51xa.h,
45563         * device/include/at89c55.h,
45564         * device/include/at89S8252.h,
45565         * device/include/at89x51.h,
45566         * device/include/at89x52.h,
45567         * device/include/ds80c390.h,
45568         * device/include/reg764.h,
45569         * device/include/regc515c.h,
45570         * device/include/sab80515.h,
45571         * device/include/mcs51/c8051f000.h,
45572         * device/include/mcs51/c8051f018.h,
45573         * device/include/mcs51/c8051f020.h,
45574         * device/include/mcs51/c8051f040.h,
45575         * device/include/mcs51/c8051f060.h,
45576         * device/include/mcs51/c8051f120.h,
45577         * device/include/mcs51/c8051f300.h,
45578         * device/include/mcs51/c8051f310.h,
45579         * device/include/mcs51/c8051f320.h,
45580         * device/include/mcs51/c8051f330.h,
45581         * device/include/mcs51/c8051f350.h,
45582         * device/include/z180.h: Changed SDCC specific keywords to double
45583         underlined form.
45585 2005-03-31 Vangelis Rokas <vrokas AT users.sourceforge.net>
45587         * src/pic16/device.c (Pics16[]): added devices 18F2550, 18F4331,
45588         18F4455,
45589         * (pic16_assignConfigWordValue): disable testing of configuration
45590         register value with config mask,
45591         * src/pic16/gen.c (pic16_testStackOverflow): prefix stack test
45592         function with port->fun_prefix,
45593         * (genFunction): when generating a naked interrupt function never
45594         create an absolute segment placed in interrupt vector address, place
45595         the actual interrupt function at IVA instead, when an interrupt
45596         function is generated with unspecified interrupt then do not create
45597         the absolute section,
45598         * (genGenPointerGet, genGenPointerSet, genPackBits): replace all
45599         code for generating a call to generic pointer get/put function with
45600         a call to function pic16_callGenericPointer(),
45601         * src/pic16/genutils.c (pic16_callGenericPointerRW): NEW, generates
45602         the call to the generic pointer get/put functions with prefixing the
45603         function name with port->fun_prefix,
45604         * src/pic16/glue.c (pic16glue): ifdef-out test of OF_LR_SUPPORT,
45605         * src/pic16/main.c (_process_pragma): prefix function with
45606         port->fun_prefix,
45607         * (_pic16_finaliseOptions): define macro __18Fxxxx macro when
45608         calling assembler, old 18Fxxxx macro is deprecated,
45609         * src/pic16/pcode.c (unlinkpCodeFromBranch): added PC_INLINE and
45610         PC_ASMDIR in while condition,
45611         * (findInstruction): add PC_ASMDIR in while condition,
45612         * (buildCallTree): prefix main with port->fun_prefix,
45613         * (pic16_pCode2str): fixed bug that didn't emit the memory access
45614         identifier for variable with banked access in instructions BTFSS,
45615         BTFSC, BCF, BSF, BTG
45616         * (AnalyzeFlow): moved call to OptimizepCode to pic16_AnalyzeBanking,
45617         * src/pic16/pcodepeep.c (pCodeOpCompare): increase size of b to 1024,
45618         * src/pic16/pcoderegs.c (pic16_pCodeRegoptimizeRegUsage): don't
45619         perform optimization when enviroment variable NO_REG_OPT is set,
45620         * (insideLRBlock): NEW, return 1 if register is inside an
45621         INF_LOCALREGS block,
45622         * (RemoveRegFromLRBlock): remove a register that is completely
45623         eliminated by register optimization, but it is still left in local
45624         register store/restore in/from stack block,
45625         * (Remove2pcodes): after removing register, check to see if it
45626         should be removed from local register store/restore in/from stack
45627         block,
45628         * src/pic16/ralloc.c (pic16_decodeOp): added decode for
45629         DUMMY_READ_VOLATILE,
45631         * device/include/pic16/adc.h: minor prototype modifications and
45632         update,
45633         * device/include/pic16/malloc.h: added GPL notice various
45634         modifications,
45635         * device/include/pic16/stdint.h: NEW, standard header for ints
45636         * device/include/pic16/delay.h: NEW, header for delay functions,
45637         delay10tcy, delay100tcy, delay1ktcy, delay10ktcy, delay100ktcy,
45638         delay1mtcy,
45639         * device/include/pic16/signal.h: NEW, header providing helper macros
45640         for implementing signal handlers,
45641         * device/include/pic16/stdio.h: added prototypes for functions,
45642         printf, vprintf, sprintf, vsprintf, fprintf, vfprintf. Added
45643         prototypes for stdin and stdout, added macro PUTCHAR to
45644         automatically implement putchar function prototype,
45645         * device/include/pic16/usart.h: modified and updated USART library,
45646         * device/lib/pic16/libio/adc/,
45647         * device/lib/pic16/libio/i2c: some modifications to improve library
45648         performance,
45649         * device/lib/pic16/libc/stdio/: modifications for the new printf*
45650         family of functions,
45651         * device/lib/pic16/libc/stdlib/: various modifications in the malloc
45652         family of functions and other sources,
45653         * device/lib/pic16/libio/usart/: NEW, c sources for the usart module
45654         of the PIC18Fxx[28] devices,
45655         * device/lib/pic16/libc/delay/: NEW, c sources for the delay functions,
45656         * device/lib/pic16/libc/utils/: minor modifications in the .S sources,
45657         * device/lib/pic16/startup/{crt0i.c, crt0iz.c}: redesign of the
45658         _do_cinit function, because the previous failed when local variables
45659         where not placed in the same memory bank,
45660         * device/lib/pic16/libsdcc/char/: various modifications to improve
45661         library performance,
45662         * doc/sdccman.lyx: some reorganization of the PIC16 part, added many
45663         information on the new functions of the c library and more...
45665 2005-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45667         * src/SDCCBBlock.c (iCodeBreakDown): fixed bug #1170212
45669 2005-03-26 Raphael Neider <rneider AT web.de>
45671         * src/pic16/gen.c (genSkipc): fixed semantics (execute branch
45672           if condition == CARRY)
45673         * (genCmp): adapted to new genSkipc semantics
45674         * src/pic16/genutils.c (pic6_genCmp_special): removed side effect
45675           on rIfx (genCmp was broken)
45677 2005-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45679         * src/SDCCmain.c (setDefaultOptions, optionsTable[], parseCmdLine),
45680         * src/z80/main.c (_keywords[]),
45681         * src/SDCCglobal.h (struct options),
45682         * src/SDCC.y,
45683         * src/SDCC.lex (isTargetKeyword, doPragma, pragma_tbl[]): new pragmas
45684         to enable/disable SDCC and C99 extensions/keywords (std_c89, std_sdcc89,
45685         std_c99, std_sdcc99). Also, equivalent command line options (--std-c89,
45686         --std-sdcc89, --std-c99, --std-sdcc99). SDCC specific keywords are
45687         always available in leading double underscore form. The C99 support is
45688         mostly missing, but it's a start.
45689         * support/regression/tests/bug-227710.c: fixed nonconforming use of
45690         reserved identifier "__data".
45692 2005-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
45694         * src/mcs51/peeph.def: fixed bug 1170013
45696 2005-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
45698         * device/include/mcs51reg.h: fixed bug 842007
45700 2005-03-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45702         * src/SDCCcflow.c (dfNumCompare): committed the wrong version of this
45703         last time.
45705 2005-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45707         * src/port.h (struct PORT),
45708         * src/avr/ralloc.c (avr_assignRegisters),
45709         * src/avr/main.c,
45710         * src/ds390/ralloc.c (ds390_assignRegisters),
45711         * src/ds390/main.c,
45712         * src/hc08/ralloc.c (hc08_assignRegisters),
45713         * src/hc08/main.c,
45714         * src/mcs51/ralloc.c (mcs51_assignRegisters),
45715         * src/mcs51/main.c,
45716         * src/pic/ralloc.c (pic14_assignRegisters),
45717         * src/pic/main.c,
45718         * src/pic16/ralloc.c (pic16_assignRegisters),
45719         * src/pic16/main.c,
45720         * src/xa51/ralloc.c (xa51_assignRegisters),
45721         * src/xa51/main.c,
45722         * src/z80/ralloc.c (z80_assignRegisters),
45723         * src/z80/ralloc.h,
45724         * src/SDCCopt.c (eBBlockFromiCode, replaceRegEqv, killDeadCode),
45725         * src/SDCCcse.c (ifxOptimize, cseBBlock, cseAllBlocks),
45726         * src/SDCCcse.h,
45727         * src/SDCCdflow.c (computeDataFlow),
45728         * src/SDCCdflow.h,
45729         * src/SDCCloop.c (addDefInExprs, loopInvariants, loopOptimizations),
45730         * src/SDCCloop.h,
45731         * src/SDCCcflow.c (*),
45732         * src/SDCCcflow.h,
45733         * src/SDCCBBlock.c (iCodeBreakDown, dumpEbbsToFileExt, eBBWithEntryLabel),
45734         * src/SDCCBBlock.h (struct ebbIndex): new struct that keeps two copies
45735         of the eBBlock list, sorted by both bbnum and dfnum. (fixes bug with
45736         immedDom() returning wrong block; probably fixes bug #1160833)
45738 2005-03-20 Borut Razem <borut.razem AT siol.net>
45740         * support/scripts/inc2h.pl: WIN32 port
45742 2005-03-19 Maarten Brock <sourceforge.brock AT dse.nl>
45744         * device/lib/makefile.in: added abs.c and labs.c
45746 2005-03-17 Maarten Brock <sourceforge.brock AT dse.nl>
45748         * device/include/stdint.h: added
45749         * device/lib/abs.c: added
45750         * device/lib/labs.c: added
45751         * device/include/stdlib.h: added abs() and labs() prototypes
45752         * device/lib/libsdcc.lib: added abs and labs
45753         * device/include/float.h,
45754         * device/lib/_fsmul.c,
45755         * device/lib/printf_fast.c,
45756         * device/lib/printf_tiny.c: updated comments
45758 2005-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45760         * src/SDCCicode.c (geniCodeSwitch, geniCodeJumpTable): fixed
45761         bug #1164313
45763 2005-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45765         * src/SDCCcse.c (cseBBlock): retain assignment to self when volatile
45766         * src/SDCCast.c (isLoopCountable): fixed bug #1161985
45768 2005-03-15 Maarten Brock <sourceforge.brock AT dse.nl>
45770         * device/lib/printf_large.c: removed inline assembly for portability and
45771           readability. Use printf_fast if speed or size are more important.
45772         * src/pic16/gen.c: removed conditions around use of DEBUGpc
45773         * src/pic16/genutils.h: added define for DEBUGpc for MSVC
45775 2005-03-15 Vangelis Rokas <vrokas AT users.sourceforge.net>
45777         * src/pic16/genutils.c (pic16_genCmp_special): initialized offs to
45778         prevent compiler warning
45780 2005-03-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
45782         * device/lib/pic16/startup/crt0i.c (_cinit): local variables where
45783         moved to level 0 and declared as static. Also they are explicit
45784         placed in access bank. This was necessery because some times they
45785         might cross memory bank boundaries. crt0iz.c is *NOT* updated!!!
45786         * src/pic16/device.h: added flag OPTIMIZE_CMP to enable some compare
45787         optimizations. Currently only compare to unsigned char is implemented,
45788         * src/pic16/gen.c: added fReturnIdx array,
45789         * (struct resolvedIfx) is moved to gen.h and made public,
45790         * (struct _G): added sregsAlloc and sregsAllocSet fields,
45791         * (aopForSym): added an optimization to directly store in stack of
45792         the operand of a SEND iCode,
45793         * (pic16_aopOp): don't return return registers as strings (AOP_STR)
45794         but as registers instead (AOP_REG) using the fReturnIdx array,
45795         * (pic16_freeAsmop): remove the freed register from the
45796         _G.sregsAlloc field,
45797         * (pic16_aopGet): in case AOP_STR, the compare to 'a' is changed to
45798         a compare of 'WREG',
45799         * (pic16_popGetTempRegCond): changed function prototype, now
45800         function takes also a bitVector argument v which holds the current
45801         set of registers that are allocated for stack access by aopForSym,
45802         registers allocated in aopForSym for accessing stack symbols are not
45803         any more part of the functions usedRegs field,
45804         * (genCall): some times aopOp is called for a stack variable to be
45805         send, aopForSym might perform the push, if this is true make sure
45806         that genCall doesn't push the variable twice by testing _G.resDirect,
45807         * (genFunction): changed testing for unspecified interrupt number
45808         from 256 to INTNO_UNSPEC,
45809         * modified selection scheme of frame pointer generation. Previously
45810         if function did use local registers a frame pointer was generated,
45811         now a frame pointer is generated only if function has arguments
45812         (that need PLUSW2 register access), or has stack arguments, or the
45813         compiler is not instructed to omit the frame pointer,
45814         * (genEndFunction): before restoring local registers that were saved
45815         in the function preamble, also restore the registers that *might*
45816         have been allocated for stack access,
45817         * (genRet): removed some old comments,
45818         * (genCmp, the active (RN's) version): added a call to the
45819         pic16_genCmp_special function to perform the compare with a more
45820         robust and optimized way,
45821         * (genInline): a feature has been added in inline code generation,
45822         which allows a wildcard variable substitution when writing inline
45823         assembly. Code is incomplete and experimental therefore undocumented,
45824         * (genCast): changed order of aopOp for result and right to allow
45825         aopForSym to directly load the result if possible,
45826         * src/pic16/genutils.c (selectCompareOp, pic16_genCmp_special): NEW,
45827         perform an optimized compare on some selected special occasions,
45828         * src/pic16/genutils.h: declaration of resolvedIfx structure from gen.c,
45829         * src/pic16/glue.c (pic16createInterrupVect): make sure we never
45830         generate an IVT any more,
45831         * src/pic16/main.c (pic16_optionsTable): added command line option
45832         --optimize-cmp,
45833         * (_pic16_initPaths): when calling C preprocessor define pic18fXXXX
45834         macro too, when calling assembler define pic18fXXXX *and* __18Fxxxx
45835         macros,
45836         * src/pic16/NOTES: Raphael Neider added in list of active developers
45837         * src/pic16/pcode.c (OPT_TYPE_STR): added strings jumptable_begin and
45838         jumptable_end to prevent bug #,
45839         * (pic16_pciADDWFC, ADDFWC, COMF, CLRF): added some missing flags in
45840         inCond and outCond fields,
45841         * src/pic16/pcoderegs.c (pCodeOptime2pCodes): add a fix for bug #,
45842         * src/pic16/ralloc.c (serialRegAssign): explicit set willCS to 0 to
45843         turn off register spilling,
45844         * (packRegsForOneUse): synced with other ports' versions although it
45845         is not used currently,
45846         * (pic16_packRegisters): added an optimization while reading
45847         structure bitfields, some registers may be saved (malloc code is
45848         decreased by 80 bytes)
45850 2005-03-12 Vangelis Rokas <vrokas AT users.sourceforge.net>
45852         * src/SDCCcse.c (cseBBlock): inside 'do operand lookup' loop test if
45853         left is a bitfield, if yes, then don't optimize assignment. Perhaps
45854         this can be optimized more?
45856 2005-03-10 Raphael Neider <rneider AT web.de>
45858         * src/pic16/gen.c (pic16_loadFSR0, genPackBits, genUnpackBits,
45859           genNearPointerGet): (hopefully) fixed access to bitfields via
45860           pointers (p->bitN = x; and x = p->bitN; failed)
45862 2005-03-09 Paul Stoffregen <paul AT pjrc.com>
45864         * device/lib/printf_fast.c: fix leading zero format, eg "%02d"
45866 2005-03-09 Raphael Neider <rneider AT web.de>
45868         * src/SDCCopt.c (killDeadCode): fixed bug #1156016
45870 2005-03-06 Maarten Brock <sourceforge.brock AT dse.nl>
45872         * src/SDCCicode.h: moved CRITICAL and ENDCRITICAL from SKIP_IC2 to SKIP_IC
45873         * src/mcs51/ralloc.c (willCauseSpill): added check for REG_BIT type,
45874           (regTypeNum): set REG_BIT type if necessary
45875         * src/mcs51/ralloc.h: added define REG_BIT, used to fix bug 1144613
45876         * support/regression/tests/critical.c: check bug 1144613
45878 2005-03-02 Raphael Neider <rneider AT web.de>
45880         * src/pic16/gen.c (genRightShiftLiteral): fixed bug #1154256
45882 2005-02-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45884         * src/avr/ralloc.c (serialRegAssign),
45885         * src/ds390/ralloc.c (serialRegAssign),
45886         * src/hc08/ralloc.c (serialRegAssign),
45887         * src/mcs51/ralloc.c (serialRegAssign),
45888         * src/pic/ralloc.c (serialRegAssign),
45889         * src/pic16/ralloc.c (serialRegAssign),
45890         * src/xa51/ralloc.c (serialRegAssign),
45891         * src/z80/ralloc.c (serialRegAssign): fixed bug #1105154
45893 2005-02-22 Maarten Brock <sourceforge.brock AT dse.nl>
45895         * src/SDCCast.c (decorateType): fixed bug 1124787
45897 2005-02-20 Hubert Sack <sack AT digiplan.de>
45898         committed by Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45900         * src/mcs51/peeph.def: added peepholes 3.h-k and 132.a-f from
45901         patch #1121755
45903 2005-02-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45905         * src/SDCCpeeph.def: new keyword "labelRefCountChange" which allows peepholes
45906         to keep the correct label reference count when adding/removing references
45907         to labels. A peephole file using this is appended to patch #1144962.
45909 2005-02-14 Raphael Neider <rneider AT web.de>
45911         * device/lib/pic16/libc/string/memccpy.c: changed 3rd argument to char
45912         * src/SDCC.lex (process_pragma): fixed to make disable_warning work for PIC16
45913         * src/pic16/gen.c (aopForSym, calls to pic16_aopOp): prevent unneccessary
45914           retrievals of result operand's value on assignment
45916 2005-02-13 Vangelis Rokas <vrokas AT otenet.gr>
45918         * device/include/pic16/string.h: modified prototype for memccpy()
45919         to memccpy(void *, void *, char, size_t)
45920         * src/pic16/gen.c (genFunction, genEndFunction): reenable if-case to
45921         check whether to omit frame pointer or not,
45922         * (genInline): convert all occurences of "\n" to LF in inline
45923         assembler blocks, this helps formatting the inline text,
45924         * (pic16_loadFSR0): modified prototype,
45925         * (genNearPointerGet, genNearPointerSet): reorganization of code,
45926         removed some 8051 legacy code,
45927         * (genPackBits): enabled handling bitfields exceeding one byte in size,
45928         * src/pic16/ralloc.c (pic16_assignRegisters): clear dynrIdx variable
45929         before allocating temporary registers in functions,
45931 2005-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
45933         * support/regression/tests/bitvars.c: corrected the "fix"
45935 2005-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
45937         * support/regression/tests/bitvars.c,
45938         * support/regression/tests/bitwise.c,
45939         * support/regression/tests/rotate.c: "fixed" problems on Alpha
45941 2005-02-10 Raphael Neider <rneider AT web.de>
45943         * src/pic16/pcode.c (assignToSameBank) : fixed cast to pointer of
45944           different size for Alpha
45945         * src/pic16/gen.c (genCmpEq) : improved compare with 0
45947 2005-02-09 Raphael Neider <rneider AT web.de>
45949         * src/SDCC.lex(doPragma) : save and restore warning options as well
45950           (also added new stack plus clone- and copyAndFreeSDCCERRG())
45951         * have #pragma less_pedantic set the errorlevel to WARNING
45952           (fixes #1117001)
45953         * (cloneOptimize) : fixed wrong malloc's size
45954         * support/Util/SDCCerr.[ch] : made SDCCERRG globally accessible to
45955           facilitate correct handling of #pragma (save|restore)
45957 2005-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
45959         * src/mcs51/gen.c: removed non-standard C nameless struct/union
45961 2005-02-04 Slade Rich <slade_rich AT users.sourceforge.net>
45963         * src/pic/gen.c : Fix for bugs #1080519 & #1115662.
45965 2005-02-03 Maarten Brock <sourceforge.brock AT dse.nl>
45967         * device/include/mcs51/c8051f120.h: added declarations for sbit port 2,3&4
45969 2005-02-02 Raphael Neider <rneider AT web.de>
45971         * src/SDCCast.c (processParms): disabled W_NONRENT_ARGS for pic16 port
45972         * src/pic16/gen.c (aopForSym): reenabled special case for function pointers
45973         * (pic16_storeForReturn): fixed to allow returning function pointers
45974         * (genPackBits): improved accessing full bytes, implemented for GPOINTERs
45975         * device/include/pic16/{stddef.h,stdbool.h}: added
45977 2005-02-02 Maarten Brock <sourceforge.brock AT dse.nl>
45979         * device/include/mcs51/c8051f040.h: added define CPT2_PAGE
45981 2005-02-01 Slade Rich <slade_rich AT users.sourceforge.net>
45983         * src/pic16/pic16.dsp : Added file graph.c to make it compile under windows
45984         * src/pic16/Makefile.bcc : Do not use this file but added file graph.c as it
45985          appeared to be required
45987 2005-01-31 Borut Razem <borut.razem AT siol.net>
45989         * support/scripts/sdcc.nsi: added include/asm/ds390, include/asm/mcs51,
45990           include/mcs51 and include/z80 directories to the package
45992 2005-01-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45994         * src/hc08/gen.c (genFunction): fixed bug #1112752
45996 2005-01-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45998         * src/mcs51/peeph.def: adapted peephole 258.x to changed gen.c (genAnd)
46000 2005-01-29 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46002         * src/mcs51/gen.c (genAnd): accessing LSB/MSB by rotating acc
46004 2005-01-29 Maarten Brock <sourceforge.brock AT dse.nl>
46006         * device/include/Makefile.in: create/copy mcs51 and z80 include subdirs
46008 2005-01-27 Maarten Brock <sourceforge.brock AT dse.nl>
46010         * device/include/c8051fxxx.h: removed these 6 files
46011         * device/include/mcs51/c8051fxxx.h: added these 11 new files
46013 2005-01-26 Raphael Neider <rneider AT web.de>
46015         * src/pic16/gen.c (genAssign): fixed assignment from longs
46016           in codespace (were cut to three bytes)
46017         * (genDummyRead): implemented (except for CODESPACE...),
46018           fixed bug #1108575
46019         * src/pic16/glue.c (emitStatistics): beautified
46020         * device/lib/pic16/libm/Makefile: added include path
46022 2005-01-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46024         * src/z80/gen.c (aopPut): fixed bug #1103902
46026 2005-01-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46028         * device/lib/expf.c: fixed bug #1095792
46030 2005-01-24 Vangelis Rokas <vrokas AT otenet.gr>
46032         * device/lib/pic16/libm: added Math library sources
46034 2005-01-24 Raphael Neider <rneider AT web.de>
46036         * src/pic16/pcode.h: added second memory operand to pCodeOpReg
46037           to enable upcast to pCodeOpReg2 (there is no type tag to
46038           differenciate the two and pic16_popGet2p cast into PCOR2)
46039         * src/pic16/main.c (_process_pragma): fixed another malloc bug
46040           (sizeof(sectNames) changed to sizeof(sectName))
46041           Both patches fix segfaults under MinGW.
46043 2005-01-23 Raphael Neider <rneider AT web.de>
46045         * src/pic16/{device.c,pcode.c}: s/free/Safe_free/g for
46046           Safe_[mc]?alloc()'ed variables
46047         * src/pic16/gen.c (pic16_aopOp,pic16_popGet): added handling
46048           of (byte sized) temporaries (assign them to WREG for now)
46049         * src/pic16/main.c (_process_pragma): fixed nasty malloc bug
46050           (used sizeof(set *sectSyms) instead of sizeof(struct sectSym)),
46051           this might fix SIGSEGVs on MinGW...
46052         * src/SDCCopt.c (killDeadCode): restored original behaviour
46053           (volatile operands might get thrown away though)
46055 2005-01-23 Vangelis Rokas <vrokas AT otenet.gr>
46057         * src/pic16/gen.c: fixed bug #1106975,
46058         * src/pic16/gen.c: fixed possible bug #1102572, now during TOS
46059         pointer update, INTCON is saved, global interrupts are disabled and
46060         restored after updateing TOS.
46061         * src/SDCC.y, src/SDCC.lex, src/SDCCsymt.c, src/SDCCsymt.h:
46062         * added function attribute 'shadowregs' to take advantage of shadow
46063         registers,
46064         * added function attribute 'wparam' as an alternative to the wparam
46065         pragma,
46066         * support/Utils/SDCCerr.[ch]: added error E_SHADOWREGS_NO_ISR when
46067         user declares a non-ISR function as 'shadowregs',
46068         * doc/sdccman.lyx: updated to reflect recent changes of pic16 port
46070 2005-01-22 Vangelis Rokas <vrokas AT otenet.gr>
46072         * .version: bumped version number to 2.4.8
46073         * device/lib/pic16/pics.all: list of PIC18F devices supported by
46074         pic16 port,
46075         * device/lib/pic16/libio/i2c/: I2C module support library,
46076         * device/include/pic16/i2c.h: I2C support library header,
46077         * device/lib/pic16/libc/stdio/: standard IO support sources,
46078         * (printf_small.c): printf_small() source, supports float print,
46079         * (printf_tiny.c): printf_tiny() source, does not support floats,
46080         * device/lib/pic16/Makefile.common.in: added OPT_FLAGS macro to
46081         enable global optimizations for entire library source, other
46082         Makefiles in the source tree are also modified to reflect this,
46083         * device/lib/pic16/libc/stdlib/putchar.c (putchar): dummy putchar()
46084         function,
46085         * doc/sdccman.lyx: updated to reflect new changes,
46086         * src/pic16/gen.c (aopForSym): don't handle sym->iaccess in
46087         sym->onStack if-case,
46088         * src/pic16/main.c (_pic16_keywords): commented out keywords bit,
46089         sbit, idata, _idata, xdata, _xdata,
46090         * added pragma library, to link an external library, (see doc),
46091         * removed command line options, --pomit-config-words, --pomit-ivt,
46092         --pleave-reset-vector,
46093         * (pic16_finaliseOptions): when define macro SDCC_MODEL_{SMALL/LARGE}
46094         when calling assembler to reflect memory model used, also define
46095         macro STACK_MODEL_{SMALL/LARGE} when compiling and assembling to
46096         reflect stack model used,
46097         * src/pic16/ralloc.c (pic16_allocDirReg): when operand is allocated
46098         on stack return NULL,
46100 2005-01-22 Daniel Winkler <post AT danielwinkler.de>
46102         * src/SDCCopt.c (killDeadCode): do not throw iCodes away if one
46103           of the operands is volatile. Fixes #1020220
46105 2005-01-22 Daniel Winkler <post AT danielwinkler.de>
46107         * src/pic16/pcoderegs.c (pCodeOptime2pCodes): reenabled optimization
46108         * (OptimizeRegUsage): make sure that there is really no other flow where
46109           the first pCode is used
46111 2005-01-22 Raphael Neider <rneider AT web.de>
46113         * src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization
46114           to fix #1106967 (pCode->seq are not set up correctly)
46116 2005-01-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46118         * src/SDCCglue.c (glue): make sure code area is declared before the
46119         static initialization area.
46121 2005-01-21 Raphael Neider <rneider AT web.de>
46123         * device/lib/Makefile.in: fixed test for pic16 install dir
46124         * device/lib/pic16/*/Makefile*: modified compile flags to enable
46125           optimizations
46126         * doc/sdccman.lyx: updated banksel optimization, removed --flr-support and
46127           added --optimize-goto compiler switch and pragma wparam documentation
46128         * src/pic16/pcode.c (pic16_OptimizeBanksel): removed statistics dump
46129         * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed copying of WREG, PRODL
46130           and PRODH closing bug #1071770 (peephole optimizer)
46132 2005-01-19 Raphael Neider <rneider AT web.de>
46134         * src/SDCCglobl.h: ensure that PATH_MAX >= 2048 to guarantee
46135           cmdLine buffers (used when calling sdcpp...) are large enough
46136           (MAX_PATH=256 truncates arguments leading to system halts when
46137           used in MinGW...)
46138         * src/pic16/gen.c (pic16_sameRegs): relaxed size criterion
46139         * (genUminus): rewritten to for efficiency
46140         * (genNearPointer[GS]et): enforce reloading of FSR0 (was still
46141           used uninitialized in some cases)
46142         * (genCast): upcasting a 16bit int to a 24bit GPOINTER may not
46143           copy the third byte from the int -- now assumes 0x80 (data memory)
46144         * src/pic16/genarith.c (pic16_genPlus): fixed bug when swapping
46145           operands (genAddLit expects the iCode's operands to swapped as
46146           well), fixed leftover bytes (crashed for short left operands)
46147         * (pic16_genMinusDec): performance improvements, removed false
46148           PIC14 emitSKPNCs
46149         * (pic16_genMinus): fixed to cope with differently sized operands
46150         * src/pic16/glue.c (pic16_glue): added new banksel optimization
46151           for --obanksel > 1
46152         * src/pic16/pcode.c: implemented (first phase of) banksel optimization
46153         * src/pic16/graph.[ch]: implementation of directed graphs, used by
46154           new banksel optimization
46155         * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): prevented
46156           analysis for temporary registers (segfaults...)
46157         * src/pic16/peeph.def: added rule
46159 2005-01-18 Vangelis Rokas <vrokas AT otenet.gr>
46161         * device/lib/pic16/libc/stdlib/x_ftoa.c: it defines x_ftoa function
46162         which converts a float number to its ASCII representation
46163         * device/lib/pic16/libc/utils/cnvfrac.S,cnvint.S: support
46164         functions to convert the fractional and integer part of a float to ASCII,
46165         * device/lib/pic16/libc/stdlib/(calloc.c,free.c, malloc.c,
46166         realloc.c): added _MALLOC_SPEC to explicit place variables in data
46167         ram
46168         * device/include/asm/pic16/features.h: added _CODE, _DATA, _AUTOMEM,
46169         _STATMEM macros,
46170         * device/include/pic16/adc.h: added GPL info,
46171         * src/pic16/gen.c (genIfxpCOpJump): perform an genIfxJump but using
46172         a pCodeOp as tested operand,
46173         * (genNearPointerGet): optimized bit testing, does not use
46174         intermediate register for bit value, test directly instead with
46175         BTFSS, BTFSC, works only for single bits,
46176         * (genpic16Code): dump the name of the iCode in the asm,
46177         * src/pic16/ralloc.c (decodeOp): removed static declaration and
46178         renamed to pic16_decodeOp,
46179         * (serialRegAssign): do not allocate a temporary register for iCode
46180         sequences that test a single bit for 1/0
46182 2005-01-12 Vangelis Rokas <vrokas AT otenet.gr>
46184         * src/pic16/pcode.[ch]: introduced pic16_stackpnt_*,
46185         pic16_framepnt_*, pic16_stack_*, pic1_frame_* pointer variables to
46186         access stack and frame pointers. They are initially assigned to
46187         point at pic16_pc_fsr1[lh] and pic16_pc_fsr2[lh] variables and other
46188         accessing SFRs. Updated all occurences of modification of stack or
46189         frame pointer in gen.c and pcode.c,
46190         * src/pic16/ralloc.c (serialRegAssign): fixed two bugs with
46191         assigning of a literal value to pointers,
46192         * src/pic16/main.c (pic16_finiliseOptions): set pre-processor define
46193         flag STACK_MODEL_SMALL or STACK_MODEL_LARGE according to the model
46194         selected
46196 2005-01-11 Vangelis Rokas <vrokas AT otenet.gr>
46198         * doc/sdccman.lyx: update documentation about stack pragma, added
46199         some info for stack memory models
46201 2005-01-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
46203         * src/pic16/gen.c (DEBUGpc): MSVC 6 does not support macro variable arguments
46205 2005-01-08 Raphael Neider <rneider AT web.de>
46207         * src/pic16/device.c (pic16_dump_usection): changed naming scheme for
46208           udata sections to fix bug #1097823
46210 2005-01-05 Raphael Neider <rneider AT web.de>
46212         * src/pic16/gen.c (genGenericShift): added handling of differently
46213           sized left operand and result
46215 2005-01-04 Raphael Neider <rneider AT web.de>
46217         * src/pic16/gen.c (genIfxJump): fixed inverted skips on CARRY
46218         * (genIfx): fixed (?) read from uninitialized SPIL_LOC (now assumes CARRY
46219           to hold the condition bit)
46220         * added new version of genCmp (old code available via #define)
46221         * added new version of genShiftLeft/genShiftRight in a generic
46222           way, now supports shifting by negative values
46223         * (genLeftShiftLiteral, genRightShiftLiteral): use absolute value of
46224           shiftCount (expected by genGenericShift)
46225         * src/pic16/genarith.c (genPlus): added code for adding CARRY+literal
46226         * src/pic16/pcode.c (pic16_OptimizeJumps): removed annoying statistics
46227           dump
46228         * (pic16_newpCodeOpLit): changed to cast to unsigned char (as e.g. -32766
46229           is an invalid literal too...)
46231 2005-01-04 Vangelis Rokas <vrokas AT otenet.gr>
46233         * src/pic16/gen.c (aopForSym, genEndFunction): applied some fixes
46234         from Raphael Neider,
46235         * src/pic16/pcode.c (pic16_newpCodeOpLit): removed casting to char
46236         for 8-bit literals. This fixes some literal operands which are sign
46237         extended to 16-bits ints when instruction needs only 8-bits.
46239 2004-12-31 Paul Stoffregen <paul AT pjrc.com>
46241         * device/lib/logf.c: added mcs51 assembly version
46242         * device/lib/expf.c: added mcs51 assembly version
46243         * device/lib/_logexpf.c: new shared asm code for expf and logf
46244         * device/include/math.h: add defines for assembly math library
46245         * device/lib/Makefile.in: build new _logexpf.c
46246         * device/lib/libfloat.lib: use new _logexpf.c
46248 2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
46250         * src/pic/device.c
46251         * src/pic/pcode.c : adjusted internal stack and pre-allocated registers for
46252           device types which have less than 0x7f registers.
46254 2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
46256         * src/pic/genarith.c : Fixed problem with subtraction where the result would not be updated when borrowing.
46258 2004-12-28 Paul Stoffregen <paul AT pjrc.com>
46260         * device/lib/printf_fast.c: only build on supported arch.
46261         * device/lib/printf_tiny.c: only build on supported arch.
46262         * device/lib/printf_fast_f.c: only build if asm float lib
46263         * device/lib/_fsget1arg.c: only build if asm float lib
46264         * device/lib/_fsget2args.c: only build if asm float lib
46265         * device/lib/_fsnormalize.c: only build if asm float lib
46266         * device/lib/_fsreturnval.c: only build if asm float lib
46267         * device/lib/_fsrshift.c: only build if asm float lib
46268         * device/lib/_fsswapargs.c: only build if asm float lib
46269         * device/include/stdio.h: don't provide print_fast,
46270           print_fast_f, print_tiny prototypes if --xstack used
46272 2004-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
46274         * device/lib/sincosf.c (sincosf): don't invert bit/bool by ~
46275         * support/regression/ports/mcs51-stack-auto/spec.mk: added new _fs.. files
46276           to the SOURCES
46278 2004-12-28 Paul Stoffregen <paul AT pjrc.com>
46280         * device/lib/printf_fast_f.c: same as printf_fast, but
46281           with floating point enabled
46282         * device/lib/printf_fast.c: minor tweaks
46283         * device/include/stdio.h: add printf_fast_f
46285 2004-12-27 Paul Stoffregen <paul AT pjrc.com>
46287         * src/SDCCmain.c: make --float-reent default for mcs51
46288         * device/lib/_fsadd.c: added mcs51 assembly version
46289         * device/lib/_fssub.c: added mcs51 assembly version
46290         * device/lib/_fsmul.c: added mcs51 assembly version
46291         * device/lib/_fsdiv.c: added mcs51 assembly version
46292         * device/lib/_fseq.c: added mcs51 assembly version
46293         * device/lib/_fsneq.c: added mcs51 assembly version
46294         * device/lib/_fsgt.c: added mcs51 assembly version
46295         * device/lib/_fslt.c: added mcs51 assembly version
46296         * device/lib/_fscmp.c: shared code for fseq,fsgt,fslt,fsneq
46297         * device/lib/Makefile.in: add _fscmp to build
46298         * device/lib/libfloat.lib: add _fscmp to build
46300 2004-12-27 Paul Stoffregen <paul AT pjrc.com>
46302         * device/lib/_fs2slong.c: added mcs51 assembly version
46303         * device/lib/_fs2sint.c: added mcs51 assembly version
46304         * device/lib/_fs2schar.c: added mcs51 assembly version
46305         * device/lib/_fs2ulong.c: added mcs51 assembly version
46306         * device/lib/_fs2uint.c: added mcs51 assembly version
46307         * device/lib/_fs2uchar.c: added mcs51 assembly version
46308         * device/lib/_slong2fs.c: added mcs51 assembly version
46309         * device/lib/_sint2fs.c: added mcs51 assembly version
46310         * device/lib/_schar2fs.c: added mcs51 assembly version
46311         * device/lib/_ulong2fs.c: added mcs51 assembly version
46312         * device/lib/_uint2fs.c: added mcs51 assembly version
46313         * device/lib/_uchar2fs.c: added mcs51 assembly version
46314         * device/include/float.h: added #define to select asm vs c
46316 2004-12-26 Paul Stoffregen <paul AT pjrc.com>
46318         * device/lib/printf_fast.c: improvements to float output
46319         * device/include/float.h: add defines for assembly float library
46320         * device/lib/_fsget1arg.c: receive 1 float arg
46321         * device/lib/_fsget2args.c: receive 2 float args (reentrant)
46322         * device/lib/_fsnormalize.c: normalize a float
46323         * device/lib/_fsreturnval.c: return float, various helper routines
46324         * device/lib/_fsrshift.c: right shift a float's mantissa
46325         * device/lib/_fsswapargs.c: swap 2 floats
46326         * device/lib/Makefile.in: build these 6 new files for mcs51
46327         * device/lib/libfloat.lib: add these 6 files to the library
46329 2004-12-26 Borut Razem <borut.razem AT siol.net>
46331         * sim/ucsim/avr.src/arith_inst.cc: fixed bug #1088372- savr is not
46332           built by gcc 3.4.2
46334 2004-12-25 Paul Stoffregen <paul AT pjrc.com>
46336         * device/lib/printf_tiny.c: printf for mcs51 in only 267 bytes,
46337           and fully reentrant and register bank neutral.
46338         * device/lib/printf_fast.c: added float (not enabled by default),
46339           added compact/slower integer (also not enabled by default),
46340           improved size/speed of fast integer code, other minor changes
46341         * device/include/stdio.h, device/lib/Makefile.in,
46342           device/lib/libsdcc.lib: integrate printf_tiny into mcs51 build
46344 2004-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
46346         * src/pic16/pcode.c: declaring variables other than at the start of a
46347           block is not supported in C by VC6.
46349 2004-12-22 Vangelis Rokas <vrokas AT otenet.gr>
46351         * applied a previous patch from Raphael Neider that wasn't included
46352         in the previous commits, which fixes infinite loops within jumptable
46353         improvements,
46354         * made some fixes that previous patches introduced
46356 2004-12-21 Vangelis Rokas <vrokas AT otenet.gr>
46358         * src/pic16/gen.c (pic16_aopGet): applied fix from Raphael Neider
46359         that fixes an issue with AOP_PCODE asmop's offset,
46360         * (pic16_popCopyReg): update instance field too,
46361         * (mov2w): modified to pic16_mov2w because it conflicts with mov2w
46362         function of pic port,
46363         * (genCmp, genAnd, genAssign),
46364         * src/pic16/genarith.c (genAddLit): some fixes from Raphael Neider,
46366 2004-12-20 Vangelis Rokas <vrokas AT otenet.gr>
46368         * src/SDCCast.c (gatherAutoInit): allow pic16 to emit static
46369         variables initial values to idata section,
46370         * src/SDCCicode.c (geniCodeCall): patch from ### to fix unreferenced
46371         variables in some functions. This utilizes parmBytes field of iCode
46372         structure to hold the offset of the variable in stack. (might be
46373         able to use the stack field too?)
46374         * applied patch from Raphael Neider # ### , # ###
46375         * src/pic16/glue.c (pic16emitRegularMap): fix to print static
46376         variable initial values in idata section,
46377         * src/pic16/ralloc.c (pic16_allocDirReg): don't allocate register
46378         for static variables with initial value
46379         * src/device/lib/pic16/libsdcc/float/ulong2fs.c (__ulong2fs):
46380         applied fix in while loop from Raphael Neider.
46382 2004-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
46384         * src/ds390/gen.c (genCpl): fixed bit=~(char/bit) bugs, added warning
46385         * src/ds390/main.c (_ds390_regparm): don't pass bit params in registers
46386         * src/ds390/ralloc.c (serialRegAssign): spill bits
46387         * src/mcs51/gen.c (genCpl): fixed bit=~(char) bugs, added warning
46388         * support/Util/SDCCerr.c,
46389         * support/Util/SDCCerr.h: added warning W_COMPLEMENT for using bit=~(bit)
46390         * support/regression/tests/bitvars.c: added tests for bitwise complement(~)
46391         * support/regression/tests/bitwise.c: added test for bitwise complement(~)
46393 2004-12-09 Maarten Brock <sourceforge.brock AT dse.nl>
46395         * device/include/sdcc-lib.h: inserted LGPL, added includes
46396           asm/ds390/features.h and asm/mcs51/features.h
46397         * device/include/asm/default/features.h,
46398         * device/include/asm/gbz80/features.h,
46399         * device/include/asm/z80/features.h: added empty _AUTOMEM
46400           and _STATMEM
46401         * device/include/asm/ds390/features.h,
46402         * device/include/asm/mcs51/features.h: added files with defines for
46403           _AUTOMEM and _STATMEM indicating automatic and static storage class
46404         * device/lib/printf_large.c (_print_format): optimized & used _AUTOMEM
46405         * doc/sdccman.lyx: version 2.4.7, updated xstack documentation
46406         * src/SDCCicode.c (geniCodeCast),
46407         * src/SDCCsymt.c (compareType): allow cast of data-ptr to idata-ptr
46408         * src/SDCCloop.c (loopInduction): removed unused variable lr
46409         * src/SDCCopt.c (convilong, convertToFcall): moved "easy special case"
46410           to convertToFcall to include char modulo (RFE 1065037), added check
46411           if left operand is unsigned and use abs of literal value
46412         * src/SDCCpeeph.c (setFromConditionArgs): removed double quotes option
46413           as it doesn't work after conversion from peephole.def to peephole.rul
46414         * src/mcs51/gen.c (toBoolean): added check for size,
46415           (genModOneByte): optimized code for signed char modulo a literal
46416           power of 2 (thanks to Hubert Sack),
46417           (genRRC): removed unnecessary "clr c",
46418           (genRLC): replaced "add a,acc" with cheaper "rlc a"
46419         * src/mcs51/peeph.def: renamed 115 to 115.a, added rule 115.b: another
46420           jump optimization,
46421           swapped rules 256.c and 256.d,
46422           extended 256.d by using new multiple checks (thanks Erik),
46423           added rules 256.e and 256.f,
46424           updated rule 261.a and 261.b to new generated code
46425         * support/regression/tests/muldiv.c: added test div/mod by a power of 2
46427 2004-12-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46429         * src/SDCCloop.c (basicInduction, loopInduction): fixed several
46430           induction related bugs, including first part of bug #1074377
46432 2004-12-05 Vangelis Rokas <vrokas AT otenet.gr>
46434         * applied patch from bug-report #1076292,
46435         * applied patches for genAnd and Goto-optimizations for Raphael
46436         Neider,
46437         * src/SDCCicode.c (printOperand): fixed !REGA source to compile and
46438         dump a less iCode information,
46439         * src/pic16/device.h (pic16_options_t): added field debgen,
46440         * src/pic16/gen.h: added macros DUMP_FUNCTION_ENTRY,
46441         DUMP_FUNCTION_EXIT, FENTRY, FENTRY2,
46442         * src/pic16/gen.c (my_powof2): renamed to pic16_my_powof2 and made
46443         puclic,
46444         * (various functions): added macros FENTRY and FENTRY2 to functions,
46445         to emit function prologue,
46446         * (various functions): fixed indentation,
46447         * (genNearPointerGet): fixed loading of FSR0,
46448         * (genPackBits): applied patch from Raphael Neider to fix updating
46449         of FSR0 and touching only the modified bits,
46450         * src/pic16/genarith.c (various functions): added macros FENTRY to
46451         emit function prologue in comments,
46452         * src/pic16/pcode.h: added functions debugf2, debugf3,
46453         * src/pic16/ralloc.c: partial fix for packForPush caused
46454         segmentation fault,
46456 2004-12-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46458         * src/mcs51/peeph.def: added 261.a,b (16 bit rotate) by Stas Sergeev
46459           <stsp AT users.sourceforge.net> with reversed byte order
46460         * support/regression/tests/rotate.c: added (ds390 skips some tests)
46462 2004-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46464         * src/z80/gen.c (genLeftShift, genRightShift): fixed second part of
46465           bug #1074377
46466         * src/hc08/gen.c (genrshFour, shiftRLong, shiftLLong),
46467         * src/mcs51/gen.c (shiftLLong): Fixed some shifting bugs Frieder found
46469 2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
46471         * src/pic/pcode.c : fixed a problem where banksel was not being inserted.
46473 2004-12-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46475         * src/SDCCpeeph.c (callFuncByName): support combined peephole rule
46476           conditions,
46477           (setFromConditionArgs): friendly operand parser for peephole rules,
46478           (operandBaseName, operandsNotRelated): new peephole condition
46479           "operandsNotRelated" -- similar to "operandsNotSame", but takes
46480           architecture specific register naming into account, handles n-way
46481           comparisons, and supports quoted literals
46482         * src/mcs51/peeph.def: restored rule 177.d with an extra condition
46484 2004-12-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46486         * src/mcs51/peeph.def: fixed bug #1076940
46488 2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
46490         * device/include/pic/pic16f877.h : added an include file for the PIC16F877 device.
46492 2004-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46494         Adding support for replacing ljmps with sjmps in jumptables
46495         generated for switch statements. For now you need to set the
46496         environment variable SDCC_SJMP_JUMPTABLE to enable this.
46497         Now 4 algorithms for mcs51 jumptable generation are used:
46498         ljmp or sjmp jumptables for up to 16 cases, stack-pushing target
46499         addresses loaded pc-relative for up to 112 cases and stack-pushing
46500         target addresses loaded with offset from dptr for up to 256 cases.
46502         * src/SDCCpeeph.c: added peephole conditional labelJTInRange
46503         * src/mcs51/main.c: adapted constants for switch table generation
46504         * src/mcs51/peeph.def: added 260.x for replacing ljmp with sjmp
46506 2004-11-26 Maarten Brock <sourceforge.brock AT dse.nl>
46508         * device/lib/printf_large.c (_print_format): fixed bug 1073386
46509         * support/regression/tests/bug1057979.c: added test for bug 1073386
46511 2004-11-25 Vangelis Rokas <vrokas AT otenet.gr>
46513         * src/pic16/pcode.c: fixed bug which may produce error in non-GNU
46514         compilers
46516 2004-11-25 Vangelis Rokas <vrokas AT otenet.gr>
46518         * src/pic16/device.h,
46519         * src/pic16/genarith.c,
46520         * src/pic16/glue.c,
46521         * src/pic16/main.c,
46522         * src/pic16/pcode.c: applied patches #1068154 and #1070213
46524 2004-11-24 Vangelis Rokas <vrokas AT otenet.gr>
46526         Large cummulative patch for pic16 port.
46527         * device/lib/pic16/gstack.h: NEW, user can specify its own handler
46528         to call when a stack overflow occurs,
46529         * (malloc.h): added CVS Id tag,
46530         * (pic18f{242,252,442,452}.h): added T0CONbits structure and
46531         variable,
46532         * added libc directory. The current version of LibC contains string
46533         functions, ctype functions and macros and some functions of the
46534         stdlib set (like malloc/free/atof/atoi etc...). All functions are to
46535         be extensively tested in the future. Standard disclaimer here.
46536         Library is not automatically build yet. But one can build it by
46537         invoking 'make' inside the libc directory.
46538         * added ADC library under libio. Preliminary version yet.
46540         * src/pic16/gen.h: added emitTOGC macro, to toggle Carry flag,
46541         * src/pic16/gen.c (aopForRemat): asmop size is filled by
46542         aopForRemat() now and not by pic16_aopOp(),
46543         * (pic16_popGetTempReg): removed warning messgae when allocating
46544         temporary registers, its a buggy feature and will be removed,
46545         * (pic16_popGet): set register instance field in AOP_CRY,
46546         * (pic16_outBitC): fixed for results in size greater than 1,
46547         * (genUminusFloat): fixed for pic16, ported code from mcs51,
46548         * (pic16_storeForReturn): optimized return of 0,
46549         * (genCmp): experimental code for new genCmp which uses PIC18's
46550         special compare&skip instructions. Initial tests fail some times
46551         with variables grater than 1 byte in size, so new code is disabled,
46552         * (genUnpackBits, genPackBits): more optimizations in reading/writing,
46553         a single bit,
46554         * (genCast): began a fix to optimize the casting of a bit to another
46555         bit, now assigning a bitfield to another bitfield will fail, sorry,
46556         * src/pic16/main.c: disabled the use of lr-support feature,
46557         * src/pic16/pcode.h: renamed PCASMDIR to PCAD,
46558         * added some function prototypes, added function _debugf prototype,
46559         * src/pic16/pcode.c: (pic16_get_op): fixed emitting operands of register
46560         bits with offset (case PO_GPR_BIT),
46561         * (genericPrint): don't emit INFO pcode when --pcode-verbose not in
46562         command line,
46563         * (isBankInstruction): modified to return 0 for no banking instruction,
46564         and 1 for banking instruction,
46565         * (pic16_isPCinFlow): check for PCAD (assembler directives) too,
46566         caused stop processing pCodes after a inline assembly block,
46567         * (pic16_popCopyGPR2Bit): updated to match bitfields with offset,
46568         * src/pic16/pcoderegs.c: fixed a bug with eliminating some temporary
46569         registers when it shouldn't,
46570         * src/pic16/ralloc.c (allocReg): add preliminary support for
46571         supporting a limited set of temporary registers,
46573 2004-11-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46575         * src/hc08/gen.c (genAssign, genPointerGetSetOfs, genDataPointerGet,
46576           genDataPointerSet): ensure assignments always copy in MSB to LSB
46577           order,
46578           (loadRegFromAop): recognize CLRH optimization,
46579           (genFunction): optimize RECEIVE iCodes in reentrant functions
46581 2004-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46583         * src/SDCCmain.c (parseCmdLine, optionsTable[]): fixed bug with
46584           --out-fmt-s19 turning into --out-fmt-elf if s19 was already
46585           selected.
46586         * src/SDCCmain.c (linkEdit): don't define SSEG for HC08
46587         * src/hc08/main.c (_hc08_setDefaultOptions): default xdata to be
46588           contiguous with data
46590 2004-11-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46592         * device/lib/_gptrget.c (_gptrget),
46593         * device/lib/_gptrgetc.c (_gptrgetc),
46594         * device/lib/_gptrput.c (_gptrput): _naked allows to use ret
46595           instead of sjmp to ret
46596         * src/mcs51/peeph.def: added peepholes 3.d-g and 177.g,h provided
46597           by Hubert Sack <hsack2002 AT arcor.de> in RFE #1067986, thanks
46599 2004-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
46601         * .version: bumped version to 2.4.7
46602         * device/lib/_gptrget.c (_gptrget): is now _naked
46603         * device/lib/_gptrgetc.c (_gptrgetc): is now _naked
46604         * device/lib/_gptrput.c (_gptrput): is now _naked
46605         * src/SDCCast.c (createBlock): removed ridiculous self-assignment,
46606           (createFunction): fixed xstack
46607         * src/SDCCglue.c (emitMaps): set allocation required for bit area
46608         * src/SDCCicode.c (geniCodeCast): don't change SPEC_OCLS for literal
46609           or bit either,
46610           (geniCodeCritical): store original interrupt state in an iTemp bit
46611           var unless stack-auto
46612         * src/SDCCicode.h: added CRITICAL and ENDCRITICAL to SKIP_IC2
46613         * src/SDCCmain.c (setIncludePath): added include/target to search path
46614         * src/SDCCmem.c (allocParms): store bit vars in bit space, not overlay
46615         * src/SDCCsymt.c (checkFunction): don't check regbank for isr's against
46616           prototype,
46617           (processFuncArgs): put bit vars in bit area
46618         * src/mcs51/gen.c (saveRegisters, unsaveRegisters, genXpush, saveRBank,
46619           unsaveRBank): fixed xstack,
46620           (genFunction): bugfix: replaced (global!) reentrant with fReentrant,
46621           (genFunction, genEndFunction): fixed xstack,
46622           (genAssign): optimization don't walk backwards through mem
46623         * src/mcs51/main.c (_mcs51_regparm): don't pass bit params in registers
46624         * src/mcs51/ralloc.c (createStackSpil): spill bits to bit area
46625         * support/regression/Makefile: also make library (for stack-auto) when
46626           making "all" and added "test-mcs51-xstack-auto"
46627         * support/regression/fwk/lib/testfwk.c: added T2_isr prototype for mcs51
46628         * support/regression/ports/mcs51/T2_isr.c: added this file as a stub
46629         * support/regression/ports/mcs51/fwk.lib: added to link T2_isr stub
46630         * support/regression/ports/mcs51/spec.mk: added rules for fwk.lib
46631         * support/regression/ports/mcs51-stack-auto/spec.mk: replaced
46632           make-library by MAKE_LIBRARY
46633         * support/regression/ports/mcs51-xstack-auto/spec.mk: file added to run
46634           regression tests for xstack
46635         * support/regression/tests/bitvars.c: test for bit vars (bug 938782)
46636         * support/regression/tests/critical.c: test for critical on mcs51
46638 2004-11-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46640         * support/regression/ports/ucz80/spec.mk: use include and lib files from
46641           built version of sdcc instead of installed version
46643 2004-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
46645         * src/mcs51/gen.c (toBoolean): fixed bug 1065458
46646         * device/lib/Makefile.in: z80 uses printf_large.c, sprintf.c and
46647           vprintf.c now
46648         * device/lib/printf_large.c (calculate_digit): fixed bug 1057979
46649         * device/lib/z80/Makefile: don't use printf.c as it fails bug 1057979
46650           WARNING: remove device/lib/build/z80/printf.o by hand when
46651           updating from previous build!
46652         * device/lib/z80/printf.c: updated comment
46653         * support/regression/tests/bug1057979.c: test all ports now
46654         * support/regression/tests/bug1065458.c: file added
46656 2004-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46658         * src/z80/gen.c (genFunction, genEndFunction): avoided generating
46659           *_start and *_end symbols for static functions
46661 2004-11-11 Maarten Brock <sourceforge.brock AT dse.nl>
46663         * src/SDCCmain.c (linkEdit): don't suppress crt0 if --nostdlib is used
46664           and search crt0.o in all library paths,
46665           (setIncludePath): proper handling of --nostdinc,
46666           (setLibPath): proper handling of --nostdlib
46667         * support/regression/Makefile,
46668         * support/regression/ports/ds390/spec.mk,
46669         * support/regression/ports/gbz80/spec.mk,
46670         * support/regression/ports/hc08/spec.mk,
46671         * support/regression/ports/mcs51/spec.mk,
46672         * support/regression/ports/mcs51-large/spec.mk,
46673         * support/regression/ports/mcs51-stack-auto/spec.mk,
46674         * support/regression/ports/z80/spec.mk: use include and lib files from
46675           built version of sdcc instead of installed version
46676         * doc/sdccman.lyx: fixed typo in --nostdinc
46678 2004-11-10 Slade Rich <slade_rich AT users.sourceforge.net>
46680         * src/pic/pcode.c,
46681         * src/pic/device.c,
46682         * src/pic/ralloc.c,
46683         * src/pic/gen.c : added support to generate code for struct bit fields.
46685 2004-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
46687         * as/xa51/xa_version.h,
46688         * device/include/errno.h,
46689         * device/include/regc515c.h,
46690         * device/lib/_itoa.c,
46691         * device/lib/_ltoa.c,
46692         * device/lib/ser_ir_cts_rts.c,
46693         * sim/ucsim/xa.src/glob.cc,
46694         * sim/ucsim/xa.src/inst_gen.cc,
46695         * sim/ucsim/xa.src/xa_bit.cc,
46696         * sim/ucsim/xa.src/xa_sfr.cc,
46697         * sim/ucsim/z80.src/inst_dd.cc,
46698         * sim/ucsim/z80.src/inst_fdcb.cc,
46699         * support/scripts/keil2sdcc.pl,
46700         * src/pic16/pic16.dsp,
46701         * src/pic16/pic16a.dsp: corrected cvs line endings
46702         * device/lib/printf_large.c: fixed bug 1057979
46703         * src/pic16/gen.c: fixed non-C standard code
46704         * src/SDCCmain.c: made --pack-iram default, added --no-pack-iram
46705         * src/SDCCglobl.h: changed pack_iram to no_pack_iram
46706         * support/regression/ports/mcs51/support.c: reload T1 asap
46707         * doc/sdccman.lyx: updated for options --pack-iram and --no-pack-iram,
46708           pdata use and clear idata startup behaviour
46709         * support/regression/tests/bug1057979.c: added
46711 2004-11-04 Maarten Brock <sourceforge.brock AT dse.nl>
46713         * device/examples/ds390/ow390/ad26.h,
46714         * device/examples/ds390/ow390/cnt1d.h,
46715         * device/examples/ds390/ow390/crcutil.c,
46716         * device/examples/ds390/ow390/ownet.h,
46717         * device/examples/ds390/ow390/owsesu.c,
46718         * device/examples/ds390/ow390/swt12.h,
46719         * device/examples/ds390/ow390/swtoper.c,
46720         * device/examples/ds390/ow390/temp10.h,
46721         * device/examples/ds390/ow390/thermodl.c,
46722         * device/examples/ds390/tinitalk/tinitalk.dsp,
46723         * device/examples/ds390/tinitalk/tinitalk.dsw,
46724         * device/examples/mcs51/clock/hw.h,
46725         * device/examples/mcs51/simple2/go.bat,
46726         * device/examples/serialcomm/windows/serial.h,
46727         * device/examples/xa51/dummy.c,
46728         * device/examples/xa51/hello.c,
46729         * device/include/80c51xa.h,
46730         * device/include/at89x051.h: corrected cvs line endings
46732 2004-11-04 Vangelis Rokas <vrokas AT otenet.gr>
46734         * src/pic16/main.c (options): added command line --gstack, to trace
46735         stack over/under flows,
46736         * added pragma 'wparam' to allow passing first byte of function
46737         parameters via WREG, syntax is #pragma wparam my_function[, func2...]
46738         * src/pic16/gen.c (pic16_testStackOverflow): function which emits a
46739         call to __gstack_test function and sets up the symbol as extern,
46740         * (pic16_pushpCodeOp, pic16_poppCodeOp, pushw, pushaop, popaopidx,
46741         * popaop): added call to pic16_testStackOverflow,
46742         * (wParamCmp, inWparamList): NEW, test existence of a symbol in
46743         wparamList list,
46744         * (genCall, genPcall): now all parameters are passed via stack
46745         except in functions that are pass to wparam pragma in which WREG is
46746         used too,
46747         * (genPcall): REENTRANT flag is checked to see if variable prototype
46748         contains reentrant keyword, don't call a non-reentrant function, via
46749         a reentrant function pointer or vice versa, functions are never
46750         passed via WREG,
46751         * (genJumpTab): applied patch from bug #1057478 by R.Neider and
46752         D.Winkler,
46753         * src/pic16/glue.c (pic16emitRegularMap): fixed bug which caused a
46754         SIGSEGV when accessing a NULL register stucture,
46755         * (pic16_printGPointerType): modified to handle UPPER modifier for
46756         function initializers, changed prototype of function to simpler one,
46757         * (pic16_printIvalFuncPtr): check to see if function is already
46758         added in externs list,
46759         * src/pic16/pcoderegs.c (pCodeOptime2pCodes): fixed bug which
46760         optimized a move from W to SFR with a move to the same register
46761         later after a CALL,
46762         * device/lib/pic16/debug: NEW directory, contains debug features
46763         which are enabled when linking with libdebug.lib, currently command
46764         line option --gstack enables stack pointer tracing for over/under
46765         flow, corresponding sources are in debug/gstack
46767 2004-10-30 Vangelis Rokas <vrokas AT otenet.gr>
46769         * doc/sdccman.lyx: updated SDCC version,
46770         * (PIC16 port): update list of command line options,
46771         * src/pic16/device.h (structure pic16_options_t): added field gstack
46772         to enable stack overflow tracing on push/pops,
46773         * src/pic16/device.c (statistics structure): added statistics
46774         structure,
46775         * (pic16_dump_access, pic16_dump_usection, pic16_dump_gsection,
46776         pic16_dump_int_registers): increase statistics counters for each
46777         * variable which is encountered
46778         * (pic16_dump_usection): emit each .udata variable to its own udata
46779         section,
46780         * src/pic16/gen.c (assignResultValue, genCall, genPcall, genFunction):
46781         when macro USE_WREG_IN_FUNC_PARAMS is set to 0 pass all function
46782         parameters via stack, otherwise use old scheme,
46783         * src/pic16/glue.c (pic16_emitStatistics): dump statistics in
46784         assembler output file,
46785         * src/pic16/main.c: added command line options --gstack to enable
46786         push/pop tracing for stack overflow,
46787         * src/pic16/pcode.c (all pCodeInstruction records for PIC18F
46788         instructions): added size of each instruction,
46789         * (pic16_countInstruction): estimate size of instructions in
46790         the_pFile list, inline assembly blocks are not counted,
46791         * (pic16_FixRegisterBanking): trace previous register usage, when
46792         banksel optimizations is greater than 0, don't emit a redudant
46793         banksel directive,
46795 2004-10-26 Slade Rich <slade_rich AT users.sourceforge.net>
46797         * src/pic/ralloc.c : fixed inefficient code produced when compiling a complimented bit operation.
46798         * src/pic16/ralloc.c : applied same fix for pic16.
46799         * src/pic/gen.c : tidied it up a little.
46801 2004-10-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46803         * src/mcs51/peeph.def: disabled 259.a,b for removing redundant ret,
46804         thanks to Martin Helmling for reporting (mail on sdcc-devel 2004-10-25)
46806 2004-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46808         * src/SDCCast.c (reverseParms): fixed bug #1040577 (part 2)
46810 2004-10-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46812         * device/lib/ser_ir_cts_rts.c: integer promotion caused a call to the
46813         non-reentrant function __modsint in the interrupt function (thus
46814         corrupting math operations during serial I/O)
46815         * device/lib/ser_ir.c: as above, changed buffersize
46816         * src/mcs51/peeph.def: added 259.a,b for removing redundant ret,
46817         256.c,d for zeroing
46818         * doc/Makefile: added option -t for rsync
46820 2004-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46822         * src/SDCCast.h (struct ast),
46823         * src/SDCCast.c (reverseParms, copyAst): fixed bug #1040577 (part 1)
46825 2004-10-20 Borut Razem <borut.razem AT siol.net>
46827         * support/scripts/sdcc.nsi: added include/pic16/*.h to the setup
46828         package
46830 2004-10-20 Vangelis Rokas <vrokas AT otenet.gr>
46832         * device/lib/pic16/libsdcc/Makefile: added lregs directory in
46833         makefile targets,
46834         * device/lib/pic16/libsdcc/lregs/{Makefile,lrst.c,lrrest.c}: NEW
46835         support functions to replace long sequences of MOVFF's from access
46836         bank registers to stack and vice versa,
46837         * src/pic16/device.h: added new field opt_flags, where optimization
46838         flags can be set to enable certain features,
46839         * src/pic16/gen.c (pic16_emitpinfo): NEW to add PC_INFO pCode in
46840         * pBlock, (genFunction, genEndFunction): surroung loop for
46841         saving/loading used registers in stack with PC_INFO pCodes,
46842         INF_LREGS. Code in between can then be optimized by pCode optimizer
46843         to support function calls,
46844         * (genDataPointerSet): fixed bug which loaded float fields in
46845         structures with corrupt data,
46846         * src/pic16/genutils.c (debugf, _debugf): macro/function which emits
46847         in a standard way debug info on stderr. Feature used for developing
46848         and debugging only,
46849         * src/pic16/glue.c (pic16glue): reformatted, deleted some old and
46850         obsolete chunks of code,
46851         * if optimization flag OF_LR_SUPPORT was set, call pic16_OptimizeLocalRegs,
46852         * src/pic16/main.c (_pic16_parseOptions): added handler for --flr-support,
46853         * pic16/src/pcode.c (pic16_newpCodeInfo,
46854         * (pic16_newpCodeOpLocalRegs),
46855         * (pic16_convertLocalRegs2Support): NEW, to support new optimization
46856         feature,
46857         * (pic16_pCodeConstString): printing of the initial value of a
46858         symbol as a comment is inhibited since parsing was already done by
46859         copyStr and output is corrupt,
46860         * (pic16_pCode2str, genericPrint): handle PC_INFO pCode,
46862 2004-10-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46864         * src/mcs51/ralloc.c (packRegisters): fixed bug #1044601
46866 2004-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
46868         * as/mcs51/lkarea.c: removed old K&R style,
46869           (lnksect): changed check on boundary error,
46870           (lnksect2): changed check on boundary error,
46871           (lnksect2): extend XSTK to end of page if size = 1
46872         * as/mcs51/lkmain.c: removed old K&R style,
46873           (Areas51): create l_IRAM symbol
46874         * as/mcs51/lkmem.c (summary2): added report on PSEG and XSTK
46875         * device/lib/Makefile.in: renamed model-mcs51-reentrant to
46876           model-mcs51-stack-auto, added model-mcs51-xstack-auto
46877         * device/lib/_mullong.c: added version to be compiled with xstack
46878         * device/lib/mcs51/crtclear.asm: clear only upto --iram-size
46879         * device/lib/mcs51/crtxclear.asm: clear pdata as well
46880         * device/lib/mcs51/crtxstack.asm: fixed comment
46881         * src/SDCCglue.c: maxInterrupts defaults to 0,
46882           (emitMaps): added pdata,
46883           (createInterruptVect): (re)moved default,
46884           (glue): added pdata,
46885           (glue): moved __start__xstack to XSTK with default size 1
46886         * src/SDCCmain.c (parseCmdLine): automatically set options.intlong_rent
46887           and options.float_rent when options.stackAuto is set,
46888           (linkEdit): only write XDATA_NAME if provided on command line
46889         * src/SDCCmem.h,
46890         * src/SDCCmem.c: added pdata
46891         * src/port.h: added pdata_name to PORT
46892         * src/mcs51/gen.c (toBoolean): fixed for Acc use of aopGet,
46893           (saveRegisters, unsaveRegisters): removed usage of B,
46894           (genMinus): fixed accumulator clash,
46895           (genJumpTab): added comment, this needs another look
46896         * src/mcs51/gen.c: added check for "B in use" paranoia,
46897           added pushB() and popB()
46898         * src/mcs51/peeph.def: restart after 177.c so 177.a can get a second
46899           chance
46900         * src/avr/main.c,
46901         * src/ds390/main.c,
46902         * src/hc08/main.c,
46903         * src/mcs51/main.c,
46904         * src/pic/main.c,
46905         * src/pic16/main.c,
46906         * src/xa51/main.c,
46907         * src/z80/main.c: (reset_regparms) made void parameter explicit and
46908           added PSEG (PAG,XDATA) or NULL to port specifier
46909         * src/ds390/main.c (_ds390_genIVT): moved implemented default in here
46910         * src/mcs51/main.c (_mcs51_genIVT): moved implemented default in here,
46911           (_mcs51_genInitStartup): removed __start__xstack equ,
46912           (mcs51_port): moved xstack from XSEG (XDATA) to XSTK (PAG,XDATA)
46913         * src/pic16/device.c (pic16_dump_usection, pic16_dump_isection),
46914         * src/z80/gen.c (_rleAppend): fixed warnings
46915         * support/regression/tests/zeropad.c: added pdata test
46916         * .version: bumped to 2.4.6
46918 2004-10-17 Borut Razem <borut.razem AT siol.net>
46920         * support/scripts/sdcc.nsi: cross compiling of WIN32 setup.exe on Linux
46921         as a part of nightly build
46923 2004-10-16 Vangelis Rokas <vrokas AT otenet.gr>
46925         * src/pic16/gen.c (struct _G): added field useWreg, is set to 1 when
46926         WREG holds the first byte function parameters,
46927         * (aopForSym): take special case for symbols which are in FARSPACE
46928         but in CODESPACE too,
46929         * (assignResultValue): modified to take into account _G.useWreg,
46930         * (genCall): don't use wreg for parameter passing when function is
46931         declared as reentrant, too, added optimization INCF to stack
46932         pointer when stack parameter count is 1,
46933         * (genFunction, genEndFunction): refurnished and fixed to not using
46934         wreg for passing parameters when function has varargs or is
46935         reentrant, fixed bug with symbol name compare for generating
46936         functions in absolute address,
46937         * (pic16_storeForReturn): refurnished,
46938         * (genCmp): began writing a new version of the function, not ready
46939         yet, therefore it is disabled,
46940         * (genAssign): do not read code memory when assigning a function to
46941         a pointer function,
46942         * src/pic16/glue.c (pic16emitStaticSeg): abSym->name is defined an
46943         array of characters, not pointer,
46944         * (pic16initialComments): in debug mode emit an .ident directive for
46945         the assembler,
46946         * (_process_pragma): emit a new warning type (internal to pic16)
46947         when setting stack to default length, emit a similar warning when
46948         placing a function at absolute address and address is not word aligned
46949         * (_pic16_parseOptions): added 'return TRUE' statement,
46950         * (_pic16_linkEdit): if compiling a source, then add the source's
46951         file object, first in the list of objects to link,
46953 2004-10-13 Slade Rich <slade_rich AT users.sourceforge.net>
46955         * src/pic/pcoderegs.c : increased count on regUsedinRange to prevent unnecessary warning.
46956         * src/pic/main.c : removed VC warning.
46957         * src/pic/gen.c : changed comment.
46959 2004-10-12 Vangelis Rokas <vrokas AT otenet.gr>
46961         * device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external
46962         reference to a deprecated symbol _GPTRREG was causing failure to
46963         link. Thanks G. M. Gallant for the info.
46965 2004-10-12 Slade Rich <slade_rich AT users.sourceforge.net>
46967         * src/pic/pcode.c : Applied a code patch supplied by Paul Ashmore in
46968         comments for Bugs item #954788.
46970 2004-10-10 Vangelis Rokas <vrokas AT otenet.gr>
46972         * src/pic16/device.c (pic16_dump_gsection,
46973         * pic16_groupRegistersInSection): handle symbols declared to be in
46974         access bank differently,
46975         * src/pic16/gen.c (struct _G): added field resDirect,
46976         * (aopForSym): if symbol on stack and iCode is '=' and result exists,
46977         send values read from stack directly to result and don't allocate
46978         temporary values,
46979         * (pic16_sameRegs): fixed bug that allowed MOVFF to move between
46980         same registers,
46981         * (pic16_sameRegsOfs): NEW,
46982         * (freeAsmop): if _G.resDirect is set then do not mark registers as
46983         free because they were not allocated from temporary pool,
46984         * pic16_popRegFromString): workaround to fix a problem with
46985         allocating variables twice or never,
46986         * (genGenPointerGet): using PRODL instead of FSR0H,
46987         * (genGenPointerSet): using POSTDEC1 (that is a stack location)
46988         instead of FSR0H,
46989         * (genAssign): take advantage of the _G.resDirect flag,
46990         * (genCast): around line 11844, use mov2f instead of directly
46991         MOVFF'ing between operands to account for literal values,
46992         * src/pic16/genutils.c: some new debug functions for gpsim have been
46993         added,
46994         * src/pic16/glue.c (pic16_printIvalType): fixed bug that initialized
46995         float with integer part only,
46996         * src/pic16/main.c (_process_pragma): handle pragma udata access to
46997         place variables in access bank
46998         * device/lib/pic16/libsdcc/gptr/gptr*.c: using BRA instead of GOTO,
46999         updated sources to reflect recent changes in gen.c
47001 2004-10-06 Vangelis Rokas <vrokas AT otenet.gr>
47003         * device/lib/pic16/libsdcc/Makefile.rules: fixed bug concerning
47004         sources that searched for headers in installation path, now the
47005         device/include/pic16 is used,
47006         * src/pic16/glue.c (pic16glue),
47007         * src/pic16/pcode.c (pCode2str, genericPrint): don't print .file or
47008         .line directives if not in debug mode, this suppresses assembler's
47009         warnings for ignored directives
47011 2004-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
47013         * src/port.h: made reset_regparms prototype void parameter explicit.
47014         * src/SDCCsymt.c (processFuncArgs): removed argument "func".
47015         * src/mcs51/ralloc.c (packRegisters): new fix for bugs 898889 & 979599.
47016         * doc/sdccman.lyx: documented warning disabling and how to use
47017           printf_large to make it print floats.
47018         * device/include/stdbool.h: NEW
47019         * device/lib/_atof.c,
47020         * device/lib/_divuint.c,
47021         * device/lib/_divulong.c,
47022         * device/lib/expf.c,
47023         * device/lib/printf_large.c,
47024         * device/lib/sincosf.c,
47025         * device/lib/sincoshf.c: used stdbool.h, all compile with stack-auto now
47026         * device/lib/Makefile.in: added target for model-mcs51-reentrant to build
47027           a completely reentrant lib.
47029 2004-10-05 Vangelis Rokas <vrokas AT otenet.gr>
47031         * device/lib/pic16/libsdcc/gptr/gptr*.c: added return statements
47032         * device/include/pic16/stdio.h: fixed bug with colon
47034 2004-10-03 Vangelis Rokas <vrokas AT otenet.gr>
47036         * device/include/pic16/stdio.h,
47037         * device/include/pic16/stdlib.h,
47038         * device/include/pic16/math.h: NEW
47039         * device/lib/pic16/libsdcc/gptr/*.c (gptrget*, gptrput*): functions
47040         declared as _naked to reduce overhead
47041         * device/lib/Makefile.in (target port-specific-objects-pic16):
47042         changed * to *.* so to ignore the CVS directory,
47043         * src/pic16/gen.c (pic16_freeAsmop): added code to store result of
47044         stacked variables back in stack,
47045         * (genEndFunction): fixed bug reported by G.M. Gallant with stack
47046         corruption
47048 2004-10-01 Vangelis Rokas <vrokas AT otenet.gr>
47050         * .version: bumped version number to 2.4.5
47051         * support/Util/SDCCerr.h: added warning W_POSSBUG2.
47052         * support/Util/SDCCerr.c (messages structure): added entry for
47053         W_POSSBUG2
47055         Large cumulative patch for pic16 port and libraries.
47056         * device/include/pic16/sdcc-lib.h,
47057         * device/include/pic16/stdarg.h,
47058         * device/include/asm/pic16/features.h,
47059         * device/include/lib/pic16/libsdcc/gptr/{*.c, Makefile}: NEW,
47060         * device/include/pic16/float.h: changes reentrant keyword with
47061         _FS_REENTRANT, added prototype for __fsneq, included sdcc-lib.h
47062         * device/lib/pic16/libsdcc/Makefile: added target directory gptr,
47063         updated target build-libraries to include objects from gptr,
47064         * device/lib/pic16/libsdcc/{char,int,long}/*.c: added macro
47065         _IL_REENTRANT to all function headings, included sdcc-lib.h header,
47066         * device/lib/pic16/libsdcc/float/*.c: added macro _FS_REENTRANT to
47067         all function headings,
47068         * src/SDCCmain.c: added global parameter userIncDirsSet,
47069         * (parseCmdLine): when option -I is encountered add directory to
47070         userIncDirsSet too,
47071         * src/version.awk: added space between control and long,
47072         * src/pic16/NOTES: added some notes for the port,
47073         * src/pic16/gen.c: added prototype for mov2fp function,
47074         * (fReturnpic16[]): properly named return value registers,
47075         * (_G structure): added fields stackRegSet, fregsUsed, stack_lat,
47076         * (aopForSym): added code to handle symbols with onStack flag set,
47077         symbols onStack are allocated PTRSIZE bytes,
47078         * (aopFreeAsmop): handles special case where asmops are stack objects,
47079         * (aopGet, pic16_popGet): adde cod to handle new asmop AOP_STA,
47080         * (pic16_popGetTempReg, pic16_popGetTempRegCond, pic16_popReleaseTempReg):
47081         added argument lock to trace flaws in allocating temporary registers
47082         when developing port,
47083         * (pic16_popGetLit, pic16_popGetLit2): changed lit from unsigned to signed
47084         * (pic16_popRegFromString): reenabled allocating a direct register
47085         from string,
47086         * (assignResultValue): various beautifications,
47087         * fixed bug #1037717 (patch from R. Neider & D. Wrinkler) with mistaken
47088         referenced function argument,
47089         * (genIpush): reenabled to allow stacked arguments, handles only
47090         ic->parmPush iCodes,
47091         * (genCall, genPcall): major changes to allow for variable argument
47092         functions, fixed a bug with falsely restoring stack pointer after
47093         returning from call,
47094         * (genFunction): pending code for critical function,
47095         * (shiftR1Left2ResultSigned, shiftR1Left2Result, shiftL2Left2Result,
47096         * (shiftR2Left2Result, shiftLLong) applied patch #1032155 from R.Neider,
47097         * (genNearPointerGet): fixed bug with indirect reading, was always
47098         reading from INDF0
47099         * (genGenPointerGet, genGenPointerSet): rewrote to support generic
47100         pointers,
47101         * (genAddrOf): rewrote code to take address of a stacked function parameter
47102         * (genCast): fixed casting to generic pointer type,
47103         * src/pic16/gen.h: added AOP_STA,
47104         * (struct asmop): added field stk,
47105         * src/pic16/genarith.c (pic16_AopType): handle AOP_STA,
47106         * (pic16_genPlusIncr): changed emitSKPNZ to emitSKPNZ,
47107         * (pic16_genAddLit, pic16_genPlus): applied patch #1034042 by tecodev,
47108         * (pic16_genMinus): fixed bug #1035119 with patch submitted by tecodev,
47109         * src/pic16/genutils.c (pic16_genNot): removed symbol *tlbl,
47110         * src/pic16/glue.c (pic16_printGPPointerType): fixed to support new
47111         generic pointers,
47112         * src/pic16/main.c (_pic16_initPaths): ignores default SDCC include
47113         and library paths,
47114         * (pic16_port structure): generic pointer size is set to 3,
47115         * src/pic16/pcode.c (pic16_newpCodeOpLit): correctly print literal integer,
47116         * (insertBankSwitch): cast to (char *) to prevent 64bit CPUs'
47117         compiler warning,
47118         * src/pic16/ralloc.c (allocReg): prevent allocating register when
47119         operand is an iTemp,
47121 2004-09-24 Martin Helmling <mh AT octo-soft.de>
47123         * debugger/mcs51/cmd.c: set PC if a symbol at pc reg is set
47124         * debugger/mcs51/simi.c: addapt new syntax of s51
47126 2004-09-23 Vangelis Rokas <vrokas AT otenet.gr>
47128         * src/pic16/genutils.c (pic16_genNot): fixed bug #1032265,
47129         * src/pic16/pcode.c: commented out some calls to free() in order to
47130         fix bug #989576,
47132 2004-09-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47134         * src/SDCCicode.h,
47135         * src/SDCCicode.c (isiCodeInFunctionCall),
47136         * src/avr/ralloc.c (selectSpil),
47137         * src/pic/ralloc.c (selectSpil),
47138         * src/pic16/ralloc.c (selectSpil),
47139         * src/ds390/ralloc.c (selectSpil),
47140         * src/hc08/ralloc.c (selectSpil),
47141         * src/xa51/ralloc.c (selectSpil),
47142         * src/mcs51/ralloc.c (selectSpil): Don't use remainSpil to spill to the
47143         stack in the middle of a function call sequence (fixes bug #1020268)
47144         * src/SDCCicode.c (geniCodeJumpTable): fixed error in computing the
47145         costs associated with the minimum switch case.
47147 2004-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47149         * src/SDCC.lex: fixed bug #1030549
47151 2004-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47153         * src/SDCCcse.h (struct cseDef),
47154         * src/SDCCcse.c (cseBBlock, newCseDef, ifFromAddrTaken): purge CSEs
47155         over a function call if the CSE is derived from a symbol whose
47156         address has been taken (fixes bug #1029883)
47157         * support/regression/tests/bug-1029883: a new regression test for
47158         this bug
47160 2004-09-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47162         * src/hc08/gen.c (emitinline): fixed bug #1029778
47163         * src/SDCC.y (assignment_expr): fixed the grammer so that assignment
47164         to a cast object is no longer a syntax error ("fixes" bug #1030006,
47165         and starts toward RFE #905167)
47167 2004-09-17 Vangelis Rokas <vrokas AT otenet.gr>
47169         * src/pic16/gen.c (mov2f): New function to move an operand to
47170         another without considering if it is a literal or a register,
47171         * (pic16_sameRegs): don't check if they are both AOP_REG,
47172         * (AccRsh): removed andmask=0 lines,
47173         * (genLeftShift): duplicated to be improved in future versions,
47174         * src/pic16/main.c (_process_pragma): emit stack default size in hex,
47175         * src/pic16/pcode.c: added POC_INFSNZW, updated inverted_op fields
47176         in POC_INCFSZ, POC_INCFSZW, POC_INFSNZ,
47177         * (pic16initMnemonics): added initialization for POC_INFSNZW,
47178         * (insertBankSwitch): fixed inserting banksel directives algorithm
47179         for instructions that follow a skip instruction, this fixes a report
47180         for broken subtraction code generation,
47181         * src/pic16/ralloc.c (deassignLRs): do not free register if current
47182         iCode is a left op, just in case result and right share the same
47183         registers
47185 2004-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47187         * src/hc08/main.c,
47188         * src/hc08/gen.c (genJumpTable): more efficient jump table, supports
47189         preservation of HX
47190         * src/hc08/gen.c (pullRegs): fixed order of HX & XA pairs
47191         * src/mcs51/ralloc.c (packRegisters): removed the patch applied
47192         on 2004-09-12; it was buggy
47194 2004-09-15 Bernhard Held <bernhard AT bernhardheld.de>
47196         * src/SDCCsymt.h: removed RESULT_CHECK
47197         * src/SDCCast.c,
47198         * src/SDCCglue.c,
47199         * src/SDCCval.c,
47200         * src/pic/glue.c,
47201         * src/pic16/glue.c: replaced RESULT_CHECK with RESULT_TYPE_NONE
47203 2004-09-15 Vangelis Rokas <vrokas AT otenet.gr>
47205         * src/SDCCicode.c (piCode): applied patch from Raphael Neider,
47206         * src/pic16/device.c (pic16_assignConfigWordValues): wrong
47207         configuration values no more rejected by compiler, they are assigned
47208         to configuration registers with a warning message instead,
47209         * src/pic16/glue.c (pic16_emitConfigRegs): added +1 at top-limit of
47210         the for-loop so last conf register is emitted too,
47211         * (_pic16_initPaths): link library libsdcc.lib by default,
47212         * (_hasNativeMulFor): modified test for multiplication according to
47213         Raphael Neider's remarks. Integer multiplication is also done with
47214         support functions,
47215         * device/include/pic16/pic18fregs.h: corrected type error in while
47216         testing and including 18f6720 header file
47218 2004-09-14 Vangelis Rokas <vrokas AT otenet.gr>
47220         * src/pic16/device.h (pic16_options): removed field use_crt,
47221         * src/pic16/gen.c (genUnpackBits): added call to pic16_loadFSR0
47222         until an optimization to handle single bits is added,
47223         * (pic16_loadFSR0): moved before genUnpackBits,
47224         * (genAnd): some white lines removed,
47225         * src/pic16/main.c (_pic16_finaliseOptions): set omit_ivt and clear
47226         leave_reset flags in pic16_options when using crt modules,
47228 2004-09-12 Maarten Brock <sourceforge.brock AT dse.nl>
47230         * src/mcs51/ralloc.c (packRegisters): applied fix by Bernhard Held
47231           for bugs 898889 & 979599. Also used some safer print instructions.
47233 2004-09-12 Vangelis Rokas <vrokas AT otenet.gr>
47235         * src/pic16/device.h (pic16_options_t): added field use_crt,
47236         crt_name, no_crt,
47237         * src/pic16/genarith.c (pic16_genPlus): added an assert(0) line to
47238         catch a probable future bug,
47239         * src/pic16/gen.c: aopIdx function commented out,
47240         * (genAssign): commented out old code which used aopIdx,
47241         * src/pic16/glue.c (pic16glue): removed some legacy fragments of
47242         code, added if conditionals to take into account the --use-crt
47243         command line options,
47244         * src/pic16/main.c (pic16_optionsTable): added new command line
47245         options, --use-crt= and --no-crt,
47246         * (_pic16_linkEdit): now the proper crt object is added in the
47247         linker command line except than when --no-crt is specified,
47248         * src/pic16/pcode.c,
47249         * src/pic16/pcode.h: added some structures and functions for a new
47250         optimization scheme to compansate for instruction overhead between
47251         same iCodes, this scheme is currently under development and is not
47252         working in any way,
47253         * src/pic16/gen.c (genAnd): added patch provided by Aaron Collwell
47254         to && operator,
47255         * device/lib/pic16/startup/crt0i.c,
47256         * device/lib/pic16/startup/crt0iz.c: added global char variable
47257         __uflags to force the generation of an idata section
47259 2004-09-12 Bernhard Held <bernhard AT bernhardheld.de>
47261         * doc/Makefile,
47262         * doc/clean.mk: added support for easy creation of sdcc-doc.tar.bz2
47263         * doc/sdccman.lyx: updated sdcc version to 2.4.4
47265 2004-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47267         * doc/sdccman.lyx: fixed a problem with my new index entries (thanks
47268         Frieder) and clarified the default code optimization mode
47270 2004-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47272         * src/SDCC.lex (doPragma, process_pragma),
47273         * src/SDCCglobl.h (struct optimize): added pragmas "opt_code_speed",
47274         "opt_code_size", and "opt_code_balanced"
47275         * src/SDCCmain.c (optionsTable[], printOptions, scanOptionsTable):
47276         regrouped options by category, added support for category headers
47277         * src/SDCCmain.c (parseCmdLine): added options "--opt-code-speed"
47278         and "--opt-code-size"
47279         * doc/sdccman.lyx: documented these new options and pragmas
47280         * src/hc08/gen.c (AccLsh, AccRsh): take speed/size optimization
47281         preference into account
47283 2004-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
47285         * src/SDCCicode.c (geniCodePostInc, geniCodePreInc, geniCodePostDec,
47286           geniCodePreDec): Fixed bug 904237 by generating a warning
47287         * src/SDCCerr.h,
47288         * src/SDCCerr.c: added warning W_SIZEOF_VOID
47290 2004-09-09 Slade Rich <slade_rich AT users.sourceforge.net>
47292         * src/pic/device.c : When no max ram set validate full memory range.
47293         * src/pic/pcode.c,
47294         * src/pic/pcodepeep.c : Copy C code comments to optimised replacement code.
47296 2004-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
47298         * device/lib/_gptrget.c,
47299         * device/lib/_gptrput.c: updated comment
47300         * device/lib/calloc.c,
47301         * device/lib/free.c,
47302         * device/lib/malloc.c,
47303         * device/lib/realloc.c: added LGPL, made them reentrant-safe
47304         * src/SDCCcse.c (cseBBlock),
47305         * src/SDCCicode.c (printOperand, geniCodeArray),
47306         * src/SDCCicode.h (struct operand): fixed bug 868103
47307         * support/regression/tests/bug-868103.c: added
47308         * src/SDCCast.c (searchLitOp),
47309         * src/SDCCcse.h (struct cseDef),
47310         * src/SDCCglue.c (printIvalArray, spacesToUnderscores),
47311         * src/SDCCicode.h (struct operand),
47312         * src/SDCCsymt.h (struct sym_link),
47313         * src/avr/gen.c (hasInc),
47314         * src/ds390/gen.c (hasInc),
47315         * src/hc08/gen.c (genPlusIncr, hasInc),
47316         * src/mcs51/gen.c (hasInc),
47317         * src/pic16/glue.c (pic16_printIvalChar),
47318         * src/pic16/ralloc.c (regWithIdx),
47319         * src/xa51/gen.c (hasInc) : removed warnings
47320         * src/SDCCast.c (createBlock): added comment ???
47321         * src/hc08/ralloc.c: updated comments
47323 2004-09-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47325         * doc/sdccman.lyx: updated section on switch statements, added
47326         section about semaphore locking
47327         * doc/Makefile: added option -info for latex2html
47328         * device/lib/_gptrget.c,
47329         * device/lib/_gptrput.c: __XPAGE instead of P2 in outcommented code
47331 2004-09-06 Slade Rich <slade_rich AT users.sourceforge.net>
47333         * src/pic/device.h,
47334         * src/pic/device.c,
47335         * src/pic/port.c : Changed PIC14 code to not set bit RP1 when
47336          maxram is less than 0x100.
47338 2004-09-06 Slade Rich <slade_rich AT users.sourceforge.net>
47340         * Bug fixes for PIC14 - signed RSHIFT problem. Patch supplied by Allen(agschrum).
47342 2004-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47344         * src/port.h,
47345         * src/mcs51/main.c,
47346         * src/ds390/main.c,
47347         * src/z80/main.c,
47348         * src/hc08/main.c,
47349         * src/pic/main.c,
47350         * src/pic16/main.c,
47351         * src/avr/main.c,
47352         * src/xa51/main.c
47353         * src/SDCCicode.c (geniCodeJumpTable): Better logic to determine if a
47354         a jump table is the best form for a switch statement, including
47355         automatic insertion of missing cases to make the case range
47356         continuous. Developed in collaboration with Frieder Ferlemann.
47358 2004-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47360         * src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for
47361         accumulator result if it needs sign extension
47363 2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
47365         * src/hc08/ralloc.c (canUseAccOperand): fixed comparison bug
47367 2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
47369         * device/lib/gbz80/printf.c,
47370         * device/lib/z80/printf.c: removed define for NULL
47372 2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
47374         * as/xa51/xa_link.c,
47375         * device/examples/ds390/ow390/ad26.c,
47376         * device/examples/ds390/ow390/cnt1d.c,
47377         * device/examples/ds390/ow390/counter.c,
47378         * device/examples/ds390/ow390/ds2480.h,
47379         * device/examples/ds390/ow390/ds2480ut.c,
47380         * device/examples/ds390/ow390/findtype.c,
47381         * device/examples/ds390/ow390/gethumd.c,
47382         * device/examples/ds390/ow390/owllu.c,
47383         * device/examples/ds390/ow390/ownetu.c,
47384         * device/examples/ds390/ow390/swt12.c,
47385         * device/examples/ds390/ow390/swtloop.c,
47386         * device/examples/ds390/ow390/temp.c,
47387         * device/examples/ds390/ow390/temp10.c,
47388         * device/examples/ds390/ow390/thermo21.c,
47389         * device/examples/ds390/ow390/tinilnk.c,
47390         * device/examples/ds390/ow390/tstfind.c,
47391         * device/examples/serialcomm/windows/serial.cpp,
47392         * device/examples/serialcomm/windows/test_serialcomm.cpp,
47393         * device/include/reg51.h: fixed line endings for cvs
47395 2004-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47397         * src/hc08/ralloc.c (canDefAccResult, canUseAccOperand,
47398         packRegsForAccUse, packRegisters): new accumulator register
47399         packing algorithm
47400         * support/regression/ports/hc08/support.c (_putchar): suppress
47401         warning of unused variable
47402         * src/SDCCicode.c: added SWAP entry to codeTable
47404 2004-09-01 Maarten Brock <sourceforge.brock AT dse.nl>
47406         * device/lib/sprintf.c: forgot to add this file before previous commit
47408 2004-09-01 Vangelis Rokas <vrokas AT otenet.gr>
47410         * src/pic16/gen.c (genPackBits): added operand right in function
47411         parameters, load result directly if p_type is POINTER (that is
47412         called by genNearPointerSet)
47413         * (genUnPackBits): added operand left in function parameters,
47414         * (genNearPointerGet, genNearPointerSet): prevent the loading of
47415         FSR0 if accessing bitfields,
47417 2004-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
47419         * device/include/stdio.h: added NULL, size_t, typedef pfn_outputchar,
47420           _print_format; updated printf, sprintf, vsprintf
47421         * device/include/asm/default/features.h: corrected comment/define
47422         * device/lib/Makefile.in: added sprintf.c
47423         * device/lib/libsdcc.lib: added sprintf module
47424         * device/lib/printf_large.c,
47425         * device/lib/vprintf.c,
47426         * device/lib/sprintf.c: totally refactored printf_large and vprintf
47427           into these 3 files
47428         * support/regression/Makefile: changed ALL_PORTS into a usefull default
47429         * support/regression/ports/mcs51-stack-auto/spec.mk: added sprintf
47430         * support/regression/tests/bug-927659.c: removed dummy putchar, enabled
47431           hc08 test
47432         * support/regression/tests/zeropad.c: define idata as data for hc08
47434 2004-08-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47436         * src/SDCCpeeph.c (labelIsReturnOnly): support hc08 rts opcode also
47437         * src/SDCCpeeph.c (buildLabelRefCountHash): assume function entry point
47438         labels are referenced at least once (even if a reference is not found)
47439         * src/hc08/gen.c (emitcode): set isComment flag for comments
47440         * src/hc08/peeph.def: added rules 5a..5f (optimize redundant immediate
47441         loads), rules 6a..6b (optimize jumps to return)
47443 2004-08-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47445         * device/lib/acosf.c (acosf),
47446         * device/lib/asinf.c (asinf),
47447         * device/lib/atanf.c (atanf),
47448         * device/lib/ceilf.c (ceilf),
47449         * device/lib/cosf.c (cosf),
47450         * device/lib/coshf.c (coshf),
47451         * device/lib/cotf.c (cotf),
47452         * device/lib/fabsf.c (fabsf),
47453         * device/lib/floorf.c (floorf),
47454         * device/lib/log10f.c (log10f),
47455         * device/lib/logf.c (logf),
47456         * device/lib/sinf.c (sinf),
47457         * device/lib/sinhf.c (sinhf),
47458         * device/lib/sqrtf.c (sqrtf),
47459         * device/lib/tanf.c (tanf),
47460         * device/lib/tanhf.c (tanhf),
47461         * device/include/math.h: defined _FLOAT_FUNC_REENTRANT macro and
47462         replaced all instances of "reentrant" in the library functions
47463         defined in math.h with this macro.
47464         * support/regression/tests/float_trans.c: reenabled test for hc08
47466 2004-08-30 Bernhard Held <bernhard AT bernhardheld.de>
47468         * device/lib/pic16/Makefile.common.in: added MODELFLAGS again, it was
47469         erroneously deleted
47471 2004-08-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47473         * src/hc08/gen.c (loadRegFromAop): better use of clra & clrx
47474         * src/hc08/gen.c (genAnd, genOr): fixed bug with conditional when
47475         multi-byte volatile operands are used
47476         * src/hc08/gen.c (shiftRLong): fixed bug with wrong rotate direction
47477         * src/hc08/main.c (_hc08_genAssemblerPreamble): moved the built-in
47478         initialization to area GSINIT0 so that it would always precede
47479         any static initializers in GSINIT
47480         * support/regression/tests/zeropad.c: fixed idata define for hc08
47481         * support/regression/tests/bug-927659.c,
47482         * support/regression/tests/float_trans.c: disabled tests for hc08
47483         pending missing library routines
47484         * .version: increased version number to 2.4.4 - hc08 port now passes
47485         regression tests
47488 2004-08-29 Bernhard Held <bernhard AT bernhardheld.de>
47490         * device/lib/pic16/Makefile.common.in: added $(MM) to fix `make clean`
47491         * Makefile.common.in,
47492         * as/Makefile,
47493         * as/hc08/Makefile.in,
47494         * as/mcs51/Makefile.in,
47495         * as/z80/Makefile.in,
47496         * debugger/mcs51/Makefile.in,
47497         * device/include/Makefile.in,
47498         * device/lib/Makefile.in,
47499         * doc/Makefile,
47500         * link/Makefile,
47501         * link/z80/Makefile.in,
47502         * packihx/Makefile.in,
47503         * sim/ucsim/main_in.mk,
47504         * sim/ucsim/avr.src/Makefile.in,
47505         * sim/ucsim/doc/Makefile.in,
47506         * sim/ucsim/gui.src/serio.src/Makefile.in,
47507         * sim/ucsim/hc08.src/Makefile.in,
47508         * sim/ucsim/s51.src/Makefile.in,
47509         * sim/ucsim/xa.src/Makefile.in,
47510         * sim/ucsim/z80.src/Makefile.in,
47511         * src/Makefile.in,
47512         * support/cpp2/Makefile.in,
47513         * support/librarian/Makefile,
47514         * support/makebin/Makefile: added DESTDIR to the install path proposed
47515         by "Maciej 'Agaran' Pijanka" <agaran AT pld-linux.org>
47516         * doc/sdccman.lyx: added DESTDIR documentation
47518 2004-08-29 Vangelis Rokas (vrokas AT otenet.gr>
47520         * src/pic16/gen.c (genFunction, genEndFunction): fixed return
47521         instruction for interrupt handlers, use fast returns when returning
47522         from high priority interrupts
47524 2004-08-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47526         * src/hc08/gen.c (genAnd, genOr, transferAopAop, rmwWithAop): optimized
47527         code generation
47528         * src/hc08/gen.c (genrshFour, genCpl): fixed bugs
47529         * src/hc08/gen.c (genMultOneByte, genDivOneByte, genModOneByte): fixed
47530         bugs, ported much of Bernhard's code from mcs51
47531         * src/mcs51/gen.c (genSend),
47532         * src/hc08/gen.c (genSend): fixed bug with lost SEND iCodes if more
47533         than one when calling a reentrant function
47534         * device/lib/_mullong.c: defined an alternate struct layout for big
47535         endian ports (hc08)
47537 2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47539         * src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression
47540         test
47542 2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47544         * src/SDCCsymt.c (processFuncArgs): make sure parameter types
47545         are sane and complete before asking the port its prefered parameter
47546         passing method (fixes bug #1017633)
47547         * device/lib/hc08/_ret.c: added "data" storage class to _ret2
47548         and _ret3
47550 2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47552         * src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset
47553         problem in bitfields >= 8 bits.
47555 2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
47557         * src/SDCCsymt.c: undid changes that were not meant to be committed
47559 2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
47561         * support/regression/ports/hc08spec.mk: REENTRANT must be reentrant
47563 2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
47565         * src/hc08/gen.c (genUminusFloat): fixed bug where only 3 bytes were
47566           copied and wrong bit got inverted
47568 2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47570         * src/hc08/gen.c (genPointerSet, genFarPointerSet): moved code from
47571         genFarPointerSet into genPointerSet; eliminated genFarPointerSet
47572         * src/hc08/gen.c (genPointerGet, genFarPointerGet): moved code from
47573         genFarPointerGet into genPointerGet; eliminated genFarPointerGet
47574         * src/hc08/gen.c (genPackBitsImmed): generate optimized code for
47575         assignments to bitfields at known addresses
47576         * src/hc08/gen.c (genUnpackBitsImmed): generate optimized code for
47577         reads from bitfields at known addresses
47578         * src/hc08/ralloc.c (packRegisters),
47579         * src/hc08/gen.c (genPointerGet, genUnpackBits, genUnpackBitsImmed,
47580         genhc08Code): optimize pointer get values used as conditionals
47581         * src/hc08/peeph.def: added rules 2e & 2f to optimize bit test
47582         and branch
47584 2004-08-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47586         * src/mcs51/gen.c (genPointerGet, genNearPointerGet, genPagedPointerGet,
47587         genFarPointerGet, genCodePointerGet, genGenPointerGet, genUnpackBits),
47588         * src/mcs51/ralloc.c (packRegisters): optimize pointer get values used
47589         as conditionals
47591 2004-08-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47593         * src/mcs51/peeph.def: peepholes 248.i-m for xdata bitfields
47595 2004-08-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47597         * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #1012650 and some
47598         related problems
47600 2004-08-21 Bernhard Held <bernhard AT bernhardheld.de>
47602         * sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists
47604 2004-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47606         * src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the
47607         mcs51 port
47609 2004-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
47611         * src/pic/gen.c: Restored fn genRet as previous fix was incorrect.
47613 2004-08-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47615         * src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch
47616         cases use more compact code.
47618 2004-08-13 Slade Rich <slade_rich AT users.sourceforge.net>
47620         * src/pic/gen.c: Fixed problem with fn returning a variable bigger than a char.
47622 2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47624         * src/SDCClrange.c (findPrevUse): fixed bug #1007371
47626 2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47628         * src/SDCCsymt.h,
47629         * src/SDCCsymt.c (changePointer, checkDecl, addSymChain): changed
47630         parameter of changePointer() from symbol* to sym_link*
47631         * src/SDCCast.c (decorateType): call changePointer() for CAST op
47632         * src/SDCCsymt.c (compareType): void* type is castable to other
47633         pointers, but not necesarily an exact match.
47634         * src/SDCCicode.c (geniCodeCast): allow void* casting here since it
47635         is no longer blindly treated as an exact match.
47636         * src/SDCCval.c (valCastLiteral): treat missing type as cast to void
47638 2004-08-12 Slade Rich <slade_rich AT users.sourceforge.net>
47640         * src/pic/glue.c: Added struct initialisation fn printIvalStruct.
47642 2004-08-11 Slade Rich <slade_rich AT users.sourceforge.net>
47644         * src/pic/gen.c,
47645         * src/pic/pcode.c,
47646         * src/pic/ralloc.h,
47647         * src/pic/ralloc.c: Printing rIdx on internal verbose debug.
47649 2004-08-10 Slade Rich <slade_rich AT users.sourceforge.net>
47651         * src/pic/device.c,
47652         * src/pic/device.h,
47653         * src/pic/device.c: Will no longer exit if #pragma maxram has not been defined.
47655 2004-08-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47657         * src/mcs51/gen.c (emitcode): fixed bug #992819
47659 2004-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
47661         * src/pic/ralloc.c (deassignLR): allthough pic port is buggy already,
47662           there's no need to make it worse
47664 2004-08-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47666         * src/mcs51/ralloc.c (deassignLR),
47667         * src/ds390/ralloc.c (deassignLR),
47668         * src/hc08/ralloc.c (deassignLR),
47669         * src/z80/ralloc.c (deassignLR),
47670         * src/pic/ralloc.c (deassignLR),
47671         * src/pic16/ralloc.c (deassignLR),
47672         * src/avr/ralloc.c (deassignLR),
47673         * src/SDCClrange.c (findRecursiveSucc, findRecursivePred, findPrevUse,
47674         rlivePoint): fixed another part of bug #971834
47676 2004-08-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47678         * src/z80/main.c: enabled "critical" keyword
47679         * src/z80/mappings.i,
47680         * src/z80/gen.c (genFunction, genEndFunction): support for interrupt
47681         functions (fixes bug #979646)
47682         * doc/sdccman.lyx: added a subsection explaining z80 interrupt support
47684 2004-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
47686         * src/mcs51/gen.c (genInline): Add \n for labels, not DOS/WIN dirs
47687           such as c:\mydir.
47689 2004-08-03 Maarten Brock <sourceforge.brock AT dse.nl>
47691         * src/SDCCloop.c (loopInvariants): fixed bug 983545, hope this
47692           doesn't disable too much optimizations
47694 2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
47696         * src/pic/glue.c Disabled "WARNING: function 'main' undefined" when -S option is used.
47698 2004-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
47700         * src/SDCClrange.c (rlivePoint): fixed bug 988568, thanks to anonymous
47702 2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
47704         * src/pic/gen.c tidied up tabs
47705         * src/pic/genarith.c tidied up tabs and fixed bug with literal multiple where same register was used for hi and low byte
47706         * src/pic/main.c tidied up tabs
47707         * src/pic/pcode.c tidied up tabs and disabled verbose code generation
47708         * src/pic/pcoderegs.c tidied up tabs
47709         * src/pic/ralloc.c tidied up tabs
47711 2004-07-30 Vangelis Rokas <vrokas AT otenet.gr>
47713         * src/SDCCmem.c (allocGlobal): don't turn S_REGISTER storage class
47714         to S_FIXED for pic16 port and when symbol is not in level 0,
47715         allocate for S_REGISTER storage class and pic16 port, too,
47716         * src/pic16/device.h: prototype for checkSym,
47717         * src/pic16/device.c (pic16_dump_access, checkSym): NEW,
47718         * (pic16_assignConfigWordValue): test the value and the mask to
47719         validate that the value is suitable for the configuration word,
47720         * src/pic16/glue.c (pic16_printIvalFuncPtr): use 'externs' to
47721         collect extern declared symbols, don't emit symbol twice, check
47722         first if symbol is in publics set first,
47723         * src/pic16/main.c (_pic16_keywords[]): added keyword 'register',
47724         * added command line '--fstack' which enables an experimental
47725         feature for stack access, too buggy to be used yet...
47726         * src/pic16/ralloc.c (pic16_accessregWithName): NEW,
47727         * (pic16_allocDirReg): when register has storage class S_REGISTER
47728         allocate in pic16_dynAccessRegs,
47729         * device/include/pic16/pic18f????.h: modified configuration word
47730         naming convention, words started as CONFIG0H but should be CONFIG1H
47732 2004-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
47734         * device/include/mcs51reg.h: fixed bug 970993
47736 2004-07-27 Maarten Brock <sourceforge.brock AT dse.nl>
47738         * added lib/calloc.c, lib/free.c, lib/realloc.c, include/stddef.h
47739         * updated lib/malloc.c, lib/libsdcc.lib, lib/Makefile.in, include/malloc.h
47740         * src/SDCC.lex (doPragma): added pragma disable_warning <nnn>
47741         * src/SDCCmain.c (parseCmdLine): added option --disable-warning <nnn>
47742         * src/ds390/gen.c (genPlusIncr): fixed bug when incrementing generic pointers
47743         * support/Util/SDCCerr.c (vwerror): suppress disabled warnings and output
47744           error/warning numbers,
47745           added function setWarningDisabled()
47746         * support/Util/SDCCerr.h: added setWarningDisabled() and MAX_ERROR_WARNING
47747         * support/regression/ports/mcs51-stack-auto/spec.mk: added dependencies
47748           _memcmp.c _memmove.c calloc.c realloc.c free.c
47749         * support/regression/tests/malloc.c: added tests for new functionality
47750         * support/regression/tests/zeropad.c: added tests for truncated initializers
47751           and initialized char arrays starting with '\x0'
47752         * src/mcs51/peeph.def: fixed regression, added peephole 177.f
47754 2004-07-26 Bernhard Held <bernhard AT bernhardheld.de>
47756         * support/valdiag/tests/overflow.c: fixed warning on (1 >> 40)
47758 2004-07-26 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47760         * doc/sdccman.lyx: updated example in section "Absolute Addressing"
47761         * src/mcs51/peeph.def: added contributed fix for "bug" #995347 as
47762         peephole 177.e. Thanks to anonymous
47764 2004-07-25 Vangelis Rokas <vrokas AT otenet.gr>
47766         * src/pic16/glue.c (pic16_printIvalFuncPtr): when an extern
47767         function isn't used in the source but referenced as a
47768         variable initializer then declare it as extern in .asm file
47770 2004-07-24 Vangelis Rokas <vrokas AT otenet.gr>
47772         * .version: increased version number to 2.4.3
47774         Adding version extension according to ChangeLog CVS revision
47775         * src/Makefile.in (target all): added dependency 'version.h'
47776         * (rule version.h): added rule to create version.h from ChangeLog,
47777         * (rule dep): added dependency version.h,
47778         * src/version.awk: AWK script to create version.h
47779         * src/SDCCdwarf2.c (dwWriteModule),
47780         * src/SDCCglue.c (initialComments),
47781         * src/SDCCmain.c (printVersionInfo): modified to write after
47782         version string the version extension number,
47783         * src/SDCCutil.c: included "version.h"
47784         * (getBuildNumber): NEW, returns SDCC's ChangeLog minor revision
47785         number,
47786         * src/SDCCutil.h: added prototype for getBuildNumber
47788         * src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
47789         includeDirsSet, too,
47790         * src/SDCCsymt.c (checkSClass): don't emit error when a variable,
47791         const char [] is found in function prototype...
47793         * src/pic16/genarith.c (pic16_genUMult8XLit_8): optimization to omit
47794         moving to WREG with source is already in WREG,
47795         * src/pic16/gen.h: added AOP_FSR0 and AOP_FSR2 in enum,
47796         * src/pic16/gen.c (getFreePtr): updated to look for FSR0 and FSR2,
47797         * (aopForSym): stack'ed symbols are partially supported, added
47798         if-clause to support symbols in FARSPACE,
47799         * (sameRegs): added test for AOP_ACC to see if registers are same,
47800         * (pic16_freeAsmop): added case for AOP_FSR0 and AOP_FSR2,
47801         * (pic16_aopGet): added case for AOP_FSR0 and AOP_FSR2,
47802         * (pic16_popRegFromString): will not allocate a new register if it
47803         doesn't find one by name, bug may have introduced...
47804         * (pic16_popGet): added case for AOP_FSR0 and AOP_FSR2,
47805         * (genIpush): revived to use pic16 port's stack,
47806         * (genAddrOf): added incomplete case for stack'ed operand,
47807         * (genCast): optimized a pair of MOVFW,MOVWF to MOVFF
47808         * src/pic16/genutils.c (pic16_genNot): almot new vesrion for NOT,
47809         can handle multibyte operands,
47810         * src/pic16/glue.c (pic16_printIval*): some debug info added,
47811         * (pic16initialComments): added message for MPLAB compatibility
47812         mode enabled,
47813         * src/pic16/main.h: prototype for pic16_mplab_comp,
47814         * src/pic16/main.c (pic16_optionsTable): new option --mplab-comp,
47815         which enabled MPLAB compatibility mode (i.e. no #LINE/#FILE, BANKED)
47816         * (_pic16_linkEdit): NEW, handles link stage, transferred here
47817         because of increased complexity of procedure,
47818         * (_process_pragma): stack pragma changed to format 'stack pos len',
47819         emit symbol '_stack_end' to conform with gplink,
47820         * src/pic16/pcode.c (pic16_newpCodeOpBit): using pic16_regWithName
47821         to search for register,
47822         * (pic16_get_op, pic16_get_op2): added case for PO_W, PO_WREG and
47823         PO_GPR_REGISTER,
47824         * (pic16_pCode2str): when in MPLAB compatibility mode, comment out
47825         #LINE directives and replace 'B' with 'BANKED' in instruction opcodes
47826         * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
47827         case for PO_GPR_REGISTER,
47828         * (pic16_AnalyzeBanking): removed the old message for inc2h.pl, past
47829         dies, the new era is ahead !...
47830         * src/pic16/ralloc.c: added hash reposits pic16_dynAllocRegNames and
47831         pic16_dynInternalRegs,
47832         * (pic16_allocregWithName, pic16_procregWithName, pic16_regWithname): NEW,
47833         * (pic16_allocDirReg): minor optimizations and bug fixes,
47834         * (pic16_allocWithIdx): when searching pic16_dynProcessorRegs use fixed,
47836         * device/lib/pic16/startup/crt0*.c: extern definition of stack_end,
47837         load stack and frame pointer with address of 'stack_end' symbol
47839 2004-07-23 Vangelis Rokas <vrokas AT otenet.gr>
47841         * src/pic16/glue.c (pic16emitStaticSeg): fixed bug with files
47842         without source code but only variable initializers
47844 2004-07-20 Vangelis Rokas <vrokas AT otenet.gr>
47846         * src/pic16/glue.c (pic16emitRegularMap): unused functions marked as
47847         external are not declared as extern to reduce overhead while linking
47849 2004-07-20 Maarten Brock <sourceforge.brock AT dse.nl>
47851         * src/SDCCast.c (decorateType): removed buggy fix for bug #979599
47853 2004-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
47855         * src/SDCCglue.c (printIvalArray): fixed bug #984229, thanks to Phuah
47856           Yee Keat for the patch
47857         * src/SDCCast.c (decorateType): fixed bug #979599
47858         * src/ds390/gen.h: removed local fReturnSizeDS390
47859         * src/ds390/gen.c: made fReturnSizeDS390 signed short to remove a warning
47860         * src/ds390/gen.c (genAnd, genOr, genXor),
47861         * src/mcs51/gen.c (genAnd, genOr, genXor): generate better optimized code
47863 2004-07-04 Vangelis Rokas <vrokas AT otenet.gr>
47865         * src/SDCCmain.c (linkEdit): modifications only for pic16 port,
47866         add relFilesSet to $3, manipulate $2 to handle linking of object
47867         files without source files in command line,
47868         * device/include/pic16 (all headers): added ID location macros,
47869         * src/pic16/device.c (struct PIC16_device Pics16[]): added field
47870         entries for ID location bytes,
47871         * (pic16_assignIdByteValue): NEW,
47872         * src/pic16/device.h: new structures idRegInfo_t and idBytesInfo_t,
47873         added field dumpcalltree to pic16_options_t,
47874         * src/pic16/gen.c (genCmp): fixed bug case so a temporary register
47875         is used instead of pic16_Gstack_base_addr, check if (ifx) before
47876         emitting rFalseIfx label after check_carry label,
47877         * src/pic16/glue.c (PIC16_IS_IDLOC_ADDRESS, PIC16_IS_HWREG_ADDRESS,
47878         pic16_emitDIRegs), NEW
47879         * (pic16glue): dump .calltree file when option --calltree found,
47880         * src/pic16/main.c (OPTION _pic16_optionsTable): new option --calltree
47881         * (_pic16_genAssemblerPreamble): emit ID locations after
47882         configuration registers,
47883         * (pic16_linkCmd): modifications of the link command,
47884         * src/pic16/pcode.c (pic16_pciMOVFF): PCC_REGISTER replaces PCC_REGISTER2
47885         * (pic16_pCodeInitRegisters): don't init stack registers,
47886         * (pic16_findPrevInstruction): fixed bug,
47887         * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): fixed
47888         bug with immediate registers,
47889         * (buildCallTree): traces stack push and pop,
47890         * (pct2): dump also stack usage for each function,
47891         * src/pic16/ralloc.c (dynrIdx): registers names start from 0x00
47892         * (pic16_allocDirReg): various modifications,
47893         * (pic16_typeRegWithIdx): when searching pic16_dynProcessorRegs set
47894         fixed to 1,
47896 2004-07-02 Vangelis Rokas <vrokas AT otenet.gr>
47898         * src/pic16/pcode.c: removed buggy double colon
47900 2004-07-01 Borut Razem <borut.razem AT siol.net>
47902         * support/scripts/sdcc.nsi: added include/pic16 to setup
47904 2004-06-30 Vangelis Rokas <vrokas AT otenet.gr>
47906         * device/lib/Makefile.in: fixed bug in target objects-pic16,
47907         * device/lib/pic16/Makefile: prefixed with dash (-) command under
47908         target 'clean',
47909         * doc/sdccman.lyx: changed version to 2.4.2 and added some port
47910         specific command line arguments. Also added sample lkr script
47911         for placing a variable at a specific memory bank.
47912         * src/pic16/device.c (pic16_dump_gsection): NEW, to dump variables
47913         at a specific memory bank,
47914         * (pic16_dump_isection): fixed bug which caused string literals to
47915         be omitted when dumping idata section,
47916         * (pic16_groupRegistersInSection): added code to handle registers
47917         in specific memory banks,
47918         * src/pic16/gen.c: labelOffset is prefixed with pic16_ and made
47919         public, all references are renamed too,
47920         * (pic16_aopGet): removed switch cases for AOP_R0,AOP_R1,AOP_DPTR,
47921         AOP_DPTR2,
47922         * (pic16_storeForReturn): added case to handle when dest is WREG,
47923         * src/pic16/genarith.c (pic16_pCodeOpSubType): NEW,
47924         * src/pic16/glue.c (pic16emitRegularMap): when adding a register in
47925         pic16_rel_udata, check to see if that register is marked as being
47926         a member of a specific memory bank,
47927         * (pic16_printIvalCharPtr): added code to add string literals either
47928         to code or the idata sections,
47929         * src/pic16/main.c (_process_pragma): added \n to WHITE constant,
47930         also accept the 'udata' pragma,
47931         * src/pic16/main.h: new structure types sectName and sectSym
47932         * src/pic16/pcode.c: added new pCodeInstruction entry for BANKSEL
47933         * (newpCodeOpBit): added PIC_OPTYPE subt in function prototype,
47934         * (pic16_findPrevInstruction): fixed, it returned nothing,
47935         * (insertBankSwitch): fixed to emit banksel/skip and skip/banksel
47936         instruction combinations,
47937         * (pic16_FixRegisterBanking): heavily reorganised,
47938         * (pic16_AnalyzeBanking): if generating banksel directives is
47939         disabled, then don't call FixRegisterBanking at all,
47940         * src/pic16/ralloc.c (bitEQUs, aliasEQUs, allDefsOutOfRange):
47941         completely removed,
47942         * (pic16_writeUsedRegisters): added call to pic16_dump_gsection
47944 2004-06-29 Bernhard Held <bernhard AT bernhardheld.de>
47946         * src/SDCCglue.c (printChar): fixed bug #973350, patch provided by
47947         Phuah Yee Keat <yk.phuah AT nestac.com>
47949 2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
47951         * src/pic16/glue.c (pic16createInterruptVect): function now emits
47952         correctly the IVT even if it is relocated to some other location
47954 2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
47956         * device/include/pic16/pic18fregs.h: added case for pic18f2220.h
47957         * device/include/pic16/pic18f2220.h: NEW,
47958         * device/lib/pic16/libdev/pic18f2220.c: NEW,
47959         * device/lib/pic16/libdev/Makefile: added 18f2220 in DEVS,
47960         * src/pic16/device.c (struct Pics16): added info for 18f2220,
47961         * src/pic16/device.h (struct pic16_options): added ivt_loc and
47962         nodefaultlibs, ivt_loc is the location of the interrupt vector
47963         table, and nodefaultlibs signs that default libraries should not be
47964         linked in link stage,
47965         * src/pic16/gen.c (genFunction): relocate interrupt vector functions
47966         according to --ivt-loc argument,
47967         * src/pic16/main.c (_process_pragma): emit '_stack' as public symbol
47968         when pragma stack is found,
47970 2004-06-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47972         * src/mcs51/peeph.def: added peepholes 182.d (return 0.0),
47973         256 (range check), 257 (do while), 258.a-f (bit banging
47974         f.e. on 3-wire SPI bus)
47976 2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47978         * src/SDCClrange.c (findNextUseSym): fixed a live range bug with
47979         variables used exclusively within a loop
47981 2004-06-21 Bernhard Held <bernhard AT bernhardheld.de>
47983         * src/mcs51/gen.c (genCpl): quick fix for bug #974835
47985 2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47987         * src/SDCClrange.c (computeClash): fixed bug #971834
47989 2004-06-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47991         * src/mcs51/gen.c (genCmp): fixed bug #975903
47992         * src/hc08/gen.c (operandsEqu),
47993         * src/ds390/gen.c (operandsEqu),
47994         * src/z80/gen.c (operandsEqu),
47995         * src/pic/gen.c (operandsEqu),
47996         * src/pic16/gen.c (operandsEqu),
47997         * src/mcs51/gen.c (operandsEqu): fixed bug #976283
47998         * src/SDCCmain.c (parseCmdLine): report --unknown-option only once
48000 2004-06-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48002         * src/SDCCcse.c (cseBBlock): fixed bug #966963
48004 2004-06-12 Vangelis Rokas <vrokas AT otenet.gr>
48006         * src/pic16/gen.c (genPointerGet): added E_INTERNAL_ERROR for
48007         default case in switch statement,
48008         * glue.c (pic16_initPointer): expr is initialised via decoarteType
48009         to eliminate problem with initialisation of pointers, but problem
48010         still exists,
48011         * (pic16_pointerTypeToGPByte): removed, no needed for pic16,
48012         * (emitStaticSegment): removed various lines emitting debug info,
48013         * src/pic16/pcode.c, src/pic16/pcode.h, src/pic16/ralloc.h:
48014         added processor registers for utilizing EEPROM,
48015         * src/pic16/pcode.c (pic16_emitDB): number of DBs emitted is not
48016         configurable and set 8
48018 2004-06-08 Vangelis Rokas <vrokas AT otenet.gr>
48020         * .version: increased version number to 2.4.2,
48022         Cumulative patch for pic16 port
48023         * src/pic16/device.c: changed scheme to dump initial values for
48024         variables in idata segment, all print_idata* functions were removed,
48025         now the pic16_printIval* will be called,
48026         * src/pic16/glue.c: (pic16_initPointer, pic16_pointerTypeToGPByte,
48027         * _pic16_printPointerType, pic16_printPointerType,
48028         * pic16_printGPointerType, pic16_printIvalArray, pic16_printIvalStruct,
48029         * pic16_printIvalBitFields, pic16_printIvalFuncPtr, pic16_printIvalPtr:
48030         NEW, similar to the respective functions in SDCCglue.c,
48031         * src/pic16/pcode.c (pic16_emitDB, pic16_flushDB): reverted to old
48032         way, emitting hex bytes,
48033         * (pic16_emitDS): NEW, emits a string for pointer initialisation,
48035 2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48037         * src/avr/ralloc.c (serialRegAssign),
48038         * src/xa51/ralloc.c (serialRegAssign),
48039         * src/pic/ralloc.c (serialRegAssign),
48040         * src/pic16/ralloc.c (serialRegAssign),
48041         * src/hc08/ralloc.c (serialRegAssign),
48042         * src/z80/ralloc.c (serialRegAssign),
48043         * src/ds390/ralloc.c (serialRegAssign),
48044         * src/mcs51/ralloc.c (serialRegAssign): fixed bug #964479
48046 2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48048         * src/SDCCicode.c (geniCodeJumpTable): fixed bug #967601
48049         * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug #966505
48051 2004-06-07 Vangelis Rokas <vrokas AT otenet.gr>
48053         Cumulative patch for pic16 port:
48054         * src/pic16/device.h (typedef PIC16_device) modified fields for
48055         defining microcontrollers,
48056         * src/pic16/device.c: added new info for all devices in Pics16 array,
48057         * src/pic16/gen.c (genPcall): fixed bug that caused the return label
48058         to be optimised out by the pCode optimiser,
48059         * src/pic16/glue.c (pic16emitRegularMap): treat implicit aggragates
48060         specially, bug reported by G.M. Gallant,
48061         * src/pic16/pcode.c (pic16_newpCodeLabelFORCE): NEW, marks a label
48062         as force'd so that cannot be optimised out by pCode optimiser,
48063         * src/pic16/pcode.c,
48064         * src/pic16/pcodepeeph.c,
48065         * src/pic16/pcoderegs.c: many modifications to re-enable peepholes,
48066         they are disabled by default, but can be enabled explicit with
48067         command argument --denable-peeps, for testing,
48068         * device/lib/pic16/startup/Makefile: added --no-peep,--pomit-config-words,
48069         --pomit-ivt in COMPILE_FLAGS
48071 2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
48073         * src/pic16/pcode.c (pic16_emitDB): removed double semicolon which fails
48074           compilation on MSVC
48076 2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
48078         * device/include/sab80515.h: added sfr P6, changed GPL to LGPL
48080 2004-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48082         device/include/sab80515.h: fixed bug #967492, DAPR is defined at adress
48083         0xd8, but the correct adress is 0xda. Thanks to anonymous for reporting
48085 2004-06-06 Vangelis Rokas <vrokas AT otenet.gr>
48087         * src/pic16/device.c (pic16_assignConfigWord): fixed bug that
48088         would only assign 0x300001 register.
48090 2004-06-05 Vangelis Rokas <vrokas AT otenet.gr>
48092         * device/lib/pic16/startup/Makefile: added $(MODELFLAGS)
48093         in COMPILE_FLAGS. Thanks to G. Gallant for report.
48095 2004-06-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48097         * doc/sdccman.lyx: minor changes, mentioned beta vendor support
48098         for ds80c400
48099         * src/mcs51/peeph.def: ran unexpand -a over peeph.def
48100         * src/mcs51/peeph.def: removed obsolete peephole 100.a,
48101         added peephole 254 (left shift), 255 (jump table)
48103 2004-06-04 Vangelis Rokas <vrokas AT otenet.gr>
48105         * device/lib/Makefile.in: removed comment line with model-pic16,
48106         * (target port-specific-objects-pic16): the libraries and objects
48107         are copied to the build directory form the device/lib/pic16/bin
48108         directory
48110         Cumulative patch concerning pic16 port:
48111         * library directory has been re-organized,
48112         * added support for PIC18F1220,
48113         * added headers and library sources for chips 18f1220,18f6520,
48114         18f6620,18f6680,18f6720,18f8520,18f8620,18f8680,18f8720
48116         * configuration registers setting has changed, now each supported
48117         device has a complete description of the registers it uses,
48118         * all initialisations are moved to idata sections, these section
48119         can be absolute or relocatable,
48120         * fixed initialisation of codespace variables,
48121         * fixed warning about PCLATU and gpsim,
48122         * src/pic16/gen.c (genCmp): now can handle partially iCodes with no ifx,
48123         * (genAssign): use table reads when assigning from variables in codespace,
48124         * src/pic16/glue.c (pic16emitStaticSeg): fixed to correctly initialise
48125         char/int variables placed in codespace,
48126         * (pic16_emitConfigRegs): NEW, emits a list with configuration
48127         registers set in .asm file, no need for --pomit-config-words anymore,
48128         * (pic16glue): some 8051 legacy segments are commented out
48129         (to be removed completely),
48130         * added support for alternative assembler and linker with --asm=
48131         and --link= command line arguments,
48132         * peepholes are disabled automatically in the port, no need to
48133         specify on command line,
48134         * port supports natively char/int/long multiplication, but converts
48135         all divisions to support functions,
48136         * main.c: pic16_linkCmd and pic16_asmCmd changed to force output
48137         to the file set in variable $2,
48138         * pcode.c (pic16_emitDB, pic16_flushDB): modified to print printable
48139         strings in ASCII format and not in hex,
48140         * ralloc.c (serialRegAssign): added a triplet of conditional calls
48141         to pic16_allocDirReg for IC_RESULT, IC_LEFT and IC_RIGHT so to
48142         allocate proper register if iCodes aren't temporary,
48144 2004-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
48146         * support/regression/tests/zeropad.c: added TEST_G macro for alpha
48148 2004-06-02 Vangelis Rokas <vrokas AT otenet.gr>
48150         * src/pic16/gen.c (genPcall): warning about gpsim and PCLATU
48151         is commented out
48153 2004-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48155         * src/hc08/gen.c (genPointerGetSetOfs): disabled optimization if
48156         computed address is reused
48157         * src/hc08/gen.c (genPackBits): fixed offsets in assignments to
48158         multi-byte bitfields
48160 2004-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
48162         * src/z80/gen.c: (genArrayInit): must check for pointers too
48164 2004-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
48166         * support/regression/tests/zeropad.c: never meant to commit the
48167           nestedstruct test: removed, added check for GCC version
48169 2004-05-31 Maarten Brock <sourceforge.brock AT dse.nl>
48171         * src/SDCCast.c (createIvalArray): fixed bug 770487 SIGSEGV
48172         * src/SDCCglue.c (emitRegularMap): fixed bug 770484 allocation problem
48173         * src/SDCCglue.c (initPointer, printIvalType, printIvalStruct,
48174           printIvalArray, printIvalFuncPtr, printIvalPtr, printIval): fixed
48175           bugs 928906 and 954082 half-empty initializers
48176         * src/SDCCsymt.h,
48177         * src/SDCCsymt.c (getAllocSize): added for above fix
48178         * src/z80/gen.c (genArrayInit): fixed bug 741044
48179         * support/regression/tests/zeropad.c: added tests
48181 2004-05-30 Vangelis Rokas <vrokas AT otenet.gr>
48183         * src/pic16/device.c (pic16_dump_section): corrected bug which
48184         caused some symbols of the libraries to be misplaced
48186 2004-05-28 Vangelis Rokas <vrokas AT otenet.gr>
48188         * src/pic16/glue.c,
48189         * src/pic16/ralloc.h,
48190         * src/pic16/ralloc.cc: prefixed IS_CONFIG_ADDRESS with PIC16_
48191         to fix conflict with pic port
48193 2004-05-28 Vangelis Rokas <vrokas AT otenet.gr>
48195         * src/pic16/glue.c (pic16emitStaticSeg): do not print as publics or
48196         externs configuration variables,
48197         * src/pic16/ralloc.h,
48198         * src/pic16/ralloc.cc: IS_CONFIG_ADDRESS is made public and added
48199         prototype in header, commented out some debug messages
48201 2004-05-26 Vangelis Rokas <vrokas AT otenet.gr>
48203         * src/pic16/glue.c,
48204         * src/pic16/main.c,
48205         * src/pic16/pcode.c: added gpasm directives #FILE/#LINE
48206         for gpasm COFF object generation. Thanks to D. Hawkins for
48207         his patch info
48209 2004-05-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48211         * src/ds390/main.c,
48212         * src/mcs51/main.c: fixed sort order of mnemonics (thanks to Maarten
48213         Brock for spotting this)
48214         * src/ds390/gen.c (genEndFunction),
48215         * src/mcs51/gen.c (genEndFunction): always save psw if function is an
48216         interrupt handler and critical. Disable push/pop optimizations when
48217         peephole optimizations disabled.
48219 2004-05-25 Vangelis Rokas <vrokas AT otenet.gr>
48221         Updated pic16 library sources and headers.
48222         * device/lib/pic16/pic18f*/ ,
48223         * device/include/pic16/*.h: modified to handle structured SFR
48224         definitions
48226 2004-05-25 Vangelis Rokas <vrokas AT otenet.gr>
48228         * src/port.h (PORT structure): added hook initPaths, now each
48229         port can declare its own default search paths,
48230         which can been seen with the --print-search-dirs option,
48231         see pic16 port for example,
48232         * src/SDCCmain.c (setBinPaths, setIncludePaths, setLibPath,
48233         setDataPaths): test to options.printSearchDirs is ifdef'ed out,
48234         * (doPrintSearchDirs): NEW, replaces in a central manner the
48235         printing of search dirs which was split in set*Paths functions,
48236         * (main): added call to port->initPaths and doPrintSearchDirs,
48237         * src/avr/main.c,
48238         * src/ds390/main.c,
48239         * src/hc08/main.c,
48240         * src/izt/i186.c,
48241         * src/izt/tlcs900h.c,
48242         * src/mcs51/main.c,
48243         * src/pic/main.c,
48244         * src/pic16/main.c: modified port structures to reflect addition of
48245         initPaths hook,
48247         * src/pic16/device.c (regCompare): registers are finally sorted by name,
48248         * (pic16_dump_section): for registers in same address reserve memory once,
48249         * src/pic16/device.h (struct PIC16_device): changed variable gen_banksel
48250         to no_banksel,
48251         * src/pic16/genarith.c (pic16_genPlus): added code to handle cases where
48252         result is greater in size than right or left,
48253         * (pic16_genUMult8X8_8): there are some cases where the result can
48254         be 16 bits size, so handle these,
48255         * src/pic16/gen.c: changed some pic16_emitpcomment to DEBUGpic16_emitcode,
48256         * (pic16_outBitC): modified to emit pcodes,
48257         * (pic16_storeForReturn): using is_LitOp to see if operand is literal
48258         or not,
48259         * (genDivOneByte): implemented algorithm to divide 8-bits,
48260         * (genCmp): uncommented goto, but issues still exist,
48261         * (genAnd): fixed a bug with variables >8bits,
48262         * (genPackBits): optimization added that uses BCF/BSF to change a
48263         single bit,
48264         * (genAssign): fixed bug when assigning floating point literals,
48265         * src/pic16/glue.c (pic16glue): added assembler directive 'code' before
48266         __sdcc_gsinit_startup label,
48267         * src/pic16/main.c (_pic16_init): removed search directory
48268         initialisations,
48269         * (_pic16_initPaths): NEW, used to initialise search directories,
48270         * (_hasNativeMulFor): support functions for all except char/int
48271         multiplication, and char division,
48272         * (PIC16_port struct): modified entry for native mul support,
48273         * src/pic16/pcode.c (insertBankSwitch): modified to support the renamed
48274         no_banksel option,
48275         * (buildCallTree): call to register_usage is ifdef'ed out,
48277 2004-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48279         * device/include/string.h: applied Stas Sergeev's patch to make this
48280         header file compatible with the preprocessor -Wundef option
48281         * src/SDCCmain.c (main): abort compilation if preprocessor reports
48282         failure (fixes bug #941458)
48284 2004-05-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48286         * src/SDCCopt.c (killDeadCode): fixed bug #907733
48287         * support/Util/SDCCerr.c: reworded E_AUTO_ASSUMED diagnostic to clarify
48288         that the variable, not the function, should be static
48289         * src/SDCCval.c (valCastLiteral): fixed bit initialization from literal
48290         to be consistent with non-literal case
48292 2004-05-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48294         * src/SDCCast.c (isConformingBody): fixed bug #949967
48295         * src/SDCCopt.c (cnvToFcall, cnvToFloatCast, cnvFromFloatCast,
48296         convilong): fixed bug #952086
48298 2004-05-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48300         * src/SDCCmem.c (allocVariables): fixed bug #955321
48302 2004-05-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48304         * src/hc08/main.c (_hc08_genAssemblerEnd),
48305         * src/SDCCdwarf2.c (dwOpenFile, dwCloseFile, dwWriteFunction,
48306         dwWriteModule, dwWriteCLine, dwWriteALine, dwarf2FinalizeFile):
48307         completely eliminated the use of a temporary file
48308         * src/SDCCdwarf2.c (dwWriteAttr): fixed bug with location list offset
48309         when more than one file linked
48310         * src/SDCCloop.c (pointerAssigned): fixed bug #954163
48312 2004-05-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48314         * src/SDCCval.c (valForArray): applied Maarten Brock's patch #947682
48315         which fixes bug #543481
48316         * support/regression/tests/bug-751703.c: fixed comments left from a
48317         cut and paste error
48318         * src/SDCCdwarf2.c (dwCloseFile): don't explicitly close a temp file
48319         * src/SDCCdwarf2.c (dwTagFromType): added bitfield support
48320         * src/SDCCdwarf2.c (dwWriteSymbolInternal): handle extern within local
48321         scopes
48322         * src/SDCCdwarf2.c (dwWriteLineNumber): line number deltas are signed
48323         * src/SDCCmain.c (processFile, parseCmdLine): non-alphanumeric chars
48324         are now changed to underscores in moduleName
48326 2004-05-15 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48328         * as/mcs51/lkmem.c: better fix for bug #954173
48330 2004-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
48331         committed by Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48333         * device/include/c8051f020.h: newly added SiLabs (Cygnal) header file
48334         * device/include/c8051f000.h,
48335         * device/include/c8051f120.h,
48336         * device/include/c8051f300.h,
48337         * device/include/c8051f310.h,
48338         * device/include/c8051f320.h: updated (added _XPAGE, CAPN, CAPP,
48339         PWM16) and detab'ed
48341 2004-05-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48343         * doc/sdccman.lyx: mentioned sourceforge's delay between web frontend
48344         and mailing lists, doc'ed --no-peep-comments, removed reference
48345         to knoppix (newest version has no LyX/LaTeX), other minor changes
48346         * src/SDCCglue.c (glue): save 2 bytes stack space with
48347         option --main-return. The ljmp could probably be avoided too
48349 2004-05-14 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48351         * as/mcs51/lkmem.c, as/mcs51/lkaomf51: fixed bug 954173
48353 2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48355         * src/SDCCsymt.h: added IS_AUTO(symbol) test macro
48356         * src/SDCCopt.c (isLocalWithoutDef),
48357         * src/SDCCicode.c (operandFromSymbol): use the IS_AUTO test macro
48358         which adds a !IS_EXTERN codition. Fixes bugs #877426 and #751703.
48359         (credit to Maarten Brock for patch #949363, on which this is based)
48360         * support/regression/tests/bug-751703.c: some test cases of extern used
48361         within inner scopes.
48363 2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48365         * src/SDCCdwarf2.c (dwMatchTypes): structs must have matching
48366         SPEC_STRUCT
48367         * src/SDCCdwarf2.c (dwTagFromType): fix to handle recursive
48368         struct definitions
48369         * src/SDCCdwarf2.c (dwWriteModule, dwNewDebugSymbol, dwWriteEndFunction,
48370         dwWriteLabel): fix to create valid debugger symbols even when
48371         the module name has non-alphanumeric symbols in it
48372         * src/SDCCdwarf2.c (dwWriteSymbolInternal): better detection for
48373         when a variable's allocation has been optimized away
48376 2004-05-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48378         * src/hc08/gen.c (hc08_emitDebuggerSymbol),
48379         * src/hc08/main.c,
48380         * src/mcs51/gen.c (mcs51_emitDebuggerSymbol),
48381         * src/mcs51/main.c,
48382         * src/ds390/gen.c (ds390_emitDebuggerSymbol),
48383         * src/ds390/main.c,
48384         * src/z80/gen.c (z80_emitDebuggerSymbol),
48385         * src/z80/main.c,
48386         * src/pic/gen.c (pic14_emitDebuggerSymbol),
48387         * src/pic/main.c,
48388         * src/pic16/gen.c (pic14_emitDebuggerSymbol),
48389         * src/pic16/main.c,
48390         * src/avr/gen.c (avr_emitDebuggerSymbol),
48391         * src/avr/main.c,
48392         * src/xa51/gen.c (xa51_emitDebuggerSymbol),
48393         * src/xa51/main.c,
48394         * src/SDCCdebug.c (emitDebuggerSymbol),
48395         * src/SDCCdebug.h,
48396         * src/port.h: added a debugger struct to the port struct. Added a
48397         callback for defining debugger symbols
48399         * src/SDCCast.c (createLabel),
48400         * src/SDCC.y (labeled_statement): mark all compiler generated labels
48401         with isitmp = 1
48402         * src/SDCCicode.h,
48403         * src/SDCCicode.c (geniCodeFunctionBody): added a link from the FUNCTION
48404         iCode back to the ast for the function
48406         * src/hc08/ralloc.c (hc08_assignRegisters),
48407         * src/hc08/ralloc.h: define a regs struct for the stack pointer. Removed
48408         unneeded fields from the regs struct.
48409         * src/hc08/gen.c (transferRegReg, genFunction, genEndFunction): use the
48410         pushReg() & pullReg() functions instead of emitcode()
48412         * src/hc08/gen.c (genLabel, genhc08Code),
48413         * src/SDCCdebug.h: Added additional debugger hooks needed for DWARF
48415         * src/cdbFile.c (cdbWriteLabel, cdbWriteScope): Added stubs for unneeded
48416         debugger hooks
48418         * src/hc08/gen.c (genEndFunction, genhc08Code),
48419         * src/hc08/gen.h,
48420         * src/mcs51/gen.c (genEndFunction, gen51Code),
48421         * src/mcs51/gen.h,
48422         * src/ds390/gen.c (genEndFunction, gen390Code),
48423         * src/ds390/gen.h,
48424         * src/z80/gen.c (genEndFunction, genZ80Code),
48425         * src/z80/gen.h,
48426         * src/z80/z80.h,
48427         * src/pic/gen.c (genEndFunction, genpic14Code),
48428         * src/pic/gen.h,
48429         * src/pic16/gen.c (genEndFunction, genpic16Code),
48430         * src/pic16/gen.h,
48431         * src/avr/gen.c (genEndFunction, genAVRCode),
48432         * src/avr/gen.h,
48433         * src/xa51/gen.c (genEndFunction, genXA51Code),
48434         * src/xa51/gen.h,
48435         * src/cdbFile.c (cdbWriteFunction, cdbWriteEndFunction): moved cdb
48436         specific code to cdbFile.c and out of the backend code generators
48438         * as/hc08/lkmain.c (main): removed OMF51 support from link-hc08
48439         * as/hc08/lkarea.c (lnkarea): areas with NOLOAD attribute default
48440         starting address is now 0
48442         * as/hc08/asm.h,
48443         * as/hc08/m08pst.c,
48444         * as/hc08/asmain.c (asmbl): implemented the .sleb128 and .uleb128
48445         assembler directive for DWARF support
48446         * as/hc08/lkelf.c (elf): only increment address when rtflg[] set
48448         * src/src.dsp,
48449         * src/Makefile.in,
48450         * src/SDCCdwarf2.c: preliminary DWARF (ver 2) debugger data generator
48452 2004-05-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48454         * src/hc08/gen.c (genJumpTab, emitcode, genhc08code): fixed stack error
48455         and inappropriate peephole optimization in jump tables
48457 2004-04-30 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48459         * as/hc08/m08pst.c,
48460         * src/SDCCglue.c: sdccopt works for the hc08 port now
48462 2004-04-27 Bernhard Held <bernhard AT bernhardheld.de>
48464         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): fixed bug #942130
48466 2004-04-27 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48468         * as/hc08/lkelf.c: sdccconf.h is not available in WIN32
48470 2004-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48472         * src/SDCCpeeph.c (replaceRule): support empty replacement peephole
48473         rules
48474         * src/SDCCmain.c,
48475         * src/SDCCglobl.h,
48476         * src/SDCCpeeph.c (getPeepLine): new option --no-peep-comments omits
48477         comments from the peephole optimizer replacement rules
48478         * src/SDCCmem.c (printAllocInfoSeg): give actual location of spilled
48479         symbols
48480         * src/SDCCcse.c (updateSpillLocation),
48481         * src/SDCCopt.c (killDeadCode, findReqv): better tracking of register
48482         equivalents
48483         * src/hc08/ralloc.c (regTypeNum): pseudo symbols must be in DATA only
48484         * src/hc08/main.c (_hc08_finaliseOptions): made pointers to stack
48485         objects far pointers
48487 2004-04-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48489         * src/SDCCsymt.h: a missing part of my last change
48490         * src/pic/ralloc.c (regTypeNum),
48491         * src/pic16/ralloc.c (regTypeNum): fixed statement/declaration order
48493 2004-04-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48495         * src/SDCCicode.h,
48496         * src/SDCCicode.c (aggrToPtrDclType),
48497         * src/SDCCptropt.h,
48498         * src/SDCCptropt.c (ptrBaseRematSym, ptrPseudoSymSafe,
48499         ptrPseudoSymConvert),
48500         * src/pic/ralloc.c (regTypeNum),
48501         * src/pic16/ralloc.c (regTypeNum),
48502         * src/hc08/ralloc.c (regTypeNum),
48503         * src/ds390/ralloc.c (regTypeNum),
48504         * src/mcs51/ralloc.c (regTypeNum): check for dependancy hazards before
48505         creating pseudo symbols (fixed bugs #777768, #930484, and #933966)
48507 2004-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48509         * link/z80/lkmain.c (afile),
48510         * as/hc08/lkmain.c (afile),
48511         * as/mcs51/lkmain.c (afile): fix suggested by Maarten Brock to
48512         prevent a pointer problem when a filename has no directory and
48513         no extension specified.
48515 2004-04-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48517         * link/z80/lkmain.c (afile): allow periods in directory names
48518         * link/z80/lkmain.c (afile),
48519         * as/mcs51/lkmain.c (afile),
48520         * as/hc08/lkmain.c (afile): allow linker script file to have an
48521         extension other than ".lnk"
48522         * link/z80/lklex.c (getfid),
48523         * link/z80/lkmain.c (parse),
48524         * as/mcs51/lklex.c (getfid),
48525         * as/mcs51/lkmain.c (parse),
48526         * as/hc08/lklex.c (getfid),
48527         * as/hc08/lkmain.c (parse): Support comments in the linker script
48528         file on lines by themselves and after filenames
48530 2004-04-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48532         * as/link_hc08.dsp: Added as/hc08/lkelf.c to project.
48534 2004-04-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48536         * src/z80/peeph-z80.def: removed some peephole rules that don't
48537         work with multibyte arithmetic (fixed bug #937126)
48538         * src/mcs51/peeph.def: fixed peephole rules 150-158 to apply only
48539         to registers and not global variables
48540         * src/SDCCicode.c (geniCodeAssign, ast2iCode, geniCodePostInc,
48541         geniCodePreInc, geniCodePostDec, geniCodePreDec,
48542         geniCodeLogicAndOr, geniCodeConditional): enforce strict lvalue
48543         checking for assignments not internally generated (fixed bug #931895)
48544         * src/SDCC.y (postfix_expr): ignore typedefs when looking for a
48545         structure member (fixed bug #930072)
48547 2004-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48549         * src/SDCCmain.c (linkEdit),
48550         * src/hc08/main.c (_hc08_parseOptions),
48551         * as/hc08/Makefile.in,
48552         * as/hc08/aslink.h,
48553         * as/hc08/asm.h,
48554         * as/hc08/m08pst.c,
48555         * as/hc08/lkrloc.c (relr, rele),
48556         * as/hc08/lkarea.c (lnkarea)
48557         * as/hc08/lkmain.c (afile, parse),
48558         * as/hc08/lkelf.c: support for ELF output
48559         * as/hc08/lks19.c (s19),
48560         * as/hc08/lkihx.c (ihx): ignore areas with the NOLOAD attribute
48562 2004-04-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48564         * as/mcs51/lkihx.c: Fixed bug #899105.
48566 2004-04-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48568         * doc/sdccman.lyx: Added instructons on how to convert MSVC .dsw and
48569         .dsp files from Unix to DOS.
48571 2004-04-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48573         * doc/sdccman.lyx: removed the ANSI-C noncompliance note regarding
48574         function pointers; we have been compliant for several months now.
48575         * src/mcs51/ralloc.c (serialRegAssign): enabled part of my 2004-04-13
48576         change that was accidently commented out
48577         * src/mcs51/gen.c (freeAsmop, getFreePtr, freeForBranchAsmop, genIfxJump,
48578         genCmpEq, jmpTrueOrFalse, genCmp, genAnd, genOr, genXor, genIfx): fixed
48579         bug #922319
48581 2004-04-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48583         * src/hc08/gen.c: output of all of the internal debugging information
48584         is now controlled by the D() macro; it is disabled by default
48586 2004-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48588         * src/mcs51/ralloc.c (serialRegAssign, fillGaps, allocThisReg): try
48589         harder to keep the same registers during a CAST iCode
48590         * src/SDCCopt.c (optimizeCastCast, eBBlockFromiCode): casts of char to
48591         long via int can be done in a single cast, if the signedness is
48592         correct.
48593         * support/regression/tests/bug-927659.c: fixed to avoid conflict with
48594         putchar() in tinibios.c in ds390's library
48596 2004-04-12 Bernhard Held <bernhard AT bernhardheld.de>
48598         * src/SDCCast.c (decorateType): fixed bug #898889,
48599         cast result of a literal complement too
48600         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #930931,
48601         fixed check for bitfields
48603 2004-04-11 Bernhard Held <bernhard AT bernhardheld.de>
48605         * src/SDCCicode.c (geniCodeLogic): made it static,
48606         (geniCodeLogicAndOr): added in order to fix bug #905492,
48607         (ast2iCode): fixed bug #905492
48608         * support/regression/tests/bug-905492.c: added
48609         * src/SDCCast.c (decorateType): don't decorate/process parms twice,
48610         (processParms): fixed bug #927659: don't copy parms, this will clear
48611         decorated flag
48612         * support/regression/tests/bug-927659.c: added
48614 2004-03-29 Bernhard Held <bernhard AT bernhardheld.de>
48616         * src/SDCCast.c (addCast): don't cast float to char
48617         * device/lib/libsdcc.lib: added _memmove
48619 2004-03-28 Bernhard Held <bernhard AT bernhardheld.de>
48621         * device/lib/large/Makefile: fixed parallel execution by
48622         replacing `make` by `$(MAKE)`
48624 2004-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48626         * src/hc08/gen.c (genPointerGetSetOfs): correctly handle 1 byte array
48627         offsets (fixes bug #923936)
48629 2004-03-26 Bernhard Held <bernhard AT bernhardheld.de>
48631         * device/lib/small/Makefile: fixed parallel execution by
48632         replacing `make` by `$(MAKE)`
48634 2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
48636         * device/lib/vprintf.c (vsprintf): minor optimization, see bug #801101
48638 2004-03-23  Scott Dattalo  <scott AT dattalo.com>
48640         * src/pic/gen.c (genCpl): multi-byte complements were not working.
48641         * src/regression/Makefile: Regression test was not running.
48643 2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
48645         * src/SDCCast.c (resultTypePropagate, decorateType): avoid promotion to int for
48646         complement if possible
48647         * src/SDCCval.c (valComplement),
48648         * src/SDCCicode.c (operandOperation): fixed complement of literal
48649         * support/regression/tests/onebyte.c (testComplement): added
48651 2004-03-22 Bernhard Held <bernhard AT bernhardheld.de>
48653         * src/SDCCast.c (processParms): fixed bug #920866; decorateType() can
48654         return an optimized tree; actually replace actParm with the new tree
48655         * src/SDCCast.h: added some parantheses to remove side effects
48656         * support/regression/tests/bug-920866.c
48658 2004-03-21  Scott Dattalo  <scott AT dattalo.com>
48659         * src/pic/gen.c, src/pic/gen.h, src/pic/genarith.c, src/pic/pcode.c:
48660         Bit operands were not being handled properly in the pic14 port.
48661         (now src/regression/add.c passes again).
48663 2004-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48665         * src/SDCC.y (labeled_statement): case and default no longer require
48666         a following statement (RFE #893037)
48668 2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48670         * src/mcs51/gen.c (pushSide, genSignedRightShift, genDjnz, geniPush):
48671         use MOVA macro to avoid "mov a,acc" when peephole optimizer is
48672         disabled (fixes bug #916294)
48673         * sim/ucsim/s51.src/mov.cc (inst_mov_a_addr): Throw an error on
48674         "mov a,acc"; patch provided by Lenny Story
48675         * device/include/mc68hc908gp32.h: header contibuted by Juan Gonzalez
48677 2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48679         * src/mcs51/gen.c (genFunction): optimize RECEIVE in reentrant
48680         functions
48681         * src/ds390/gen.c (genFunction, genEndFunction),
48682         * src/ds390/ralloc.c (ds390_assignRegisters),
48683         * src/mcs51/gen.c (genFunction, genEndFunction, mcs51_assignRegisters):
48684         * src/mcs51/ralloc.c (mcs51_assignRegisters): Skip optimizing registers
48685         pushed if there are parameters passed on the stack. Also, a cleaner
48686         way to decide if r0/r1 should be pushed/popped. (Together they fix
48687         bug #918693)
48689 2004-03-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48691         * doc/sdccman.lyx,
48692         * device/lib/mcs51/crtpagesfr.asm,
48693         * device/lib/mcs51/crtxinit.asm,
48694         * device/lib/mcs51/crtxstack.asm: Changed name of _PAGESFR to _XPAGE
48695         to avoid confusion with Si Lab's SFRPAGE register.
48697 2004-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48699         * src/SDCCglue.c (emitMaps): allow public sfr variables
48700         * src/SDCCglue.c (initialComments): include compiler build date
48701         with compiler version and put the timestamp of the generated
48702         assembly file on a serperate line to be less confusing.
48703         * src/port.h: added genInitStartup hook
48704         * src/avr/main.c,
48705         * src/ds390/main.c,
48706         * src/hc08/main.c,
48707         * src/pic/main.c,
48708         * src/pic16/main.c,
48709         * src/xa51/main.c,
48710         * src/z80/main.c: genInitStartup initialize as NULL (default to
48711         historical behaviour)
48712         * src/SDCCglue.c (glue): _sdcc_gsinit_startup is now port specific.
48713         * src/mcs51/main.c: (_mcs51_genInitStartup, _mcs51_genExtraAreas,
48714         _mcs51_genXINIT, _mcs51_genRAMCLEAR): link initialization code from the
48715         library instead of hard coding it into the compiler.
48716         * support/regression/ports/mcs51-stack-auto/spec.mk,
48717         * src/SDCCmain.c (linkEdit): added mcs51.lib to the link libraries
48718         * device/lib/mcs51/Makefile,
48719         * device/lib/small/Makefile,
48720         * device/lib/large/Makefile,
48721         * device/lib/mcs51/crtpagesfr.asm,
48722         * device/lib/mcs51/crtstart.asm,
48723         * device/lib/mcs51/crtxclear.asm,
48724         * device/lib/mcs51/crtxinit.asm,
48725         * device/lib/mcs51/crtclear.asm,
48726         * device/lib/mcs51/crtxstack.asm: move most of the mcs51 C runtime
48727         startup/initialization out of src/SDCCglue.c and src/mcs51/main.c
48728         and into user configurable files.
48729         * device/lib/clean.mk: clean mcs51 directory too
48730         * support/regression/tests/longlit.c: added static to T1 declaration
48731         * doc/sdccman.lyx: documented _PAGESFR sfr for customizing pdata
48732         accesses in the initialization code
48734 2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48736         * device/include/mc68hc908qy.h: corrected declarations of FLBPR and
48737         OSCTRIMVAL as noted in bug #916008
48739 2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48741         * src/SDCCloop.c (basicInduction): fixed bug with loop induction
48742         in loops with multiple exits (reported as incorrect registers
48743         used by Martin Helmling in Sdcc-user list)
48745 2004-03-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48747         * src/ds390/main.c (_ds390_genAssemblerPreamble): cosmetic change,
48748         made ds390 register extensions look less like error messages
48750 2004-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48752         * src/SDCCglue.c (printIvalPtr): fixed bug with pointer initializer
48753         reported by Adam Wozniak in Sdcc-user list
48755 2004-03-10 Bernhard Held <bernhard AT bernhardheld.de>
48757         * src/SDCCast.c (decorateType): fixed with bug and promotion in
48758         arithmetic optimizations, added debug output
48760 2004-03-09 Bernhard Held <bernhard AT bernhardheld.de>
48762         * device/lib/time.c (mktime): fixed bug reported by Bert Thomas
48763         * sdcc.spec: updated and split sdcc into 3 rpms
48764         * src/SDCCast.c (decorateType): &|^ don't need addCast(); addCast() is
48765         needed for literals of LEFT_OP and '+'
48766         * src/SDCCicode.c (geniCodeLogic): I must have been braindead when I
48767         introduced RESULT_TYPE_NOPROM
48768         (geniCodeMultiply): fixed logic for decision if mul is optimized to
48769         left shift
48770         * src/SDCCsymt.c (computeType): op is int; added RESULT_TYPE_OTHER;
48771         limited promotion to int only for '*'
48772         * src/SDCCsymt.h (computeType): op is int, removed RESULT_TYPE_NOPROM
48774 2004-03-09 Hans Dorn <hjdorn AT users.sourceforge.net>
48776         * src/pic16/gen.c (genSkip),
48777         (genc16bit2lit), (gencjneshort): commented out
48778         (is_LitOp): new helper function, checks operand type
48779         (genCmpEq): rewritten
48781 2004-03-08 Bernhard Held <bernhard AT bernhardheld.de>
48783         * support/regression/tests/bug-908454.c: added
48785 2004-03-07 Bernhard Held <bernhard AT bernhardheld.de>
48787         * src/SDCCast.c (addCast): fixed bug #908454 by promoting bits to char
48788         * src/SDCCicode.c (usualBinaryConversions): op needs int type
48789         (geniCodeCast): cosmetic, don't preserve bit storage class
48790         (geniCodeLeftShift): added promotion
48791         (geniCodeLogic): fixed regression
48792         * src/SDCCsymt.c (computeTypeOr): accept bits too
48793         (compareType): 2nd part of fix for bug #908454, needed for bitfields
48795 2004-03-07  Borut Razem <borut.razem AT siol.net>
48797         * support/Util/findme.c: alloca() replaced with malloc()/free() pair
48799 2004-03-06 Vangelis Rokas <vrokas AT otenet.gr>
48801         * src/pic16/ralloc.c (pic16_genPackRegisters): reverted to old
48802         version of pic16_genPackRegisters which does not check if ic is a
48803         CAST operator,
48804         * src/pic16/gen.c (ifxForOp): disabled new and untested code in
48805         function cause string1.c regression test fails
48807 2004-03-06 Bernhard Held <bernhard AT bernhardheld.de>
48809         * sim/ucsim/configure.in,
48810         * sim/ucsim/configure,
48811         * sim/ucsim/doc/Makefile.in: use docdir
48812         * src/SDCC.y: fixed sbit atrributes
48813         * src/SDCCast.c (getResultTypeFromType): added support for bitfields
48814         * src/SDCCast.c (decorateType): |^& need special promotion handling
48815         * src/SDCCast.h,
48816         * src/SDCCsymt.h: moved definition of RESULT_TYPE
48817         * src/SDCCsymt.h (computeType),
48818         * src/SDCCicode.c: computeType() needs op
48819         * src/SDCCsymt.c (checkTypeSanity),
48820         * doc/sddman.lyx: "plain" bitfields are unsigned
48821         * src/SDCCsymt.c (computeTypeOr): added
48822         * src/SDCCsymt.c (computeType): added support for bitfields, fixed
48823         |^& ops
48824         * src/SDCCval.c (val*): computeType() needs op
48825         * src/SDCCval.c (valCastLiteral): fixed casting of bitfields
48826         * support/regression/tests/onebyte.c: added tests for |^&
48828 2004-03-06 Hans Dorn <hjdorn AT users.sourceforge.net>
48830         * src/pic16/gen.c: (genpic16Code) use copy of printILine's output
48831         for writing icode into asm output.
48833 2004-03-05 Vangelis Rokas <vrokas AT otenet.gr>
48835         * src/pic16/device.c: added some debug lines enabled
48836         with macro DEBUG_CHECK,
48837         * src/pic16/genarith.c: more debug in genPlus,
48838         * (pic16_genUMult8XLit_16, pic16_genUMult8X8_16): removed,
48839         * (pic16_genUMult16X16_16, pic16_genUMult16XLit_16): NEW,
48840         * src/pic16/gen.c: added prototypes for pic16_genMult16X16_16,
48841         * (aopForSym): onStack symbols are re-placed in data memspace,
48842         and onStack flag is cleared,
48843         * (pic16_popGetTempReg, pic16_popReleaseTempReg): modified to
48844         copy temporary pcodeop,
48845         * (genPcall): added warning for not updating PCLATU,
48846         * (genFunction): removed test with IFFUNC_CALLEESAVES, its
48847         always true for pic16 port,
48848         * (genMultOneWord): NEW, supports integer multiplication,
48849         * (genMult): modified to call genMultOneWord,
48850         * (ifxForOp): added warning when return NULL,
48851         * src/pic16/glue.c (pic16emitRegularMap): symbol implicit
48852         flag is set before call to operandFromSymbol for implicit
48853         added structures,
48854         * src/pic16/main.c (_pic16_finaliseOptions): options.float_rent,
48855         options.intlong_rent are set by default,
48856         * (_hasNativeMulFor): modified to allow port generation of integer
48857         multiplication,
48858         * src/pic16/ralloc.c (pic16_allocDirReg): commented out line which
48859         set regtype to REG_SFR for all registers, restricting seting the
48860         accessBank flag for registers 0<= r < 0x80 and 0xf80<=r<=0xfff,
48862 2004-03-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48864         * src/mcs51/peephole.def: added 251.b and 253.x. 253.x are applied
48865         more than 500 times in the regression tests
48867 2004-03-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48869         * support/Util/SDCCerr.h,
48870         * support/Util/SDCCerr.c,
48871         * src/SDCC.y (struct_or_union_specifier, enum_specifier,
48872         enumerator_list),
48873         * src/SDCCsymt.c (addSymChain): show location of oriignal definition
48874         for symbol conflicts.
48875         * support/valdiags/tests/enum.c,
48876         * support/valdiags/tests/tentdecl.c,
48877         * support/valdiags/tests/struct.c: expect possible error messages
48878         referring to original symbol definitions.
48879         * src/SDCC.y (struct_or_union_specifier, struct_declarator),
48880         * src/SDCCsymt.h,
48881         * src/SDCCsymt.c (promoteAnonStructs): support anonymous struct/union
48883 2004-03-03 Hans Dorn <hjdorn AT users.sourceforge.net>
48885         * src/pic16/gen.c (gencjne): fixed for right=REG / left=LIT
48887 2004-02-03 Vangelis Rokas <vrokas AT otenet.gr>
48889         * src/pic16/ralloc.c (newReg): fixed bug #908929
48891 2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48893         * src/ds390/gen.c: added missing #include "main.h"
48895 2004-03-02 Vangelis Rokas <vrokas AT otenet.gr>
48897         * src/pic16/device.c (checkAddSym): NEW, adds a symbol to set while
48898         checking if symbol is already in set,
48899         * src/pic16/device.h: prototype for checkAddSym,
48900         * src/pic16/gen.c: (_G): added entry interruptvector,
48901         * (assignResultValue): removed some commented out lines,
48902         * (genFunction): check for ISR via sym->type, absolute section for
48903         interrupt code is created via a new pBlock, the goto instruction is
48904         placed now correctly at the interrupt vector position, changed all
48905         references from ivec to _G.interruptvector,
48906         * WREG,STATUS,BSR are not saved in stack upon an entry to interrupt
48907         is the interrupt is a high priority one, same for return from ISR,
48908         * src/pic16/glue.c: changed all calls of addSetHead for publics and
48909         externs to calls of checkAddSym,
48910         * src/pic16/pcode.c (pic16_pBlockConvert2*): emit warning when
48911         pic16_pcode_verbose flag is set,
48912         * src/pic16/pcode.h: extern to pic16_pcode_verbose,
48913         * src/pic16/pcoderegs.c: message about how many registers are saved
48914         will only be emitted if pic16_pcode_verbose flag is set,
48916 2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48918         * src/ds390/ralloc.h,
48919         * src/ds390/ralloc.c (ds390_regWithIdx),
48920         * src/ds390/gen.c (emitcode),
48921         * src/ds390/main.h,
48922         * src/ds390/main.c (instructionSize, ds390newAsmLineNode, updateOpRW,
48923         ds390opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
48924         ds390operandCompare, getRegsRead, getRegsWritten,
48925         initializeAsmLineNode): customized instruction size calculation for
48926         ds390, started basis for some register optimizations
48927         * src/ds390/gen.c (gen390Code, emitcode): associate iCodes with
48928         corresponding assembly output
48929         * src/ds390/gen.c (genFunction, genEndFunction): added case to handle
48930         missing push/pop of r0/r1. Optimized push/pops
48932 2004-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48934         * src/mcs51/main.c (instructionSize): fixed ACALL size
48935         * src/mcs51/main.c (updateOpRW): fixed bug with @dptr, @a+dptr operands
48937 2004-03-01 Vangelis Rokas <vrokas AT otenet.gr>
48939         * src/pic16/device.c (pic16_dump_section): fixed a bug that allowed
48940         the sorting of rlist with NULL elements
48941         * (print_idataType, print_idata): NEW to create idata sections
48942         * src/pic16/device.h: idataSymSet new variable
48943         * src/pic16/gen.c (genFunction): fixed some bugs in string
48944         comparing, improved the absolute section creation for ISRs,
48945         added FSR0L/FSR0H in registers that are saved in an ISR,
48946         * (genInline): fixed the processing of inline snippets,
48947         now they undergo no process by the peephole optimizer
48948         * src/pic16/glue.c (pic16emitRegularMap): symbols with initialiser
48949         are placed in idataSymSet,
48950         * (pic16emitStaticSeg): extern symbols are added in externs,
48951         * src/pic16/ralloc.c (pic16_allocDirReg): work around to reduce bank
48952         switching when aboslute variables are placed in access bank memory
48953         * (pic16_writeUsedRegs): added call to pic16_dump_idata,
48954         * (packRegsForSupport,packRegsForAccUse,packRegsForOneuse):
48955         commented out with #if,
48956         * (pic16_packRegisters): reintroduce the check for CAST because some
48957         symbols are not correctly handled,
48958         * src/pic16/pcode.h: changed the definition of pCodeAsmDir to hold a
48959         pCodeInstruction instead of pCode,
48960         * src/pic16/pcode.c (pic16_newpCodeAsmDir): modified for the new
48961         pCodeAsmDir definition,
48962         * (pic16_pCode2str, genericPrint): when an AsmDir pcode has a NULL
48963         directive, then the argument directive is emitted without the leading
48964         tab, hack for inline labels which must be in the first column,
48965         * (compareLabel,pic16_findNextInstruction),
48966         * (pic16_findPrevInstruction): added case for PO_ASMDIR,
48967         * (insertBankSwitch): modified for the new pCodeAsmDir,
48969 2004-03-01 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
48970         patch applied by Vangelis Rokas <vrokas AT otenet.gr>
48972         * src/pic16/gen.c (pic16_popGet): case PO_DIR, adds the offset to
48973         instance,
48974         * (pushSide): commented out with #if,
48975         * (assignResultValue): fixed some typos in saving
48976         registers,
48977         * (genPcall): FIXED and sync'ed with genCall,
48978         * (genDataPointerGet,genDataPointerSet): using offset not leoffset
48979         * (genNearPointerGet): fixed to handle some more cases,
48980         implementation scheme via table reads,
48981         * (genConstPointerGet): modified to access code memory correct,
48982         * (genCodePointerGet,genNearPointerSet,genGenPointerSet): modified
48983         and improved to handle some cases
48984         * glue.c (printIvalType,printIvalChar,emitStaticSeg): use "DB"
48985         instead of "RETLW" for init data
48986         * src/pic16/ralloc.c (pic16_allocDirReg): warning when a symbol is
48987         not IN_DIRSPACE, work around to reduce bank switching when aboslute
48988         variables are placed in access bank memory (<0x80 and >=0xf80),
48989         * src/pic16/pcode.c: added SFRs TBLPTR, TABLAT, added opcodes TBLRD,
48990         TBLRD_POSTINC,TBLRD_POSTDEC,TBLRD_PREINC,TBLWT,TBLWT_POSTINC,
48991         TBLWT_POSTDEC,TBLWT_PREINC
48992         * Fixed initialisation of BSR, set "alias" for SSAVE to "0"
48993         * (pic16_emitDB,pic16_flushDB): New functions to generate "DB"
48994         directives
48995         * (pic16_pCodeConstString): use "DB" instead of "RETLW"
48996         * src/pic16/pcode.h: added TBLRD*,TBLWT*, added pic16_emitDB,
48997         pic16_flushDB, made pic16_newpCodeAsmDir public, added TBLPTR, TABLAT
48998         * src/pic16/ralloc.h: added IDX_BSR,IDX_TBLPTR*,IDX_TABLAT
49000 2004-02-29  Borut Razem <borut.razem AT siol.net>
49002         * src/Makefile.in, src/SDCCutil.c, support/Util/findme.c,
49003         support/Util/findme.h, support/Util/system.h: enhance binary relative
49004         search for lib and include by using findProgramPath()
49006 2004-02-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49008         * src/SDCCpeeph.h,
49009         * src/SDCCpeeph.c (pcDistance),
49010         * src/port.h,
49011         * src/mcs51/ralloc.h,
49012         * src/mcs51/ralloc.c (mcs51_regWithIdx),
49013         * src/mcs51/main.h,
49014         * src/mcs51/main.c (instructionSize, asmLineNode, updateOpRW,
49015         mcs51opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
49016         mcs51operandCompare, getRegsRead, getRegsWritten): made instruction
49017         size calculation port specific, started basis for some register
49018         optimizations
49019         * src/mcs51/gen.c (genFunction, genEndFunction): added case to handle
49020         missing push/pop of r0/r1. Optimized push/pops
49021         * src/mcs51/ralloc.c (packregisters): fixed bug #727095
49022         * device/lib/_modsint.c (_modsint),
49023         * device/lib/_modslong.c (_modslong): fixed sign of result in non-asm
49024         and stack version so regression tests pass
49026 2004-02-26 Bernhard Held <bernhard AT bernhardheld.de>
49028         * src/Makefile.in (dep): include SLIBOBJS in dependency check
49029         * src/SDCCast.c (decorateType): catch another small optimization
49030         with '?' operator
49031         * src/SDCCsymt.c (computeType): added comments and cosmetic changes
49032         * src/SDCCval.c (valMult, valDiv, valMod, valPlus, valMinus, valShift):
49033         modified to finally use computeType() all over SDCC,
49034         see Feature Request #877103
49035         * src/SDCCval.h: cosmetic
49036         * src/SDCCicode.c (operandOperation): fixed EQ_OP bug, now same as in
49037         valCompare(); regression tested in muldiv.c
49038         * support/regression/tests/muldiv.c (testMod): mod sign follows
49039         dividend only
49041 2004-02-23 Bernhard Held <bernhard AT bernhardheld.de>
49043         * src/SDCCast.c (decorateType): fixed bug #902362
49044         * doc/INSTALL.txt: fixed install instructions for win32
49046 2004-02-21 Bernhard Held <bernhard AT bernhardheld.de>
49048         * device/include/Makefile.in (install): fixed by replacing spaces
49049         by tabs
49050         * doc/README.txt,
49051         * doc/INSTALL.txt: updated for release
49052         * doc/sdccman.lyx: added warning for --xstack being buggy
49054 2004-02-20 Bernhard Held <bernhard AT bernhardheld.de>
49056         * src/pic16/ralloc.c (packRegsForAccUse):  disabled functions with #if
49057         to eliminate build warnings.
49058         * src/pic16/gen.c (pic16_popGet): fixed for gcc 2.95.4
49060 2004-02-20 Vangelis Rokas <vrokas AT otenet.gr>
49061            Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
49063         * doc/sdccman.lyx: removed PIC16 from PIC16 Port Specific Options,
49064         removed -penable-stack, added comment for stack pragma, added
49065         warning for not initializing the stack/frame registers, removed
49066         comment at interrupts section
49068         Stack is made permanent, there is no ability to disable stack usage.
49069         * src/pic16/device.h,
49070         * src/pic16/device.c: removed all references to USE_STACK macro,
49071         * src/pic16/device.c (pic16_dump_section): when no elements in
49072         rlist, free rlist before return,
49073         * (pic16_dump_int_registers): NEW, internal registers are a new set
49074         of general purpose registers reused by each function,
49075         * (checkAddReg): returns 1 if registers is added to set,
49076         * (pic16_groupRegistersInSection): when a registers is of type
49077         PO_GPR_TEMP add it in pic16_int_regs and not in pic16_rel_udata,
49078         * src/pic16/device.h: memRange and Assigned Memory are deleted,
49079         SRCASECMP macro is moved here from device.c
49080         * src/pic16/genarith.c (pic16_pCodeOpType): added cases for
49081         PO_PCLATU, PO_PRODL, PO_PRODH,
49082         * (pic16_pCodeOpType, genMinus,
49083         changed compares to "a" register, with AOP_ACC,
49084         * (pic16_genPlus): fixed some bugs and indented properly,
49085         * (pic16_addSign): changed size to size+offset in the MOVWF
49086         instruction,
49087         * (pic16_genUMult8XLit_8): NEW, uses processor MULLW instruction to
49088         multiply 8-bit operand by literal, result is 8-bit,
49089         * (pic16_genUMult8X8_8): NEW, uses processor MULWF instruction to
49090         multiply 2 8-bit operand, result is 8-bit,
49091         * (pic16_genMult8X8_8): modified to call genUMult8X*_8 functions and not
49092         genUMult8X*_16,
49093         * src/pic16/gen.c: changed accUse to contain WREG only,
49094         * (pic16_emitcomment): renamed to pic16_emitpcomment,
49095         * (aopForSym): allocated dir register when IN_DIRSPACE(space) is,
49096         true, do not use immediate addressing any more unless sym is a
49097         pointer in codespace,
49098         * (aopForRemat): do not use immediate addressing when symbol not in
49099         codespace and when symbol's address is requested,
49100         * (aopOp): for-loop in if(sym->accUse) is modified for the new
49101         accUse size (= 1),
49102         * (aopGet): added case for AOP_ACC and don't return "accumulator
49103         bug" but WREG instead,
49104         * (popGetTempReg): pushes contents of temporary register in stack,
49105         * (popReleaseTempReg): pops contents of temporary register from
49106         stack. Use popGetTempReg/popReleaseTempReg in aligned pairs,
49107         * (pic16_popGet): separated case AOP_ACC to return register WREG
49108         from processor registers, AOP_PCODE not checks if pcop is PO_DIR
49109         or PO_IMMEDIATE and initializes their instance/offset appropriately,
49110         * The whole issue with aopForSym,aopForRemat,popGet) is to minimize
49111         the use of immediate pointers to certain cases only.
49113         * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): use pic16_popGet2p,
49114         * (pic16_loadFromReturn, pic16_storeForReturn: NEW,
49115         * (assignResultValue, genCall, genRet): modified to use the new
49116         function return value scheme with WREG,PRODL,PRODH,FSR0L and FSR0,
49117         genPcall is still broken,
49118         * (genFunction): added code to create 'A' type pBlocks when
49119         interrupt functions are generated, code not extensively tested yet,
49120         ISRs push WREG,STATUS,BSR,PRODL,PRODH,FSR0L,FSR0H registers on stack,
49121         * (genEndFunction): modified so ISRs pop stored registers from stack,
49122         * (genMultOneByte): cleanup,
49123         * (AccRsh): added flag andmask, to and result with appropriate mask,
49124         * (genUnpackBits,genPackBits): fixed and can handle bit fields,
49125         * (genDataPointerGet): fixed and reenabled its use,
49126         * (genNearDataPointerGet): bugs fixed,
49127         * (genDataPointerSet): bugs fixed,
49128         * src/pic16/genutils.c: added functions pic16_DumpValue,pic16_DumpAop,
49129         pic16_DumpSymbol, pic16_DumpOp,
49130         * src/pic16/genutils.h: function prototypes for the above functions,
49131         * src/pic16/glue.c: new flags initsfpnt, to initialize stack/frame
49132         pointers,
49133         * (pic16emitRegularMap): many many many improvements, but needs a
49134         major cleanup,
49135         * src/pic16/main.c: enable_stack in pic16_options is removed,
49136         * (_pic16_parseOptions): removed command line options -penable-stack,
49137         * (_process_pragma): emit stack symbol only when stack pragma is
49138         processed,
49139         * src/pic16/pcode.c: pic16_pc_fsr0 is removed, all operations are
49140         redirected to FSR0L/FSR0H pair,
49141         * (pic16_get_op, pic16_get_op2): modifications and improvements,
49142         * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
49143         cases PO_PRODL,PO_PRODH, pic16_getRegFromInstruction2 returns sane
49144         for immediates,
49145         * (insertBankSwitch): modified to handle cases like: (alfa + 1)
49146         * (dumpPicOptype): NEW,
49147         * src/pic16/pcode.h: added PO_PCLATU,PO_PRODL,PO_PRODH in enum,
49148         * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed bug
49149         with movff instruction,
49150         * src/pic16/ralloc.c: renamed typeRegWithIdx to pic16_typeRegWithIdx,
49151         added pic16_int_regs, some packRegsFor* functions are commented out,
49152         because produce errors,
49153         * src/pic16/NOTES: minor modifications
49155 2004-02-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49157         * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c, as/mcs51/lkmain.c,
49158         as/mcs51/lkmem.c, src/SDCCglob.h, src/SDCCmain.c: added options --stack-size and
49159         --pack-iram.
49160         * doc/sdccman.lyx: described options --stack-size and --pack-iram.
49161         * as/mcs51/lkaomf51.c: fixed bug #895763
49163 2004-02-17 Bernhard Held <bernhard AT bernhardheld.de>
49165         * device/include/c8051f320.h: added. Contributed by Maarten Brock.
49167 2004-02-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49169         * doc/sdccman.lyx: added details about the HC08 storage classes and
49170         interrupts, fixed the register usage info for z80 & gbz80
49172 2004-02-17 Vangelis Rokas <vrokas AT otenet.gr>
49174         * doc/sdccman.lyx: added more pic16 port documentation
49175         * device/include/pic16/: added header pic18fregs.h
49177 2004-02-16 Bernhard Held <bernhard AT bernhardheld.de>
49179         * doc/sdccman.lyx: added Vangelis' contribution
49181 2004-02-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49183         * src/SDCClrange.c (rlivePoint): live range of SEND operand should
49184         extend to the next CALL or PCALL, not just to the next CALL.
49186 2004-02-16 Vangelis Rokas <vrokas AT otenet.gr>
49188         * src/pic16/gen.c (genInline): fixed bug #896482 with inline assembly
49190 2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49192         * src/mcs51/ralloc.c (packRegsForAssign, reassignAliasedSym): fixed
49193         bug #895752 and a better fix for bug #716790
49195 2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49197         * src/SDCCsymt.c (processFuncArgs): fixed bug #896796
49199 2004-02-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49201         * doc/sdccman.lyx: minor changes, minor changed
49203 2004-02-13 Bernhard Held <bernhard AT bernhardheld.de>
49205         * src/SDCCicode.c (usualBinaryConversions): removed pic16 from ports
49206         which can't handle SDCC_NEWONEBYTEOPS,
49207         (geniCodeMultiply): removed conversion from mult to shift for pic14
49208         and pic16
49210 2004-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49212         * src/hc08/gen.h,
49213         * src/hc08/gen.c (storeRegToAop, aopOp, aopAdrStr, accopWithAop,
49214         rmwWithAop): Ported my 2003-10-02 fix for bug #663539 to the hc08,
49215         thus fixing bug #895406
49217 2004-02-11 Bernhard Held <bernhard AT bernhardheld.de>
49219         * device/lib/_modsint.c,
49220         * device/lib/_modslong.c: sign follows divisor only
49221         * src/hc08/gen.c (genMultOneByte): if result size is 1,
49222         signs or signedness can be ignored
49223         * src/SDCCast.c (addCast): cosmetic - added lineno to CAST
49224         * src/SDCCast.c (resultTypePropagate): added even more ops: +, - and *,
49225         added optimization for IFX,
49226         (decorateType): Mult/Div/ModOneByte ops can handle all kind of signed
49227         arguments;
49228         reenabled optimization for IFX, which was removed on 2004-01-11
49229         * src/SDCCast.h: added return type IFX
49230         * src/SDCCicode.c: Mult/Div/ModOneByte ops can handle all kind of signed
49231         arguments with 8 or 16 bit results; pic14 and pic16 ports use old
49232         promotion behaviour; env. var. SDCC_NEWONEBYTEOPS selects the new,
49233         SDCC_OLDONEBYTEOPS selects the old behaviour
49234         * src/SDCCsymt.c (computeType): type2 can be NULL (for LEFT_OP);
49235         changed again and commented promotion rule
49236         * src/SDCCval.c (valDiv): promotion no longer necessary
49237         * src/ds390/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte),
49238         * src/mcs51/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte):
49239         rewritten
49240         * support/regression/tests/onebyte.c: added
49242 2004-02-11 Vangelis Rokas <vrokas AT otenet.gr>
49244         * gen.c (genInline): reverted to old code for assemnling inline
49245         code because of bug reported James Chadd
49247 2004-02-10 Vangelis Rokas <vrokas AT otenet.gr>
49249         * ralloc.h: missing declarations from previous patch,
49250         seems that patch for ralloc.h was never applied, fixed
49252 2004-02-10 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
49253            patch committed by Vangelis Rokas <vrokas AT otenet.gr>
49255         * pcode.c,
49256         * pcode.h,
49257         * ralloc.h: added FSR0L, FSR0H and other missing PIC16 SFR's for
49258         indirect addressing. Marked FSR0 as deprecated
49259         * gen.c (pointerCode): commented out, not needed now
49260         (pic16_popGet2p): new MOVFF helper function
49261         (genGenPointerGet),
49262         (genGenPointerSet): reimplemented with MOVFF and POSTINC0
49263         (shiftRLong): removed duplicate debugging info
49265 2004-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49267         * src/ds390/gen.c (genNearPointerGet),
49268         * src/mcs51/gen.c (genNearPointerGet): allow the genDataPointerGet()
49269         optimization with bits, but not bitfields.
49270         * src/ds390/ralloc.c (packRegisters),
49271         * src/mcs51/ralloc.c (packRegisters): fixed bug #884453 & #880832
49273 2004-02-09 Bernhard Held <bernhard AT bernhardheld.de>
49275         * src/SDCCcse.c (algebraicOpts): copy operands before modification
49277 2004-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49279         * src/SDCCsymt.h,
49280         * src/SDCCicode.c (operandFromSymbol),
49281         * src/mcs51/ralloc.c (verifyRegsAssigned, serialRegAssign),
49282         * src/ds390/ralloc.c (verifyRegsAssigned, serialRegAssign),
49283         * src/z80/ralloc.c (verifyRegsAssigned, serialRegAssign),
49284         * src/hc08/ralloc.c (verifyRegsAssigned, serialRegAssign),
49285         * src/pic/ralloc.c (verifyRegsAssigned, serialRegAssign),
49286         * src/pic16/ralloc.c (verifyRegsAssigned, serialRegAssign): fixed
49287         bug #892038
49288         * src/SDCCast.c (createIvalStruct, createIvalArray, gatherAutoInit),
49289         * src/SDCCglue.c (emitRegularMap, printIvalStruct, printIvalArray,
49290         printIvalCharPtr, printIvalPtr, printIval, emitStaticSeg, emitOverlay)
49291         * src/SDCCsymt.c (newSymbol),
49292         * src/SDCC.y (struct_or_union_specifier, enum_specifier,
49293         enumerator_list),
49294         * src/SDCCval.h,
49295         * src/SDCCval.c (newiList): fixed bug #885705
49297 2004-02-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49299         * doc/sdccman.lyx: added section 3.1.4: sdcclib.
49300         * as/mcs51/lkmem.c: report the size of the stack in .mem file.
49302 2004-02-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49304         * device/include/c8051f120.h,
49305         * device/include/c8051f300.h,
49306         * device/include/c8051f310.h: added/updated header files for Silicon
49307         Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
49308         * doc/sdccman.lyx: minor changes, recommended diff -Naur and diff -u
49309         in new section Submitting patches
49311 2004-02-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49313         * src/mcs51/gen.c (genNearPointerGet, genPagedPointerGet,
49314         genFarPointerGet, genCodePointerGet, genGenPointerGet,
49315         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49316         genGenPointerSet),
49317         * src/ds390/gen.c (genNearPointerGet, genPagedPointerGet,
49318         genFarPointerGet, genCodePointerGet, genGenPointerGet,
49319         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49320         genGenPointerSet),
49321         * src/pic16/gen.c (genNearPointerGet, genPagedPointerGet,
49322         genFarPointerGet, genCodePointerGet, genGenPointerGet,
49323         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49324         genGenPointerSet),
49325         * src/pic/gen.c (genNearPointerGet, genPagedPointerGet,
49326         genFarPointerGet, genCodePointerGet, genGenPointerGet,
49327         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49328         genGenPointerSet): fixed bug #892400
49329         * src/pic16/gen.c (genSkipz, AccRol): disabled functions with #if 0
49330         to eliminate build warnings.
49331         * src/SDCCast.c (processParms),
49332         * src/SDCC.y (function_declarator2, declarator2_function_attributes):
49333         fixed bug 751859
49334         * support/valdiag/valdiag.py: added GCC to the list of defines active
49335         when compiling with gcc
49337 2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49339         * support/Util/SDCCerr.h,
49340         * support/Util/SDCCerr.c,
49341         * src/SDCCast.c (decorateType, sizeofOp): complain when sizeof is used
49342         with an incomplete type (fixed bug #883734)
49343         * src/SDCCicode.c (geniCodeCast): fixed bug #890510
49345 2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49347         * src/pic16/gen.c (genCmpEq, shiftRLong): fixed declarations
49349 2004-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49351         * src/SDCCast.c (decorateType),
49352         * src/SDCCicode.c (geniCodeParms, geniCodeCall): fixed bugs in my ANSI
49353         function pointer implementation
49354         * support/regression/tests/funptrs.c: added tests to verify both forms
49355         of function pointers work correctly. Added tests to verify parameters
49356         are passed in the correct order.
49358 2004-02-06  Vangelis Rokas <vrokas AT otenet.gr>
49360         * device.c (regCompare): registers are sorted by ascending
49361         address and increasing size,
49362         * main.c (_pic16_finaliseOptions): removed the declaration
49363         of compiler macro MCU. Now a macro of the format pic18fxxxx
49364         will be defined from the command line
49366 2004-02-06  Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
49367             patch committed by Vangelis Rokas <vrokas AT otenet.gr>
49369         * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF
49370         PCOP_RLCF was overwritten!
49371         * gen.c (genSkip): commented out calls to pic16_emitcode,
49372         * (genCmpEQ): fixed "long" compares, only high word did get compared,
49373         * (genlshTwo),
49374         * (genRRC): added debugging info,
49375         * (shiftL2Left2Result): Fixed bug, if offr > offl. Result got
49376         overwritten while shifting,
49377         * (shiftR2Left2Result): Fixed bug, if offr < offl. Result got
49378         overwritten while shifting,
49379         * (AccLsh),
49380         * (AccRsh),
49381         * (shiftLLeftOrResult),
49382         * (shiftRLeftOrResult),
49383         * (shiftRLong),
49384         * (shiftLLong): Implemented with pic16_emitpcode
49385         * (genlshFour): Replaced pic16_aopPut with pic16_emitpcode,
49386         * (genLeftShift): Fixed bug, operand for shift by variable always
49387         was "and"ed with 0x0f,
49388         * (genLeftShiftLiteral),
49389         * (genrshTwo),
49390         * (genRightShiftLiteral): added debugging info,
49391         * (genrshFour): added comment,
49392         * (genRightShift): determined signedness from operand "left"
49393         instead of "result"
49395 2004-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49397         * src/SDCCicode.c (geniCodeParms),
49398         * src/SDCCast.c (decorateType, processParms): support for ANSI-style
49399         function pointers, fixed function pointer bugs #861242 and #861896
49401 2004-01-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49403         * device/include/c8051f000.h,
49404         * device/include/c8051f120.h,
49405         * device/include/c8051f300.h: added header files for Silicon
49406         Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
49408 2004-01-31 Bernhard Held <bernhard AT bernhardheld.de>
49410         * src/SDCCast.c (processParams): added new type flow and restructured
49411         (gatherAutoInit): added new type flow
49412         (addCast): cosmetic changes
49413         (getLeftResultType): added new type flow for array indices, patch
49414         provided by Stas, see FR #877103
49415         (decorateType): SDCC_NEWTYPEFLOW removed, new type flow is now standard;
49416         array index patch by Stas
49417         * src/SDCCast.h: added prototype getResultTypeFromType()
49418         * src/SDCCval.h,
49419         * src/SDCCval.c (resolveIvalSym) (resolveIvalSym),
49420         * src/pic/glue.c (pic14emitStaticSeg),
49421         * src/pic16/glue.c (pic16emitStaticSeg),
49422         * src/SDCCglue.c (emitRegularMap) (emitStaticSeg): added new type flow
49423         for initialization of symbols
49424         * src/SDCCicode.c (geniCodeArray): removed warning W_ARRAY_BOUND
49425         * support/Util/SDCCerr.h:
49426         * support/Util/SDCCerr.c: replaced W_ARRAY_BOUND by W_IDX_OUT_OF_BOUNDS
49427         * .version: bumped version number to 2.3.8
49428         * device/include/Makefile.in (install),
49429         * doc/Makefile (install): changed to 'rm `find ...`' construct to
49430         avoid warnings
49432 2004-01-30 Bernhard Held <bernhard AT bernhardheld.de>
49434         * support/regression/tests/libmullong.c: fixed for 64 bit hosts
49435         Slade Rich fixed an optimization bug
49436         * src/pic/pcodepeep.c,
49437         * src/pic/pcoderegs.c
49438         * doc/Makefile (install): added test for directory
49440 2004-01-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49442         * src/mcs51/ralloc.c (getRegPtr, getRegGpr),
49443         * src/ds390/ralloc.c (getRegPtr, getRegGpr),
49444         * src/pic/ralloc.c (getRegPtr, getRegGpr),
49445         * src/pic16/ralloc.c (getRegPtr, getRegGpr),
49446         * src/z80/ralloc.c (getRegGpr): fixed bug #883361
49447         * as/mcs51/asexpr.c (term),
49448         * as/hc08/asexpr.c (term): fixed bug #887146
49450 2004-01-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49452         * src/z80/gen.c (genMult): handle single byte result product
49453         * src/SDCCopt.c (killDeadCode): never convert ADDRESS_OF iCode to
49454         DUMMY_READ_VOLATILE (fixed bug #886367)
49456 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
49458         * support/regression/tests/libmullong.c: fixed logic, on little endian
49459         hosts we ended without a mullong_wrapper()
49461 2004-01-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49463         * ChangeLog: changed "@" to " AT " in hopes of reducing spam and
49464         virus/worm forged address usage.
49466 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
49468         Fixed promotion, it should be done on AST level:
49469         * src/SDCCast.c (addCast): added promotion to int
49470         (decorateType): updated call to upCast()
49471         * src/SDCCicode.c (geniCodeLeftShift): removed call to
49472         usualUnaryConversions()
49474 2004-01-26  Michael Hope  <michaelh AT juju.net.nz>
49476         * support/regression/tests/literalop.c (mulWrapper): Added a
49477         wrapper to remove integer overflow warnings.
49479         * support/regression/tests/float_trans.c: Made work on host.
49481         * support/regression/ports/ucz80/spec.mk (UCZ80): Made detect the
49482         location of sz80.
49484         * support/regression/generate-cases.py (main): Changed from inline
49485         to a main method.
49487         * doc/Makefile (install): Changed to depth first to get rid of
49488         missing directory install warning.
49490         * as/Makefile (install-doc): Made work on Mac.
49492 2004-01-25 Bernhard Held <bernhard AT bernhardheld.de>
49494         * src/SDCCast.c: added an additional type flow in decorateType() of
49495         opposite direction, see feature request #860006; it's enabled at runtime
49496         by setting the environment variable SDCC_NEWTYPEFLOW
49497         * src/SDCCast.h: changed prototype of decorateType()
49498         * src/SDCCglue.c (emitRegularMap): updated call of decorateType()
49499         * src/SDCCicode.c (geniCodeDivision) (geniCodeModulus): promotion from
49500         'char' to 'int' can be omitted, if both operands are 'unsigned char';
49501         see feature request #877103
49502         * src/SDCCval.c: updated call of decorateType()
49503         (valBitwise): fixed bug #882876
49504         (valMinus): added promotion
49505         (valLogicAndOr): result is unsigned
49506         (cheapestVal) (constVal): literals from 0...255 are 'unsigned char' now
49507         * src/SDCCsymt.c (computeType),
49508         * src/mcs51/gen.c (genCmpGt) (genCmpLt): literal 'unsigned char'
49509         must not cause an unsigned operation
49510         * src/pic/glue (pic14emitRegularMap),
49511         * src/pic16/glue.c (pic16emitRegularMap): updated call of decorateType()
49513 2004-01-23 Bernhard Held <bernhard AT bernhardheld.de>
49515         * src/pic/pcode.c (PCodeID): commented out left over debug code
49517 2004-01-20 Bernhard Held <bernhard AT bernhardheld.de>
49519         * support/valdiag/tests/overflow.c: added shift tests
49520         * src/pic/device.c,
49521         * src/pic/gen.c,
49522         * src/pic/gen.h,
49523         * src/pic/glue.c,
49524         * src/pic/main.c,
49525         * src/pic/pcode.c,
49526         * src/pic/pcode.h,
49527         * src/pic/pcodepeep.c,
49528         * src/pic/pcoderegs.c,
49529         * src/pic/ralloc.c,
49530         * src/pic/ralloc.h: applied patch from Slade Rich;
49531         added support for multiple code pages and multiple RAM banks on the
49532         PIC 14 port. The ASM files now no longer simply assume all the
49533         code / RAM are in the same page / bank. This means the linker can
49534         safely allocate code/RAM of separate ASM files to different pages/banks.
49535         * doc/sdccman.lyx: added Slade's tips
49536         * src/mcs51/peeph.def: fixed bug #880768
49538 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49540         * src/hc08/ralloc.c (rematStr): fixed bug #879282
49541         * src/SDCCast.c (decorateType): fixed bug #880197
49543 2004-01-20  Michael Hope  <michaelh AT juju.net.nz>
49545         * sim/ucsim/gui.src/serio.src/main.cc: Fixed unconditional use of
49546         getopt.h.
49548         * debugger/mcs51/cmd.c (getValBasic): Changed strtof to strtod as
49549         strtof is not part of C89 and isn't included with Mac OS X.
49551 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49553         * src/hc08/gen.c (genPlusIncr, genUminus, genMinusDec, genCmp,
49554         shiftL2Left2Result): fixed bug #879326
49555         (genAnd, genOr, genXor): fixed bug when result was of type AOP_CRY
49556         (genMultOneByte): fixed bug in signed vs unsigned multiplication
49557         * sim/ucsim/hc08.src/inst.cc (inst_clr): added missing effective
49558         address fetch for clr instruction
49559         * device/lib/hc08/_mulint.c: created optimized assembly version
49560         * src/SDCCdflow.c (computeDataFlow): fixed bug #878209
49562 2004-01-19 Bernhard Held <bernhard AT bernhardheld.de>
49564         * src/SDCCicode.c (geniCodeArray): applied patch from Stas Sergeev
49565         proposed in FR #877103
49567 2004-01-18 Bernhard Held <bernhard AT bernhardheld.de>
49569         * src/SDCCval.c (cheapestVal): added missing checks
49570         * src/SDCCicode.c (usualBinaryConversions): fixed condition
49571         * src/SDCCicode.c (geniCodeAdd): fixed part of bug #877103
49573 2004-01-16 Klaus Flittner <klaus_flittner AT gmx.de>
49575         * src/ds390/gen.c (aopOp3): fixed the assignment of different dptrs to
49576         equal operands
49578 2004-01-16 Vangelis Rokas <vrokas AT otenet.gr>
49580         * src/SDCCmain.c (linkEdit): variable $3 of the linker command is
49581         loaded with the linker search paths (-L arguments) and the libraries
49582         to be linked with the current source (-l arguments). Changes
49583         currently will affect only the pic16 port.
49584         * src/pic16/main.c (_pic16_finaliseOptions): add to the linker
49585         include path the port specific paths and port specific libraries,
49586         * gplink command now contains the $3 argument,
49587         * src/pic16/device.h,
49588         * src/pic16/device.c,: structure PIC_device is made public and
49589         renamed to PIC16_device, the same for variable Pics which is renamed
49590         to Pics16. Updated all references to them.
49591         * src/pic16/glue.c (pic16glue): corrected bug with code
49592         initialization which bypassed the variable initializations block.
49594         * device/lib/pic16/Makefile.rules: removed --penable-stack from
49595         COMPILE_FLAGS and added the --nostdinc option
49597 2004-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49599         * device/include/mc68hc908jb8.h: Register defs for another member
49600         of the hc08 family. Contributed by Bjorn Bringert - thanks!
49602 2004-01-14 Vangelis Rokas <vrokas AT otenet.gr>
49604         Documenting changes from previous commits.
49605         * configure.in (version 1.56),
49606         * configure: initially I've added AC_CONFIG_SUBDIRS(device/lib/pic16)
49607         when generating output files to configure the pic16 library,
49608         but now I've commented it out, since gputils aren't installed in the
49609         SF compile farm, so library won't compile
49611         * device/lib/Makefile.in (version 1.56): initially I've added in
49612         target 'all' the prerequestive 'model-pic16' so it compiled the
49613         pic16 library, but now I've commented it out for the same reasons
49614         above,
49615         * added targets 'model-pic16' and 'objects-pic16' to compile the
49616         library
49617         * added target 'port-specific-objects-pic16' to handle the
49618         generated libraries and copy them into the build/ directory
49619         * added target 'clean-intermediate-pic16' to clean intermediate
49620         files into pic16 directory
49621         * in target 'installdirs' added line to create directory pic16 in
49622         the installation path
49624         * device/include/Makefile.in (version 1.11): in target 'install'
49625         added lines to copy all header files to installation path,
49626         * in target 'installdirs' added line create directory for pic16
49627         headers in the installation path
49629 2004-01-13 Klaus Flittner <klaus_flittner AT gmx.de>
49631         * src/ds390/gen.c (genCall): fixed a double use of acc and b after
49632          a function call
49634 2004-01-13 Bernhard Held <bernhard AT bernhardheld.de>
49636         * configure,
49637         * device/lib/configure.in,
49638         * device/lib/configure: fixed for autoconf 2.57
49640 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49642         * src/z80/main.c (_parseOptions): fixed the portmode= command line
49643         option so that it actually works. Made it specific to the z80, since
49644         the gbz80 doesn't have these kinds of I/O ports.
49646 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49648         * device/include/z180.h,
49649         * device/lib/_memcpy.c,
49650         * device/lib/_memmove.c,
49651         * device/lib/_mulint.c,
49652         * device/lib/ser_ir.c,
49653         * device/lib/ser_ir_cts_rts.c,
49654         * device/lib/_strcmp.c,
49655         * device/lib/_strtok.c: fixed pragmas to non-deprecated form
49656         * src/z80/main.c (_process_pragma): add support for pragmas bank and
49657         portmode; added deprecation warning for bank= and protmode= forms.
49658         Also, guard against buffer overflow.
49659         * src/z80/gen.c (aopGet): generate better code for sfr banked read
49661 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49663         * src/hc08/main.c (_hc08_genAssemblerPreamble): fixed bug #875487. Also
49664         changed interrupt vector table generation to only emit declared vectors.
49665         * device/include/Makefile.in: added missing backslash
49666         * device/lib/pic16/Makefile.rules: add $(MODELFLAGS) to $(CFLAGS)
49668 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
49670         Mainly changes to support compilation of the device libraries
49671         * src/pic16/device.c: stack is allocated via symbol and not
49672         via literal number. The symbol is placed in the corresponding
49673         position of the data ram
49674         * (pic16_dump_section): relocatable and absolute uninitialized
49675         data are now emitted in sorted order to reduce section naming,
49676         * src/pic16/ralloc.c (newReg): fixed bug with SFR's that
49677         weren't marked as being in the access bank,
49679 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
49681         Added portion of GNU PIC Library under the directory
49682         device/include/pic16 and device/lib/pic16. These files
49683         contain the declarations of SFRs for the PIC18Fxx2 devices.
49684         The directory is initialized via configure from toplevel.
49686 2004-01-12 Klaus Flittner <klaus_flittner AT gmx.de>
49688         * src/ds390/gen.c (operandsEqu): fixed a little typo, that prevented
49689         the spilllocations to be compared correctly
49691 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
49693         * src/SDCCast.c (decorateType): fixed bug introduced today
49695 2004-01-12  Borut Razem <borut.razem AT siol.net>
49697         * src/SDCC.lex, support/Util/SDCCerr.h, support/Util/SDCCerr.c,
49698         doc/sdccman.lyx: upper case pragmas are deprecated
49700 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
49702         * src/SDCCast.c (decorateType): replacing 'ul > 0' by  '!ul' results
49703         in simpler and even better code
49705 2004-01-11 Bernhard Held <bernhard AT bernhardheld.de>
49707         * src/SDCCicode.c (operandOperation): fixed bug #874819
49708         * src/SDCCast.c (decorateType): fixed
49709         char foo (unsigned long ul) { return ul > 0; }
49711 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49713         * doc/sdccman.lyx: Moved and added some sections, small changes
49714         all over. Telling LaTeX to be less strict with word spacing
49715         to better keep the right margin. Changed some notes about
49716         maintainance of the ports in section 3.2.1 - is it OK like this?
49718 2004-01-11 Vangelis Rokas <vrokas AT otenet.gr>
49720         SDCC source changes:
49721         * src/SDCCopt.c (cntToFcall, cnvToFloatCast, cnvFromFloatCast,
49722         convilong): modified to inform the pic16 port that builtin functions
49723         are external
49725         PIC16 PORT specific changes:
49726         * src/pic16/device.c pic16_dump_equates() added,
49727         processor registers declared internally by the port are emitted in
49728         the translation as equates,
49729         * src/pic16/gen.c: inline code is passed unprocessed to the
49730         translation,
49731         * (pic16_popGetLit2): fnuction modified to take second operand as
49732         pCodeOp pointer and not as literal,
49733         * (popRegFromIdx): prefixed with pic16_,
49734         * (pic16_popCombine2): modified to receive already allocated pCode
49735         operands,
49736         * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): added
49737         * (genFunction): initializes local stack frame and pushes on stack
49738         all the registers used by this function,
49739         * (genEndFunction): restores all registers from stack and restores
49740         stack frame,
49741         * src/pic16/glue.c (pic16emitRegularMap): various changes and
49742         improvements,
49743         * (pic16glue): changed the program startup sequence,
49744         * added new dbName code 'A' for functions placed in absolute section
49745         * src/pic16/main.c: added function attribute _naked,
49746         * added pragma 'code' to place a fnuction at an absolute address,
49747         * added command line arguments --debug-ralloc and --pcode-verbose,
49748         * (_pic16_finiliseOptions): options.all_callee_saves is set by default
49749         * src/pic16/pcode.c (pic16_pBlockConvert2Absolute) added,
49750         * (pic16_newpCodeOpLit2): modified to take the second operand as
49751         pCodeOp pointer,
49752         * (pic16_printpBlock): modified to emit each function in a separate
49753         section,
49754         * (pic16_get_op): modified to use the gpasm modifiers LOW,HIGH and
49755         UPPER for immediate operands,
49756         * src/pic16/pcodepeeph.c: added peephole support for the LFSR
49757         instruction,
49758         * src/pic16/peeph.def: all peepholes with movff are commented out,
49759         because there is a problem in the pcode peep optimizer,
49760         * src/pic16/ralloc.c: the register allocator can now reuse local
49761         function symbols for another function. This saves register usage.
49762         * src/pic16/ralloc.h: added flag isLocal in structure regs,
49764         Added file src/pic16/NOTES with information about program writing on
49765         the current port version.
49767 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49769         * src/mcs51/peephole.def: added peepholes 177.c,d (redundant moves)
49770         and peephole 252 (array access)
49772 2004-01-09  Borut Razem <borut.razem AT siol.net>
49774         * src/SDCCmain.c : fixed #872250: -l command line defined library
49775           files are scanned before standard library files
49777 2004-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49779         * src/SDCCast.c (decorateType): fixed bug #874046
49781 2004-01-09  Borut Razem <borut.razem AT siol.net>
49783         * support/scripts/sdcc.nsi: remove previous installation
49785 2004-01-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49787         * src/SDCCglue.c (createInterruptVect): don't append 7(5) padding
49788         bytes for last interrupt vector (mcs51)
49789         * sdcc.spec: fixed typo
49791 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49793         * src/mcs51/gen.c (genFunction, genEndFunction, genReceive, getTempRegs,
49794         gen51Code): more efficient parameter receive for --model-large
49795         ("bug" #845294)
49797 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49799         * src/ds390/main.c,
49800         * src/z80/main.c: added missed needLinkerScript flags (more than
49801         one port structure defined in these file)
49802         * src/ds390/gen.c (aopForSym, aopOp, operandsEqu, aopOp3): fixed
49803         bug #795325
49805 2004-01-08 Vangelis Rokas <vrokas AT otenet.gr>
49807         * src/SDCCmain.c: removed various references to DEFAULT_PORT
49808         * src/port.h: added flag needLinkerScript in port->linker
49809         structure to inform whether to create a .lnk file or not,
49810         * src/avr/main.c,
49811         * src/ds390/main.c,
49812         * src/hc08/main.c,
49813         * src/mcs51/main.c,
49814         * src/pic/main.c,
49815         * src/pic16/main.c,
49816         * src/xa51/main.c,
49817         * src/z80/main.c: changed appropriately to configure
49818         needLinkerScript flag
49819         * src/pic/gen.c,
49820         * src/pic16/gen.c (genAddrOf): fixed bug #863624
49821         * src/pic/glue.c: added variable udata_section_name to
49822         override default uninitialized data segment definition for
49823         devices only with SHAREBANK memory (reported from Erik Epetrich)
49824         * (pic14emitOverlay): modified to emit a commented overlay segment
49825         directive when no overlay data exist
49826         * (picglue): modified to emit uninitialized data segment
49827         according to udata_section_name
49828         * src/pic/main.c (_pic14_parseOptions): added command line
49829         options --udata-section-name=[name] to override default
49830         udata definition name
49831         * modified _linkCmd and _asmCmd to include compiler passed
49832         arguments via -W option
49833         * src/pic16/main.c: added $l in _asmCmd, changed extension for
49834         object file from '.rel' to '.o' in port->linker structure,
49835         changed size of fptr from 2 to 3 in port structure
49837 2004-01-07  Borut Razem <borut.razem AT siol.net>
49839         * support/scripts/sdcc.nsi: update PATH
49840         * support/scripts/sdcc.ico: craeted
49842 2004-01-07 Bernhard Held <bernhard AT bernhardheld.de>
49844         * device/include/Makefile.in: fix install
49845         * doc/Makefile: fix install
49847 2004-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49849         * src/SDCCsymt.c (processFuncArgs): fixed superflous allocation noted
49850         in bug #860505
49851         * src/SDCCmem.c (printAllocInfoSeg, printAllocInfo): minor changes to
49852         how the function variable allocation summary is displayed; also
49853         include information about variables allocated to the overlay
49854         segment
49856 2004-01-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49858         * as/mcs51/lkmain.c: Help about -Y option
49859         * as/mcs51/lkarea.c: Fixed gcc warnings
49861 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
49863         * src/SDCCval.c (valShift): changed from 16 to 32 bit shift count,
49864         fixed warning
49865         * support/valdiag/tests/overflow.c: added
49866         * src/SDCCast.c (decorateType),
49867         * src/SDCCicode.c (geniCodeLeftShift): added promotion to int for
49868         LEFT_OP (left shift)
49870 2004-01-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49872         * as/mcs51/lkmain.c: stack must be after data when option -Y is not used
49873         (default behaviour).
49875 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49877         A python script to validate compiler diagnostic messages. It can be
49878         used to verify that sdcc complains about bad c source code and
49879         gives a good location of the error.
49880         * support/valdiag/Makefile,
49881         * support/valdiag/valdiag.py,
49882         * support/valdiag/tests/*
49884 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49886         * src/SDCC.y (enum_specifier, enumerator_list, opt_assign_expr),
49887         * src/SDCCsymt.c (newEnumType),
49888         * src/SDCCsymt.h
49889         * support/Util/SDCCerr.c,
49890         * support/Util/SDCCerr.h: fixed bug #871258 and some other unreported
49891         enum related bugs.
49892         * support/regression/tests/enum.c: added test for enum values that
49893         require at least 2 bytes of storage.
49895 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
49897         * src/common.h: added ifndef/define/endif macros
49898         around the header file.
49899         Bug reported from Jesus Calvino-Fraga
49901 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
49903         * sdcc.spec: updated
49904         * device/include/Makefile.in: don't install CVS directories
49905         * device/lib/Makefile.in: added removal of CVS directories after install
49906         * doc/Makefile: fixed install, added local_icons
49907         * sim/ucsim/gui.src/Makefile.in: fixed an old typo
49908         * src/mcs51/gen.c (genRightShift): fixed bug #870788
49909         * src/ds390/gen.c (genRightShift): fixed bug #870788
49910         * src/SDCCast.c (decorateType): fixed bug #870781
49912 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
49914         PIC16 port related changes:
49915         * device.c: removed pic16_finalMapping and pic16_finalMappingSize,
49916         added variable stackPos,
49918         * gen.c: genCall, assignResultValue: added support for
49919         pushing/retrieving function parameters to/from stack,
49920         genFunction,genEndFunction: setup stack frame for the
49921         generated function,
49922         genAddrOf: will be changed according to bug 863624
49924         * added files genutils.c and genutils.h which contain gen*
49925         debugged and optimised functions extracted from gen.c
49927         * glue.c: added variable 'externs' which holds extern symbols,
49928         pic16emitRegularMap: is modified to properly handle relocatable
49929          symbols under the new scheme,
49930         pic16createInterruptVect: is modified
49931         pic16printPublics: is modified to emit 'global' assembler directives,
49932         added pic16_printExterns to print extern symbols,
49933         pic16glue: initializes stack/frame pointer in the beginning of
49934         the assembly output. Temporary hack, will be corrected later,
49935         because gplink yet does not support stack and SDCC does not
49936         yet support a type of crt0.o object to create the final binary.
49938         * Removed many lines that contain 8051 legacy code.
49939         * The code is finally placed under a 'code' directive.
49940         * Added port specific options.
49942         * _process_pragma: simplified since now we do not need *special*
49943         include file to define SFR registers. But a separate header
49944         will be needed. This will be developed later.
49945         * _pic16_parseOptions: added, parses port specific options:
49946         --pgen-banksel, --obanksel=, --pomit-config-words, --pomit-ivt,
49947         --pleave-reset-vector, --penable-stack, --pstack-model, --debug-xtra
49948         --preplace-udata-with=
49950         * _pic16_setDefaultOptions: modified to initialize section names,
49951         but hack is temporarly out of order since it needs improvement.
49952         * _pic16_genAssemblerPreamble: configuration words are emitted by
49953         their address instead of their name. This part is incomplete and
49954         supports only the 18Fxx2 devices. Other devices will emit an error
49955         during assembly since they do not contain the same set of config
49956         registers
49957         * _pic16_genIVT: is modified,
49959         * pcode.c: added definitions for some hardware registers that are needed
49960         for stack support
49961         * added flag is2LitOp and variable pci_magic in pCodeInstruction.
49962         All PCI entries are updated. Now LFSR is supported.
49963         * Removed pic16_pciTRIS is mentioned by mdubuc in source
49964         * added pic16_newpCodeOpLit2 to support instructions with
49965         two literal arguments
49966         * pic16_pCode2str: corrected code that emits assembler instructions
49967         with two literal operands and those that have an access bit modifier
49968         * genericPrint: now PC_ASMDIR pCodes, can emit a label if it exists,
49969         this fixes a bug which caused some labels to be lost, when an
49970         assembler directive was added, i.e. banksel,
49971         * pic16_FixRegisterBanking: improved logic that causes the insertion
49972         of bank switching,
49973         * InlineFunction: functions that are called once, are not any more
49974         inlined. This can be a port option in the future,
49976         * pcode.h: added pCodeOpLit2 and added variable label in pCodeAsmDir
49978         * ralloc.c: added pic16_rel_udata and pic16_fix_udata variables which
49979         hold the corresponding uninitialized symbols,
49980         * pic16_allocProcessorRegister: registers have explicit marked the
49981         accessBank field,
49982         * pic16_allocInternalRegister: registers are explicit marked as
49983         not used,
49984         * pic16_writeUsedRegs: pic16_dynDirectBitRegs was missing from the
49985         processing list, so bit registers were lost,
49986         *
49988         * ralloc.h: added field 'accessBank' and original symbol operand
49989         in register definition,
49990         * removed the field isMapped from register definition,
49992         ** Several functions have been removed from various sources:
49993         BanksUsedFlow2,BanksUsedFlow,FixBankFlow,InstructionRegBank,
49994         pic16_addMemRange,pic16_isREGinBank,pic16_dump_map,pic16_dump_cblock
49995         isSFR,validAddress,mapRegister,assignRegister,pic16_assignFixedRegisters
49996         pic16_assignRelocatableRegisters
49998         ** others have been introduced:
49999         pic16_areRegsSame,pic16_dump_section,checkAddReg,pic16_groupRegistersInSection
50000         pic16_popGetLit2,pic16_popCombine2,pushw,pushaop
50002 2004-01-05 Vangelis Rokas <vrokas AT otenet.gr>
50004         * support/scripts/inc2h.pl: changed definition of BIT_AT
50005         to emit 'sbit at' instead of 'bit at'. This was a request.
50007         PIC16 port related preliminary changes:
50008         * gen.c: prefixed function popRegFromString with
50009         pic16_ and all references to it corrected
50010         * pcode.c: all pic16_pc_* hardware registers prefixed
50011         with underscore (_),
50012         pic16_popCopyGPR2Bit(): function sets register wasUsed=1
50013         * ralloc.c: newReg(): when register is REG_SFR then
50014         set address to rIdx,
50015         pic16_allocProcessorRegister(): marks register wasUsed=0
50016         pic16_writeUsedRegs(): added a call to assign processor
50017         registers via pic16_assignFixedRegisters
50019 2004-01-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50021         * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c,
50022         as/mcs51/lkmain.c, as/mcs51/lkmem.c: 8051 linker can now pack
50023         variables in unused register banks.  Also the SSEG is placed
50024         wherever there is enough space for it, and IDATA can be anywhere
50025         in internal RAM.  For now compile using -Wl-Y[stack_size].
50026         The mem file is different for this option as well, since it
50027         makes no sense of talking about DSEG length.
50029 2004-01-02 Vangelis Rokas <vrokas AT otenet.gr>
50031         * src/SDCClrange.c: fixed bug 869095 that caused segfault
50032         in certain cases, e.g. when ROM assignment, patch provided
50033         from Albert den Haan.
50035 2004-01-01 Bernhard Held <bernhard AT bernhardheld.de>
50037         Many signedness and type propagation fixes:
50038         * src/SDCCicode.c: made geniCodeCast() static
50039         replaced SPEC_ by IS_ (cosmetic)
50040         (operandOperation): fixed div and mod operation
50041         (usualBinaryConversions): added support for promotion of char
50042         (geniCodeMultiply): replaced (unsigned long) by (TYPE_UDWORD)
50043         (geniCodeDivision): replaced (unsigned long) by (TYPE_UDWORD)
50044         (geniCodeAdd): an array index will stay unsigned, even if promoted
50045         from char to int
50046         (geniCodeArray): ditto
50047         * src/SDCCicode.h: made geniCodeCast() static: removed prototype
50048         * src/SDCCsymt.c (computeType): added more support for char;
50049         promotion of char is selectable by promoteCharToInt, fixed signedness
50050         for all cases
50051         (powof2): replaced (unsigned long) by (TYPE_UDWORD)
50052         * src/SDCCsymt.h (powof2): replaced (unsigned long) by (TYPE_UDWORD)
50053         * src/SDCCval (val*): replaced signedness calculation by
50054         computeType()
50055         rearranged if-branches (cosmetic)
50056         (valShift): added warning W_SHIFT_CHANGED
50057         (valCompare): fixed problem with different types
50058         * src/hc08/rallo.c (leastUsedLR): fixed gcc 3.3 warning
50059         * support/regression/tests/literalop.c: added many cases
50060         * support/regression/tests/ast_constant_folding.c: changed finally to
50061         'unsigned int'
50062         * .version: new year, new version: 2.3.7
50063         * src/SDCCmain.c (main): applied patch #866468
50064         * debugger/mcs51/sdcdb.c (parseCmdLine): added -k for ucsim, patch
50065         provided by Scott Bronson
50066         * doc/sdccman.lyx: updated documentation for sdcdb
50067         updated and added chapter tips
50069 2004-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50071         * src/SDCCsymt.h: missing from yesterday's commits
50073 2003-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50075         * src/SDCC.y (struct_or_union_specifier),
50076         * support/Util/SDCCerr.c,
50077         * support/Util/SDCCerr.h: verify that struct & union tags are used
50078         as declared.
50080 2003-12-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50082         * src/SDCCglobl.h: missing from yesterday's commits
50084 2003-12-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50086         * src/SDCC.y (external_definition, type_specifier2, sfr_reg_bit,
50087         sft_attributes, struct_declaration, parameter_declaration,
50088         type_name, start_block, declaration_list),
50089         * src/SDCC.lex (check_type): support redefinition of typedef names
50091 2003-12-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50093         * src/mcs51/gen.c (genPlus): added special handling for 256 byte
50094         aligned xdata arrays. Erik helped me with the if clause.
50096 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50098         * device/lib/ds390/tinibios.c (CpuSpeed): suppress unreachable code
50099         warning
50101 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50103         * src/SDCCast.h,
50104         * src/SDCCast.c (newAst_),
50105         * src/SDCCicode.h,
50106         * src/SDCCicode.c (ast2iCode, newiCode),
50107         * src/SDCCglobl.h,
50108         * src/SDCC.y (logical_and_expr, logical_or_expr, conditional_expr,
50109         expr, statement, expression_statement, selection_statement,
50110         iteration_statement, expr_opt, jump_statement): foundation for tracking
50111         sequence points
50112         * src/SDCCopt.c (killDeadCode): fixed bug #861580 (needs the sequence
50113         point code too)
50115 2003-12-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50117         * support/Util/SDCCerr.c,
50118         * src/SDCCast.h,
50119         * src/SDCCast.c (createCase, createDefault, decorateType),
50120         * src/SDCClabel.c (labelUnreach),
50121         * src/SDCC.y (labeled_statement, jump_statement): More improvements
50122         to error messages.
50123         * support/Util/SDCCerr.c (werrorfl): fixed a non-standard declaration
50124         (with thanks to Stas Sergeev)
50125         * device/include/time.h,
50126         * device/lib/time.c (CheckTime): suppress unreachable code warning
50128 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50130         * src/SDCCast.c (createIvalCharPtr),
50131         * src/SDCCglue.c (printChar): fixed bug #862241 (an error in my fix for
50132         bug #753752)
50133         * support/regression/tests/nullstring.c: tests for these two bugs
50135 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50137         * support/Util/SDCCerr.h,
50138         * support/Util/SDCCerr.c (E_NOT_ALLOWED),
50139         * src/SDCC.y (struct_declaration, struct_or_union_specifier): complain
50140         about storage class and 'at' used inside struct or union
50141         * src/SDCCBBlock.c (iCodeFromeBBlock),
50142         * src/SDCCcse.c (ifxOptimize),
50143         * src/SDCCglue.c (emitRegularMap, initPointer, printIvalStruct,
50144         printIvalArray, printiValFuncPtr, printIvalCharPtr, printIvalPtr,
50145         printIval, emitStaticSeg, emitOverlay),
50146         * src/SDCClabel.c (deleteIfx),
50147         * src/SDCCopt.c (replaceRegEqv, eBBlockFromiCode),
50148         * src/SDCCast.c (resolveSymbols, createIvalStruct, createIvalArray,
50149         gatherAutoInit, processParms),
50150         * support/Util/SDCCerr.h,
50151         * support/Util/SDCCerr.c (werrorfl): Support for better error location
50152         reporting for post-parse errors.
50154 2003-12-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50156         * src/SDCCval.c (valPlus, valMinus, valShift): fixed some problems with
50157         implicit casts via union; they don't work on big endian systems
50158         (possible fix for bug #861138)
50160 2003-12-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50162         (committed by Erik Petrich <epetrich AT ivorytower.norman.ok.us> on Frieder's behalf)
50163         * src/mcs51/main.c: fixed the fix for bug #737001
50165 2003-12-15  Borut Razem <borut.razem AT siol.net>
50167         * support/scripts/sdcc.nsi: updated for NSIS 2.0 beta 4
50169 2003-12-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50171         * support/makebin/makebin.c: put output in binary mode
50173 2003-12-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50175         * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears
50176         xdata and data memory on startup. Set the environment variable
50177         SDCC_NOGENRAMCLEAR to disable this.
50178         * src/mcs51/peephole.def,
50179         * src/ds390/peephole.def: using the atomic test and clear instruction jbc
50180         (allows non-interrupt and interrupt code to safely compete for a resource
50181         without the non-interrupt code having to disable interrupts)
50183 2003-12-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50185         * src/SDCCicode.c (geniCodeAdd),
50186         * src/SDCCast.c (decorateType): fixed bug #857753 (need to be careful
50187         with valFromType if type might be a pointer and host is big endian).
50188         * src/SDCCast.c (decorateType): unary plus compatible with all arithmetic
50189         types, not just integer types.
50190         * src/SDCCsymt.c (addSymChain): clarified error message when symbol is
50191         multiply defined with mismatching "at" address.
50193 2003-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50195         * src/ds390/main.c (PORT tininative_port): fixed bug #858416
50196         * src/SDCCglue.c (printChar, printIvalChar, emitStaticSeg),
50197         * src/SDCCast.c (createIvalCharPtr, stringToSymbol): handle strings
50198         with embedded nulls (fixed bug #753752)
50200 2003-12-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50202         * src/mcs51/main.c(_mcs51_genRAMCLEAR): using r0 instead of r1/r2.
50203         Apparently this did not see much testing (endless loop)
50205 2003-12-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50207         * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
50209 2003-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50211         * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
50212         gracefully handle NULL memmap pointers
50214 2003-12-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50216         * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
50217         instead of deleting the iCode when an operand is volatile
50218         * src/z80/gen.c (genDummyRead),
50219         * src/mcs51/gen.c (genDummyRead),
50220         * src/ds390/gen.c (genDummyRead),
50221         * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
50222         not just IC_RIGHT
50223         * src/SDCCicode.c (geniCodeCall): fixed bug #851607
50224         * src/SDCC.y: fixed bug #850420
50226 2003-12-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50228         Applied z80 i/o port patch from Peter Townson and fixed some operators
50229         to better handle operands in A register.
50230         * device/include/z180.h
50231         * src/SDCC.y
50232         * src/SDCCglue.c
50233         * src/z80/gen.c
50234         * src/z80/gen.h
50235         * src/z80/main.c
50236         * src/z80/peeph-z80.def
50237         * src/z80/peeph.def
50238         * src/z80/z80.h
50240 2003-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50242         * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
50244 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50246         * device/lib/hc08/_mullong.c: Removed extra #endif
50248 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50250         * sim/ucsim/hc08.src/inst.cc,
50251         * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
50252         carries from x to h
50253         * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
50254         * src/hc08/gen.c (XAccRsh): fixed problem with right shift
50255         * device/include/stdarg.h: fixed varargs for hc08
50256         * device/lib/Makefile.in,
50257         * device/lib/hc08/Makefile,
50258         * device/lib/hc08/_mulint.c,
50259         * device/lib/hc08/_mullong.c: fixed some endian problems
50261 2003-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50263         * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
50264         * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
50265         * device/lib/_gptrget.c,
50266         * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
50268 2003-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50270         * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
50271         * src/SDCCast.c (astErrors): fixed bug #846007
50272         * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
50274 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50276         * src/SDCCast.c (decorateType): disabled a transformation I added in
50277         revision 1.188 (access to fields of a structure at an absolute address);
50278         it breaks with bitfields, extern declarations, and gcse analysis.
50279         * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
50280         could be assigned through a pointer, so don't complain.
50281         * src/SDCCast.c (astErrors),
50282         * src/SDCCast.h,
50283         * src/SDCCglue.c (emitRegularMap): fixed bug #847813
50285 2003-11-26 Vangelis Rokas <vrokas AT otenet.gr>
50287         * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
50288         * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
50289         output of __config directives, since gpasm now supports them
50290         * src/pic16/main.c (_pic16_finaliseOptions): define MCU
50291         pre-processor macro, i.e. -DMCU=p18f452
50292         * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
50293         and modified to handle 'cast' icode similarly to '=' icode
50294         * src/pic16/device.h (typedef struct PIC_device): added field
50295         'extMIface' to indicate that chip has external memory interface
50296         * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
50297         18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
50298         18F8720
50300 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50302         * src/SDCC.y (pointer): fixed bug #846006
50303         * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
50304         * src/SDCCast.c (decorateType): fixed bug #846009
50305         * src/ds390/peeph.def,
50306         * src/ds390/gen.c (genAnd, genOr),
50307         * src/mcs51/peeph.def,
50308         * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
50310 2003-11-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50312         Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
50313         * src/SDCCdflow.c
50314         * src/SDCCcse.c
50315         * src/SDCCcse.h
50316         * src/SDCCBBlock.h
50317         * src/SDCCBBlock.c
50319 2003-11-23 Klaus Flittner <klaus_flittner AT gmx.de>
50321         fixed bug #845089
50322         * src/SDCCbitv.h,
50323         * src/SDCCbitv.c: added function to free a bitvector
50324         * src/SDCClrange.h,
50325         * src/SDCClrange.c: added function to recompute the liveranges
50326         * src/avr/ralloc.c,
50327         * src/ds390/ralloc.c,
50328         * src/hc08/ralloc.c,
50329         * src/mcs51/ralloc.c,
50330         * src/pic/ralloc.c,
50331         * src/pic16/ralloc.c,
50332         * src/xa51/ralloc.c,
50333         * src/z80/ralloc.c: recompute the liveranges after register packing
50335 2003-11-21 Klaus Flittner <klaus_flittner AT gmx.de>
50337         * src/SDCCloop.c (newInduction): fixed bug #845630
50339 2003-11-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50341         * src/SDCCsymt.c (compareTypesExact): disabled debugging output
50342         inadvertantly left behind from my 2003-11-12 change
50344 2003-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50346         Updated headers I neglected to commit yesterday.
50347         * src/SDCClrange.h,
50348         * src/SDCCicode.h
50350 2003-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50352         * src/SDCCcse.c (algebraicOpts): fixed bug #773153
50353         * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
50354         * src/SDCCopt.c (eBBlockFromiCode),
50355         * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
50356         the creation of the key hash table from the sequencing so it can be used
50357         earlier (for some GCSE bug fixes still pending)
50359 2003-11-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50361         * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
50362         * support/regression/tests/addsub.c: testing genPlus shortcut
50364 2003-11-15  Borut Razem <borut.razem AT siol.net>
50366         * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
50368 2003-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50370         * src/SDCCcse.c (cseBBlock): fixed bug #527779
50371         * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
50372         ordering is immaterial.
50373         * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
50375 2003-11-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50377         * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
50378         * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
50379         (SIGSEV) of bug #840381
50380         * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
50381         unlink new file before rename if new and old filenames are the same)
50383 2003-11-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50385         * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
50386         uninitialized variables) for the mcs51. Set environment variable
50387         SDCC_GENRAMCLEAR to test.
50388         xdata initialization slightly shorter
50390 2003-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50392         * src/SDCCsymt.h,
50393         * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
50394         #838241 & 780691 (basicly the same bug)
50395         * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
50396         * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
50398 2003-11-11 Bernhard Held <bernhard AT bernhardheld.de>
50400         * src/SDCCmain.c (linkEdit): "fix" #834252
50402 2003-11-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50404         * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
50405         * src/SDCCast.h,
50406         * src/SDCC.y: fixed bug #819403
50408 2003-11-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50410         * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
50411         the reentrant attribute.
50412         * src/hc08/gen.c (genPackBits): added missing stack readjustment
50413         * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
50414         simulation
50415         * src/SDCCast.c (decorateType): fixed bug with storage class not being
50416         updated during pointer dereference; f.e. ~(((char *)1)*) was being
50417         erroneously reduced to a literal.
50418         * src/hc08/ralloc.c (packRegisters, rematStr),
50419         * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
50420         some cases
50422 2003-11-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50424         * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
50425         * doc/sdccman.lyx: changed from 'article' to 'book'
50426         * doc/Makefile: readded test_suite_spec and cdbfileformat
50428 2003-11-08 Bernhard Held <bernhard AT bernhardheld.de>
50430         * device/include/stdlib.h: include malloc.h to comply with ANSI
50431         * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
50433 2003-11-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50435         * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
50436         * doc/clean.mk: also remove *.out files
50437         * doc/sdccman.lyx: some additions, larger top/bottom margins
50439 2003-11-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50441         * src/SDCC.y: fixed bug #837365
50442         * support/regression/tests/bitopcse.c
50443         * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
50444         a symbol (might be valop instead)
50445         * device/lib/Makefile.in: added errno.c to HC08SOURCES
50446         * device/lib/clean.mk: added hc08 to the cleaning list
50448 2003-11-04  Borut Razem <borut.razem AT siol.net>
50450         * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
50451           made 2003-11-04
50452         * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
50453           as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
50454           malloc is declared in standard stdlib.h
50456 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50458         * device/lib/hc08/Makefile: need to clean .rel not .o files
50459         * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
50461 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50463         * src/port.h,
50464         * src/hc08/main.c,
50465         * src/mcs51/main.c,
50466         * src/ds390/main.c,
50467         * src/z80/main.c,
50468         * src/avr/main.c,
50469         * src/pic/main.c,
50470         * src/pic16/main.c,
50471         * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
50472         * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
50473         tests (which uses the port's oclsExpense function)
50474         * src/SDCC.y,
50475         * src/SDCCast.c,
50476         * src/SDCCicode.c,
50477         * src/hc08/gen.c,
50478         * src/ds390/gen.c,
50479         * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
50481 2003-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50483         * src/SDCCcse.c (ifxOptimize),
50484         * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
50485         an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
50486         deleting the IFX iCode.
50487         * src/hc08/ralloc.c: reduced unneeded slocs
50488         * src/hc08/gen.c: fixed bug in asmopToBoolean
50490 2003-11-04  Borut Razem <borut.razem AT siol.net>
50492         * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
50493           support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
50494           as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
50495           transferred to configure
50497 2003-11-03 Bernhard Held <bernhard AT bernhardheld.de>
50499         Use headers defined in the C[++] standards:
50500         * sim/ucsim/gui.src/serio.src/fileio.cc
50501         * sim/ucsim/gui.src/serio.src/frontend.cc
50502         * sim/ucsim/gui.src/serio.src/main.cc
50503         * sim/ucsim/gui.src/serio.src/posix_signal.cc
50504         * support/Util/NewAlloc.c
50505         * as/hc08/lklibr.c
50506         * as/mcs51/lklibr.c
50507         * as/z80/aslist.c
50508         * as/z80/assym.c
50510 2003-11-03  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50512         * Added MSVC projects for hc08 assembler and linker:
50513         all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
50514         /as/hc08/link_hc08.dsp
50516 2003-11-03 Martin Helmling <Martin.Helmling AT octo-soft.de>
50518         * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)
50520 2003-11-02 Bernhard Held <bernhard AT bernhardheld.de>
50522         * src/SDCCmain.c (linkEdit): "fixed" again bug #833605
50524 2003-11-01 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50526         * src/mcs51/main.c: xdata initialization is 13 bytes shorter now
50528 2003-10-31  Borut Razem <borut.razem AT siol.net>
50530         * support/cpp2/cpplib.h,
50531           support/cpp2/cpplib.c,
50532           support/cpp2/cpplex.c,
50533           support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ]
50534           to switch _asm block preprocessing on / off. Default is
50535           #pragma preproc_asm +
50537 2003-10-31  Borut Razem <borut.razem AT siol.net>
50539         * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences
50540           when outputting comment blocks (when executed with -C option) and
50541           _asm (SDCPP specific) blocks
50543 2003-10-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50545         * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning
50547 2003-10-31 Klaus Flittner <klaus_flittner AT gmx.de>
50549         * src/SDCCcse.c (updateSpillLocation): fixed bug #808027
50551 2003-10-31 Bernhard Held <bernhard AT bernhardheld.de>
50553         * src/SDCCmain.c (linkEdit): "fixed" bug #833605
50554         * src/SDCCast.c (decorateType): fixed bug #832664
50556 2003-10-31  Borut Razem <borut.razem AT siol.net>
50558         * support/cpp2/cpplex.c: fixed for SDCPP:
50559           comments(when executed with -C option) and _asm blocks
50560           were included even if they where in skipped #if block.
50561           Applied solution from GCC cpp 3.3.2
50563 2003-10-31  Borut Razem <borut.razem AT siol.net>
50565         * src/SDCC.lex: sdcc now understands both formats:
50566           '# <line_number> <file_name>' and
50567           '#line <line_number> <file_name>'
50568         * support/cpp2/cppmain.c: sdcpp now generates the standard
50569           '# <line_number> <file_name>' instead of former
50570           '#line <line_number> <file_name>'
50572 2003-10-30  Borut Razem <borut.razem AT siol.net>
50574         * support/cpp2/cpphash.h,
50575         * support/cpp2/cpplib.h
50576         * support/cpp2/cpplex.c,
50577         * support/cpp2/cppmain.c,
50578         * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants
50580 2003-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50582         Fixed a number of problems revealed by bug #827883.
50583         * src/SDCCloop.c (loopInvariants): Spill location of the
50584         result operand should be recomputed if extracted from
50585         a loop. Also, don't extract assignments of an iTemp
50586         from a literal.
50587         * src/SDCCast.c (isConformingBody): loop reversal should
50588         not occur if the control variable is involved with a
50589         relational operator.
50591 2003-10-28 Bernhard Held <bernhard AT bernhardheld.de>
50593         * .version: bumped to 2.3.6 to reflect the big improvements
50594         made by Erik and Klaus. Thanks!
50596 2003-10-28 Klaus Flittner <klaus_flittner AT gmx.de>
50598         Replaced the livrange code.
50599         * src/SDCClrange.c: added new LR code
50600         * src/SDCCloop.c,
50601         * src/SDCCBBlock.h: removed remainig parts from old LR code
50602         * src/ds390/ralloc.c,
50603         * src/ds390/gen.c: minor fixes to make it work with new code
50605 2003-10-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50607         * as/hc08/asm.h,
50608         * as/hc08/lkrloc.c,
50609         * src/hc08/gen.c,
50610         * src/hc08/ralloc.c: Fix various warnings related to the hc08
50611         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717
50612         (tweaked fix for bug #818696)
50614 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50616         * src/z80/ralloc.c (joinPushes): Fixed bug #828742
50618 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50620         * src/SDCCmain.c,
50621         * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work)
50622         * src/mcs51/gen.c (gencjneshort),
50623         * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand
50624         more efficient (per Scott Bronson's suggestion)
50626 2003-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50628         Extended the semantics of the critical keyword to include
50629         individual statements. See RFE #827755 and #799831
50630         * src/SDCC.y
50631         * src/SDCCicode.c
50632         * src/SDCCopt.c
50633         * src/SDCCast.c
50634         * support/Util/SDCCerr.c
50635         * support/Util/SDCCerr.h
50636         * src/mcs51/gen.c
50637         * src/ds390/gen.c
50638         * src/hc08/gen.c
50640 2003-10-19  Borut Razem <borut.razem AT siol.net>
50642         * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31
50644 2003-10-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50646         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode):
50647         Fixed bug #818696
50648         * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement
50649         and predecrement operand is displayed
50651 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
50653         * src/SDCCval.c (valMinus): fixed bug #826041
50655 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50657         Some hc08 related updates that I missed earlier
50658         * sim/ucsim/stypes.h
50659         * support/regression/ports/hc08/spec.mk
50661 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50663         New target "hc08" for the Motorola 68hc08 family of micros
50665         * configure
50666         * configure.in
50667         * Makefile
50668         * src/hc08/*
50669         * src/SDCCmain.c
50670         * src/port.h
50671         * sim/ucsim/hc08.src/*
50672         * sim/ucsim/configure.in
50673         * src/ucsim/configure
50674         * sim/ucsim/packages_in.mk
50675         * as/hc08/*
50676         * as/Makefile
50677         * device/include/mc68hc908qy.h
50678         * device/lib/hc08/*
50679         * device/lib/Makefile.in
50680         * support/regression/ports/hc08/*
50681         * support/regression/Makefile
50683 2003-10-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50685         * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c
50686         regression test
50687         * src/ds390/gen.c (genCast): fixed bug #821957
50689 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
50691         * device/lib/logf.c: "fixed" overlay bug
50692         * support/regression/ports/host/spec.mk: added m library
50693         * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs
50694         * support/regression/tests/float_trans: added (for Eric)
50696 2003-10-12 Bernhard Held <bernhard AT bernhardheld.de>
50698         * src/mcs51/gen.c (genCpl): fixed bug
50699         http://sf.net/mailarchive/message.php?msg_id=6263915
50701 2003-10-10 Bernhard Held <bernhard AT bernhardheld.de>
50703         * src/SDCCast.c (decorateType): added extended constant folding
50704         * src/SDCCsymt.c (computeType): cleanup
50705         * src/SDCCval.c (valShift): minor optimization
50706         * support/regression/tests/ast_constant_folding.c: added
50708 2003-10-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50710         * src/SDCCmain.c: removed some unintended changes
50712 2003-10-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50714         * src/SDCCmain.c (setParseWithComma): fixed bug #816685
50715         * src/z80/gen.c: fixed part of bug #817589
50716         * src/SDCCsymt.c (checkFunction): fixed bug #817895
50718 2003-10-08 Bernhard Held <bernhard AT bernhardheld.de>
50720         Replaced cast (void **) with (void *) to avoid gcc 3 warning:
50721         * src/SDCCcflow.c
50722         * src/SDCCcse.c
50723         * src/SDCCdflow.c
50724         * src/SDCClabel.c
50725         * src/SDCClrange.c
50726         * src/SDCCmem.c
50727         * src/SDCCopt.c
50728         * src/SDCCpeeph.c
50729         * src/SDCCset.c
50730         * src/avr/ralloc.c
50731         * src/ds390/ralloc.c
50732         * src/izt/ralloc.c
50733         * src/mcs51/ralloc.c
50734         * src/pic/ralloc.c
50735         * src/pic16/ralloc.c
50736         * src/xa51/ralloc.c
50737         * src/z80/ralloc.c
50738         * src/z80/gen.c: removed unused label "release:"
50740 2003-10-06  Borut Razem <borut.razem AT siol.net>
50742         * src/SDCC.lex: removed definition of unused variables
50743           save_optimize and save_options
50745 2003-10-06 Bernhard Held <bernhard AT bernhardheld.de>
50747         * clean.mk: removed '=' in "-maxdepth=1"
50748         * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS
50749         * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS
50751 2003-10-06  Borut Razem <borut.razem AT siol.net>
50753         * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions;
50754           my_unput() replaced by unput()
50756 2003-10-05 Bernhard Held <bernhard AT bernhardheld.de>
50758         * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
50759         setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
50760         type-punned pointer will break strict-aliasing rules"
50761         Old LR behaviour is again default; Klaus' LR can be choosen by
50762         defining the environment variable LRKLAUS
50763         * src/SDCCBBlock.h
50764         * src/SDCCloop.c
50765         * src/SDCClrange.c
50766         * src/ds390/ralloc.c (spillThis): applied Klaus' patch
50767         * clean.mk: fixed removal of files in bin/CVS/
50768         * device/lib/clean.mk: fixed removal of directories small and large
50769         * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
50770         * src/SDCCicode.c,
50771         * src/SDCCval.c: removed superflous test for pedantic
50773 2003-10-05  Borut Razem <borut.razem AT siol.net>
50775         * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
50776           Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
50777           message "unmatched #pragma SAVE and #pragma RESTORE"
50779 2003-10-04  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50781         * doc/sdccman.lyx: various additions and updates (interrupts, inline
50782           assembly, critical functions, atomic, nojtbound)
50784 2003-10-04 Bernhard Held <bernhard AT bernhardheld.de>
50786         Applied liferange patch from Klaus Flittner <klaus_flittner AT gmx.de>
50787         * src/SDCCBBlock.h
50788         * src/SDCCloop.c
50789         * src/SDCCloop.h
50790         * src/SDCClrange.c
50792 2003-10-03  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50794         * src/z80/gen.h,
50795         * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
50796         * src/mcs51/gen.h
50797         * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
50798         * src/ds390/gen.h
50799         * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
50800         * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
50801         * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
50803 2003-10-02  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50805         * src/z80/gen.c (genRet): fixed bug #524753
50806         * src/z80/gen.c (genCast): fixed internal error on cast from
50807         pointer to long
50808         * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
50809         fix for bug #477835 to the z80
50810         * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
50811         for tracking iCodes in the peephole optimizer for z80
50813 2003-10-01  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50815         * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
50816         the other part of bug #814548
50817         * src/SDCCpeeph.c (labelInRange): fixed bug #814558
50819 2003-09-30  Bernhard Held <bernhard AT bernhardheld.de>
50821         * src/SDCCcse.c: fixed part of bug #814548
50823 2003-09-28  Borut Razem <borut.razem AT siol.net>
50825         * src/asm.c: rewrite of printILine() to use temporary file instead
50826           a pipe
50827         * src/xa51/main.c: commented out declaration of int rewinds
50829 2003-09-27  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50831         * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
50833 2003-09-26  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50835         * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
50836         * src/asm.c (printILine): Fixed bug #811015
50838 2003-09-22  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50840         *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
50841         freeing.
50843 2003-09-21  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50845         * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
50846         * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
50847         to correctly handle general case of AOP_PAIRPTR
50848         * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
50850 2003-09-21  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50852         * src/mcs51/ralloc.c (fillGaps),
50853         * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
50854         register positioning bug)
50856 2003-09-21  Bernhard Held <bernhard AT bernhardheld.de>
50858         * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
50860 2003-09-19  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50862         * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
50863         genCodePointerGet, genGenPointerGet, genFarPointerSet,
50864         genGenPointerSet): handle AOP_DPTR correctly when loading dptr
50865         (ralloc doesn't intentionally do this now, but perhaps later)
50866         * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
50867         * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
50868         register positioning bugs (Fixed bug #762602 and #795325)
50869         * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
50870         (Fixed bug #808779)
50871         * src/z80/gen.c: increased _vemit2's buffer[] to handle long
50872         lines that --i-code-in-asm generates
50874 2003-09-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50876         *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
50877         trying to fclose a FILE* that was already closed.
50879 2003-09-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50881         * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
50882         of const struct should be treated as if const themselves)
50884 2003-09-18  Bernhard Held <bernhard AT bernhardheld.de>
50886         * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
50888 2003-07-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50890         * support/librarian/sdcclib.c: Generate correct offsets for libraries with
50891         Unix (/n) and DOS (/r/n) line terminations.
50893 2003-09-17  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50895         * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
50896         bug #613775
50898 2003-09-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50900         * src/mcs51/gen.c (genFunction, genEndFunction),
50901         * src/ds390/gen.c (genFunction, genEndFunction): Moved save
50902         and restore of EA so that stack offsets to parameters are
50903         correct when using both critical and reentrant/stack-auto.
50904         * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
50905         size (can be triggered in error if sloc is shared between
50906         different sized objects)
50907         * device/include/float.h: fixed macros to explicitly use
50908         unsigned long where needed
50910 2003-09-15  Bernhard Held <bernhard AT bernhardheld.de>
50912         Feature req. 799831: added code to allow nesting of critical functions
50913         * src/mcs51/gen.c (genFunction, genEndFunction)
50914         * src/ds390/gen.c (genFunction, genEndFunction)
50916 2003-09-14  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50918         * src/SDCCsymt.c (sclsFromPtr),
50919         * src/SDCCsymt.h,
50920         * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
50921         support for standard C idiom of memory mapped variables; for
50922         example, *((xdata int*)0x1234) = 1 is now internally equivalent
50923         to xdata int at 0x1234 tempvar = 1.
50924         * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
50925         provided by Akiya ISHIDA
50927 2003-09-13  Bernhard Held <bernhard AT bernhardheld.de>
50929         * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
50930         * src/SDCCval.c (constVal): added reduction from int to char
50931         * src/SDCCval.c (valMult, valDiv): fixed sign handling
50932         * src/SDCCval.c (valShift): fixed after change of cheapestVal()
50933         * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
50934         to ignore the sign
50935         * support/regression/tests/shifts.c: fixed
50937 2003-09-13  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50939         * src/z80/gen.c (genXor): Fixed bug #805445
50941 2003-09-12  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50943         Fixed bug #621531 (const & volatile confusion in the type chain).
50944         DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
50945         refer to the const or volatile state of the pointer itself.
50947         * src/SDCCast.c
50948         * src/SDCCglue.c
50949         * src/SDCCicode.c
50950         * src/SDCCsymt.c
50951         * src/SDCCval.c
50952         * src/SDCC.y
50953         * src/SDCCsymt.h
50954         * src/pic/gen.c
50955         * src/pic/ralloc.c
50956         * src/pic16/gen.c
50957         * src/pic16/ralloc.c
50958         * support/regression/tests/const.c
50960 2003-09-10  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50962         When checking for duplicated modules, use absolute paths
50963         instead of relative paths.  Files changed:
50965         * as/mcs51/lklib.c
50966         * link/z80/lklib.c
50968 2003-09-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50970         * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
50972 2003-09-07  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50974         * device/include/string.h: added size_t typedef, changed
50975         prototypes to use size_t, eliminated separate reentrant and
50976         non-reentrant declarations, added _memmove declaration
50977         * device/lib/_memcpy.c: changed to use size_t instead of int,
50978         changed /4 to >>2 to avoid division library call
50979         * device/lib/_memcmp.c,
50980         * device/lib/_memset.c,
50981         * device/lib/_strncat.c,
50982         * device/lib/_strncpy.c,
50983         * device/lib/_strncmp.c: changed to use size_t instead of int
50984         * device/lib/_memmove.c: new file (fixed bug #772294)
50985         * device/lib/Makefile.in: added _memmove.c
50986         * device/lib/z80/asm_strings.s: fixed bug #772290
50987         * support/regression/tests/bitfields.c: attempt to fix host assertion
50988         failure on amd64-unknown-linux2.2
50990 2003-09-06  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50992         * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
50993         * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
50994         * as/z80/asmain.c (main): fixed bug #801766
50996 2003-09-06  Bernhard Held <bernhard AT bernhardheld.de>
50998         * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
50999         compilers
51001 2003-09-05  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51003         * src/SDCCast.c (isConformingBody): fixed loop reversal bug
51004         reported in bug #800609
51006 2003-09-04  Vangelis Rokas <vrokas AT otenet.gr>
51008         * Top header beautifications in src/pic16 directory:
51009           device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
51010           pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
51011           pcoderegs.h, ralloc.c, ralloc.h
51012         * main.c: added top header and GPL license notice
51013         * pcode.c: fixed the if-conditional warning
51015 2003-09-04  Bernhard Held <bernhard AT bernhardheld.de>
51017         * device/lib/_mullong.c: replaced int by short for gcc
51019 2003-08-31  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51021         * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
51022         and JUMPTABLE iCodes properly now (worked by accident before)
51023         * src/mcs51/gen.c (leftRightUseAcc),
51024         * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
51025         iCode properly now. Use getSize instead of nRegs since a & b
51026         aren't part of the nRegs tally.
51028 2003-08-31  Vangelis Rokas <vrokas AT otenet.gr>
51030         * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
51031         * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
51032           before instructions that use the _STATUS register
51034 2003-08-31  Bernhard Held <bernhard AT bernhardheld.de>
51036         * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
51037         * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
51038         fetching of the pointer
51039         * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
51040         copied from genNearPointerSet()
51041         * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
51042         * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
51043         If they pop r0/r1 they must be called in the opposite order than aopOp().
51044         * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
51045         (resp. --stack-auto), prepared for --xstack
51047 2003-08-28  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51049         * doc/sdccman.lyx: reverted tables to those in cvs 1.64
51051 2003-08-28  Bernhard Held <bernhard AT bernhardheld.de>
51053         * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
51054         these ports have their own __sdcc_external_start()
51056 2003-08-26  Bernhard Held <bernhard AT bernhardheld.de>
51058         pic patch provided by Slade Rich <slade_rich AT yahoo.com>
51059         * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
51060         type for bits was changed. It resulted in bit variables becoming
51061         global, which is not permitted in PIC 14 assembly output.
51063 2003-08-23  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51065         * doc/sdccman.lyx: various additions and updates. Rearranged sections
51067 2003-08-22  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51069         Z80 and MCS51 linkers complaint if a public symbol is defined
51070         in more than one library module:
51072         * as/mcs51/lklib.c
51073         * link/z80/lklib.c
51074         * as/mcs51/Makefile.in
51076 2003-08-22  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51078         A few small changes that speed up the peephole optimizer.
51080         * src/SDCCpeeph.c
51082 2003-08-22  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51084         Try to make the peephole optimizer smarter by maintaining
51085         an association between the assembly source code and the
51086         iCodes that originated them. Put this information to use
51087         with a new peephole rule condition "notVolatile" so that
51088         the rules can be aggressive yet still safe.
51090         * src/SDCCpeeph.c
51091         * src/SDCCpeeph.h
51092         * src/mcs51/gen.c
51093         * src/mcs51/peeph.def
51095 2003-08-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51097         Fixed bug #741761
51099         * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
51100         * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
51101         if the left or right operand symbols have the accuse flag set.
51103 2003-08-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51105         Changed the type of the result of the ! (NOT) operator to char;
51106         previously it returned the same type as the source. This allows
51107         us to eliminate all the genFloatNot functions (all of its target
51108         implementations were very buggy) since !float can use the same
51109         code as !long now.
51111         * src/SDCCicode.c (ast2iCode): ! returns char
51112         * src/mcs51/gen.c (genNot, genNotFloat),
51113         * src/ds390/gen.c (genNot, genNotFloat),
51114         * src/z80/gen.c (genNot, genNotFloat),
51115         * src/pic/gen.c (genNot, genNotFloat),
51116         * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
51118 2003-08-19  Bernhard Held <bernhard AT bernhardheld.de>
51120         pic patch provided by Slade Rich <slade_rich AT yahoo.com>
51121         1. Interrupt would not compile properly. Ensure PCLATH register is saved
51122            during interrupts. Ensure WSAVE is located at a shared bank address.
51123         2. Fixed page selection in some places
51124         3. Fixed BTFSS/C to where necessary use registers directly and not simply
51125            the registers name strings.
51126         4. Fixed "signed / unsigned compare" compiler warnings.
51127         5. The PIC port manages its own allocation of the general purpose
51128            registers, but makes no attempt to reuse them. As a result when
51129            compiling it soon runs out of general purpose registers. Some
51130            additional code was added to the files pcode.c and device.c to walk
51131            through the function call tree and rename the registers so that they
51132            get reused.
51134         * src/pic/device.c
51135         * src/pic/gen.c
51136         * src/pic/glue.c
51137         * src/pic/pcode.c
51138         * src/pic/pcode.h
51139         * src/pic/ralloc.c
51140         * src/pic/ralloc.h
51141         * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
51142         genPlus() & genMinus() when the result is the same as left or right
51144 2003-08-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51146         * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
51148 2003-08-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51150         Made bitfield a distinct type from bit so that bitfields
51151         convert as per ANSI C and bits retain their traditional
51152         boolean style behaviour. Implemented bitfield support in
51153         the z80 port.
51155         * src/SDCCsymt.h,
51156         * src/SDCCsymt.c,
51157         * src/SDCCast.c,
51158         * src/cdbFile.c,
51159         * src/mcs51/gen.c,
51160         * src/ds390/gen.c: bit v bitfield split
51161         * src/z80/gen.c: New support for bitfields
51162         * support/regression/tests/bitfields.c: reenabled z80,
51163         added more tests
51165 2003-08-17  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51167         Rules 246.x, 247.x relate to bitfields, the others speed up
51168         access to xdata mapped I/O devices.
51170         * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
51172 2003-08-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51174         Cleaned up genPackBits and genUnpackBits and added two helper
51175         functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
51176         for literal assignments in genPackBits (thanks to Frieder for
51177         reminding me).
51179         * src/mcs51/gen.c
51180         * src/ds390/gen.c
51182 2003-08-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51184         Fixed bug #748310 (pointer to function type mishandled when the
51185         function name is omitted). Also fixed a SIGSEGV when a function
51186         attribute (reentrant, etc) is used on a non-function or on a
51187         function but misplaced before the parameter list.
51189         * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
51190         bug #748310
51191         * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
51192         * support/Util/SDCCerr.h,
51193         * support/Util/SDCCerr.c: Added func attr misuse error msg
51195 2003-08-13  Bernhard Held <bernhard AT bernhardheld.de>
51197         Fixed bug #787649 by anonymous
51198         * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
51199         * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
51201 2003-08-14  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51203         Fixed numerous bitfield problems.
51205         * src/SDCC.y: More bitfield related error checking
51206         * src/SDCCsymt.h,
51207         * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
51208         * support/Util/SDCCerr.h,
51209         * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
51210         * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
51211         * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
51212         * support/regression/tests/bitfields.c: tests added
51214 2003-08-13  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51216         Made the constant following the "interrupt" keyword optional. If
51217         omitted, the function will not automatically be given an entry
51218         in the interrupt vector table (similar to #pragma NOIV, but
51219         less syntacticly kludgy). The interrupt number is also now
51220         range checked. Also fixed a bug in the high order bit example
51221         in the manual.
51223         * src/SDCC.y
51224         * src/SDCCmem.c
51225         * src/SDCCglue.c
51226         * src/SDCCsymt.h
51227         * support/Util/SDCCerr.c
51228         * support/Util/SDCCerr.h
51229         * doc/sdccman.lyx
51231 2003-08-13  Bernhard Held <bernhard AT bernhardheld.de>
51233         * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
51234         * src/SDCCicode.c (operandOperation): rewritten some ops
51235         (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
51236         * src/SDCCsymt.c (computeType): literals are handled the same way as any
51237         other type
51238         * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
51239         be re-activated by defining REDUCE_LITERALS)
51240         * src/SDCCval.c (constVal): fixed; hex and octal constants can be
51241         unsigned, but are signed by default
51242         * src/SDCCval.c (constVal): rearranged
51243         * src/SDCCval.c (valMod): preliminary fix
51244         * src/SDCCval.c (valCastLiteral): use TYPE_* types
51245         * support/regression/literalop.c: added, work in progress
51247 2003-08-12  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51249         Generate warnings for useless declarations like "char data;"
51250         that don't do what new users expect.
51252         * src/SDCC.y
51253         * support/Util/SDCCerr.h
51254         * support/Util/SDCCerr.c
51256 2003-08-09  Bernhard Held <bernhard AT bernhardheld.de>
51258         * src/SDCCval.c (valMult): fix overflow detection of negative int
51260 2003-08-07  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51262         * src/z80/ralloc.c (joinPushes): made compatible with new signedness
51264         Changes to support big endian targets:
51266         * src/ports.h
51267         * src/SDCCglue.c
51268         * src/avr/main.c
51269         * src/ds390/main.c
51270         * src/izt/i186.c
51271         * src/mcs51/main.c
51272         * src/pic/main.c
51273         * src/pic16/main.c
51274         * src/xa51/main.c
51275         * src/z80/main.c
51277 2003-08-06  Bernhard Held <bernhard AT bernhardheld.de>
51279         * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
51280         * device/lib/time.c: fixed warning "integer overflow in expression"
51282 2003-08-05  Bernhard Held <bernhard AT bernhardheld.de>
51284         * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
51285         * src/SDCCval.c (constVal): changed default to signed; hex and octal
51286         constants are unsigned; added recognition of "u" flag for unsigned
51287         * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
51288         * src/SDCCval.c (valDiv, valMod): fixed signdness
51289         * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
51290         signedness of modulo, left and right shift
51291         * support/Util/SDCCerr.c: added warning "integer overflow in expression"
51292         * support/Util/SDCCerr.h: added warning W_INT_OVL
51293         * src/SDCCast.c (decorateType): fixed gcc3.3 warning
51294         * src/SDCCast.c (ast_print): improved output of constants
51296 2003-08-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51298         Fixed some warnings when building with MSVC:
51300         * as/mcs51/asdata.c
51301         * as/z80/asdata.c
51302         * as/mcs51/asm.h
51303         * as/z80/asm.h
51304         * link/z80/aslink.h
51305         * link/z80/lkdata.c
51306         * link/z80/lkeval.c
51307         * link/z80/lkgb.c
51308         * link/z80/lkihx.c
51309         * link/z80/lks19.c
51310         * link/z80/lksym.c
51311         * support/cpp2/cpplib.c
51312         * src/ds390/gen.c
51313         * src/mcs51/gen.c
51315 2003-08-03  Bernhard Held <bernhard AT bernhardheld.de>
51317         * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth AT isi.edu>
51319 2003-08-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51321         * support/librarian/clean.mk: Do not remove Makefile.
51322         * support/librarian/Makefile: added.
51324 2003-08-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51326         Added librarian to MSVC build:
51327         * all.dsp
51328         * sdcc.dsw
51329         * support/librarian/librarian.dsp
51331         'configure' not needed for librarian, removed:
51332         * support/librarian/configure
51333         * support/librarian/configure.in
51334         * support/librarian/config_in.h
51335         * support/librarian/Makefile.in
51337         Hopefully these ones built the librarian and the rest of sdcc properly:
51338         * Makefile
51339         * Makefile.common.in
51341         Messed up 'configure', so revert to previous version:
51342         * configure
51343         * configure.in
51345 2003-07-31  Bernhard Held <bernhard AT bernhardheld.de>
51347         * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
51348         there, while the mantissa of a double is "only" 53 bits wide.
51350 2003-07-31  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51352         Adding sdcclib to the build.  MSVC project coming soon.
51353         Files added/changed:
51355         * support/librarian/clean.mk
51356         * support/librarian/configure
51357         * support/librarian/configure.in
51358         * support/librarian/config_in.h
51359         * support/librarian/Makefile.bcc
51360         * support/librarian/Makefile.in
51361         * support/librarian/sdcclib.c
51362         * Makefile.bcc
51363         * Makefile
51364         * Makefile.common.in
51365         * configure
51366         * configure.in
51368 2003-07-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51370         Linker now complaints if linked modules have conflicting options, for
51371         example, one compiled using --model-large and another one compiled with
51372         --model-small.  The following files were modified:
51374         * as/mcs51/asdata.c
51375         * as/mcs51/aslink.h
51376         * as/mcs51/asm.h
51377         * as/mcs51/asmain.c
51378         * as/mcs51/asout.c
51379         * as/mcs51/i51pst.c
51380         * as/mcs51/lkdata.c
51381         * as/mcs51/lklibr.c
51382         * as/mcs51/lkmain.c
51383         * as/z80/asdata.c
51384         * as/z80/asm.h
51385         * as/z80/asmain.c
51386         * as/z80/asout.c
51387         * as/z80/z80pst.c
51388         * link/z80/aslink.h
51389         * link/z80/lkdata.c
51390         * link/z80/lklibr.c
51391         * link/z80/lkmain.c
51392         * src/SDCCglue.c
51394 2003-07-28  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51396         *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
51397         as/mcs51/lklibr.c: Generate a warning when a library is not found.
51399 2003-07-28  Bernhard Held <bernhard AT bernhardheld.de>
51401         * src/z80/mappings.i: fix _mul[us][int,long] entries
51403 2003-07-26  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51405         *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
51407 2003-07-24  Bernhard Held <bernhard AT bernhardheld.de>
51409         * src/SDCCicode.c (operandOperation): really fixed problem with bitops
51410         * support/regression/tests/bitopcse.c: added
51411         fixed warning:
51412         * src/avr/gen.c:
51413         * src/pic/gen.c:
51414         * src/pic16/gen.c:
51415         * src/z80/gen.c:
51416         * src/xa51/gen.c:
51418 2003-07-24  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51420         added support for new library format to z80, gbz80 linkers:
51421         *link/z80/aslink.h
51422         *link/z80/lklex.c
51423         *link/z80/lklib.c
51424         *link/z80/lklist.c
51426 2003-07-24  Bernhard Held <bernhard AT bernhardheld.de>
51428         * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
51429         after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
51431 2003-07-23  Bernhard Held <bernhard AT bernhardheld.de>
51433         added DUMMY_READ_VOLATILE:
51434         * src/SDCC.y:
51435         * src/avr/gen.c:
51436         * src/xa51/gen.c:
51437         * src/z80/gen.c:
51438         * src/pic/gen.c:
51439         * src/pic16/gen.c:
51440         * src/mcs51/gen.c:
51441         * src/ds390/gen.c:
51442         * src/SDCCcse.c (algebraicOpts): many improvements
51443         * src/SDCCcse.h: removed algebraicOpts()
51444         * src/SDCCicode.c (picDummyRead): added
51446 2003-07-23  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51448         * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
51449         "Insufficient space in data memory".
51451 2003-07-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51453         * src/mcs51/gen.c: fixed bug #771358
51454         * src/z80/gen.c: fixed bug #759087
51456 2003-07-20  Bernhard Held <bernhard AT bernhardheld.de>
51458         * src/pic16/glue.c: minor cleanup by Vangelis
51460 2003-07-19  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51462         * device/include/regc515c.h: fixed #758477
51463         * device/lib/_gptrget.c: saving some cycles in generic pointer get
51464         * device/lib/_gptrput.c: saved a few bytes
51465         * my tab spacing is 8, yours too?)
51466         * device/lib/_ser.c: process RX bytes earlier than TX bytes
51467         * device/lib/serial.c: process RX bytes earlier than TX bytes
51468         * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
51470 2003-07-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51472         * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
51474 2003-07-17  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51476         * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
51478 2003-07-17  Bernhard Held <bernhard AT bernhardheld.de>
51480         * device/lib/Makefile.in: bad fix, reverted to 1.43
51482 2003-07-16  Bernhard Held <bernhard AT bernhardheld.de>
51484         * device/lib/Makefile.in: added missing z80 object files
51486 2003-07-14  Bernhard Held <bernhard AT bernhardheld.de>
51488         * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
51489         pic16 progress by Vangelis:
51490         * src/SDCCglobl.h:
51491         * src/SDCCmain.c:
51492         * src/pic/Makefile:
51493         * src/pic:
51494         * pic/Makefile:
51495         * pic16/device.c:
51496         * pic16/device.h:
51497         * pic16/gen.c:
51498         * pic16/gen.h:
51499         * pic16/genarith.c:
51500         * pic16/glue.c:
51501         * pic16/main.c:
51502         * pic16/pcode.c:
51503         * pic16/pcode.h:
51504         * pic16/pcodepeep.c:
51505         * pic16/peeph.def:
51507 2003-07-13  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51509         * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
51511 2003-07-12  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51513         * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
51514         added gbz80 build to MSVC project.
51515         * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
51516         link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
51517         from 8051 stuff and setup so it links using a .lnk file.
51519 2003-07-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51521         * support/librarian/sdcclib.c: sdcc librarian.
51522         * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
51523         with sdcclib.
51525 2003-07-03  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51527         * as/mcs51/lkmain.c: properly handle extensions in function afile.
51529 2003-07-02  Borut Razem <borut.razem AT siol.net>
51531         * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
51532         src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
51533         src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
51534         src/xa51/main.c, src/z80/main.c:
51535         virtualization of glue() function: each port has it's own glue function,
51536         which is accessed by do_glue function pointer in PORT.general structure
51538 2003-07-01 Kevin Vigor <kevin AT vigor.nu>
51540         * DS800C400 fun, improved ROM interface and tinibios.
51542 2003-06-27 Kevin Vigor <kevin AT vigor.nu>
51544         * More support for DS80C400. Now includes beginning of interface to ROM.
51546 2003-06-25  Bernhard Held <bernhard AT bernhardheld.de>
51548         * src/mcs51/gen.c (gencjneshort): fixed bug #760345
51550 2003-06-20  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51552         * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
51554 2003-06-19  Borut Razem <borut.razem AT siol.net>
51556         * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
51558 2003-06-19  Borut Razem <borut.razem AT siol.net>
51560         * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
51561         fixed Z80 port - crt0.o: cannot open.
51563 2003-06-19  Bernhard Held <bernhard AT bernhardheld.de>
51565         * support/Util/MySystem.c (merge_command): revert bad fix
51567 2003-06-18  Borut Razem <borut.razem AT siol.net>
51569         * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
51571 2003-06-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51573         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
51574         option --use-stdout sends errors to stdout instead of stderr.
51576 2003-06-18  Bernhard Held <bernhard AT bernhardheld.de>
51578         * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
51580 2003-06-15  Borut Razem <borut.razem AT siol.net>
51582         * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
51583         * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
51584         * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
51585         fixed width array of pointers replaced with sets;
51586         multiple include and lib paths ared transferred to preprocessor and linker
51587         * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
51588         * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
51589         fixed width array of pointers
51590         * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
51591         removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
51592         fixupPath(), getPathDifference()
51593         * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function  inExcludeList() by using sets instead
51594         fixed width array of pointers
51596 2003-06-11  Bernhard Held <bernhard AT bernhardheld.de>
51598         * src/pic16/ralloc.c: fix warnings
51599         * src/pic16/pcode.c: fix warning
51601 2003-06-10  Scott Dattalo  <scott AT dattalo.com>
51603          Scott D. for Vangelis Rokas (vrokas AT otenet.gr). I (scott) don't
51604         know all the details, but essentially this set of changes enable
51605         the pic16 port to generate movff instructions and generate assembler
51606         directives,
51607         * src/SDCCmain.c:
51608         * src/pic16/gen.c:
51609         * src/pic16/glue.c:
51610         * src/pic16/pcode.c:
51611         * src/pic16/device.c:
51612         * src/pic16/main.c:
51613         * src/pic16/pcode.h:
51614         * src/pic16/pcoderegs.c:
51615         * src/pic16/ralloc.c:
51616         * src/pic16/ralloc.h:
51618 2003-06-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51620         * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
51621         added option --vc, so sdcc errors and warnings are compatible with
51622         Microsoft Visual Studio.
51624 2003-06-07  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51626         * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
51627           device/lib/libfloat.lib: added atof function.
51629 2003-06-04  Bernhard Held <bernhard AT bernhardheld.de>
51631         * doc/sdccman.lyx: updated to Lyx 1.3
51632         * doc/cdbfileformat.lyx: updated to Lyx 1.3
51633         * doc/test_suite_spec.lyx: updated to Lyx 1.3
51634         * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
51636 2003-06-03  Bernhard Held <bernhard AT bernhardheld.de>
51638         * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas AT otenet.gr>
51640 2003-06-02  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51642         * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
51643           additions to the "related tools/documentation" section
51645 2003-06-02  Bernhard Held <bernhard AT bernhardheld.de>
51647         * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
51649 2003-05-29  Bernhard Held <bernhard AT bernhardheld.de>
51651         * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn AT vt.edu>
51652         * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
51654 2003-05-28  Bernhard Held <bernhard AT bernhardheld.de>
51656         * doc/sdccman.lyx: fix double dash and other minor things
51657         * doc/Makefile: fix double dash
51659 2003-05-28  Karl Bongers(patches from Martin Helmling)
51660         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
51661           condition and ignore commands.
51663 2003-05-28  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51665         * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
51666           is in parts still quite out of date, I did changes as far as I felt makes sense
51667           for a non-native english speaker.
51668           Please feel free to add to the manual or to correct my changes.
51669         * doc/Makefile: undid touching the date of intermediate tex files.
51671 2003-05-26  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51673         * doc/sdccman.lyx: Manual has an index now
51675 2003-05-25  Bernhard Held <bernhard AT bernhardheld.de>
51677         Finalize muluint/mulsint and mululong/mulslong merging:
51678         * device/lib/_mulint.c
51679         * device/lib/_mullong.c
51680         * device/lib/gbz80/mul.s
51681         * device/lib/gbz80/stubs.s
51682         * device/lib/z80/mul.s
51683         * device/lib/z80/stubs.s
51684         * src/SDCCsymt.c (initCSupport)
51686 2003-05-25  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51688         * as/mcs51/lkaomf51.c: Address space 'z' was missing.
51689         * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
51690           src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
51691           src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
51692           instead of /Zm500.
51694 2003-05-25  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51696         * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
51697           the regression tests I'm not brave enough to enable 245.b, 245.c
51698         * doc/sdccman.lyx: added latex preamble for hyperref package.
51699           Using pdflatex this will give you a hyperlinked pdf file with
51700           bookmarks. (prepend '%' before /usepackage if this breaks something)
51702 2003-05-24  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51704          * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
51706 2003-05-22  Bernhard Held <bernhard AT bernhardheld.de>
51708         * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
51710 2003-05-21    <johan AT balder>
51712         * src/SDCCglue.c (printIval): fixed bug #739934
51714 2003-05-19  Bernhard Held <bernhard AT bernhardheld.de>
51716         Applied patch from bug 737905 (renamed yylineo to mylineno):
51717         * src/altlex.c
51718         * src/SDCCast.c
51719         * src/SDCglobl.h
51720         * src/SDCC.lex
51721         * src/SDCCsymt.c
51722         * src/SDCCval.c
51723         * src/pic16/pcode.c: Cleaned warnings
51724         * src/pic16/pcodeflow.c: Cleaned warnings
51725         * src/pic16/pcoderegs.c: Cleaned warnings
51727 2003-05-19  Scott Dattalo  <scott AT dattalo.com>
51729         * src/pic16/pcode.c: Cleaned warnings
51730         * src/pic16/pcodepeep.c: Cleaned warnings
51731         * src/pic16/ralloc.c: Cleaned warnings
51733 2003-05-19  Bernhard Held <bernhard AT bernhardheld.de>
51735         * doc/sdccman.lyx: fixed bug 739745
51736         * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
51738 2003-05-18  Bernhard Held <bernhard AT bernhardheld.de>
51740         * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
51741         it can be defined with CFLAGS when running configure
51742         * src/SDCCmain.c: fixed compiling + linking with object files
51744 2003-05-18  Vangelis Rokas (vrokas AT otenet.gr)
51746         * configure.in: configure for pic16 port,
51747             added --disable-pic16-port
51748         * sdccconf_in.h: added macro OPT_DISABLE_PIC16
51749         * src/SDCCmain.c: linkOptions is changed to set *,
51750             added if/endif conditional macros to remove options help
51751             messages from optionsTable when a port is not configured, added
51752             support for the PIc16 port in the ports table, when executing
51753             the compiler with no port specified on command line, a default
51754             port is selected with the new macro DEFAULT_PORT which is
51755             defined in port.h, in setDefaultOptions() linkOptions is removed
51756             from initialization assignment, since now it is a set,
51757             parseCmdLine uses setParseWithComma for linkOptions, in
51758             linkEdit() linkOptions are accessed with new function indexSet()
51759             which returns the i'th item of a set variable. See SDCCset.c, in
51760             linkEdit() when calling buildCmdLine(), added linkOptions as
51761             last argument. Now users can pass arguments to gplink via the
51762             -Wl option, main() uses pic16glue() to glue up pic16 programs
51763         * src/SDCCpeeph.c: various changes to support pic16
51764         * src/SDCCset.c: added function  void *indexSet(set *, int)  to
51765             return the i'th item of the set
51766         * src/SDCCset.h: added function prototype for indexSet()
51767         * src/SDCCsymt.c: in checkSClass(), added support for PIC16
51768         * src/clean.mk: added pic16 in CLEANALLPORTS variable
51769         * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
51770             added macro DEFAULT_PORT
51771         * src/pic/main.c: corrected arguments of gplnk in _linkCmd
51772         * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
51773             generated
51774         * src/pic16/glue.c: commented out some error producing lines
51775         * src/pic16/main.c: __config directives are commented out to stop
51776             gpasm complaining and test the linkage with gplink, _linkCmd and
51777             _asmCmd changed to be more gplink and gpasm friendly
51778         * src/pic16/peeph.def: peep rule 3 is commented out, since it
51779             produced an error when parsed, peep rule 12 is added to utilize
51780             movff, but it is commented out since the pCode does not support
51781             yet a command with 2 address arguments
51783 2003-05-18    <johan AT balder>
51785         * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
51786         * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
51787 2003-05-17  Karl Bongers(apply patches from Martin Helmling)
51789         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
51790         Added feature to script commands from file.
51792 2003-05-14  Bernhard Held <bernhard AT bernhardheld.de>
51794         * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
51795         * src/SDCCutil.c: include ctype.h for win32
51797 2003-05-13  Bernhard Held <bernhard AT bernhardheld.de>
51799         * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
51801 2003-05-12  Karl Bongers(apply development patches from Martin Helmling)
51803         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
51804         Fixed so you can set breakpoints prior to run, run does not stop
51805         on entry now.  Add tbreak.  Other enhancements and fixes for use
51806         with ddd.
51808 2003-05-12  Borut Razem <borut.razem AT siol.net>
51810         * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
51812 2003-05-11  Borut Razem <borut.razem AT siol.net>
51814         * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
51815         the path of bin directory, so that PATH is the only env. variable, which has to be set
51816         in case of standard installation.
51817         * src/ds390/ds390.dsp: increased value of /Zm option to 1000
51818         * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
51819         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
51821 2003-05-04  Bernhard Held <bernhard AT bernhardheld.de>
51823         * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
51824         * support/regression/Makefile: inter-port-clean is no longer nesessary, the
51825         temp files are in the port dir; clean the gen/test directory when
51826         generating new test.c
51827         * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
51828         * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
51829         * support/regression/tests/zeropad.c: added
51831 2003-05-09    <johan AT balder>
51833         * src/SDCCglue.c: fixed bug #597940
51835 2003-05-05  Karl Bongers(apply patches from Martin Helmling)
51837         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
51838         cache sfr, optimize next,step, fix off by one sourceline,
51839         support ddd list function.
51840         * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
51842 2003-05-04  Bernhard Held <bernhard AT bernhardheld.de>
51844         * support/regression/HTMLgen.py: added compare_s2f()
51845         * support/regression/Makefile: redo 1.27
51846         * support/regression/generate-cases.py: redo 1.5
51848 2003-04-30  Bernhard Held <bernhard AT bernhardheld.de>
51850         * support/regression/tests/float.c: workaround 33 bit hex constant
51851         * support/regression/tests/simplefloat.c: fix division for host
51853 2003-04-29  Scott Dattalo  <scott AT dattalo.com>
51855         * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim AT jimhawkridge.uk.eu.org>
51856         that tame's the PIC's over-aggressive optimizer.
51858 2003-04-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51860          * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
51861          support for MSVC.
51863 2003-04-29  Kevin Vigor <kevin AT vigor.nu>
51865         Initial support for DS80C400. "Hello world" runs on TINIm400
51866         (with polled I/O).
51868 2003-04-28  Karl Bongers(apply patches for Martin Helmling)
51870          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
51871          * Some notes on ddd usage added in debugger/README
51872          Martin Helmling adding more features and fixes for ddd GUI debugger.
51873          Code added for nexti, stepi, up, down, and other adjustments.
51875 2003-04-28  Scott Dattalo  <scott AT DATTALO.COM>
51877         * src/pic/pCodepeep.c non-wildcard asmops are now handled
51878         * src/pic/peeph.def Added two rules to optimize carry manipulation
51879         * src/pic/* removed debug printfs
51881 2003-04-28  Bernhard Held <bernhard AT bernhardheld.de>
51883         * debugger/mcs51/cmd.c: added header newalloc.h
51885 2003-04-26  Bernhard Held <bernhard AT bernhardheld.de>
51887         * as/Makefile: new EXEEXT
51888         * as/z80/Makefile: remove trailing slash of BUILDIR
51889         * as/z80/clean.mk: new EXEEXT
51890         * Makefile.common.in: add to CFLAGS (and others), don't replace it
51891         * support/cpp2/Makefile.in: new EXEEXT
51892         * src/pic/glue.c (pic14emitRegularMap): fixed warning
51894 2003-04-24  Bernhard Held <bernhard AT bernhardheld.de>
51896         Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
51897         EXEEXT was introduced to fix all related problems with targets
51898         "clean", "install" and "uninstall"; a couple of further flaws
51899         especially with "clean" have been fixed too
51900         * as/mcs51/Makefile.in
51901         * as/mcs51/clean.mk
51902         * as/z80/Makefile
51903         * Makefile
51904         * clean.mk
51905         * debugger/mcs51/Makefile.in
51906         * debugger/mcs51/clean.mk
51907         * link/z80/Makefile
51908         * link/z80/Makefile.in
51909         * link/z80/clean.mk
51910         * link/Makefile
51911         * packihx/Makefile.in
51912         * packihx/clean.mk
51913         * sim/ucsim/Makefile
51914         * sim/ucsim/clean.mk
51915         * sim/ucsim/avr.src/Makefile.in
51916         * sim/ucsim/avr.src/clean.mk
51917         * sim/ucsim/s51.src/Makefile.in
51918         * sim/ucsim/s51.src/clean.mk
51919         * sim/ucsim/xa.src/Makefile.in
51920         * sim/ucsim/xa.src/clean.mk
51921         * sim/ucsim/z80.src/Makefile.in
51922         * sim/ucsim/z80.src/clean.mk
51923         * sim/ucsim/main_in.mk
51924         * sim/ucsim/packages_in.mk
51925         * sim/ucsim/gui.src/Makefile.in
51926         * sim/ucsim/gui.src/serio.src/Makefile.in
51927         * sim/ucsim/gui.src/serio.src/clean.mk
51928         * src/Makefile.in
51929         * src/clean.mk
51930         * support/cpp2/Makefile.in
51931         * support/cpp2/clean.mk
51932         * support/makebin/Makefile
51933         * support/makebin/clean.mk
51934         * support/scripts/sdcc_mingw32: --program-suffix no longer needed
51935         * doc/sdccman.lyx: --program-suffix no longer needed
51937 2003-04-23  Karl Bongers(apply patches for Martin Helmling)
51939          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
51940          Martin Helmling added support for ddd GUI debugger.
51941          Code added to display assembly, set variables, and other commands
51942          to interface to ddd.
51944 2003-04-23  Bernhard Held <bernhard AT bernhardheld.de>
51946         * as/Makefile: fix target clean
51947         * as/clean.mk: fix target clean
51948         * as/z80/clean.mk: fix target clean
51950 2003-04-22  Bernhard Held <bernhard AT bernhardheld.de>
51952         * Makefile.common.in: added  AT EXEEXT AT
51953         * configure.in: removed all mingw32 stuff
51954         * configure: rebuilt from configure.in
51955         * doc/sdccman.lyx: updated section "installation"
51956         * support/scripts/sdcc_mingw32: adapted to configure
51957         * support/scripts/sdcc_cygwin_mingw32: added
51959 2003-04-22  Scott Dattalo  <scott AT dattalo.com>
51961         * src/pic Added object file support for the PIC port
51962         * src/pic Applied patch from Craig Franklin (this started the object file support)
51963         * src/regression Updated the PIC regression tests for object files
51965 2003-04-20  Borut Razem <borut.razem AT siol.net>
51967         * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
51968           lklex.c: In function `getfid':
51969           lklex.c:203: warning: array subscript has type `char'
51970         * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
51971           with MSVC with global optimization enabled (probably an cl compiler bug ;-)
51972         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
51973           stack handling macros
51975 2003-04-19  Borut Razem <borut.razem AT siol.net>
51977         * "handling space characters in file path" task:
51978         * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
51979         * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
51980         * support/Util/MySystem.h: make it self-sufficient
51981         * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
51982           src/z80/main.c, sdcc/as/mcs51/lklex.c:
51983           handling space characters in file path
51984         * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
51985           (it will be used by assemblers, which have their own includes, e.g. gpasm)
51986         * support/Util/MySystem.c: handling space characters in executable's path
51988 2003-04-19  Bernhard Held <bernhard AT bernhardheld.de>
51990         * as/z80/Makefile: fix permanent rebuild of z80
51991         * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
51992         * support/regression/tests/bitfields.c: added Johan's bitfields.c
51994 2003-04-18      Kevin Vigor <kevin AT vigor.nu>
51996         * src/SDCCopt.c: add special case optimization to replace modulo by
51997           a power of two with a bitwise AND.
51999 2003-04-18    <johan AT balder>
52001         * src/mcs51/gen.c (getFreePtr): fixed bug #635354
52003 2003-04-17    <johan AT balder>
52005         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
52006         * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
52008 2003-04-13  Borut Razem <borut.razem AT siol.net>
52010         * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
52011         * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
52012           fixed mingw problem in adl_NORMALIZE_PATH
52014 2003-04-12  Borut Razem <borut.razem AT siol.net>
52016         * fixed "#pragma SAVE/RESTORE can not be nested":
52017         * src/SDCC.lex: reworked pragma handling functions
52018         * sdcc/src/SDCCglobl.h: reworked stack handling macros
52019         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
52021 2003-04-12  Bernhard Held <bernhard AT bernhardheld.de>
52023         * src/SDCCutil.c (pathEquivalent): defined but not used
52024         * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
52025         * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
52026         * configure: rebuilt from configure.in
52027         * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
52028         * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
52029         * device/include/Makefile.in: replace sdcc_datadir
52030         * device/lib/Makefile.in: replace sdcc_datadir
52031         * Makefile.common.in: add LDFLAGS from configure
52032         * packihx/Makefile.in: use LDFLAGS
52033         * src/Makefile.in: use LDFLAGS
52034         * support/cpp2/Makefile.in: add LDFLAGS from configure
52035         * support/makebin/Makefile: use LDFLAGS
52036         * .version: bumped version number to 2.3.5
52038 2003-04-12  Borut Razem <borut.razem AT siol.net>
52040         * completed "different paths" task:
52041         * src/SDCCmacro.c: fixed bug in handling quotes
52042         * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
52043         * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
52045 2003-04-12  Bernhard Held <bernhard AT bernhardheld.de>
52047         * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
52049 2003-04-11 kevin Vigor <kevin AT vigor.nu>
52051         * ds390/gen.c ds390/peeph.def: fix bug 706781
52053 2003-04-11  Borut Razem <borut.razem AT siol.net>
52055         * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
52057 2003-04-10  Scott Dattalo  <scott AT dattalo.com>
52059         * src/pic/* Applied the pointer-to-function patch from Steve Tell.
52060         * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
52061          set - this bit used to not be set...).
52062         * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated
52063           bad code in PIC Port
52064         * src/regression/and2.c added to test bug 609268
52065         * src/regression/Makefile added and2.c to regression test
52068 2003-04-08    <johan AT CP255758-A>
52070         * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
52071         * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
52072         * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
52074 2003-04-07  Bernhard Held <bernhard AT bernhardheld.de>
52076         * configure.in: fully support prefix, exec_prefix, datadir, docdir;
52077         fix bug #487815
52078         * support/cpp2/Makefile.in: fix bug #487815
52079         * configure: rebuilt from configure.in
52080         * Makefile.common.in: docdir changed, new path suffixes
52081         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
52082         * sdcc_vc_in.h: reflect changes from sdccconf.h
52083         * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
52084         * src/SDCCutil.h: remove BINDIR hack
52085         * doc/sdccman.lyx: update new path hierarchy
52087 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
52089         * src/SDCCpeeph.c: added okToRemoveSLOC test
52091 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
52093         * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
52095 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
52097         * src/SDCCpeeph.c: added labelIsReturnOnly test
52098         * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
52100 2003-04-05    <johan AT balder>
52102         * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
52103         * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
52104         * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
52105         * src/SDCCast.c: fixed a warning
52106         * src/SDCCast.h: fixed a warning
52107         * src/SDCCicode.c (operandFromAst): fixed a warning
52109 2003-04-04    <johan AT balder>
52111         * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
52112         * src/SDCCast.c (decorateType): fixed bug #715076
52113         * src/SDCC.y: fixed bug #702907
52115 2003-04-03    <johan AT balder>
52117         * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
52118         * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
52119         * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
52120         * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
52121         * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
52123 2003-04-03  Bernhard Held <bernhard AT bernhardheld.de>
52125         * _decdptr.c: fix return values
52126         * _gptrget.c: fix return values
52127         * _gptrgetc.c: fix return values
52128         * _gptrput.c: fix return values
52129         * _mulint.c: fix return values
52130         * as/z80/Makefile: fix 'make -j' problem
52132 2003-04-02  Bernhard Held <bernhard AT bernhardheld.de>
52134         * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
52135         * configure.in: big cleanup, updated to autoconf 2.5x
52136         * configure: rebuilt from configure.in
52137         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
52138         * sdcc_vc_in.h: reflect changes from sdccconf.h
52139         * doc/Makefile: fixed a flaw in "make install"
52141 2003-04-02    <johan AT balder>
52143         * src/ds390/gen.c (genCmp): no comments
52144         * src/mcs51/gen.c (genCmp): no comments
52145         * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
52146         * src/SDCCast.c (ast_print): fixed the function type in --dumptree
52148 2003-04-01  Bernhard Held <bernhard AT bernhardheld.de>
52150         * support/regression/generate-cases.py: place generated file in given sub directory
52151         * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
52152         * support/regression/Makefile: improvements for 'make -j';
52153         side effect: it's simpler and faster now
52155 2003-03-31  Borut Razem <borut.razem AT siol.net>
52157         * src/z80/main.c: link-{port} and as-{port} defined without path
52158         * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
52160 2003-03-31  Bernhard Held <bernhard AT bernhardheld.de>
52162         * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
52164 2003-03-30  Borut Razem <borut.razem AT siol.net>
52166         * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
52167           changed type of list parameter to set
52168         * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
52169         * src/port.h: changed type of do_assemble() parameter to set
52170         * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
52171           sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
52172           definition of "cppoutfilename" macro with NULL value in preProcess()
52173         * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
52174         * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
52175         * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
52176           replaced with set *binPathSet
52177         * shash_add() deallocates the item, if allready exsists, before adding the new one
52178         * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
52180 2003-03-30  Scott Dattalo  <scott AT dattalo.com>
52182         * src/pic/gen.c: Commit patch from Steve Tell <tell AT telltronics.org> that fixes
52183           a nested for loop bug in the PIC port
52184         * src/regression/nestfor.c: new regression test file Steve wrote to test nested
52185           for loops
52187 2003-03-29  Bernhard Held <bernhard AT bernhardheld.de>
52189         * support/Util/dbuf.h: remove C++ stuff to make it portable
52191 2003-03-28  Borut Razem <borut.razem AT siol.net>
52193         * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
52194           literal strings in stringLiteral()
52195         * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
52196         * src/Makefile.bcc, src/Makefile.in, src/src.dsp: added support/Util/dbuf.c
52197           to the project
52199 2003-03-27  Paul Stoffregen <paul AT pjrc.com>
52201         * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
52203 2003-03-26    <johan AT balder>
52205         * src/mcs51/gen.c (saveRegisters): catched symbol abuse
52206         * src/ds390/gen.c (saveRegisters): catched symbol abuse
52207         * src/SDCCast.c (decorateType): fixed " -v < 3"
52209 2003-03-23  Bernhard Held <bernhard AT bernhardheld.de>
52211         * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
52212         Added Lenny Story's debug infrastructure changes:
52213         * src/Makefile.in:  added new files cdbFile.c and SDCCdebug.c
52214         * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
52215         * src/cdbFile.c: added
52216         * src/SDCCdebug.c: added
52217         * src/SDCCdebug.h: added
52218         * src/SDCCast.c (createFunction)
52219         * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
52220         * src/SDCCmain.c (parseCmdLine, main)
52221         * src/SDCCmem.c (redoStackOffsets)
52222         * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
52223         * src/SDCCsymt.h
52224         * src/common.h
52225         * src/avr/gen.c (genAVRCode)
52226         * src/ds390/gen.c (gen390Code)
52227         * src/mcs51/gen.c (gen51Code)
52228         * src/pic/gen.c (genpic14Code)
52229         * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
52230         * src/xa51/gen.c (genXA51Code)
52231         * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
52233 2003-03-22  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52235         * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
52236         * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
52238 2003-03-22    <johan AT balder>
52240         * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
52242 2003-03-21  Bernhard Held <bernhard AT bernhardheld.de>
52244         * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
52245         * doc/cdbfileformat.lyx: added, written by Lenny Story
52246         * doc/Makefile: added cdbfileformat.lyx
52247         * doc/clean.mk: added cdbfileformat.lyx
52249 2003-03-20  Bernhard Held <bernhard AT bernhardheld.de>
52251         * src/mcs51/peeph.def: fix bug #705773
52253 2003-03-20    <johan AT balder>
52255         An sfr/sbit can have an "at #" AND an initializer
52256         * src/SDCCsymt.c (checkSClass):
52257         * src/SDCCmem.c (allocGlobal):
52258         * src/SDCCmem.c (allocLocal):
52259         * src/SDCCast.c (createBlock):
52261 2003-03-17  Bernhard Held <bernhard AT bernhardheld.de>
52263         * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
52265 2003-03-16    <johan AT balder>
52267         Undid the hackup of const and volatile, the problem is much bigger
52268         * src/SDCC.y:1.65
52269         * src/SDCCast.c:1.171
52270         * src/SDCCglue.c:1.138
52271         * src/SDCCicode.c:1.146
52272         * src/SDCCsymt.c:1.150
52273         * src/SDCCval.c:1.65
52275 2003-03-15  Bernhard Held <bernhard AT bernhardheld.de>
52277         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
52278         * src/ds390/gen.c (genAddrOf): fixed bug #704087
52280 2003-03-13    <johan AT balder>
52282         Hackup const and volatile modifiers in type chains a bit:
52283         * src/SDCC.y:1.63
52284         * src/SDCCast.c:1.169
52285         * src/SDCCglue.c:1.136
52286         * src/SDCCicode.c:1.143
52287         * src/SDCCsymt.c1.146
52288         * src/SDCCsymt.h1.59
52289         * src/SDCCval.c:1.63
52291 2003-03-12    <johan AT balder>
52293         * src/SDCCBBlock.h: more LRH debugging junk
52294         * src/SDCCcflow.h: more LRH debugging junk
52295         * src/SDCCloop.c: more LRH debugging junk
52296         * src/SDCC.y (struct_declaration): fixed bug #697590
52297         * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
52298         * src/ds390/gen.c (aopForRemat): fixed bug #700031
52299         * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
52301 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
52302         * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
52303         test function names must now match exactly).
52304         * src/SDCCcse.c: added special case in findCheaperOp to allow
52305         extending a short integer. Makes less awful code for bug 700121 test case.
52307 2003-03-11  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52309         * as/mcs51/lkmain.c: Added ASlink-Warning to messages
52310         * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
52312 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
52314         * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
52315         actually called (operandsNotEqual() was called for all
52316         operandsNotEqualX tests).
52318 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
52320         * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
52321         with shorter literals. Fixes bug 700121.
52323 2003-03-11    <johan AT balder>
52325         * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
52327 2003-03-11  Bernhard Held <bernhard AT bernhardheld.de>
52329         * src/SDCCloop.c (mergeRegions): an evil beast is dead
52330         * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
52332 2003-03-10  Borut Razem <borut.razem AT siol.net>
52334         * src/SDCCmain.c: pipe preprocessor's output
52335         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
52336         * sdcc_vc_in.h: define pclose as _pclose for WIN32
52337         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
52338         which closes all pipes in pipeSet set
52339         * src/SDCCset.c: free deleted item in function deleteSetItem()
52340         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
52341         moved from z80 to src subproject
52342         * .version: increased version number to 2.3.4
52344 2003-03-10  Bernhard Held <bernhard AT bernhardheld.de>
52346         * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
52347         * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
52348         * support/regression/ports/xa51/spec.mk: fix typo
52350 2003-03-09  Bernhard Held <bernhard AT bernhardheld.de>
52352         * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
52354 2003-03-09  Borut Razem <borut.razem AT siol.net>
52356         * src/SDCCmain.c: pipe preprocessor's output
52357         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
52358         * sdcc_vc_in.h: define pclose as _pclose for WIN32
52359         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
52360         which closes all pipes in pipeSet set
52361         * src/SDCCset.c: free deleted item in function deleteSetItem()
52362         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
52363         moved from z80 to src subproject
52365 2003-03-09  Borut Razem <borut.razem AT siol.net>
52367         * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
52368         * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
52369         * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
52370         * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
52371         * src/SDCCglobl.h: unification of WIN32 native definitions
52373 2003-03-09  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52375         * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
52377 2003-03-08  Bernhard Held <bernhard AT bernhardheld.de>
52379         * src/configure.in:   check for endianess (even while cross-compiling)
52380         * src/configure:      check for endianess (even while cross-compiling)
52381         * src/configure_in.h: check for endianess (even while cross-compiling)
52382         * src/avr/gen.c:        remove old endianess stuff
52383         * src/mcs51/gen.c:      remove old endianess stuff
52384         * src/ds390/gen.c:      remove old endianess stuff
52385         * src/pic/gen.c:        remove old endianess stuff
52386         * src/pic/genarith.c:   remove old endianess stuff
52387         * src/pic/glue.c:       fix endianess check
52388         * src/pic16/gen.c:      remove old endianess stuff
52389         * src/pic16/genarith.c: remove old endianess stuff
52390         * src/pic16/glue.c:     fix endianess check
52391         * src/xa51/gen.c:       remove old endianess stuff
52392         * src/z80/gen.c:        fix endianess check
52393         * src/SDCCglue.c:       fix endianess check
52394         * src/ds390/peeph.def: fix bug 700036
52396 2003-03-08  Bernhard Held <bernhard AT bernhardheld.de>
52398         * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
52399         * src/configure: find appropriate data-types on host for SDCC's int and long
52400         * src/configure.in: find appropriate data-types on host for SDCC's int and long
52401         * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
52402         * src/xa51/gen.c: use %d, not %ld for 4 byte variables
52404 2003-03-07    <johan AT balder>
52406         Just a big NOOP:
52407                 some minor cleanups before the big shot
52408                 OP_DEFS and OP_USES now use Kevin's protection
52409                 new option --nolabelopt
52411         * src/SDCCBBlock.c:
52412         * src/SDCCast.c,:
52413         * src/SDCCcflow.c:
52414         * src/SDCCcse.c:
52415         * src/SDCCicode.c:
52416         * src/SDCCicode.h:
52417         * src/SDCClabel.c:
52418         * src/SDCCloop.c:
52419         * src/SDCCmain.c:
52420         * src/ds390/ralloc.c:
52421         * src/mcs51/ralloc.c:
52422         * src/pic/ralloc.c:
52423         * src/xa51/ralloc.c:
52424         * src/z80/ralloc.c:
52426 2003-03-06  Bernhard Held <bernhard AT bernhardheld.de>
52428         * src/pic/pcode.c (get_op): fix 64 bit warnings
52429         * src/pic/pcode.c (pCode2str): fix 64 bit warnings
52430         * src/SDCChasht.c (newHashTable): fix 64 bit warnings
52431         * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
52432         * support/regression/tests/malloc.c: fix 64 bit warnings
52434 2003-03-04  Bernhard Held <bernhard AT bernhardheld.de>
52436         * src/mcs51/gen.c (genMinus): fixed bug 696436
52438 2003-03-02  Borut Razem <borut.razem AT siol.net>
52440         * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
52442 2003-02-26  Bernhard Held <bernhard AT bernhardheld.de>
52444         * configure.in: test for mkstemp
52445         * sdccconf_in.h: add HAVE_MKSTEMP
52447 2003-02-24  Bernhard Held <bernhard AT bernhardheld.de>
52449         * device/include/ctype.h: removed warning while using --stack-auto
52450         * device/include/malloc.h: removed warning while using --stack-auto
52451         * device/include/string.h: removed warning while using --stack-auto
52453 2003-02-23  Borut Razem <borut.razem AT siol.net>
52455         * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
52456         because NDEBUG is defined (see man assert)
52457         * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
52459 2003-02-23  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52461         * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
52462         * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
52464 2003-02-18  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52466         * src/SDCCpeeph.c: added peephole conditions testing for same arguments
52467         * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
52469 2003-02-18    <johan AT balder>
52471         * as/mcs51/asmain.c (asmbl): module can start with a digit
52472         * as/z80/asmain.c (asmbl): module can start with a digit
52474 2003-02-16  Bernhard Held <bernhard AT bernhardheld.de>
52476         * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
52477         * src/asm.c: fix pipe() for Mingw32
52479 2003-02-15  Bernhard Held <bernhard AT bernhardheld.de>
52481         * src/SDCCglue.h: make tmpfileNameSet available for preOutName
52482         * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
52483         make -V work again; --c1mode reads now from stdin
52484         * doc/sdccman.lyx: added --c1mode
52485         * support/Util/SDCCerr.c: new messages for c1 mode
52486         * support/Util/SDCCerr.h: new messages for c1 mode
52487         * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
52489 2003-02-15    <johan AT balder>
52491         * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
52493 2003-02-14  Bernhard Held <bernhard AT bernhardheld.de>
52495         * doc/sdccman.lyx: Environment variables, -o and other minor things
52497 2003-02-14    <johan AT balder>
52499         * src/xa51/main.c: before anyone really tries to use it :)
52501         * Install doc's in share/sdcc/doc
52502         * removed some obsolete files
52503         * Do a proper make distclean and uninstall
52504         M Makefile.common.in
52505         R sdccbuild.sh
52506         M as/Makefile
52507         M device/include/Makefile.in
52508         M device/lib/Makefile.in
52509         M doc/sdccman.lyx
52510         M link/Makefile
52511         M sim/ucsim/doc/Makefile.in
52512         M src/clean.mk
52513         R src/avr/peeph.rul
52514         R src/xa51/peeph.rul
52515         M support/cpp2/Makefile.in
52516         M support/makebin/Makefile
52519 2003-02-13  Bernhard Held <bernhard AT bernhardheld.de>
52521         * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
52523 2003-02-10  Borut Razem <borut.razem AT siol.net>
52525         * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
52526         support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
52527         * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
52528         device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
52529         support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
52530         src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
52531         src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
52532         src/z80/Makefile.bcc: Borland Makefile cleanup
52533         * as/z80/Makefile.bcc: Added Borland Makefile
52534         * support/cpp2/borland.h: Removed
52536 2003-02-10  Bernhard Held <bernhard AT bernhardheld.de>
52538         * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js AT convergence.de>
52539         * src/SDCC.lex: new pragma NOIV
52540         * src/SDCCglobl.h: new pragma NOIV
52541         * src/SDCCmem.c: new pragma NOIV
52543 2003-02-09  Bernhard Held <bernhard AT bernhardheld.de>
52545         * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
52547 2003-02-09  Bernhard Held <bernhard AT bernhardheld.de>
52549         * src/SDCCmain.c: signal handling is switched off by --debug
52550         * doc/Makefile: small fix for install; use clean.mk again
52551         * doc/clean.mk: clean *.pdf and *.html too
52553 2003-02-08  Bernhard Held <bernhard AT bernhardheld.de>
52555         * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
52556         * device/lib/printfl.c: fix a ds390 bug by making it portable
52557         * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
52558         * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
52559         * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
52560         * debugger/mcs51/cmd.c: converted multi-line string literals
52561         * sim/ucsim/globals.cc: converted multi-line string literals
52562         * src/SDCCmain.c: introduced signal handler to remove temp files
52563         * doc/Makefile: small tweaks, implement clean
52564         * doc: removed generated files
52566 2003-02-05  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52568         * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c:  Applied
52569         patch from Jan Rejlek <jr AT apex-lib.cz> to fix Bug 677692: "Extended
52570         Address Record is not correctly generated for DS390."
52572 2003-02-02  Borut Razem <borut.razem AT siol.net>
52574         * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
52575         * as/mcs51/asm.h: fixed compilation with Borland C
52576         * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
52577         * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
52578         * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
52579         * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
52580         src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
52581         src/z80/Makefile.bcc: delete $(LIB) only if exist
52582         * src/Makefile.bcc, src/pic/Makefile.bcc:  fixed compilation with Borland C
52584 2003-02-02  Bernhard Held <bernhard AT bernhardheld.de>
52586         * device/include/malloc.h: introduced NULL
52587         * device/include/string.h: introduced NULL
52588         * device/include/stdlib.h: introduced NULL
52589         * device/lib/_memcpy.c: removed NULL
52590         * device/lib/_strcat.c: removed NULL
52591         * device/lib/_strchr.c: removed NULL
52592         * device/lib/_strcmp.c: removed NULL
52593         * device/lib/_strcpy.c: removed NULL
52594         * device/lib/_strcspn.c: removed NULL
52595         * device/lib/_strlen.c: removed NULL
52596         * device/lib/_strncat.c: removed NULL
52597         * device/lib/_strncmp.c: removed NULL
52598         * device/lib/_strncpy.c: removed NULL
52599         * device/lib/_strpbrk.c: removed NULL
52600         * device/lib/_strrchr.c: removed NULL
52601         * device/lib/_strspn.c: removed NULL
52602         * device/lib/_strstr.c: removed NULL
52603         * device/lib/_strtok.c: removed NULL
52604         * device/lib/malloc.c: removed NULL, include own header
52606 2003-02-02    <johan AT balder>
52608         * 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
52609         * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
52610         * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
52611         * src/z80/gen.c (genZ80Code): added c-lines in asm comments
52612         * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
52613         * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
52615 2003-02-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52617         * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
52618         area 'DATA'"
52620 2003-02-01    <johan AT balder>
52622         * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
52624 2003-01-31    <johan AT CP255758-A>
52626         * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
52628 2003-01-30    <johan AT balder>
52630         * src/SDCCBBlock.c: automatic bug detection
52631         * src/SDCCicode.c: automatic bug detection
52633 2003-01-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52635         * src/SDCCglobl.h:   now --xram-size 0 works
52636         * src/SDCCmain.c:    now --xram-size 0 works
52638 2003-01-29    <johan AT balder>
52640         * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
52642 2003-01-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52644         * as/mcs51/aslink.h: Added options --xram-size and --code-size
52645         * as/mcs51/lkdata.c: Added options --xram-size and --code-size
52646         * as/mcs51/lkmain.c: Added options --xram-size and --code-size
52647         * as/mcs51/lkmem.c:  Added options --xram-size and --code-size
52648         * src/SDCCglobl.h:   Added options --xram-size and --code-size
52649         * src/SDCCmain.c:    Added options --xram-size and --code-size
52651 2003-01-28  Bernhard Held <bernhard AT bernhardheld.de>
52653         * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
52654         * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
52656 2003-01-27    <johan AT balder>
52658         * src/SDCC.y: fixed bug #613764
52660 2003-01-26    <johan AT balder>
52662         * src/SDCClrange.c:  fixed Bernhard's "char * code ptr = &c"
52663         * src/SDCCsymt.h: fixed bug #673374
52664         * src/SDCCglue.c: fixed bug #661910
52665         * src/SDCCast.c: fixed bug #458099 and 673374
52667 2003-01-26  Bernhard Held <bernhard AT bernhardheld.de>
52669         * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
52670         * as/mcs51/strcmpi.h: added
52671         * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
52672         * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
52673         * as/mcs51/asmain.c: strcmpi -> as_strcmpi
52674         * as/mcs51/assym.c: strcmpi -> as_strcmpi
52675         * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
52676         * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
52677         * as/mcs51/lksym.c: strcmpi -> as_strcmpi
52678         * as/mcs51/Makefile.aslink: new module strcmpi
52679         * as/mcs51/Makefile.asx8051: new module strcmpi
52680         * as/mcs51/Makefil.bcc: new module strcmpi
52681         * as/mcs51/Makefile.in: new module strcmpi
52682         * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
52684 2003-01-26    <johan AT balder>
52686         * src/SDCCglue.c: reverted back to 1.124
52687         * src/SDCCast.c: reverted back to 1.156
52688         * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
52690 2003-01-25    <johan AT balder>
52692         * src/SDCCglue.c: A better fix for bug #661910
52693         * src/SDCCast.c: A better fix for bug #661910
52694         * src/SDCCglue.c (emitRegularMap): That was a little too efficient
52696 2003-01-24  Bernhard Held <bernhard AT bernhardheld.de>
52698         * src/Makefile.in: remove spawn.o
52699         * src/SDCCmain.c: remove spawn.h
52700         * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
52701         * src/spawn.c: removed
52702         * src/spawn.h: removed
52703         * support/regression/ports/ds390/spec.mk: link with -r
52705 2003-01-24    <johan AT CP255758-A>
52707         * src/ds390/gen.c (aopOp): fixed bug #667458
52708         * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
52709         * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
52710         (createIvalCharPtr): an ival doesn't always have a storage class anymore
52712 2003-01-24  Bernhard Held <bernhard AT bernhardheld.de>
52714         * src/mcs51/peeph.def: better assembler identation by Frieder
52715         * src/mcs51/gen.c: better assembler identation by Frieder
52717 2003-01-22  Bernhard Held <bernhard AT bernhardheld.de>
52719         * as/z80/string.h: removed for gcc 3.2
52720         * support/makebin/makebin.c: #include <string.h> for gcc 3.2
52721         * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
52723 2003-01-19  Bernhard Held <bernhard AT bernhardheld.de>
52725         * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
52726         * src/SDCCpeeph.c (replaceRule): fix bug #663503
52727         * support/regression/Makefile: separate temp files for ports
52728         * support/regression/generate-cases.py: separate temp files for ports
52729         * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
52730         * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
52732 2003-01-19  Bernhard Held <bernhard AT bernhardheld.de>
52734         * moved tinitalk to device/examples/ds390
52736 2003-01-14  Bernhard Held <bernhard AT bernhardheld.de>
52738         * as/mcs51/lkmem.c: rflag is for DS390
52739         * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
52740         * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
52741                          (linkEdit): move mem- and map-files the same way as ihx-files
52742         * src/z80/main.c (_setDefaultOptions): removed --generic
52743         * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
52744         * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
52745         * src/pic/glue.c (picglue): --c1mode works again
52746         * src/pic16/glue.c (pic16glue): --c1mode works again
52747         * src/asm.c (printCLine): fix #660034
52749 2003-01-13  Bernhard Held <bernhard AT bernhardheld.de>
52751         * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>, 1 by Frieder
52752         * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
52753         * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
52754         * as/mcs51/lkmem (summary): better fix for sp problem
52755         * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
52756         * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
52757         * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
52758                                               remove --stack-after-data
52760 2003-01-12  Bernhard Held <bernhard AT bernhardheld.de>
52762         * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
52763         * src/SDCCutil.c (join): ugly bug: missing '\0'
52764         * as/mcs51/lkmem.c (summary): sp on address 7 is safe
52766 2003-01-11  Bernhard Held <bernhard AT bernhardheld.de>
52768         * src/SDCCmain.c (assemble, linkEdit): preparations for -o
52769         * src/port.h: typo
52770         * src/pic/main.c (_asmCmd): gpasm supports -o
52771         * src/z80/main.c: more general macros
52772         * device/lib/Makefile.in: remove intermediate files
52774 2003-01-11  Bernhard Held <bernhard AT bernhardheld.de>
52776         * .version: Bumped version number to 2.3.3
52777         * src/SDCCBBlock.c: new option -o
52778         * src/SDCCglobl.h: new option -o
52779         * src/SDCCglue.c: new option -o
52780         * src/SDCCmain.c: new option -o
52781         * src/asm.c: new option -o
52782         * src/ds390/main.c: new option -o
52783         * src/pic/glue.c: new option -o
52784         * src/pic/pcode.c: new option -o
52785         * src/pic/ralloc.c: new option -o
52786         * src/pic16/glue.c: new option -o
52787         * src/pic16/pcode.c: new option -o
52788         * src/pic16/ralloc.c: new option -o
52789         * src/z80/main.c: new option -o
52790         * device/lib/Makefile.in: use -o
52791         * support/regression/ports/ds390/spec.mk: use -o
52792         * support/regression/ports/gbz80/spec.mk: use -o
52793         * support/regression/ports/mcs51/spec.mk: use -o
52794         * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
52795         * support/regression/ports/z80/spec.mk: use -o
52796         * support/regression/ports/ucz80/spec.mk: use -o
52797         * support/regression/ports/xa51/spec.mk: use -o
52798         * support/regression/fwk/lib/timeout.c: fix usage string
52800 2003-01-09  Bernhard Held <bernhard AT bernhardheld.de>
52801         * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>
52803 2003-01-07    <johan AT balder>
52805         * src/SDCCast.c (decorateType): fixed bug #600035
52807 2003-01-07  Bernhard Held <bernhard AT bernhardheld.de>
52808         * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
52809         * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
52810         * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
52811         * src/pic/pcode.c: outcommented unused variable to remove warnings
52812         * src/pic/ralloc.c: outcommented unused variable to remove warnings
52814 2003-01-06    <karl AT turbobit.com>
52815         * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
52816         regression tests.
52818 2003-01-06    <johan AT balder>
52820         * src/SDCCicode.c: fixed array add
52822 2002-01-05  Bernhard Held <bernhard AT bernhardheld.de>
52823         * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
52824         * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
52826 2003-01-04    <johan AT balder>
52828         * src/SDCCval.c (getNelements): fixed the initialized array of structures
52830 2002-12-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52831         * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
52833 2002-12-28  Bernhard Held <bernhard AT bernhardheld.de>
52834         * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann AT web.de>
52835         * support/regression/tests/bug-524697.c: fit mem usage into 8032
52837 2002-12-28  Bernhard Held <bernhard AT bernhardheld.de>
52838         * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
52840 2002-12-27  Bernhard Held <bernhard AT bernhardheld.de>
52841         * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
52843 2002-12-26  Bernhard Held <bernhard AT bernhardheld.de>
52844         * src/mcs51/main.c: removed {bindir}{sep} from aslink
52846 2002-12-10  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52848         * in /sdcc/as/mcs51/ changed these files in order to create an
52849         aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
52850         lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the
52851         following files to include the previous two files: aslink.dsp,
52852         Makefile.aslink, Makefile.bcc, and Makefile.in.
52854         * Changed /sdcc/src/SDCCmain.c so it creates files with extension
52855         .adb instead of .cdb
52857 2002-11-09  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52859         * /sdcc/as/mcs51/lklist.c: Now reports memory usage using the
52860         value from option --iram-size.
52862 2002-09-20  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52864         * /sdcc/as/mcs51/lklist.c: added boundary check before using
52865         dram[] array.
52867 2002-09-18    <wiml AT hhhh.org>
52869         * SDCClrange.h: exposed setFromRange() and setToRange()
52870         * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
52871           packRegsForAccUse() (bug 542397)
52872         * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
52873           multiple times and emitting the fetch operations more than once
52874           added aopGetUsesAcc() function to allow binary operators to
52875           fetch their operands in the correct order; made genMinus() emit
52876           compact code for X = LITERAL - Y
52878 2002-09-00  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52879         * /sdcc/as/mcs51/lklist.c: Fixed incorrect number of parameters to
52880         sprintf() in line 1267.
52882 2002-09-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52883         * /sdcc/src/SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
52884         like ports.
52886 2002-09-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52887         Changes to aslink (All the changes are marked with 'JCF'):
52889         * /sdcc/as/mcs51/aslink.h: External definition of sflag and
52890         summary().
52892         * /sdcc/as/mcs51/lkarea.c: Computes the size of area BSEG_BYTES from
52893         area BSEG.  Also moves, if possible, the DATA area down into the internal
52894         ram so more space is available.
52896         * /sdcc/as/mcs51/lkdata.c: Definition of memory summary output flag
52897         sflag.
52899         * /sdcc/as/mcs51/lklist.c: For the BSEG area report the size in bits,
52900         not bytes.  Function summary() which creates a memory usage summary
52901         file with extension .mem.  Reports of overlaping stack and small stack
52902         size.  If the space for the stack is less than 16 bytes aslink trows a
52903         warning.
52905         * /sdcc/as/mcs51/lkmain.c: Creation of some of the default areas for
52906         the 8051.  Option 'y' for memory summary output file.
52908         Changes to sdcc (All the changes are marked with 'JCF'):
52910         * /sdcc/src/SDCCglobl.h: External definition of RegBankUsed[4].
52912         * /sdcc/src/SDCCglue.c:  If a register bank is used, creates an
52913         overlaying area for it (uses RegBankUsed[4]).
52915         * /sdcc/src/SDCCmain.c: Definition RegBankUsed[4]; marks register
52916         bank zero as used by default.  By default aslink locates the stack
52917         (equivalent to --stack-after-data).  Pass option 'y' to aslink for
52918         the creation of the .mem file.  Delegates the allocation of data area
52919         to aslink (it is not longer 0x30 by default).  If --stack-loc passes
52920         the begining of the stack area to aslink.
52922         * /sdcc/src/SDCCmem.c:  If a register bank is used, marks it so
52923         glue() in SDCCglue.c creates an area for it.
52925 2002-09-03  Borut Razem <borut.razem AT siol.net>
52926         * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
52927         sdcc/src/pic/glue.c:
52928         introduced atexit() handler for teporay files removal in case of
52929         errors, assertions, ...
52931 2002-08-29  Borut Razem <borut.razem AT siol.net>
52932         * sdcc/support/cpp2/auto-host_vc_in.h:
52933         re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
52934         with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
52935         Maybe there is a similar problem with BORLANDC? It should be checked!
52937         * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
52938         corrected improper use of assert: the assignment to clr variable was done inside the assert.
52939         In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
52940         was not executed, and the compiler (cl) launched a warning:
52941         ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
52943 2002-08-28  Bernhard Held <bernhard AT bernhardheld.de>
52944         * src/SDCCglue.c (printIvalArray): iterative calculation of array length
52946 2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem AT siol.net>
52947         * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
52949         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
52950           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
52951           sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
52952           sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
52953           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
52954           sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
52955           sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
52956         - added Release configuration in VS projects
52957         - review of compiler an linker options
52958         - VC .exe files are generated in bin_vc directory, not to interfere
52959           with binaries generated from other projects (cygwin, mingw, bcc ...)
52961         * sdcc/src/yacc.dsp: added
52963         * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
52964         added - genarate sdcc_vc.h using sdcc_vc_in.h as template
52965         and insert the version number definitions from .version
52967         * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
52969         * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
52970         added - genarate auto-host.h using auto-host_vc_in.h as template
52972         * sdcc/sdcc_vc.h,
52973         removed from CVS, generated automatically
52975 2002-08-25  Bernhard Held <bernhard AT bernhardheld.de>
52976         * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
52978 2002-08-11  Borut Razem <borut.razem AT siol.net>
52979         * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
52981 2002-08-10  Borut Razem <borut.razem AT siol.net>
52982         * src/SDCCmain.c (main):
52983         file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
52984         platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
52985         The consequence was that some temporary files were not removed.
52987         * src/SDCCglue.c:
52988         unification of code in functions tempfilename() and tempfile():
52989         function tempnam() is defined in Visual Studio 6.0 and .NET
52991         * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
52993         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
52994           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
52995         - removed compiler command line option /WX: Treats all warnings as errors
52996         - update a list of source files, included into the project
52998         * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
52999           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
53000         changed project type to Generic Project so that can be correcly converted to VS.NET project
53002         * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
53004         * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
53006         * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
53008         * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
53009         added return 0 statements after assert() to make compiler happy
53011         * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
53012         added newline in the def file to keep MSC compiler satisfied
53014         * sdcc/src/z80/gen.c:
53015         - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
53016           so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
53017         - solved MSC error in function aopDump()
53019         * sdcc_vc.h: define PREFIX as "\\sdcc"
53021 2002-07-18  Bernhard Held <bernhard AT bernhardheld.de>
53022         * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
53024 2002-06-22  Scott Dattalo <scott AT dattalo.com>
53025         * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
53026         - Rewrote the register banking algorithm.
53027         - Added pCode live-range analysis to registers (for now, only non-used and
53028         singly-used registers optimized away)
53030         * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
53032         * 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.
53034 2002-05-10  Scott Dattalo <scott AT dattalo.com>
53035         * src/pic/*: Added support for multiplication. Fixed many,many bugs.
53037 2002-04-22  Michael Hope  <michaelh AT vroom>
53039         * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
53041         * configure.in (DD_COPT): Added include support required for gbdk.
53043         * .version: Bumped version number just to increase it.
53045         * src/SDCCmain.c: Added -nostdinc to the default options.
53047 2002-04-15  Michael Hope  <michaelh AT vroom>
53049         * device/lib/z80/printf.c (sprintf): Added.
53051         * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
53053         * src/z80/peeph.def: Added transpose redundent load rule.
53055         * src/z80/main.c: Added force callee saves for jaune.
53057         * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
53059         * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
53061 2002-03-28  Johan Knol  <johan AT balder>
53063         * src/SDCCval.c: fixed bug #532436
53065 2002-03-14  Scott Dattalo <scott AT dattalo.com>
53066         * /src/port.h:
53067         Added "char *Processor" field to the port structure.
53069         * /src/SDCCmain.c:
53070         Added -p option. Allows port dependent processor to be specified.
53072         * all ports:
53073         Initialized the new field char *Processor field to NULL in all ports
53075         * /src/pic/*:
53076         Compiler generated registers for interrupt context saving
53077         were not getting allocated.
53079 2002-03-16  Sandeep Dutta  <sandeep AT ddi.com>
53081         * /src/SDCCast.c:
53082         Fixed left shift. Will promote the left side of a left shift
53083         if a) left shifting more than size of operand or b) when assigned
53084         to something size > size of left side
53086 2002-03-14  Scott Dattalo <scott AT dattalo.com>
53087         * src/pic/*
53088         tons of changes. Register allocation has been
53089         rewritten. Added customization for the various PICs. Flow
53090         analysis is restructured. ...
53092         * src/pic/device.h:
53093         Added
53095         * src/pic/device.c:
53096         Added. device.c is a PIC port hack to accomodate variations
53097         in PIC devices.
53099 2002-03-13  Michael Hope  <michaelh AT vroom>
53101         * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
53103 2002-03-04  johanknol  <johanknol AT manik>
53105         * /src/SDCCval.c: fixed
53107         const unsigned char arr[][2] = { { 0, 1 } };
53108         t18.c:1: error: Initializer element is not constant
53110 2002-03-04  bela  <bela AT manik>
53112         * /device/include/mcs51reg.h:
53113         ds89c420 register definition update
53115 2002-03-03    <johan AT FRIJA>
53117         * support/Util/SDCCerr.c: did something, but don't no why anymore
53119         * support/regression/tests/bug-524691.c: made it a little less shy
53121         * src/SDCCast.c (decorateType): fixed bug #524697
53123         * src/SDCCast.c: made some lineno improvements
53125         * src/SDCCval.c (getNelements): changed warning to error
53127         * src/SDCCglue.c (printIvalArray): changed warning to error
53129         * src/SDCCicode.c: fixed a warning for mingw
53131         * src/SDCCast.c (decorateType): fixed the << promotion for ops
53133         * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
53135 2002-03-02  Sandeep Dutta  <sandeep AT ddi.com>
53137         * src/ds390/peeph.def:
53138         Added some more peephole rules
53140         * src/ds390/gen.c: Various fixes & enhancements
53142         * src/SDCClrange.c, src/SDCClrange.h:
53143         functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
53145         * src/ds390/ralloc.c:
53146         various fixes & enhancements (ds390) specific
53148         * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
53149         Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
53150         from rallocs.
53152         * sdcc/src/SDCCcse.c: Better fix for bug # 514308
53154 2002-03-02    <johan AT FRIJA>
53156         * src/SDCCast.c (decorateType): fixed bug #524708
53158         * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
53160         * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
53162 2002-03-01  Michael Hope  <michaelh AT vroom>
53164         * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
53166         * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
53168 2002-03-01    <johan AT FRIJA>
53170         * src/SDCCglue.c (printIvalPtr): fixed bug #524211
53172         * src/SDCCast.c (decorateType): fixed bug #524209
53174         * src/SDCCval.c (valNot): fixed bug #524195
53176 2002-02-26    <johan AT balder>
53178         * src/xa51/gen.c: fixed a warning
53180         * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
53182         * src/SDCCast.c (decorateType): fixed bug #522534
53184 2002-02-23    <johan AT balder>
53186         * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
53188 2002-02-22    <johan AT balder>
53190         * src/SDCCast.c: fixed bug #514865
53192         * src/SDCCy.c ("SDCC.y"): fixed bug #516625
53194 2002-02-21  Sandeep Dutta  <sandeep AT ddi.com>
53196         * sdcc/src/SDCCloop.c:
53197         Previous fix was not good. basic blocks that have "break" or "return" are
53198         not really partof a loop , but live ranges used in these blocks should
53199         be live thru the entire loop, so set partOfLoop but don't add them to
53200         loop region
53202 2002-02-21    <johan AT FRIJA>
53204         * src/SDCCcse.c: fixed bug #514308
53206 2002-02-20  Sandeep Dutta  <sandeep AT ddi.com>
53208         * src/SDCCloop.c:
53209         Fixed BUG #519583. If a conditional block ended in a return/break
53210         statement inside a loop, it was not being considered part of the loop.
53212         * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
53214 2002-02-10  Karl Bongers <karl AT turbobit.com>
53216         * debugger/*:
53217         Fixed up SDCDB debugger somewhat.  Updated debugger/README
53218         with lots of comments and notes.
53220         * device/examples/test2.c:
53221         Fix bug, "red" variable not being initialized(compiler complained).
53223         * device/examples/Makefile, examples/test3.c:
53224         Add Makefile in device/examples folder, compiles test3.c
53225         for use as a multiple module SDCDB test case.
53227         * sim/ucsim/cmd.src/cmdset.cc:
53228         Took out debug printfs in ucsim "next" command.
53230         * sim/ucsim/xa.src:
53231         Karl and Johan start ucsim XA support.  Most dissassembly working,
53232         about 75% emulation done(plenty of work remaining).
53234         * sim/ucsim/z80.src:
53235         Add Z80 support to ucsim, add test-ucz80 regression test,
53236         notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
53237         Notice z80 compiler fails on examples/test3.c/crc code.
53239 2002-01-30  Sandeep Dutta  <sandeep AT ddi.com>
53241         * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
53242         Added support for --parms-in-bank1
53244         * src/ds390/peeph.def:
53245         added a few more peephole optimzations
53247         * src/ds390/main.c:
53248         1) added __builtin_inp & __builtin_outp used to read in data of given length
53249            from a memory mapped port
53250         2) added __builtin_memcmp
53251         3) added __builtin_swapw swap bytes of a short
53253         * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
53254         1) handle multiple send & receives from register bank1
53255         2) ralloc can now allocate DPTR1 to some liveRanges
53257         * src/SDCCsymt.c, src/SDCCsymt.h:
53258         changes to handle multiple sends & receives
53260         * src/SDCCptropt.h:
53261         added some pointer arithmetic optimization
53263         * src/SDCCptropt.c:
53264         added some pointer arithmetic optimizations but not stable yet so not
53265         called from anywhere (will get this working shortly)
53267         * src/SDCCopt.c: fixed for multiple sends & receives
53269         * src/SDCCmain.c:
53270         1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
53271         2) preprocessing done AFTER port->finalizeoptions . This allows ports to
53272            set preprocessor defines (depending on options)
53274         * src/SDCCicode.c, src/SDCCicode.h:
53275         changes made to handle multiple sends & receives
53277         * src/SDCCglobl.h:
53278         Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
53280         * src/SDCCcse.c, src/SDCCcse.h:
53281         added function findbackward def (to be used in upcoming optimization)
53283         * src/SDCCcflow.c, src/SDCCcflow.h:
53284         added function returnAtEnd - to determine if a basic block terminates with
53285         a RETURN iCode
53287         * src/SDCCast.c, src/SDCCast.h:
53288         added option parms-in-bank1
53290         * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
53291         * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
53292         * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
53293         adjusted for --parms-in-bank1 option
53295         * device/include/string.h:
53296         donot redefine "reentrant" keyword
53298         * device/include/ds80c390.h: Added some more SFRs
53300 2002-01-28  Bernhard Held  <bernhard AT bernhardheld.de>
53302         * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
53304 2002-01-26  Bernhard Held  <bernhard AT bernhardheld.de>
53306         * src/SDCCast.c (funcOfType): fix usage of double --float-reent
53308 2002-01-22  Bernhard Held  <bernhard AT bernhardheld.de>
53310         * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
53312 2002-01-18  Paul Stoffregen  <paul AT pjrc.com>
53314         * Added --xram-movc option
53316 2002-01-13  Bernhard Held  <bernhard AT bernhardheld.de>
53318         * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
53320 2002-01-11  Johan Knol
53322         * Added math lib of Jesus Calvino-Fraga
53324 2002-01-08  Bernhard Held  <bernhard AT bernhardheld.de>
53326         * src/SDCCmain.c (processFile): fix processing of ../../src.c
53327         * support/regression/Makefile: new target test-mcs51-stack-auto
53328         * support/regression/ports/mcs51-stack-auto/spec.mk: added
53330 2002-01-04  Bernhard Held  <bernhard AT bernhardheld.de>
53332         * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
53334 2002-01-04  Bernhard Held  <bernhard AT bernhardheld.de>
53336         * support/regression/ports/mcs51/support.c: correct setup of timer / UART
53338 2002-01-03  Bernhard Held  <bernhard AT bernhardheld.de>
53340         * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
53342         * src/SDCCglue.h: add definition for printIvalChar()
53344 2002-01-02  Bernhard Held  <bernhard AT bernhardheld.de>
53346         * src/SDCCast.c: fix #498138 by Johan
53348         * src/SDCCglue.c: fix #498138 by Johan
53350 2002-01-02  Bernhard Held  <bernhard AT bernhardheld.de>
53352         * support/regression/Makefile: fix clean
53354         * support/regression/ports/ds390/support.c: fix transmission of last character
53356 2001-12-29  Sandeep Dutta  <sandeep AT ddi.com>
53358         * /sdcc/src/ds390/gen.c:
53359         a) improved computing address of stack variable
53360         b) took out some #if 0 code
53361         c) improved parmBytes adjustment
53362         d) improved genPlusIncr & genMinusIncr
53363         e) genCmp could generate bad code (when left assigned to DPTR)
53364         f) Fixed bug in hasInc
53366         * /sdcc/src/ds390/ralloc.c:
53367         a) packRegsForSupport could mess up live information (Fixed)
53368         b) packRegsDPTRuse could be incorrect for left & right shift
53370         * /sdcc/src/mcs51/ralloc.c:
53371         packRegsForSupport could mess up the live information (Fixed)
53373         * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
53375         * /sdcc/src/SDCCast.c:
53376         can reverse a loop even if function call is present as long
53377         as the loop control variable is local & is not passed as parameter
53379 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
53381         * /sdcc/ChangeLog: *** empty log message ***
53383         * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
53384         More builtin function additions for TININative
53386         * /sdcc/src/ds390/ralloc.c:
53387         Had broken the regression testsuite
53389         * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
53391         * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
53392         Added funcattr hasStackParms will be set for reentrant functions when there
53393         are paramteres on the stack, this helps in minimizing frame pointer generation
53394         typeFromStr can handle function pointers now
53396         * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
53397         *** empty log message ***
53399 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
53401         * /src/ds390/gen.c, /src/ds390/main.c:
53402         More builtin function additions for TININative
53404         * /src/ds390/ralloc.c:
53405         Had broken the regression testsuite
53407         * /src/SDCCast.c: Fixed a bug in dumptree
53409         * /src/SDCCsymt.c, /src/SDCCsymt.h:
53410         Added funcattr hasStackParms will be set for reentrant functions when there
53411         are paramteres on the stack, this helps in minimizing frame pointer generation
53412         typeFromStr can handle function pointers now
53414         * /doc/builtins.txt, /doc/TININative.txt:
53415         *** empty log message ***
53418 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
53420         * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
53421         ALPHA version for -mTININative
53423         * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
53424         updated to reflect changes in the port structure
53426         * /src/port.h:
53427         added function do_assemble (similar to do_link) if non-null this function
53428         will be called to do assembly (-mTININative) requires a multi command
53429         assembly
53430         added function genAssemblerEnd will be called to generate assembler Epilogue
53432         * /src/SDCCsymt.c:
53433         added _JavaNative to debug info printing
53435         * /src/SDCCmain.c: added option --tini-libid
53436         added port->do_assemble function (-mTININative) has a multi command assemble
53438         * /src/SDCCglue.c: Disabled "constExpr" check
53439         added port->genAssemblerEnd function
53441         * /src/SDCCglobl.h: Added option --tini-libid value
53443         * /src/SDCCast.h:
53444         tookout optimizeCompare from the header (has no external references)
53446         * /src/SDCCast.c: made one more function "static"
53448 2001-12-23  Michael Hope  <michaelh AT juju.net.nz>
53450         * src/z80/mappings.i: Added z80asm support.
53452         * src/z80/main.c: Added z80asm support on --asm=z80asm
53454         * src/z80/gen.c: Fixed asm portability issues.
53456         * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
53458         * src/SDCCglue.c (printExterns): Added global/extern split.
53460 2001-12-17  Bernhard Held  <bernhard AT bernhardheld.de>
53462         * support/regression/Makefile: added test for mcs51 model large
53464         * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
53466         * support/regression/ports/gbz80/spec.mk: added -mgbz80
53468 2001-12-05  Michael Hope  <michaelh AT juju.net.nz>
53470         * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
53472 1904-01-06  Michael Hope  <michaelh AT juju.net.nz>
53474         * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
53476         * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
53478 2001-12-02  Bernhard Held  <bernhard AT bernhardheld.de>
53480         * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
53482         * support/regression/tests/simplefloat.c: Port to mcs51.
53484 2001-11-25  Michael Hope  <michaelh AT juju.net.nz>
53485         * support/regression/tests/bug-485362.c: Added.
53487         * support/regression/tests/simplefloat.c (testDivNearOne): Added.
53489         * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
53491         * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
53493         * src/z80/gen.c (aopDump): Added a dump function.
53495 2001-11-25  Bernhard Held  <bernhard AT bernhardheld.de>
53496         * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
53498         * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
53500         * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
53502         * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
53504         * sim/ucsim/s51.src/uc390cl.h: Work in progress.
53506         * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
53508         * support/regression/fwk/lib/testfwk.c: Run with tinibios.
53510         * support/regression/ports/mcs51/spec.mk: Fine tuninig.
53512         * support/regression/ports/ds390/support.c: Use tinibios.
53514         * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
53516 2001-11-23  Michael Hope  <michaelh AT juju.net.nz>support/regression/tests/bug-460010.c
53518         * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
53519         (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
53521         * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
53523         * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
53525 2001-11-18  Michael Hope  <michaelh AT juju.net.nz>
53527         * src/z80/gen.c (genCmp): Fixed compare on unsigned.
53529         * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
53530         (packRegsForIYUse): Created and optimised.
53532 2001-11-07  Michael Hope  <michaelh AT juju.net.nz>
53534         * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
53536 2001-11-18  Bernhard Held  <bernhard AT bernhardheld.de>
53538         * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
53540         * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
53542         * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
53544 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
53546         * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
53548         * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
53550 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
53552         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
53554         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
53556         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
53558 2001-11-07  Michael Hope  <michaelh AT juju.net.nz>
53560         * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
53561         (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
53562         (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
53564         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
53566         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
53567         (genNotFloat): Added.
53568         (genUminusFloat): Added.
53570         * device/lib/z80/Makefile: Added floating pt stubs.
53572         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
53574         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
53576         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
53578 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
53580         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
53582         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
53584         * sdcc/support/regression/Makefile: Add port ds390.
53586         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
53588         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
53590         * sdcc/support/regression/ports/ds390/spec.mk: Added.
53592         * sdcc/support/regression/ports/ds390/support.c: Added.
53594         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
53596         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
53598         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
53600 2001-11-04  Michael Hope  <michaelh AT juju.net.nz>
53602         * device/include/malloc.h: Added z80 and gbz80 support.
53604         * device/lib/gbz80/heap.s: Added.
53606         * device/lib/z80/heap.s: Added.
53608         * device/lib/malloc.c: Added z80 and gbz80 support.
53610         * support/regression/tests/malloc.c (testMalloc): Added.
53612         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
53614         * support/regression/tests/bug-478094.c: Added.
53616         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
53618 2001-11-04  Bernhard Held  <bernhard AT bernhardheld.de>
53620         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
53622         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
53624         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
53626         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
53628         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
53630 2001-11-04  Michael Hope  <michaelh AT juju.net.nz>
53632         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
53634 2001-11-03  Michael Hope  <michaelh AT juju.net.nz>
53636         * support/regression/tests/bug-477927.c: Added.
53638         * src/z80/peeph.def: Added minor rules.
53640         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
53642         * src/z80/peeph.def: Added jump optimisation modification.
53644 2001-11-01  Michael Hope  <michaelh AT juju.net.nz>
53646         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
53648 2001-10-30  Michael Hope  <michaelh AT juju.net.nz>
53650         * support/regression/tests/funptrs.c: Added.
53652 2001-10-29  Michael Hope  <michaelh AT juju.net.nz>
53654         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
53656 2001-10-28  Michael Hope  <michaelh AT juju.net.nz>
53658         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
53660         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
53662         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
53663         (movLeft2ResultLong): Created.
53665         * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
53666         (joinPushes): Added.  Joins two char pushes into a word push.
53668 2001-10-27  Michael Hope  <michaelh AT juju.net.nz>
53670         * support/cpp2/Makefile.in (install): Added creation of dest dir.
53672         * support/makebin/Makefile (install): Added creation of dest dir.
53674 2001-10-24 Karl Bongers <karl AT turbobit.com>
53676         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
53678 2001-10-21  Michael Hope  <michaelh AT juju.net.nz>
53680         * src/z80/ralloc.c: Turned off faulty pack for one use.
53682         * src/z80/peeph-gbz80.def: Removed redundent restart options.
53684         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
53686 2001-10-21  Bernhard Held  <bernhard AT bernhardheld.de>
53688         * support/regression/Makefile: Improved clean
53690         * support/regression/ports/gbz80/spec.mk: Added clean
53692         * support/regression/ports/host/spec.mk: Added clean
53694         * support/regression/ports/z80/spec.mk: Added clean
53696         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
53698         * support/regression/ports/mcs51/timeout.c: little improvements
53700 2001-10-17  Michael Hope  <michaelh AT juju.net.nz>
53702         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
53704         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
53706         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
53708 2001-10-16  Bernhard Held  <bernhard AT bernhardheld.de>
53710         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
53712         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
53714 2001-10-13  Michael Hope  <michaelh AT juju.net.nz>
53715         * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
53717         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
53719         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
53721         * src/mcs51/main.c (_linkCmd): Added bin path to command.
53723         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
53725         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
53727         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
53729         * support/regression/tests/longor.c: Added.
53731 2001-10-11  Bernhard Held  <bernhard AT bernhardheld.de>
53733         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
53735         * as/mcs51/aslink.h: define PATH_MAX
53737         * as/mcs51/asm.h: define PATH_MAX
53739         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
53741         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
53743         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
53745         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
53747         * src/SDCCglobl.h: define PATH_MAX
53749         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
53751         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
53753 2001-10-11  Michael Hope  <michaelh AT juju.net.nz>
53755         * src/z80/gen.c (gencjneshort): Fixed
53757         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
53759 2001-10-09  Michael Hope  <michaelh AT juju.net.nz>
53761         * support/regression/tests/bug-469671.c: Added.
53763         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
53765 2001-10-08  Michael Hope  <michaelh AT juju.net.nz>
53767         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
53769         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
53771 2001-10-08  Bernhar Held  <bernhard AT bernhardheld.de>
53773         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
53775         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
53777         * src/device/lib/_mullong.c : removed hint: nooverlay bug
53779         * src/device/lib/_divuint.c : removed hint: nooverlay bug
53781         * src/device/lib/_divulong.c: removed hint: nooverlay bug
53783         * src/device/lib/_moduint.c : removed hint: nooverlay bug
53785         * src/device/lib/_modulong.c: removed hint: nooverlay bug
53787 2001-10-07  Michael Hope  <michaelh AT juju.net.nz>
53789         * 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.
53791         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
53793         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
53795 2001-10-07    <johan AT FRIJA>
53797         * device/lib/gets.c (gets): fixed the return value.
53799 2001-10-06  Michael Hope  <michaelh AT juju.net.nz>
53800         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
53802         * 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.
53804         * 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.
53806         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
53808         * src/pic/gen.c: Removed Safe_strdup.
53810         * configure.in: Added option to enable libgc support.
53812         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
53813         (bitVectUnion): Optimised.
53814         (bitVectIntersect): Optimised.
53815         (bitVectBitsInCommon): Optimised.
53816         (bitVectCplAnd): Optimised.
53818         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
53820 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
53822         * src/SDCCmain.c: distinguish between assembler debug and plain options
53824         * src/avr/main.c:   remove standard assembler options
53826         * src/ds390/main.c: remove standard assembler options
53828         * src/mcs51/main.c: remove standard assembler options
53830         * src/port.h: removed "PENDING" comment
53832 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
53834         * src/device/lib/_mulint.c  : new, with assember functions
53836         * src/device/lib/_mullong.c : new, with assember functions
53838         * src/device/lib/_divuint.c : with assember functions
53840         * src/device/lib/_divsint.c : with assember functions
53842         * src/device/lib/_divulong.c: with assember functions
53844         * src/device/lib/_divslong.c: with assember functions
53846         * src/device/lib/_moduint.c : with assember functions
53848         * src/device/lib/_modsint.c : with assember functions
53850         * src/device/lib/_modulong.c: with assember functions
53852         * src/device/lib/_modslong.c: with assember functions
53854         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
53856         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
53858         * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
53859                                       replaced _mululong.c and _mulslong.c by _mullong.c
53861 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
53863         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
53865 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
53867         * src/SDCCglue.c: test, if win32api is available for MINGW
53869 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
53871         * src/SDCCsymt.c: no more _modifier in printTypeChain()
53872         * support/regression/tests/driverstruct.c: REENTRANT for mcs51
53873         * support/regression/ports/gbz80/spec.mk: removed GENERIC
53874         * support/regression/ports/host/spec.mk: removed GENERIC
53875         * support/regression/ports/mcs51/spec.mk: removed GENERIC
53876         * support/regression/ports/z80/spec.mk: removed GENERIC
53878 2001-10-01  Michael Hope  <michaelh AT juju.net.nz>
53880         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
53882         * support/regression/tests/bug-467035.c: Created.
53884 2001-10-01    <johan AT FRIJA>
53886         * src/SDCC.y: fixed bug #466586 part 1
53888 2001-10-01  Johan Knol <johan.knol AT iduna.nl>
53890         * SDCCicode.c: z80 has no generic pointers
53891         * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
53893 2001-09-30  Michael Hope  <michaelh AT juju.net.nz>
53895         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
53897 2001-09-29  Michael Hope  <michaelh AT juju.net.nz>
53899         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
53901         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
53903 2001-09-25  Michael Hope  <michaelh AT juju.net.nz>
53905         * configure.in: Fixed up so that ucsim is only configured once.
53907         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
53909         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
53910         (getPathDifference): As above.
53912         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
53914         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
53916 2001-09-23  Michael Hope  <michaelh AT juju.net.nz>
53917         * .version: Updated to 2.3.1
53919         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
53920         Added copyright header.
53922         * src/SDCCmain.c: Shifted various functions into SDCCutil.c
53923         (assemble): Added support for macro based assembler commands.
53924         (linkEdit): Added support for macro based linker commands.
53925         (preProcess): Changed the pre-processor to use macros.
53926         (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
53927         (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
53929         * device/lib/z80/crt0.s: Added module name for debugging.
53931 2001-09-20  Michael Hope  <michaelh AT juju.net.nz>
53933         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
53935         * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
53937         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
53939         * src/Makefile.in: Added SDCCmacro and SDCCutil
53941 2001-09-19  Michael Hope  <michaelh AT juju.net.nz>
53943         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
53945 2001-09-16    <johan AT FRIJA>
53947         * 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.
53949 2001-09-15    <johan AT FRIJA>
53951         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
53952         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
53954 2001-09-11    <johan AT FRIJA>
53956         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
53958 2001-09-10  Michael Hope  <michaelh AT juju.net.nz>
53960         * support/regression/tests/bug-460444.c: Added test case.
53962         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
53963         (genCast): Added justification for all of the asserts.
53965 2001-09-10  Bernhard Held <bernhard AT bernhardheld.de>
53967         * support/regression/support.c: _xdata replaced by xdata
53969         * support/regression/spec.mk: removed _generic
53971 2001-09-09  Michael Hope  <michaelh AT juju.net.nz>
53973         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
53975         * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
53976         (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
53978         * src/z80/peeph.def: Added a rule to optimise shift then compare.
53980         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
53982         * support/regression/tests/bug-460010.c: Added test case.
53984         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
53986 2001-09-09  Bernhard Held <bernhard AT bernhardheld.de>
53988         * support/regression/Makefile: inter-port-clean adjusted for mcs51
53990         * support/regression/testfwk.c: removed workaround for bug #436344
53992         * support/regression/tests/bp.c: use less memory with mcs51
53994         * support/regression/tests/bug-441448.c: use less memory
53996         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
53998         * support/regression/collate-results.py: typo
54000 2001-09-08  Michael Hope  <michaelh AT juju.net.nz>
54002         * support/regression/tests/fetchoverlap.c: Added new test case.
54004         * support/regression/tests/bp.c: Added new test case.
54006         * support/regression/tests/bug-448984.c: Added new test case.
54008         * support/regression/tests/pow2shifts.c: Added new test case.
54010         * src/z80/gen.c: Turned off the noise it normally generates for the release.
54011         (genlshTwo): Fixed right shift for count > 8.
54013         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
54015 2001-09-08    <johan AT FRIJA>
54017         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
54019 2001-09-07    <johan AT FRIJA>
54021         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
54023         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
54025 2001-09-06    <johan AT FRIJA>
54027         * src/SDCC.y: this could be a fix for bug #458744 (1.37)
54028         * bernhard noted me at this: "() equals to (void)" (1.38)
54030 2001-09-05    <johan AT FRIJA>
54032         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
54034 2001-09-04    <johan AT FRIJA>
54036         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
54039 2001-09-04  Paul Stoffregen  <paul AT pjrc.com>
54041         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
54043 2001-09-03  Michael Hope  <michaelh AT juju.net.nz>
54045         * link/z80/aslink.h: Fixed path for PATH_MAX
54047 2001-09-02  Michael Hope  <michaelh AT juju.net.nz>
54049         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
54051         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
54053         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
54055         * 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.
54057 2001-09-01  Michael Hope  <michaelh AT juju.net.nz>
54059         * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
54060         (genCmp): Fixed up genCmp for the GB with longs.
54062         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
54064         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
54066         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
54068         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
54070 2001-08-30  Paul Stoffregen  <paul AT pjrc.com>
54072         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
54074 2001-08-30  Michael Hope  <michaelh AT juju.net.nz>
54076         * 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.
54078         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
54080 2001-08-29  Michael Hope  <michaelh AT juju.net.nz>
54082         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
54084         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
54086 2001-08-30 Bernhard Held   <bernhard AT bernhardheld.de>
54088         * sim/ucsim/configure:    little improvement of Cygwin-detection
54089         * sim/ucsim/configure.in: little improvement of Cygwin-detection
54090         * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
54091         * support/regression/tests/bug-221100.c: small changes for mcs51
54092         * support/regression/tests/bug-221168.c: small changes for mcs51
54093         * support/regression/tests/bug-227710.c: small changes for mcs51
54094         * support/regression/tests/staticinit.c: small changes for mcs51
54095         * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
54096         * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
54097         * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601
54099 $Revision$