Fix bug #3757.
[sdcc.git] / sdcc / ChangeLog
bloba1a1b648e0ae8a80e025749e990149102acd76ee
1 2024-07-05 Philipp Klaus Krause <philipp@colecovision.eu>
3         * src/z80/peeph.def:
4           Fix bug #3757.
6 2024-06-28 Philipp Klaus Krause <philipp@colecovision.eu>
8         * src/z80/peep.c,
9           src/z80/peeph.def:
10           z80 peephole optimizer improvements.
12 2024-06-25 Philipp Klaus Krause <philipp@colecovision.eu>
14         * src/z80/gen.c:
15           Improve 16-bit signed right shift code generation.
17 2024-06-24 Philipp Klaus Krause <philipp@colecovision.eu>
19         * src/z80/gen.c,
20           src/z80/peeph.def:
21           Improve handling of hl in code generation.
23 2024-06-22 Philipp Klaus Krause <philipp@colecovision.eu>
25         * device/lib/*/setjmp.s:
26           Improve setjmp/longjmp for z80-related ports, patch #479 by Janko Stamenović.
28 2024-06-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30         * device/lib/s08-stack-auto/_setjmp.c: fix bug #3743
31         * support/regression/tests/longjump.c: re-enable test affected by bug
33 2024-06-17 Philipp Klaus Krause <philipp@colecovision.eu>
35         * device/lib/sm83/Makefile.in:
36           Fix strnlen build for sm83 port.
38 2024-06-16 Philipp Klaus Krause <philipp@colecovision.eu>
40         * support/regression/tests/longjmp.c:
41           Disable a test for configuration affected by known bug #3743 (-ms08 --stack-auto).
43 2024-06-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45         * src/hc08/main.c (hasExtBitOp),
46           src/mos6502/main.c (hasExtBitOp): fix bug #3731
47         * support/regression/tests/sha3-256.c: only enabled for ports
48           that can handle returning large structs 
49         * src/mos6502/gen.c (genRet): fail unsupported struct return better
51 2024-06-13 Philipp Klaus Krause <philipp@colecovision.eu>
53         * device/lib/r2k/setjmp.s
54           device/lib/r2ka/setjmp.s
55           device/lib/r3ka/setjmp.s
56           support/regression/tests/setjmp.c,
57           support/regression/tests/longjmp.c:
58           Fix setjmp/longjmp return value for Rabbits.
59         * device/include/string.h,
60           device/lib/strlen.v,
61           device/lib/strnlen.v,
62           device/lib/strndup.c,
63           device/lib/Makefile.in,
64           device/lib/*/Makefile.in,
65           device/lib/pic14/libc/Makefile.am,
66           device/lib/pic14/libc/Makefile.in,
67           support/regression/tests/strnlen.c:
68           C2Y strnlen.
69         * support/regression/tests/bug-3730.c,
70           support/regression/tests/bug-3740.c:
71           Disable warnings on (intentionally) unused parameters in two regression tests.
72         * device/lib/tlcs90/setjmp.s:
73           Fix TLCs-90 interrupt flag handling in longjmp.
75 2024-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
77         * src/SDCCsalloc.hpp:
78           Fix handling of edges in vertex removal from stack conflict graph on spill location parameter merge.
80 2024-06-06 Philipp Klaus Krause <philipp@colecovision.eu>
82         * support/regression/tests/bug-3741.c:
83           Fix test for ports without banked function calls.
85 2024-06-05 Philipp Klaus Krause <philipp@colecovision.eu>
87         * support/regression/tests/bug-3741.c:
88           Add a regression test for a reported bug that I haven't been able to reproduce locally.
90 2024-06-03 Philipp Klaus Krause <philipp@colecovision.eu>
92         * src/SDCCgenconstprop.cc,
93           src/SDCCdflow.h:
94           Fix a z80 codegen issue in the handling of information from generalized constant propagation.
96 2024-06-03 Philipp Klaus Krause <philipp@colecovision.eu>
98         * src/z80/gen.c,
99           support/regression/tests/bug-3740.c:
100           Fix bug #3740.
102 2024-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
104         * src/z80/peep.c:
105           Parse ZX Spectrum Next nextreg instruction.
107 2024-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
109         * src/SDCCralloc.hpp,
110           src/hc08/gen.c:
111           Reject boost 1.85.0.
113 2024-05-29 Philipp Klaus Krause <philipp@colecovision.eu>
115         * src/z80/gen.c:
116           Skip leading zeroes on comparisons and some increments.
118 2024-05-28 Philipp Klaus Krause <philipp@colecovision.eu>
120         * src/z80/gen.c:
121           Use information from generalized constant propagation to optimize comparisons of signed types.
123 2024-05-27 Philipp Klaus Krause <philipp@colecovision.eu>
125         * src/z80/gen.c:
126           z80 codegen improvements.
128 2024-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
130         * src/SDCCsalloc.hpp,
131           src/stm8/ralloc2.cc,
132           src/stm8/gen.c,
133           src/z80/ralloc2.cc:
134           Use stack parameter locations as spill locations in some simple cases.
136 2024-05-16 Philipp Klaus Krause <philipp@colecovision.eu>
138         * src/z80/peeph.def,
139           support/regression/tests/bug-3733.c:
140           Fix bug #3733.
142 2024-05-03 Philipp Klaus Krause <philipp@colecovision.eu>
144         * support/regression/tests/sha3-256.c:
145           SHA3-256 test assumes little endian, so disable it for other systems.
147 2024-05-02 Philipp Klaus Krause <philipp@colecovision.eu>
149         * doc/sdccman.lyx:
150           mcs51 named address space clarifications.
151         * support/regression/tests/sha3-256.c:
152           Test for bug #3731.
154 2024-05-01 Philipp Klaus Krause <philipp@colecovision.eu>
156         * src/z80/peeph.def:
157           Fix an issue in previous commit.
159 2024-04-30 Philipp Klaus Krause <philipp@colecovision.eu>
161         * src/z80/ralloc2.cc,
162           src/z80/peeph.def:
163           Improve use of register a and (hl) in comparisons.
165 2024-04-29 Philipp Klaus Krause <philipp@colecovision.eu>
167         * src/z80/gen.c,
168           Fix an issue in the handling of register hl vs a in write via pointer.
170 2024-04-26 Philipp Klaus Krause <philipp@colecovision.eu>
172         * src/z80/ralloc2.cc:
173           Fix bug #3730.
175 2024-04-25 Philipp Klaus Krause <philipp@colecovision.eu>
177         * support/regression/tests/bug-3730.c:
178           Test for bug #3730.
180 2024-04-24 Philipp Klaus Krause <philipp@colecovision.eu>
182         * doc/sdccman.lyx:
183           Update documentation on implementation-defined behaviour.
184         * sdas/astlcs90/t90.h,
185           sdas/astlcs90/t90mch.c,
186           sdas/astlcs90/t90pst.c,
187           src/z80/gen.c:
188           Use lda for tlcs90 codegen.
190 2024-04-23 Felix Salfelder <felix AT salfelder.org>
192         * support/cpp/gcc/cc1_dummies.cc
193           Amend unused function prototypes. Fixes #3725
195 2024-04-23 Philipp Klaus Krause <philipp@colecovision.eu>
197         * src/z80/gen.c:
198           Global operand handling fixes.
200 2024-04-22 Philipp Klaus Krause <philipp@colecovision.eu>
202         * src/z80/gen.c,
203           support/regression/ports/ucz80-unsafe-read:
204           Allow use 16-bit loads from memory to load 8-bit registers.
206 2024-04-22 Philipp Klaus Krause <philipp@colecovision.eu>
208         * src/z80/gen.c,
209           src/z80/peeph.def:
210           Improve storing of 0 into global variables.
212 2024-04-22 Philipp Klaus Krause <philipp@colecovision.eu>
214         * support/scripts/as2gbmap.py:
215           Migrate as2gbmap to Python 3, patch from Debian.
216         * src/z80/peep.c:
217           Improve handling of function calls in notUsed(From)('iy').
218         * src/z80/gen.c:
219           Fix handling of operand in a in built-in strchr.
221 2024-04-19 Philipp Klaus Krause <philipp@colecovision.eu>
223         * src/z80/gen.c:
224           Improve handling of register argument in a in register allocation.
226 2024-04-19 Philipp Klaus Krause <philipp@colecovision.eu>
228         * src/z80/gen.c:
229           Fix generation of a redundant instruction in z80 comparison.
231 2024-04-18 Philipp Klaus Krause <philipp@colecovision.eu>
233         * src/z80/peep.c:
234           Improve handling of function calls in notUsed(From).
235         * src/z80/gen.c:
236           Improve addition of 256 to 16-bit register operand.
238 2024-04-17 Philipp Klaus Krause <philipp@colecovision.eu>
240         * support/regression/tests/discussion-1854.c,
241           support/regression/tests/bug-3728.c,
242           support/regression/tests/bug-3729.c:
243           Add 2 regression tests for potential issues.
245 2024-04-16 Philipp Klaus Krause <philipp@colecovision.eu>
247         * device/include/asm/r2k/features.h,
248           device/include/asm/r3ka/features.h,
249           device/include/asm/sm83/features.h,
250           device/include/asm/stm8/features.h,
251           device/include/asm/tlcs90/features.h,
252           device/include/asm/z80/features.h,
253           device/lib/_strcmp.c,
254           device/lib/_strcpy.c,
255           src/z80/peeph.def,
256           support/regression/tests/bug-3728.c:
257           Fix bug #3728.
258         * support/regression/tests/bug-3727.c:
259           Simplify regression test, as suggested by Janko Stamenović.
261 2024-04-16 Philipp Klaus Krause <philipp@colecovision.eu>
263         * src/z80/gen.c,
264           src/z80/peeph.def,
265           src/z80/ralloc2.cc:
266           Improve use of hl, towards RFE #905.
268 2024-04-13 Philipp Klaus Krause <philipp@colecovision.eu>
270         * src/z80/gen.c,
271           src/z80/ralloc2.cc:
272           Small z80 codegen improvements, part of RFE #905.
274 2024-04-12 Philipp Klaus Krause <philipp@colecovision.eu>
276         * src/z80/gen.c:
277           Small z80 codegen improvements, RFE #904.
278         * support/regression/tests/bug-3727.c:
279           Regression test (for now disabled) for not-yet fixed bug #3727.
281 2024-03-31 Philipp Klaus Krause <philipp@colecovision.eu>
283         * src/z80/ralloc2.cc,
284           src/z80/gen.c:
285           Improve code generation for z80 comparisons.
286         * src/SDCClospre.cc,
287           src/SDCClospre.hpp:
288           Improve lospre debug output.
290 2024-03-29 Philipp Klaus Krause <philipp@colecovision.eu>
292         * src/z80/gen.c,
293           src/stm8/ralloc.c,
294           src/pdk/ralloc.c,
295           src/z80/ralloc.c:
296           Enable more register packing optimizations.
298 2024-03-28 Philipp Klaus Krause <philipp@colecovision.eu>
300         * src/z80/peeph.def:
301           Optimize out some more intermediate pop/push.
302         * src/z80/gen.c:
303           Fine-tune djnz optimization hint.
305 2024-03-27 Philipp Klaus Krause <philipp@colecovision.eu>
307         * src/SDCCgenconstprop.cc:
308           Fix an issue introduced in yesterday's fix for bug #3720.
310 2024-03-26 Philipp Klaus Krause <philipp@colecovision.eu>
312         * src/z80/gen.c:
313           Fix an optimization hint inversion bug that prevented use of djnz.
315 2024-03-26 Philipp Klaus Krause <philipp@colecovision.eu>
317         * src/SDCCgenconstprop.cc,
318           src/SDCCsymt.c:
319           Fix bug #3720.
320         * src/z80/gen.c:
321           Allow for some more flexibility in the handling of register arguments.
323 2024-03-25 Philipp Klaus Krause <philipp@colecovision.eu>
325         * src/SDCCgenconstprop.cc:
326           Improve generalized constant propagation analysis accuracy.
327         * src/stm8/peep.c,
328           src/z80/peep.c:
329           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.
331 2024-03-23 Philipp Klaus Krause <philipp@colecovision.eu>
333         * src/SDCCgenconstprop.cc,
334           support/regression/tests/bug-3717.c:
335           Fix bug #3717.
337 2024-03-23 Philipp Klaus Krause <philipp@colecovision.eu>
339         * src/SDCCgenconstprop.cc,
340           src/pdk/gen.c:
341           Improve generalized constant propagation analysis accuracy.
343 2024-03-18 Philipp Klaus Krause <philipp@colecovision.eu>
345         * src/z80/ralloc2.cc:
346           Improve use of hl for --reserve-regs-iy.
348 2024-03-17 Philipp Klaus Krause <philipp@colecovision.eu>
350         * src/stm8/peeph.def:
351           Optimize out some tnz(w).
353 2024-03-16 Philipp Klaus Krause <philipp@colecovision.eu>
355         * src/stm8/peeph.def:
356           Simplify some stm8 pushw, common at beginning of function.
358 2024-03-03 Benedikt Freisen <b.freisen AT gmx.net>
360         * src/SDCCgenconstprop.cc:
361           Remove semicolon after if-condition. (bug #3713)
363 2024-03-01 Philipp Klaus Krause <philipp@colecovision.eu>
365         * doc/sdccman.lyx:
366           Workaround for a LyX 2.4 issue, fixes bug #3708.
368 2024-02-29 Gabriele Gorla <gorlik@yahoo.com>
370         * src/mos6502/gen.c:
371           change safeLabelKey2num macro to safeLabeNum function.
373 2024-02-29 Philipp Klaus Krause <philipp@colecovision.eu>
375         * src/mcs51/gen.c,
376           src/SDCCsymt.c,
377           support/regression/tests/bug-3711.c:
378           Fix bug #3711.
380 2024-02-20 Gabriele Gorla <gorlik@yahoo.com>
382         * src/mos6502/gen.c:
383           Rename jflag in genIfxJump from "a" to "z".
384           Refactor genAnd, GenOr, GenXor.
385         
386 2024-02-19 Gabriele Gorla <gorlik@yahoo.com>
388         * src/mos6502/gen.c:
389           Remove a few dead code paths.
390           Improve tracking of literals in the RegTemp stack.
391         * src/mos6502/peeph.def:
392           Add rule for tax/tay followed by tax/tay.
393         
394 2024-02-17 Gabriele Gorla <gorlik@yahoo.com>
396         * src/mos6502/gen.c,
397           src/mos6502/main.c,
398           src/mos6502/ralloc.c:
399           Fix compile warnings and a few typos.
400         
401 2024-02-10 Benedikt Freisen <b.freisen AT gmx.net>
403         * device/include/mcs51/stc89.h:
404           Fix typo in watchdog SFR definition. (bug #3710)
406 2024-02-04 Benedikt Freisen <b.freisen AT gmx.net>
408         * debugger/mcs51/sdcdb.h,
409           debugger/mcs51/symtab.c:
410           Fix bug #3529 via patch #450 by Mark Symonds.
412 2024-02-04 Benedikt Freisen <b.freisen AT gmx.net>
414         * device/include/stddef.h:
415           Use >= instead of > for C23 test. (bug #3709)
417 2024-02-03 Philipp Klaus Krause <philipp@colecovision.eu>
419         * support/scripts/sdcc.nsi:
420           Fix installer creation script for recent pic16 library changes.
422 2024-02-01 Philipp Klaus Krause <philipp@colecovision.eu>
424         * sdas/asrab/rabmch.c:
425           Back-port error messages from asrab 5.40, patch #473 by D-mo.
426         * support/scripts/sdcc.nsi:
427           Fix installer creation script for recent pic16 library changes.
429 2024-01-31 Philipp Klaus Krause <philipp@colecovision.eu>
431         * device/include/pic16,
432           device/lib/pic16,
433           device/non-free/lib/pic16,
434           src/pic16,
435           device/include/asm/pic16/features.h,
436           device/include/sdcc-lib.h,
437           device/include/setjmp.h,
438           device/include/stdarg.h,
439           device/include/stdint.h,
440           support/regression/tests/float_single.c.in:
441           pic16 refactoring and fixes, parts 1 to 3 and 7 to 10 of patch #472 by Jonathon Hall.
443 2024-01-29 Philipp Klaus Krause <philipp@colecovision.eu>
445         * Merge next branch to trunk.
447 2024-01-28 Gabriele Gorla <gorlik@yahoo.com>
449         * src/mos6502/gen.c:
450           Refactor asmopToBool().
451         * src/mos6502/gen.c:
452           Improvements to genAnd().
454 2024-01-27 Gabriele Gorla <gorlik@yahoo.com>
456         * src/mos6502/gen.c,
457           src/mos6502/ralloc.h:
458           Remove dead references to M6502MASK_REV.
460 2024-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
462         * sdas/asz80/z80mch.c:
463           Fix bug #3700.
465 2024-01-27 Gabriele Gorla <gorlik@yahoo.com>
467         * src/mos6502/ralloc.c:
468           Small cleanup of m6502_dirtyReg.
469         * src/mos6502/gen.c:
470           Imporvements to genCmp.
472 2024-01-26 Philipp Klaus Krause <philipp@colecovision.eu>
474         * sdas/asgb/gbmch.c
475           .version,
476           doc/sdccman.lyx:
477           Export 32-bit addresses from gb assembler (instead of 24-bit).
479 2024-01-22 Philipp Klaus Krause <philipp@colecovision.eu>
481         * src/pdk/gen.c:
482           Fix pdk code generation issues, bug #3697.
483         * sdas/asz80/z80mch.c:
484           Export 32-bit addresses from z80 assembler (instead of 24-bit).
486 2024-01-16 Benedikt Freisen <b.freisen AT gmx.net>
488         * src/Makefile.in:
489           Makeshift fix for bug #3694: Delete sdcpp in uninstall.
491 2024-01-15 Gabriele Gorla <gorlik@yahoo.com>
493         * src/mos6502/peep.def:
494           Fix bug in peephole load 12 rule.
495         * src/mos6502/gen.c,
496           src/mos6502/peep.def:
497           Improvements in genCast(), genCopy() and loadRegFromAop().
499 2024-01-15 Philipp Klaus Krause <philipp@colecovision.eu>
501         * support/scripts/sdcc.nsi:
502           Fix bug #3695.
504 2023-01-14 Philipp Klaus Krause <philipp@colecovision.eu>
506         * src/pdk/gen.c,
507           src/pdk/ralloc.c,
508           src/pdk/ralloc2.cc:
509           Optimize pdk register packing for some operations on __sfr (part of RFE #801).
511 2024-01-13 Gabriele Gorla <gorlik@yahoo.com>
513         * src/mos6502/gen.c:
514           Fix constanRange regression failure for mos6502-stack-auto.
515           Implement special case for genCompare < 0
516         * src/mos6502/ralloc2.cc:
517           Add instruction cost for IPUSH_VALUE_AT_ADDRESS icode.
518         * src/mos6502/peep.def:
519           Add several new rules that take advantage of if used().
520         * support/regression/ports/uc6502-stack-auto/spec.mk,
521           support/regression/tests/gcc-torture-execute-20010129-1.c,
522           support/regression/tests/gcc-torture-execute-20030916-1.c,
523           support/regression/tests/gcc-torture-execute-20071030-1.c,
524           support/regression/tests/gcc-torture-execute-930614-2.c,
525           support/regression/tests/gcc-torture-execute-930628-1.c,
526           support/regression/tests/gcc-torture-execute-990513-1.c,
527           support/regression/tests/gcc-torture-execute-ssad-run.c,
528           support/regression/tests/gcc-torture-execute-usad-run.c,
529           support/regression/tests/lonesha256.c,
530           support/regression/tests/tinyaes.c.in:
531           disable tests failing in the mos6502-stack-auto port due to stack size limitation.
532         * src/mos6502/main.c:
533       Rearrange memory segments to support systems without ROM space.
534         * src/mos6502/gen.c,
535           src/mos6502/ralloc.h:
536           Remove dead code to support registers in reverse order.
537           
538 2024-01-12 Gabriele Gorla <gorlik@yahoo.com>
540         * src/mos6502/gen.c:
541           Improve asmopToBool.
543 2024-01-12 Philipp Klaus Krause <philipp@colecovision.eu>
545         * src/hc08/main.c:
546           Fix bug #3690.
548 2024-01-12 Philipp Klaus Krause <philipp@colecovision.eu>
550         * src/pdk/peep.c:
551           Improve pdk notUsed() accuracy.
553 2024-01-11 Philipp Klaus Krause <philipp@colecovision.eu>
555         * src/z80/main.c:
556           Fix bug #3693.
557         * support/scripts/sdcc.nsi:
558           Fix bug #3686.
560 2024-01-10 Gabriele Gorla <gorlik@yahoo.com>
562         * src/mos6502/gen.c:
563           Implement a few 65C02 optimizations.
564           
565 2024-01-09 Gabriele Gorla <gorlik@yahoo.com>
567         * src/mos6502/gen.c:
568           Additional carry flag tracking optimizations.
569         * src/mos6502/gen.c:
570           Improve debug messages.
571           
572 2024-01-08 Philipp Klaus Krause <philipp@colecovision.eu>
574         * support/regression/ports/pic16/spec.mk,
575           sdcc/src/pic16/gen.c,
576           sdcc/src/pic16/gen.h,
577           sdcc/src/pic16/genutils.c,
578           sdcc/src/pic16/genutils.h,
579           sdcc/src/pic16/ralloc.c,
580           sdcc/src/SDCCsymt.c:
581           Basic pic16 long long support, patch #471 by Jonathon Hall.
583 2024-01-08 Gabriele Gorla <gorlik@yahoo.com>
585         * src/mos6502/gen.c:
586           replace all instances of emitLabel() with safeEmitLabel().
587         * src/mos6502/gen.c,
588           src/mos6502/main.c:
589       enable last operation flag tracking.
590         * src/mos6502/gen.c:
591           enable carry flag tracking.
593 2024-01-03 Philipp Klaus Krause <philipp@colecovision.eu>
595         * device/lib/_divuchar.c,
596           device/lib/_moduchar.c:
597           Fix optimization turning division support troutines into infinite loops.
598         * device/lib/pdk*/Makefile.in,
599           device/lib/pdk*/_muluchar.s:
600           Improve pdk 8x8 multiplication efficiency, based on patch #470 by Konstantin Kim.
602 2024-01-02 Philipp Klaus Krause <philipp@colecovision.eu>
604         * support/regression/tests/satcounteroverflow.c.in:
605           Regression test for saturating counter implemented via overflow-check-revert, inspired by discussion of patch #447 by Konstantin Kim.
607 2023-12-30 Philipp Klaus Krause <philipp@colecovision.eu>
609         * src/pdk/peeph.def:
610           Fixes for z flag handling in pdk peephole optimizer rules.
611         * src/pdk/gen.c,
612           src/pdk/peeph.def:
613           Optimize out some redundant stores to a, insprired by parts of patch #447 by Konstantin Kim.
614         * src/SDCCpeeph.c:
615           Fix notVolatile('a') for pdk.
616         * src/pdk/peep.c:
617           Improve flag handling in pdk peephole optimizer.
618         * src/z80/peep.c:
619           Improve flag handling in z80 peephole optimizer.
621 2023-12-29 Gabriele Gorla <gorlik@yahoo.com>
623         * src/mos6502/gen.c:
624           Imporve use of BIT instruction.
625         * src/mos6502/ralloc.c,
626           src/mos6502/ralloc.h:
627           Prepare for improved register pair handling.
628         * src/mos6502/gen.c:
629           correct constant size in isLiteralBit().
630         * src/mos6502/gen.c:
631           Prepare for improved register pair handling.
632           
633 2023-12-29 Philipp Klaus Krause <philipp@colecovision.eu>
635         * src/pdk/peep.c:
636           pdk peephole optimizer improvements, mostly from patch #447 by Konstantin Kim.
637         * support/regression/tests/iobit.c.in:
638           Improve test coverage for bit access on __sfr, inspired by discussion of patch #447.
639         * src/pdk/peeph.def:
640           Add a peephole optimizer rule from patch #447 by Konstantin Kim.
642 2023-12-29 Gabriele Gorla <gorlik@yahoo.com>
644         * src/mos6502/gen.c,
645           src/mos6502/gen.h,
646           src/hc08/gen.c,
647           src/hc08/gen.h:
648           remove unused aop_immd2 from aop structure.
650 2023-12-28 Gabriele Gorla <gorlik@yahoo.com>
652         * device/lib/mos6502/_divuchar.s,
653           device/lib/mos6502/_moduchar.s:
654           Fix regression failures introduced by r14555
655         * src/mos6502/gen.c,
656           src/hc08/gen.c,
657           support/regression/tests/gcc-torture-execute-strlen-4.c:
658           Fix bug #2987 and enable gcc-torture-execute-strlen-4 for mos6502 and hc08.
659         * src/SDCCicode.c:
660           Fix small debug print bug.
661         * src/mos6502/peep.c:
662           Fix affected flags and add "sec".
663         * src/mos6502/gen.c:
664           Minor code cleanups
665           Make comments style consistent
667 2023-12-28 Philipp Klaus Krause <philipp@colecovision.eu>
669         * src/mcs51/peeph.def:
670           Optimize out some unnecessary register use.
672 2023-12-27 Philipp Klaus Krause <philipp@colecovision.eu>
674         * src/z80/peep.c:
675           Improve handling of I/O and tail calls, fixes bug #3688.
676         * src/SDCCerr.c,
677           src/SDCCerr.h,
678           src/SDCCpeeph.c:
679           Peephole rule application limit, fixes bug #3557.
680         * src/SDCCgenconstprop.cc:
681           Improve narrowing of multiplicative operators based on generalized constant propagation.
682         * src/mcs51/peeph.def:
683           Peephole optimizer rule to optimize another variant of __code array access.
684         * src/mos6502/main.c,
685           src/mos6502/peeph.def,
686           src/mos6502/peep.c,
687           src/mos6502/peep.h:
688           notUsed/notUsedFrom for mos6502 flags.
690 2023-12-20 Philipp Klaus Krause <philipp@colecovision.eu>
692         * doc/sdccman.lyx:
693           Remove comment on non-compliance with C2X draft N3047 wrt. tag compatibility: current C23 draft N3149 matches SDCC behaviour.
695 2023-12-20 Benedikt Freisen <b.freisen AT gmx.net>
697         * doc/sdccman.lyx:
698           Various updates to the manual.
700 2023-12-20 Philipp Klaus Krause <philipp@colecovision.eu>
702         * .version,
703           doc/INSTALL.txt,
704           sdcc.spec:
705           Set version to 4.4.0 to prepare for release.
706         * sdcc/support/scripts/sdcc.nsi
707           Enable mos65c02 port.
709 2023-12-19 Philipp Klaus Krause <philipp@colecovision.eu>
711         * sdcc/configure,
712           sdcc/configure.ac:
713           Enable mos65c02 port.
715 2023-12-18 Philipp Klaus Krause <philipp@colecovision.eu>
717         * src/z80/gen.c:
718           Fix bug #3681.
719         * src/z80/peeph.def:
720           Whitespace fix.
721         * src/stm8/gen.c:
722           Fix bug #3683.
724 2023-12-17 Gabriele Gorla <gorlik@yahoo.com>
726         * src/mos6502/main.c
727           fix bra in the opcode table. Use strncmp in the opcode search to support 65C02 bit manipulation instructions.
728         * src/mos6502/gen.c
729           fix wrong offset for struct return in mos6502-stack-auto port
730           indentation changes
732 2023-12-14 Philipp Klaus Krause <philipp@colecovision.eu>
734         * support/regression/tests/bug-3685.c:
735           Provide extern declartion to make test compile on hosts that choose not to inline.
737 2023-12-13 Gabriele Gorla <gorlik@yahoo.com>
739         * support/regression/tests/stack-restore.c.in
740           partially disable test for mos6502-stack-auto due to stack size limitations
742 2023-12-13 Philipp Klaus Krause <philipp@colecovision.eu>
744         * configure.ac,
745           configure:
746           Fix bug #3508, patch by Steve Schnepp.
748 2023-12-12 Gabriele Gorla <gorlik@yahoo.com>
750         * src/mos6502/gen.c
751           fix bug3223041 regression failure for mos6502-stack-auto port
752           fix bug3531687 regression failure for mos6502-stack-auto port
753         * device/lib/mos65c02/Makefile.in,
754           device/lib/mos65c02/__memcpy.s,
755           device/lib/mos65c02/_memcmp.s,
756           device/lib/mos65c02/_memset.s,
757           device/lib/mos65c02/_mullong.s,
758           device/lib/mos65c02/_mulschar.s,
759           device/lib/mos65c02/_muluchar.s,
760           device/lib/mos65c02/_setjmp.s,
761           device/lib/mos65c02/_strcmp.s,
762           device/lib/mos65c02/_strcpy.s,
763           device/lib/mos65c02/_strlen.s,
764           device/lib/mos65c02/abs.s,
765           device/lib/mos65c02/crt0.s,
766           device/lib/mos65c02/memcpy.s
767       add mos6502 improvements to mos65c02 port 
769 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
771         * src/SDCCopt.c:
772           Enable elimination of dead RECEIVE iCodes. Fixs the rest of bug #3482.
774 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
776         * src/z80/gen.c,
777           tests/bug-3482.c:
778           Fix the worst part of bug #3482.
780 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
782         * src/z80/gen.c,
783           support/regression/tests/bug-3685.c:
784           Fix bug #3685.
786 2023-12-11 Philipp Klaus Krause <philipp@colecovision.eu>
788         * device/lib/pic16/libc/Makefile.am,
789           device/lib/pic16/libc/Makefile.in,
790           device/include/pic16/setjmp.h,
791           device/lib/pic16/libc/stdlib/setjmp.c:
792           setjmp for pic16, patch by Jonathon Hall.
794 2023-12-10 Philipp Klaus Krause <philipp@colecovision.eu>
796         * sim/ucsim/pdk.src/inst.cc:
797           Fix simulation of z flag for not and neg.
798         * src/pdk/gen.c:
799           pdk code generation improvements.
800         * src/z80/gen.c:
801           Fix a Rabbit multiplication code generation bug.
803 2023-12-09 Philipp Klaus Krause <philipp@colecovision.eu>
805         * src/pdk/gen.c:
806           Fix a popP bug.
808 2023-12-07 Gabriele Gorla <gorlik@yahoo.com>
810         * device/lib/mos6502/memcpy.s,
811           device/lib/mos6502/_memcmp.s,
812           device/lib/mos6502/_setjmp.s,
813           device/lib/mos6502/Makefile.in
814           optimize memcpy, memcmp amd setjump implemetations
815         
816 2023-12-06 Gabriele Gorla <gorlik@yahoo.com>
818         * device/lib/mos6502/_muluchar.s,
819           device/lib/mos6502/_mulschar.s
820           use ZP instead of absolute address
821         * device/lib/mos6502/_strcpy.s,
822           device/lib/mos6502/_strcmp.s
823           use DPTR instead of temp
824         * device/lib/mos6502/_strlen.s
825           implement strlen in asm
826         * device/lib/mos6502/_memset.s,
827           device/lib/mos6502/crt0.s
828           implement memset in asm
829         * device/lib/mos6502/abs.s,
830           device/lib/mos6502/abs.c
831           rename abs.c to abs.s
832         * doc/sdccman.lyx
833           add mos6502 port documentation to SDCC manual
834           
835 2023-12-05 Philipp Klaus Krause <philipp@colecovision.eu>
837         * device/include/pic16/pic16devices.txt,
838           device/lib/pic16/startup/crt0iz.c,
839           src/pic16/glue.c,
840           support/regression/ports/pic16/spec.mk:
841           pic16 memory zeroing fixes, patch by Jonathon Hall.
843 2023-12-04 Gabriele Gorla <gorlik@yahoo.com>
845         * device/lib/mos6502/_setjump.c,
846           device/lib/mos65c02/_setjump.c,
847           device/lib/mos6502-stack-auto/_setjump.c
848           Reduce ZP usage in setjump.
849         * device/lib/mos6502/_ret01.s,
850           device/lib/mos6502/_ret23.s,
851           device/lib/mos6502/_ret4567.s,
852           device/lib/mos65c02/_ret01.s,
853           device/lib/mos65c02/_ret23.s,
854           device/lib/mos65c02/_ret4567.s,
855           device/lib/mos6502-stack-auto/_ret01.s,
856           device/lib/mos6502-stack-auto/_ret23.s,
857           device/lib/mos6502-stack-auto/_ret4567.s
858           Remove unnecessary .optsdcc directive.
859         * src/SDCCmem.c,
860           src/SDCCglobl.h,
861           src/mos6502/ralloc.c,
862           src/mos6502/main.c
863           Add --no-zp-spill option to avoid register spills in ZP.
864           
865 2023-12-03 Gabriele Gorla <gorlik@yahoo.com>
867         * src/mos6502/gen.c
868           Fix bug #3511
869         * src/mos6502/gen.c,
870           src/SDCCsymt.c
871           Add limited support to return aggregates to mos6502 port.
872         * device/lib/div.c,
873           device/lib/ldiv.c,
874           device/include/stdlib.h
875           Add div and ldiv to the mos6502 standard library.
876         * device/lib/_divulonglong.c
877           Trivial spelling fix.
878         * sdas/as6500/r6500.h,
879           sdas/as6500/r65adr.c,
880           sdas/as6500/r65mch.c,
881           sdas/as6500/pst.c
882           Merge several minor changes from upstream asxxxx 5.50
883         * support/regression/MakeList,
884           support/regression/tests/bigstack.c.in,
885           support/regression/tests/div.c,
886           support/regression/tests/gcc-roture-execute-20131127-1.c
887           Enable additional tests for mos6502.
889 2023-12-02 Gabriele Gorla <gorlik@yahoo.com>
891         * src/mos6502/gen.c,
892           support/regression/tests/structreturn.c.in,
893           support/regression/tests/gcc-torture-execute-va-arg-4.c,
894           support/regression/tests/gcc-torture-execute-va-arg-23.c,
895           support/regression/tests/gcc-torture-execute-struct-ret-1.c,
896           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
897           support/regression/tests/gcc-torture-execute-pr60017.c,
898           support/regression/tests/gcc-torture-execute-920625-1.c,
899           support/regression/tests/funptrsstructreturn.c,
900           support/regression/tests/div.c,
901           support/regression/tests/bug-3385.c,
902           support/regression/tests/bug-3368.c,
903           support/regression/tests/bug-2776.c,
904           support/regression/tests/bigreturn-remat.c.in,
905           support/regression/MakeList,
906           Implement IPUSH_VALUE_AT_ADDRESS iCode and enable corresponding regression tests.
907           Disable failing tests for mos65c02.
908         * src/mos6502/gen.c
909           Make sure result is a register before dereferencing the pointer (fix bug #3631)
910         
911 2023-12-02 Gabriele Gorla <gorlik@yahoo.com>
913         * src/mos6502/main.c
914           Correct opcode ordering.
915           Fix get_model() reporting.
916         * src/mos6502/gen.c
917           Make mos65c02 register transfer code use phx/phy/plx/ply.
918         * src/mos6502/gen.c,
919           src/hc08/gen.c
920           Reformat comments to match other ports.
922 2023-12-02 Philipp Klaus Krause <philipp@colecovision.eu>
924         * support/regression/ports/pic16/spec.mk:
925           pic16 regression test infrastructure fix, patch by Jonathon Hall.
926         * support/regression/tests/sdcccall.c.in:
927           Disable a long long test for pic16, which does not support long long yet, patch by Jonathon Hall.
929 2023-12-02 Gabriele Gorla <gorlik@yahoo.com>
931         * sdas/asz80/z80pst.c,
932           sdas/asz80/z80.h,
933           sdas/asxxsrc/asxxxx.h,
934           sdas/as6808/m6808.h,
935           sdas/as6808/m08pst.c:
936           Change several constants to match upstream asxxxx.
937         * sdas/as6500/r6500.h,
938           sdas/as6500/r65mch.c,
939           sdas/as6500/r65pst.c:
940           Enable cpu type selection for as6500.
941         * device/lib/mos65c02/Makefile.in,
942           device/lib/mos65c02/crt0.s,
943           device/lib/mos65c02/abs.c,
944           device/lib/mos65c02/_srulonglong.c,
945           device/lib/mos65c02/_srslonglong.c,
946           device/lib/mos65c02/_setjmp.c,
947           device/lib/mos65c02/_ret4567.s,
948           device/lib/mos65c02/_ret23.s,
949           device/lib/mos65c02/_ret01.s,
950           device/lib/mos65c02/_muluchar.s,
951           device/lib/mos65c02/_mulschar.s,
952           device/lib/mos65c02/_mulint.s,
953           device/lib/mos65c02/__memcpy.s
954           Make the mos65c02 library compile.
955         * support/regression/ports/uc65c02/uCsim.cmd,
956           support/regression/ports/uc65c02/support.c,
957           support/regression/ports/uc65c02/spec.mk
958           Add regression for mos65c02 using uCsim.
959         * src/mos6502/main.c
960           Add crt to mos65c02 link step by default.
961         * src/mos6502/gen.c
962           Implement GenAnd and GenOr for mos65c02.
963                           
964 2023-12-02 Philipp Klaus Krause <philipp@colecovision.eu>
966         * support/regression/tests/bug-2776.c,
967           support/regression/tests/bug-3368.c,
968           support/regression/tests/gcc-torture-execute-920625-1.c,
969           support/regression/tests/gcc-torture-execute-va-arg-23.c,
970           support/regression/tests/gcc-torture-execute-va-arg-4.c:
971           Enable struct parameter tests for all ports except mos6502 (which doesn't support them yet).
973 2023-12-01 Gabriele Gorla <gorlik@yahoo.com>
975         * sdas/asxxsrc/asmain.c:
976           simplify parsing of number radix (similar to upstream asxxxx).
977         * src/mos6502/main.c:
978           add ".r56c02" to the assembler output for mos65c02 port.
979         * src/device/lib/mos65c02/Makefile.in,
980           src/device/lib/mos65c02/__sdcc_indirect_jsr.s,
981           src/device/lib/mos65c02/_dptr.s,
982           src/device/lib/mos65c02/_temp.s
983           add missing files to the mos65c02 std lib.
984           
985 2023-12-01 Philipp Klaus Krause <philipp@colecovision.eu>
987         * src/stm8/gen.c:
988           Port a simplification from f8 to stm8.
989         * src/mcs51/main.c:
990           Fix an mcs51 peephole optimizer issue noticed by Oleg Endo.
992 2023-11-29 Gabriele Gorla <gorlik@yahoo.com>
994         * sdas/as6500/r65mch.c:
995           enable 24bit address in sdas for mos6502 (patch #436).
996           
997 2023-11-29 Philipp Klaus Krause <philipp@colecovision.eu>
999         * src/mcs51/main.c:
1000           Fix handling of jz, jnz in asmLineNodeFromLineNode.
1002 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
1004         * src/z80/gen.c:
1005           Fix bug #3682.
1007 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
1009         * src/stm8/gen.c:
1010           Fix an stm8 codegen bug resulting an omitted carry for some wide subtractions where the least-significant byte of the subtrahend is in a.
1011         * src/mcs51/peep.c:
1012           Fix checking of return values for mcs51 notUsed.
1014 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
1016         * src/mcs51/peep.c,
1017           src/mcs51/peeph.def:
1018           Replace deadMove by notUsed in non-push/pop roles.
1019         * src/stm8/gen.c:
1020           Fix an stm8 rotation codegen issue resulting in invalid asm for --opt-code-speed.
1022 2023-11-27 Philipp Klaus Krause <philipp@colecovision.eu>
1024         * src/z80/gen.c:
1025           Fix a codegen crash affecting sm83 function calls via pointers to functions returning struct.
1027 2023-11-26 Philipp Klaus Krause <philipp@colecovision.eu>
1029         * src/z80/gen.c,
1030           src/z80/ralloc2.cc:
1031           Fully enable code speed optimization for z80 (and related).
1033 2023-11-25 Philipp Klaus Krause <philipp@colecovision.eu>
1035         * src/z80/gen.c:
1036           Improve cost function accuracy.
1038 2023-11-25 Philipp Klaus Krause <philipp@colecovision.eu>
1040         * src/stm8/gen.c,
1041           src/z80/gen.c:
1042           Shift optimization using information from generalized constant propagation.
1044 2023-11-24 Philipp Klaus Krause <philipp@colecovision.eu>
1046         * src/z80/gen.c:
1047           Fix bug #3680.
1049 2023-11-24 Philipp Klaus Krause <philipp@colecovision.eu>
1051         * src/z80/gen.c:
1052           Fix bug #3679.
1054 2023-11-23 Philipp Klaus Krause <philipp@colecovision.eu>
1056         * src/z80/gen.c:
1057           Speed optimization in register allocation for z80 and related.
1059 2023-11-22 Philipp Klaus Krause <philipp@colecovision.eu>
1061         * src/z80/gen.c:
1062           Preparations for improved speed optimization for z80.
1063         * src/*/ralloc2.cc:
1064           Do another execution frequency estimate just before register allocation to improve the accuracy of speed optimizations.
1065         * src/mcs51/main.c,
1066           src/mcs51/peep.c,
1067           src/mcs51/peep.h:
1068           Implement notUsed peephole condition for mcs51, patch by Oleg Endo.
1070 2023-11-21 Philipp Klaus Krause <philipp@colecovision.eu>
1072         * src/z80/gen.c,
1073           src/pdk/gen.c,
1074           support/regression/tests/bug-3678.c:
1075           Preparations for improved speed optimization for z80. Fix bug #3678.
1076         * src/z80/peeph.def:
1077           Fix a peephole rule bug.
1078         * src/SDCCmain.c:
1079           Use -std=c23 when calling preprocessor.
1081 2023-11-20 Felix Salfelder <felix AT salfelder.org>
1083         * support/cpp/gcc/c-family/c-common.{cc,h},
1084           support/cpp/gcc/c-family/c-{lex,opts}.cc,
1085           support/cpp/gcc/c-family/c.opt,
1086           support/cpp/gcc/c/c-errors.cc:
1087           Fix #3677.
1089 2023-11-20 Philipp Klaus Krause <philipp@colecovision.eu>
1091         * src/z80/gen.c,
1092           src/z80/ralloc2.cc:
1093           Optimize towards djnz use.
1094         * sdccman.lyx:
1095           Fix dead link.
1096         * src/mcs51/gen.c,
1097           support/regression/tests/gcc-torture-execute-20050713-1.c:
1098           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.
1100 2023-11-19 Philipp Klaus Krause <philipp@colecovision.eu>
1102         * src/SDCCicode.c,
1103           support/regression/tests/bug-3675.c,
1104           support/regression/tests/gcc-torture-execute-20180131-1.c,
1105           support/regression/tests/gcc-torture-execute-pr67226.c,
1106           support/regression/tests/gcc-torture-execute-20040707-1.c:
1107           Fix bug #3675.
1109 2023-11-18 Philipp Klaus Krause <philipp@colecovision.eu>
1111         * src/SDCCicode.c,
1112           src/SDCCicode.h:
1113           Directly create iCode chain instead of via intermediate set-style linked list.
1115 2023-11-18 Philipp Klaus Krause <philipp@colecovision.eu>
1117         * support/regression/tests/bug-3675.c:
1118           Regression test for bug #3675.
1119         * src/SDCCicode.c,
1120           src/SDCCopt.c,
1121           src/SDCCgenconstprop.cc,
1122           src/SDCClrange.c:
1123           Code refactoring for iCode operand replacement.
1124         * src/mcs51/gen.c:
1125           Fix a typo.
1127 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1129         * src/mcs51/gen.c,
1130           src/mcs51/gen.h:
1131           Provide mcs51IsParmInCall.
1133 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1135         * src/mcs51/gen.c:
1136           Replace further uses of fReturn by aopArg and aopRet.
1138 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1140         * src/mcs51/ralloc.c,
1141           src/mcs51/ralloc.h:
1142           Fix mcs51_regname_to_idx, patch by Oleg Endo.
1143         * src/mcs51/peeph.def:
1144           Fix peephole optimizer rule 186.e, patch by Oleg Endo.
1146 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1148         * doc/sdccman.lyx:
1149           Improve mcs51 calling convention documentation.
1150         * src/mcs51/gen.c,
1151           src/mcs51/gen.h,
1152           src/mcs51/main.c,
1153           src/mcs51/rtrack:
1154           Use aopArg, provide mcs51IsReturned and mcs51IsRegArg.
1156 2023-11-14 Philipp Klaus Krause <philipp@colecovision.eu>
1158         * src/mcs51/gen.c,
1159           src/mcs51/gen.h:
1160           Use aopRet.
1162 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1164         * src/mcs51/gen.c:
1165           Basic aopArg for mcs51.
1167 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1169         * src/mcs51/gen.c,
1170           src/mcs51/gen.h,
1171           src/stm8/gen.c,
1172           src/z80/gen.c:
1173           Handle return values via aopRet.
1175 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1177         * src/mcs51/gen.h,
1178           src/mcs51/gen.c:
1179           mcs51 code generation refactoring.
1181 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1183         * src/z80/gen.h,
1184           src/z80/gen.c:
1185           Burn AOP_STR.
1187 2023-11-12 Philipp Klaus Krause <philipp@colecovision.eu>
1189         * src/mcs51/gen.c:
1190           Make aopGet use asmop * instead of operand *.
1192 2023-11-12 Philipp Klaus Krause <philipp@colecovision.eu>
1194         * src/mcs51/gen.c:
1195           Fix opIsGptr, so it works even when the op has no aop yet.
1197 2023-11-11 Philipp Klaus Krause <philipp@colecovision.eu>
1199         * src/mcs51/gen.c,
1200           src/mcs51/gen.h,
1201           src/mcs51/main.c,
1202           src/mcs51/ralloc.c,
1203           src/SDCCglue.c:
1204           mcs51 code generation refactoring.
1206 2023-11-11 Felix Salfelder <felix AT salfelder.org>
1208         * Makefile.in:
1209           Fix Ticket #193
1211 2023-11-10 Philipp Klaus Krause <philipp@colecovision.eu>
1213         * .version,
1214           doc/sdccman.lyx,
1215           src/mcs51/gen.c,
1216           src/mcs51/main.c:
1217           Remove --parms-in-bank1 support in mcs51 port.
1219 2023-11-00 Felix Salfelder <felix AT salfelder.org>
1221         * support/cpp/gcc/cc1_dummies.cc:
1222           Rectify dummy prototype. Fixes bug #3654.
1224 2023-11-09 Philipp Klaus Krause <philipp@colecovision.eu>
1226         * src/SDCCmain.c:
1227           Fix --std-c2x.
1228         * src/SDCCralloc.hpp:
1229           Fix an UB issue in register allocation affecting z80 (and related).
1230         * src/mcs51/ralloc.h,
1231           src/mcs51/ralloc.c:
1232           Destroy the xreg relics.
1234 2023-11-08 Felix Salfelder <felix AT salfelder.org>
1236         * support/cpp/gcc/diagnostic-color.cc,
1237           support/cpp/gcc/prefix.cc:
1238           attempt to fix bug #3669, cf
1239           https://gcc.gnu.org/pipermail/gcc-patches/2023-January/609526.html
1241 2023-11-07 Philipp Klaus Krause <philipp@colecovision.eu>
1243         * .version,
1244           device/lib/Makefile.in,
1245           device/lib/ckd_add.c,
1246           device/lib/ckd_mul.c,
1247           device/lib/ckd_sub.c,
1248           device/lib/*/Makefile.in,
1249           doc/sdccman.lyx,
1250           src/SDCC.lex,
1251           src/SDCC.y,
1252           src/SDCCglobl.h,
1253           src/SDCCmain.c,
1254           src/SDCCval.c,
1255           support/regression/tests/assert.c,
1256           support/regression/tests/auto.c,
1257           support/regression/tests/bitcount.c.in,
1258           support/regression/tests/bitcountleading.c.in,
1259           support/regression/tests/bitcounttrailing.c.in,
1260           support/regression/tests/bitfirst.c.in,
1261           support/regression/tests/bitfirstleading.c.in,
1262           support/regression/tests/bitwidth.c.in,
1263           support/regression/tests/c2xkeywords.c,
1264           support/regression/tests/checkedint.c.in,
1265           support/regression/tests/digit_separators.c,
1266           support/regression/tests/memalignment.c.in,
1267           support/regression/tests/typeof.c,
1268           support/regression/tests/unreachable.c,
1269           support/valdiag/tests/enum.c,
1270           support/valdiag/tests/static_assert.c,
1271           support/valdiag/tests/struct.c:
1272           Since the standard name is now fixed at C23, use that instead of C2X (for compatibility, keep c2x option and pragma for now).
1274 2023-11-07 Philipp Klaus Krause <philipp@colecovision.eu>
1276         * src/SDCClrange.c,
1277           support/regression/tests/bug-3642.c,
1278           .version:
1279           Fix bug #3642.
1281 2023-11-06 Philipp Klaus Krause <philipp@colecovision.eu>
1283         * src/SDCCpeeph.c:
1284           Fix bug #3656.
1285         * src/SDCCgenconstprop.cc,
1286           src/SDCCcse.c:
1287           Fix bug #3640.
1289 2023-11-02 Philipp Klaus Krause <philipp@colecovision.eu>
1291         * src/mcs51/gen.c,
1292           src/mcs51/main.c,
1293           support/regression/tests/bitintshift.c.in:
1294           Fix bug #3634.
1296 2023-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
1298         * Makefile.common.in,
1299         * Makefile.in,
1300         * sdccconf_in.h: added OPT_DISABLE_R800
1302 2023-10-28 Philipp Klaus Krause <philipp@colecovision.eu>
1304         * src/SDCCpeeph.c:
1305           operandsNotRelated improvements for mcs51 (and related), based on patch 1 from patch ticket #466 by Oleg Endo.
1306         * src/mcs51/gen.c:
1307           Patch 2 from patch ticket #466 by Oleg Endo.
1308         * src/mcs51/peep.c,
1309           src/mcs51/ralloc.c,
1310           src/mcs51/ralloc.h,
1311           src/mcs51/rtrack.c:
1312           Patch 3 from patch ticket #466 by Oleg Endo.
1313         * src/mcs51/main.c:
1314           Patch 6 from patch ticket #466 by Oleg Endo.
1315         * src/SDCCbitv.c,
1316           src/SDCCbitv.h:
1317           Patch 10 from patch ticket #466 by Oleg Endo.
1319 2023-10-28 Philipp Klaus Krause <philipp@colecovision.eu>
1321         * src/SDCCgenconstprop.cc:
1322           Fix generalized constant propagation analysis of pointers for host with 32-bit long (bug #3667).
1324 2023-10-26 Philipp Klaus Krause <philipp@colecovision.eu>
1326         * support/regression/tests/bug-3579.c,
1327           support/regression/tests/bug-3606.c:
1328           Fix reads from unitialized memory in regression tests, should fix bug #3583.
1329         * support/regression/tests/bug-3642.c:
1330           Regression test for bug #3642 (disabled for now, as the bug is not yet fixed).
1332 2023-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
1334         * support/regression/tests/push_pop_sp.c: bug fix, remove unintended code
1335         * src/SDCCmem.c(printAllocInfoSeg): adjust stack offsets for struct
1336           returning functions
1337         * src/mcs51/gen.c(genRet): fixed stack/xstack with/without framepointer
1339 2023-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
1341         * sdas/linksrc/lklist.c,
1342         * sdas/linksrc/lkmem.c,
1343         * sdas/linksrc/lkrloc3.c: cosmetics
1344         * src/SDCCglobl.h: reduced LEVEL_UNIT to 10000 for human readability
1345         * src/SDCCicode.c(geniCodeCall): support xstack
1346         * src/SDCCmem.c(printAllocInfoSeg): also print size on stack
1347         * src/mcs51/gen.c(pushbigreturn): use xstack when asked for,
1348           (genCall): clean up xstack when asked for,
1349           (genFunction): optimize stack adjustment > 7,
1350           (genRet): try to use tempregs for bigreturn,
1351           use add in A instead of many inc dptr for larger offsets,
1352           support xstack,
1353           (genPagedPointerSet): add pdata support
1354         * src/mcs51/rtrack.c(_mcs51_rtrackUpdate): updated comments
1355         * src/mos6502/main.c(m6502_genAssemblerPreamble): attempt to keep areas in
1356           correct order
1357         * support/regression/tests/gcc-torture-execute-20020328-1.c: renamed testit()
1358           to tryit() since the test prefix has special meaning in regression testing
1359         * support/regression/tests/push_pop_sp.c: new, added
1361 2023-10-13 Philipp Klaus Krause <philipp@colecovision.eu>
1363         * device/lib/r*/crt0.s:
1364           Fix reti vs. ipres ret in crt0 templates for Rabbits (last part of bug #3652).
1366 2023-10-13 Maarten Brock <sourceforge.brock AT dse.nl>
1368         * src/mos6502/gen.h: moved NUM_TEMP_REGS into gen.c
1369         * src/mos6502/gen.c: renamed __DPTR & __TEMP to DPTR & REGTEMP to remove
1370           them from the C namespace,
1371           simplified INDFMT_IY macro
1372         * src/mos6502/main.c (m6502_genAssemblerPreamble): moved __DPTR & __TEMP
1373           definition to libraries,
1374           removed ZPABS so --data_loc works as expected, leaving address 0 unused
1375         * device/lib/mos6502/__memcpy.s: use REGTEMP instead of ___SDCC_m6502_retN,
1376           use local labels
1377         * device/lib/mos6502-stack-auto/__sdcc_indirect_jsr.s,
1378         * device/lib/mos6502/__sdcc_indirect_jsr.s: use renamed REGTEMP
1379         * device/lib/mos6502-stack-auto/_dptr.s,
1380         * device/lib/mos6502/_dptr.s: new, DPTR in zero page
1381         * device/lib/mos6502-stack-auto/_ret.c,
1382         * device/lib/mos6502/_ret.c: replace by _ret01.s, _ret23.s & _ret4567.s
1383         * device/lib/mos6502-stack-auto/_ret01.s,
1384         * device/lib/mos6502-stack-auto/_ret23.s,
1385         * device/lib/mos6502-stack-auto/_ret4567.s,
1386         * device/lib/mos6502/_ret01.s,
1387         * device/lib/mos6502/_ret23.s,
1388         * device/lib/mos6502/_ret4567.s: new, ___SDCC_m6502_retN in zero page
1389         * device/lib/mos6502-stack-auto/_temp.s,
1390         * device/lib/mos6502/_temp.s: new, REGTEMP in zeropage
1391         * device/lib/mos6502-stack-auto/Makefile.in,
1392         * device/lib/mos6502/Makefile.in: added _dptr.rel, _ret01.rel, _re23,rel,
1393           _ret4567.rel & _temp.rel
1395 2023-10-13 Philipp Klaus Krause <philipp@colecovision.eu>
1397         * .version:
1398           Bump version for now fully working generalized constant propagation.
1400 2023-10-09 Philipp Klaus Krause <philipp@colecovision.eu>
1402         * src/SDCCerr.c,
1403           src/SDCCerr.h,
1404           src/SDCCmain.c:
1405           Fix bug #3658 by warning on non-default sdcccall with default stdlib or crt0.
1406         * src/z80/main.c,
1407           doc/sdccman.lyx,
1408           device/lib/r2k/*.s,
1409           device/lib/r2ka/*.s,
1410           device/lib/r3ka/*.s,
1411           device/lib/tlcs90/*.s,
1412           device/lib/ez80_z80/*.s,
1413           device/lib/_memset:
1414           Make new calling convention the default for r2k, r2ka, r3ka, tlcs90, ez80-z80.
1415         * support/regression/ports/uc6502/spec.mk:
1416           Increase test-uc6502 timeout to work around bug #3663.
1418 2023-10-07 Philipp Klaus Krause <philipp@colecovision.eu>
1420         * src/SDCCgenconstprop.cc:
1421           Fix a use of an uninitialized struct member in generalized constant propagation analysis of some left shifts: bugs #3625, #3665.
1423 2023-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
1425         * src/SDCCmain.c (parseCmdLine): place -Wl-f options in linkOptionsSet2,
1426           (linkEdit): pass linkOptionsSet2 for $L,
1427           (assemble): pass NULL for $L
1428         * src/SDCCutil.h,
1429         * src/SDCCutil.c (buildCmdLine): added list2 for $L command line options
1430         * src/ds390/main.c (_tininative_do_assemble): pass NULL for $L
1431         * src/avr/main.c (_linkCmd),
1432         * src/ds390/main.c (_linkCmd),
1433         * src/hc08/main.c (_linkCmd),
1434         * src/mcs51/main.c (_linkCmd),
1435         * src/mos6502/main.c (_linkCmd),
1436         * src/pdk/main.c (_linkCmd),
1437         * src/stm8/main.c (_linkCmd),
1438         * src/z80/main.c (_z80LinkCmd): added $L for command line options
1439         * src/z80/main.c (_sm83_rgblink): pass NULL for $L
1440         * src/SDCCsymt.c (checkSClass): cosmetics
1442 2023-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
1444         * sdas/linksrc/lkmain.c (parse): warn about ignored nested linker script
1446 2023-10-04 Philipp Klaus Krause <philipp@colecovision.eu>
1448         * src/SDCCopt.c,
1449           support/regression/tests/bug-3660.c:
1450           Fix bug #3660.
1452 2023-10-04 Philipp Klaus Krause <philipp@colecovision.eu>
1454         * src/z80/gen.c:
1455           Rabbit interrupt handling fixes, based on patch by D-mo.
1457 2023-10-03 Philipp Klaus Krause <philipp@colecovision.eu>
1459         * sdas/asrab/rabmch.c:
1460           Fix bug #3661, patch by D-mo.
1461         * support/regression/tests/bug-3661.c:
1462           Regression test for bug #3661.
1464 2023-09-30 Maarten Brock <sourceforge.brock AT dse.nl>
1466         * support/regression/ports/uc6502-stack-auto/support.c,
1467         * support/regression/ports/uc6502-stack-auto/uCsim.cmd,
1468         * support/regression/ports/uc6502/support.c,
1469         * support/regression/ports/uc6502/uCsim.cmd: moved simif to safer location
1471 2023-09-27 Philipp Klaus Krause <philipp@colecovision.eu>
1473         * device/lib/r2k/crt0.s,
1474           device/lib/r2ka/crt0.s,
1475           device/lib/r3ka/crt0.s:
1476           Place interrupt vector table at multiple of 512B, as required on Rabbit 3000 and above.
1478 2023-09-27 Maarten Brock <sourceforge.brock AT dse.nl>
1480         * support/regression/tests/bug-3563.c: revert accidental enable of failing test
1482 2023-09-25 Philipp Klaus Krause <philipp@colecovision.eu>
1484         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c:
1485           Disable test for FreeBSD 13 / clang-14, where it fails due to known bug.
1487 2023-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
1489         * device/lib/mos6502-stack-auto/crt0.s,
1490         * device/lib/mos6502/crt0.s: clear zero page, reorder areas
1491         * src/mos6502/main.c(m6502_finaliseOptions): use whole zero page,
1492           improved default memory map
1493           (m6502_genAssemblerPreamble): move __DPTR & __TEMP to fixed
1494           address from 0 and up,
1495           (m6502_genIVT): fixed, allow only 2 interrupts
1496         * support/regression/ports/uc6502-stack-auto/spec.mk,
1497         * support/regression/ports/uc6502/spec.mk: use more logical memory map
1498         * support/regression/gte/pr34099.c: suppress valid warning
1499         * support/regression/gte/pr97404.c,
1500         * support/regression/gte/pr97836.c,
1501         * support/regression/tests/bug-3563.c: fixed warnings
1503 2023-09-21 Philipp Klaus Krause <philipp@colecovision.eu>
1505         * sdas/asstm8/stm8.h,
1506           sdas/asstm8/stm8mch.c,
1507           sdas/linksrc/lklist.c,
1508           src/SDCCopt.c,
1509           src/SDCCval.c:
1510           Fix a few cases of undefined behavior.
1511         * device/lib/r*k*/crt0.s:
1512           Fix location of secondary watchdog interrupt vector (part of bug #3652).
1514 2023-09-18 Philipp Klaus Krause <philipp@colecovision.eu>
1516         * support/regression/tests/charconst.c,
1517           support/regression/tests/escape.c,
1518           support/regression/tests/new_wide.c,
1519           support/regression/tests/string.c,
1520           support/regression/tests/wchar.c.in:
1521           Handle hosts that are C11-compliant on the compiler side, but not the library side better.
1522         * support/regression/tests/wchar.c.in:
1523           Disable a test for OpenBSD, where it fails due to known OpenBSD bug.
1525 2023-09-14 Philipp Klaus Krause <philipp@colecovision.eu>
1527         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c,
1528           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c,
1529           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_xy.c,
1530           support/regression/tests/setjmp.c,
1531           support/regression/tests/wchar.c.in:
1532           Disable tests where they fail due to known FreeBSD 13 bugs.
1534 2023-09-11 Philipp Klaus Krause <philipp@colecovision.eu>
1536         * src/SDCCcse.c,
1537           src/SDCClrange.c:
1538           Fix issues that resulted in isaddr flag value loss, confusing the ds390 register allocator.
1539         * src/SDCCgenconstprop.cc:
1540           Improve optimizations based on information from generalized constant propagation.
1541         * support/regression/tests/bug-3641.c:
1542           Disable test for target where it fails due to known bug #3643.
1544 2023-09-10 Philipp Klaus Krause <philipp@colecovision.eu>
1546         * support/regression/tests/bug-3641.c:
1547           Support pre-C23 hosts in test for bug #3641.
1549 2023-09-09 Philipp Klaus Krause <philipp@colecovision.eu>
1551         * support/regression/tests/bug-3641.c:
1552           Regression test for bug #3641.
1554 2023-09-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1556         * src/hc08/gen.c (genAssignLit): fix bug #3641
1558 2023-09-01 Philipp Klaus Krause <philipp@colecovision.eu>
1560         * src/SDCCgenconstprop.cc,
1561           src/pdk/gen.c:
1562           Optimize some pointer writes using intrinsic named address space information from generalized constant propagation.
1564 2023-09-01 Philipp Klaus Krause <philipp@colecovision.eu>
1566         * support/regression/tests/bitintshift.c.in:
1567           Disable parts of test that fail due to known bug #3634.
1569 2023-08-29 Philipp Klaus Krause <philipp@colecovision.eu>
1571         * sdas/asrab/rab.h,
1572           sdas/asrab/rabmch.c,
1573           sdas/asrab/rabpst.c:
1574           Fix handling of some valid instructions in Rabbit assembler (bug #3639, patch by by D-mo).
1575         * support/regression/tests/bug-3639.c:
1576           Regression test for bug #3639.
1578 2023-08-28 Philipp Klaus Krause <philipp@colecovision.eu>
1580         * doc/README.txt,
1581           doc/sdccman.lyx:
1582           Basic r800 port documentation.
1583         * support/scripts/sdcc.nsi:
1584           Include r800 library in Windows installer.
1585         * src/z80/gen.c:
1586           Cost function fixes for z80-related backends.
1588 2023-08-27 Philipp Klaus Krause <philipp@colecovision.eu>
1590         * Merge r800 branch to trunk.
1591         * support/regression/Makefile.in:
1592           Include r800 port in test-z80 regression test target.
1593         * support/regression/MakeList:
1594           Disable a test for r800 that fails for all z80-related ports.
1596 2023-08-27 Philipp Klaus Krause <philipp@colecovision.eu>
1598         * sim/ucsim/z80.src/inst_ed.cc,
1599           src/z80/gen.c,
1600           src/z80/peep.c:
1601           Fixes for R800 multiplication instructions.
1603 2023-08-27 Felix Salfelder <felix AT salfelder.org>
1605         * support/regression/Makefile.in: deal with longer subresult list.
1606         * support/regression/tests/bitintshift.c.in: more subcases.
1608 2023-08-27 Philipp Klaus Krause <philipp@colecovision.eu>
1610         * support/regression/fwk/include/testfwk.h,
1611           support/regression/ports/ucr800/spec.mk:
1612           r800 regression test infrstructure.
1613         * src/z80/gen.c:
1614           r800 calling convention fix.
1616 2023-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
1618         * support/regression/gte/960830-1.c: deleted, is only relevant for i386
1619         * support/regression/ports/mcs51-common/support.c: don't include mcs51reg.h,
1620           define TI & SBUF directly instead, prevents name clash with B
1621         * support/regression/MakeList: enabled tcc_30_hanoi
1622         * support/regression/cases/Makefile.in: remove disabled warnings,
1623           fixed warnings
1624         * support/regression/collate-results.py,
1625         * support/regression/compact-results.py: cosmetics
1626         * support/regression/gte/20001124-1.c,
1627         * support/regression/gte/20001229-1.c,
1628         * support/regression/gte/20010119-1.c,
1629         * support/regression/gte/20030216-1.c,
1630         * support/regression/gte/20091229-1.c,
1631         * support/regression/gte/900409-1.c,
1632         * support/regression/gte/930930-2.c,
1633         * support/regression/gte/950426-2.c,
1634         * support/regression/gte/951204-1.c,
1635         * support/regression/gte/960405-1.c,
1636         * support/regression/gte/970214-1.c,
1637         * support/regression/gte/970214-2.c,
1638         * support/regression/gte/990324-1.c,
1639         * support/regression/gte/991019-1.c,
1640         * support/regression/gte/alias-access-path-2.c,
1641         * support/regression/gte/pr17252.c,
1642         * support/regression/gte/pr22493-1.c,
1643         * support/regression/gte/pr23047.c,
1644         * support/regression/gte/pr38048-2.c,
1645         * support/regression/gte/pr40493.c,
1646         * support/regression/gte/pr49712.c: fixed warnings
1647         * support/regression/gte/20010329-1.c,
1648         * support/regression/gte/20030404-1.c,
1649         * support/regression/gte/20080222-1.c,
1650         * support/regression/gte/980526-2.c,
1651         * support/regression/gte/pr17133.c,
1652         * support/regression/gte/pr29798.c,
1653         * support/regression/gte/pr34099-2.c,
1654         * support/regression/gte/pr43629.c,
1655         * support/regression/gte/pr44942.c,
1656         * support/regression/gte/pr53465.c: suppressed valid warnings
1657         * support/regression/qct/0025-string.c,
1658         * support/regression/qct/0027-charval.c,
1659         * support/regression/qct/0032-indec.c,
1660         * support/regression/qct/0059-multistring.c,
1661         * support/regression/tcc/30_hanoi.c: cosmetics
1663 2023-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
1665         * support/regression/tests/bug-3165.c: enabled for mcs51 & ds390,
1666           fixed warnings
1668 2023-08-26 Philipp Klaus Krause <philipp@colecovision.eu>
1670         * sdas/asrab/rab.h,
1671           sdas/asrab/rabadr.c,
1672           sdas/asrab/rabmch.c:
1673           Fix handling of some valid instructions in Rabbit assembler (bug #3636, patch by by D-mo).
1674         * support/regression/tests/bug-3636.c:
1675           Regression test for bug #3636.
1677 2023-08-26 Philipp Klaus Krause <philipp@colecovision.eu>
1679         * sdas/asrab/rab.h,
1680           sdas/asrab/rabadr.c,
1681           sdas/asrab/rabmch.c:
1682           Fix handling of some invalid instructions in Rabbit assembler (bug #3638, patch by by D-mo).
1684 2023-08-26 Philipp Klaus Krause <philipp@colecovision.eu>
1686         * support/regression/tests/bug-3165.c,
1687           support/regression/tests/bug-3167.c:
1688           Rename regression test to match correct bug number.
1690 2023-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
1692         * device/lib/pic16/libc/string/memchr.c,
1693         * device/lib/pic16/libc/string/memchrpgm.c,
1694         * device/lib/pic16/libc/string/memchrram.c: fixed buggy implementations
1695         * src/pic14/genarith.c(genPlus): fixed warning
1696         * support/regression/qct/0026-implicitret.c: disable expected warning 278
1697         * support/regression/tcc/97_utf8_string_literal.c: replaced abort() by
1698           return, is this test even linked, let alone run?
1699         * support/regression/tests/gcc-torture-execute-930106-1.c: very odd test,
1700           fixed warnings
1701         * support/regression/tests/gcc-torture-execute-cmpsf-1.c: enabled for mcs51
1702           with correct_results[] const, fixed warnings
1703         * support/regression/tests/gcc-torture-execute-strct-varg-1.c: enabled for
1704           hc08 & s08, fixed warnings
1705         * support/regression/tests/lonesha256.c: disabled for mcs51-stack-auto
1706         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_2_xy.c:
1707           added comment about incorrect warning 127
1708         * support/regression/tcc/109_float_struct_calling.c,
1709         * support/regression/tcc/10_pointer.c,
1710         * support/regression/tcc/11_precedence.c,
1711         * support/regression/tcc/30_hanoi.c,
1712         * support/regression/tcc/52_unnamed_enum.c,
1713         * support/regression/tcc/54_goto.c,
1714         * support/regression/tcc/55_lshift_type.c,
1715         * support/regression/tests/gcc-torture-execute-20000717-3.c,
1716         * support/regression/tests/gcc-torture-execute-20020201-1.c,
1717         * support/regression/tests/gcc-torture-execute-20020328-1.c,
1718         * support/regression/tests/gcc-torture-execute-20020819-1.c,
1719         * support/regression/tests/gcc-torture-execute-20041019-1.c,
1720         * support/regression/tests/gcc-torture-execute-20100430-1.c,
1721         * support/regression/tests/gcc-torture-execute-20120427-1.c,
1722         * support/regression/tests/gcc-torture-execute-20120427-2.c,
1723         * support/regression/tests/gcc-torture-execute-920202-1.c,
1724         * support/regression/tests/gcc-torture-execute-920428-1.c,
1725         * support/regression/tests/gcc-torture-execute-920520-1.c,
1726         * support/regression/tests/gcc-torture-execute-920812-1.c,
1727         * support/regression/tests/gcc-torture-execute-921123-1.c,
1728         * support/regression/tests/gcc-torture-execute-930123-1.c,
1729         * support/regression/tests/gcc-torture-execute-930518-1.c,
1730         * support/regression/tests/gcc-torture-execute-930603-2.c,
1731         * support/regression/tests/gcc-torture-execute-931017-1.c,
1732         * support/regression/tests/gcc-torture-execute-950322-1.c,
1733         * support/regression/tests/gcc-torture-execute-950621-1.c,
1734         * support/regression/tests/gcc-torture-execute-950809-1.c,
1735         * support/regression/tests/gcc-torture-execute-960219-1.c,
1736         * support/regression/tests/gcc-torture-execute-960302-1.c,
1737         * support/regression/tests/gcc-torture-execute-960327-1.c,
1738         * support/regression/tests/gcc-torture-execute-960402-1.c,
1739         * support/regression/tests/gcc-torture-execute-980701-1.c,
1740         * support/regression/tests/gcc-torture-execute-990106-1.c,
1741         * support/regression/tests/gcc-torture-execute-991023-1.c,
1742         * support/regression/tests/gcc-torture-execute-cmpsi-1.c,
1743         * support/regression/tests/gcc-torture-execute-divconst-1.c,
1744         * support/regression/tests/gcc-torture-execute-divmod-1.c,
1745         * support/regression/tests/gcc-torture-execute-lto-tbaa-1.c,
1746         * support/regression/tests/gcc-torture-execute-packed-1.c,
1747         * support/regression/tests/gcc-torture-execute-postmod-1.c,
1748         * support/regression/tests/gcc-torture-execute-strct-stdarg-1.c,
1749         * support/regression/tests/gcc-torture-execute-string-opt-5.c,
1750         * support/regression/tests/gcc-torture-execute-va-arg-1.c,
1751         * support/regression/tests/gcc-torture-execute-va-arg-5.c,
1752         * support/regression/tests/gcc-torture-execute-va-arg-6.c: fixed warnings
1754 2023-08-25 Maarten Brock <sourceforge.brock AT dse.nl>
1756         * src/mcs51/rtrack.c(_mcs51_rtrackUpdate): added dptr+=2 case,
1757           added detecting modified bits in B
1759 2023-08-21 Maarten Brock <sourceforge.brock AT dse.nl>
1761         * device/lib/mcs51/Makefile.in: reverted accidental commit
1763 2023-08-19 Maarten Brock <sourceforge.brock AT dse.nl>
1765         * device/include/asm/default/features.h,
1766         * device/include/asm/ds390/features.h,
1767         * device/include/asm/mcs51/features.h,
1768         * device/include/asm/pic14/features.h,
1769         * device/include/asm/pic16/features.h,
1770         * device/include/asm/r2k/features.h,
1771         * device/include/asm/r3ka/features.h,
1772         * device/include/asm/sm83/features.h,
1773         * device/include/asm/stm8/features.h,
1774         * device/include/asm/tlcs90/features.h,
1775         * device/include/asm/z80/features.h: added __SDCC_NONBANKED
1776         * device/include/float.h: use __SDCC_NONBANKED for __SDCC_FLOAT_NONBANKED
1777         * device/include/sdcc-lib.h: cosmetics
1778         * device/lib/_divsint.c,
1779         * device/lib/_divslong.c,
1780         * device/lib/_divslonglong.c,
1781         * device/lib/_divuint.c,
1782         * device/lib/_divulong.c,
1783         * device/lib/_divulonglong.c,
1784         * device/lib/_modsint.c,
1785         * device/lib/_modslong.c,
1786         * device/lib/_modslonglong.c,
1787         * device/lib/_moduint.c,
1788         * device/lib/_modulong.c,
1789         * device/lib/_modulonglong.c,
1790         * device/lib/_mulint.c,
1791         * device/lib/_mullong.c,
1792         * device/lib/_mullonglong.c: moved __SDCC_NONBANKED to sdcc-lib.h
1793         * device/lib/_slonglong2fs.c: cosmetics
1794         * device/lib/Makefile.in,
1795         * device/lib/hc08/Makefile.in,
1796         * device/lib/mos6502/Makefile.in,
1797         * device/lib/mos6502-stack-auto/Makefile.in,
1798         * device/lib/mos65c02/Makefile.in,
1799         * device/lib/pdk13/Makefile.in,
1800         * device/lib/pdk14/Makefile.in,
1801         * device/lib/pdk15/Makefile.in,
1802         * device/lib/pdk15-stack-auto/Makefile.in,
1803         * device/lib/s08/Makefile.in,
1804         * device/lib/s08-stack-auto/Makefile.in,
1805         * device/lib/stm8/Makefile.in,
1806         * device/lib/stm8-large/Makefile.in,
1807         * src/SDCCsymt.c (initCSupport): renamed _r[lr][su]longlong.c to
1808           _s[lr][su]longlong.c because they are shifts not rotates
1809         * device/lib/_slslonglong.c: renamed from _rlslonglong.c,
1810           moved __SDCC_NONBANKED to sdcc-lib.h
1811         * device/lib/_slulonglong.c: renamed from _rlulonglong.c,
1812           moved __SDCC_NONBANKED to sdcc-lib.h,
1813           use _AUTOMEM for better code generation
1814         * device/lib/_srslonglong.c: renamed from _rrslonglong.c,
1815           bugfix little endian variant,
1816           moved __SDCC_NONBANKED to sdcc-lib.h,
1817           use _AUTOMEM for better code generation,
1818           removed comment about non-existing rrulonglong_rrx_s.c
1819         * device/lib/_srulonglong.c: renamed from _rrulonglong.c,
1820           moved __SDCC_NONBANKED to sdcc-lib.h,
1821           use _AUTOMEM for better code generation,
1822           removed comment about non-existing rrulonglong_rrx_s.c
1823         * device/lib/mos6502/_srslonglong.c: renamed from _rrslonglong.c
1824         * device/lib/mos6502/_srulonglong.c: renamed from _rrulonglong.c
1825         * device/lib/mos6502-stack-auto/_srslonglong.c: renamed from _rrslonglong.c
1826         * device/lib/mos6502-stack-auto/_srulonglong.c: renamed from _rrulonglong.c
1828         * device/lib/atomic_flag_clear.c: generate external definition for
1829           inline definition with external linkage
1830         * device/include/stdatomic.h: inline atomic_flag_clear(),
1831           use 0xfe for z80-like,
1832           use __SDCC_NONBANKED
1833         * device/lib/ez80_z80/atomic_flag_test_and_set.s,
1834         * device/lib/r2k/atomic_flag_test_and_set.s,
1835         * device/lib/r2ka/atomic_flag_test_and_set.s,
1836         * device/lib/r3ka/atomic_flag_test_and_set.s,
1837         * device/lib/sm83/atomic_flag_test_and_set.s,
1838         * device/lib/z180/atomic_flag_test_and_set.s,
1839         * device/lib/z80/atomic_flag_test_and_set.s,
1840         * device/lib/z80n/atomic_flag_test_and_set.s: use sra on 0xfe and drop ccf
1842         * device/lib/strtoull.c: drop oldret
1843         * device/lib/wcstoull.c: drop oldret,
1844           (_isdigit): fix L'a',
1845           (strtoull): bugfix, renamed to wcstoull() & use iswblank()
1847         * debugger/mcs51/sdcdb.c (readCdb): fixed warning/bug
1848         * src/SDCC.y: fixed warnings
1849         * src/SDCCval.h,
1850         * src/SDCCval.c (ullFromVal): make val const to fix warnings
1851         * src/mcs51/ralloc.c (regsUsedIniCode): removed label to fix warning
1852         * src/mos6502/gen.c (opInfo): fix warning,
1853           (genRightShift): fixed warning
1854         * src/z80/ralloc.c (regsUsedIniCode): removed label to fix warning
1855         * support/cpp/gcc/diagnostic.cc (fancy_abort): fixed warning,
1856           removed formfeeds
1857         * support/cpp/gcc/gcc.cc (insert_comments,get_random_number): fixed warnings
1858           removed formfeeds
1859         * support/cpp/libcpp/expr.cc (cpp_classify_number): fixed warnings,
1860           removed formfeeds
1861         * support/cpp/libcpp/macro.cc (update,create_iso_definition): fixed warnings
1862         * support/makebin/makebin.c: fixed warning
1864 2023-08-17 Benedikt Freisen <b.freisen AT gmx.net>
1866         * device/include/inttypes.h,
1867           device/include/stdlib.h,
1868           device/include/wchar.h,
1869           device/lib/Makefile.in,
1870           device/lib/imaxabs.c,
1871           device/lib/imaxdiv.c,
1872           device/lib/incl.mk,
1873           device/lib/llabs.c,
1874           device/lib/strtoimax.c,
1875           device/lib/strtoll.c,
1876           device/lib/strtoul.c,
1877           device/lib/strtoull.c,
1878           device/lib/strtoumax.c,
1879           device/lib/wcsncmp.c,
1880           device/lib/wcstoimax.c,
1881           device/lib/wcstol.c,
1882           device/lib/wcstoll.c,
1883           device/lib/wcstoul.c,
1884           device/lib/wcstoull.c,
1885           device/lib/wcstoumax.c,
1886           support/regression/tests/wcsto.c:
1887           Add inttypes.h and missing dependencies.
1889 2023-08-17 Philipp Klaus Krause <philipp@colecovision.eu>
1891         * src/pdk/gen.c:
1892           Fix a bug in pdk code generation for shifts.
1893         * support/regression/tests/shifts2.c.in:
1894           Disable a part of a test for configurations where it fails due to lack of memory.
1896 2023-08-17 Maarten Brock <sourceforge.brock AT dse.nl>
1898         * src/pic14/glue.c,
1899         * src/pic16/glue.c: moved no_assemble into options
1901 2023-08-17 Philipp Klaus Krause <philipp@colecovision.eu>
1903         * support/regression/tests/shifts2.c.in,
1904           support/regression/tests/bitintshift.c.in:
1905           Improve test coverage for shifts of wide variables.
1906         * device/lib/_rlulonglong.c,
1907           device/lib/_rrslonglong.c,
1908           device/lib/_rrulonglong.c:
1909           Fix choice of endiannness for support functions for shifts of wide variables.
1911 2023-08-16 Maarten Brock <sourceforge.brock AT dse.nl>
1913         * debugger/mcs51/cmd.c: fixed compiler warning
1914         * src/SDCCglobl.h,
1915         * src/SDCCglue.c,
1916         * src/SDCCmain.c: moved syntax_only & no_assemble into options
1917         * src/SDCCopt.c(eBBlockFromiCode): do not call assignRegisters() for
1918             --syntax-only
1920 2023-08-15 Maarten Brock <sourceforge.brock AT dse.nl>
1922         * sim/ucsim/test-target.mk: do not remove ihx files that are in svn
1924 2023-08-14 Maarten Brock <sourceforge.brock AT dse.nl>
1926         * src/SDCCmain.c: added --syntax-only option, implements RFE #886
1927         * doc/sdccman.lyx: documented --syntax-only
1929 2023-08-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1931         * support/regression/tests/charconst.c,
1932           support/regression/tests/wchar.c.in: disable for MacOS host test
1934 2023-08-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1936         * support/regression/tests/bug-2855.c: disable for MacOS host test
1937         * support/regression/tests/charconst.c,
1938           support/regression/tests/string.c,
1939           support/regression/tests/wchar.c.in: work around missing uchar.h
1940           on MacOS host test
1942 2023-08-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1944         * support/scripts/sdcc.nsi: Remove unused/unbuilt simulators
1946 2023-08-03 Philipp Klaus Krause <philipp@colecovision.eu>
1948         * src/ds390/gen.c,
1949           src/ds390/ralloc.c,
1950           src/hc08/gen.c,
1951           src/mcs51/gen.c,
1952           src/mcs51/ralloc.c,
1953           src/pdk/gen.c,
1954           src/z80/gen.c:
1955           Fix various bugs found by sanitizers.
1957 2023-08-01 Philipp Klaus Krause <philipp@colecovision.eu>
1959         * src/SDCCgenconstprop.cc,
1960           src/SDCCpeeph.c,
1961           src/pdk/gen.c,
1962           src/stm8/gen.c,
1963           src/z80/gen.c:
1964           Fix various bugs found by sanitizers.
1966 2023-07-31 Philipp Klaus Krause <pkk@spth.de>
1968         * support/regression/ports/ucr800/spec.mk:
1969           Infrastructure for future r800 regression testing.
1971 2023-07-31 Philipp Klaus Krause <philipp@colecovision.eu>
1973         * src/SDCCgenconstprop.cc,
1974           src/pdk/ralloc.c:
1975           Fix some issues, mostly in generalized constant propagation.
1977 2023-07-29 Philipp Klaus Krause <philipp@colecovision.eu>
1979         * src/SDCCcse.c,
1980           src/SDCCcse.h,
1981           src/SDCCopt.c,
1982           support/regression/tests/bug-3636.c:
1983           Fix bug #3626.
1984         * src/SDCCsymt.c,
1985           support/regression/tests/bug-3597.c:
1986           Fix bug #3597.
1987         * src/SDCCast.c,
1988           support/valdiag/tests/bug-2240.c:
1989           Fix bug #2240.
1991 2023-07-28 Philipp Klaus Krause <pkk@spth.de>
1993         * sdas/asz80/z80.h,
1994           sdas/asz80/z80mch.c,
1995           sdas/asz80/z80pst.c:
1996           Basic R800 assembler support.
1997         * configure,
1998           configure.ac,
1999           src/SDCCmain.c,
2000           src/port.h,
2001           src/z80/main.c,
2002           src/SDCCglue.c,
2003       src/z80/gen.c,
2004       src/z80/z80.h,
2005       src/z80/peep.c,
2006       device/include/*.h,
2007       device/lib/Makefile.in,
2008       device/lib/_memset.c,
2009       device/lib/clean.mk,
2010       device/lib/r800:
2011           Infrastructure for r800 port, use multu for 8x8->16 multiplication.
2013 2023-07-27 Philipp Klaus Krause <philipp@colecovision.eu>
2015         * device/lib/mbrtowc.c,
2016           support/regression/tests/wchar.c.in:
2017           Fix an issue in the return value of mbrtowc for 0 character (it indirectly also affected mbrtoc16 and mbrtoc32).
2019 2023-07-27 Philipp Klaus Krause <philipp@colecovision.eu>
2021         * src/z80/gen.c:
2022           Fix bug #3619.
2024 2023-07-27 Philipp Klaus Krause <philipp@colecovision.eu>
2026         * device/lib:
2027           Spelling fixes, patch #465 by Konstantin Kim.
2029 2023-07-26 Maarten Brock <sourceforge.brock AT dse.nl>
2031         * _gptrget.c,
2032         * _gptrgetc.c,
2033         * _gptrput.c: applied patch #464, Thanks Konstantin Kim
2034             also fixed/improved non-active SDCC_MODEL_MEDIUM variants of this lib
2036 2023-07-21 Benedikt Freisen <b.freisen AT gmx.net>
2038         * doc/sdccman.lyx:
2039           Update documentation of pragma sdcc_hash.
2041 2023-07-17 Felix Salfelder <felix AT salfelder.org>
2043         * support/regression/cases/generate-cases.py:
2044           Fix bug #3614.
2046 2023-07-17 Felix Salfelder <felix AT salfelder.org>
2048         * support/regression/Makefile.in,
2049           support/regression/compact-results.py:
2050           Fix bug #3613.
2052 2023-07-13 Philipp Klaus Krause <philipp@colecovision.eu>
2054         * src/pdk/gen.c:
2055           Fix bug #3615 for pdk15.
2057 2023-07-13 Philipp Klaus Krause <philipp@colecovision.eu>
2059         * support/regression/tests/_minimal.c:
2060           Fix an accidentially comitted debug line.
2061         * src/stm8/gen.c:
2062           Fix bug #3615 for stm8.
2064 2023-07-10 Philipp Klaus Krause <philipp@colecovision.eu>
2066         * src/z80/gen.c:
2067           Fix a Z(1)80 bug in wide reads from pointers into registers.
2069 2023-07-09 Philipp Klaus Krause <philipp@colecovision.eu>
2071         * src/SDCCicode.c,
2072           src/*/main.c:
2073           Fix bug #3611 via patch by bbbbbr.
2074         * src/SDCCgenconstprop.cc:
2075           Use (CHAR_BIT * sizeof (unsigned long long)) when C2X ULLONG_WIDTH is not available.
2076         * src/SDCCcse.c:
2077           Fix bug #3612.
2079 2023-07-07 Philipp Klaus Krause <philipp@colecovision.eu>
2081         * Merge genconstprop branch to trunk.
2083 2023-07-07 Philipp Klaus Krause <philipp@colecovision.eu>
2085         * .version:
2086           Bump version for generalized constant propagation.
2088 2023-07-07 Philipp Klaus Krause <philipp@colecovision.eu>
2090         * Merge next branch to trunk.
2091         * device/lib/stm8/support:
2092           Cleanup.
2094 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2096         * src/SDCCopt.c:
2097           Fix a compiler crash due to operation narrowing invalidating iCode sequence numbers.
2099 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2101         * src/ds390/gen.c:
2102           Fix an issue in ds390 casts to _BitInt.
2104 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2106         * src/SDCCgenconstprop.cc,
2107           src/pdk/main.c:
2108           Generalized constant propagation optimization for pdk and mcs51 pointers.
2110 2023-07-02 Philipp Klaus Krause <philipp@colecovision.eu>
2112         * src/SDCCgenconstprop.cc:
2113           Basic generalized constant propagation analysis for pdk and mcs51 pointers.
2115 2023-07-02 Philipp Klaus Krause <philipp@colecovision.eu>
2117         * src/SDCCgenconstprop.cc:
2118           Fix dumping of generalized constant propagation analysis graph debug info for initialization of global objects.
2120 2023-07-01 Philipp Klaus Krause <philipp@colecovision.eu>
2122         * src/mcs51/gen.c,
2123           support/regression/tests/bug-3607.c:
2124           Fix bug #3607, using a variant of the patch by Oleg Endo.
2126 2023-06-30 Philipp Klaus Krause <philipp@colecovision.eu>
2128         * src/stm8/gen.c:
2129           Fix bug #3609.
2130         * src/z80/gen.c,
2131           support/regression/tests/bug-3606.c:
2132           Fix bug #3606.
2133         * src/hc08/gen.c:
2134           Fix bug #3604.
2135         * doc/README.txt:
2136           Fix bug #3605.
2138 2023-06-30 Philipp Klaus Krause <philipp@colecovision.eu>
2140         * src/stm8/gen.c:
2141           Improve 16-bit comparisons.
2143 2023-06-29 Philipp Klaus Krause <philipp@colecovision.eu>
2145         * src/SDCCgenconstprop.cc:
2146           Improve generalized constant propagation analysis for /, %.
2148 2023-06-27 Philipp Klaus Krause <philipp@colecovision.eu>
2150         * src/SDCCgenconstprop.cc:
2151           Improve interval / bit synchronization in generalized constant propagation analysis.
2153 2023-06-27 Philipp Klaus Krause <philipp@colecovision.eu>
2155         * src/SDCCast.c,
2156           support/valdiag/tests/bug-3603.c:
2157           Fix bug #3603.
2158         * src/SDCCmain.c,
2159           src/pdk/main.c,
2160           src/z80/main.c:
2161           Improve error message on invalid -mmarch option, part of RFE #881.
2163 2023-06-22 Philipp Klaus Krause <philipp@colecovision.eu>
2165         * support/scripts/sdcc.nsi:
2166           Change references to bin\cc1.exe to libexec\sdcc\cc1 (picked from nativecrosstools branch).
2168 2023-06-21 Philipp Klaus Krause <philipp@colecovision.eu>
2170         * src/SDCCgenconstprop.cc,
2171           src/SDCCopt.c,
2172           src/hc08/main.c,
2173           src/*/ralloc2.cc:
2174           Fixes for generalized constant propagation and support functions for _BitInt.
2176 2023-06-20 Philipp Klaus Krause <philipp@colecovision.eu>
2178         * src/SDCCgenconstprop.cc:
2179           Improve generalized constant propagation analysis and optimization.
2181 2023-06-20 Philipp Klaus Krause <philipp@colecovision.eu>
2183         * src/SDCCBBlock.c,
2184           src/SDCCgenconstprop.cc,
2185           src/SDCCopt.c,
2186           src/SDCCopt.h:
2187           Replace a multiplication narrowing optimization by a more generic one based on generalized constant propagation.
2189 2023-06-20 Philipp Klaus Krause <philipp@colecovision.eu>
2191         * src/SDCCgenconstprop.cc:
2192           Improve generalized constant propgation analysis and optimization.
2193         * src/hc08/gen.c,
2194           src/pdk/gen.c,
2195           src/stm8/gen.c,
2196           src/z80/gen.c,
2197           src/mos6502/ralloc2.cc:
2198           Further use of information from generalized constant propagation analysis in code generation.
2200 2023-06-19 Philipp Klaus Krause <philipp@colecovision.eu>
2202         * src/hc08/gen.c,
2203           src/hc08/gen.h,
2204           src/hc08/main.c,
2205           src/hc08/ralloc.c,
2206           src/hc08/ralloc2.cc:
2207           Use information from generalized constant propagation analysis in hc08 code generation, remove support for old register allocator.
2209 2023-06-18 Philipp Klaus Krause <philipp@colecovision.eu>
2211         * src/SDCCgenconstprop.cc,
2212           src/pdk/gen.c:
2213           Improve generalized constant propagation analysis and optimization.
2215 2023-06-18 Philipp Klaus Krause <philipp@colecovision.eu>
2217         * src/SDCCgenconstprop.cc,
2218           src/z80/gen.c,
2219           src/pdk/gen.c,
2220           src/stm8/gen.c:
2221           Use information from generalized constant propagation analysis in code generation.
2223 2023-06-15 Philipp Klaus Krause <philipp@colecovision.eu>
2225         * src/SDCCBBlock.c,
2226           src/SDCCcse.c,
2227           src/SDCCdflow.c,
2228           src/SDCClrange.c,
2229           src/SDCCopt.c,
2230           src/SDCCralloc.hpp,
2231           src/*/ralloc.c,
2232           src/*/ralloc2.cc:
2233           Simplify based on IC_(JT)COND now being an alias for IC_LEFT.
2235 2023-06-15 Philipp Klaus Krause <philipp@colecovision.eu>
2237         * src/SDCCdflow.h,
2238           src/SDCCgenconstprop.cc,
2239           src/SDCCopt.c,
2240           src/z80/gen.c,
2241           src/z80/gen.h,
2242           src/z80/ralloc2.cc,
2243           src/stm8/gen.c,
2244           src/stm8/gen.h,
2245           src/stm8/ralloc2.cc:
2246           Basic generalized constant propgation analysis and optimization for individual operand bits.
2248 2023-06-13 Philipp Klaus Krause <philipp@colecovision.eu>
2250         * src/SDCCgenconstprop.cc:
2251           Fixes and improvements for generalized constant propagation optimization and analysis.
2253 2023-06-13 Philipp Klaus Krause <philipp@colecovision.eu>
2255         * src/mos6502/gen.c
2256           Fix negation of literals for mos6502.
2257         * src/SDCCgenconstprop.cc:
2258           Fix handling of __bit in generalized constant propagation analysis.
2260 2023-06-12 Philipp Klaus Krause <philipp@colecovision.eu>
2262         * src/SDCCopt.c:
2263           Fix an issue in handling parameters during conversion of builtin functions at the beginning of a basic block.
2265 2023-06-12 Philipp Klaus Krause <philipp@colecovision.eu>
2267         * src/SDCCBBlock.c,
2268           src/SDCCglobl.h,
2269           src/SDCCopt.c:
2270           Dump iCode after generalized constant propagation.
2272 2023-06-12 Philipp Klaus Krause <philipp@colecovision.eu>
2274         * src/SDCClrange.c:
2275           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).
2276         * src/pdk/gen.c:
2277           Fix a pdk codegen issue that could result in invalid asm for pdk13 on bitwise and in if condition.
2278         * src/SDCCopt.c:
2279           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.
2281 2023-06-11 Philipp Klaus Krause <philipp@colecovision.eu>
2283         * src/SDCCdflow.h,
2284           src/SDCCgenconstprop.cc,
2285           src/SDCCsymt.c,
2286           src/SDCCsymt.h:
2287           Basic generalized constant propagation operation narrowing optimization.
2289 2023-06-11 Philipp Klaus Krause <philipp@colecovision.eu>
2291         * src/SDCCgenconstprop.cc:
2292           Improve generalized constant propagation analysis.
2294 2023-06-11 Philipp Klaus Krause <philipp@colecovision.eu>
2296         * device/include/stdckdint.h:
2297           Work around an issue in inlining _Generic results to mitigate strtotul code size regression.
2299 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2301         * src/SDCCgenconstprop.cc:
2302           A few more bits of generalized constant propagation analysis and optimization.
2304 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2306         * src/SDCCgenconstprop.cc:
2307           Improve proof-of-concept for generalized constant propagation analysis and optimization to the point where it almost passes regression tests.
2308         * src/SDCCglobl.h,
2309           src/SDCCmain.c,
2310           src/SDCCopt.c:
2311           Introduce --nogenconstprop option.
2313 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2315         * src/SDCCgenconstprop.cc:
2316           Refactor proof-of-concept for generalized constant propagation analysis using new iCode operand handling.
2318 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2320         * src/SDCCicode.h:
2321           Store operands of IFX and JUMPTAB the same way as operands of other iCodes.
2323 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2325         * src/SDCCdflow.h,
2326           src/SDCCicode.c,
2327           src/SDCCicode.h,
2328           src/SDCClrange.c,
2329           src/SDCCopt.c,
2330           src/SDCCgenconstprop.cc:
2331           A first proof-of-concept for generalized constant propagation analysis.
2333 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2335         * support/regression/MakeList:
2336           Disable tests that fail due to known -ms08 --stack-auto bugs.
2337         * doc/sdccman.lyx:
2338           Document hc08/s08 struct/union parameter support.
2340 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2342         * src/hc08/gen.c,
2343           src/mos6502/gen.c,
2344           src/z80/gen.c:
2345           support/regression/MakeList:
2346           Fix a right-shift codegen sign issue triggered by register packing.
2348 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2350         * src/hc08/gen.c,
2351           support/regression/MakeList:
2352           Catch bug #3598 early.
2354 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2356         * src/hc08/gen.c:
2357           Fix stacked hx result in shifts.
2358         * support/regression/MakeList:
2359           Exclude some tests that need features not yet supported by s08 from s08-stack-auto testing.
2361 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
2363         * src/hc08/gen.c:
2364           hc08/s08 --stack-auto struct/union parameters.
2366 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
2368         * src/SDCCsymt.c,
2369           src/hc08/gen.c:
2370           Caller-side support for hc08/s08 struct/union return.
2372 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
2374         * src/z80/gen.c:
2375           Improve z80 rotation.
2376         * src/mcs51/ralloc.c:
2377           Work around a mcs51 register saving issue (codegen cannot handle a return value in a bit if other bits are live at the call).
2378         * src/SDCCicode.c,
2379           src/SDCCopt.c:
2380           Fix bug #3595.
2382 2023-06-03 Philipp Klaus Krause <philipp@colecovision.eu>
2384         * support/regression/MakeList:
2385           Disable trigraph test for host, since many host compilers no longer support trigraphs.
2387 2023-06-02 Philipp Klaus Krause <philipp@colecovision.eu>
2389         * support/regression/ports/host/spec.mk.in:
2390           Fix C99 flag handling.
2391         * support/regression/tests/align.c.in:
2392           Fix test for current state of SDCC and host compilers wrt. C11 alignment support.
2394 2023-06-02 Philipp Klaus Krause <philipp@colecovision.eu>
2396         * src/SDCCast.c:
2397           Fix type of result in optimization of shifts wider than operand.
2398         * src/z80/gen.c:
2399           Fix left-shift for wide _BitInt.
2400         * src/hc08/gen.c:
2401           Fix shift issues.
2402         * src/pdk/gen.c:
2403           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.
2404         * src/stm8/gen.c:
2405           Fix stack balance issue in left shift code generation.
2406         * support/regression/tests/bitintrot.c.in:
2407           _BitInt rotation test.
2409 2023-06-02 Philipp Klaus Krause <philipp@colecovision.eu>
2411         * src/z80/main.c,
2412           src/z80/gen.c:
2413           Improve z80 rotations.
2414         * src/pdk/main.c,
2415           src/pdk/gen.c,
2416           src/pdk/peeph.def:
2417           Improve pdk rotations.
2418         * src/mcs51/main.c,
2419           src/mcs51/gen.c:
2420           Improve mcs51 rotations.
2421         * src/hc08/main.c,
2422           src/hc08/gen.c:
2423           Improve hc08 rotations.
2425 2023-06-01 Philipp Klaus Krause <philipp@colecovision.eu>
2427         * src/SDCCast.c,
2428           src/SDCCsymt.c:
2429           Simplify ROT optimization.
2430         * src/stm8/gen.c,
2431           src/stm8/main.c:
2432           Improve stm8 rotations.
2434 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2436         * src/pdk/main.c,
2437           src/pdk/gen.c:
2438           Support arbitrary rotations of 8-bit values in pdk code generation.
2439         * src/stm8/main.c,
2440           src/stm8/gen.c:
2441           Support arbitrary rotations of 8-bit values in stm8 code generation.
2442         * src/hc08/gen.c,
2443           src/hc08/ralloc2.cc:
2444           Improve code generation for hc08/s08 rotations.
2446 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2448         * .version,
2449           doc/sdccman.lyx,
2450           src/SDCC.lex,
2451           src/SDCC.y,
2452           src/SDCCast.c,
2453           src/SDCCcse.c,
2454           src/SDCCicode.c,
2455           src/SDCClospre.cc,
2456           src/SDCCopt.c,
2457           src/*/gen.c,
2458           src/*/main.c,
2459           src/*/ralloc2.cc:
2460           Replace RLC, RRC, SWAP by ROT, RFE #877.
2462 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2464         * src/port.h,
2465           src/SDCCast.c,
2466           src/*/main.c:
2467           Prepare for generalized swap / rotation support.
2469 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2471         * configure,
2472           configure.ac,
2473           device/lib/Makefile.in,
2474           device/lib/clean.mk,
2475           device/lib/s08-stack-auto,
2476           support/regression/ports/s08-stack-auto:
2477           Infrastructure for testing s08 port with --stack-auto.
2479 2023-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
2481         * aclocal.m4,
2482           configure,
2483           configure.ac,
2484           sdccconf_in.h:
2485           Update configure-time host C compiler checks for currently used standard.
2487 2023-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
2489         * doc/sdccman.lyx:
2490           Document change in -MMD vs. -MF argument.
2491         * .version,
2492           doc/INSTALL.txt,
2493           sdcc.spec:
2494           Bump version to prepare for 4.3.0 release.
2496 2023-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
2498         * src/mos6502/peeph.def,
2499           support/regression/tests/bug-3593.c:
2500           Fix bug #3593, using a variant of a patch by Christopher Williams.
2502 2023-05-29 Philipp Klaus Krause <philipp@colecovision.eu>
2504         * device/lib/pic14/Makefile.in,
2505           device/lib/pic14/aclocal.m4,
2506           device/lib/pic14/configure,
2507           device/lib/pic14/configure.ac,
2508           device/lib/pic14/libc/Makefile.in,
2509           device/lib/pic14/libm/Makefile.in,
2510           device/lib/pic14/libsdcc/enhanced/Makefile.in,
2511           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
2512           device/lib/pic14/libsdcc/regular/Makefile.in,
2513           device/lib/pic16/Makefile.in,
2514           device/lib/pic16/aclocal.m4,
2515           device/lib/pic16/configure,
2516           device/lib/pic16/configure.ac,
2517           device/lib/pic16/debug/Makefile.in,
2518           device/lib/pic16/libc/Makefile.in,
2519           device/lib/pic16/libio/Makefile.in,
2520           device/lib/pic16/libm/Makefile.in,
2521           device/lib/pic16/libsdcc/Makefile.in,
2522           device/lib/pic16/startup/Makefile.in,
2523           device/non-free/lib/pic14/configure,
2524           device/non-free/lib/pic14/configure.ac,
2525           device/non-free/lib/pic16/Makefile.in,
2526           device/non-free/lib/pic16/aclocal.m4,
2527           device/non-free/lib/pic16/configure,
2528           device/non-free/lib/pic16/configure.ac,
2529           device/non-free/lib/pic16/libdev/Makefile.in:
2530           Updates to pic library build system, fix bug #3140 by implementing maintainer mode.
2532 2023-05-25 Philipp Klaus Krause <philipp@colecovision.eu>
2534         * support/regression/tests/bug-2854.,
2535           support/regression/tests/bug-3474.c,
2536           support/regression/tests/strto.c:
2537           Disable tests for mcs51 medium model that need too much memory since recent strtoul fixes (see also RFE #875).
2539 2023-05-24 Philipp Klaus Krause <philipp@colecovision.eu>
2541         * src/stm8/gen.c,
2542           support/regression/tests/bigstack.c.in:
2543           Improve guards against a potential issue in the interaction of function entry stack adjustment and register parameters.
2544         * src/mos6502/gen.c:
2545           Fix missing statement after label.
2547 2023-05-23 Philipp Klaus Krause <philipp@colecovision.eu>
2549         * src/SDCCopt.c:
2550           Optimize out some redundant iTemps.
2551         * src/SDCClrange.c:
2552           Live range separation fixes.
2554 2023-05-23 Philipp Klaus Krause <philipp@colecovision.eu>
2556         * device/lib/stm8/__mululonguchar2ulonglong.s,
2557           device/lib/stm8-large/__mululonguchar2ulonglong.s,
2558           device/lib/stm8/Makefile.in,
2559           device/lib/stm8-large/Makefile.in,
2560           src/SDCCopt.c,
2561           src/SDCCsymt.c,
2562           src/SDCCsymt.h,
2563           src/port.h,
2564           src/*/main.c:
2565           Special handling of 32x8->64 unsigned multiplication for optimization.
2567 2023-05-23 Philipp Klaus Krause <philipp@colecovision.eu>
2569         * src/stm8/gen.c:
2570           Fix a segfault in a corner case in stm8 codegen.
2571         * device/lib/strtoul.c:
2572           Improve strtoul range error check.
2573         * support/regression/tests/mulextra.c:
2574           Improve test coverage for multiplication with operands of different types.
2576 2023-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
2578         * src/mos6502/gen.c,
2579           src/mos6502/main.c:
2580           mos6502 _BitInt support.
2581         * device/lib/strtoul.c,
2582           support/regression/tests/strto.c:
2583           Fix C23 binary prefix for strtoo(u)l.
2584         * src/hc08/gen.c:
2585           Comparison codegen improvement.
2586         * device/lib/strtoul.c,
2587           support/regression/tests/strto.c:
2588           Fix a corner case in strtoul range check.
2590 2023-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
2592         * src/hc08/gen.c
2593           src/hc08/main.c,
2594           doc/sdccman.lyx:
2595           hc08/s08 _BitInt support up to 64 bits.
2597 2023-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
2599         * src/hc08/gen.c,
2600           src/hc08/main.c:
2601           hc08/s08 _BitInt support: codegen for addition, subtraction and 16-bit shifts. Enable _BitInt up to 16 bits.
2603 2023-05-19 Philipp Klaus Krause <philipp@colecovision.eu>
2605         * src/hc08/ralloc2.cc,
2606           src/hc08/gen.c:
2607           Prepare for hc08/s08 _BitInt support: codegen for casts.
2609 2023-05-17 Philipp Klaus Krause <philipp@colecovision.eu>
2611         * doc/sdccman.lyx:
2612           Fix whitespace in cross-build configure example.
2613         * support/regression/tests/gcc-torture-execute-strlen-4.c:
2614           Enable some more bits of this test that now pass.
2616 2023-05-16 Felix Salfelder <felix AT salfelder.org>
2618         * bin/sd{ar,cpp,nm,objcopy,ranlib}.in:
2619           fix #3587 (with Philipp).
2621 2023-05-16 Philipp Klaus Krause <philipp@colecovision.eu>
2623         * src/SDCClrange.c,
2624           support/regression/tests/bug-3455.c:
2625           Fix bug #3455.
2626         * support/regression/tests/sizeof.c.in:
2627           Disable a warning where we intentionally test something that is implementation-defined in SDCC (though undefined in the standard).
2628         * device/lib/ds400/Makefile.in:
2629           Fix invokation of sdar during ds400 library build.
2631 2023-05-15 Philipp Klaus Krause <philipp@colecovision.eu>
2633         * sdas/linksrc/Makefile.in,
2634           sdas/linksrc/aslink.h,
2635           sdas/linksrc/lkout.c,
2636           sdas/linksrc/lks19.c:
2637           Port Motorola SREC format support from upstream asxxxx 5.40 to fix bug #3559.
2639 2023-05-15 Philipp Klaus Krause <philipp@colecovision.eu>
2641         * src/SDCCsymt.c,
2642           support/regression/tests/bug-3585.c:
2643           Fix bug #3585.
2645 2023-05-01 Felix Salfelder <felix AT salfelder.org>
2647         * support/sdbinutils/bfd/{asxxxx,targets}.c:
2648           Fix bug #3569 and a memory leak.
2650 2023-05-11 Philipp Klaus Krause <philipp@colecovision.eu>
2652         * support/regression/tests/bug-3352.c,
2653           support/regression/tests/bug-3465.c,
2654           support/regression/tests/bug-3523.c,
2655           support/regression/tests/bug-3532.c,
2656           support/regression/tests/bug-3547.c:
2657           Disable warning 85 for some tests (as parameters are intentionally unused in these).
2659 2023-05-10 Philipp Klaus Krause <philipp@colecovision.eu>
2661         * support/regression/tests/bug-3563.c:
2662           Regression test for bug #3563 (disabled for mcs51, as the bug is not yet fixed).
2663         * src/SDCCmem.c,
2664           support/regression/tests/*.c:
2665           Fix bug #2874.
2667 2023-05-04 Philipp Klaus Krause <philipp@colecovision.eu>
2669         * src/z80/gen.c,
2670           support/regression/tests/bug-3579.c:
2671           iy handling fixes in code generation.
2673 2023-04-26 Philipp Klaus Krause <philipp@colecovision.eu>
2675         * src/SDCCdwarf2.c:
2676           Fix bug #3576.
2678 2023-04-13 Philipp Klaus Krause <philipp@colecovision.eu>
2680         * sdas/asz80/z80mch.c:
2681           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.
2683 2023-04-12 Philipp Klaus Krause <philipp@colecovision.eu>
2685         * src/SDCCpeeph.c:
2686           Improve error message on missing skip instruction target label at end of inline asm in __naked function. Fix bug #3566.
2687         * src/SDCCast.c,
2688           support/regression/tests/bug-3570.c:
2689           Fix bug #3570.
2690         * src/SDCCmem.c:
2691           Fix bug #3030.
2693 2023-03-21 Felix Salfelder <felix AT salfelder.org>
2695         * src/SDCCmain.c:
2696           Use -MF to pass dependency output file to sdcpp, fixing bug #3541.
2697           See https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#Invocation.
2699 2023-03-20 Philipp Klaus Krause <philipp@colecovision.eu>
2701         * support/regression/tests/bug-3567.c:
2702           Disable a test for mcs51 small model, where it fails due to lack of memory.
2704 2023-03-19 Philipp Klaus Krause <philipp@colecovision.eu>
2706         * src/z80/gen.c,
2707           support/regression/tests/bug-3567.c:
2708           Fix bug #3567.
2710 2023-03-16 Philipp Klaus Krause <philipp@colecovision.eu>
2712         * src/pdk/gen.c,
2713           support/regression/tests/bug-3556.c:
2714           Fix an issue in pdk shift codegen for non-dead shift amount in acc.
2716 2023-03-15 Philipp Klaus Krause <philipp@colecovision.eu>
2718         * src/SDCCast.c,
2719           support/regression/tests/bug-3564.c:
2720           Fix bug #3564.
2722 2023-03-08 Philipp Klaus Krause <philipp@colecovision.eu>
2724         * support/regression/tests/bigreturn-remat.c.in,
2725           support/regression/tests/rotate.c.in:
2726           Improve test coverage.
2728 2023-03-01 Philipp Klaus Krause <philipp@colecovision.eu>
2730         * support/regression/tests/atomic.c,
2731           support/regression/tests/bug-1918.c,
2732           support/regression/tests/bug-2124.c,
2733           support/regression/tests/bug-2181.c,
2734           support/regression/tests/bug-2271.c,
2735           support/regression/tests/bug-2373.c,
2736           support/regression/tests/bug-2455.c,
2737           support/regression/tests/bug-2497.c,
2738           support/regression/tests/bug-716242.c,
2739           support/regression/tests/bug1908493.c,
2740           support/regression/tests/gcc-torture-execute-20030714-1.c,
2741           support/regression/tests/gcc-torture-execute-980707-1.c:
2742           Document why some regression tests are disabled for pdk.
2743         * device/include/mcs51/stc89.h,
2744           src/SDCC.y,
2745           src/SDCCmem.c,
2746           src/SDCCsymt.c:
2747           Fix typos.
2748         * src/SDCCicode.c:
2749           Fix bug #3290.
2751 2023-02-28 Maarten Brock <sourceforge.brock AT dse.nl>
2753         * src/mcs51/rtrack.c: placed all comment emitting code in D(),
2754           (_mcs51_rtrackUpdate): enabled literal mov to register part by removing D(),
2755                                  enabled tracking dptr by removing if(options.verboseAsm)
2756         * device/lib/ds390/Makefile.in,
2757         * device/lib/ds390/lcd390.c: removed buggy lcd390.c, the DS80C390 has no native LCD interface
2759 2023-02-26 Philipp Klaus Krause <philipp@colecovision.eu>
2761         * src/SDCCloop.c,
2762           support/regression/tests/bug-3560.c:
2763           Fix bug #3560.
2765 2023-02-24 Philipp Klaus Krause <philipp@colecovision.eu>
2767         * support/regression/tests/_minimal.c:
2768           Pick minimal regression test from MP8 fork of sdcc to ease initial debugging of new ports.
2770 2023-02-20 Felix Salfelder <felix AT salfelder.org>
2772         * Makefile.in:
2773           fix literal sdcc-sdbinutils dep, towards fixing bug #3491.
2775 2023-02-17 Felix Salfelder <felix AT salfelder.org>
2777         * support/cpp/libcpp/files.cc:
2778           Remove stray assert, fix bug #3483.
2780 2023-02-16 Felix Salfelder <felix AT salfelder.org>
2782         * src/clean.mk: Delete Makefile target only.
2784 2023-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
2786         * src/SDCCerr.h,
2787           src/SDCCerr.c: changed possible to probable
2788         * src/SDCCast.c,
2789           doc/sdccman.lyx: fixed spelling
2791 2023-02-09 Philipp Klaus Krause <philipp@colecovision.eu>
2793         * doc/sdccman.lyx:
2794           Fix bug #3382.
2795         * support/regression/tests/*.c,
2796           src/*:
2797           Spelling fixes for comments, from patch #459 by Konstantin Kim.
2799 2023-02-08 Philipp Klaus Krause <philipp@colecovision.eu>
2801         * src/SDCCicode.c,
2802           support/regression/tests/bug-2776.c,
2803           support/regression/tests/bug-3368.c:
2804           Fix bugs #2776, #3378.
2806 2023-02-06 Philipp Klaus Krause <philipp@colecovision.eu>
2808         * src/SDCCicode.c,
2809           support/regression/tests/bug-3352.c:
2810           Fix bug #3352.
2811         * device/lib/sm83/crt0.s:
2812           Fix bug #3548.
2813         * support/regression/tests/gcc-torture-execute-pr91137.c:
2814           Fix bug #3549.
2815         * support/regression/tests/bug1723128.c:
2816           Fix bug #3550.
2818 2023-02-05 Philipp Klaus Krause <philipp@colecovision.eu>
2820         * src/z80/gen.c,
2821           support/regression/tests/bug-3547.c:
2822           Fix bug #3547.
2824 2023-02-04 Philipp Klaus Krause <philipp@colecovision.eu>
2826         * src/SDCCerr.h,
2827           src/SDCCerr.c,
2828           src/SDCC.y:
2829           Warn on deprecated _sdcc_external_startup, RFE #868.
2830         * device/lib/printf_large.c,
2831           .version,
2832           doc/sdccman.lyx,
2833           support/regression/tests/snprintf.c.in:
2834           Fix endiannness of %p output, based on patch #457 by Basil Hussain, bug #3543.
2835         * src/SDCCast.c,
2836           src/SDCCglue.c,
2837           support/valdiag/tests/bug-3060.c:
2838           Fix bug #3060.
2839         * src/SDCCpeeph.c:
2840           Fix bug #3545.
2842 2023-02-02 Philipp Klaus Krause <philipp@colecovision.eu>
2844         * support/regression/cases/Makefile.in:
2845           Disable a test that often times out on slower machines in the compile farm (due a large number of slow operations in a loop).
2847 2023-02-01 Philipp Klaus Krause <philipp@colecovision.eu>
2849         * support/regression/tests/bug-3249.c:
2850           Do not test non-intrinsic named address space areas for mcs51, as DATA is overwritten by stack there.
2851         * support/regression/MakeList:
2852           Disable a test for -mmcs51 --model-small --stack-auto that is known to fail for mcs51 with --stack-auto (bug #3540).
2853         * src/SDCCglue.c,
2854           support/regression/tests/bug-1981238.c:
2855           Fix bug #3542.
2857 2023-01-31 Philipp Klaus Krause <philipp@colecovision.eu>
2859         * src/SDCCglue.c:
2860           Fix bug #2837 for z80 and related.
2862 2023-01-30 Philipp Klaus Krause <philipp@colecovision.eu>
2864         * src/SDCCsymt.c,
2865           support/regression/tests/bug-3025.c,
2866           support/regression/cases/Makefile.in,
2867           Fix bug #3025.
2868         * src/mos6502/peeph.def:
2869           Disable a rule that uses not-yet-implemented notUsed.
2870         * src/pdk/gen.c:
2871           Fix a pdk issue similar to mcs51 bug #3023.
2872         * src/SDCC.y,
2873           device/lib/printf_large.c,
2874           device/lib/printfl.c,
2875           device/lib/sprintf.c,
2876           device/lib/vprintf.c:
2877           Fix bug #3497.
2878         * src/z80/gen.c,
2879           support/regression/tests/bug-3249.c:
2880           Fix bug #3249.
2881         * support/regression/tests/inline.c:
2882           Disable a test for host, which fails on GNU/Linux on aarch64 using GCC 12.2.
2883         * src/SDCC.y,
2884           src/SDCCast.c,
2885           src/SDCCerr.c,
2886           src/SDCCerr.h:
2887           Fix error message test for empty translation units.
2889 2023-01-29 Benedikt Freisen <b.freisen AT gmx.net>
2891         * device/include/float.h,
2892           device/lib/_divsint.c,
2893           device/lib/_divslong.c,
2894           device/lib/_divslonglong.c,
2895           device/lib/_divuint.c,
2896           device/lib/_divulong.c,
2897           device/lib/_divulonglong.c,
2898           device/lib/_modsint.c,
2899           device/lib/_modslong.c,
2900           device/lib/_modslonglong.c,
2901           device/lib/_moduint.c,
2902           device/lib/_modulong.c,
2903           device/lib/_modulonglong.c,
2904           device/lib/_mulint.c,
2905           device/lib/_mullong.c,
2906           device/lib/_mullonglong.c,
2907           device/lib/_rlslonglong.c,
2908           device/lib/_rlulonglong.c,
2909           device/lib/_rrslonglong.c,
2910           device/lib/_rrulonglong.c,
2911           device/lib/_slonglong2fs.c,
2912           device/lib/_ulonglong2fs.c:
2913           Add conditional `__nonbanked` to fix mcs51 library build.
2915 2023-01-28 Philipp Klaus Krause <philipp@colecovision.eu>
2917         * src/SDCCerr.c,
2918           src/SDCCerr.h,
2919           src/ds390/gen.c,
2920           src/mcs51/gen.c,
2921           support/regression/tests/bug-3023.c:
2922           Fix bug #3023.
2924 2023-01-28 Philipp Klaus Krause <philipp@colecovision.eu>
2926         * src/SDCCast.c,
2927           src/SDCCerr.c,
2928           src/SDCCerr.h,
2929           src/SDCCsymt.c,
2930           src/port.h,
2931           src/*/main.c:
2932           Fix bug #3160.
2933         * src/mos6502/ralloc.c,
2934           src/z80/ralloc.c:
2935           Code cleanup.
2937 2023-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
2939         * src/SDCCicode.c,
2940           support/regression/cases/Makefile.in,
2941           support/regression/MakeList:
2942           Fix bug #3394.
2943         * src/SDCCerr.h,
2944           src/SDCCerr.c,
2945           src/stm8/gen.c,
2946           src/z80/gen.c,
2947           support/valdiag/tests/bug-3228.c:
2948           Fix bug #3228.
2949         * src/SDCCsymt.c,
2950           .version,
2951           doc/sdccman.lyx:
2952           Fix bug #3263.
2954 2023-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
2956         * sdas/aspdk15/pdk15mch.c:
2957           Fix bug #3191.
2958         * src/SDCCsymt.c:
2959           Fix bug #3516.
2960         * src/SDCCopt.c,
2961           support/regression/cases/Makefile.in:
2962           Fix bug #3400.
2964 2023-01-26 Philipp Klaus Krause <philipp@colecovision.eu>
2966         * src/SDCCval.c:
2967           Make ulFromVal a wrapper for ullFromVal to remove duplicate code and partially fix bug #3539.
2968         * src/z80/gen.c:
2969           Fix an sm83 issue similar to z80 bug #3503.
2970         * doc/sdccman.lyx:
2971           Add _BitInt to type list in manual.
2972         * src/SDCCglue.c:
2973           Skip invalid init list bits. Fix bug #2928.
2974         * src/SDCCicode.c,
2975           support/regression/tests/bug-2983.c:
2976           Fix bug #2983.
2977         * src/pdk/peeph.def:
2978           Fix an issue in two pdk peephole rule conditions.s
2979         * src/SDCCsymt.c:
2980           Fix bug #2998.
2981         * src/SDCC.lex,
2982           support/valdiag/tests/bug-3012.c:
2983           Fix bug #3012.
2985 2023-01-25 Philipp Klaus Krause <philipp@colecovision.eu>
2987         * src/SDCCval.c:
2988           Type fixes (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
2989         * src/stm8/gen.c:
2990           Fix an stm8 issue similar to z80 bug #3503.
2991         * src/pdk/peeph.def:
2992           Fix use of cneqsn, which is not supported on pdk13.
2994 2023-01-24 Philipp Klaus Krause <philipp@colecovision.eu>
2996         * doc/sdccman.lyx,
2997           doc/z80-stack-cleanup.svg:
2998           Improve documentation on stack cleanup (support request #182).
2999         * src/SDCCpeeph.c,
3000           src/pdk/gen.c,
3001           src/pdk/peeph.def,
3002           support/regression/tests/bug-3525.c:
3003           Fix bug #3525.
3005 2023-01-23 Philipp Klaus Krause <philipp@colecovision.eu>
3007         * src/SDCCbtree.cc:
3008           Fix bug #3505.
3009         * src/ds390/gen.c,
3010           src/mcs51/gen.c,
3011           src/z80/gen.c:
3012           Type fixes for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
3013         * device/include/stdckdint.h,
3014           device/lib/strtol.c,
3015           device/lib/strtoul.c,
3016           support/regression/tests/bug-3474.c,
3017           support/regression/tests/bug-2854.c
3018           Fix bug #3474.
3019         * support/regression/tests/gcc-torture-execute-p18298.c:
3020           extern declaration for inline function to pass host regression tests where the host compiler does not inline.
3021         * support/regression/MakeList:
3022           Exclude test for host, since it fails for GCC 7, which is still used on the PPC macOS machine in the compile farm.
3023         * src/z80/gen.c,
3024           src/pdk/gen.c,
3025           support/regression/tests/bug-3503.c:
3026           Fix bug #3503.
3028 2023-01-21 Philipp Klaus Krause <philipp@colecovision.eu>
3030         * src/mos6502/main.c:
3031           stdlib selection, patch #454 by Basil Hussain.
3032         * debugger/mcs51/cmd.c:
3033           Avoid debugger segfault, patch #449 by Mark Symonds.
3034         * doc/sdccman.lyx:
3035           Enhance documentation for __sdcc_external_startup, patch #456 by Basil Hussain.
3036         * src/SDCC.y:
3037           Remove null-pointer checks on something that is not a pointer in current SDCC, patch #442 by Reini Urban.
3038         * src/pdk/main.c,
3039           .version:
3040           __sdcc_external_startup return checking for pdk, patch #455 by Basil Hussain.
3041         * src/mos6502/peeph.def:
3042           mos6502 peephole rule fix, patch #453 by Michel Iwaniec.
3043         * src/stm8/gen.c
3044           Type fix for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
3045         * src/z80/gen.c,
3046           support/regression/tests/bug-3532.c:
3047           Fix bug #3532.
3048         * src/SDCCbtree.cc,
3049           support/regression/tests/bug-3523.c,
3050           support/regression/tests/bug-3487.c:
3051           Fix bugs #3523, #3487.
3053 2023-01-19 Philipp Klaus Krause <philipp@colecovision.eu>
3055         * device/lib/*/crt0.s,
3056           src/SDCCglue.c,
3057           src/stm8/main.c,
3058           .version:
3059           Patch #453 by Basil Hussain to further harmonize __sdcc_external_startup (RFE #859).
3060         * src/z80/gen.c,
3061           src/ds390/gen.c,
3062           src/mcs51/gen.c:
3063           Type fixes for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
3064         * doc/sdccman.lyx:
3065           Improve __sdcc_external_startup documentation.
3067 2023-01-17 Philipp Klaus Krause <philipp@colecovision.eu>
3069         * support/regression/tests/gcc-torture-execute-va-arg-5.c:
3070           Disable Test for GCC up to 11, since it still fails on x86 hosts for that version.
3071         * support/regression/cases/Makefile.in:
3072           Disable Test that tests for GCC implementation-defined behaviour (GIMPLE memory model).
3074 2023-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3076         * src/SDCCcse.c: Improve pointer aliasing handling,
3077           minor reduction in memory leakage
3078         * support/regression/tests/bug-2957.c,
3079           support/regression/tests/gcc-torture-execute-pr20466-1.c:
3080           Reenable tests
3082 2023-01-08 Benedikt Freisen <b.freisen AT gmx.net>
3084         * src/SDCCmain.c:
3085           Add "TD-" to the version string of treedec-less builds.
3087 2023-01-08 Benedikt Freisen <b.freisen AT gmx.net>
3089         * doc/sdccman.lyx:
3090           Amend claims concerning intrinsic address space support.
3092 2023-01-02 Philipp Klaus Krause <philipp@colecovision.eu>
3094         * src/SDCCast.c,
3095           support/regression/tests/bug-3504.c:
3096           Fix bug #3504.
3098 2022-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3100         * src/SDCClabel.c (labelUnreach, deleteIfx),
3101           src/SDCCcse.c (ifxOptimize): disable conditional flow change and
3102           unreachable code warnings within function inlining
3103         * src/SDCClabel.c (labelJumptable,iCodeLabelOptimize),
3104           src/SDCCcse.c (cseBBlock): optimize jump tables
3105         * src/SDCClabel.c (labelUnreach): clean up dead code def/use info
3107 2022-12-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3109         * support/cpp/gcc/configure.ac,
3110           support/cpp/gcc/configure: disable some assembler and
3111           target tests unneeded for the preprocessor
3113 2022-12-16 Philipp Klaus Krause <pkk AT spth.de>
3115         * doc/sdccman.lyx:
3116           Fix bug #3500.
3117         * src/stm8/gen.c,
3118           src/pdk/gen.c:
3119           Fix bug #3515.
3121 2022-12-15 Philipp Klaus Krause <pkk AT spth.de>
3123         * support/regression/tests/gcc-torture-execute-941021-1.c:
3124           Remove a test that apparently relies on implementation-defined floating-point rounding behaviour.
3126 2022-12-14 Philipp Klaus Krause <pkk AT spth.de>
3128         * support/regression/tests/bug-2567.c,
3129           support/regression/tests/bug-2752.c:
3130           Provide external declaration of inline function to pass test-host for non-inlining host compilers.
3131         * sdas/aspdk14/pdk14mch.c,
3132           sdas/aspdk15/pdk15mch.c:
3133           Fix bug #3376, patch by Free-PDK.
3135 2022-12-13 Philipp Klaus Krause <pkk AT spth.de>
3137         * device/lib/sm83/divint.s,
3138           support/regression/tests/muldiv.c.in,
3139           support/regression/tests/onebyte.c.in:
3140           Fix a % sm83 library issue, patch by Job Bolle.
3141         * src/stm8/main.c:
3142           Fix __sdcc_external_startup handling for stm8 large memory model.
3143         * src/z80/peeph.def:
3144           Fix bug #3528.
3146 2022-12-04 Philipp Klaus Krause <pkk AT spth.de>
3148         * src/SDCCopt.c,
3149           support/regression/tests/bug-3522.c:
3150           Fix bug #3522.
3152 2022-12-03 Philipp Klaus Krause <pkk AT spth.de>
3154         * device/lib/_startup.c,
3155           device/lib/ds390/tinibios.c,
3156           device/lib/ez80_z80/crt0.s,
3157           device/lib/mcs51/crtstart.asm,
3158           device/lib/mcs51/crtxstack.asm,
3159           device/lib/mos6502/crt0.s,
3160           device/lib/mos6502-stack-auto/crt0.s,
3161           device/lib/r2k/crt0.s,
3162           device/lib/r2ka/crt0.s,
3163           device/lib/r3ka/crt0.s,
3164           device/lib/sm83/crt0.s,
3165           device/lib/tlcs90/crt0.s,
3166           device/lib/z180/crt0.s,
3167           device/lib/z80/crt0.s,
3168           device/lib/z80n/crt0.s,
3169           doc/sdccman.lyx,
3170           src/ds390/main.c,
3171           src/hc08/main.c,
3172           src/pdk/main.c,
3173           src/stm8/main.c,
3174           support/regression/ports/mcs51-common/support.c:
3175           Rename _sdcc_external_startup to __sdcc_external_startup and make it work for all ports. Fixes bug #3520.
3177 2022-11-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3179         * support/cpp/gcc/pretty-print.cc: define some console
3180           attribute constants if they are missing
3181         * support/cpp/gcc/gcc.cc,
3182           support/cpp/gcc/opts.cc,
3183           support/cpp/gcc/opts-common.cc,
3184           support/cpp/gcc/opts-global.cc,
3185           support/cpp/gcc/prefix.cc,
3186           support/cpp/gcc/toplev.cc,
3187           support/cpp/libcpp/lex.cc,
3188           support/cpp/libcpp/mkdeps.cc,
3189           support/cpp/gcc/c-family/c-opts.cc,
3190           support/cpp/gcc/c-family/c-ppoutput.cc:
3191           Possible fix for bug #3524
3193 2022-11-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3195         * support/cpp/gcc/system.h: don't try to check inodes when
3196           compiled for Windows
3198 2022-11-28 Philipp Klaus Krause <pkk AT spth.de>
3200         * src/pdk/peep.c,
3201           src/pdk/gen.c:
3202           Pdk peephole infrastructure improvements, patch #446 by Konstantin Kim.
3204 2022-11-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3206         * support/scripts/sdcc.nsi: add cc1.exe
3207         * support/cpp/gcc/Makefile.in,
3208           support/cpp/gcc/cc1_dummies.cc,
3209           support/cpp/gcc/c/Make-lang.in,
3210           support/cpp/gcc/c-family/c-common.h,
3211           support/cpp/gcc/c-family/c-opts.cc: remove some unneeded
3212           compile time executable requirement so cross compile with
3213           mingw can succeed
3215 2022-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3217         * support/cpp/gcc/Makefile.in: add missing $(exeext)
3218         * support/cpp/gcc/gcc.cc,
3219           support/cpp/gcc/opts.cc,
3220           support/cpp/gcc/opts-common.cc,
3221           support/cpp/gcc/prefix.cc,
3222           support/cpp/gcc/toplev.cc,
3223           support/cpp/libcpp/lex.cc,
3224           support/cpp/libcpp/mkdeps.cc,
3225           support/cpp/gcc/c-family/c-opts.cc,
3226           support/cpp/gcc/c-family/c-ppoutput.cc: move iostream header
3227           last to avoid inconsistent struct offsets and thus segfaults
3229 2022-11-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3231         * src/SDCClabel.c (labelGotoGoto, labelUnreach),
3232           src/SDCCBBlock.c (iCodeFromeBBlock),
3233           src/SDCCicode.h: fix bug #3501
3235 2022-11-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3237         * src/SDCC.lex: process #line directive in __asm__ blocks
3239 2022-11-14 Benedikt Freisen <b.freisen AT gmx.net>
3241         * src/pic16/pcodepeep.c:
3242           Fix type mismatches, one of them critical. See [bugs:#3179].
3244 2022-11-11 Felix Salfelder <felix AT salfelder.org>
3246         * support/cpp/gcc/config.gcc:
3247           Workaround: Ignore "unsupported target"
3248           ... as suggested by Free-PDK in bug #3517.
3250 2022-11-06 Philipp Klaus Krause <pkk AT spth.de>
3252         * src/z80/gen.c:
3253           Fix an issue related to bug #3471.
3255 2022-11-04 Philipp Klaus Krause <pkk AT spth.de>
3257         * src/z80/peep.c,
3258           src/z80/peeph.def:
3259           Fix iy handling in peephole optimizer, variant of patch #441 by Job Bolle.
3260         * src/stm8/peeph.def,
3261           support/regression/tests/modulong.c,
3262           support/regression/ports/stm8/spec.mk:
3263           clr-push stm8 peephole optimizer rule, variant of patch #443 by Basil Hussain.
3265 2022-11-03 Benedikt Freisen <b.freisen AT gmx.net>
3267         * support/cpp/gcc/config/riscv/arch-canonicalize:
3268           Add missing file from GCC CPP.
3270 2022-10-25 Felix Salfelder <felix AT salfelder.org>
3272         * support/cpp/gcc/cc1_dummies.cc:
3273           Fix argument type in dummy, #3492.
3275 2022-10-21 Philipp Klaus Krause <pkk AT spth.de>
3277         * doc/sdccman.lyx:
3278           Fix a typo noticed by Basil Hussain, that makes an aspect of the stm8 calling convention, version 0, ambiguous.
3280 2022-10-13 Philipp Klaus Krause <pkk AT spth.de>
3282         * src/SDCCopt.c:
3283           Relax type match requirements on literal operands to multiplication support functions.
3285 2022-10-11 Philipp Klaus Krause <pkk AT spth.de>
3287         * src/pdk/gen.c,
3288           src/pdk/ralloc.c,
3289           src/stm8/gen.c,
3290           src/stm8/ralloc.c:
3291           Small improvements in reads of bool bit-fields.
3293 2022-10-07 Felix Salfelder <felix AT salfelder.org>
3295         * support/cpp/gcc/cc1_dummies.cc:
3296           Add two more dummies.
3298 2022-10-03 Benedikt Freisen <b.freisen AT gmx.net>
3300         * device/include/gcc_attr.h:
3301           Use C23 version macro.
3303 2022-10-01 Philipp Klaus Krause <pkk AT spth.de>
3305         * support/regression/MakeList:
3306           Disable a test for pdk14 that fails due to lack of memory on the target device.
3308 2022-09-29 Philipp Klaus Krause <pkk AT spth.de>
3310         * src/stm8/peeph.def:
3311           Use mov in more cases, patch by Basil Hussain.
3312         * device/include/assert.h:
3313           Fix static_assert for C11.
3315 2022-09-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3317         * src/SDCCmain.c,
3318           support/cpp/libcpp/init.cc:
3319           Fix handling of c2x standard for preprocessor.
3320         * device/include/stdlib.h,
3321           device/lib/Makefile.in,
3322           device/lib/__stdc_count_leading_zeros.c,
3323           device/lib/__stdc_first_leading_one.c,
3324           device/lib/__stdc_first_trailing_oneull.c,
3325           device/lib/_divslonglong.c,
3326           device/lib/_divulonglong.c,
3327           device/lib/_modslonglong.c,
3328           device/lib/_mullonglong.c,
3329           device/lib/_rlslonglong.c,
3330           device/lib/_rlulonglong.c,
3331           device/lib/_rrslonglong.c,
3332           device/lib/_rrulonglong.c,
3333           device/lib/aligned_alloc.c,
3334           device/lib/*/Makefile.in,
3335           device/lib/ds390/lcd390.c,
3336           device/lib/printf_large.c,
3337           device/lib/printfl.c,
3338           device/lib/sprintf.c,
3339           device/lib/vprintf.c:
3340           Fix bug #3496.
3342 2022-09-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3344         * device/include/assert.h,
3345           device/include/ctype.h,
3346           device/include/limits.h,
3347           device/include/stdarg.h,
3348           device/include/stdbool.h,
3349           device/include/stddef.h,
3350           device/include/stdlib.h,
3351           device/include/uchar.h,
3352           device/include/setjmp.h,
3353           device/include/stdalign.h,
3354           device/include/stdint.h:
3355           Replace include guards by C23 header version macros.
3357 2022-09-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3359         * src/z80/peep.c:
3360           Improve handling of iyl, iyh in peephole rules, based on patch by Job Bolle.
3362 2022-09-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3364         * src/z80/peep.c:
3365           Handling of immediates in canAssign for z80 and related.
3367 2022-09-20 Maarten Brock <sourceforge.brock AT dse.nl>
3369         * src/z80/peeph.def: fixed rules 85a, 85b to fix bug #3486,
3370           Thanks Job Bolle
3372 2022-09-19 Felix Salfelder <felix AT salfelder.org>
3374         * src/SDCCmain.c:
3375           Pass -xc to preprocessor, overriding file-type-by-extension magic.
3377 2022-09-18 Maarten Brock <sourceforge.brock AT dse.nl>
3379         * debugger/mcs51/cmd.c: applied patch #439,
3380             also applied patch from bug #3485, Thanks Mark Symonds,
3381             also cleaned up many whitespace irregularities
3383 2022-09-17 Felix Salfelder <felix AT salfelder.org>
3385         * support/regression/MakeList,
3386           support/regression/tcc/83_utf8_in_identifiers.c:
3387           Revive erroneously disabled utf8 test.
3389 2022-09-13 Benedikt Freisen <b.freisen AT gmx.net>
3391         * doc/sdccman.lyx,
3392           src/ds390/gen.c,
3393           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
3394           support/regression/tests/gcc-torture-execute-va-arg-23.c,
3395           support/regression/tests/gcc-torture-execute-va-arg-4.c:
3396           struct / union parameters on the stack for ds390, copied from mcs51.
3398 2022-09-13 Felix Salfelder <felix AT salfelder.org>
3400         * support/cpp/gcc/{system,double-int}.h:
3401           Remove wrong/unneeded gmp use.
3403 2022-09-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3405         * device/include/tinibios.h,
3406           device/lib/ds390/tinibios.c,
3407           device/lib/ds400/tinibios.c:
3408           Provide function prototypes for tinybios.
3410 2022-09-11 Benedikt Freisen <b.freisen AT gmx.net>
3412         * doc/sdccman.lyx,
3413           src/SDCC.y,
3414           src/SDCCerr.c,
3415           src/SDCCsymt.c,
3416           support/regression/cases/Makefile.in:
3417           Handle types double and long double in checkTypeSanity.
3419 2022-09-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3421         * src/SDCCsymt.c,
3422           src/SDCCast.c,
3423           support/regression/tests/bug-3481.c:
3424           Fix part of bug #3481.
3426 2022-09-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3428         * src/z80/gen.c:
3429           Fix bug #3480.
3431 2022-09-08 Felix Salfelder <felix AT salfelder.org>
3433         * support/cpp/libbacktrace/allocfail.sh:
3434           Delete unused file.
3436 2022-09-08 Felix Salfelder <felix AT salfelder.org>
3438         * device/lib/incl.mk:
3439           Fix %.rel rules. Thanks to Job Bolle, see discussion/1865.
3441 2022-09-08 Felix Salfelder <felix AT salfelder.org>
3443         * support/cpp/gcc/Makefile.in:
3444           avoid tm-preds.h cleanup once more.
3446 2022-09-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3448         * src/SDCCpeeph.c,
3449           src/z80/peeph.def,
3450           support/regression/tests/bug-3478.c:
3451           Fix bug #3478.
3453 2022-09-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3455         * src/z80/gen.c,
3456           support/regression/tests/bug-3471.c:
3457           Fix bug #3471.
3459 2022-09-06 Felix Salfelder <felix AT salfelder.org>
3461         * support/cpp/gcc/Makefile.in,
3462           support/cpp/libbacktrace/Makefile.am:
3463           Revisit don't clean no-longer autogenerated files.
3465 2022-09-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3467         * src/SDCCcse.c,
3468           support/regression/tests/bug-3470.c:
3469           Fix part of bug #3470.
3471 2022-09-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3473         * Merge cpp branch to trunk.
3475 2022-09-04 Felix Salfelder <felix AT salfelder.org>
3477         * support/cpp/gcc/hash-table.h:
3478           Revert a compile warning fix.
3480 2022-09-02 Felix Salfelder <felix AT salfelder.org>
3482         * support/cpp/gcc/cc1_dummies.cc,
3483           support/cpp/gcc/ggc-common.cc,
3484           support/cpp/gcc/hash-map.h,
3485           support/cpp/gcc/hash-table.h,
3486           support/cpp/gcc/vec.h:
3487           Fix compile warnings
3489 2022-09-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3491         * support/valdiag/tests/universal.c,
3492           support/valdiag/tests/universal2.c:
3493           Separate out a test that needs to reside in a file on its own, since the diagnostic is emitted even inside #if 0.
3495 2022-08-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3497         * support/regression/tests/checkedint.c.in:
3498           Disable test for mcs51 medium memory model, where it fails due to lack of memory.
3500 2022-08-31 Felix Salfelder <felix AT salfelder.org>
3502         * sdcc/support/cpp/gcc/opts.cc,
3503           sdcc/support/cpp/libcpp/mkdeps.cc:
3504           Test x2.
3506 2022-08-30 Felix Salfelder <felix AT salfelder.org>
3508         * support/cpp/configure, support/cpp/configure.ac:
3509           Omit gmp/mpfr checks and GCC_TOPLEV_SUBDIRS.
3511 2022-08-23 Felix Salfelder <felix AT salfelder.org>
3513         * support/cpp/configure, support/cpp/configure.ac,
3514           support/cpp/gcc/configure, support/cpp/gcc/configure.ac:
3515           Reduce diff against upstream gcc.
3517 2022-08-21 Felix Salfelder <felix AT salfelder.org>
3519         * support/regression/Makefile.in,
3520           support/regression/cases/Makefile.in:
3521           Test summary depends on test set.
3523 2022-08-20 Felix Salfelder <felix AT salfelder.org>
3525         * support/cpp/gcc/Makefile.in:
3526           Do not clean no-longer autogenerated files.
3528 2022-08-30 Felix Salfelder <felix AT salfelder.org>
3530         * support/regression/cases/Makefile.in:
3531           Add distclean rule.
3533 2022-08-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3535         * src/SDCCmem.c,
3536           support/regression/tests/bug-3040.c.in:
3537           Fix bug #3073.
3538         * support/regression/tests/checkedint.c.in:
3539           Test checked integers, part of RFE #749.
3540         * tests/gcc-torture-execute-920711-1.c:
3541           Remove a test that relies on undefined behaviour on signed integer overflow.
3542         * src/SDCCcse.c,
3543           support/valdiag/tests/bug-3457.c:
3544           Fix bug #3457.
3545         * src/SDCCmem.c,
3546           src/SDCCval.c,
3547           support/valdiag/tests/bug-3031.c:
3548           Fix bug #3383.
3550 2022-08-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3552         * support/regression/cases/Makefile.in:
3553           Disable a GCC test that tests for GCC implementation-defined floating-point behaviour.
3555 2022-08-26 Felix Salfelder <felix AT salfelder.org>
3557         * regression/ports/pic14/spec.mk:
3558           LDFLAGS & EMU invocation fixes
3560 2022-08-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3562         * support/regression/ports/hc08/spec.mk,
3563           support/regression/ports/s08/spec.mk:
3564           Increase regression test timeout slightly, so a passive-cooled Raspi 4B can run the qct_0042-prime regression test in Summer.
3566 2022-08-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3568         * doc/sdccman.lyx,
3569           .version,
3570           support/regression/tests/pragma_pedantic_parse_number.c:
3571           Document dropped support for --pedantic-parse-number and #pragma pedantic_parse_number.
3573 2022-08-16 Felix Salfelder <felix AT salfelder.org>
3575         * support/cpp:
3576           Partially import gcc (12.1.0, 1ea978e3066a),
3577           Isolate, dissect, gcc/cpp,
3578           Create dummy target files,
3579           (Re)add -obj-ext option,
3580           Change # to #line in cpp output,
3581         * Makefile.common.in:
3582           Set .DELETE_ON_ERROR
3583         * configure.ac, src/Makefile.in:
3584           Obtain svn revision and paste into version.h
3585         * configure.ac, Makefile.in, bin/*:
3586           Add Makefile, wrap executables, adjust rules.
3588 2022-08-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3590         * device/lib/pic16/startup/crt0.c,
3591           device/lib/pic16/startup/crt0i.c,
3592           device/lib/pic16/startup/crt0iz.c:
3593           Update interrupt syntax for new parser
3595 2022-08-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3597         * device/include/stdbit.h:
3598           Fix bit and byte utilities find first leading bit functions for ports that don't have _BitInt yet.
3600 2022-08-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3602         * doc/sdccman.lyx,
3603           src/SDCC.y:
3604           Document intentional deviation from C2X draft N3047 rules for tag compatibility for unions.
3606 2022-08-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3608         * src/SDCCast.c:
3609           Fix handling of pointers to short, long and long long (without explicit int) in _Generic associations.
3610         * device/include/stdckdint.h,
3611           device/lib/incl.mk,
3612           device/lib/ckd_add.c,
3613           device/lib/ckd_mul.c,
3614           device/lib/ckd_sub.c,
3615           doc/sdccman.lyx,
3616           .version:
3617           Checked integer arithmetic for all types except (unsigned) long long, part of RFE #749.
3619 2022-08-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3621         * src/SDCC.y,
3622           .version,
3623           support/valdiag/tests/enum.c:
3624           C2X enum tag compatibility rules, RFE #852.
3626 2022-08-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3628         * src/SDCC.y,
3629           src/SDCCerr.c,
3630           src/SDCCerr.h,
3631           src/SDCCsymt.c,
3632           src/SDCCsymt.h,
3633           support/valdiag/tests/struct.c:
3634           C2X struct / union tag compatibility rules, part of RFE #852.
3636 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3638         * device/include/stdlib.h,
3639           device/lib/incl.mk,
3640           device/lib/call_once.c:
3641           call_once, RFE #777.
3643 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3645         * device/include/stdbit.h,
3646           device/lib/incl.mk,
3647           device/lib/__stdc_first_leading_one.c,
3648           support/regression/tests/bitfirstleading.c.in:
3649           Provide bit and byte utilities find first leading bit functions. RFE #854.
3651 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3653         * device/include/stdbit.h,
3654           device/lib/incl.mk,
3655           device/lib/__stdc_count_leading_zeros.c,
3656           support/regression/tests/bitcountleading.c.in:
3657           Provide bit and byte utilities count leading bits functions. Part of RFE #854.
3658         * src/SDCCast.c:
3659           Fix type handling for bit-precise types in _Generic association.
3661 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3663         * device/include/stdbit.h,
3664           device/lib/incl.mk,
3665           device/lib/__stdc_first_trailing_oneull.c,
3666           support/regression/tests/bitfirst.c.in:
3667           Provide bit and byte utilities first trailing bit functions. Part of RFE #854.
3669 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3671         * device/include/stdbit.h,
3672           device/lib/__stdc_count_trailing_onesull.c,
3673           device/lib/incl.mk,
3674           support/regression/tests/bitcounttrailing.c.in:
3675           Provide bit and byte utilities trailing bit count functions. Part of RFE #854.
3677 2022-08-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3679         * src/SDCCsymt.c,
3680           support/regression/tests/c2xkeywords.c:
3681           Fix bug #3468.
3683 2022-08-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3685         * device/include/stdbit.h,
3686           device/lib/incl.mk,
3687           device/lib/__stdc_bit_ceilull.c,
3688           device/lib/__stdc_bit_widthull.c,
3689           support/regression/tests/bitcount.c.in:
3690           Provide bit and byte utilities bit width floor and ceiling functions. Part of RFE #854.
3692 2022-08-05 Benedikt Freisen <b.freisen AT gmx.net>
3694         * device/include/stddef.h:
3695           Protect NULL macro with parentheses, fixing bug #3467.
3697 2022-08-05 Benedikt Freisen <b.freisen AT gmx.net>
3699         * doc/sdccman.lyx:
3700           Missing K&R function support is not a deviation from C2X compliance.
3702 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3704         * device/include/stdbit.h,
3705           device/include/stdint.h,
3706           device/lib/_mulint.c,
3707           device/lib/_mullong.c,
3708           device/lib/_rlulonglong.c,
3709           device/lib/_rrslonglong.c,
3710           device/lib/_rrulonglong.c,
3711           device/lib/_startup.c,
3712           device/lib/__stdc_count_onesull.c,
3713           support/regression/tests/bitcount.c.in,
3714           device/lib/_mullong.c:
3715           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.
3717 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3719         * .version,
3720           src/SDCC.y,
3721           src/SDCCerr.c,
3722           src/SDCCerr.h,
3723           src/SDCCsymt.c,
3724           support/regression/tests/bug-3462.c:
3725           Fix bug #3462.
3726         * doc/sdccman.lyx:
3727           Update manual section on standard compliance for recent improvements.
3729 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3731         * Merge parser branch to trunk.
3733 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3735         * src/SDCC.y,
3736           src/SDCCsymt.c,
3737           src/SDCCsymt.h,
3738           support/regression/tests/bug-3465.c:
3739           Basic C99 VLA type support, RFE #786, fix bug #3465.
3741 2022-08-04 Benedikt Freisen <b.freisen AT gmx.net>
3743         * support/scripts/sdcc.nsi:
3744           Correct STM8 memory model name from small to medium, fixing bug #3466.
3746 2022-08-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3748         * src/SDCC.y,
3749           src/SDCCerr.c,
3750           src/SDCCerr.h,
3751           src/SDCCmem.c,
3752           src/SDCCsymt.c,
3753           src/SDCCsymt.h:
3754           Infrastructure for VLA types.
3756 2022-08-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3758         * src/SDCC.y,
3759           src/SDCCerr.c,
3760           src/SDCCerr.h,
3761           src/SDCCsymt.c,
3762           src/SDCCval.h,
3763           C2X {} empty initializers, RFE #782.
3765 2022-08-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3767         * support/util/dbuf_string.c:
3768           Code cleanup.
3769         * src/SDCCglue.c:
3770           Fix area directive for sseg, patch by Tarn.
3772 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3774         * src/SDCC.y:
3775           Refactor handling of array declarators.
3777 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3779         * Merge parser branch to trunk.
3781 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3783         * src/SDCCerr.h,
3784           src/SDCCerr.c,
3785           src/SDCC.y:
3786           Allow more attribute arguments, warn on unknown attributes.
3788 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3790         * src/SDCC.y:
3791           Allow attributes in direct declarators. Avoiding grammar conflicts for K&R function definitions made this a bit more complex.
3793 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3795         * src/SDCC.y,
3796           src/SDCCsymt.c,
3797           src/SDCCsymt.h,
3798           support/regression/tests/bug-2664.c:
3799           Fix bug #2664.
3800         * support/valdiag/tests/bug-3009.c,
3801           support/valdiag/tests/bug-3011.c:
3802           Ignore a warning that is irrelevant for these test cases.
3804 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3806         * src/SDCC.y,
3807           src/SDCCast.c,
3808           src/SDCCsymt.c,
3809           src/SDCCsymt.h,
3810           support/regression/tests/bug-2222.c,
3811           support/regression/tests/bug-2263.c,
3812           support/regression/tests/bug-2320.c,
3813           support/regression/tests/bug-2629.c,
3814           support/regression/tests/bug-2956.c,
3815           support/regression/tests/bug-3079.c,
3816           support/regression/tests/bug-3081.c,
3817           support/regression/tests/bug-3093.c,
3818           support/regression/tests/bug-3135.c,
3819           support/regression/tests/bug-3169.c,
3820           support/regression/tests/bug-3215.c:
3821           Fix handling of pre-C2X function declarators without prototype, RFE #776.
3823 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3825         * Merge parser branch to trunk.
3827 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3829         * src/SDCC.y,
3830           src/SDCCsymt.c,
3831           support/regression/tests/auto.c,
3832           support/valdiag/tests/bug-3464.c:
3833           C2X auto, RFE #849, fix bug #3464.
3835 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3837         * src/SDCC.y,
3838           src/SDCCast.h,
3839           src/SDCCast.c,
3840           .version,
3841           support/regression/tests/typeof.c:
3842           C2X typeof, typeof_unqual, RFE #739, RFE #783.
3844 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3846         * device/include/stddef.h,
3847           src/SDCCicode.c,
3848           src/SDCCsymt.c,
3849           support/regression/tests/unreachable.c:
3850           C2X unreachable, RFE #778.
3852 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3854         * device/include/stdlib.h,
3855           device/lib/incl.mk,
3856           device/lib/memalignment.c,
3857           support/regression/tests/memalignment.c.in:
3858           C2X memalignment, RFE #856.
3860 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3862         * Merge parser branch to trunk.
3864 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3866         * src/SDCC.lex,
3867           src/SDCC.y,
3868           src/SDCCast.c,
3869           src/SDCCerr.c,
3870           src/SDCCerr.h,
3871           src/SDCCsymt.h,
3872           device/include/stddef.h,
3873           support/regression/tests/c2xkeywords.c,
3874           support/regression/tests/typeof.c:
3875           Basic C2X typeof and typeof_unqual support, part of RFE #739, RFE #783. RFE #853.
3877 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3879         * src/SDCC.lex,
3880           src/SDCC.y,
3881           src/SDCCerr.c,
3882           src/SDCCerr.h,
3883           src/SDCCsymt.c,
3884           src/SDCCsymt.h,
3885           src/SDCCval.c,
3886           src/SDCCval.h:
3887           Basic C2X nullptr support, part of RFE #853.
3889 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3891         * src/SDCC.y:
3892           Simplify grammar rules for enum.
3894 2022-07-29 Felix Salfelder <felix AT salfelder.org>
3896         * src/SDCC.y:
3897           Remove obsolete __func__ magic handling from parser.
3899 2022-07-26 Felix Salfelder <felix AT salfelder.org>
3901         * device/lib/Makefile.in, device/lib/*/Makefile.in,
3902           device/lib/incl.mk:
3903           Deduplicate CC, introduce SDAR, add Makefile rules,
3904           fix error propagation.
3906 2022-07-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3908         * device/lib/ds400/ds400rom.c:
3909           Fix use of macro for #.
3911 2022-07-22 Felix Salfelder <felix AT salfelder.org>
3913         * src/SDCC.lex:
3914           Skip "line" in lineinfo line. This fixes [r13587].
3916 2022-07-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3918         * src/SDCCast.c,
3919           support/regression/tests/bug-3401.c:
3920           Fix bug #3401.
3922 2022-07-22 Felix Salfelder <felix AT salfelder.org>
3924         * support/cpp/c-ppoutput.c:
3925           Add "line" to lineinfo lines, following the standard.
3927 2022-07-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3929         * src/SDCCglue.c,
3930           support/regression/tests/bug-3461.c:
3931           Fix third and last part of bug #3461.
3933 2022-07-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3935         * src/ds390/gen.c,
3936           src/hc08/gen.c,
3937           src/mcs51/gen.c,
3938           src/mos6502/gen.c,
3939           support/regression/tests/bug-3463.c:
3940           Fix bug #3463.
3942 2022-07-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3944         * src/pdk/gen.c,
3945           src/stm8/gen.c,
3946           src/z80/gen.c,
3947           support/regression/tests/bug-3461.c:
3948           Fix bug #3461.
3950 2022-07-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3952         * support/regression/tests/bug-3410.c.in:
3953           Disable a test for mos6502, since that port it still lacks _BitInt.
3954         * support/regression/tests/bug-3461.c:
3955           New (currently disabled) test for bug #3461.
3956         * device/lib/ds400/ds400rom.c:
3957           Remove use of #pragma sdcc_hash.
3958         * src/stm8/gen.c,
3959           src/pdk/gen.c,
3960           src/z80/gen.c:
3961           Partial fix for bug #3461.
3963 2022-07-16 Felix Salfelder <felix AT salfelder.org>
3965         * src/SDCC.{lex,y}, support/cpp/libcpp/{init,macro}.c:
3966           move __func__ elaboration entirely to sdcc.
3968 2022-07-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3970         * support/regression/tests/bug-1952.c,
3971           support/valdiag/tests/bug-1952.c:
3972           Tests for __func__.
3973         * support/regression/tests/bug-3410.c.in:
3974           Disable a test for mos65c02, since that port it still lacks _BitInt.
3976 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3978         * src/SDCCsymt.c,
3979           support/regression/tests/bug-3410.c.in:
3980           Fix bug #3410.
3981         * src/SDCCsalloc.hpp:
3982           Fix bug #3397.
3984 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3986         * src/z80/gen.c,
3987           support/regression/tests/bug-3459.c:
3988           Fix bug #3459.
3990 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3992         * src/SDCCsymt.c,
3993           support/regression/tests/bug-3456.c,
3994           support/regression/tests/bug-3459.c,
3995           support/regression/tests/bug-3460.c.in:
3996           Fix bug #3460.
3998 2022-07-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4000         * support/regression/tests/bug-3459.c:
4001           An attempt at creating a regression test for bug #3459.
4002         * src/z80/gen.c,
4003           support/regression/tests/bug-3456.c:
4004           Fix bug #3456.
4006 2022-07-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4008         * support/regression/MakeList:
4009           Exclude a test for host (since it fails when compiled with clang on FreeBSD 13.1 on aarch64).
4011 2022-07-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4013         * support/regression/MakeList:
4014           Disable tcc/110_average test for pdk, due to lack of memory on those targets.
4016 2022-06-29 Benedikt Freisen <b.freisen AT gmx.net>
4018         * device/include/float.h,
4019           src/SDCCmain.c:
4020           Provide macros for double, as requested in [feature-requests:#304].
4022 2022-06-29 Benedikt Freisen <b.freisen AT gmx.net>
4024         * device/lib/_slonglong2fs.c,
4025           device/lib/_ulonglong2fs.c,
4026           device/lib/incl.mk,
4027           doc/sdccman.lyx,
4028           support/regression/cases/Makefile.in:
4029           Implement long long to float conversion, fixing bug #3396.
4031 2022-06-28 Benedikt Freisen <b.freisen AT gmx.net>
4033         * doc/sdccman.lyx,
4034           src/SDCCargs.h,
4035           src/SDCCerr.c,
4036           src/SDCCerr.h
4037           src/SDCCmain.c:
4038           Improve command line parser flexibility and GCC compatibility.
4040 2022-06-28 Maarten Brock <sourceforge.brock AT dse.nl>
4042         * device/include/mcs51/at89c55.h,
4043           device/include/mcs51/at89x51.h,
4044           device/include/mcs51/at89x52.h,
4045           device/include/mcs51/C8051F040.h,
4046           device/include/mcs51/C8051F060.h,
4047           device/include/mcs51/mcs51reg.h,
4048           device/include/mcs51/reg764.h,
4049           device/include/mcs51/regc515c.h,
4050           device/include/mcs51/sab80515.h: fixed SBIT uses
4052 2022-06-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4054         * src/z80/gen.c,
4055           support/regression/tests/bug-3458.c.in:
4056           Fix bug #3458.
4058 2022-06-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4060         * src/SDCC.y:
4061           Fix SDCC crash on error message for duplicate default label.
4063 2022-06-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4065         * doc/sdccman.lyx,
4066           device/lib/ds390/lcd390.c,
4067           device/lib/ds390/rtc390.c,
4068           support/regression/tests/absolute.c.in,
4069           support/regression/tests/bitfields-bits1.c.in,
4070           support/regression/tests/bitfields-checks.c.in,
4071           support/regression/tests/bitfields-dead-loop.c.in,
4072           support/regression/tests/bitfields-nibbles.c.in,
4073           support/regression/tests/bug1723128.c,
4074           support/regression/tests/bug1750318.c,
4075           support/regression/tests/bug663539.c,
4076           support/regression/tests/simplefloat.c:
4077           Place __at next to identifier in declarations.
4079 2022-06-21 Maarten Brock <sourceforge.brock AT dse.nl>
4081         * src/SDCCicode.c/h (PRINTFUNC, +piCode, iCodePrint): replaced
4082           void*/iCode* with const iCode*
4083         * device/include/ds80c390.h,
4084           device/include/mcs51/at89S8252.h: use parentheses with __at
4085         * device/include/mcs51/at89c55.h,
4086           device/include/mcs51/at89x51.h,
4087           device/include/mcs51/at89x52.h,
4088           device/include/mcs51/C8051F040.h,
4089           device/include/mcs51/C8051F060.h,
4090           device/include/mcs51/mcs51reg.h,
4091           device/include/mcs51/reg764.h,
4092           device/include/mcs51/regc515c.h,
4093           device/include/mcs51/sab80515.h: use compiler.h
4094         * device/include/mcs51/at89x051.h: cosmetics
4095         * device/lib/_setjmp.c: stack is in __idata
4096         * device/lib/ds390/tinibios.c,
4097           device/lib/ds400/tinibios.c,
4098           device/lib/ser_ir.c: use parentheses with __interrupt
4099         * device/lib/ser_ir_cts_rts.c: use __bit
4100         * src/mos6502/gen.c,
4101           src/z80/gen.c: commented out some unused code to fix warnings
4102         * src/z80/peeph.def: removed rule 88 as it is a duplicate of 85a
4104 2022-06-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4106         * src/SDCC.y:
4107           Fix handling of C2X predefined constants.
4108         * device/lib/ds390/tinibios.c:
4109           Fix use of __interrupt.
4110         * support/regression/tests/compare_2_n.m4:
4111           Fix missing return type.
4113 2022-06-20 Felix Salfelder <felix AT salfelder.org>
4115         * support/regression/cases/Makefile.in:
4116           suppress implicit return type warnings in gte main functions.
4118 2022-06-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4120         * src/SDCC.y:
4121           Remove warning on label without statement, as it gives too many false positives.
4122         * support/regression/tests/rotate2.c.in:
4123           Fix missing return type.
4125 2022-06-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4127         * Merge from parser branch.
4129 2022-06-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4131         * SDCC.y,
4132           SDCCerr.h,
4133           SDCCerr.c:
4134           C2X allows labels in blocks even when not followed by a statement. Warn on C90 implicit int return type.
4136 2022-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4138         * src/SDCC.lex,
4139           src/SDCC.y,
4140           src/SDCCerr.c,
4141           src/SDCCerr.h,
4142           .version,
4143           doc/sdccman.lyx,
4144           device/include/mcs51/ser.h,
4145           device/include/mcs51/ser_ir.h,
4146           device/include/mcs51/serial.h,
4147           device/include/tinibios.h,
4148           support/regression/fwk/lib/testfwk.c,
4149           support/regression/ports/mcs51-common/T2_isr.c,
4150           support/regression/tests/bug1535242.c,
4151           support/regression/tests/critical.c,
4152           support/regression/tests/interrupt.c.in,
4153           support/regression/tests/setjmp.c,
4154           device/lib/_ser.c,
4155           device/lib/serial.c:
4156           Steps towards a parser suitable for C2X, inspired by the Jutta Degener grammar as extended by Jens Gustedt.
4158 2022-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4160         * doc/sdccman.lyx:
4161           Document standard version pragmas.
4163 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4165         * Merge from parser branch.
4167 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4169         * src/SDCC.lex,
4170           src/SDCC.y,
4171           src/SDCCerr.c,
4172           src/SDCCerr.h:
4173           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)
4174         * tests/bitintconst.c.in:
4175           Test for bug #3454.
4177 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4179         * src/SDCC.lex,
4180           src/SDCCval.c:
4181           Fix bug #3454.
4183 2022-06-15 Maarten Brock <sourceforge.brock AT dse.nl>
4185         * src/z80/peeph.def: fixed rules 79 to 82 to fix bug #3387
4186         * support/regression/tests/bug-3387.c: new, added
4188 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4190         * doc/sdccman.lyx:
4191           Fix two typos in the manual
4193 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4195         * src/SDCC.lex,
4196           src/SDCC.y,
4197           src/pic14/ralloc.c,
4198           src/pic16/ralloc.c,
4199           src/altlex.c,
4200           src/Makefile.in:
4201           Steps towards a lexer suitable for C2X, inspired by the Jutta Degener grammar as extended by Jens Gustedt.
4203 2022-06-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4205         * doc/sdccman.lyx:
4206           Improve calling convention documentation, fix bug #3412.
4208 2022-06-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4210         * src/z80/gen.c,
4211           support/regression/tests/bug-3406.c:
4212           Fix bug #3406.
4214 2022-06-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4216         * src/SDCCast.c:
4217           Add an assertion to show the underlying issue of bug #3401.
4219 2022-05-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4221         * support/regression/cases/Makefile.in:
4222           Document reasons for some failing gte tests, enable tests that failed due to bug #3402 before.
4224 2022-05-31 Felix Salfelder <felix AT salfelder.org>
4226         * support/regression/cases/Makefile.in:
4227           jump to end of gte test in wrapped exit(0) calls, enable two
4228           more, 20010116-1.c, 20070424-1.c
4230 2022-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
4232         * support/sdbinutils/include/ansidecl.h: revert to previous
4233         * support/sdbinutils/libiberty/Makefile.in: check local include
4234           files first
4236 2022-05-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
4238         * support/regression/cases/Makefile.in: replace "echo -n" with
4239           "printf" to handle hosts that don't support "-n" option
4240         * support/sdbinutils/include/ansidecl.h: disable some attributes
4241           when compiling with clang so the Mac OS snapshot will build
4243 2022-05-24 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
4245         * support/scripts/sdcc.nsi: install/deinstall more uCsim
4246           binaries with correct names
4248 2022-05-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
4250         * support/scripts/sdcc.nsi: update for hc08 simulator name change
4251         * support/regression/Makefile.in: only display first 20 failures
4252           per test file (check the .out file if you need all of them)
4254 2022-05-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4256         * support/regression/MakeList,
4257           support/regression/cases/Makefile.in:
4258           Document reasons for some failing gte tests.
4260 2022-05-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4262         * support/regression/MakeList,
4263           support/regression/cases/Makefile.in:
4264           Document reasons for some failing TinyC tests.
4266 2022-05-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4268         * support/regression/MakeList,
4269           support/regression/cases/Makefile.in:
4270           Document reasons for some failing gte tests.
4272 2022-05-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4274         * support/regression/MakeList,
4275           support/regression/cases/Makefile.in:
4276           Document reasons for failing QuickC tests (lack of memory / speed vs. SDCC bugs).
4278 2022-05-21 Felix Salfelder <felix AT salfelder.org>
4280         * support/sdbinutils/bfd/asxxxx.c:
4281           name 2 unnamed parameters to comply with c99 & al.
4283 2022-05-20 Felix Salfelder <felix AT salfelder.org>
4285         * support/sdbinutils/bfd/asxxxx.c:
4286           edit out C++ style comments.
4288 2022-05-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4290         * support/regression/MakeList:
4291           Disable a test for targets that cannot complete it within reasonable time.
4293 2022-05-19 Felix Salfelder <felix AT salfelder.org>
4295         * support/packihx/Makefile.in:
4296           packihx: fix build (MAKEDEP related).
4298 2022-05-19 Felix Salfelder <felix AT salfelder.org>
4300         * support/regression/cases/Makefile.in:
4301           avoid segv in __fail, ASSERT(0) instead.
4303 2022-05-18 Felix Salfelder <felix AT salfelder.org>
4305         * Makefile.common.in, Makefile.in,
4306           sdas/*/Makefile.in, src/Makefile.in, src/port.mk:
4307           deduplicate dependency generation and fix for ports
4309 2022-05-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4311         * support/regression/MakeList,
4312           support/regression/cases/Makefile.in:
4313           Disable a test that tests for QuickC implementation-defined behaviour.
4315 2022-05-18 Felix Salfelder <felix AT salfelder.org>
4317         * Makefile.common.in, configure, configure.ac, src/Makefile.in:
4318           C vs. C++ distinction in dependency generation.
4320 2022-05-18 Felix Salfelder <felix AT salfelder.org>
4322         * support/sdbinutils:
4323           Merge upstream GNU Binutils 2.38 (feature request #766).
4324         * support/regression/Makefile.in:
4325           clean-results rule
4327 2022-05-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4329         * support/regression/tests/setjmp.c,
4330           support/regression/tests/loop.c.in:
4331           Disable two tests for FreeBSD 13.1, since a known issue from FreeBSD 13.0 is still present.
4332         * support/regression/MakeList:
4333           Disable a test for targets that cannot complete it within reasonable time.
4334         * support/regression/tests/bug-3385.c:
4335           Disable new test for mos6502, where it fails (bug #3386).
4336         * support/regression/tests/gcc-torture-execute-20040409-?.c:
4337           Disable parts of tests that test for GCC implementation-defined behaviour.
4338         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c,
4339           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c,
4340           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_xy.c:
4341           Disable tests for clang 13 that fail there due to clang 13 TS 6010 Provenance non-compliance.
4343 2022-05-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4345         * Merge regtest branch.
4347 2022-05-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4349         * src/SDCCval.c,
4350           src/SDCCast.c:
4351           support/regression/tests/bug-3391.c:
4352           Fix bug #3391.
4354 2022-05-16 Felix Salfelder <felix AT salfelder.org>
4356         * support/regression/Makefile.in:
4357           avoid various newline compound echo arguments.
4359 2022-05-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4361         * src/z80/gen.c:
4362           Fix bug #3388.
4363         * src/SDCCsymt.c,
4364           support/valdiag/tests/bug-3389.c:
4365           device/include/float.h,
4366           support/regression/tests/bug-1805702.c:
4367           Fix bug #3389.
4369 2022-05-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4371         * support/regression/tests/bug-3385.c:
4372           Disable new test for hc08 and s08, where it fails (bug #3386).
4374 2022-05-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4376         * Merge regtest branch.
4378 2022-05-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4380         * src/stm8/peeph.def,
4381           support/regression/tests/bug-3385.c:
4382           Fix bug #3385, patch by Ryan Hartlage (ryanplusplus).
4384 2022-05-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4386         * support/regression/MakeList:
4387           Exclude tests that fail on mcs51 due to abnormal stops.
4389 2022-05-11 Felix Salfelder <felix AT salfelder.org>
4391         * support/regression/MakeList
4392           exclude queen on pdk15-stack-auto.
4394 2022-05-11 Felix Salfelder <felix AT salfelder.org>
4396         * support/regression/Makefile.in:
4397           verbosity fix.
4399 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4401         * support/valdiag/Makefile.in:
4402           adjust compact-results invocation, add Makefile rule.
4404 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4406         * support/regression/compact-results.py:
4407           simplify compact-results output.
4409 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4411         * support/regression/Makefile.in:
4412           honour EXCLUDE_PORTS in test-mcs51.
4414 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4416         * support/regression/MakeList:
4417           tcc_49_bracket_evaluation excludes on mcs51.
4419 2022-05-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4421         * src/SDCCglue.c:
4422           Fix bug #3031.
4423         * src/SDCCerr.h,
4424           src/SDCCerr.c,
4425           src/SDCCutil.c,
4426           src/SDCC.lex,
4427           support/valdiag/tests/universal.c:
4428           ISO C23 diagnostics for invalid universal character names.
4430 2022-05-02 Benedikt Freisen <b.freisen AT gmx.net>
4432         * doc/sdccman.lyx:
4433           Document language override option -x.
4435 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4437         * support/regression/Makefile.in,
4438           support/regression/ports/host/spec.mk.in:
4439           Deduplicate EMU rule: handle test-host similar to other targets, patch by Felix Salfelder (felixs).
4441 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4443         * support/regression/MakeList:
4444           Exclude a test for some pdk15-stack-auto target (due to lack of memory), patch by Felix Salfelder (felixs).
4446 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4448         * support/regression/MakeList:
4449           Exclude some tests for some mcs51 targets (due to lack of memory), patch by Felix Salfelder (felixs).
4451 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4453         * support/regression/tests/bug-1981238.c,
4454           support/regression/tests/bug-3368.c:
4455           Disable some warnings about stuff that is meant to be tested.
4457 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4459         * support/regression/MakeList:
4460           Exclude some known-failing among the new tests, patch by Felix Salfelder (felixs).
4461         * support/regression/Makefile.in,
4462           support/regression/ports/host/spec.mk.in:
4463           Work around a linker error reporting issue, patch by Felix Salfelder (felixs).
4465 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4467         * device/lib/z180/setjmp.s,
4468           device/lib/z80/setjmp.s,
4469           device/lib/z80n/setjmp.s:
4470           Fix an issue triggered by tail-call optimization on calls to longjmp.
4472 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4474         * support/regression/gte/README,
4475           support/regression/qct/README,
4476           support/regression/tcc/README:
4477           Document Licenses of imported tests, patch by Felix Salfelder (felixs).
4479 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4481         * support/regression/MakeList,
4482           support/regression/cases/Makefile.in,
4483           support/regression/tcc,
4484           support/regression/qct:
4485           Add tests from TCC, QuickC, patch by Felix Salfelder (felixs).
4487 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4489         * support/regression/cases/Makefile.in:
4490           Disable some warnings in gce tests, patch by Felix Salfelder (felixs).
4491         * support/regression/MakeList:
4492           Disable new tests for z80-undoc (where they fail), patch by Felix Salfelder (felixs).
4494 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4496         * support/regression/Makefile.in,
4497           support/regression/cases/Makefile.in,
4498           support/regression/ports/mcs51-common/spec.mk,
4499           support/regression/ports/stm8/spec.mk,
4500           support/regression/gte:
4501           GCC tests from the execute part of the torture suite. Patch by Felix Salfelder (felixs).
4502         * support/regression/gte/951204-1.c:
4503           Un-edit a GCC torture-execute test, patch by Felix Salfelder (felixs).
4505 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4507         * support/regression/Makefile.in,
4508           support/regression/ports/host/spec.mk.in:
4509           Fix out creation logic to avoid duplicates, patch by Felix Salfelder (felixs).
4511 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4513         * support/regression/tests/genericnonintrinsicnaddr.c:
4514           Use PORT_HOST, just like the other tests, instead of TEST_HOST.
4516 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4518         * support/regression/Makefile.in:
4519           Hack to silence trigraph warning in p99 test, patch by Felix Salfelder (felixs).
4521 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4523         * support/regression/Makefile.in:
4524           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).
4526 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4528         * support/regression/Makefile.in:
4529           .PRECIOUS does not play with .DELETE_ON_ERROR, use .SECONDARY instead. Patch by Felix Salfelder (felixs).
4531 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4533         * Merge implicitintrinsicnamedaddressspaces branch.
4535 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4537         * support/regression/Makefile.in:
4538           Split EXCLUDE_PORTS, add uc6502-stack-auto, patch Felix Salfelder (felixs).
4540 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4542         * support/regression/tests/genericintrinsicnaddr.c,
4543           support/regression/tests/genericnonintrinsicnaddr.c:
4544           Test _Generic on pointers into named address spaces.
4545         * src/SDCCmem.c,
4546           src/SDCCast.c:
4547           Fix a _Generic implicit intrinsic named address space issue affecting large and huge mcs51 memory model.
4549 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4551         * support/regression/MakeList,
4552           support/regression/Makefile.in,
4553           support/regression/cases/Makefile.in,
4554           support/regression/gte:
4555           Import missing gcc torture execute tests, patch by by Felix Salfelder (felixs).
4557 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4559         * Merge regtest branch.
4561 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4563         * support/regression/cases/Makefile.in:
4564           Test cases cleanup, patch by Felix Salfelder (felixs).
4566 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4568         * src/SDCCast.c,
4569           src/SDCCcse.c,
4570           src/SDCCglue.c,
4571           src/SDCCicode.c,
4572           src/SDCClospre.hpp,
4573           src/SDCCopt.c,
4574           src/SDCCsymt.c,
4575           src/SDCCsymt.h,
4576           src/ds390/ralloc.c,
4577           src/mcs51/ralloc.c,
4578           src/pic14/glue.c,
4579           src/pic14/ralloc.c,
4580           src/pic16/glue.c,
4581           src/pic16/ralloc.c,
4582           support/regression/tests/bug-3254.c,
4583           support/regression/tests/bug-3245.c:
4584           Fix bugs #3254, #3145.
4586 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4588         * src/SDCCglue.c,
4589           support/valdiag/tests/generic.c:
4590           Fix another part of bug #3145.
4592 2022-04-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4594         * src/SDCCast.c:
4595           Fix array-to-pointer decay in _Generic.
4597 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4599         * src/SDCCsymt.c,
4600           support/regression/tests/bug-2629.c:
4601           Fix bug #2629.
4603 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4605         * src/SDCCsymt.c:
4606           Assertion to catch bug #2629 earlier.
4607         * support/regression/tests/bug-2629.c:
4608           (Disabled) test for bug #2629.
4610 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4612         * src/SDCCsymt.c:
4613           Fix printing of plain char for error messages and debug output.
4615 2022-04-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4617         * doc/sdccman.lyx:
4618           Update documentation on standard compliance.
4620 2022-04-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4622         * src/stm8/gen.c,
4623           support/regression/tests/bug-3379.c:
4624           Fix bug #3379.
4626 2022-04-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4628         * support/regression/tests/bug-2981.c:
4629           Test for bug #2981.
4630         * src/SDCCast.c,
4631           support/regression/tests/bug-3255.c:
4632           Fix bug #3255.
4633         * src/SDCCglue.c,
4634           support/valdiag/tests/generic.c:
4635           Fix part of bug #3145.
4637 2022-04-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4639         * support/regression/cases/Makefile.in:
4640           Fix rm flag for cleaning MakeList.
4641         * support/regression/Makefile.in:
4642           Fix build of mcs51 regression test framework libraries, fix by Felix Salfelder (felixs).
4644 2022-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4646         * support/regression/Makefile.in,
4647           support/regression/ports/mcs51-small-stack-auto:
4648           Rename mcs51-stack-auto to mcs51-small-stack-auto for consistency with mcs51-small and mcs51-large-stack-auto.
4649         * doc/sdccman.lyx:
4650           Clarify __z88dk_callee behaviour.
4652 2022-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4654         * src/mcs51/gen.c,
4655           src/stm8/gen.c,
4656           support/regression/tests/funptrsstructreturn.c.in:
4657           Fixes for calls via function pointers to functions returning struct / union.
4659 2022-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4661         * src/SDCCicode.c,
4662           src/SDCCsymt.c,
4663           src/mcs51/gen.c,
4664           src/mcs51/main.c,
4665           support/regression/tests/structreturn.c.in,
4666           device/lib/div.c,
4667           device/lib/ldiv.c,
4668           device/lib/lldiv.c,
4669           device/lib/mcs51/Makefile.in,
4670           support/regression/tests/div.c,
4671           device/include/stdlib.h:
4672           struct / union return for mcs51.
4674 2022-04-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4676         * src/mcs51/gen.c,
4677           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
4678           support/regression/tests/gcc-torture-execute-va-arg-23.c,
4679           support/regression/tests/gcc-torture-execute-va-arg-4.c,
4680           support/regression/tests/structparam.c,
4681           support/regression/tests/structparam.c.in:
4682           struct / union parameters on the stack for mcs51.
4684 2022-04-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4686         * ChangeLog,
4687           src/SDCCicode.c,
4688           src/SDCCmem.c,
4689           support/regression/ports/mcs51-common/spec.mk,
4690           support/regression/tests/gcc-torture-execute-20040707-1.c,
4691           support/regression/tests/gcc-torture-execute-20050713-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/structparam.c:
4695           Fix bug #3377.
4697 2022-03-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4699         * src/SDCCicode.c,
4700           src/SDCCsymt.c,
4701           src/ds390/main.c,
4702           src/hc08/main.c,
4703           src/mcs51/main.c,
4704           src/mos6502/main.c,
4705           support/regression/tests/bug-3368.c,
4706           support/regression/tests/gcc-torture-execute-20050713-1.c,
4707           support/regression/tests/gcc-torture-execute-20180131-1.c,
4708           support/regression/tests/gcc-torture-execute-pr67226.c,
4709           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
4710           support/regression/tests/gcc-torture-execute-va-arg-4.c,
4711           support/regression/tests/structparam.c,
4712           support/regression/tests/gcc-torture-execute-20021118-1.c,
4713           support/regression/tests/gcc-torture-execute-20040707-1.c,
4714           support/regression/tests/gcc-torture-execute-20180131-1.c,
4715           support/regression/tests/gcc-torture-execute-pr67226.c,
4716           support/regression/tests/gcc-torture-execute-920625-1.c,
4717           support/regression/tests/gcc-torture-execute-va-arg-23.c:
4718           struct parameter support for non-reentrant functions.
4720 2022-03-29 Benedikt Freisen <b.freisen AT gmx.net>
4722         * doc/sdccman.lyx:
4723           Reference section 3.2.5 in 3.2.4, fix typo in 1.2.
4725 2022-03-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4727         * support/sdbinutils/bfd/*:
4728           Delete unused files as suggested by Felix Salfelder (felixs).
4730 2022-03-28 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4732         * device/lib/tlcs90/strlen.s:
4733           Fix regression from [r13318].
4735 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4737         * support/regression/ports/tlcs90/spec.mk:
4738           Do not emit debug info to ease reading asm files.
4739         * src/z80/ralloc2.cc:
4740           Fix code generation issues in use of iy.
4742 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4744         * support/regression/Makefile.in:
4745           Conditional MakeList include, and conditional test-port, part of patch #430 by Felix Salfelder (felixs).
4747 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4749         * support/regression/Makefile.in,
4750           support/regression/cases/Makefile.in:
4751           Silence case expansion messages by default, part of patch #430 by Felix Salfelder (felixs).
4753 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4755         * support/regression/Makefile.in,
4756           support/regression/cases/Makefile.in,
4757           support/regression/ports/host/spec.mk.in:
4758           V flag to control verbosity, decouple test-ports and print-summary. Part of patch #430 by Felix Salfelder (felixs).
4760 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4762         * support/regression/Makefile.in,
4763           support/regression/ports/*/spec.mk:
4764           Deduplicate spec.mk by using rules in Makefile.in instead. Part of patch #430 by Felix Salfelder (felixs).
4766 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4768         * support/regression/Makefile.in,
4769           support/regression/ports/host/spec.mk.in:
4770           Regression test infrastructure, picked from patch #430 by Felix Salfelder (felixs): fixes for error reporting, number of compact-results calls, CLEAN_PORTS.
4772 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4774         * src/z80/gen.c:
4775           Fix bug #3373.
4777 2022-03-28 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4779         * sim/ucsim/z80.src/gb80.cc,
4780           sim/ucsim/z80.src/gb80cl.h,
4781           sim/ucsim/z80.src/inst.cc,
4782           sim/ucsim/z80.src/inst_gb80.cc:
4783           Fix cycle accuracy.
4785 2022-03-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4787         * sdas/astlcs90/tt90.asm,
4788           sim/ucsim/tlcs.src/inst_arith.cc,
4789           sim/ucsim/tlcs.src/inst_jump.cc,
4790           sim/ucsim/tlcs.src/tlcs.cc:
4791           Improve cycle accuracy.
4793 2022-03-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4795         * sdas/astlcs90/tt90.asm:
4796           Add some test assembly.
4798 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4800         * support/regression/tests/bitintvararg.c.in:
4801           Fix host test disable condition.
4803 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4805         * support/regression/Makefile.in,
4806           support/regression/cases/Makefile.in,
4807           support/regression/cases/mkdrv.py,
4808           support/regression/ports/*/spec.mk,
4809           support/regression/ports/host/spec.mk.in:
4810           Regression test infrastructure, picked from patch #430 by Felix Salfelder (felixs).
4811         * support/regression/tests/structparam.c.in:
4812           Fix test file extension for parametrized test.
4814 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4816         * configure,
4817           configure.ac,
4818           support/regression/Makefile.in,
4819           support/regression/ports/host/spec.mk.in,
4820           support/regression/cases:
4821           Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs), made less verbose.
4825 2022-03-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4827         * device/lib/tlcs90/abs.s,
4828           device/lib/tlcs90/atomic_flag_test_and_set.s,
4829           device/lib/tlcs90/crt0.s,
4830           device/lib/tlcs90/memcpy.s,
4831           device/lib/tlcs90/memmove.s,
4832           device/lib/tlcs90/strcpy.s,
4833           device/lib/tlcs90/strlen.s:
4834           Optimize handwritten assembly.
4836 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4838         * support/regression/Makefile.in:
4839           Fix an issue in test-host regression test output, fix suggested via chat by Felix Salfelder (felixs).
4841 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4843         * support/regression/tests/bitintvararg.c.in:
4844           Disable a test for clang 11.0 host, where it fails.
4845         * device/lib/tlcs90/atomic_flag_test_and_set.s:
4846           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.
4848 2022-03-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4850         * sim/ucsim/tlcs.src/inst_arith.cc
4851           sim/ucsim/tlcs.src/inst_bit.cc
4852           sim/ucsim/tlcs.src/inst_jump.cc
4853           sim/ucsim/tlcs.src/tlcs.cc:
4854           Add partial cycle counting.
4856 2022-03-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4858         * device/include/stdatomic.h,
4859           device/lib/atomic_flag_clear.c,
4860           device/lib/tlcs90/atomic_flag_test_and_set.s:
4861           Switch to faster atomic test with shift. (8T vs 12T)
4863 2022-03-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4865         * support/regression/Makefile.in,
4866           support/regression/generate-cases.py,
4867           support/regression/tests/*.c.in:
4868           Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
4870 2022-03-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4872         * support/regression/Makefile.in:
4873           Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
4875 2022-03-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4877         * src/SDCCglobl.h,
4878           src/SDCCglue.c,
4879           src/z80/main.c,
4880           src/z80/z80.h,
4881           support/regression/ports/ucz80-undoc,
4882           support/regression/Makefile.in,
4883           src/z80/gen.c:
4884           Support for undocumented Z80 instructions.
4886 2022-03-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4888         * sdas/asz80/z80mch.c:
4889           Disable undocumented instructions for Z180.
4891 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4893         * support/regression/Makefile.in,
4894           support/regression/generate-cases.py:
4895           Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
4897 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4899         * src/SDCCast.c,
4900           src/SDCCsymt.c,
4901           support/regression/tests/widebitintbitfield.c:
4902           _BitInt promotion fix.
4903         * src/SDCCicode.c:
4904           support/regression/tests/gcc-torture-execute-920625-1.c,
4905           support/regression/tests/bug-3368.c:
4906           Fix bug #3368.
4907         * support/regression/tests/bug-3235.c:
4908           Test for a bug that was fixed a while ago.
4910 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4912         * src/SDCCast.c,
4913           support/regression/tests/bug-3372.c:
4914           Fix bug #3372.
4915         * src/SDCCsymt.c:
4916           Improve debug output for bit-fields.
4918 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4920         * sdas/as8xcxxx/ds8adr.c,
4921           sdas/as8xcxxx/ds8mch.c:
4922           Merge error messages from upstream ASxxxx 5.40.
4924 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4926         * sdas/as8xcxxx/ds8pst.c,
4927           sdas/aspdk13/pdk13pst.c,
4928           sdas/aspdk14/pdk14pst.c,
4929           sdas/aspdk15/pdk15pst.c,
4930           sdas/aspdk16/pdk16pst.c,
4931           sdas/asrab/rabpst.c,
4932           sdas/asstm8/stm8pst.c,
4933           sdas/astlcs90/t90pst.c,
4934           sdas/asz80/z80pst.c:
4935           Enable .incbin for all targets.
4937 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4939         * support/regression/tests/widebitintbitfield.c:
4940           Disable a test that had been accidentially enabled even for ports where the feature is not supported.
4942 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4944         * sdas/as8051/i51adr.c,
4945           sdas/as8051/i51mch.c,
4946           sdas/as8051/i51pst.c:
4947           Merge error messages from upstream ASxxxx 5.40.
4949 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4951         * sdas/asz80/z80.h:
4952           Fix .allow_undocumented for z80 [bugs:#3275].
4954 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4956         * sdas/asxxsrc/assubr.c:
4957           Fix detailed error messages in sdas.
4959 2022-03-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4961         * support/regression/tests/widebitintbitfield.c:
4962           Temporarily disable new failing _BitInt test.
4964 2022-03-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4966         * support/regression/tests/bitint.c,
4967           support/regression/tests/bitintarith.c,
4968           support/regression/tests/bitintbitfield.c,
4969           support/regression/tests/bitintvararg.c,
4970           support/regression/tests/widebitintbitfield.c:
4971           Enable some tests for bit-precise integers on clang 11 host.
4973 2022-03-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4975         * src/SDCCcse.c,
4976           support/regression/tests/bitint.c:
4977           Fix bug #3371.
4979 2022-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4981         * sdas/asz80/z80mch.c:
4982           Fix/add cycles of z80 and z80n.
4984 2022-03-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4986         * src/SDCCglue.c:
4987           Fix bug #3353.
4989 2022-03-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4991         * src/pdk/gen.c,
4992           support/regression/tests/bug-2368.c,
4993           support/regression/tests/bug-2770.c,
4994           support/regression/tests/bug-3231.c,
4995           support/regression/tests/bug3440327.c,
4996           support/regression/tests/cse.c,
4997           support/regression/tests/gcc-torture-execute-20021118-1.c,
4998           support/regression/tests/gcc-torture-execute-20040707-1.c,
4999           support/regression/tests/gcc-torture-execute-20050713-1.c,
5000           support/regression/tests/gcc-torture-execute-20180131-1.c,
5001           support/regression/tests/gcc-torture-execute-pr67226.c,
5002           support/regression/tests/malloc.c,
5003           support/regression/tests/memory.c,
5004           support/regression/tests/preserves_regs.c,
5005           support/regression/tests/structparam.c:
5006           struct parameters for pdk (--stack-auto only).
5008 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5010         * src/pdk/ralloc2.cc,
5011           src/stm8/ralloc2.cc,
5012           src/z80/ralloc2.cc,
5013           support/regression/tests/gcc-torture-execute-20050713-1.c,
5014           support/regression/tests/gcc-torture-execute-920625-1.c:
5015           Fix a register allocation issue affecting calls to functions with multiple struct parameters.
5017 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5019         * src/SDCC.y,
5020           src/SDCCcse.c,
5021           src/SDCCicode.c,
5022           src/SDCCicode.h,
5023           src/pdk/gen.c,
5024           src/stm8/gen.c,
5025           src/z80/gen.c,
5026           support/regression/tests/gcc-torture-execute-20021118-1.c,
5027           support/regression/tests/gcc-torture-execute-20050713-1.c,
5028           support/regression/tests/gcc-torture-execute-20180131-1.c,
5029           support/regression/tests/gcc-torture-execute-pr67226.c,
5030           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
5031           support/regression/tests/gcc-torture-execute-struct-ret-1.c,
5032           support/regression/tests/gcc-torture-execute-va-arg-23.c,
5033           support/regression/tests/gcc-torture-execute-va-arg-4.c,
5034           support/regression/tests/structparam.c:
5035           Rewrite struct parameter support to fix bug #3365.
5037 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5039         * src/SDCCast.c,
5040           support/regression/tests/gcc-torture-execute-920625-1.c,
5041           support/regression/tests/gcc-torture-execute-strct-stdarg-1.c,
5042           support/regression/tests/gcc-torture-execute-strct-varg-1.c:
5043           Basic support for struct varargs.
5044         * support/regression/tests/gcc-torture-execute-20040707-1.c,
5045           support/regression/tests/gcc-torture-execute-pr71700.c,
5046           support/regression/tests/gcc-torture-execute-struct-ini-1.c,
5047           support/regression/tests/gcc-torture-execute-va-arg-23.c,
5048           support/regression/tests/gcc-torture-execute-va-arg-4.c:
5049           Enable some GCC tests that pass due to recent improvements in struct / union support.
5050         * src/mos6502/gen.c,
5051           src/mos6502/ralloc.c,
5052           src/pdk/gen.c,
5053           src/pdk/ralloc.c,
5054           src/stm8/gen.c,
5055           src/stm8/ralloc.c,
5056           src/z80/gen.c,
5057           src/z80/ralloc.c:
5058           Remove remains of support for unused IPOP.
5059         * doc/README.txt,
5060           doc/sdccman.lyx,
5061           LICENSE:
5062           Make it a bit easier to read about the license situation.
5064 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5066         * src/mcs51/gen.c:
5067           Fix bug #3364.
5068         * support/regression/tests/bitintvararg.c:
5069           Enable test for widths, for which it passes.
5070         * support/regression/tests/gcc-torture-execute-bswap-2.c:
5071           Remove GCC test that requires int to be at least 32 bits wide.
5072         * support/regression/tests/gcc-torture-execute-20020215-1.c,
5073           support/regression/tests/gcc-torture-execute-20020810-1.c,
5074           support/regression/tests/gcc-torture-execute-20021010-2.c,
5075           support/regression/tests/gcc-torture-execute-20021118-1.c,
5076           support/regression/tests/gcc-torture-execute-20050713-1.c,
5077           support/regression/tests/gcc-torture-execute-20170401-1.c,
5078           support/regression/tests/gcc-torture-execute-20180131-1.c,
5079           support/regression/tests/gcc-torture-execute-920625-1.c,
5080           support/regression/tests/gcc-torture-execute-pr67226.c,
5081           support/regression/tests/gcc-torture-execute-restrict-1.c,
5082           support/regression/tests/gcc-torture-execute-strct-stdarg-1.c,
5083           support/regression/tests/gcc-torture-execute-strct-varg-1.c,
5084           support/regression/tests/gcc-torture-execute-struct-ret-1.c:
5085           Enable some GCC tests that pass due to recent improvements in struct / union support.
5087 2022-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5089         * device/include/stdarg.h,
5090           src/SDCCast.c,
5091           src/SDCCerr.c,
5092           src/SDCCicode.c,
5093           support/regression/tests/gcc-torture-execute-pr60017.c,
5094           support/regression/tests/bitintvararg.c:
5095           Fixes for bit-precise varargs, bug #3361.
5097 2022-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5099         * src/SDCCicode.c,
5100           src/SDCCsymt.c,
5101           src/stm8/gen.c,
5102           src/z80/gen.c,
5103           support/regression/tests/bug-3359.c,
5104           support/regression/tests/structparam.c,
5105           .version,
5106           doc/sdccman.lyx:
5107           Fix bug #3359 and implement struct / union parameters for stm8, z80 and related (and for pdk with --stack-auto), RFE #23.
5109 2022-03-16 Gabriele Gorla <gorlik@yahoo.com>
5111         * src/mos6502/gen.c:
5112           Refactor genAnd(), genOr() and genXor().
5114 2022-03-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5116         * src/z80/gen.c:
5117           Fix access before array.
5118         * support/regression/tests/gcc-torture-execute-20020206-1.c,
5119           support/regression/tests/gcc-torture-execute-20050713-1.c,
5120           support/regression/tests/gcc-torture-execute-20071210-1.c,
5121           support/regression/tests/gcc-torture-execute-20131127-1.c,
5122           support/regression/tests/gcc-torture-execute-20170401-1.c,
5123           support/regression/tests/gcc-torture-execute-20171008-1.c,
5124           support/regression/tests/gcc-torture-execute-pr60017.c,
5125           support/regression/tests/gcc-torture-execute-pr82387.c,
5126           support/regression/tests/gcc-torture-execute-pr82388.c:
5127           Update reasons why we skip some gcc tests.
5128         * device/include/uchar.h,
5129           src/SDCCval.c:
5130           In C23, u8-prefixed string literals are arrays of char8_t, a typedef for unsigned char. RFE #779.
5132 2022-03-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5134         * support/regression/Makefile.in,
5135           support/regression/ports/ds390/spec.mk,
5136           support/regression/ports/ez80-z80/spec.mk,
5137           support/regression/ports/mcs51-common/spec.mk,
5138           support/regression/ports/pdk13/spec.mk,
5139           support/regression/ports/pdk15/spec.mk,
5140           support/regression/ports/pdk15-stack-auto/spec.mk,
5141           support/regression/ports/stm8/spec.mk,
5142           support/regression/ports/ucz180/spec.mk,
5143           support/regression/ports/ucz180-resiy/spec.mk,
5144           support/regression/ports/ucz80-nmos/spec.mk,
5145           support/regression/ports/ucz80n/spec.mk:
5146           Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
5148 2022-03-15 Gabriele Gorla <gorlik@yahoo.com>
5150         * support/regression/tests/div.c,
5151           device/lib/s08/Makefile.in,
5152           device/lib/hc08/Makefile.in,
5153           device/lib/mos6502/Makefile.in,
5154           device/lib/mos65c02/Makefile.in,
5155           device/lib/mos6502-stack-auto/Makefinle.in:
5156           Enable div and ldviv for mos6502 and hc08/s08 ports.
5157         * src/mos6502/gen.c,
5158           src/mos6502/main.c:
5159           Add support for GETBYTE and GETWORD iCodes.
5161 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5163         * src/pdk/gen.c,
5164           device/lib/lldiv.c:
5165           Fix pdk heap corruption on returning large struct.
5166         * src/stm8/gen.c:
5167           Fixes for large struct return.
5169 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5171         * device/lib/div.c,
5172           device/lib/ldiv.c,
5173           device/lib/lldiv.c,
5174           support/regression/tests/div.c,
5175           device/lib/Makefile.in,
5176           device/lib/*/Makefile.in:
5177           Division functions, RFE #167.
5179 2022-03-15 Benedikt Freisen <b.freisen AT gmx.net>
5181         * device/include/gcc_attr.h:
5182           Compatibility macros for GCC attribute syntax.
5184 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5186         * src/SDCCsymt.c,
5187           support/regression/tests/structreturn.c:
5188           Enable struct / union return for hc08, s08, mos6502, ds390.
5189         * device/include/stdlib.h:
5190           Provide prototypes for division functions.
5192 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5194         * src/pdk/gen.c,
5195           src/z80/gen.c,
5196           src/SDCCsymt.c,
5197           doc/sdccman.lyx,
5198           support/regression/tests/structreturn.c:
5199           struct / union return support for pdk and z80 and related.
5201 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5203         * src/SDCCcse.c,
5204           src/SDCCicode.c,
5205           src/SDCCicode.h,
5206           src/SDCClrange.c,
5207           src/SDCCopt.c,
5208           src/SDCCsymt.c,
5209           src/ds390/ralloc.c,
5210           src/mcs51/ralloc.c,
5211           src/pic14/glue.c,
5212           src/pic14/ralloc.c,
5213           src/pic16/glue.c,
5214           src/pic16/ralloc.c,
5215           src/stm8/gen.c,
5216           src/z80/ralloc.c:
5217           struct / union return support for stm8.
5219 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5221         * device/include/assert.h:
5222           Improve test for assert C23-compliance.
5224 2022-03-15 Gabriele Gorla <gorlik@yahoo.com>
5226         * src/mos6502/gen.c:
5227           genPlusInc(), genMinusDec() and genlshTwo() improvements.
5229 2022-03-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5231         * src/z80/main.c,
5232           src/z80/gen.c:
5233           Enable _BitInt for sm83 up to 64 bits.
5234         * device/include/assert.h,
5235           support/regression/tests/assert.c:
5236           C23-compliant assert, RFE #780.
5238 2022-03-14 Gabriele Gorla <gorlik@yahoo.com>
5240         * support/regression/tests/gcc-torture-execute-20021120-1.c:
5241           Make stack-auto exception only for mos6502 port. Enable test for S08 and HC08.
5243 2022-03-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5245         * support/regression/tests/bitintarith.c:
5246           Disable part of test for pdk14 to not run out of code memory.
5247         * src/z80/gen.c,
5248           support/regression/tests/bitintbitfield.c,
5249           support/regression/tests/widebitintbitfield.c:
5250           Fix write to wide bit-field on z80.
5252 2022-03-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5254         * src/SDCCval.c:
5255           Use unsigned long long to represent bit-field values at compile time.
5256         * src/mcs51/main.c:
5257           Enable _BitInt for mcs51.
5258         * support/regression/tests/bitintarith.c,
5259           support/regression/tests/bug-3355.c:
5260           Test for bug #3355 (disabled for now).
5261         * src/ds390/main.c,
5262           src/ds390/gen.c:
5263           _BitInt for ds390.
5264         * src/z80/gen.c,
5265           support/regression/tests/bitintarith.c:
5266           Fix a z80 _BitInt decrement issue.
5268 2022-03-14 Gabriele Gorla <gorlik@yahoo.com>
5270         * src/mos6502/gen.c:
5271           Make regInfoStr display SP relative values when appropriate.
5272           Additional improvements to genAddrOf().
5274 2022-03-13 Gabriele Gorla <gorlik@yahoo.com>
5276         * support/regression/tests/gcc-torture-execute-20021120-1.c:
5277           Make large local allocation static when compiling with --stack-auto.
5279 2022-03-13 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5281         * sdas/as6500/r65pst.c,
5282           sdas/as6808/m08pst.c,
5283           sdas/as8051/i51pst.c,
5284           sdas/as8xcxxx/ds8pst.c,
5285           sdas/aspdk13/pdk13pst.c,
5286           sdas/aspdk14/pdk14pst.c,
5287           sdas/aspdk15/pdk15pst.c,
5288           sdas/aspdk16/pdk16pst.c,
5289           sdas/asrab/rabpst.c,
5290           sdas/asstm8/stm8pst.c,
5291           sdas/astlcs90/t90pst.c,
5292           sdas/asz80/z80pst.c:
5293           Enable new mnemonics on all ports.
5295 2022-03-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5297         * support/regression/tests/bitintarith.c,
5298           src/pdk/main.c:
5299           Disable a test that failed on pdk15 for wide _BitInt due to lack of memory, reenable 64-_BitInt support for pdk.
5301 2022-03-12 Gabriele Gorla <gorlik@yahoo.com>
5303         * src/mod6502/gen.c:
5304           Small genCast() improvements.
5306 2022-03-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5308         * src/z80/peeph.def:
5309           Eliminate nop jps.
5311 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5313         * src/pdk/main.c:
5314           Limit _BitInt size to 16 for pdk (temporarily, until an issue is fixed).
5315         * src/pdk/main.c:
5316           Fix handling of parameters of odd size > 2.
5318 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5320         * Merge _BitInt branch.
5322 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5324         * src/mcs51/gen.c:
5325           Basic _BitInt support for mcs51.
5327 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5329         * src/pdk/gen.c,
5330           src/stm8/gen.c,
5331           src/z80/gen.c,
5332           support/regression/tests/bitint.c,
5333           support/regression/tests/widebitintbitfield.c:
5334           Fix cast from signed integer type to wider unsigned bit-precise type.
5336 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5338         * Merge _BitInt branch.
5340 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5342         * src/SDCCsymt.c,
5343           src/SDCCval.c,
5344           src/z80/gen.c:
5345           support/regression/tests/widebitintbitfield.c:
5346           Fixes for bit-precise bit-fields.
5348 2022-03-11 Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu>
5350         * src/pdk/gen.c:
5351           Fix compile by gcc 9.4.0: label must be on statement
5353 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5355         * src/SDCCglue.c,
5356           src/SDCCsymt.c,
5357           src/SDCCval.c,
5358           support/regression/tests/bitint.c,
5359           support/regression/tests/bitintbitfield.c:
5360           Fix issues in casts between bitprecise types of different sign.
5362 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5364         * src/ds390/main.c,
5365           src/hc08/main.c,
5366           src/mcs51/main.c,
5367           src/pic14/main.c,
5368           src/pic16/main.c:
5369           Explicitly state _BitInt non-support.
5371 2022-03-10 Gabriele Gorla <gorlik@yahoo.com>
5373         * src/SDCCglue.c:
5374           Make assembly comments more consistent.
5375         * src/mos6502/main.c,
5376           src/mos6502/ralloc2.cc:
5377           Refactor to make files more similar to stm8 port.
5379 2022-03-10 Benedikt Freisen <b.freisen AT gmx.net>
5381         * doc/sdccman.lyx:
5382           Clarify --std-cxx and --std-sdccxx.
5384 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5386         * Merge _BitInt branch.
5388 2022-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5390         * src/SDCCpeeph.c:
5391           Calculate size of general ASxxx directives, apply [patches:428].
5393 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5395         * src/SDCCmain.c
5396           src/pdk/gen.c
5397           src/pdk/main.c
5398           src/pdk/peep.c
5399           Support for bit-precise integer types on pdk.
5400         * src/stm8/gen.c,
5401           src/stm8/main.c,
5402           src/z80/gen.c,
5403           support/regression/tests/bitintarith.c:
5404           Fix left shift of bit-precise integer types.
5406 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5408         * src/z80/gen.c,
5409           src/z80/main.c:
5410           Support for bit-precise integer types on sm83 up to a width of 16.
5412 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5414         * Merge _BitInt branch.
5416 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5418         * doc/sdccman.lyx,
5419           src/z80/gen.c,
5420           src/z80/main.c,
5421           support/regression/tests/bitint.c:
5422           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).
5424 2022-03-09 Gabriele Gorla <gorlik@yahoo.com>
5426         * src/mos6502/gen.c,
5427           src/mos6502/main.c,
5428           src/mos6502/ralloc.h:
5429           Avoid marking the accumulator dirty after a compare operation.
5431 2022-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5433         * sdas/asxxsrc/asmain.c,
5434           sdas/asxxsrc/asxxxx.h:
5435           Merge all kinds of .if directives from upstream ASxxxx.
5436         * sdas/asgb/gbpst.c:
5437           Enable in sm83 for testing.
5439 2022-03-09 Gabriele Gorla <gorlik@yahoo.com>
5441         * src/mos6502/peeph.def:
5442           Add rules for redundant stores after loads.
5443         * device/lib/mos6502/crt0.s:
5444           Use ZP for memcpy and memset parameters.
5446 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5448         * Merge _BitInt branch.
5450 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5452         * src/SDCCsymt.c,
5453           support/regression/tests/bitintbitfield.c:
5454           Fix signed bit-precise bit-fields.
5456 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5458         * src/SDCCopt.c,
5459           src/SDCCsymt.h,
5460           src/SDCCval.c,
5461           src/stm8/gen.c,
5462           support/regression/tests/bitint.c,
5463           support/regression/tests/bitintarith.c:
5464           Multiplicative operators for bit-precise integers.
5466 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5468         * src/SDCCopt.c,
5469           src/stm8/main.c:
5470           Improve diagnostics for unimplemented bit-precise operators.
5472 2022-03-09 Gabriele Gorla <gorlik@yahoo.com>
5474         * src/mos6502/gen.c:
5475           Fix corner cases in genPointerSet() and genPointerGet().
5477 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5479         * src/SDCCast.c,
5480           src/SDCCval.c,
5481           support/regression/tests/bitint.c,
5482           support/regression/tests/bitintarith.c,
5483           src/stm8/gen.c:
5484           Various _BitInt fixes.
5486 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5488         * src/SDCCast.c,
5489           src/SDCCsymt.c,
5490           src/SDCCval.c:
5491           Fix casts for bit-precise types.
5492         * src/stm8/gen.c:
5493           Fix return of types with odd size greater than 4.
5494         * support/regression/tests/bitint.c,
5495           support/regression/tests/bitintarith.c:
5496           Somethings already work for _BitInt, so we can test them!
5498 2022-03-09 Maarten Brock <sourceforge.brock AT dse.nl>
5500         * doc/sdccman.lyx: fixed bug #3343
5502 2022-03-08 Gabriele Gorla <gorlik@yahoo.com>
5504         * src/mos6502/peeph.def:
5505           Minor peephole optimizations.
5506         * src/mos6502/gen.c:
5507           Special case 16b left and 8bit right in genPlus and genMinus.
5509 2022-03-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5511         * sdas/as8xcxxx/ds8mch.c,
5512           sdas/asxxsrc/asxxxx.h:
5513           Fix ASxxxx warnings by merging with upstream for [bugs:#3347].
5515 2022-03-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5517         * src/SDCC.lex,
5518           src/SDCCerr.c,
5519           src/SDCCerr.h,
5520           src/SDCCsymt.c,
5521           src/SDCCval.c,
5522           src/stm8/main.c,
5523           src/SDCCglue.c,
5524           src/SDCCast.c,
5525           src/SDCCsymt.h,
5526           src/stm8/gen.c:
5527           Infrastructure for bit-precise integer literals.
5529 2022-03-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5531         * device/include/limits.h,
5532           src/SDCC.lex,
5533           src/SDCC.y,
5534           src/SDCCerr.c,
5535           src/SDCCerr.h,
5536           src/SDCCmain.c,
5537           src/SDCCsymt.c,
5538           src/SDCCsymt.h,
5539           src/SDCCval.c,
5540           src/port.h:
5541           Infrastructure for bit-precise integers.
5543 2022-03-08 Philipp Klaus Krause <pkk AT spth.de>
5545         * .version:
5546           Start post-4.2.0 development.
5548 2022-03-08 Philipp Klaus Krause <pkk AT spth.de>
5550         * Merge sdcc-next branch to trunk.
5552 2022-03-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5554         * src/z80/peep.c:
5555           Make it compile again.
5557 2022-03-07 Gabriele Gorla <gorlik@yahoo.com>
5559         * support/regression/tests/bug3475630.c,
5560           support/regression/tests/bug2094505.c:
5561           Adjust tests parameters for stack-auto.
5562         * src/mos6502/gen.c,
5563           src/mos6502/main.c,
5564           src/mos6502/ralloc2.cc:
5565           Use DPTR instead of YX for indexed addressing.
5567 2022-03-07 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5569         * src/z80/peep.c:
5570           Accept more z80, sm83 and z80n mnemonics for size counting [bugs:#3330].
5572 2022-03-07 Gabriele Gorla <gorlik@yahoo.com>
5574         * src/mos6502/gen.c:
5575           Clear temp register literal values after a label.
5576         * src/mos6502/gen.c,
5577           src/mos6502/ralloc2.cc:
5578           Add codegen for rotate.
5580 2022-03-07 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5582         * sim/ucsim/z80.src/inst_gb80.cc:
5583           Add `ld (c), a`.
5584           support/regression/ports/ucgbz80/support.c,
5585           support/regression/ports/ucgbz80/uCsim.cmd:
5586           Reduce size of __put.
5588 2022-03-07 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5590         * sim/ucsim/z80.src/gb80.cc,
5591           sim/ucsim/z80.src/inst_cb.cc,
5592           sim/ucsim/z80.src/inst_gb80.cc:
5593           Improve cycle counting.
5595 2022-03-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5597         * sim/ucsim/z80.src/gb80.cc,
5598           sim/ucsim/z80.src/z80mac.h:
5599           Fix bug #3340 (`pop af` and `and`).
5601 2022-03-06 Gabriele Gorla <gorlik@yahoo.com>
5603         * src/mos6502/ralloc.c,
5604           src/mos6502/ralloc.h,
5605           src/mos6502/ralloc2.cc:
5606           Prepare for new spillt allocator.
5608 2022-03-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5610         * src/z80/peeph.def:
5611           Remove rlca when sub already sets carry.
5613 2022-03-05 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5615         * src/SDCCgen.c:
5616           Improve labels in inline assembly and fix bug #2831.
5617           Patch based on patch by Tom Li.
5618         * device/lib/_memmove.c,
5619           device/lib/sm83/crt0.s,
5620           device/lib/sm83/memcpy.s,
5621           src/z80/gen.c,
5622           src/z80/main.c,
5623           src/z80/peep.c:
5624           Add missing copyright notices.
5626 2022-03-05 Gabriele Gorla <gorlik@yahoo.com>
5628         * src/mos6502/gen.c:
5629           Improve debug output.
5631 2022-03-04 Gabriele Gorla <gorlik@yahoo.com>
5633         * src/mos6502/gen.c,
5634           src/mos6502/gen.h:
5635           Change asmop.type to enum.
5636         * src/mos6502/gen.c:
5637           Remove unused "result" parameter from aopOp().
5638         * src/mos6502/gen.c:
5639           Allow AX in genCpl().
5640         * src/mos6502/gen.c:
5641           Remove unused parameters in freeAsmop().
5642         * src/mos6502/main.c,
5643           src/mos6502/main.h:
5644           Removed unnecessary main.h
5646 2022-03-03 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5648         * device/lib/sm83/memcpy.s:
5649           Replace redundancy with macros.
5651 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5653         * src/z80/peeph.def:
5654           Disable rule that pessimized some ports.
5656 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5658         * src/z80/main.c:
5659           Add -bo and -ba for z80, apply patch #399.
5661 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5663         * device/lib/sm83/mul.s:
5664           Speed up multiplication algorithm.
5666 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5668         * device/lib/_memset.c,
5669           device/lib/sm83/abs.s,
5670           device/lib/sm83/crt0.s,
5671           device/lib/sm83/memcpy.s,
5672           device/lib/sm83/setjmp.s:
5673           Improve sm83 assembly.
5675 2022-03-01 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5677         * sdas/asxxsrc/asdata.c,
5678           sdas/asxxsrc/asmain.c,
5679           sdas/asxxsrc/asxxxx.h:
5680           Add -h and hidden -t flags.
5681         * sdas/asgb/gbadr.c,
5682           sdas/asgb/gb.h:
5683           Reduce customizations.
5685 2022-03-01 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5687         * src/z80/peeph.def:
5688           Improve stdlib code through peephole rules.
5690 2022-02-28 Gabriele Gorla <gorlik@yahoo.com>
5692         * src/mos6502/gen.c:
5693           Refactor storeRegToAop()
5695 2022-02-28 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5697         * sdas/asz80/z80adr.c,
5698           sdas/asz80/z80mch.c:
5699           Merge error messages from upstream ASxxxx 5.40.
5700           Add a few for extensions/custom ports. Part 2.
5702 2022-02-27 Gabriele Gorla <gorlik@yahoo.com>
5704         * src/mos6502/ralloc.c,
5705           src/mos6502/gen.c:
5706           Remove freeAllRegs()
5707         * src/mos6502/gen.c:
5708           Fix corner cases in assignResultValue() and genPointerSet()
5709         * support/regression/ports/mos6502/spec.mk
5710           Removed redundant --out-fmt-ihx command line option
5711         * device/lib/mos6502/_strcpy.s,
5712           device/lib/mos6502/_strcmp.s,
5713           device/lib/mos6502/_mullong.s,
5714           device/lib/mos6502/_mulint.s,
5715           device/lib/mos6502/_divuint.s,
5716           device/lib/mos6502/_divulong.s,
5717           device/lib/mos6502/__memcpy.s:
5718           Move function parameters to overlay segment.
5719         * device/lib/mos6502/_divsint.s,
5720           device/lib/mos6502/_divslong.s,
5721           device/lib/mos6502/_modsint.s,
5722           device/lib/mos6502/_modslong.s,
5723           device/lib/mos6502/_moduint.s,
5724           device/lib/mos6502/_modulong.s,
5725           device/lib/mos6502/_mulschar.s,
5726           device/lib/mos6502/_muluchar.s,
5727           device/lib/mos6502/abs.c:
5728           Add assembly implementation of divs, mod, mulchar and abs.
5729         * src/mos6502/gen.c:
5730           Add m6502_unimplemented()
5731         * src/mos6502/gen.c:
5732           Refactopr genCpl() and genPointerSet()
5734 2022-02-26 Gabriele Gorla <gorlik@yahoo.com>
5736         * sdas/asxxsrc/aslist.c:
5737           Revert changes in slew() which caused regression failures on z80 ports.
5738         * src/mos6502/ralloc.c:
5739           Remove dead code from old ralloc.
5741 2022-02-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5743         * sdas/asgb/gbmch.c:
5744           Add cycle table from upstream.
5746 2022-02-26 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5748         * src/SDCCsymt.c,
5749           support/regression/tests/bug-3332.c:
5750           Fix bugs #3332 and #3333.
5752 2022-02-24 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5754         * doc/sdccman.lyx:
5755           Improve calling convention documentation.
5757 2022-02-24 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5759         * doc/sdccman.lyx:
5760           Fix a minor documentation issue.
5762 2022-02-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5764         * src/z80/peeph.def:
5765           Remove ldi/ldh rules.
5766         * src/z80/peeph-sm83.def:
5767           Add ldi/ldh rules.
5769 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5771         * sdas/asxxsrc/asxxxx.h,
5772           sdas/asxxsrc/asmain.c,
5773           sdas/as6500/r65pst.c:
5774           Add .error and .message directives.
5775         * sdas/asxxsrc/assubr.c,
5776           sdas/asxxsrc/aslex.c,
5777           sdas/asxxsrc/asexpr.c:
5778           More updates from upstream asxxxx 5.40
5780 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5782         * sdas/asxxsrc/asxxxx.h,
5783           sdas/asxxsrc/asmain.c,
5784           sdas/asxxsrc/asexpr.c,
5785           sdas/asxxsrc/asdata.c:
5786           Enable -v option (out of range errors) from upstream asxxxx 5.40.
5787         * sdas/asxxsrc/assubr.c,
5788           sdas/asxxsrc/asout.c,
5789           sdas/asxxsrc/asmcro.c,
5790           sdas/asxxsrc/aslex.c:
5791           Change protoypes to ANSI C. Add some detailed error messages.
5792         * sdas/asxxsrc/assym.c:
5793           Make area name comparisons case insensitive.
5795 2022-02-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5797         * sdas/asgb/gbadr.c,
5798           sdas/asgb/gbmch.c,
5799           sdas/asrab/rabadr.c,
5800           sdas/asrab/rabmch.c:
5801           Merge error messages from upstream ASxxxx 5.40.
5802           Add a few for extensions/custom ports.
5804 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5806         * src/SDCC.lex,
5807           src/mos6502/main.c:
5808           Add __zp keyword to the mos6502 port.
5809         * src/SDCCmain.c,
5810           src/mos6502/main.c,
5811           device/lib/mos6502/crt0.s,
5812           device/lib/mos6502/_strcpy.s,
5813           device/lib/mos6502/_strcmp.s,
5814           device/lib/mos6502/_setjmp.c,
5815           device/lib/mos6502/_mullong.s,
5816           device/lib/mos6502/_mulint.s,
5817           device/lib/mos6502/_divulong.s,
5818           device/lib/mos6502/_divuint.s,
5819           device/lib/mos6502/__memcpy.s,
5820           device/lib/mos6502-stack-auto/crt0.s,
5821           device/lib/mos6502-stack-auto/_setjmp.c:
5822           Rename linker segments.
5823         * src/mos6502/gen.h:
5824           Remove unused anonymous enum.
5825         * sdas/as6500/r65pst.c:
5826           Prepeare for additional asxxxx upstream merge.
5828 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5830         * sdas/asxxsrc/asxxxx.h,
5831           sdas/asxxsrc/assym.c,
5832           sdas/asxxsrc/assubr.c,
5833           sdas/asxxsrc/asmcro.c,
5834           sdas/asxxsrc/asmain.c,
5835           sdas/asxxsrc/aslist.c,
5836           sdas/asxxsrc/aslex.c,
5837           sdas/asxxsrc/asexpr.c,
5838           sdas/asxxsrc/asdata.c:
5839           Several updates from upstream asxxxx 5.40
5840         * sdas/aasz80/z80pst.c:
5841           Use I_CODE in S_INCL entry instead of 0.
5842         * sdas/as6500/r65pst.c,
5843           sdas/as6500/r65mch.c,
5844           sdas/as6500/r65adr.c,
5845           sdas/as6500/r6500.h:
5846           Add .incbin, .define, .undefine, .ifdef and .ifndef to the 6502 assembler.
5847         * sdas/as6808/m6808.h,
5848           sdas/as6808/m08pst.c,
5849           sdas/as6808/m08mch.c,
5850           sdas/as6808/m08adr.c:
5851           Add .incbin hc08/s08 assembler.
5852         * sdas/asstm8/stm8pst.c:
5853           Use I_CODE in S_INCL entry instead of 0.
5855 2022-02-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5857         * src/z80/peeph.def:
5858           Add new rules to improve library code.
5860 2022-02-21 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5862         * src/z80/gen.c:
5863           Fix bug #3327.
5865 2022-02-20 Gabriele Gorla <gorlik@yahoo.com>
5867         * src/mos6502/gen.c:
5868           Improve genCpl.
5870 2022-02-20 Gabriele Gorla <gorlik@yahoo.com>
5872         * support/regression/tests/bp.c,
5873           support/regression/tests/bug-2253.c,
5874           support/regression/tests/bug-3003.c:
5875           Special case __SDCC_STACK_AUTO
5877 2022-02-20 Gabriele Gorla <gorlik@yahoo.com>
5879         * src/mos6502/gen.c:
5880           Improve genPointerSet. Make comments formatting more consistent.
5881         * support/regression/Makefile.in,
5882           support/regression/ports/uc6502-stack-auto/spec.mk,
5883           support/regression/ports/uc6502-stack-auto/support.c,
5884           support/regression/ports/uc6502-stack-auto/uCsim.cmd,
5885           support/regression/ports/uc6502-stack-auto:
5886           Add regression for mos6502-stack-auto target.
5888 2022-02-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5890         * src/z80/gen.c:
5891           Improve stack cleaning before jp (hl) on sm83.
5893 2022-02-19 Gabriele Gorla <gorlik@yahoo.com>
5895         * src/mos6502/gen.c:
5896           Replace assembly with generic code in a few places.
5898 2022-02-19 Gabriele Gorla <gorlik@yahoo.com>
5900         * device/lib/mos6502/Makefile.in,
5901           device/lib/mos6502/__sdcc_indirect_jsr.s,
5902           device/lib/mos6502-stack-auto/Makefile.in,
5903           device/lib/mos6502-stack-auto/__sdcc_indirect_jsr.s,
5904           src/mos6502/gen.c:
5905           Add runtime support for indirect jsr.
5906         * src/mos6502/peeph.def:
5907           Refactored rules and improved asm inline comments.
5908         * src/mos6502/gen.c:
5909           Changed return type for smallAdjustReg().
5911 2022-02-19 Gabriele Gorla <gorlik@yahoo.com>
5913         * sdcc/devicel/lib/mos6502/crt0.s:
5914           Remove incorrect loading of the second memset parameter.
5915         * support/regression/ports/u6502/spec.mk:
5916           Remove redundant --out-fmt-ihx parameter.
5917         * device/lib/mos6502-stack-auto/Makefile.in,
5918           device/lib/mos6502-stack-auto/crt0.s,
5919           device/lib/mos6502-stack-auto/atomic_flasg_test_and_set.c,
5920           device/lib/mos6502-stack-auto/_setjmp.c,
5921           device/lib/mos6502-stack-auto/_rrulonglong.c,
5922           device/lib/mos6502-stack-auto/_rrslonglong.c,
5923           device/lib/mos6502-stack-auto/_ret.c,
5924           device/lib/mos6502-stack-auto/,
5925           device/lib/Makefile.in,
5926           device/lib/clean.mk,
5927           sdcc/configure.ac,
5928           sdcc/configure.ac:
5929           Add mos6502 stack auto target.
5930         * src/mos6502/main.c:
5931           Correct flags affected by cld.
5933 2022-02-19 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5935         * device/lib/sm83/memcpy.s,
5936           device/lib/_memset.c:
5937           Switch to GBDK-2020's algorithm with partial loop unrolling.
5938         * device/lib/_memmove.c:
5939           On sm83 call memcpy where possible.
5941 2022-02-19 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5943         * src/SDCCast.c:
5944           Fix an issue in the fix for bug #3320.
5946 2022-02-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5948         * src/z80/gen.c:
5949           Fix bug #3322.
5950         * support/regression/tests/bug-3320.c:
5951           Test for bug #3320.
5953 2022-02-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
5955         * src/SDCCast.c (gatherImplicitVariables): fix bug #3320
5957 2022-02-16 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5959         * device/lib/isspace.c,
5960           device/lib/isxdigit.c:
5961           Check high and low byte separately for some targets, also sort compares by frequency and int value.
5962         * device/lib/sm83/memcpy.s,
5963           device/lib/_memset.c,
5964           device/lib/gets.c:
5965           Optimize sm83 assembly.
5967 2022-02-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5969         * support/regression/tests/bug-3322.c:
5970           Test for bug #3322.
5972 2022-02-14 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5974         * .version,
5975           doc/INSTALL.txt,
5976           sdcc.spec:
5977           Preparations for 4.2.0.
5979 2022-02-14 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5981         * support/regression/tests/bug-3289.c:
5982           Test for recently-fixed bug #3289.
5984 2022-02-13 Gabriele Gorla <gorlik@yahoo.com>
5986         * src/mos6502/gen.c:
5987           Avoid generating illegal 6502 instructions in a few corner cases.
5989 2022-02-13 Gabriele Gorla <gorlik@yahoo.com>
5991         * src/mos6502/gen.c,
5992           src/SDCCglue.c:
5993           Removed hack that assigned function pointers entry address-1.
5994         * src/mos6502/main.c:
5995           Changed default output to ihx.
5997 2022-02-12 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5999         * support/valdiag/Makefile.in:
6000           Skip not-built-by-default 65c02 port in valdiag testing.
6002 2022-02-10 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6004         * device/lib/pdk14/__setjmp.s:
6005           Fix typo (bug #3318).
6007 2022-02-10 Gabriele Gorla <gorlik@yahoo.com>
6009         * src/mos6502/gen.c,
6010           src/mos6502/ralloc.c:
6011           Fix all warnings.
6013 2022-02-10 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6015         * device/lib/pdk*/__gptrget.s,
6016           device/lib/pdk*/__gptrget2.s,
6017           device/lib/pdk*/__setjmp.s:
6018           Get rid of some warnings by changing old-style pdk io assembler to new style.
6019         * tests/bug-2912.c,
6020           tests/bug-3102.c:
6021           Disable warning about intentionally unused parameter in test.
6022         * sdccconf_in.h:
6023           Regenerate file via autoheader, fixes bug #3316.
6025 2022-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
6027         * src/SDCCsymt.c (leaveBlockScope): fix bug #3289
6029 2022-02-09 Gabriele Gorla <gorlik@yahoo.com>
6031         * src/mos6502/gen.c:
6032           General code cleanup.
6033         * src/SDCCpeeph.c:
6034           Fix bug 3291.
6036 2022-02-09 Gabriele Gorla <gorlik@yahoo.com>
6038         * src/mos6502/gen.c:
6039           Additional improvements in genPointerGet/genPointerSet.
6041 2022-02-08 Gabriele Gorla <gorlik@yahoo.com>
6043         * src/mos6502/gen.c:
6044           Fix corner cases in genPointerSet.
6045         * src/mos6502/gen.c:
6046           Add peephole rules to remove redundnat php/plp.
6048 2022-02-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6050         * device/include/mcs51/p89lpc9321.h,
6051           device/include/mcs51/p89lpc9331.h,
6052           device/include/mcs51/p89lpc9351.h:
6053           Switch from Windows 1252 to UTF-8.
6054         * sdas/as6500/r65pst.c,
6055           support/regression/tests/bitfields-dead-loop.c,
6056           support/regression/tests/bitfields-bits1.c,
6057           support/regression/tests/bitfields-checks.c,
6058           support/sdbinutils/binutils/bfdtest2.c,
6059           device/include/mcs51/w7100.h,
6060           device/include/mcs51/at89c51id2.h:
6061           Switch from mixed CRLF/LF to LF.
6063 2022-02-08 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6065         * configure,
6066           configure.ac:
6067           Fix alignment of 6502 and 65c02 port in configure output.
6069 2022-02-08 Gabriele Gorla <gorlik@yahoo.com>
6071         * src/mos6502/gen.c:
6072           Load literal constant instead of temp reg when possible.
6074 2022-02-07 Gabriele Gorla <gorlik@yahoo.com>
6076         * src/mos6502/gen.c:
6077           Workaround bug-3129 failures when optimizing for size.
6079 2022-02-07 Gabriele Gorla <gorlik@yahoo.com>
6081         * src/mos6502/gen.c:
6082           Additional improvements to genPointerGet and genPointerSet.
6084 2022-02-06 Gabriele Gorla <gorlik@yahoo.com>
6086         * src/mos6502/gen.c:
6087           Improve genPointerGet.
6089 2022-02-06 Gabriele Gorla <gorlik@yahoo.com>
6091         * src/hc08/gen.c:
6092           Removed useless offset increment.
6093         * src/mos6502/gen.c:
6094           Track temp reg literal values across store/load.
6096 2022-02-06 Gabriele Gorla <gorlik@yahoo.com>
6098         * src/mos6502/gen.c:
6099           Fixed a few corner cases in genPointerGet/genPointerSet.
6101 2022-02-06 Benedikt Freisen <b.freisen AT gmx.net>
6103         * support/scripts/sdcc.nsi:
6104           Add missing Delete and RMDir entries.
6106 2022-02-05 Gabriele Gorla <gorlik@yahoo.com>
6108         * src/mos6502/gen.c:
6109           Changed regalloc_dry_run_cost_cycles to float.
6110         * src/mos6502/ralloc.c,
6111           src/mos6502/ralloc.h,
6112           src/mos6502/ralloc2.cc:
6113           Initial merge of stm8 and pdk improvements to the register allocator.
6115 2022-02-04 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6117         * support/scripts/sdcc.nsi:
6118           (Un)install sdas6500 assembler, fix left-over mcs51 huge lib after uninstall (bug #2972),
6119           installation options for r2ka and mos6502 libraries.
6121 2022-02-03 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6123         * doc/README.txt:
6124           Update port status in README.
6126 2022-02-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6128         * support/makebin/makebin.c:
6129           Fix segmentation fault when using -yp and patching of wrong address.
6131 2022-02-03 Benedikt Freisen <b.freisen AT gmx.net>
6133         * doc/sdccman.lyx:
6134           Update documentation.
6136 2022-02-03 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6138         * device/lib/printf_large.c,
6139           src/SDCCBBlock.h,
6140           src/SDCCast.c,
6141           src/SDCCdwarf2.c,
6142           src/SDCCicode.c,
6143           src/SDCClabel.c,
6144           src/SDCCloop.c,
6145           src/SDCCmacro.c,
6146           src/SDCCset.c,
6147           src/SDCCutil.c,
6148           src/ds390/ralloc.c,
6149           src/z80/ralloc.c,
6150           support/regression/generate-cases.py:
6151           Fix typos in comments.
6152         * src/z80/gen.c,
6153           src/pdk/gen.c,
6154           src/stm8/gen.c,
6155           src/stm8/main.c,
6156           src/SDCCval.h,
6157           src/SDCCval.c:
6158           Use CSD representation for multiplication by literal in a.
6160 2022-02-02 Gabriele Gorla <gorlik@yahoo.com>
6162         * src/mos6502/gen.c,
6163           src/mos6502/gen.h,
6164           src/mos6502/main.c,
6165           src/mos6502/ralloc.c,
6166           src/mos6502/ralloc.h,
6167           src/mos6502/ralloc2.cc:
6168           Removed dead code and refactored load/stroreRegTemp.
6170 2022-02-02 Benedikt Freisen <b.freisen AT gmx.net>
6172         * support/scripts/sdcc.ico:
6173           Add a 48x48 pixel icon.
6175 2022-02-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6177         * sdas/asxxsrc/asxxxx.h:
6178           Raise NCPS to 256 like in upstream ASXXXX. (workaround for bug-3277)
6180 2022-02-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6182         * support/makebin/makebin.c:
6183           Improve SMS/GG defaults and allow to define an offset that's skipped for the rom.
6185 2022-02-02 Benedikt Freisen <b.freisen AT gmx.net>
6187         * src/SDCCdwarf2.c,
6188           src/SDCCutil.c,
6189           src/SDCCutil.h:
6190           Add string escaping to dwWriteString.
6192 2022-02-02 Benedikt Freisen <b.freisen AT gmx.net>
6194         * sdas/asxxsrc/asmain.c:
6195           Fix bug #2970 via trivial patch by David Grayson.
6197 2022-02-02 Gabriele Gorla <gorlik@yahoo.com>
6199         * device/lib/mos6502/Makefile.in:
6200           Enable optimization for the library.
6201         * src/mos6502/gen.c:
6202           Commented out code that triggers bug-477927 regression.
6203         * src/mos6502/peep.def:
6204           Add rule to optimize function entry.
6206 2022-02-02 Gabriele Gorla <gorlik@yahoo.com>
6208         * src/mos6502/gen.c:
6209           Implement cost based on both code size and cycles.
6211 2022-02-01 Gabriele Gorla <gorlik@yahoo.com>
6213         * src/mos6502/gen.c:
6214           Fix several bugs in the code generator.
6216 2022-02-01 Gabriele Gorla <gorlik@yahoo.com>
6218         * device/lib/mos6502/__memcpy.c,
6219           device/lib/mos6502/_mulint.s,
6220           device/lib/mos6502/_mullong.s,
6221           device/lib/mos6502/_divuint.s,
6222           device/lib/mos6502/_divulong.s,
6223           device/lib/mos6502/_strcmp.s,
6224           device/lib/mos6502/_strcpy.s:
6225           Implement additional library functions in assembly.
6227 2022-02-01 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6229         * support/regression/Makefile.in:
6230           Do not run mos6502 and mcs51-xstack-auto tests for all target, since they have extra dependencies.
6231         * support/regression/ports/*/spec.mk:
6232           Increase some timeouts in hope of making the bug-3129 regression test pass on that slow PPC Mac in the compile farm.
6233         * support/regression/tests/gcc-torture-execute-920711-1.c,
6234           support/regression/tests/gcc-torture-execute-941021-1.c:
6235           Disable two tests for hosts with older gcc, where they apparently fail.
6237 2022-01-31 Gabriele Gorla <gorlik@yahoo.com>
6239         * device/lib/mos6502/_mulint.c,
6240           device/lib/mos6502/_mulint.s,
6241           device/lib/mos6502/_mullong.s,
6242           device/lib/mos6502/_ret.c:
6243           Implement mulint and mullong in assembly.
6245 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6247         * src/mos6502/gen.c:
6248           Improve memory shift operations.
6250 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6252         * src/mos6502/gen.c:
6253           Improve register shift operations.
6255 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6257         * src/mos6502/gen.c:
6258           Expand use of inc/dec for literal add/sub operations.
6260 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6262         * src/mos6502/gen.c:
6263           Enable inc/dec on register targets.
6265 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6267         * src/mos6502/gen.c:
6268           storeRegIndexed improvements.
6270 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6272         * src/mos6502/gen.c:
6273           Special case X->Y and Y->X whith literal values.
6275 2022-01-29 Gabriele Gorla <gorlik@yahoo.com>
6277         * src/mos6502/gen.c,
6278           src/mos6502/ralloc2.cc:
6279           General code cleanup.
6281 2022-01-29 Gabriele Gorla <gorlik@yahoo.com>
6283         * src/hc08/gen.c,
6284           src/hc08/ralloc2.cc:
6285           Fix a overflow bug in dry run cost calculation.
6287 2022-01-29 Gabriele Gorla <gorlik@yahoo.com>
6289         * src/mos6502/gen.c,
6290           src/mos6502/ralloc.c,
6291           src/mos6502/ralloc2.cc:
6292           Fix a overflow bug in dry run cost calculation.
6294 2022-01-28 Gabriele Gorla <gorlik@yahoo.com>
6296         * src/mos6502/gen.c:
6297           Add new peephole rules.
6299 2022-01-28 Gabriele Gorla <gorlik@yahoo.com>
6301         * src/mos6502/gen.c:
6302           Improve register transfer operations.
6304 2022-01-26 Gabriele Gorla <gorlik@yahoo.com>
6306         * src/mos6502/gen.c:
6307           Improved genLeftShift and genRightShift.
6309 2022-01-25 Gabriele Gorla <gorlik@yahoo.com>
6311         * src/mos6502/gen.c,
6312           src/mos6502/ralloc.c,
6313           src/mos6502/ralloc.h,
6314           src/mos6502/ralloc2.c:
6315           Make m6502_dirtyReg take only one parameter.
6317 2022-01-25 Gabriele Gorla <gorlik@yahoo.com>
6319         * src/mos6502/gen.c:
6320           Refactor verbose assembler debug code.
6322 2022-01-25 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6324         * doc/z80-arguments.svg:
6325           Fix documentation on z80 calling convention for 32-bit argument followed by 16-bit argument.
6327 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6329         * src/mos6502/gen.c:
6330           Add swapAX function.
6332 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6334         * src/mos6502/gen.c:
6335           Add cycle based cost calculation.
6337 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6339         * src/mos6502/gen.c:
6340           Implement a few missing codegen paths.
6342 2022-01-23 Benedikt Freisen <b.freisen AT gmx.net>
6344         * device/include/mcs51/P89LPC901.h,
6345           device/include/mcs51/P89LPC922.h,
6346           device/include/mcs51/P89LPC925.h,
6347           device/include/mcs51/P89LPC932.h,
6348           device/include/mcs51/P89c51RD2.h,
6349           device/include/mcs51/cc1110.h,
6350           device/include/mcs51/cc2430.h,
6351           device/include/mcs51/cc2530.h,
6352           device/include/mcs51/uPSD33xx.h:
6353           Fix bug #3300, namely encoding issues in various headers.
6355 2022-01-23 Benedikt Freisen <b.freisen AT gmx.net>
6357         * src/SDCCmain.c:
6358           Implement CLI option --include.
6360 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6362         * src/mos6502/gen.c,
6363           src/mos6502/ralloc.c,
6364           src/mos6502/ralloc.h:
6365           Update opcode table and unified opcode size code.
6367 2022-01-22 Gabriele Gorla <gorlik@yahoo.com>
6369         * src/mos6502/gen.c:
6370           Use code gen functions instead of raw assembly when possible.
6372 2022-01-21 Gabriele Gorla <gorlik@yahoo.com>
6374         * src/mos6502/peep.def:
6375           Improved 6502 peephole rules.
6377 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6379         * src/mos6502/gen.c:
6380           Add instruction cost as asm comments.
6382 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6384         * src/mos6502/main.c:
6385           Correctly compute instruction distance when asm lines contain comments.
6387 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6389         * src/mos6502/main.c:
6390           Fix m6502_instructionSize.
6392 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6394         * src/mos6502/main.c:
6395           Cleanup m6502opcodedata.
6397 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6399         * src/SDCCpeeph.c:
6400           Allow peephole rules to match asm lines with comments.
6402 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6404         * src/mos6502/peep.def:
6405           Initial MOS6502 peephole rules.
6407 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6409         * src/mos6502/gen.c:
6410           Fix out of range branch in genCmpEQorNE.
6412 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6414         * src/mos6502/gen.c:
6415           Fix AX->XA bug in loadRegFromAop.
6417 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6419         * src/mos6502/gen.c:
6420           Improve pusReg/PullReg.
6422 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6424         * src/mos6502/gen.c:
6425           Improve dry_run_cost accuracy.
6427 2022-01-17 Gabriele Gorla <gorlik@yahoo.com>
6429         * src/mos6502/gen.c:
6430           Refactor dry_run_cost computation.
6432 2022-01-17 Gabriele Gorla <gorlik@yahoo.com>
6434         * src/mos6502/gen.c:
6435           Improve debug messages.
6437 2022-01-17 Gabriele Gorla <gorlik@yahoo.com>
6439         * src/mos6502/gen.c:
6440           Make opcode output more consistent.
6442 2022-01-16 Gabriele Gorla <gorlik@yahoo.com>
6444         * src/mos6502/gen.c:
6445           Correct dry_run_cost for several code paths.
6447 2022-01-16 Gabriele Gorla <gorlik@yahoo.com>
6449         * src/mos6502/gen.c:
6450           Disable verbose debugging in the generated assembly.
6452 2022-01-15 Gabriele Gorla <gorlik@yahoo.com>
6454         * src/mos6502/gen.c:
6455           Imporve preparePointer.
6457 2022-01-15 Benedikt Freisen <b.freisen AT gmx.net>
6459         * device/lib/_fs2ulong.c,
6460           device/lib/_ulong2fs.c,
6461           support/regression/tests/bug-3276.c:
6462           Fix bug #3276.
6464 2022-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
6466         * support/regression/tests/bug-3129.c: partial fix for bug #3309
6468 2022-01-15 Gabriele Gorla <gorlik@yahoo.com>
6470         * support/regression/tests/reentrant.c:
6471           Disable failing test for DS390 port.
6472         * support/regression/tests/bug-3129.c:
6473           Disable failing test for MOS6502 port.
6475 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6477         * src/mos6502/gen.c:
6478           Imporve genAddrOf.
6480 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6482         * src/mos6502/gen.c:
6483           Fix gcc-torture-execute-981001-1 regression failure.
6485 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6487         * src/mos6502/gen.c,
6488           device/lib/mos6502/crt0.s:
6489           Remove use of BASEPTR.
6491 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6493         * src/mos6502/gen.c:
6494           Let storeConstToAop use X and Y as well.
6496 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6498         * src/mos6502/ralloc.h,
6499           src/mos6502/gen.c:
6500           Refactor genAssignLit and remove old defines.
6502 2022-01-13 Gabriele Gorla <gorlik@yahoo.com>
6504         * support/regression/tests/reentrant.c:
6505           Reduce recursion depth to fit into mcs51 stack.
6507 2022-01-12 Gabriele Gorla <gorlik@yahoo.com>
6509         * src/mos6502/main.c:
6510           Fix library names.
6512 2022-01-12 Gabriele Gorla <gorlik@yahoo.com>
6514         * support/regression/tests/reentrant.c:
6515           Add reentrant function regression test.
6517 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6519         * src/mos6502/gen.c:
6520           Fix gcc-torture-execute-990128-1 regression failure.
6522 2022-01-11 Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu>
6524         * support/regression/ports/mcs51-common/spec.mk:
6525           Generate debug info when compile regtest of mcs51 ports.
6527 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6529         * src/mos6502/gen.c:
6530           Fix bug #3304.
6532 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6534         * src/mos6502/gen.c:
6535           Fix bug1115321 regression failure.
6537 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6539         * src/mos6502/gen.c:
6540           Fix gcc-torture-execute-pr34456 regression failure.
6542 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6544         * src/mos6502/ralloc.c,
6545           src/hc08/ralloc.c:
6546           Remove more dead code.
6548 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6550         * support/valdiag/tests/bug-2798.c:
6551           Exclude test for mos6502 port (no support for __sfr).
6553 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6555         * src/mos6502/gen.c:
6556           Fix several compiler warnings.
6558 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6560         * src/mos6502/ralloc.c:
6561           Remove oldralloc dead code.
6563 2022-01-09 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6565         * device/lib/pic16/Makefile.in,
6566           device/lib/pic16/aclocal.m4,
6567           device/lib/pic16/configure,
6568           device/lib/pic16/configure.ac,
6569           device/lib/pic16/debug/Makefile.in,
6570           device/lib/pic16/libc/Makefile.in,
6571           device/lib/pic16/libio/Makefile.in,
6572           device/lib/pic16/libm/Makefile.in,
6573           device/lib/pic16/libsdcc/Makefile.in,
6574           device/lib/pic16/missing,
6575           device/lib/pic16/startup/Makefile.in:
6576           Update pic16 library build infrastructure (fixes a configuration time warning).
6577         * support/regression/ports/mos6502/spec.mk:
6578           Fix makebin path.
6580 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6582         * src/SDCCsymt.c,
6583           src/SDCCpeeph.c,
6584           src/SDCCmain.c,
6585           src/SDCCicode.c,
6586           src/SDCCglue.c,
6587           src/port.h,
6588           src/clean.mk,
6589           sdcc/Makefile.in,
6590           device/lib/Makefile.in,
6591           device/include/Makefile.in,
6592           sdcc/configure.ac,
6593           sdcc/configure:
6594           Enable the mos6502 port.
6596 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6598         * support/regression/tests/z88dk_callee.c,
6599           support/regression/tests/z88dk.c,
6600           support/regression/tests/gcc-torture-execute-strlen-4.c,
6601           support/regression/tests/gcc-torture-execute-func-ptr-1.c,
6602           support/regression/tests/gcc-torture-execute-9911112-1.c,
6603           support/regression/tests/gcc-torture-execute-930702-1.c,
6604           support/regression/tests/gcc-torture-execute-921208-1.c,
6605           support/regression/tests/gcc-torture-execute-20000412-2.c,
6606           support/regression/tests/critical.c,
6607           support/regression/tests/bug3379723.c,
6608           support/regression/tests/bug3167.c,
6609           support/regression/tests/bug2855.c,
6610           support/regression/tests/bug2767.c,
6611           support/regression/tests/bug2663.c,
6612           support/regression/tests/bug2305.c:
6613           Disable tests not relevant for the mos6502 port.
6615 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6617         * src/mos6502/ralloc2.cc,
6618           src/mos6502/ralloc.h,
6619           src/mos6502/ralloc.c,
6620           src/mos6502/peeph.def,
6621           src/mos6502/main.h,
6622           src/mos6502/main.c,
6623           src/mos6502/m6502.h,
6624           src/mos6502/gen.h,
6625           src/mos6502/gen.c,
6626           src/mos6502/Makefile.in:
6627           Add mos6502 port code generation.
6629 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6631         * support/valdiag/valdiag.py,
6632           support/valdiag/Makefile.in,
6633           support/regression/ports/mos6502/support.c,
6634           support/regression/ports/mos6502/spec.mk,
6635           support/regression/fwk/include/testfwk.h,
6636           support/regression/Makefile.in:
6637           Add regression to mos6502 port.
6639 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6641         * device/lib/mos65c02/Makefile.in,
6642           device/lib/mos65c02/atomic_flag_test_and_set.c,
6643           device/lib/mos65c02/_setjmp.c,
6644           device/lib/mos65c02/_ret.c,
6645           device/lib/mos65c02/_mulint.c,
6646           device/lib/mos6502/Makefile.in,
6647           device/lib/mos6502/crt0.s,
6648           device/lib/mos6502/atomic_flag_test_and_set.c,
6649           device/lib/mos6502/_setjmp.c,
6650           device/lib/mos6502/_rrulonglong.c,
6651           device/lib/mos6502/_rrslonglong.c,
6652           device/lib/mos6502/_ret.c,
6653           device/lib/mos6502/_mulint.c,
6654           device/lib/malloc.c,
6655           device/lib/atomic_flag_clear.c,
6656           device/lib/clean.mk:
6657           Add mos6502 and mos65c02 library code.
6659 2022-01-06 Gabriele Gorla <gorlik@yahoo.com>
6661         * device/include/string.h,
6662           device/include/stdlib.h,
6663           device/include/stdatomic.h,
6664           device/include/stdarg.h,
6665           device/include/setjmp.h:
6666           Add mos6502 to standard includes.
6668 2022-01-06 Gabriele Gorla <gorlik@yahoo.com>
6670         * support/regression/ports/uc6502/spec.mk:
6671           Rename m6502 port to mos6502.
6673 2022-01-05 Gabriele Gorla <gorlik@yahoo.com>
6675         * sdas/as6500/clean.mk,
6676           sdas/as6500/Makefile.in,
6677           sdas/as6500/r6500.h,
6678           sdas/as6500/r65adr.c,
6679           sdas/as6500/r65mch.c,
6680           sdas/as6500/r65pst.c:
6681           Add as6500 in preparation of mos6502 port merge.
6683 2022-01-05 Gabriele Gorla <gorlik@yahoo.com>
6685         * src/hc08/gen.c,
6686           src/hc08/main.c,
6687           src/hc08/ralloc.c:
6688           Replace TRUE/FALSE with true/false.
6690 2022-01-05 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6692         * src/z80/gen.c:
6693           Fix bug #3295.
6694         * sdas/asrab/rab.h:
6695           Fix bug #3261.
6697 2022-01-02 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6699         * doc/sdccman.lyx,
6700           doc/sm83-arguments.svg,
6701           doc/stm8-arguments.svg,
6702           doc/z80-arguments.svg:
6703           Improve calling convention documentation.
6705 2021-12-28 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6707         * doc/sdccman.lyx:
6708           Document z80 banked calls (fix bug #3299).
6710 2021-12-27 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6712         * device/lib/*/__sdcc_bcall.s,
6713           support/regression/tests/banked.c:
6714           Fix bug # 3298.
6716 2021-12-20 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6718         * sdccconf_in.h:
6719           Fix bug #3297.
6721 2021-12-10 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6723         * .version,
6724           Makefile.common.in,
6725           Makefile.in,
6726           configure,
6727           configure.ac,
6728           device/include/asm/sm83,
6729           device/include/math.h,
6730           device/include/sdcc-lib.h,
6731           device/include/setjmp.h,
6732           device/include/stdarg.h,
6733           device/include/stdatomic.h,
6734           device/lib/Makefile.in,
6735           device/lib/_memset.c,
6736           device/lib/_mullong.c,
6737           device/lib/atomic_flag_clear.c,
6738           device/lib/sm83,
6739           doc/sdccman.lyx,
6740           sdcc.spec,
6741           src/SDCCast.c,
6742           src/SDCCglobl.h,
6743           src/SDCCglue.c,
6744           src/SDCCmain.c,
6745           src/SDCCopt.c,
6746           src/SDCCpeeph.c,
6747           src/port.h,
6748           src/z80/gen.c,
6749           src/z80/main.c,
6750           src/z80/peep.c,
6751           src/z80/ralloc.c,
6752           src/z80/ralloc2.cc,
6753           src/z80/z80.h,
6754           support/regression/fwk/include/testfwk.h,
6755           support/regression/ports/ucgbz80/spec.mk,
6756           support/regression/tests/banked.c,
6757           support/regression/tests/bug-2305.c,
6758           support/regression/tests/bug-3296.c,
6759           support/regression/tests/bug2729218.c,
6760           support/regression/tests/bug3379723.c,
6761           support/regression/tests/gcc-torture-execute-20031012-1.c,
6762           support/regression/tests/malloc.c,
6763           support/regression/tests/mm-pnvi-ae-udi-pointer_from_integer_2g.c,
6764           support/regression/tests/sdcccall.c,
6765           support/scripts/sdcc.nsi,
6766           support/valdiag/Makefile.in,
6767           support/valdiag/tests/bug-2798.c,
6768           support/valdiag/valdiag.py:
6769           Rename gbz80 port to sm83.
6771 2021-11-22 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6773         * src/stm8/gen.c,
6774           src/stm8/main.c:
6775           Support GETBYTE and GETWORD.
6776         * src/SDCCsalloc.hpp:
6777           Fix an issue in shifts of partially spilt variables.
6779 2021-11-20 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6781         * src/z80/gen.c:
6782           Fix bug-3129 z80 on FreeBSD 13 regression.
6784 2021-11-19 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6786         * src/z80/gen.c:
6787           Use SM83 ldh in code generation.
6789 2021-11-18 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6791         * src/stm8/gen.c:
6792           Fix bug #3296.
6794 2021-11-17 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6796         * src/z80/gen.c:
6797           Infrastructure for optimization for code speed.
6798         * support/regression/ports/ez80-z80/spec.mk,
6799           support/regression/ports/ucr2k/spec.mk,
6800           support/regression/ports/ucr2ka/spec.mk:
6801           Do not use no-longer-existing --profile in regtests.
6803 2021-11-16 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6805         * src/SDCCglobl.h,
6806           src/SDCCmain.c,
6807           src/z80/gen.c,
6808           src/z80/mappings.i,
6809           doc/sdccman.lyx,
6810           .version:
6811           Remove profiling support.
6813 2021-11-16 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6815         * src/z80/gen.c:
6816           Rematerialization of stack locations.
6818 2021-11-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6820         * src/z80/gen.c:
6821           Preparations for the rematerialization of stack locations.
6823 2021-11-10 Philipp Klaus Krause <pkk AT spth.de>
6825         * device/lib/atomic_flag_clear.c:
6826           Fix handling of atomic_flag with clear state 1.
6828 2021-11-10 Philipp Klaus Krause <pkk AT spth.de>
6830         * src/stm8/ralloc.c,
6831           src/stm8/gen.c:
6832           Improve rematerialization of stack addresses.
6834 2021-11-09 Philipp Klaus Krause <pkk AT spth.de>
6836         * support/regression/tests/tinyaes.c:
6837           AES regression test.
6839 2021-11-09 Philipp Klaus Krause <pkk AT spth.de>
6841         * device/include/stdatomic.h,
6842           device/lib/tlcs90/atomic_flag_test_and_set.s,
6843           device/lib/atomic_flag_clear.c:
6844           Improve atomic_flag using TLCS-90 test-and-set instruction.
6845         * sdas/astlcs90/t90.h,
6846           sdas/astlcs90/t90mch.c,
6847           sdas/astlcs90/t90pst.c:
6848           Support tset.
6850 2021-11-04 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6852         * src/stm8/gen.c:
6853           Improve use of ldw for 8-bit assignment.
6855 2021-11-04 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6857         * support/makebin/makebin.c:
6858           Fix buffer overflow, patch #400 by bbbbbr.
6860 2021-10-29 Philipp Klaus Krause <pkk AT spth.de>
6862         * support/makebin/makebin.c:
6863           Option for logo omission, patch #395 by bbbbbr.
6865 2021-10-20 Philipp Klaus Krause <pkk AT spth.de>
6867         * src/z80/gen.c:
6868           Fix issues in cost handling for large functions.
6870 2021-10-18 Philipp Klaus Krause <pkk AT spth.de>
6872         * src/stm8/peeph.def:
6873           Peephole rule refactoring inspired by fix to a bug found by roybaer.
6875 2021-10-14 Philipp Klaus Krause <pkk AT spth.de>
6877         * device/lib/stm8/_divulong.s,
6878           device/lib/stm8/_modulong.s,
6879           device/lib/stm8/Makefile.in,
6880           src/stm8/peeph.def:
6881           Revert some hand-written asm back to generic C, since SDCC now generates better code.
6883 2021-10-13 Philipp Klaus Krause <pkk AT spth.de>
6885         * device/lib/btowc.c:
6886           Fix btowc handling of int values that are valid characters when cast to unsigned char.
6888 2021-10-13 Philipp Klaus Krause <pkk AT spth.de>
6890         * src/stm8/gen.c:
6891           Improve wide left shift by literal.
6893 2021-10-11 Philipp Klaus Krause <pkk AT spth.de>
6895         * src/stm8/gen.c:
6896           Minor code cleanup.
6897         * device/lib/_strchr.c:
6898           Fix strchr handling of c outside of char range.
6900 2021-09-28 Philipp Klaus Krause <pkk AT spth.de>
6902         * device/lib/z80/__mulsint2slong.s:
6903           Improve int x int -> long multiplication for z80.
6905 2021-09-27 Philipp Klaus Krause <pkk AT spth.de>
6907         * device/lib/z80/__mulsint2slong.s:
6908           Improve int x int -> long multiplication for z80.
6910 2021-09-26 Philipp Klaus Krause <pkk AT spth.de>
6912         * device/lib/z80/__mulsint2slong.s,
6913           src/z80/main.c,
6914           device/lib/z80/Makefile.in:
6915           int x int -> long multiplication support routine for z80.
6917 2021-09-25 Philipp Klaus Krause <pkk AT spth.de>
6919         * src/z80/main.c,
6920           src/z80/gen.c,
6921           doc/sdccman.lyx,
6922           device/lib/z80,
6923           device/lib/z180,
6924           device/lib/z80n,
6925           device/lib/_memset.c,
6926           support/regression/ports/*/spec.mk,
6927           support/regression/tests/z80n-push-nn.c,
6928           .version:
6929           __sdcccall(1) convention as default for z80, z80n and z180 picked from breaktheworld branch.
6931 2021-09-23 Philipp Klaus Krause <pkk AT spth.de>
6933         * src/stm8/ralloc.c:
6934           Optimize out some redundant temporaries early.
6935         * src/stm8/peep.c,
6936           src/stm8/peeph.def,
6937           src/stm8/gen.c:
6938           Fix handling of v flag.
6939         * device/lib/_fs2ulong.c,
6940           device/lib/_fsmul.c,
6941           device/lib/stm8/__mulsint2slong.s:
6942           Minor improvements in float support.
6944 2021-09-22 Philipp Klaus Krause <pkk AT spth.de>
6946         * support/regression/tests/bug-3282.c:
6947           Test for bug #3282.
6948         * src/z80/gen.c,
6949           src/z80/peeph.def,
6950           support/regression/tests/bug-3283.c:
6951           Fix bug #3283.
6953 2021-09-20 Philipp Klaus Krause <pkk AT spth.de>
6955         * src/stm8/ralloc2.cc,
6956           src/stm8/gen.c:
6957           Fix bug #3282.
6959 2021-09-18 Philipp Klaus Krause <pkk AT spth.de>
6961         * src/z80/gen.c,
6962           src/z80/peep.c:
6963           Use more Z80N-specific instructions in z80n codegen.
6965 2021-09-17 Philipp Klaus Krause <pkk AT spth.de>
6967         * src/z80/gen.c,
6968           doc/sdccman.lyx,
6969           .version:
6970           Use Z80N Core 2.0 shift instructions.
6972 2021-09-17 Philipp Klaus Krause <pkk AT spth.de>
6974         * src/z80/gen.c:
6975           Improve single byte rotation.
6977 2021-09-14 Philipp Klaus Krause <pkk AT spth.de>
6979         * src/z80/peep.c:
6980           Fix a peephole optimizer bug in the handling of SM83 / Z80N swap instruction, part of bug #3280.
6982 2021-09-10 Philipp Klaus Krause <pkk AT spth.de>
6984         * src/stm8/gen.c:
6985           Fix bug #3279.
6987 2021-09-08 Philipp Klaus Krause <pkk AT spth.de>
6989         * .version,
6990           ChangeLog,
6991           device/lib/_memset.c,
6992           device/lib/gbz80/abs.s,
6993           device/lib/gbz80/atomic_flag_test_and_set.s,
6994           device/lib/gbz80/div.s,
6995           device/lib/gbz80/memcpy.s,
6996           device/lib/gbz80/mul.s,
6997           device/lib/gbz80/setjmp.s,
6998           device/lib/gbz80/strlen.s,
6999           device/lib/stm8/__mulsint2slong.s,
7000           device/lib/stm8/_divsint.s,
7001           device/lib/stm8/_modsint.s,
7002           device/lib/stm8/_mulint.s,
7003           device/lib/stm8/atomic_flag_test_and_set.s,
7004           device/lib/stm8/memcpy.s,
7005           device/lib/stm8/setjmp.s,
7006           device/lib/stm8/strcmp.s,
7007           device/lib/stm8/strcpy.s,
7008           device/lib/stm8-large/__mulsint2slong.s,
7009           device/lib/stm8-large/_divsint.s,
7010           device/lib/stm8-large/_modsint.s,
7011           device/lib/stm8-large/_mulint.s,
7012           device/lib/stm8-large/atomic_flag_test_and_set.s,
7013           device/lib/stm8-large/memcpy.s,
7014           device/lib/stm8-large/setjmp.s,
7015           device/lib/stm8-large/strcmp.s,
7016           device/lib/stm8-large/strcpy.s,
7017           doc/sdccman.lyx,
7018           src/stm8/main.c,
7019           src/z80/main.c,
7020           support/regression/ports/ucgbz80/spec.mk,
7021           support/regression/tests/sdcccall.c:
7022           __sdcccall(1) convention as default for stm8 and gbz80 picked from breaktheworld branch.
7024 2021-09-08 Philipp Klaus Krause <pkk AT spth.de>
7026         * src/stm8/gen.c:
7027           Improve callee-cleanup of stack parameters.
7029 2021-09-06 Philipp Klaus Krause <pkk AT spth.de>
7031         * src/stm8/main.c,
7032           src/z80/ralloc.c:
7033           Minor option handling cleanup.
7035 2021-09-02 Philipp Klaus Krause <pkk AT spth.de>
7037         * device/include/stdlib.h:
7038           C23 sized memory deallocation.
7039         * sdas/asz80/z80pst.c:
7040           incbin support, patch by bbbbbr.
7042 2021-09-01 Philipp Klaus Krause <pkk AT spth.de>
7044         * src/z80/gen.c:
7045           Fix comparison with left operand lower word in hl, upper word in de, right operand on stack.
7047 2021-08-29 Philipp Klaus Krause <pkk AT spth.de>
7049         * support/valdiag/tests/callingconvention.c:
7050           Fix ___sdcccall diagnostics test.
7052 2021-08-27 Philipp Klaus Krause <pkk AT spth.de>
7054         * support/valdiag/valdiag.py:
7055           Fix typo that disable some regression testing for gbz80.
7056         * src/z80/gen.c:
7057           Fix __z88dk_fastcall stack cleanup.
7059 2021-08-26 Philipp Klaus Krause <pkk AT spth.de>
7061         * src/z80/peep.c:
7062           Fix handling of Rabbit or iy, de in peephole optimizer.
7064 2021-08-22 Philipp Klaus Krause <pkk AT spth.de>
7066         * device/lib/pic16/libsdcc/float/fseq.c,
7067           device/lib/pic16/libsdcc/float/fsgt.c,
7068           device/lib/pic16/libsdcc/float/fslt.c,
7069           device/lib/pic16/libsdcc/float/fsneq.c:
7070           Fix bug #3274.
7072 2021-08-20 Philipp Klaus Krause <pkk AT spth.de>
7074         * src/z80/main.c,
7075           doc/sdccman.lyx,
7076           .version:
7077           Enable new calling convention for z80, z180, z80n, r2k, r2ka, r3ka, tlcs90, ez80_z80.
7079 2021-08-20 Philipp Klaus Krause <pkk AT spth.de>
7081         * src/z80/gen.c:
7082           Do not use some aspects of new calling convention for banked functions.
7084 2021-08-14 Philipp Klaus Krause <pkk AT spth.de>
7086         * src/SDCCsymt.c,
7087           support/valdiag/tests/callingconvention.c,
7088           support/valdiag/valdiag.py:
7089           Fix diagnostics for __raisonance calling convention.
7091 2021-08-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7093         * src/SDCCval.c (valCastLiteral): possibly fix bug #3273
7095 2021-08-12 Philipp Klaus Krause <pkk AT spth.de>
7097         * src/stm8/main.c,
7098           doc/sdccman.lyx,
7099           .version:
7100           Enable new calling convention for stm8.
7102 2021-08-11 Philipp Klaus Krause <pkk AT spth.de>
7104         * src/SDCCsymt.c,
7105           support/valdiag/tests/callingconvention.c:
7106           Diagnostics for conflicting calling conventions.
7108 2021-08-10 Philipp Klaus Krause <pkk AT spth.de>
7110         * src/stm8/peep.c:
7111           Fix buffer overflow reported in patch #397 by Arnout Engelen .
7113 2021-08-08 Philipp Klaus Krause <pkk AT spth.de>
7115         * src/z80/main.c,
7116           doc/sdccman.lyx:
7117           .version:
7118           Enable new calling convention for gbz80.
7120 2021-08-08 Philipp Klaus Krause <pkk AT spth.de>
7122         * src/SDCC.lex,
7123           src/SDCC.y,
7124           src/SDCCglobl.h,
7125           src/SDCCmain.c,
7126           src/SDCCopt.c,
7127           src/SDCCsymt.c,
7128           src/SDCCsymt.h,
7129           src/ds390/main.c,
7130           src/hc08/main.c,
7131           src/mcs51/main.c,
7132           src/pdk/main.c,
7133           src/pic14/main.c,
7134           src/pic16/main.c,
7135           src/port.h,
7136           src/stm8/gen.c,
7137           src/stm8/main.c,
7138           src/z80/gen.c,
7139           src/z80/main.c:
7140           Calling convention selection infrastructure from breaktheworld branch.
7142 2021/07/28 Visenri
7144     * sim/ucsim/pdk.src/inst.cc
7145     Fix bug in pdk15 simulation (introduced in [r12557]).
7146     
7147 2021/07/28 Visenri
7149     * support/regression/compact-results.py
7150       Fix parsing of test name.
7151       
7152 2021/07/27 Visenri
7154     * src/pdk/gen.c
7155       support/regression/tests/getbyte_param.c
7156       Fix bug #3269.
7157       Add test for it.
7159 2021/07/26 Visenri
7161     * support/regression/Makefile.in
7162       support/regression/ports/pdk13
7163       support/regression/ports/pdk13/spec.mk
7164       support/regression/ports/pdk13/support.c
7165       support/regression/ports/pdk13/uCsim.cmd
7166       Added infrastructure to test pdk13.
7167       It is in the filter-out list to avoid automatic test, because many tests still need some work to be passed/skipped [#394].
7169 2021/07/26 Visenri
7171     * support/regression/fwk/include/testfwk.h
7172       support/regression/fwk/lib/testfwk.c
7173       Lightweight version of test framework (testfwk) [#393].
7174       Added new macro to indicate we are targeting a very low memory device: TARGET_VERY_LOW_MEMORY.
7175       Added macros to easy the check of all pdk variants with 1 or 2 checks [#394].
7176       Different implementation of __printd with hex output (for TARGET_VERY_LOW_MEMORY).
7177       Skipped some strings in "Summary" output to save memory (for TARGET_VERY_LOW_MEMORY).
7179 2021/07/26 Visenri
7181     * support/regression/collate-results.py
7182       support/regression/compact-results.py
7183       Added processing for the stack overflow message from simulator.
7184       Added new check to reset state machine and name with "Simulation started" string
7185       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).
7186       Added the possibility to parse hex values instead of decimal [#393].
7187       Better output in case of a catastrophic failure ("--- Summary" not found).
7188       Fixed wrong regular expression to find ".ihx" file.
7190 2021/07/26 Visenri
7192     * sdas/aspdk13/pdk13mch.c
7193       sdas/aspdk13/pdk13pst.c
7194       sdas/aspdk14/pdk14mch.c
7195       sdas/aspdk14/pdk14pst.c
7196       sdas/aspdk15/pdk15mch.c
7197       sdas/aspdk15/pdk15pst.c
7198       sdas/aspdk16/pdk16mch.c
7199       sdas/aspdk16/pdk16pst.c
7200       sdas/aspdk/pdk.h
7201       sdas/aspdk/pdkadr.c
7202       sdas/aspdk/pdkmch.c
7203       Added assembler support for new pdk .io mnemonics (bug #3259).
7205     * src/pdk/gen.c
7206       src/pdk/main.c
7207       src/pdk/peep.c
7208       src/pdk/peeph.def
7209       Updated compiler generated assembly and rules according to new pdk .io mnemonics
7211 2021/07/26 Visenri
7213     * sim/ucsim/pdk.src/inst.cc
7214     * sim/ucsim/pdk.src/instcl.h
7215     * sim/ucsim/sim.src/sim.cc
7216       Added support for stack overflow detection.
7217       Fixed wrong order of output to stdout when program is stopped.
7218       Added newline to make sure we get a separate line for the "Stop"
7220 2021-07-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7222         * src/SDCC.y,
7223         * src/SDCCsymt.c,
7224         * src/SDCCsymt.h: fix bugs #3212 and #3213
7226 2021-07-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7228         * src/SDCCsymt.c (processFuncArgs): minor correction to #3260 bug fix
7230 2021-07-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7232         * src/SDCCsymt.c (processFuncPtrArgs,processFuncArgs),
7233         * src/SDCCsymt.h,
7234         * src/SDCCmem.c (allocVariables): fix bug #3260
7235         * support/regression/tests/bug-3260.c: added test
7237 2021-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7239         * src/SDCCast.c (decorateType): fix bug #2546
7241 2021-07-16 Visenri
7243     * src/SDCC.lex
7244       src/SDCC.y
7245       Added builtins: "__builtin_rlc", "__builtin_rrc" & "__builtin_swap".
7246       These functions will allow swap and rotate operations with volatile variables.
7247     * src/SDCCast.c
7248       src/SDCCsymt.c
7249       src/SDCCsymt.h
7250       src/SDCCval.c
7251       src/SDCCval.h
7252       Support for conditional type reduction (patch #392) for optimized values to 0.
7253       Fixed size calculation for ptrdiff type.
7254       Fixed int promotion for shift operations: using only left operand.
7255       Added checks for side effects or volatility in optimizeRRCRLC (like optimizeSWAP, bug #3218)
7257 2021-07-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7259         * src/mcs51/gen.c (genMinusDec),
7260         * src/ds390/gen.c (genMinusDec): fix bug #3246
7262 2021-07-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7264         * src/SDCCast.c (copyAst): fix bug #3264
7265         * support/regression/tests/inline.c: add test for bug #3264
7267 2021-07-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7269         * support/valdiags/tests/struct.c: add test for bug #3086
7271 2021-07-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7273         * support/regression/tests/bug-3141.c: reenable for mcs51
7274         * src/SDCCsymt.c (promoteAnonStructs): fix bug #3086
7276 2021-07-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7278         * src/SDCCdwarf2.c (dwWriteFrames): fix bug #3161
7280 2021-07-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7282         * src/SDCCdwarf2.h: fix incorrect DW_CFA_nop value
7283         * src/SDCCdwarf2.c (dwWriteTags): fix problem with excess
7284           end-of-sibling-chain markers at end of compilation unit
7285         * src/SDCCdwarf2.c (dwWriteAbbrevs): write abbreviations in
7286           numerical order rather than hash table order
7287         * src/SDCCdwarf2.c (dwGenCFIins,dwWriteFDE): keep start of
7288           CIE and FDE entries 32-bit aligned
7290 2021-07-06 Philipp Klaus Krause <pkk AT spth.de>
7292         * src/z80/gen.c:
7293           Fix bug #3262.
7295 2021-07-05 Visenri
7296     * src/pic14/glue.c
7297       src/pic16/glue.c
7298       src/SDCCast.c
7299       src/SDCCast.h
7300       src/SDCCglue.c
7301       src/SDCCicode.c
7302       src/SDCCval.c
7303       src/SDCCval.h
7304       Implemented partial support for conditional type reduction (patch #392), for now only used by SIZEOF.
7305       OR - XOR type reduction optimization (patch #392).
7306     * support/regression/fwk/include/testfwk.h
7307       support/regression/tests/sizeof.c
7308       Removed empty definition of __data for pdk from testfwk.h.
7309       Added tests for SIZEOF operator.
7310       
7311 2021-07-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7313         * src/SDCClospre.hpp: fix bug #3166
7314         * support/regression/tests/bug-3166.c: enable test
7316 2021-07-01 Philipp Klaus Krause <pkk AT spth.de>
7318         * src/z80/gen.c:
7319           genMove_o improvements.
7321 2021-07-01 Philipp Klaus Krause <pkk AT spth.de>
7323         * src/z80/gen.c:
7324           Function pointer call for --reserve-regs-iy when hl and bc are in use for register arguments.
7326 2021-06-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7328         * src/SDCCast.c (expandInlineFuncs): fix bug #3175
7330 2021-06-30 Philipp Klaus Krause <pkk AT spth.de>
7332         * src/stm8/gen.c,
7333           src/z80/gen.c:
7334           Improve tail call optimization.
7336 2021-06-30 Philipp Klaus Krause <pkk AT spth.de>
7338         * src/z80/gen.c,
7339           src/z80/ralloc2.cc:
7340           Assignment to / from global variables with non-free hl.
7342 2021-06-29 Philipp Klaus Krause <pkk AT spth.de>
7344         * src/pdk/main.c,
7345           src/pdk/ralloc.c,
7346           src/stm8/main.c,
7347           src/stm8/ralloc.c,
7348           src/z80/gen.c,
7349           src/z80/main.c,
7350           src/z80/ralloc.c:
7351           Fix initialization of asmops for use of aopArg in _reg_parm.
7353 2021-06-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7355         * src/mcs51/gen.c (genPcall): fix bug #2994
7356         * support/regression/tests/bug-2993.c: reenable for mcs51-huge
7358 2021-06-28 Sergey Belyashov <sergey.belyashov@gmail.com>
7360         * src/SDCCglue.c:
7361           Fix bug #3253: patch by Oleg Endo
7363 2021-06-28 Philipp Klaus Krause <pkk AT spth.de>
7365         * src/stm8/main.c,
7366           src/stm8/gen.c,
7367           src/SDCC.lex,
7368           src/SDCC.y,
7369           src/SDCCsymt.c,
7370           src/SDCCsymt.h:
7371           Experimental __newcall calling convention.
7372         * src/z80/peeph.def,
7373           src/z80/peep.c:
7374           Fix peephole rule 49a for Rabbits.
7376 2021-06-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7378         * src/stm8/gen.c (genFunction): possible fix for bug #3199
7380 2021-06-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7382         * src/SDCCast.c (optimizeSWAP): fix bug #3218
7384 2021-06-26 Visenri
7385         * support/regression/tests/bug2686159.c:
7386           Added support for pdk in test bug2686159.
7388 2021-06-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7390         * src/mcs51/gen.c (genlshFixed): fix bug #3072
7392 2021-06-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7394         * src/mcs51/gen.c (aopPut, genSwap): fix bug #3188
7395         * support/regression/tests/rotate2.c: reenable mcs51 stack-auto tests
7397 2021-06-21 Maarten Brock <sourceforge.brock AT dse.nl>
7399         * src/mcs51/peep.c (doPushScan): added param instr,
7400           added removeDeadPushPop()
7401         * src/mcs51/peeph.def: moved rules 301-302 to 302-303, added rule 301
7402         * support/regression/Makefile.in: introduced results/*.sum
7403         * support/regression/tests/wchar.c: subdivided in several cases to allow
7404           testing on mcs51-small, char16 still doesn't fit in memory though
7406 2021-06-20 Maarten Brock <sourceforge.brock AT dse.nl>
7408         * src/SDCCopt.c (optimizeOpWidth):
7409           applied todays patch 392 from Visenri along with some cosmetics
7411 2021-06-20 Philipp Klaus Krause <pkk AT spth.de>
7413         * support/regression/tests/bug-3256.c:
7414           Fix missing return.
7416 2021-06-18 Philipp Klaus Krause <pkk AT spth.de>
7418         * src/stm8/gen.c:
7419           Improve framepointer handling.
7421 2021-06-18 Philipp Klaus Krause <pkk AT spth.de>
7423         * src/stm8/gen.c,
7424           src/stm8/peeph.def:
7425           Fix bug #3258.
7427 2021-06-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7429         * src/SDCCopt.c (optimizeOpWidth): fix bug #3236
7431 2021-06-16 Philipp Klaus Krause <pkk AT spth.de>
7433         * src/stm8/gen.c,
7434           support/regression/tests/bug-3257.c:
7435           Fix bug #3257.
7437 2021-06-16 Philipp Klaus Krause <pkk AT spth.de>
7439         * src/stm8/gen.c,
7440           src/stm8/peeph.def,
7441           support/regression/tests/z88dk_callee.c:
7442           Improve tail call optimization for __z88dk_callee functions.
7443         * tests/stm8-conventions.c:
7444           Enable test that had been disabled due to now-fixed bug #3239.
7445         * src/stm8/peep.c,
7446           support/regression/tests/bug-3256.c:
7447           Fix bug #3256.
7449 2021-06-15 Philipp Klaus Krause <pkk AT spth.de>
7451         * src/SDCCast.c:
7452           Report type of _Generic match error.
7453         * device/include/stdckdint.h:
7454           Checked integer arithmetic for most types (needs bug #3254 and #3255 fixed to really work).
7456 2021-06-14 Philipp Klaus Krause <pkk AT spth.de>
7458         * src/stm8/gen.c:
7459           Use frame pointer to speed up handling of big return values.
7461 2021-06-13 Philipp Klaus Krause <pkk AT spth.de>
7463         * src/stm8/gen.c:
7464           Generalize handling of return values in frame pointer.
7466 2021-06-13 Visenri
7468         * src/stm8/gen.c,
7469           src/stm8/peep.c,
7470           src/stm8/peeph.def:
7471           STM8 - Multiple improvements regarding peephole rules & argCont function.
7472           Modified code generation (genPointerSet) to allow optimizations without reordering rules for ld-and (120) from pack 1 (#362).
7473           Implemented some improvements in peep.c (argCont) to avoid false 'x' positives, a tiny step towards #290.
7474           Fixed double spaces in rules 10f & 10h (that were messing notUsed logic).
7475           Replaced rules 18, 19, 20 & 21 by 202x, 203x, 204x 205x, 210x &220x making use of new "operandsLitOrSym".
7476           Expanded rule 131 scope.
7477           Modified rules (140, 141, 150, 160, 161) to work without needing rule 121 from pack 1 (#362).
7478           Added new rules 515 & 516, similar to 512 & 513 when comparison is done with 'dec' instead of 'cp'.
7480 2021-06-11 Philipp Klaus Krause <pkk AT spth.de>
7482         * src/stm8/gen.c,
7483           src/stm8/peep.c:
7484           Implement register parameter tracking for peephole optimizer to fix code size regression caused by bugfix in previous commit.
7486 2021-06-11 Philipp Klaus Krause <pkk AT spth.de>
7488         * src/SDCCsymt.c,
7489           src/stm8/gen.c,
7490           src/stm8/main.c,
7491           src/stm8/peep.c,
7492           support/regression/tests/bug-3251.c,
7493           support/regression/tests/bug-2349.c,
7494           support/regression/tests/bug-2455.c,
7495           support/regression/tests/bug-3244.c,
7496           support/regression/tests/compare.c,
7497           support/regression/tests/fptr_cast_array_init.c,
7498           support/regression/tests/genptrs.c,
7499           support/regression/tests/z80n-push-nn.c:
7500           Fix bugs #3251, #3243.
7502 2021-06-09 Visenri
7504         * src/stm8/peeph.def:
7505           STM8 - Added missing rule 625a from my pack #6 from patch #362, fixed tabs/spaces.
7507 2021-06-08 Philipp Klaus Krause <pkk AT spth.de>
7509         * doc/sdccman.lyx,
7510           src/ds390/gen.c,
7511           src/hc08/gen.c,
7512           src/mcs51/gen.c,
7513           src/pic14/gen.c,
7514           src/pic14/main.c,
7515           src/pic14/ralloc.c,
7516           src/pic16/gen.c,
7517           src/pic16/main.c,
7518           src/pic16/ralloc.c,
7519           src/port.h,
7520           src/z80/gen.c,
7521           src/SDCC.y,
7522           src/SDCCast.c,
7523           src/SDCCcse.c,
7524           src/SDCCicode.c,
7525           src/SDCClospre.cc:
7526           Remove infrastructure for obsolete GETHBIT.
7528 2021-06-08 Philipp Klaus Krause <pkk AT spth.de>
7530         * src/ds390/gen.c,
7531           src/ds390/main.c:
7532           Support GETABIT instead of GETHBIT.
7534 2021-06-08 Visenri
7535         * src/SDCCpeeph.c:
7536           Fixed buffer overflow in operand string in "immdInRange" function.
7537           
7538 2021-06-07 Philipp Klaus Krause <pkk AT spth.de>
7540         * src/stm8/main.c,
7541           src/stm8/gen.c,
7542           src/stm8/ralloc2.cc:
7543           Rotate support, inspired by patch #363 by Visenri.
7544         * src/z80/gen.c,
7545           src/z80/main.c,
7546           src/z80/ralloc2.cc:
7547           Remove redundant z80 GETHBIT support.
7549 2021-06-07 Visenri
7550         * src/stm8/peeph.def:
7551           Removed unused rules 660a & 660b because of patches applied in r12420 (SWAP implementation).
7552         * ChangeLog:
7553           Fixed wrong date of previous commit.
7555 2021-06-07 Visenri
7556         * src/stm8/peep.c,
7557           Fixed typo regarding instruction 'jrsgt'.
7558         * src/stm8/peeph.def:
7559           Added rules 600a & 600b from patch #362 that were failing because of the 'jrsgt' typo.
7561 2021-06-04 Philipp Klaus Krause <pkk AT spth.de>
7563         * src/stm8/main.c,
7564           src/stm8/gen.c:
7565           Swap support, inspired by patch #363 by Visenri.
7567 2021-06-03 Philipp Klaus Krause <pkk AT spth.de>
7569         * support/regression/tests/bug-2349.c,
7570           support/regression/tests/bug-2455.c,
7571           support/regression/tests/compare.c,
7572           support/regression/tests/fptr_cast_array_init.c,
7573           support/regression/tests/genptrs.c,
7574           support/regression/tests/z80n-push-nn.c:
7575           Disable tests that fail due to known bug #3243.
7576         * src/stm8/peeph.def:
7577           Rule packs 1, 3, 5, 6 from patch #362 by Visenri.
7578         * src/SDCCast.c,
7579           src/SDCCerr.c,
7580           src/SDCCerr.h,
7581           support/valdiag/tests/bug-2798.c:
7582           Fix bug #2798.
7584 2021-05-31 Philipp Klaus Krause <pkk AT spth.de>
7586         * src/stm8/peeph.def:
7587           Fix an issue in inconsistent application of patches in previous commits.
7589 2021-05-28 Philipp Klaus Krause <pkk AT spth.de>
7591         * support/regression/tests/bitfields-nibbles.c:
7592           Test from patch #373 by Visenri.
7593         * src/SDCCpeeph.c:
7594           Peephole optimizer helper function refactoring, from patch #362 by Visenri.
7595         * src/stm8/peeph.def:
7596           Peephole rule refactoring, from patch #361 by Basil Hussain.
7598 2021-05-27 Philipp Klaus Krause <pkk AT spth.de>
7600         * src/z80/gen.c,
7601           support/regression/tests/bug-3244.c:
7602           Fix bug #3244.
7604 2021-05-20 Philipp Klaus Krause <pkk AT spth.de>
7606         * support/regression/Makefile.in,
7607           support/regression/ports/ucz180-resiy:
7608           Test z180 port with --reserve-regs-iy.
7609         * support/regression/ports/ucz80/spec.mk,
7610           support/regression/ports/ucr3ka/spec.mk:
7611           Drop --profile option, so we get better coverage of tail call optimization.
7613 2021-05-20 Philipp Klaus Krause <pkk AT spth.de>
7615         * src/stm8/gen.c:
7616           Improvements for handling of literal values in wide registers: patch #388 by Visenri.
7618 2021-05-19 Philipp Klaus Krause <pkk AT spth.de>
7620         * src/z80/gen.c:
7621           Partial fix for bug #3054.
7622         * device/include/float.h,
7623           device/include/pic16/float.h,
7624           device/lib/_fseq.c,
7625           device/lib/_fslt.c,
7626           device/lib/_fsneq.c,
7627           src/SDCCsymt.c:
7628           Make floating-point comparison support routines return _Bool.
7630 2021-05-18 Philipp Klaus Krause <pkk AT spth.de>
7632         * src/z80/gen.c,
7633           support/regression/tests/bug-3242.c:
7634           Fix bug #3242.
7635         * doc/sdccman.lyx:
7636           Fix some typos.
7638 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7640         * src/stm8/gen.c,
7641           src/z80/gen.c:
7642           Tail call optimization for functions with no stack parameters.
7644 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7646         * src/SDCCpeeph.c,
7647           src/pdk/peep.c,
7648           src/stm8/peep.c,
7649           src/z80/gen.c,
7650           src/z80/peep.c,
7651           support/regression/tests/bug-3239.c:
7652           Fix bugs #3235, 3239.
7654 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7656         * src/z80/gen.c:
7657           Fix a code generation bug in hl handling.
7659 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7661         * src/stm8/gen.c,
7662           src/z80/gen.c:
7663           Refactor __z88dk_callee support to allow other calling conventions to use callee stack cleanup.
7665 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7667         * src/SDCCicode.h,
7668           src/SDCCicode.c,
7669           src/SDCCsalloc.hpp,
7670           src/stm8/gen.c,
7671           src/z80/gen.c,
7672           support/regression/tests/bug-3240.c:
7673           Tail call optimization fixes for register parameters.
7675 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7677         * doc/sdccman.lyx,
7678           src/SDCC.lex,
7679           src/SDCC.y,
7680           src/SDCCerr.c,
7681           src/SDCCerr.h,
7682           src/SDCCsymt.h,
7683           src/SDCCsymt.c,
7684           src/stm8/gen.c,
7685           src/stm8/main.c,
7686           src/stm8/peep.c,
7687           support/regression/tests/stm8-conventions.c:
7688           Support calling conventions of Raisonance, IAR and Cosmic compilers for STM8.
7689         * support/regression/tests/bug2084206.c:
7690           Disable test that relies on size of void * being the same as function pointer for ds390.
7692 2021-05-16 Philipp Klaus Krause <pkk AT spth.de>
7694         * src/SDCCsalloc.hpp,
7695           support/regression/tests/bug-3238.c:
7696           Fix bug #3238.
7697         * src/stm8/gen.c:
7698           Fix a register parameter issue in code generation for function pointers in large model.
7700 2021-05-15 Philipp Klaus Krause <pkk AT spth.de>
7702         * src/SDCCsymt.c,
7703           support/regression/tests/bug2084206.c:
7704           Function pointer size fix.
7705         * src/stm8/gen.c:
7706           Tail-call optimization fix.
7707         * src/stm8/peep.c:
7708           Peephole optimizer fix for register arguments.
7709         * src/SDCCast.c:
7710           Fixes for strcpy->memcpy optimization.
7712 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
7714         * src/z80/gen.c,
7715           src/stm8/gen.c:
7716           Fix code generation bugs triggered by register arguments.
7717         * src/stm8/ralloc2.cc:
7718           Fix cost function for register parameters.
7719         * src/z80/ralloc2.cc:
7720           Fix cost function for byte and bit access.
7721         * src/stm8/peep.c:
7722           Register parameter support infrastructure.
7724 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
7726         * src/z80/gen.c:
7727           Improve tail calloptimization.
7729 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
7731         * src/z80/gen.c:
7732           Fix a bug in handling of register parameters to function calls via pointer.
7734 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7736         * src/z80/gen.c,
7737           src/stm8/gen.c:
7738           Fix handling of multiple register parameters.
7740 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7742         * src/stm8/gen.c:
7743           Infrastructure for register parameters.
7745 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7747         * src/SDCClrange.c:
7748           Improve handling of register parameters.
7749         * src/stm8/gen.c:
7750           Improve code generation for shift by slightly-less-than-a-multiple-of-8.
7751         * src/z80/gen.c,
7752           src/z80/ralloc.c:
7753           Increase some regalloc_dry_run_cost penalties to avoid invalid allocation even when all alternatives result in expensive spilling.
7755 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7757         * src/z80/peep.c,
7758           src/z80/gen.c:
7759           Fixes for register parameter in a, l or hl.
7761 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7763         * src/stm8/gen.c,
7764           src/stm8/gen.h,
7765           src/stm8/main.c:
7766           Infrastructure for register parameters.
7767         * src/SDCCast.c:
7768           Fix register parameters for printf->puts optimization.
7769         * src/z80/peep.c:
7770           Fix bug #3234.
7772 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7774         * src/z80/gen.c,
7775           src/z80/gen.h,
7776           src/z80/main.c,
7777           src/z80/peep.c:
7778           Infrastructure for non-__z88dk_fastcall register arguments.
7779         * src/stm8/gen.c:
7780           Fix bug #3233.
7781         * src/SDCCast.c,
7782           src/SDCCopt.c,
7783           src/SDCCsymt.c,
7784           src/SDCCsymt.h:
7785           Fix handling of register parameters of not-really-builtin memcpy.
7787 2021-05-11 Philipp Klaus Krause <pkk AT spth.de>
7789         * src/SDCCsymt.c,
7790           src/*/main.c:
7791           Make restriction on register parameters for vararg functions port-specific.
7793 2021-05-11 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
7795         * support/regression/tests/bug-3231.c:
7796           Disable __critical test for host.
7798 2021-05-09 Philipp Klaus Krause <pkk AT spth.de>
7800         * doc/sdccman.lyx:
7801           Put all the documentation required by Annex J.3, "Implementation-defined behaviour", of the C standard in one place.
7803 2021-05-09 Philipp Klaus Krause <pkk AT spth.de>
7805         * src/z80/gen.c,
7806           src/stm8/gen.c:
7807           Improve stack adjustment.
7809 2021-05-09 Philipp Klaus Krause <pkk AT spth.de>
7811         * src/z80/gen.c,
7812           support/regression/tests/bug-3231.c:
7813           Fix bug #3231.
7815 2021-05-08 Philipp Klaus Krause <pkk AT spth.de>
7817         * src/z80/gen.c,
7818           support/regression/tests/bug-3230.c:
7819           Fix bug #3230.
7821 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7823         * src/stm8/gen.c,
7824           src/z80/gen.c,
7825           support/regression/tests/bug-3229.c:
7826           Fix bug #3229.
7828 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7830         * src/z80/gen.c:
7831           Fix some bugs triggered by return values in other than the conventional registers.
7833 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7835         * src/z80/gen.c:
7836           Fix a bug in handling of return values in bc.
7837         * device/lib/clean.mk:
7838           Fix clean for r2ka library.
7840 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7842         * src/stm8/gen.h,
7843           src/stm8/gen.c,
7844           src/stm8/peep.c,
7845           src/z80/gen.h,
7846           src/z80/gen.c,
7847           src/z80/peep.c:
7848           Deduplicate return value handling in peephole optimizer vs code generation.
7850 2021-05-05 Philipp Klaus Krause <pkk AT spth.de>
7852         * support/regression/tests/z88dk_callee.c
7853           Adapt test for ds390.
7855 2021-05-04 Philipp Klaus Krause <pkk AT spth.de>
7857         * src/z80/gen.c:
7858           Code clenaup.
7860 2021-05-04 Philipp Klaus Krause <pkk AT spth.de>
7862         * src/z80/gen.c,
7863           support/regression/tests/bug-3223.c:
7864           Fix bug #3223.
7866 2021-05-03 Philipp Klaus Krause <pkk AT spth.de>
7868         * src/stm8/gen.c,
7869           src/stm8/main.c,
7870           doc/sdccman.lyx,
7871           .version,
7872           support/regression/fwk/include/testfwk.h,
7873           support/regression/tests/z88dk_callee.c:
7874           __z88dk_callee support for stm8.
7876 2021-05-03 Philipp Klaus Krause <pkk AT spth.de>
7878         * src/z80/gen.c,
7879           doc/sdccman.lyx,
7880           .version,
7881           support/regression/tests/z88dk.c,
7882           support/regression/tests/z88dk_callee.c:
7883           Implement __z88dk_callee support on callee side.
7885 2021-05-02 Philipp Klaus Krause <pkk AT spth.de>
7887         * src/z80/gen.c:
7888           Caching of floating literals.
7890 2021-05-01 Philipp Klaus Krause <pkk AT spth.de>
7892         * support/regression/tests/bug-3215.c:
7893           Fix condition for skipping test on host.
7894         * src/z80/gen.c:
7895           Improve loading of immediate into register pair.
7897 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7899         * src/z80/gen.c:
7900           Another fix for #3220.
7902 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7904         * src/z80/gen.c:
7905           Improve handling of 32-Bit variables.
7907 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7909         * src/z80/gen.c:
7910           Do not use double push / pop for 16-bit load when optimizing for speed.
7912 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7914         * src/z80/gen.c:
7915           Improve ldir assignment heuristic for r3ka and ez80_z80: Fix bug #3220.
7917 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7919         * src/z80/gen.c:
7920           Small wide improvements.
7922 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7924         * src/z80/gen.c:
7925           Fix bug #3217.
7926         * src/z80/peep.c:
7927           Fix instruction size for or hl, de and and hl, de.
7929 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7931         * src/z80/gen.c:
7932           Fix a --reserve-regs-iy bug.
7934 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7936         * device/lib/_mullong.c,
7937           src/z80/main.c,
7938           src/SDCCopt.c:
7939           Improve Rabbit multiplication.
7940         * src/z80/gen.c:
7941           Fix gbz80 part of bug #3217.
7943 2021-04-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7945         * support/regression/tests/bitfields-bits1.c,
7946           support/regression/tests/bitfields-checks.c,
7947           support/regression/tests/bitfields-dead-loop.c:
7948           Fix or disable host tests on hosts that allocate bitfields
7949           in MSB to LSB order
7951 2021-04-24 Philipp Klaus Krause <pkk AT spth.de>
7953         * src/z80/gen.c:
7954           Fix bugs affecting z80 code generation for --reserve-regs-iy.
7956 2021-04-24 Philipp Klaus Krause <pkk AT spth.de>
7958         * src/z80/gen.c,
7959           support/regression/tests/bug-3216.c:
7960           Fix bug #3216.
7962 2021-04-23 Philipp Klaus Krause <pkk AT spth.de>
7964         * sdas/asxxsrc/asxxxx.h,
7965           sdas/asxxsrc/asdata.c,
7966           sdas/asxxsrc/asexpr.c,
7967           sdas/asxxsrc/asmain.c:
7968           Option to defer resolution of some symbols to link time, patch by Tony Pavlov.
7969         * src/SDCCopt.c,
7970           support/regression/tests/bug-3215.c:
7971           Fix bug #3215.
7972         * src/z80/gen.c:
7973           Fix bug #3214.
7974         * support/valdiag/tests/bug-3010.c:
7975           Simplify test.
7977 2021-04-22 Philipp Klaus Krause <pkk AT spth.de>
7979         * support/regression/tests/setjmp.c,
7980           support/regression/tests/loop.c:
7981           Skip tests that fail due to broken FreeBSD 13 setjmp.
7982         * support/regression/tests/gcc-torture-execute-20040409-?.c:
7983           Skip tests that fail due to broken clang.
7984         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c,
7985           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c,
7986           support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_xy.c:
7987           Skip tests that fail due to broken clang 11 (memory model PNVI-ae-udi non-compliance).
7988         * sdccman.lyx:
7989           Simplify --max-allocs-per-node documentation.
7991 2021-04-20 Philipp Klaus Krause <pkk AT spth.de>
7993         * src/z80/gen.c:
7994           Improve heuristic for use of rabbit mul.
7996 2021-04-19 Philipp Klaus Krause <pkk AT spth.de>
7998         * src/z80/gen.c:
7999           Use genCopy also for assignment with source on extended stack.
8001 2021-04-18 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8003         * support/makebin/makebin.c:
8004           Generate SMS/GG rom headers.
8006 2021-04-13 Philipp Klaus Krause <pkk AT spth.de>
8008         * src/SDCCbtree.h,
8009           src/SDCCbtree.cc:
8010           Use int consistently for block, patch by Oleg Endo.
8012 2021-04-13 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8014         * src/z80/gen.c:
8015           Overwrite A in genMove_o only if not source register.
8017 2021-04-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8019         * src/z80/gen.c:
8020           Get sign bit with rlca instead of rla to allow flag restricted ph rules.
8022 2021-04-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8024         * sdas/asgb/gbpst.c,
8025           sdas/asgb/gbmch.c,
8026           sdas/asgb/gb.h,
8027           sdas/asxxsrc/asmain.c,
8028           sdas/asxxsrc/asxxxx.h:
8029           Backport .incbin and .tile for sm83 from ASXXXX 5.40
8031 2021-04-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8033         * src/z80/gen.c,
8034           src/z80/peeph-gbz80.def,
8035           src/z80/peeph.def:
8036           Don't emit pop/push for stack adjustment on sm83.
8037           (For easier detection of uninitialized memory)
8039 2021-04-11 Philipp Klaus Krause <pkk AT spth.de>
8041         * src/z80/gen.c:
8042           Improve unsigned shift by 4 and 5.
8044 2021-04-11 Philipp Klaus Krause <pkk AT spth.de>
8046         * src/z80/gen.c:
8047           Avoid some unnecessary copies.
8049 2021-04-09 Philipp Klaus Krause <pkk AT spth.de>
8051         * support/regression/tests/bitfields-bits1.c,
8052           support/regression/tests/bitfields-bits2.c,
8053           support/regression/tests/bitfields-checks.c,
8054           support/regression/tests/bitfields-dead-loop.c:
8055           Tests for bitfields at absolute addresses, picked from patch #373 by Visenri.
8056         * src/z80/gen.c,
8057           support/regression/tests/bitwise8reg.c:
8058           Fix use of 16-bit bitwise instructions for 8-bit calculations.
8060 2021-04-07 Philipp Klaus Krause <pkk AT spth.de>
8062         * support/regression/tests/gcc-torture-execute-20060110-volatile.c,
8063           support/regression/tests/stack-restore.c,
8064           support/regression/tests/swap_add.c:
8065           Improve stm8 peephole rule coverage, picked from patch #373 by Visenri.
8067 2021-04-07 Sergey Belyashov <sergey.belyashov@gmail.com>
8069         * src/z80/gen.c:
8070           isRegInUse renamed to isRegDead.
8072 2021-04-06 Sergey Belyashov <sergey.belyashov@gmail.com>
8074         * src/z80/gen.c:
8075           Make code more readable by adding isRegInUse.
8077 2021-04-04 Philipp Klaus Krause <pkk AT spth.de>
8079         * support/regression/ports/host/spec.mk.in:
8080           Timeout for host regression tests (fix bug #3209).
8081         * src/SDCClospre.hpp:
8082           Avoid unecessary flush of cout.
8083         * device/lib/tlcs90/crt0.s:
8084           Fix implicit initialization.
8085         * src/z80/ralloc2.cc:
8086           Document frame pointer omission heuristic.
8087         * support/regression/tests/bug-3205.c:
8088           Regression test for bug #3205.
8090 2021-04-03 Philipp Klaus Krause <pkk AT spth.de>
8092         * device/lib/ez80_z80/crt0.s,
8093           device/lib/tlcs90/crt0.s,
8094           device/lib/z180/crt0.s,
8095           device/lib/z80/crt0.s,
8096           device/lib/z80n/crt0.s:
8097           Do default-initalization in crt0 to not rely on simulator zeroing memory.
8098         * device/lib/gbz80/crt0.s:
8099           src/z80/main.c,
8100           .version:
8101           Improve explicit initialization.
8102         * configure.ac,
8103           aclocal.m4,
8104           configure:
8105           Improve detection of python interpreter binary.
8107 2021-04-03 Philipp Klaus Krause <pkk AT spth.de>
8109         * src/SDCClospre.cc:
8110           Fix bug #3207.
8112 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8114         * src/z80/gen.c:
8115           Remove AOP, AOP_SIZE, AOP_TYPE macros.
8117 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8119         * src/z80/gen.c:
8120           Fix possible errors caused by operands allocation.
8122 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8124         * src/z80/gen.c:
8125           Fix one of highlighted bugs by change from Apr 01.
8127 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8129         * src/z80/z80.h,
8130           src/z80/ralloc2.cc:
8131           Remove infrastructure for reserving hl in register allocator.
8133 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8135         * src/z80/ralloc.c,
8136           src/z80/gen.c:
8137           Remove old register allocator code from z80-related backends.
8139 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8141         * src/z80/main.c,
8142           src/z80/ralloc.c,
8143           .version,
8144           doc/sdccman.lyx:
8145           Deprecate --oldralloc for z80-related backends.
8147 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8149         * src/z80/gen.c:
8150           Fix one of highlighted bugs by previous change.
8152 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8154         * src/z80/gen.c:
8155           Partially fix bug #3203, but highlights new bugs.
8157 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8159         * sdas/asz80/z80mch.c:
8160           Enable undocumented Z80 instructions for Z80N.
8162 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8164         * src/z80/gen.c:
8165           Partially fix bug #3203.
8167 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8169         * src/z80/peeph.def:
8170           Fix many regressions caused by changes in r12173.
8172 2021-03-27 Sergey Belyashov <sergey.belyashov@gmail.com>
8174         * src/z80/peeph.def:
8175           Partially fix bug #3203.
8177 2021-03-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8179         * src/z80/peeph.def:
8180           Add new rules for pushing and treating xor a like #0.
8182 2021-03-26 Philipp Klaus Krause <pkk AT spth.de>
8184         * src/z80/gen.c:
8185           Fix issues in handling of (iy) operands (last part of fix for bug #3202).
8187 2021-03-25 Philipp Klaus Krause <pkk AT spth.de>
8189         * src/z80/gen.c:
8190           Fix an issue affecting 4-byte swap with both operands on extended stack.
8192 2021-03-25 Philipp Klaus Krause <pkk AT spth.de>
8194         * src/z80/gen.c:
8195           Fix handling of extended stack in addition and subtraction.
8197 2021-03-25 Philipp Klaus Krause <pkk AT spth.de>
8199         * src/z80/gen.c:
8200           Fix handling of frame pointer omission in dry run.
8202 2021-03-25 Sergey Belyashov <sergey.belyashov@gmail.com>
8204         * device/lib/_strcmp.c:
8205           strcmp optimization.
8207 2021-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8209         * src/z80/gen.c:
8210           Emit ldhl for calls on SM83.
8212 2021-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
8214         * device/lib/_fsdiv.c: fixed bug with very small, but normal numbers
8215         * device/include/float.h: no need to mask off bit23 in MANT() macro
8217 2021-03-24 Philipp Klaus Krause <pkk AT spth.de>
8219         * src/z80/gen.c:
8220           Disable accidentially comitted gbz80 zero push optimization.
8222 2021-03-24 Sergey Belyashov <sergey.belyashov@gmail.com>
8224         * src/z80/peeph.def:
8225           Fix some rules and remove invalid ones.
8227 2021-03-24 Sergey Belyashov <sergey.belyashov@gmail.com>
8229         * src/z80/peeph-gbz80.def,
8230           src/z80/peeph.def:
8231           Make some GBZ80 rules common.
8233 2021-03-22 Philipp Klaus Krause <pkk AT spth.de>
8235         * src/z80/gen.c:
8236           Fix a bug in tlcs90 interrupt handling.
8238 2021-03-22 Philipp Klaus Krause <pkk AT spth.de>
8240         * doc/sdccman.lyx,
8241           src/z80/gen.c,
8242           src/z80/main.c,
8243           configure.ac,
8244           configure:
8245           The GameBoy's CPU core is the SM83, also used in some Sharp microcontrollers.
8247 2021-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
8249         * device/include/float.h: added __NAN
8250         * device/lib/_fsdiv.c: many small optimizations, starting from patch
8251           #368, thanks Marco Bodrato
8252         * device/lib/_ulong2fs.c: fixed warning
8253         * support/regression/tests/bug-2516.c: do not use denormal float
8255 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8257         * src/z80/mappings.i:
8258           Fix broken debug symbols.
8260 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8262         * src/z80/peeph-gbz80.def,
8263           src/z80/peeph.def:
8264           Fix rule 1b, remove redundant rules.
8266 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8268         * src/z80/gen.c:
8269           Optimize pushing of 4B+ constant arguments.
8271 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8273         * device/lib/gbz80/crt0.s,
8274           support/regression/ports/ucgbz80/uCsim.cmd:
8275           Change emulator entry to 0x100 like after real bootrom
8277 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8279         * src/z80/gen.c:
8280           Optimize return of 4B numbers
8282 2021-03-21 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8284         * src/z80/peeph-gbz80.def:
8285           Add rules for faster stack push.
8286         * src/z80/peeph.def:
8287           Improve safety of some rules.
8289 2021-03-21 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8291         * src/SDCCpeeph.c:
8292           Make operandsLiteral pickier and fix bug #3198.
8294 2021-03-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8296         * sim/ucsim/z80.src/inst_lr35902.cc:
8297           Harmonize disassembly syntax with syntax emitted by sdcc.
8299 2021-03-19 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8301         * src/z80/peeph-gbz80.def,
8302           src/z80/peeph.def:
8303           Add new peephole rules for precalc, constants reusage and stack access rearranging.
8305 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8307         * src/pdk/gen.c,
8308           src/pdk/main.c,
8309           src/pdk/ralloc2.cc:
8310           GETBYTE support for pdk.
8312 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8314         * src/z80/ralloc2.cc,
8315           src/z80/gen.c:
8316           Improve register allocation for GETWORD and SWAP iCodes.
8318 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8320         * src/z80/gen.c:
8321           Use genMove to simplify genSwap.
8323 2021-03-18 Sergey Belyashov <sergey.belyashov@gmail.com>
8325         * src/z80/gen.c:
8326           Fix bug #3194.
8328 2021-03-18 Sergey Belyashov <sergey.belyashov@gmail.com>
8330         * src/z80/peeph.def:
8331           Fix common peephole rule 41a: do not elimitate ld l,? before ld l,(hl)
8333 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8335         * src/z80/peeph-gbz80.def:
8336           Added rules to move inc/dec hl possible upper.
8338 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8340         * src/z80/peeph.def:
8341           Add two new peepholes for Z80.
8343 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8345         * src/SDCCicode.c:
8346           Fix RFE #736.
8348 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8350         * src/z80/gen.c:
8351           Add Z80 GETWORD optimization for Z80.
8353 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8355         * src/z80/gen.c:
8356           Add Z80 SWAP implementation using RRD.
8358 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8360         * src/z80/gen.c,
8361           src/z80/main.c:
8362           Add GetABit for all Z80 ports.
8364 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8366         * sim/ucsim/z80.src/inst_lr35902.cc:
8367           Fix SWAP H/L instructions simulation for GBZ80.
8369 2021-03-16 Philipp Klaus Krause <pkk AT spth.de>
8371         * src/z80/gen.c:
8372           Fix a genMove_o hl issue, part of bug #3194.
8374 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8376         * src/z80/gen.c,
8377           src/z80/main.c:
8378           Enable multibyte RRC/RLC for GBZ80.
8380 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8382         * src/z80/gen.c:
8383           Fix typos (replace & by && in some conditions).
8385 2021-03-15 Sergey Belyashov <sergey.belyashov@gmail.com>
8387         * src/z80/gen.c,
8388           src/z80/main.c:
8389           Add RLC/RRC for all Z80 ports (GBZ80: only 8b).
8391 2021-03-15 Sergey Belyashov <sergey.belyashov@gmail.com>
8393         * src/z80/gen.c,
8394           src/z80/main.c:
8395           Add 32b swap for all Z80 ports.
8397 2021-03-14 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8399         * src/z80/gen.c:
8400           Improve 16b swap for z80ies.
8402 2021-03-13 Philipp Klaus Krause <pkk AT spth.de>
8404         * src/z80/gen.c,
8405           src/z80/ralloc2.cc:
8406           Fix bug #3190.
8408 2021-03-13 Philipp Klaus Krause <pkk AT spth.de>
8410         * support/regression/Makefile.in:
8411           Helper rule for testing pdk ports.
8412         * src/pdk/gen.c,
8413           src/pdk/main.c:
8414           8-bit swap for pdk.
8415         * support/regression/tests/rotate2.c:
8416           Disable test for pdk15-stack-auto due to lack of memory.
8417         * src/z80/gen.c,
8418           src/z80/ralloc2.cc:
8419           Improve handling of hl in equality comparison.
8421 2021-03-12 Philipp Klaus Krause <pkk AT spth.de>
8423         * src/z80/gen.c,
8424           src/z80/ralloc2.cc:
8425           Some small improvements and fixes in register handling.
8427 2021-03-11 Philipp Klaus Krause <pkk AT spth.de>
8429         * src/z80/gen.c,
8430           src/z80/ralloc2.cc:
8431           Improve nibble swap.
8433 2021-03-11 Sergey Belyashov <sergey.belyashov@gmail.com>
8435         * src/z80/gen.c,
8436           src/z80/main.c:
8437           Fix regressions coused by previous change.
8439 2021-03-11 Sergey Belyashov <sergey.belyashov@gmail.com>
8441         * src/z80/gen.c,
8442           src/z80/main.c:
8443           Add basic support for SWAP iCode for all Z80 ports.
8445 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8447         * src/z80/gen.c:
8448           Fix issue that resulted in adc hl, hl being emitted on gbz80.
8450 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8452         * device/include/typeof.h:
8453           Remove apparently unused header that has been broken for many years.
8454         * src/z80/ralloc2.cc,
8455           src/z80/gen.c:
8456           Flexible register handling for GETBYTE.
8458 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8460         * src/z80/gen.c,
8461           src/z80/mappings.i:
8462           Use placeholders more and add new ones. (Improves rgbds asm generation)
8464 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8466         * src/z80/gen.c:
8467           Improve register pair handling in code generation.
8469 2021-03-10 Sergey Belyashov <sergey.belyashov@gmail.com>
8471         * src/z80/gen.c,
8472           src/z80/main.c:
8473           Add basic support for GETBYTE iCode for all Z80 ports.
8475 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8477         * src/z80/gen.c:
8478           Improve handling of iyl and iyh in + and | for eZ80.
8480 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8482         * src/z80/main.c,
8483           support/makebin/makebin.c:
8484           Fix help texts for gbz80.
8486 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8488         * src/z80/gen.c: Get parameters faster on gbz80 sometimes.
8490 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8492         * device/lib/gbz80/setjmp.s:
8493           Rewrite setjmp for gbz80.
8495 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8497         * device/lib/gbz80/__initrleblock.s,
8498           device/lib/gbz80/crt0.s,
8499           device/lib/gbz80/div.s,
8500           device/lib/gbz80/memcpy.s,
8501           device/lib/gbz80/mul.s,
8502           device/lib/gbz80/setjmp.s:
8503           Do some obvious asm improvements for gbz80's stdlib.
8505 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8507         * src/z80/gen.c,
8508           src/z80/ralloc2.cc:
8509           Improve handling of iy.
8511 2021-03-09 Philipp Klaus Krause <pkk AT spth.de>
8513         * src/z80/gen.c,
8514           src/z80/ralloc2.cc:
8515           Improve handling of iy.
8516         * device/include/string.h,
8517           device/lib/memset_explicit.c,
8518           device/lib/incl.mk:
8519           C23 memset_explicit.
8521 2021-03-09 Philipp Klaus Krause <pkk AT spth.de>
8523         * src/z80/gen.c,
8524           src/z80/ralloc2.cc:
8525           Fix an issue affecting cost estimation for some register-to-register loads.
8527 2021-03-09 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8529         * src/z80/peeph-gbz80.def,
8530           src/z80/peeph.def:
8531           Add new peephole rules. (Based on generated code from stdlib)
8533 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8535         * src/z80/gen.c:
8536           Fix a gbz80 parameter push bug.
8537         * support/regression/tests/rotate2.c:
8538           Disable test for mcs51 (bug #3188).
8540 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8542         * src/z80/ralloc2.cc,
8543           src/z80/gen.c,
8544           src/z80/peeph.def_
8545           Improve use of iy.
8547 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8549         * src/z80/gen.c:
8550           Optimize last byte of negation, part of RFE #734.
8552 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8554         * src/z80/gen.c:
8555           Fix bug #3187.
8557 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8559         * src/SDCCpeeph.c:
8560           Pick notUsedFrom improvement and optimizeFor from patch #62 by Visenri.
8561         * src/z80/peeph.def:
8562           Small z80 peephole rule cleanup.
8563         * src/z80/gen.c:
8564           Improve gbz80 comparison with 0, part of RFE #734.
8566 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8568         * Merge sdcc-next branch to trunk.
8570 2021-03-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8572         * .version: post release bump to 4.1.1
8574 2021-03-06 Philipp Klaus Krause <pkk AT spth.de>
8576         * doc/sdccman.lyx:
8577           Document the use of DWARF debug information with ELF binaries.
8579 2021-03-05 Philipp Klaus Krause <pkk AT spth.de>
8581         * src/z80/gen.c,
8582           src/z80/ralloc2.cc:
8583           Improved handling of a.
8584         * src/pdk/gen.c,
8585           support/regression/tests/rotate2.c:
8586           Fix bug #3185.
8588 2021-03-05 Philipp Klaus Krause <pkk AT spth.de>
8590         * src/z80/gen.c,
8591           src/z80/ralloc2.cc:
8592           Improved handling of hl.
8594 2021-03-04 Philipp Klaus Krause <pkk AT spth.de>
8596         * src/z80/gen.c,
8597           src/z80/ralloc2.cc:
8598           Improved handling of hl in binary bitwise operators.
8600 2021-03-04 Philipp Klaus Krause <pkk AT spth.de>
8602         * src/z80/gen.c:
8603           Fix another issue related to bug #3181.
8604         * src/stm8/gen.c:
8605           exg, exgw handling cleanup, picked from patch #363 by Visenri.
8606         * support/regression/tests/rotate2.c:
8607           Tests for rotation and swap, picked from patch #363 by Visenri.
8608         * sdas/linksrc/lksdcdb.c:
8609           Fix a debug info issue, patch #346 by Benedikt Kleiner.
8611 2021-03-02 Maarten Brock <sourceforge.brock AT dse.nl>
8613         * src/ds390/ralloc.c (isOperandInFarSpace2): fixed warning
8614         * src/mcs51/peep.c (doPushScan): fixed warning
8616 2021-02-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8618         * .version,
8619           doc/INSTALL.txt,
8620           sdcc.spec: Update version to 4.1.0 for release
8621         * doc/sdccman.lyx: update to reflect Freescale/NXP merger
8623 2021-02-19 Philipp Klaus Krause <pkk AT spth.de>
8625         * src/z80/gen.c,
8626           support/regression/tests/lonesha256.c:
8627           Fix gbz80 xor code generation bug #3181.
8629 2021-02-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8631         * support/makebin/makebin.c: Replace getline with fgetc
8633 2021-02-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8635         * support/makebin/makebin.c: Tone down filter of -yS
8637 2021-02-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8639         * support/makebin/makebin.c: Add patch #365 (-yS)
8641 2021-02-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8643         * support/makebin/makebin.c: Add patch #364 (-yp)
8645 2021-02-09 Philipp Klaus Krause <pkk AT spth.de>
8647         * src/SDCCpeeph.c
8648           src/port.h
8649           src/z80/gen.c
8650           src/z80/peep.c
8651           src/z80/peep.h,
8652           support/regression/tests/bug-3178.c:
8653           Fix bug #3178.
8655 2021-02-09 Benedikt Freisen <b.freisen AT gmx.net>
8657         * src/SDCCerr.c,
8658           src/SDCCerr.h,
8659           src/SDCCmain.c:
8660           Add language override option -x (feature request #667).
8662 2021-02-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8664         * src/SDCCpeeph.c: fix function names in error messages
8666 2021-02-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8668         * support/makebin/makebin.c: add patch #360
8670 2021-02-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8672         * src/SDCCattr.c: fix include filename
8673         * ChangeLog: it's no longer 2020
8675 2021-02-04 Philipp Klaus Krause <pkk AT spth.de>
8677         * src/z80/gen.c:
8678           Make end-of-call stack adjustment tolerate return value in a.
8680 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8682         * src/z80/gen.c:
8683           Separate __z88dk_fastcall registers from return value registers.
8685 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8687         * src/z80/gen.c:
8688           Fix a bug in code generation for wide unary minus with upper operand word in hl.
8690 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8692         * src/z80/gen.c,
8693           src/z80/peep.c:
8694           Refactor handling of return value registers.
8696 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8698         * src/SDCCsymt.c:
8699           Fix printing of function with variable arguments (e.g. for debug dumps).
8700         * src/z80/gen.c,
8701           src/stm8/gen.c:
8702           Refactor register asmop intialization.
8704 2021-02-02 Philipp Klaus Krause <pkk AT spth.de>
8706         * src/SDCCattr.h,
8707           src/SDCCattr.c,
8708           src/SDCC.y,
8709           src/SDCCsymt.h,
8710           src/Makefile.in:
8711           Infrastructure for attributes.
8713 2021-02-01 Philipp Klaus Krause <pkk AT spth.de>
8715         * src/z80/gen.c,
8716           src/z80/ralloc2.cc:
8717           Fix bug #3174.
8719 2021-01-29 Philipp Klaus Krause <pkk AT spth.de>
8721         * src/z80/peep.c:
8722           Fix bug #3173.
8723         * src/z80/peeph.def:
8724           Split rule for add from adc, sbc rule due to differences in flag handling.
8726 2021-01-27 Philipp Klaus Krause <pkk AT spth.de>
8728         * src/stm8/peeph.def:
8729           Pick some improvements from patch #362 by Visenri.
8730         * support/regression/tests/bug-3172.c:
8731           Test for bug #3172.
8732         * device/lib/_strcpy.c:
8733           Pick a fix from noasm2 branch.
8735 2021-01-26 Philipp Klaus Krause <pkk AT spth.de>
8737         * src/stm8/peeph.def:
8738           Pick some improvements from patch #362 by Visenri.
8740 2021-01-25 Philipp Klaus Krause <pkk AT spth.de>
8742         * src/stm8/peeph.def:
8743           Pick some improvements from patch #362 by Visenri.
8745 2021-01-22 Philipp Klaus Krause <pkk AT spth.de>
8747         * src/stm8/peeph.def:
8748           Fix bug #3170.
8750 2021-01-21 Philipp Klaus Krause <pkk AT spth.de>
8752         * src/z80/gen.c,
8753           support/regression/tests/bug-3169.c:
8754           Fix bug #3169.
8756 2021-01-12 Philipp Klaus Krause <pkk AT spth.de>
8758         * src/z80/gen.c:
8759           Fix an issue in handling of non-dead a in __sfr access, possibly bug #3168.
8761 2021-01-01 Philipp Klaus Krause <pkk AT spth.de>
8763         * src/z80/gen.c,
8764           src/pdk/gen.c,
8765           support/regression/tests/bug-3167.c:
8766           Fix bug #3167.
8768 2021-01-01 Philipp Klaus Krause <pkk AT spth.de>
8770         * src/z80/gen.c:
8771           Fix an issue in handling surviving a when assigning single bytes from (hl) to stack.
8772         * support/regression/tests/bug-3166.c:
8773           Test for bug #3166.
8775 2021-01-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8777         * src/SDCCast.c,
8778           src/SDCCast.h,
8779           src/SDCCicode.c,
8780           src/SDCCicode.h,
8781           src/SDCCdwarf2.c,
8782           src/cdbFile.c: partial fix for bug #3153
8783         * suppport/regression/tests/bug-3081.c: avoid redefinition warning
8785 2021-01-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8787         * sim/ucsim/cmd.src/cmdlex.l: reverted previous change
8788         * sim/ucism/cmd.src/cmdutil.h: ensure SOCKET_AVAIL defined before use
8790 2021-01-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8792         * sim/ucsim/cmd.src/cmdlex.l: change #include order so SOCKET defined
8794 2020-12-29 Philipp Klaus Krause <pkk AT spth.de>
8796         * src/z80/gen.c:
8797           Fixes in handling register operands.
8798         * src/z80/ralloc2.cc:
8799           More flexibility for register operands in cast and ^.
8801 2020-12-27 Philipp Klaus Krause <pkk AT spth.de>
8803         * src/z80/gen.c:
8804           Fix an issue in handling of surviving registers in unsigned upcast.
8806 2020-12-16 Philipp Klaus Krause <pkk AT spth.de>
8808         * device/lib/pic14/aclocal.m4:
8809           Update to automake 1.16.2 to fix bug #3140.
8810         * device/lib/pic14/libc/Makefile.am:
8811           Port itoa, ltoa rename to pic14 to fix bug #3110.
8812         * src/clean.mk:
8813           Include pdk ports in make clean to fix bug #3152.
8814         * support/regression/ports/stm8/spec.mk,
8815           support/regression/ports/stm8-large/spec.mk:
8816           Increase stm8 test timeout by 50%, to accomodate slow macOS PPC (bug #3149).
8818 2020-12-03 Philipp Klaus Krause <pkk AT spth.de>
8820         * src/SDCC.lex,
8821           src/SDCCerr.c,
8822           src/SDCCerr.h,
8823           src/SDCCval.c,
8824           .version,
8825           support/regression/test/digit_separators.c:
8826           C23 digit separators.
8828 2020-12-03 Philipp Klaus Krause <pkk AT spth.de>
8830         * src/SDCC.lex,
8831           src/SDCCerr.h,
8832           src/SDCCerr.c,
8833           src/SDCCval.c,
8834           .version:
8835           C23 disallows concatenation of differently-prefixed string literals (N2594).
8837 2020-12-01 Philipp Klaus Krause <pkk AT spth.de>
8839         * src/z80/gen.c:
8840           Improve &, |, ^ by integer constant expression, merge ^ and ~.
8842 2020-11-29 Philipp Klaus Krause <pkk AT spth.de>
8844         * src/SDCCmain.c,
8845           device/include/Makefile.in,
8846           device/include/rab,
8847           .version:
8848           Migrate Rabbit headers from OpenRabbit to SDCC.
8850 2020-11-28 Philipp Klaus Krause <pkk AT spth.de>
8852         * src/z80/main.c:
8853           Change Rabbit default data location to 0xa000.
8855 2020-11-27 Philipp Klaus Krause <pkk AT spth.de>
8857         * doc/sdccman.lyx:
8858           Update links to upstream ASxxxx, patch by Warner Losh.
8860 2020-11-24 Philipp Klaus Krause <pkk AT spth.de>
8862         * src/stm8/gen.c:
8863           Unify ~,^.
8865 2020-11-24 Philipp Klaus Krause <pkk AT spth.de>
8867         * src/stm8/gen.c:
8868           Improve handling of rematerialized stack locations in +,-.
8869         * src/stm8/peeph.def:
8870           Improve negation of carry result.
8872 2020-11-23 Philipp Klaus Krause <pkk AT spth.de>
8874         * src/SDCCopt.c:
8875           Enable non-zero right GET_VALUE_AT_ADDRESS operand for tlcs90.
8876         * src/SDCClospre.cc:
8877           Enable speculative division for pdk in lospre (though pdk does not use lospre yet).
8879 2020-11-21 Philipp Klaus Krause <pkk AT spth.de>
8881         * src/pic14/glue.c:
8882           --code-loc support for pic14, patch by Georgi Georgiev.
8884 2020-11-10 Philipp Klaus Krause <pkk AT spth.de>
8886         * sim/ucsim/sim.src/mem.cc:
8887           Fix spelling in debug message.
8888           sim/ucsim/doc/index.html:
8889           Reencode to UTF-8.
8891 2020-11-04 Philipp Klaus Krause <pkk AT spth.de>
8893         * support/regression/tests/bug-3141.c:
8894           Disable test for mcs51 due to bug #3146.
8896 2020-11-02 Philipp Klaus Krause <pkk AT spth.de>
8898         * src/stm8/gen.c,
8899           support/regression/tests/bug-3141.c:
8900           Fix bug #3141.
8901         * src/z80/gen.c,
8902           support/regression/tests/shifts2.c:
8903           Fix bug #3142.
8905 2020-11-02 Philipp Klaus Krause <pkk AT spth.de>
8907         * src/z80/main.c:
8908           Disable array initalizer support for gbz80 in trunk, so the remining issues can be worked out in a branch instead.
8910 2020-10-29 Philipp Klaus Krause <pkk AT spth.de>
8912         * src/z80/gen.c:
8913           Fix bug #3134.
8915 2020-10-28 Philipp Klaus Krause <pkk AT spth.de>
8917         * src/SDCCsymt.h:
8918           Increase limits, patch by Oleg Endo <olegendo@gcc.gnu.org>.
8919         * support/regression/Makefile.in:
8920           add pdk15-stack-auto ton default target.
8922 2020-10-27 Philipp Klaus Krause <pkk AT spth.de>
8924         * src/pdk/ralloc2.cc,
8925           src/pdk/gen.c:
8926           Improve register allocation for bitwise xor.
8928 2020-10-26 Philipp Klaus Krause <pkk AT spth.de>
8930         * support/regression/tests/bug-3135.c,
8931           src/z80/ralloc2.cc:
8932           Attempt to fix bug #3135.
8933         * src/pdk/ralloc2.cc,
8934           src/pdk/gen.c:
8935           Improve register allocation for bitwise and, or.
8937 2020-10-21 Sergey Belyashov <sergey.belyashov@gmail.com>
8939         * src/z80/gen.c,
8940         * src/z80/mappings.i:
8941           Fix bug #3137.
8943 2020-10-16 Philipp Klaus Krause <pkk AT spth.de>
8945         * src/SDCCerr.h,
8946           src/SDCCerr.c,
8947           src/SDCC.lex:
8948           Improve diagnostics for binary integer literals.
8950 2020-10-14 Philipp Klaus Krause <pkk AT spth.de>
8952         * device/lib/r2k/crt0.s,
8953           device/lib/r2ka/crt0.s,
8954           device/lib/r3ka/crt0.s,
8955           .version:
8956           Use a default crt0 that works well on typical Rabbit hardware.
8958 2020-10-13 Sergey Belyashov <sergey.belyashov@gmail.com>
8960         * src/SDCCpeeph.c:
8961           Peephole rule immdInRange now accepts mul, div, and mod operations.
8962           immdInRange silently fail in case of non-number (label) arguments.
8963         * src/z80/peeph.def:
8964           Add new peephole rules.
8966 2020-10-13 Philipp Klaus Krause <pkk AT spth.de>
8968         * support/regression/tests/bug-3129.c:
8969           Disable test for ds390.
8970         * support/regression/tests/bug-3132.c:
8971           Remove conflicting (for ds390) __sdcc_external_startup definition.
8973 2020-10-12 Philipp Klaus Krause <pkk AT spth.de>
8975         * src/pdk/gen.c,
8976           support/regression/tests/bug-3132.c:
8977           Fix bug #3132.c.
8978         * src/z80/gen.c:
8979           Fix overoptimistic stack coalescing assumption in cost function, RFE #710.
8981 2020-10-11 Philipp Klaus Krause <pkk AT spth.de>
8983         * src/z80/gen.c,
8984           support/regression/tests/bug-3127.c,
8985           support/regression/tests/bug-3129.c:
8986           Fix bugs #3127, #3128, #3129, #3130, #3131.
8988 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
8990         * src/z80/gen.c:
8991           Improve wide subtraction.
8993 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
8995         * src/z80/gen.c:
8996           Improve Rabbit negation.
8998 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
9000         * src/z80/gen.c:
9001           Improve register shuffling.
9003 2020-10-08 Philipp Klaus Krause <pkk AT spth.de>
9005         * src/z80/gen.c,
9006           src/z80/ralloc2.cc:
9007           Improve left shift.
9009 2020-10-08 Philipp Klaus Krause <pkk AT spth.de>
9011         * src/z80/gen.c,
9012           support/regression/tests/bug-3126.c:
9013           Fix bug #3126.
9015 2020-10-07 Philipp Klaus Krause <pkk AT spth.de>
9017         * src/z80/gen.c:
9018           Improve register-to-stack copy.
9019         * sim/ucsim/z80.src/z80mac.h,
9020           sim/ucsim/z80.src/inst_r2k.cc:
9021           Fix handling of offset in sp-relative addressing.
9023 2020-10-05 Philipp Klaus Krause <pkk AT spth.de>
9025         * src/z80/gen.c:
9026           Fix a z80 --reserve-regs-iy regression test failure.
9028 2020-10-04 Philipp Klaus Krause <pkk AT spth.de>
9030         * sdccconf_in.h:
9031           Regenerated file via autoheader to pick up r2ka port.
9033 2020-10-03 Philipp Klaus Krause <pkk AT spth.de>
9035         * Makefile.common.in:
9036           Fix bug #3122.
9037         * src/z80/gen.c:
9038           Improve use of ld d(ix), hl and ld hl, d(ix) for Rabbits.
9040 2020-09-29 Philipp Klaus Krause <pkk AT spth.de>
9042         * src/z80/gen.c:
9043           Fix use of mul for 16-bit multiplication by constant for r2k vs. r2ka.
9044         * support/scripts/sdcc.nsi:
9045           Fix r2ka library Windows installation.
9047 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9049         * Makefile.in,
9050           configure,
9051           configure.ac,
9052           device/lib/Makefile.in,
9053           device/lib/r2ka,
9054           device/lib/atomic_flag_clear.c,
9055           device/include/Makefile.in,
9056           device/include/*.h
9057           src/SDCCmain.c,
9058           src/port.h,
9059           src/z80/main.c,
9060           src/z80/z80.h,
9061           support/regression/Makefile.in,
9062           support/regression/fwk/include/testfwk.h,
9063           support/regression/ports/ucr2ka,
9064           support/regression/tests/*.c,
9065           doc/sdccman.lyx,
9066           r2ka port to better support Rabbit 2000A, 2000B, 2000C, 3000. RFE #709.
9068 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9070         * src/z80/gen.c,
9071           src/z80/main.c,
9072           device/lib/r3ka/mulchar.s,
9073           device/lib/r3ka/Makefile.in:
9074           Use mul for r3ka, RFE #372.
9076 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9078         * src/z80/ralloc2.cc,
9079           src/z80/peeph.def,
9080           src/z80/peeph-r2k.def,
9081           src/SDCCval.h,
9082           src/SDCCval.c:
9083           Small improvements for z80 and related.
9085 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9087         * src/z80/gen.c:
9088           Improve speed of r2k builtins.
9089         * src/SDCCast.c:
9090           Optimize strcpy on Rabbits.
9091         * src/port.h:
9092           Prepare for r2ka port.
9094 2020-09-26 Philipp Klaus Krause <pkk AT spth.de>
9096         * src/z80/gen.c:
9097           Improve use of Rabbit instructions.
9099 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9101         * src/z80/gen.c,
9102           device/lib/r2k/crt0.s,
9103           src/SDCCgen.h,
9104           src/SDCCgen.c,
9105           device/lib/r2k/memcpy.s,
9106           device/lib/r2k/memmove.s:
9107           Work around Rabbit 2000 / 3000 ldir / lddr wait state bugs.
9108         * src/z80/z80.h:
9109           Prepare for r2ka port.
9111 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9113         * src/z80/gen.c:
9114           Work around Rabbit 2000 mul wait state bug.
9116 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9118         * src/z80/gen.c:
9119           Fix bug #3105.
9121 2020-09-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9123         * configure,
9124           configure.ac:
9125           Apply patch #357 from Tim Stahlhut: fix bug #3114.
9127 2020-09-23 Philipp Klaus Krause <pkk AT spth.de>
9129         * src/z80/peep.c:
9130           Fix handling of ioi, ioe in peephole optimizer, including bug #3118.
9132 2020-09-20 Philipp Klaus Krause <pkk AT spth.de>
9134         * src/z80/gen.c:
9135           Fix bug #3116.
9137 2020-09-18 Sergey Belyashov <sergey.belyashov@gmail.com>
9139         * sdcc/sim/ucsim/app.cc,
9140           sdcc/sim/ucsim/doc/ucsim.1:
9141           Apply part of patch #349: simulator rng seed option
9143 2020-09-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9145         * device/lib/gbz80/abs.s,
9146           device/lib/gbz80/strlen.s:
9147           Assembler optimized abs() and strlen() for GBZ80.
9149 2020-09-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9151         * device/lib/_memset.c:
9152           More optimized memset implementation.
9154 2020-09-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9156         * sim/ucsim/app.cc,
9157           sim/ucsim/chars.cc,
9158           sim/ucsim/errorcl.h,
9159           sim/ucsim/option.cc,
9160           sim/ucsim/optioncl.h,
9161           sim/ucsim/p1516.src/p1516.cc,
9162           sim/ucsim/pdk.src/pdk.cc,
9163           sim/ucsim/pobj.cc,
9164           sim/ucsim/pobjcl.h,
9165           sim/ucsim/pobjt.h,
9166           sim/ucsim/sim.src/brk.cc,
9167           sim/ucsim/sim.src/brkcl.h,
9168           sim/ucsim/sim.src/hw.cc,
9169           sim/ucsim/sim.src/itsrc.cc,
9170           sim/ucsim/sim.src/itsrccl.h,
9171           sim/ucsim/sim.src/mem.cc,
9172           sim/ucsim/sim.src/memcl.h,
9173           sim/ucsim/sim.src/simif.cc,
9174           sim/ucsim/sim.src/uc.cc,
9175           sim/ucsim/sim.src/uccl.h,
9176           sim/ucsim/sim.src/var.cc,
9177           sim/ucsim/sim.src/varcl.h:
9178           Apply patch #343 and patch #347 from Mike Jagdis.
9180 2020-09-15 Philipp Klaus Krause <pkk AT spth.de>
9182         * sim/ucsim/z80.src/inst_r2k.cc:
9183           Fix xpc handling in Rabbit MMU.
9185 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9187         * src/z80/main.c:
9188           Temporary enable initializer list support for GBZ80.
9190 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9192         * src/z80/gen.c:
9193           Fix regression introduced in previous change.
9195 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9197         * src/SDCCval.c,
9198           src/SDCCval.h,
9199           src/z80/gen.c:
9200           Fix bug #3104.
9202 2020-09-13 Philipp Klaus Krause <pkk AT spth.de>
9204         * src/SDCCerr.c:
9205           Fix missing include, patch #354 by Tim Stahlhut.
9207 2020-09-12 Philipp Klaus Krause <pkk AT spth.de>
9209         * src/stm8/gen.c:
9210           Minor code quality improvements, patch #353 by Tim Stahlhut.
9212 2020-09-10 Philipp Klaus Krause <pkk AT spth.de>
9214         * src/z80/gen.c:
9215           Improve use of bool hl instruction for zeroing.
9216         * src/stm8/gen.c:
9217           Fix handling of 24-bit return values, patch by Tim Stahlhut.
9218         * src/stm8/peep.c:
9219           Fix a bug in handling 24-bit return values in notUsed().
9221 2020-09-07 Philipp Klaus Krause <pkk AT spth.de>
9223         * sdas/asstm8/clean.mk:
9224           Fix clean target for sdasstm8, patch #350 by Tim Stahlhut.
9225         * src/Makefile.in:
9226           Fix C++ linker flags, patch by Mike Jagdis.
9228 2020-08-30 Philipp Klaus Krause <pkk AT spth.de>
9230         * doc/sdccman.lyx:
9231           Remove mention of Rabbit 4000, since it is currently supported in Rabbit 300 compability mode only.
9233 2020-08-28 Sergey Belyashov <sergey.belyashov@gmail.com>
9235         * support/regression/tests/memory.c:
9236           Apply patch #334: Enhanced regression testing for memmove()
9238 2020-08-28 Sergey Belyashov <sergey.belyashov@gmail.com>
9240         * sdas/asz80/z80mch.c,
9241           sdas/asz80/z80pst.c:
9242           Implement RFE#656: add barrel shifts and jp (c) instruction support.
9244 2020-08-28 Ben Shi <powerstudio1st AT 163 DOT com>
9246         * support/regression/tests/gcc-torture-execute-20040409-1.c:
9247         * support/regression/tests/gcc-torture-execute-20040409-2.c:
9248         * support/regression/tests/gcc-torture-execute-20040409-3.c:
9249         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c:
9250         * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
9251         * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_yx.c:
9252           Disabled for clang-6.0 and below.
9254 2020-08-27 Sergey Belyashov <sergey.belyashov@gmail.com>
9256         * device/lib/gbz80/Makefile.in,
9257           device/lib/gbz80/crt0_rle.s: crt0_rle.s renamed to __initrleblock.s
9258         * src/z80/gen.c,
9259           src/z80/peep.c,
9260           device/lib/gbz80/__initrleblock.s:
9261           Prepare to implement RFE#670 and RFE#707. Not enabled in z80/main.c,
9262           because there are failed tests:
9263             gcc-torture-execute-921013-1
9264             gcc-torture-execute-pr83383
9266 2020-08-27 Sergey Belyashov <sergey.belyashov@gmail.com>
9268         * src/SDCCval.c:
9269           Fix possible bug in reorderIlist() when empty array is passed.
9271 2020-08-27 Sergey Belyashov <sergey.belyashov@gmail.com>
9273         * src/z80/peeph.def:
9274           New peephole rules, fixed and reenabled rule 44.
9276 2020-08-25 Philipp Klaus Krause <pkk AT spth.de>
9278         * src/z80/peeph.def,
9279           support/regression/tests/bug-3102.c:
9280           Disable some peephole rules for bug #3102.
9282 2020-08-25 Ben Shi <powerstudio1st AT 163 DOT com>
9284         * sim/ucsim/app.cc:
9285           Improve back compatibility with elder gcc/g++.
9287 2020-08-24 Ben Shi <powerstudio1st AT 163 DOT com>
9289         * sim/ucsim/app.cc:
9290           Fix unmatched right parentheses.
9292 2020-08-22 Philipp Klaus Krause <pkk AT spth.de>
9294         * src/z80/gen.c:
9295           Fix bug #3101.
9297 2020-08-21 Philipp Klaus Krause <pkk AT spth.de>
9299         * src/z80/gen.c:
9300           Implement RFE #404.
9302 2020-08-21 Philipp Klaus Krause <pkk AT spth.de>
9304         * src/z80/gen.c:
9305           Small improvements for left-shift by constant expression.
9307 2020-08-19 Philipp Klaus Krause <pkk AT spth.de>
9309         * support/regression/tests/bug-3093.c:
9310           Test for bug #3093.
9311         * src/z80/gen.c:
9312           Improve left shift, RFE #465.
9314 2020-08-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9316         * src/SDCCast.c (resultTypePropagate): Fix bug #3093
9318 2020-08-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9320         * support/regression/tests/p99-conformance.c: Disable another test
9321           for pdk14 to avoid RAM overflow
9323 2020-08-12 Philipp Klaus Krause <pkk AT spth.de>
9325         * src/z80/gen.c,
9326           support/regression/tests/bug-3097.c:
9327           Fix bug #3097.
9329 2020-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9331         * support/regression/tests/p99-conformance.c: Disable a test for
9332           mcs51-small due to limited memory
9333         * support/regression/tests/bug-2645.c: Disable warning 88 too
9335 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9337         * device/lib/tlcs90/abs.s,
9338           device/lib/tlcs90/memcpy.s,
9339           device/lib/tlcs90/memmove.s,
9340           device/lib/tlcs90/setjmp.s,
9341           device/lib/tlcs90/strcpy.s,
9342           device/lib/tlcs90/strlen.s:
9343           Small stdlib optimizations for tlcs90.
9345 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9347         * device/lib/r2k/atomic_flag_test_and_set.s,
9348           device/lib/r3ka/atomic_flag_test_and_set.s:
9349           Optimize atomic_flag_test_and_set() for r2k and r3ka.
9351 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9353         * device/lib/tlcs90/Makefile.in,
9354           device/lib/tlcs90/atomic_flag_test_and_set.s,
9355           device/include/stdatomic.h,
9356           device/lib/atomic_flag_clear.c,
9357           support/regression/tests/atomic.c:
9358           Basic implementation of RFE #649 for tlcs90.
9360 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9362         * device/lib/r2k/Makefile.in,
9363           device/lib/r2k/memcpy.s,
9364           device/lib/r3ka/Makefile.in,
9365           device/lib/r3ka/memcpy.s,
9366           device/lib/tlcs90/Makefile.in,
9367           device/lib/tlcs90/memcpy.s,
9368           device/lib/tlcs90/memmove.s:
9369           Implement RFE #664 for tlcs90, r2k and r3ka.
9371 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9373         * support/regression/tests/bug-2645.c:
9374           Disable warning 154 in regression testsuit.
9376 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9378         * src/z80/peeph.def:
9379           Make some of Z80 common peephole rules more generic.
9381 2020-08-10 Sergey Belyashov <sergey.belyashov@gmail.com>
9383         * src/z80/peep.c:
9384           Fix always false conditions in code.
9386 2020-08-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9388         * src/ds390/gen.c (aopForRemat): fix regression test bug-2363
9389           failure on ds390
9391 2020-08-07 Sergey Belyashov <sergey.belyashov@gmail.com>
9393         * src/z80/peeph.def:
9394           Make some of Z80 common peephole rules more generic.
9396 2020-08-07 Sergey Belyashov <sergey.belyashov@gmail.com>
9398         * src/z80/peep.c:
9399           More accurate Z80 flag handling by notUsed.
9401 2020-08-06 Philipp Klaus Krause <pkk AT spth.de>
9403         * src/z80/gen.c:
9404           Avoid unecessary stack save of hl, RFE #699.
9406 2020-08-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9408         * src/z80/peeph-gbz80.def,
9409           src/z80/peeph.def:
9410           Use flag rules for all z80 ports.
9412 2020-08-06 Sergey Belyashov <sergey.belyashov@gmail.com>
9414         * src/z80/peep.c:
9415           canAssign now return true for (IX)/(IY)/(HL) with any register
9416           pair for eZ80_Z80 port.
9418 2020-08-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9420         * src/z80/peep.c:
9421           Fix pop af handling for notUsed('f').
9423 2020-08-06 Sergey Belyashov <sergey.belyashov@gmail.com>
9425         * src/z80/peep.c:
9426           Enable "sp" and flags for notUsed peephole constraint for all Z80
9427           ports.
9429 2020-08-06 Philipp Klaus Krause <pkk AT spth.de>
9431         * src/SDCCutil.c,
9432           support/regression/tests/p99-conformance.c:
9433           Fix handling of digits 8 and 9 in universal character names.
9434         * support/regression/tests/bug-2363.c:
9435           Redisable test for targets without enough memory.
9437 2020-08-05 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9439         * src/z80/peep.c:
9440           Fix notUsed('f') for jr/jp (Bug #3095)
9441         * src/z80/peeph-gbz80.def:
9442           Add rules for regression tests.
9444 2020-08-05 Sergey Belyashov <sergey.belyashov@gmail.com>
9446         * support/regression/tests/bug-2363.c:
9447           Enable test because bug #2363 looks to be fixed.
9449 2020-08-05 Sergey Belyashov <sergey.belyashov@gmail.com>
9451         * device/lib/z80/Makefile.in,
9452           device/lib/z80/__sdcc_critical.s,
9453           src/z80/gen.c,
9454           src/z80/main.c,
9455           src/z80/z80.h,
9456           support/regression/Makefile.in,
9457           support/regression/ports/ucz80-nmos,
9458           support/regression/ports/ucz80-nmos/spec.mk:
9459           Fix bug #2321: Z80 generates unsafe code for critcial function entry.
9461 2020-08-05 Sergey Belyashov <sergey.belyashov@gmail.com>
9463         * device/lib/ez80_z80/Makefile.in,
9464           device/lib/ez80_z80/__sdcc_bcall.s,
9465           device/lib/z180/Makefile.in,
9466           device/lib/z180/__sdcc_bcall.s,
9467           device/lib/z80n/Makefile.in,
9468           device/lib/z80n/__sdcc_bcall.s,
9469           support/regression/tests/banked.c:
9470           Implement RFE #152 for eZ80_Z80, Z180, Z80N.
9472 2020-08-05 Philipp Klaus Krause <pkk AT spth.de>
9474         * src/z80/peep.c:
9475           Improve notUsed precision.
9477 2020-08-04 Sergey Belyashov <sergey.belyashov@gmail.com>
9479         * src/SDCCpeeph.c,
9480           src/z80/peeph-z80n.def:
9481           Implement RFE #678: new peephole constraint unusedRegs.
9483 2020-08-04 Philipp Klaus Krause <pkk AT spth.de>
9485         * src/z80/gen.c,
9486           src/z80/peeph.def:
9487           Improve parameter pushing.
9489 2020-08-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9491         * src/z80/peeph-z80n.def:
9492           New rules to replace push nn by ld rr,nn / push rr.
9494 2020-08-03 Philipp Klaus Krause <pkk AT spth.de>
9496         * src/stm8/peeph.def:
9497           Use more indexed adressing where it makes sense.
9499 2020-08-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9501         * sim/ucsim/z80.src/z80.cc,
9502           src/z80/gen.c,
9503           support/regression/tests/z80n-push-nn.c:
9504           Fix bug #3032: Something wrong with z80n push nn.
9506 2020-08-03 Philipp Klaus Krause <pkk AT spth.de>
9508         * src/stm8/main.c,
9509           src/stm8/gen.c:
9510           Optimize signed division by small powers of 2.
9512 2020-07-31 Sergey Belyashov <sergey.belyashov@gmail.com>
9514         * src/SDCCasm.c,
9515           src/SDCCasm.h,
9516           src/z80/main.c,
9517           src/z80/mappings.i:
9518           Apply patch #312: Initial support for GNU Assembler for Z80 port.
9520 2020-07-31 Philipp Klaus Krause <pkk AT spth.de>
9522         * src/pdk/gen.c,
9523           support/regression/tests/bug-3083.c:
9524           Fix bug #3083.
9526 2020-07-31 Maarten Brock <sourceforge.brock AT dse.nl>
9528         * src/SDCCpeeph.c: removed portIsDS390, fixed isPort() coding style
9529         * src/ds390/peeph.def: replaced portIsDS390 by isPort('ds390' 'ds400')
9531 2020-07-30 Sergey Belyashov <sergey.belyashov@gmail.com>
9533         * src/z80/peeph.def:
9534           Implement RFE #669: optimize out unnecessary JP instructions generated
9535           by switch statement.
9537 2020-07-29 Philipp Klaus Krause <pkk AT spth.de>
9539         * src/pdk/main.c,
9540           src/pdk/gen.h,
9541           src/pdk/gen.c:
9542           Fix bug #3091, patch by Free-PDK.
9543         * src/z80/gen.c,
9544           support/regression/tests/bug-3090.c:
9545           Fix bug #3090.
9547 2020-07-27 Maarten Brock <sourceforge.brock AT dse.nl>
9549         * device/include/stdatomic.h: enabled for ds390, force nonbanked for mcs51
9550         * device/lib/ds390/atomic_flag_clear.c,
9551         * device/lib/ds390/atomic_flag_test_and_set.c: new, added
9552         * device/lib/ds390/Makefile.in: added atomic_flag_*
9553         * device/lib/mcs51/atomic_flag_clear.asm,
9554         * device/lib/mcs51/atomic_flag_test_and_set.asm: new, added
9555         * support/regression/tests/atomic.c: enabled for ds390
9556         * sim/ucsim/z80.src/inst_ed.cc: fixed bug by paying attention to warnings
9558 2020-07-27 Philipp Klaus Krause <pkk AT spth.de>
9560         * Makefile.in:
9561           Fix bug #3078, fix by Free-PDK.
9562         * src/SDCCmain.c:
9563           Disable --stack-loc deprecation warning for pdk and stm8.
9565 2020-07-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9567         * sdas/linksrc/lkmain.c:
9568           Add -j to help of sdldgb.
9570 2020-07-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9572         * src/SDCCasm.c,
9573           src/SDCCglue.c,
9574           src/z80/gen.c,
9575           src/z80/main.c,
9576           src/z80/mappings.i:
9577           Fix rgdbs asm generation for gbz80.
9578           Original fix by toxa.
9580 2020-07-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9582         * src/z80/peep.c:
9583           Fix ldh size estimation for gbz80.
9585 2020-07-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9587         * src/z80/main.c,
9588           src/port.h:
9589           Change implementation of -ba and -bo.
9591 2020-07-24 Maarten Brock <sourceforge.brock AT dse.nl>
9593         * device/include/stdatomic.h: enable mcs51, atomic_flag must reside in data/idata
9594         * device/lib/mcs51/Makefile.in: added atomic_flag_test_and_set.rel & atomic_flag_clear.rel,
9595           fixed include path
9596         * support/regression/tests/atomic.c: enabled test for mcs51,
9597           added test for atomic_flag within struct
9599 2020-07-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9601         * src/z80/main.c:
9602           Fix initialization of data-seg when using -ba for bug #3088.
9604 2020-07-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9606         * sdas/linksrc/lkout.c:
9607           Fix address translation bug found by toxa.
9609 2020-07-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9611         * support/makebin/makebin.c:
9612           Add ROM header options for gbz80.
9614 2020-07-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9616         * support/makebin/makebin.c:
9617           Apply record type 04 32bit extension to all 00.
9619 2020-07-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9621         * src/SDCCasm.c,
9622           src/z80/gen.c,
9623           src/z80/mappings.i:
9624           Add new mapping !hashedbankimmeds.
9626 2020-07-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9628         * src/SDCCasm.c,
9629           src/z80/gen.c,
9630           support/regression/tests/banked.c:
9631           Fix incorrect syntax of ASXXXX assembler code generated for banked calls.
9633 2020-07-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9635         * sdas/linksrc/lkout.c,
9636           support/makebin/makebin.c:
9637           Translate virtual addresses to real addresses in ihx for gbz80.
9639 2020-07-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9641         * src/SDCCpeeph.c:
9642           Fix bug #3089: sdcc hangs under Windows.
9644 2020-07-22 Sergey Belyashov <sergey.belyashov@gmail.com>
9646         * sdas/asz80/z80mch.c,
9647           support/regression/tests/z80n-push-nn.c:
9648           Fix invalid relocation of Z80N PUSH immediate instruction.
9650 2020-07-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9652         * sdas/linksrc/lkarea.c:
9653           Set sane default values for gbz80 banks.
9655 2020-07-22 Sergey Belyashov <sergey.belyashov@gmail.com>
9657         * support/regression/tests/memory.c:
9658           Fix test compilation on small systems.
9660 2020-07-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9662         * src/z80/mappings.i:
9663           Unify emitted gbz80 asm and fix indentation.
9665 2020-07-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9667         * src/z80/main.c:
9668           Improve rule order for gbz80
9669         * src/z80/peeph-gbz80.def:
9670           Remove sp0, which wasn't interrupt safe
9672 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9674         * device/lib/ez80_z80/memcpy.s,
9675           device/lib/z180/memcpy.s,
9676           device/lib/z80/memcpy.s,
9677           device/lib/z80n/memcpy.s,
9678           support/regression/tests/memory.c:
9679           Fix invalid return value of memcpy implementation for Z80.
9681 2020-07-21 Sergey Belyashov <sergey.belyashov@gmail.com>
9683         * src/SDCCpeeph.c:
9684           Fix possible ready beyond a buffer in canJoinRegs constraint.
9686 2020-07-21 Philipp Klaus Krause <pkk AT spth.de>
9688         * src/SDCCpeeph.c:
9689           Sanity checks for sscanf arguments.
9691 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9693         * device/lib/ez80_z80/Makefile.in,
9694           device/lib/ez80_z80/__itoa.s,
9695           device/lib/ez80_z80/__ltoa.s,
9696           device/lib/ez80_z80/__strreverse.s,
9697           device/lib/ez80_z80/__uitobcd.s,
9698           device/lib/ez80_z80/__ultobcd.s:
9699           Fix Bug #3077 for eZ80_Z80 port
9700         * device/lib/z180/Makefile.in,
9701           device/lib/z180/__itoa.s,
9702           device/lib/z180/__ltoa.s,
9703           device/lib/z180/__strreverse.s,
9704           device/lib/z180/__uitobcd.s,
9705           device/lib/z180/__ultobcd.s:
9706           Fix Bug #3077 for Z180 port
9707         * device/lib/z80n/Makefile.in,
9708           device/lib/z80n/__itoa.s,
9709           device/lib/z80n/__ltoa.s,
9710           device/lib/z80n/__strreverse.s,
9711           device/lib/z80n/__uitobcd.s,
9712           device/lib/z80n/__ultobcd.s:
9713           Fix Bug #3077 for Z80N port
9715 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9717         * src/z80/peeph-ez80_z80.def:
9718           Fix ez80 peephole rules 9hl and 9de.
9720 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9722         * support/makebin/makebin.c:
9723           Fix compiler warning.
9725 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9727         * src/z80/peeph-ez80_z80.def,
9728           src/z80/peeph.def:
9729           New useful peephole rules for Z80-like targets.
9731 2020-07-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9733         * support/support/makebin.c:
9734           Add virtual address translation for gbz80 ROMs.
9735           This is a workaround for #115.
9738 2020-07-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9740         * support/support/makebin.c:
9741           Support IHX record type 0x04 introduced in [r11746].
9742           This is needed for #115.
9744 2020-07-19 Philipp Klaus Krause <pkk AT spth.de>
9746         * src/z80/ralloc2.cc,
9747           src/z80/gen.c,
9748           src/z80/peeph-ez80_z80.def:
9749           Improve use of hl in z80 (and related) register allocation.
9751 2020-07-18 Maarten Brock <sourceforge.brock AT dse.nl>
9753         * sdas/asgb/gbmch.c (minit),
9754         * sdas/asz80/z80mch.c (minit): set address space to 24 bit
9755         * sdas/linksrc/lkdata.c,
9756         * sdas/linksrc/aslink.h: removed packflag
9757         * sdas/linksrc/lkmain.c: removed packflag and warn on removed -Y option
9758         * src/ds390/main.c,
9759         * src/mcs51/main.c: removed --pack-iram, --no-pack-iram
9760         * src/SDCCglobl.h,
9761         * src/SDCCmain.c: removed options.no_pack_iram, no -Y output,
9762           auto-define __SDCC_OPTIMIZE_SPEED or __SDCC_OPTIMIZE_SIZE when appropriate
9763           (thanks Basil Hussain, RFE 675)
9765 2020-07-18 Philipp Klaus Krause <pkk AT spth.de>
9767         * src/z80/ralloc2.cc,
9768           src/z80/gen.c:
9769           Enable use of hl in gbz80 register allocation.
9771 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9773         * src/z80/main.c,
9774           src/z80/z80.h,
9775           src/z80/gen.c,
9776           src/z80/ralloc.c,
9777           src/z80/ralloc2.cc:
9778           Enable some use of hl in gbz80 register allocation.
9780 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9782         * src/z80/ralloc2.cc,
9783           support/regression/tests/bug-3087.c,
9784           src/z80/gen.c:
9785           Fix bug #3087, implement part of RFE #691.
9787 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9789         * device/lib/ez80_z80/memcpy.s,
9790           device/lib/ez80_z80/Makefile.in,
9791           device/lib/gbz80/memcpy.s,
9792           device/lib/gbz80/Makefile.in,
9793           device/lib/z180/memcpy.s,
9794           device/lib/z180/Makefile.in,
9795           device/lib/z80n/memcpy.s,
9796           device/lib/z80n/Makefile.in:
9797           Implement RFE #664 for ez80_z80, GBZ80, Z180 and Z80N ports
9799 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9801         * src/z80/gen.c:
9802           Implement RFE #636: optimize stack allocation for eZ80
9804 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9806         * src/SDCCval.c:
9807           Revert unnecessary change.
9809 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9811         * device/lib/z80/Makefile.in,
9812           device/lib/z80/__sdcc_bcall.s,
9813           src/SDCCval.c,
9814           src/z80/gen.c,
9815           src/z80/main.c,
9816           src/z80/peep.c,
9817           src/z80/z80.h:
9818           Initial implementation of RFE #152 for Z80 port.
9820 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9822         * src/pdk/gen.c,
9823           support/regression/tests/bug-3085.c:
9824           Fix bug #3085.
9826 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9828         * src/pdk/gen.c,
9829           support/regression/tests/bug-3080.c:
9830           Fix bug #3080.
9832 2020-07-16 Philipp Klaus Krause <pkk AT spth.de>
9834         * device/include/stdlib.h,
9835           device/lib/__itoa.c,
9836           device/lib/__ltoa.c,
9837           device/lib/Makefile.in,
9838           device/lib/*/Makefile.in,
9839           device/lib/printfl.c,
9840           device/lib/z80/__itoa.s,
9841           device/lib/z80/__ltoa.s,
9842           doc/sdccman.lyx,
9843           support/regression/tests/itoa.c,
9844           support/regression/tests/ltoa.c,
9845           .version:
9846           Fix remaining part of bug #3077.
9847         * src/stm8/peeph.def:
9848           Bit testing jump inversion rules, picked from patch by Basil Hussain.
9850 2020-07-16 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9852         * src/z80/peeph-gbz80.def,
9853           src/z80/peeph-r2k.def,
9854           src/z80/peeph-tlcs90.def,
9855           src/z80/peeph-z80.def,
9856           src/z80/peeph.def:
9857           Merge common peep hole rules for Z80 family.
9859 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9861         * src/z80/gen.c,
9862           src/z80/main.c,
9863           src/z80/z80.h:
9864           Revert changes in banked_call parameters.
9866 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9868         * src/SDCCasm.c,
9869           src/SDCCglue.c,
9870           src/z80/gen.c,
9871           src/z80/main.c:
9872           Add generation of function bank symbol.
9873           Initial implementation of RFE #152
9875 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9877         * device/lib/z80/memcpy.s:
9878           Small optimization
9880 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9882         * device/lib/z80/__uitobcd.s,
9883           device/lib/z80/__ultobcd.s,
9884           support/regression/tests/uitobcd.c,
9885           support/regression/tests/ultobcd.c:
9886           Add functions ___uitobcd() and ___ultobcd()
9887         * device/lib/z80/__strreverse.s:
9888           Add function ___strreverse() to reverse order of string
9889         * device/lib/z80/__itoa.s,
9890           device/lib/z80/__ltoa.s,
9891           device/lib/z80/Makefile.in:
9892           Fix Bug #3077 for Z80/Z80-resiy ports.
9894 2020-07-14 Sergey Belyashov <sergey.belyashov@gmail.com>
9896         * device/lib/z80/Makefile.in,
9897           device/lib/z80/memcpy.s:
9898           Implement RFE #664 for Z80 port.
9900 2020-07-14 Sergey Belyashov <sergey.belyashov@gmail.com>
9902         * device/lib/Makefile.in:
9903           Add lib file removing before creating new one to prevent merging
9904           Add device/lib/Makefile refreshing after changing Makefile.in
9906 2020-07-14 Sergey Belyashov <sergey.belyashov@gmail.com>
9908         * support/regression/tests/itoa.c,
9909           support/regression/tests/ltoa.c:
9910           Split itoa/ltoa tests on 5 parts. Possible workaround for Bug #3082.
9911           Add tests for uncommon radix.
9913 2020-07-10 Philipp Klaus Krause <pkk AT spth.de>
9915         * src/z80/gen.c,
9916           support/regression/tests/bug-3081.c:
9917           Fix bug #3081.
9919 2020-07-10 Sergey Belyashov <sergey.belyashov@gmail.com>
9921         * device/lib/_memmove.c:
9922           Small optimization of generic memmove() implementation
9924 2020-07-08 Sergey Belyashov <sergey.belyashov@gmail.com>
9926         * support/regression/tests/itoa.c:
9927           Add tests for _uitoa() and _itoa()
9928         * support/regression/tests/ltoa.c:
9929           Add tests for _ultoa() and _ltoa()
9931 2020-07-06 Sergey Belyashov <sergey.belyashov@gmail.com>
9933         * src/SDCCpeeph.c,
9934           src/ds390/main.c,
9935           src/mcs51/main.c,
9936           src/pdk/main.c,
9937           src/stm8/main.c,
9938           src/port.h,
9939           src/z80/main.c,
9940           src/z80/peep.c,
9941           src/z80/peep.h,
9942           src/z80/peeph-z80.def:
9943           Implement RFE #683: Add canSplitReg peephole constraint
9945 2020-07-06 Philipp Klaus Krause <pkk AT spth.de>
9947         * support/regression/tests/memory.c:
9948           Document some design choices in memory function tests.
9950 2020-07-05 Philipp Klaus Krause <pkk AT spth.de>
9952         * src/z80/gen.c,
9953           support/regression/tests/bug-3079.c:
9954           Fix bug #3079.
9956 2020-07-04 Sergey Belyashov <sergey.belyashov@gmail.com>
9957         * src/SDCCpeeph.c:
9958           Implement RFE #661: Add newLabel peephole optimizer constraint
9960 2020-07-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9962         * src/SDCCpeeph.c,
9963           src/port.h,
9964           src/z80/peep.c,
9965           src/z80/peep.h:
9966           Add 'unordered' support to canJoinRegs peephole constraint
9968 2020-07-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9970         * src/SDCCpeeph.c,
9971           src/z80/peeph-z80.def:
9972           Implement RFE #684
9974 2020-07-02 Philipp Klaus Krause <pkk AT spth.de>
9976         * src/pdk/gen.c,
9977           src/pdk/ralloc.c:
9978           Improve __sfr ^ with literal.
9980 2020-07-02 Philipp Klaus Krause <pkk AT spth.de>
9982         * src/z80/gen.c:
9983           Use rlca instead of rlc a, RFE #686.
9984         * src/pdk/gen.c:
9985           Improve read from literal pointer.
9986         * src/SDCCopt.c:
9987           Fix bug #3075.
9988         * src/pdk/ralloc.c:
9989           Improve bit set/reset for I/O.
9991 2020-07-01 Philipp Klaus Krause <pkk AT spth.de>
9993         * src/pdk/gen.c,
9994           support/regression/tests/bug-3040.c:
9995           Fix code generation for pdk additive operators with two block-scope const static operands.
9997 2020-06-30 Sergey Belyashov <sergey.belyashov@gmail.com>
9999         * src/SDCCpeeph.c,
10000           src/ds390/main.c,
10001           src/mcs51/main.c,
10002           src/pdk/main.c,
10003           src/port.h,
10004           src/stm8/main.c,
10005           src/z80/main.c,
10006           src/z80/peep.c,
10007           src/z80/peep.h,
10008           src/z80/peeph-ez80_z80.def:
10009           Partially implement RFE #683: Support canJoinRegs peephole constraint
10011 2020-06-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10013         * debugger/mcs51/Makefile.in: include dependancy on dbuf*
10015 2020-06-29 Sergey Belyashov <sergey.belyashov@gmail.com>
10017         * src/z80/main.c,
10018           src/z80/peeph-ez80_z80.def,
10019           src/z80/peeph-z80n.def:
10020           Implement RFE #632: Add separate peephole definition files for eZ80 and Z80N
10022 2020-06-28 Philipp Klaus Krause <pkk AT spth.de>
10024         * src/SDCCpeeph.c:
10025           Fix notSimilar(), patch #332 by Baŝto.
10027 2020-06-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10029         * sdas/asxxsrc/asdbg.c (BaseFileName): Possible fix for bug #3068
10031 2020-06-25 Philipp Klaus Krause <pkk AT spth.de>
10033         * src/z80/peep.c,
10034           src/z80/main.c:
10035           instructionSize peephole support for gbz80, patch by Baŝto.
10037 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10039         * src/z80/gen.c,
10040           support/regression/tests/bug-3066.c:
10041           Fix bug #3066.
10042         * src/pdk/gen.c,
10043           support/regression/tests/bug-3065.c:
10044           Fix bug #3065.
10046 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10048         * src/z80/peep.c,
10049           src/z80/peeph-gbz80.def:
10050           Support for sp in notUsed for gbz80, patch #326 by Baŝto.
10051         * src/z80/gen.c:
10052           Use tlcs90 (sp) adressing mode.
10053         * src/z80/peep.c,
10054           src/z80/main.c:
10055           notUsed() for gbz80 with flag support, from patch by Baŝto.
10057 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10059         * src/z80/peeph-gbz80.def:
10060           Rename operation in immdInRange rule to prepare for further patches, patch by Baŝto.
10061         * src/SDCCpeeph.c:
10062           Allow bitwise operation in immdInRange, patch by Baŝto.
10063         * device/lib/stm8-large/*
10064           Use optimized support routines for large memory model, patch by Basil Hussain.
10066 2020-06-21 Philipp Klaus Krause <pkk AT spth.de>
10068         * src/z80/gen.c:
10069           Fix bug #3064.
10071 2020-06-20 Erik Petrich <epetrich AT ivorytower.normna.ok.us>
10073         * src/pdk/gen.c (cheapMove, aopOp): Fix bug #3038
10074         * src/SDCCast.c (expandInlineFuncs): Fix bug #3029
10076 2020-06-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10078         * support/regression/tests/bug-3056.c,
10079           src/SDCCsymt.c: Fix bug #3056 for pdk too
10080         * src/SDCCsymt.c: Fix bugs #3059, #3049, #3047 (same cause)
10082 2020-06-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10084         * src/SDCCmem.c,
10085           src/pic16/main.c: Fix bug #3056
10086         * src/pic16/gen.c: Fix bug #3057
10088 2020-06-16 Philipp Klaus Krause <pkk AT spth.de>
10090         * support/regression/tests/bug-2368.c:
10091           Fix bug #3063.
10092         * src/z80/gen.c,
10093           src/z80/main.c:
10094           Fix bug #3055.
10095         * src/SDCCerr.h,
10096           src/SDCCerr.c,
10097           src/stm8/gen.c:
10098           Fix bug #3044.
10100 2020-06-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10102         * src/hc08/ralloc.c: Fix bug #3061
10103         * src/SDCCcse.c (algebraicOpts): Fix bug #3062
10105 2020-06-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10107         * src/SDCCicode.c (geniCodeJumpTable): Fix bug #3034
10108         * src/SDCCerr.c (vwerror),
10109           src/SDCCerr.h: Suppress duplicate diagnostic messages
10111 2020-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10113         * src/SDCClrange.c: Fix rest of bug #3045
10115 2020-06-13 Philipp Klaus Krause <pkk AT spth.de>
10117         * src/pdk/main.c,
10118           src/stm8/main.c:
10119           Fix bug #2944.
10121 2020-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10123         * src/SDCClrange.c,
10124           src/SDCCopt.c: Fix bug #3045 and #3046
10125         * src/ds390/ralloc.c: Don't assume operand is symbol
10127 2020-06-13 Philipp Klaus Krause <pkk AT spth.de>
10129         * src/SDCCpeeph.c:
10130           isPort: Implement RFE #679 via patch #372 by Basil Hussain.
10132 2020-06-12 Philipp Klaus Krause <pkk AT spth.de>
10134         * src/SDCCast.c,
10135           src/SDCCerr.c,
10136           src/SDCCerr.h,
10137           src/pdk/gen.c,
10138           src/stm8/gen.c,
10139           support/regression/tests/bug-3043.c,
10140           support/valdiag/tests/bug-3043.c:
10141           Fix bug #3043.
10143 2020-06-09 Philipp Klaus Krause <pkk AT spth.de>
10145         * src/SDCCmain.c:
10146           Fix bug #3033.
10148 2020-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10150         * src/SDCCloop.c (basicInduction): Fix bug #3022
10152 2020-06-08 Philipp Klaus Krause <pkk AT spth.de>
10154         * src/z80/gen.c:
10155           Disable use of z80n push nn until bug #3032 is fixed.
10156         * device/lib/ez80_z80/README,
10157           device/lib/ez80_z80/crt0.s,
10158           device/lib/ez80_z80/setjmp.s,
10159           device/lib/z180/crt0.s,
10160           device/lib/z80/crt0.s:
10161           eZ80 setjmp/longjmp improvement, patch by b-s-a.
10163 2020-06-08 Philipp Klaus Krause <pkk AT spth.de>
10165         * support/regression/ports/ucz80n,
10166           support/regression/Makefile.in,
10167           support/regression/fwk/include/testfwk.h:
10168           z80n regression testing infrastructure.
10169         * device/include/stdatomic.h,
10170           device/lib/atomic_flag_clear.c,
10171           device/lib/z80n/Makefile.in:
10172           atomic_flag for z80n.
10173         * src/SDCCglue.c:
10174           Fix __sfr handling for z80n.
10175         * src/z80/gen.c:
10176           Fix z80n immediate push, use pop / push for z80n like for z80.
10178 2020-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10180         * src/SDCCopt.c (optimizeOpWidth),
10181           src/SDCCloop.c (loopInduction): Fix bug #3027
10182         * support/regression/tests/bug-3027: Add test
10184 2020-06-07 Philipp Klaus Krause <pkk AT spth.de>
10186         * src/z80/peep.c,
10187           src/z80/peeph-gbz80.def:
10188           Improve z80 peephole functions, patch by Baŝto.
10189         * device/include/mcs51/stc89.h:
10190           STC89 header, patch by Diego Elio Pettenò.
10192 2020-06-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10194         * src/hc08/gen.c (genAddrOf): Make better use of HX
10196 2020-06-05 Philipp Klaus Krause <pkk AT spth.de>
10198         * src/SDCC.y,
10199           support/valdiag/tests/bug-3011.c:
10200           Fix bug #3011.
10202 2020-06-05 Philipp Klaus Krause <pkk AT spth.de>
10204         * src/SDCC.y,
10205           support/valdiag/tests/bug-3014.c:
10206           Fix bug #3014.
10208 2020-06-04 Philipp Klaus Krause <pkk AT spth.de>
10210         * src/z80/main.c,
10211           src/z80/peep.c,
10212           src/z80/peeph-gbz80.def:
10213           notUsed for gbz80, patch by Baŝto.
10215 2020-06-03 Philipp Klaus Krause <pkk AT spth.de>
10217         * src/SDCCast.c:
10218           Fix bug #3006, patch by Roy Rankin.
10220 2020-06-03 Philipp Klaus Krause <pkk AT spth.de>
10222         * src/SDCCmem.c,
10223           src/SDCCast.c,
10224           support/valdiag/tests/bug-3010.c:
10225           Fix bug #3010.
10226         * src/SDCC.y,
10227           support/valdiag/tests/bug-3009.c:
10228           Fix bug #3009.
10229         * src/stm8/gen.c:
10230           Improve assignment from 8-bit I/O to file-scope and static objects.
10232 2020-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
10234         * src/mcs51/peeph.def: added rule 302
10236 2020-05-30 Maarten Brock <sourceforge.brock AT dse.nl>
10238         * src/mcs51/ralloc.c (getRegBitTry): reverted to getRegBit
10239           (serialRegAssign): prefer to spil bit over using register
10240           (fillGaps): bug fix, do not change reg_type
10242 2020-05-29 Philipp Klaus Krause <pkk AT spth.de>
10244         * src/pdk/gen.c:
10245           Improve comparison with 0xff.
10247 2020-05-29 Philipp Klaus Krause <pkk AT spth.de>
10249         * src/pdk/ralloc2.cc,
10250           src/pdk/gen.c,
10251           support/regression/tests/bug-3007.c:
10252           Improve jump-on-decrement.
10254 2020-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
10256         * device/lib/hc08/atomic_flag_test_and_set.c: fix warning
10257         * device/lib/s08/atomic_flag_test_and_set.c: fix warning
10259 2020-05-28 Philipp Klaus Krause <pkk AT spth.de>
10261         * src/pdk/ralloc2.cc,
10262           src/pdk/gen.c,
10263           support/regression/tests/bug-3007.c:
10264           Fix bug #3007.
10266 2020-05-28 Maarten Brock <sourceforge.brock AT dse.nl>
10268         * src/SDCCcse.c (ifxOptimize): do not replace condition after '-' so
10269           djnz and alike can be generated
10270         * src/mcs51/gen.c (aopOp, aopGet, aopPut, outBitC): bugfix, fill
10271           aop_dir with "c" for ru_only and acc_use AOP_CRY
10272           (genCmp): fixed warning
10273         * src/SDCCsymt.h: removed unused printSymChain, printStruct
10274         * src/hc08/gen.c (genAddrOf): increased buffer to fix warning
10276 2020-05-25 Philipp Klaus Krause <pkk AT spth.de>
10278         * src/stm8/gen.c:
10279           Improve stack operand range assertion.
10281 2020-05-24 Philipp Klaus Krause <pkk AT spth.de>
10283         * device/lib/pdk13/Makefile.in,
10284           device/lib/pdk13/__gptrget2.s,
10285           device/lib/pdk13/__setjmp.s:
10286           Fix missing asm support functions for pdk13.
10287         * Makefile.common.in,
10288           Makefile.in,
10289           configure.ac,
10290           configure,
10291           sdccconf_in.h:
10292           Fix --disable-z80n-port configure option.
10294 2020-05-23 Philipp Klaus Krause <pkk AT spth.de>
10296         * src/stm8/gen.c:
10297           Stack operand range assertion.
10299 2020-05-23 Maarten Brock <sourceforge.brock AT dse.nl>
10301         * src/SDCCsymt.c (addDecl): removed fix for bug 1253, no longer required
10302         * support/regression/tests/bug1253.c: new, added
10304 2020-05-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10306         * src/SDCCicode.c (operandFromSymbol),
10307           src/SDCCmem.c (allocLocal): fix bug #3003
10308         * support/regression/tests/bug-3003.c: enable test
10310 2020-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10312         * src/SDCCicode.c,
10313           src/SDCCicode.h: new support functions for updating operands
10314                            and their def/use
10315         * src/SDCCopt.c: final fixes for bug #2828
10317 2020-05-21 Philipp Klaus Krause <pkk AT spth.de>
10319         * support/regression/tests/bug-3003.c:
10320           Regression test for bug #3003 (disabled until bug is fixed).
10322 2020-05-19 Philipp Klaus Krause <pkk AT spth.de>
10324         * device/include/iso646.h,
10325           support/regression/tests/iso646.c:
10326           Fix compl macro.
10328 2020-05-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10330         * src/SDCCicode.c: Fix bug #2827
10332 2020-05-18 Philipp Klaus Krause <pkk AT spth.de>
10334         * src/SDCCBBlock.c,
10335           src/SDCCerr.c,
10336           src/SDCCerr.h,
10337           src/SDCCglobl.h,
10338           src/SDCCglue.c,
10339           src/SDCCmain.c,
10340           src/pic14/glue.c,
10341           src/pic14/pcode.c,
10342           src/pic14/ralloc.c,
10343           src/pic16/glue.c,
10344           src/pic16/pcode.c,
10345           src/pic16/ralloc.c,
10346           src/z80/main.c:
10347           Improve file open error messages (patch by jbit).
10349 2020-05-17 Philipp Klaus Krause <pkk AT spth.de>
10351         * doc/sdccman.lyx:
10352           Fix link to wiki (was still pointing at previous, no-longer-existing wiki).
10354 2020-05-15 Philipp Klaus Krause <pkk AT spth.de>
10356         * src/stm8/gen.c,
10357           support/regression/tests/bug-3002.c:
10358           Fix bug #3002.
10359         * device/lib/*/Makefile.in:
10360           Compile libraries with --max-allocs-per-node 25000 for more optimization.
10362 2020-05-11 Philipp Klaus Krause <pkk AT spth.de>
10364         * support/regression/tests/wchar.c:
10365           Fix bug #2572
10367 2020-05-11 Maarten Brock <sourceforge.brock AT dse.nl>
10369         * support/regression/tests/wchar.c: fix bug #2572
10371 2020-05-10 Philipp Klaus Krause <pkk AT spth.de>
10373         * src/SDCC.y,
10374           src/SDCCerr.h,
10375           src/SDCCerr.c,
10376           support/valdiag/tests/enum.c,
10377           support/regression/tests/enum.c:
10378           Fix handling of trailing comma after enumerator list.
10380 2020-05-10 Philipp Klaus Krause <pkk AT spth.de>
10382         * support/scripts/sdcc.nsi:
10383           Fix bug #2972 for tlcs90.
10384         * support/valdiag/Makefile.in:
10385           Fix bug #2971.
10386         * src/SDCC.y,
10387           src/SDCCerr.h,
10388           src/SDCCerr.c:
10389           Align grammar more closely with C2X draft N2479.
10391 2020-05-07 Philipp Klaus Krause <pkk AT spth.de>
10393         * src/z80/gen.c:
10394           Fix bug #3001.
10396 2020-05-05 Philipp Klaus Krause <pkk AT spth.de>
10398         * sdas/asz80/z80.h,
10399           sdas/asz80/z80mch.c,
10400           sdas/asz80/z80pst.c:
10401           Remove Z80N MMU instruction support.
10403 2020-05-04 Philipp Klaus Krause <pkk AT spth.de>
10405         * src/z80/gen.c,
10406           src/z80/peep.c:
10407           Implement RFE #676.
10408         * device/lib/pic16/libc/stdlib/g_ftoa.S,
10409           device/lib/pic16/libc/utils/cvtdec.S:
10410           Fix bug #3000 (patch by Roy Rankin).
10412 2020-05-03 Philipp Klaus Krause <pkk AT spth.de>
10414         * sdas/asz80/z80mch.c,
10415           src/z80/gen.c,
10416           src/z80/peep.c:
10417           Support Z80N mlt and swap instructions, part of RFE #573, #656.
10419 2020-05-03 Philipp Klaus Krause <pkk AT spth.de>
10421         * src/z80/gen.c:
10422           Improve stack parameter pushing, overlaps with RFE #676.
10424 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10426         * src/z80/gen.c:
10427           Fix a bug in pushing on-stack-parameters on r2k.
10429 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10431         * src/z80/gen.c,
10432           src/z80/ralloc2.cc:
10433           Improve ifx on 8-bit value (remaining part of RFE #668).
10435 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10437         * Merge z80n branch.
10439 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10441         * support/regression/tests/gcc-torture-execute-pr88714.c:
10442           Bug #2949 wasn't a bug, just lack of RAM resulting in a stack overflow.
10444 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10446         * src/pdk/gen.c:
10447           Improve pointer write on rematerialized stack location.
10449 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10451         * src/pdk/gen.c,
10452           support/regression/tests/gcc-torture-execute-950511-1.c:
10453           Fix bug #2938.
10455 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10457         * src/pdk/gen.c:
10458           Improve pointer read on rematerialized stack location.
10460 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10462         * src/pdk/gen.c,
10463           support/regression/tests/gcc-torture-execute-20000113-1.c:
10464           Fix bug #2937.
10466 2020-04-26 Philipp Klaus Krause <pkk AT spth.de>
10468         * support/regression/tests/bug-2995.c:
10469           Disable test for mcs51, pdk until I find out how to place space_a segment in RAM in a regression test.
10471 2020-04-25 Philipp Klaus Krause <pkk AT spth.de>
10473         * .version:
10474           Bump version post 4.0.0-release.
10475         * src/SDCCsymt.c,
10476           src/SDCCopt.c,
10477           src/SDCCmem.c,
10478           support/regression/tests/bug-2995.c:
10479           Fix bug #2995.
10481 2020-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10483         * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
10484           Check for either __PPC__ or __POWERPC__
10486 2020-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10488         * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
10489           Disable test for GCC on PPC instead of clang
10491 2020-04-21 Philipp Klaus Krause <pkk AT spth.de>
10493         * support/regression/tests/bug-2993.c:
10494           Disable test for mcs51-huge (bug #2994).
10495         * support/regression/tests/callee_saves.c:
10496           Fix macro spelling to enable for mcs51.
10498 2020-04-15 Philipp Klaus Krause <pkk AT spth.de>
10500         * src/stm8/gen.c,
10501           support/regression/tests/bug-2993.c:
10502           Fix bug #2993.
10504 2020-04-11 Philipp Klaus Krause <pkk AT spth.de>
10506         * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
10507           Disable test for clang, since older clang is known to fail it (resulting in false macOS regression test failures).
10508         * src/SDCCast.c,
10509           src/SDCCicode.c:
10510           Simplify code removing obstacles for struct parameter support.
10512 2020-04-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10514         * sim/ucsim/z80.src/ez80.cc: change int8_t to i8_t
10516 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
10518         * src/pdk/gen.c,
10519           support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10520           Fix bug #2992.
10522 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
10524         * src/stm8/gen.c,
10525           support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10526           Fix bug #2989.
10528 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
10530         * src/pdk/gen.c,
10531           support/regression/tests/mm-pnvi-ae-udi-pointer_offset_from_int_subtraction_auto_xy.c,
10532           support/regression/tests/mm-pnvi-ae-udi-pointer_offset_from_int_subtraction_auto_yx.c,
10533           support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10534           Fix bug #2990.
10536 2020-04-03 Philipp Klaus Krause <pkk AT spth.de>
10538         * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_2.c,
10539           support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_2_xy.c:
10540           Fix bug #2991.
10542 2020-04-03 Philipp Klaus Krause <pkk AT spth.de>
10544         * support/regression/tests/mm-pnvi-ae-udi-*:
10545           Memory model tests, RFE #672.
10547 2020-03-31 Philipp Klaus Krause <pkk AT spth.de>
10549         * device/lib/realloc.c:
10550           Document some realloc details.
10552 2020-03-22 Philipp Klaus Krause <pkk AT spth.de>
10554         * src/stm8/gen.c,
10555           support/regression/tests/gcc-torture-execute-strlen-4.c:
10556           Fix stm8-specific aspect of bug #2987.
10558 2020-03-22 Philipp Klaus Krause <pkk AT spth.de>
10560         * src/SDCCast.c,
10561           support/valdiag/Makefile.in,
10562           support/valdiag/valdiag.py,
10563           support/valdiag/tests/bug-2984.c:
10564           Fix bug #2984, enable valdiag tests for pdk13 and pdk14.
10565         * support/regression/tests/gcc-torture-execute-strlen-4.c:
10566           Partially enable a test that now compiles.
10568 2020-03-12 Philipp Klaus Krause <pkk AT spth.de>
10570         * src/SDCCsymt.c,
10571           support/regression/tests/bug-2817.c,
10572           support/regression/tests/bug-2973.c:
10573           Fix bugs #2817 and #2973, patches by Thomas.
10575 2020-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10577         * device/lib/hc08/Makefile.in,
10578         * device/lib/s08/Makefile.in: add atomic_flag_clear.c
10580 2020-03-09 Philipp Klaus Krause <pkk AT spth.de>
10582         * device/include/stdatomic.h,
10583           device/lib/atomic_flag_clear.c,
10584           device/lib/*/atomic_flag_test_and_set.s,
10585           device/lib/*/Makfeile.in,
10586           support/regression/tests/atomic.c:
10587           Basic atomic_flag support.
10589 2020-03-06 Philipp Klaus Krause <pkk AT spth.de>
10591         * src/z80/peep.c,
10592           support/regression/tests/bug-2982.c:
10593           Fix bug #2982.
10594         * src/z80/gen.c:
10595           Improve code generation for 16-bit addition with literal.
10597 2020-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10599         * src/mcs51/gen.c,
10600         * src/ds390/gen.c: fixed bug #2980
10602 2020-02-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10604         * src/z80/peeph-z80.def,
10605           src/z80/peeph-r2k.def:
10606           Improve flexibility of some peephole rules.
10608 2020-02-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10610         * src/z80/peeph-z80.def:
10611           Additional z80 peephole rules picked from patch #314 by b-s-a.
10613 2020-02-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10615         * src/SDCCopt.c,
10616           src/z80/gen.c:
10617           Allow non-literal third argument for ldir-memcpy().
10619 2020-02-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10621         * src/z80/gen.c:
10622           Use macros for immediate data to improve assembler portability, patch #315 by b-s-a.
10624 2020-02-09 Philipp Klaus Krause <pkk AT spth.de>
10626         * src/z80/peeph-gbz80.def:
10627           Fix bug #2974.
10629 2020-01-23 Philipp Klaus Krause <pkk AT spth.de>
10631         * sdas/linksrc/Makefile.in:
10632           Fix bug #2969.
10634 2020-01-22 Philipp Klaus Krause <pkk AT spth.de>
10636         * src/z80/gen.c:
10637           Fix bug #2967.
10639 2020-01-19 Philipp Klaus Krause <pkk AT spth.de>
10641         * doc/sdccman.lyx:
10642           Fix a typo in documentation.
10644 2020-01-18 Philipp Klaus Krause <pkk AT spth.de>
10646         * doc/sdccman.lyx:
10647           Update manual.
10648         * .version,
10649           doc/INSTALL.txt,
10650           sdcc.spec:
10651           Bump version in preparation of 4.0.0 release.
10653 2020-01-14 Philipp Klaus Krause <pkk AT spth.de>
10655         * src/z80/peep.c,
10656           support/regression/tests/bug-2966.c:
10657           Fix bug #2966.
10659 2020-01-14 Benedikt Freisen <b.freisen AT gmx.net>
10661         * src/SDCCglue.c,
10662           support/regression/tests/fptr_cast_array_init.c:
10663           Implement feature request #598 (Cannot initialize arrays with type cast function pointers).
10665 2020-01-13 Benedikt Freisen <b.freisen AT gmx.net>
10667         * src/SDCCast.c,
10668           support/regression/tests/bug-2859.c,
10669           support/valdiag/tests/bug-2859.c:
10670           Fix bug #2859 (Cannot compare function to 0)
10672 2020-01-13 Benedikt Freisen <b.freisen AT gmx.net>
10674         * src/SDCC.y,
10675           src/SDCCerr.c,
10676           src/SDCCerr.h: Add parser rules and an error message for compound literals.
10678 2020-01-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10680         * configure.ac,
10681           configure,
10682           src/SDCC.lex: Gracefully handle when uchar.h is missing
10684 2020-01-10 Benedikt Freisen <b.freisen AT gmx.net>
10686         * sdas/asxxsrc/asdata.c,
10687           sdas/asxxsrc/aslex.c,
10688           sdas/asxxsrc/asxxxx.h,
10689           sdas/linksrc/aslink.h,
10690           sdas/linksrc/lkdata.c,
10691           sdas/linksrc/lklex.c:
10692           Make the character input routines in sdas and sdld 8-bit-safe (bug #2961) and interpret all extended ASCII characters as letters.
10693         * src/SDCC.lex,
10694           src/SDCCutil.c,
10695           support/regression/tests/idf_ucn_utf8.c:
10696           Add compiler support for UCNs and non-ASCII-utf8 in identifiers (patch #311) -- the internal representation is utf8.
10698 2020-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10700         * src/hc08/gen.c,
10701           support/regression/tests/bug-2825.c:
10702           Fix bug #2825.
10703         * support/regression/tests/gcc-torture-execute-20040409-1.c,
10704           support/regression/tests/gcc-torture-execute-20040409-2.c,
10705           support/regression/tests/gcc-torture-execute-20040409-3.c:
10706           Remove some tests that depend on older GCC implementation-defined behaviour on signed int overflow.
10708 2020-01-08 Philipp Klaus Krause <pkk AT spth.de>
10710         * src/stm8/gen.c,
10711           support/regression/tests/bug-2964.c:
10712           Fix bug #2964.
10714 2019-12-29 Philipp Klaus Krause <pkk AT spth.de>
10716         * src/stm8/ralloc2.cc,
10717           src/stm8/gen.c,
10718           src/SDCCsymt.c:
10719           Reenable partial register allocation for stm8, that was accidentially partially disabled when enabling the new stack allocator.
10721 2019-12-15 Philipp Klaus Krause <pkk AT spth.de>
10723         * src/z80/gen.c:
10724           Use add dd, a for z80n.
10725         * support/scripts/sdcc.nsi:
10726           Include z80n library in Windows installer.
10728 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10730         * src/z80/gen.c:
10731           Enable use of rld and rrd for z80n.
10733 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10735         * src/z80/gen.c:
10736           Use tst a, n for z80n.
10738 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10740         * src/z80/gen.c:
10741           Revive non-destructive &.
10743 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10745         * src/z80/gen.c,
10746           src/z80/peep.c:
10747           Use add dd, nn for z80n.
10749 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10751         * src/z80/gen.c,
10752           src/z80/ralloc2.cc:
10753           Use push nn for z80n.
10755 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10757         * sdas/asrab/rabmch.c:
10758           Fix ex (sp), hl for Rabbits.
10759         * src/z80/gen.c:
10760           Fix an issue in eZ80 pointer read.
10762 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10764         * configure,
10765           configure.ac,
10766           device/lib/Makefile.in,
10767           device/lib/clean.mk,
10768           device/lib/z80n/Makefile.in,
10769           sdcc.spec,
10770           src/SDCCgue.c,
10771           src/SDCCmain.c,
10772           src/SDCCopt.c,
10773           src/port.h,
10774           src/z80/gen.c,
10775           src/z80/main.c,
10776           src/z80/z80.h,
10777           device/include/*,
10778           device/lib/z80n:
10779           Infrastructure for z80n backend.
10781 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10783         * src/SDCCopt.c,
10784           support/regression/tests/bug-2932.c:
10785           Fix bug #2932.
10787 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10789         * src/SDCCopt.c,
10790           support/regression/tests/bug-2932.c:
10791           Fix bug #2932.
10793 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10795         * src/z80/gen.c,
10796           src/z80/ralloc2.cc,
10797           src/z80/main.c:
10798           Improve use of sbc hl, rr in comparisons, part of RFE #641.
10800 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10802         * src/z80/gen.c,
10803           src/z80/ralloc2.cc:
10804           Improve <<, part of RFE #639.
10806 2019-12-10 Philipp Klaus Krause <pkk AT spth.de>
10808         * support/regression/tests/literalop.c:
10809           Avoid testing for undefined behaviour that happens to be implementation-defined in GCC, but not clang.
10811 2019-12-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10813         * src/SDCClospre.cc:
10814           Improve handling of ADDRESS_OF.
10815         * support/regression/tests/bug-2957.c:
10816           Test for bug #2957.
10817         * src/pdk/gen.c,
10818           support/regression/tests/bug-2959.c,
10819           support/regression/tests/bug-2958.c:
10820           Fix bugs #2959, #2958.
10822 2019-12-02 Philipp Klaus Krause <pkk AT spth.de>
10824         * support/regression/tests/string.c:
10825           Make preprocessor guards compatible with default setting of clang-9.
10827 2019-11-28 Philipp Klaus Krause <pkk AT spth.de>
10829         * src/SDCClrange.c,
10830           support/regression/tests/bug-2956.c:
10831           Fix bug #2956.
10833 2019-11-22 Philipp Klaus Krause <pkk AT spth.de>
10835         * src/SDCC.y:
10836           Fix bug #2953.
10838 2019-11-21 Philipp Klaus Krause <pkk AT spth.de>
10840         * src/SDCC.y:
10841           Fix bug #2954.
10843 2019-11-21 Philipp Klaus Krause <pkk AT spth.de>
10845         * src/SDCC.y:
10846           Revert previous syntax error on multiple data types commit, since it broke __at (which in SDCC is a type specifier).
10848 2019-11-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10850         * src/SDCC.y:
10851           Allow C2X attribute declarations and attribute arguments.
10853 2019-11-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10855         * src/SDCC.y:
10856           Reorganize grammar by appendix A.2 of C2X.
10858 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10860         * src/SDCC.lex,
10861           src/SDCC.y,
10862           src/SDCCerr.h,
10863           src/SDCCerr.c:
10864           Allow C2X attributes on statements.
10866 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10868         * src/pdk/gen.c,
10869           support/regression/tests/gcc-torture-execute-20181120-1.c:
10870           Fix bug #2947.
10871         * src/SDCC.lex,
10872           support/regression/tests/c2xkeywords.c:
10873           Support C2X keyword from N2457.
10874         * support/regression/tests/gcc-torture-execute-pr47148.c,
10875           support/regression/tests/gcc-torture-execute-pr63659.c,
10876           support/regression/tests/gcc-torture-execute-pr64682.c:
10877           Enable some tests that depend on C99 features now supported by SDCC.
10879 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10881         * support/regression/tests/gcc-torture-execute-*:
10882           Add more GCC tests, RFE #652.
10884 2019-11-14 Philipp Klaus Krause <pkk AT spth.de>
10886         * src/z80/peeph-z80.def,
10887           src/z80/peeph-tlcs90.def,
10888           src/z80/peeph-r2k.def,
10889           src/z80/peeph-gbz80.def:
10890           Improve fix for bug #2914.
10892 2019-11-11 Philipp Klaus Krause <pkk AT spth.de>
10894         * src/SDCC.lex,
10895           src/SDCCval.c,
10896           src/SDCCerr.h,
10897           src/SDCCerr.c:
10898           C2X u8 character constants (N2418).
10900 2019-11-09 Philipp Klaus Krause <pkk AT spth.de>
10902         * src/SDCClospre.cc,
10903           support/regression/tests/bug-2942.c:
10904           Fix bug #2942.
10906 2019-11-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10908         * support/regression/ports/pdk15-stack-auto/spec.mk:
10909           Increase timeout for regression testing on ARMv6.
10911 2019-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10913         * src/SDCClrange.c:
10914           Allow more live-range shortening for stm8, pdk.
10916 2019-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10918         * src/stm8/gen.c:
10919           Improve wide & by small constants and register result.
10920         * src/SDCCsymt.c,
10921           src/SDCCerr.h,
10922           src/SDCCerr.c,
10923           support/valdiag/tests/bug-2940.c:
10924           Fix bug #2940.
10926 2019-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10928         * src/pdk/gen.c,
10929           src/stm8/gen.c,
10930           src/z80/gen.c:
10931           Fix a bug in optimization of tail calls in interrupt handlers.
10933 2019-11-02 Philipp Klaus Krause <pkk AT spth.de>
10935         * support/scripts/sdcc.nsi:
10936           Fix Windows installation of pdk13 and pdk15-stack-auto files.
10938 2019-11-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10940         * support/sdbinutils/binutils/Makefile.am,
10941           support/sdbinutils/binutils/Makefile.in: prefer static linked libz
10942           for the Windows snapshot builds so that we don't need another DLL
10944 2019-11-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10946         * src/SDCCsymt.c,
10947           src/SDCCopt.c,
10948           support/regression/tests/bug-2907.c:
10949           Fix bug #2907.
10950         * support/regression/ports/pdk15-stack-auto/spec.mk:
10951           Increase timeout for regression testing on ARMv6.
10953 2019-10-25 Philipp Klaus Krause <pkk AT spth.de>
10955         * src/stm8/gen.c:
10956           Fix handling of rematerialized pointers to the stack in y.
10958 2019-10-24 Philipp Klaus Krause <pkk AT spth.de>
10960         * src/stm8/peeph.def,
10961           src/stm8/gen.c,
10962           src/stm8/ralloc.c:
10963           Various small improvements.
10965 2019-10-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10967         * src/stm8/gen.c,
10968           src/pdk/gen.c:
10969           Improve ! of bool.
10971 2019-10-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10973         * src/stm8/gen.c:
10974           Register shuffling fix, small | improvement.
10976 2019-10-21 Philipp Klaus Krause <pkk AT spth.de>
10978         * src/pdk/gen.c:
10979           Fix an issue in stack operands of shifts.
10980         * support/regression/tests/gcc-torture-execute-20000113-1.c,
10981           support/regression/tests/gcc-torture-execute-950511-1.c,
10982           support/regression/tests/gcc-torture-execute-pr42833.c:
10983           Disable tests failing due to known bugs.
10985 2019-10-16 Philipp Klaus Krause <pkk AT spth.de>
10987         * src/pdk/gen.c:
10988           Fix a typo that resulted in comp being emitted for pdk13.
10990 2019-10-19 Philipp Klaus Krause <pkk AT spth.de>
10992         * device/lib/pdk15-stack-auto/__setjmp.s:
10993           Fix bug #2934.
10994         * src/pdk/gen.c:
10995           Fix 3 issues in handling of non-dead p.
10997 2019-10-16 Philipp Klaus Krause <pkk AT spth.de>
10999         * src/pdk/gen.c:
11000           Use pdk15 comp.
11002 2019-10-15 Philipp Klaus Krause <pkk AT spth.de>
11004         * src/stm8/gen.c:
11005           Fix code generation for calls via function pointers.
11007 2019-10-14 Philipp Klaus Krause <pkk AT spth.de>
11009         * Merge pic14 branch.
11011 2019-10-13 Philipp Klaus Krause <pkk AT spth.de>
11013         * src/SDCCicode.h,
11014           src/SDCCicode.c,
11015           src/SDCCsalloc.hpp,
11016           src/stm8/gen.c,
11017           src/z80/gen.c,
11018           src/pdk/gen.c:
11019           Improve tail call optimization.
11021 2019-10-11 Philipp Klaus Krause <pkk AT spth.de>
11023         * src/SDCCsymt.h:
11024           Fix error message, patch #307 by RvS.
11025         * src/SDCCsymt.c:
11026           Indentation fix.
11028 2019-10-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11030         * src/pic14/glue.c:
11031           Improve compability with trunk, patches by Gonzalo Pérez de Olaguer Córdoba.
11033 2019-10-06 Philipp Klaus Krause <pkk AT spth.de>
11035         * sdas/aspdk15/pdk15pst.c:
11036           Fix swapc bug #2935.
11038 2019-10-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11040         * src/pdk/gen.c:
11041           Improve handling of stack operands in comparison.
11043 2019-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11045         * src/pdk/gen.c:
11046           Fixes and improvements for stack operands.
11047         * .version:
11048           Bump version for advances in -mpdk15 --stack-auto.
11049         * configure.ac,
11050           configure,
11051           sim/ucsim/configure.ac,
11052           sim/ucsim/configure,
11053           sdccconf_in.h,
11054           sim/ucsim/ddconfig_in.h:
11055           Remove check for strerror(), which is part of C89 and used unconditionally in SDCC anyway.
11057 2019-09-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11059         * src/pdk/gen.c:
11060           Fixes and improvements for stack operands.
11061         * configure,
11062           configure.ac,
11063           device/lib/Makefile.in,
11064           device/lib/clean.mk,
11065           device/lib/pdk15-stack-auto,
11066           src/pdk/main.c,
11067           support/regression/Makefile.in,
11068           support/regression/ports/pdk15-stack-auto:
11069           Infrastructure for -mpdk15 --stack-auto regression testing.
11071 2019-09-28 Philipp Klaus Krause <pkk AT spth.de>
11073         * src/pdk/gen.c:
11074           Fixes for stack operands and rematerialized stack locations.
11076 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11078         * src/pdk/gen.c:
11079           Fixes for stack operands.
11081 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11083         * src/pdk/gen.c:
11084           Fix tracking of pseudoregister in shifts.
11086 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11088         * src/pdk/ralloc.c:
11089           Fix a bug affecting rematerialized addresses cast to integers of multiple widths.
11091 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11093         * src/pdk/gen.c,
11094           src/pdk/ralloc2.cc:
11095           Improve register allocation.
11097 2019-09-26 Philipp Klaus Krause <pkk AT spth.de>
11099         * src/pdk/gen.c,
11100           src/pdk/gen.h,
11101           src/pdk/ralloc.c,
11102           src/pdk/ralloc2.cc:
11103           Rematerialize stack adresses, improve handling of on-stack operands.
11105 2019-09-25 Philipp Klaus Krause <pkk AT spth.de>
11107         * src/pdk/gen.c,
11108           support/regression/tests/gcc-torture-execute-20020402-3.c,
11109           support/regression/tests/gcc-torture-execute-divconst-2.c,
11110           support/regression/tests/gcc-torture-execute-pr78791.c:
11111           Fixes for on-stack operands.
11113 2019-09-24 Philipp Klaus Krause <pkk AT spth.de>
11115         * support/regression/tests/addsub.c,
11116           support/regression/tests/ato.c,
11117           support/regression/tests/bitfields.c,
11118           support/regression/tests/bitwise.c,
11119           support/regression/tests/bug-2621.c,
11120           support/regression/tests/bug-2833.c,
11121           support/regression/tests/bug1115321.c,
11122           support/regression/tests/bug3410878.c,
11123           support/regression/tests/bug3521024.c,
11124           support/regression/tests/compare.c,
11125           support/regression/tests/condopptr.c,
11126           support/regression/tests/constantRange.c,
11127           support/regression/tests/ctype.c,
11128           support/regression/tests/funptrs.c,
11129           support/regression/tests/gcc-torture-execute-20000603-1.c,
11130           support/regression/tests/gcc-torture-execute-20000731-1.c,
11131           support/regression/tests/gcc-torture-execute-20020201-1.c,
11132           support/regression/tests/gcc-torture-execute-20020506-1.c,
11133           support/regression/tests/gcc-torture-execute-20040409-2.c,
11134           support/regression/tests/gcc-torture-execute-ashldi-1.c,
11135           support/regression/tests/gcc-torture-execute-ashrdi-1.c,
11136           support/regression/tests/gcc-torture-execute-divcmp-4.c,
11137           support/regression/tests/gcc-torture-execute-divconst-3.c,
11138           support/regression/tests/gcc-torture-execute-divmod-1.c,
11139           support/regression/tests/gcc-torture-execute-lshrdi-1.c,
11140           support/regression/tests/gcc-torture-execute-pr19606.c,
11141           support/regression/tests/gcc-torture-execute-pr39339.c,
11142           support/regression/tests/gcc-torture-execute-pr19606.c,
11143           support/regression/tests/gcc-torture-execute-string-opt-5.c,
11144           support/regression/tests/gcc-torture-execute-pr19606.c,
11145           support/regression/tests/gcc-torture-execute-va-arg-10.c
11146           support/regression/tests/gcc-torture-execute-pr19606.c,
11147           support/regression/tests/gcc-torture-execute-va-arg-9.c,
11148           support/regression/tests/gcc-torture-execute-pr19606.c,
11149           support/regression/tests/logic.c,
11150           support/regression/tests/gcc-torture-execute-pr19606.c,
11151           support/regression/tests/malloc.c,
11152           support/regression/tests/gcc-torture-execute-pr19606.c,
11153           support/regression/tests/memory.c,
11154           support/regression/tests/gcc-torture-execute-pr19606.c,
11155           support/regression/tests/muldiv.c,
11156           support/regression/tests/gcc-torture-execute-pr19606.c,
11157           support/regression/tests/onebyte.c,
11158           support/regression/tests/gcc-torture-execute-pr19606.c,
11159           support/regression/tests/rotate.c,
11160           support/regression/tests/shifts.c,
11161           support/regression/tests/shifts2.c,
11162           support/regression/tests/staticinit.c,
11163           support/regression/tests/string.c,
11164           support/regression/tests/switch.c,
11165           support/regression/tests/wchar.c:
11166           Preparations for -mpdk15 --stack-auto regression testing.
11168 2019-09-24 Philipp Klaus Krause <pkk AT spth.de>
11170         * src/SDCCopt.c,
11171           src/pdk/gen.c,
11172           support/regression/ports/pdk14/support.c,
11173           support/regression/ports/pdk15/support.c:
11174           Fixes for on-stack operands.
11176 2019-09-21 Philipp Klaus Krause <pkk AT spth.de>
11178         * src/pdk/gen.c,
11179           src/pdk/ralloc2.cc,
11180           src/pdk/peeph.def:
11181           Fixes for on-stack operands.
11183 2019-09-16 Philipp Klaus Krause <pkk AT spth.de>
11185         * src/pdk/gen.c,
11186           src/pdk/ralloc2.cc:
11187           Fixes for on-stack operands.
11189 2019-09-13 Philipp Klaus Krause <pkk AT spth.de>
11191         * src/z80/gen.c:
11192           Fix wide load via pointer with register result in ahl.
11194 2019-09-12 Philipp Klaus Krause <pkk AT spth.de>
11196         * src/pdk/gen.c:
11197           Fixes for on-stack operands.
11199 2019-09-09 Philipp Klaus Krause <pkk AT spth.de>
11201         * src/pdk/gen.c:
11202           Various improvements.
11203         * device/lib/_fseq.c:
11204           Refactor to reduce RAM use.
11206 2019-09-09 Philipp Klaus Krause <pkk AT spth.de>
11208         * src/pdk/gen.c:
11209           Improve handling of stack operands.
11211 2019-09-08 Philipp Klaus Krause <pkk AT spth.de>
11213         * src/pdk/gen.c:
11214           Fix handling of stack operands in right shift.
11216 2019-09-08 Philipp Klaus Krause <pkk AT spth.de>
11218         * src/pdk/gen.c,
11219           src/pdk/ralloc2.cc:
11220           Improve push.
11222 2019-09-07 Philipp Klaus Krause <pkk AT spth.de>
11224         * src/pdk/gen.c:
11225           Improve subtraction flexibility.
11227 2019-09-03 Philipp Klaus Krause <pkk AT spth.de>
11229         * src/pdk/ralloc2.cc,
11230           src/SDCCsalloc.hpp,
11231           src/pdk/ralloc.c,
11232           support/regression/tests/gcc-torture-execute-va-arg-19.c:
11233           Use Chaitin-style allocator for stack variables.
11234         * src/pdk/gen.c:
11235           Optimize out assignments between coalesced stack variables.
11237 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11239         * src/pdk/gen.c:
11240           Emulate nadd a, m for pdk14, pdk13.
11242 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11244         * src/pdk/gen.c,
11245           src/SDCCopt.c,
11246           support/regression/tests/bug-2931.c:
11247           Fix bug #2931.
11249 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11251         * src/pdk/gen.c,
11252           support/regression/tests/nadd.c:
11253           Use nadd in subtraction for pdk15.
11255 2019-08-22 Philipp Klaus Krause <pkk AT spth.de>
11257         * sim/ucsim/pdk.src/glob.cc,
11258           sim/ucsim/pdk.src/inst.cc,
11259           sim/ucsim/pdk.src/instcl.h,
11260           sim/ucsim/pdk.src/pdk.cc,
11261           sim/ucsim/pdk.src/pdkcl.h,
11262           sim/ucsim/pdk.src/regspdk.h:
11263           pdk13 I/O fix (patch #305 by Serge Rabyking).
11264           .version:
11265           Bump version for all the pdk13 fixes we got so far.
11266         * src/z80/gen.c,
11267           src/z80/ralloc2.cc:
11268           Improve unsigned char right shift by literal (also part of RFE #639).
11270 2019-08-20 Philipp Klaus Krause <pkk AT spth.de>
11272         * src/z80/gen.c:
11273           Improve wide ==, !=, part of RFE #641.
11275 2019-08-19 Philipp Klaus Krause <pkk AT spth.de>
11277         * src/z80/gen.c,
11278           src/z80/ralloc2.cc,
11279           support/regression/test/bug-2929.c:
11280           Fix bug #2929.
11282 2019-08-17 Philipp Klaus Krause <pkk AT spth.de>
11284         * device/lib/strdup.c:
11285           Fix strdup buffer overflow (patch #306).
11287 2019-08-16 Philipp Klaus Krause <pkk AT spth.de>
11289         * src/z80/ralloc2.cc,
11290           src/z80/gen.c:
11291           Improve ~ register allocation (RFE #638).
11293 2019-08-16 Philipp Klaus Krause <pkk AT spth.de>
11295         * src/z80/gen.c,
11296           src/z80/peeph-z80.def,
11297           src/z80/peeph-tlcs90.def,
11298           src/z80/peeph-r2k.def:
11299           Improve caching of zero on pointer write.
11301 2019-08-16 Philipp Klaus Krause <pkk AT spth.de>
11303         * src/z80/gen.c:
11304           Improve assignment.
11305         * device/include/string.h,
11306           device/lib/strdup.c,
11307           device/lib/strndup.c,
11308           device/lib/incl.mk:
11309           Implement C2X string duplication functions.
11311 2019-08-14 Philipp Klaus Krause <pkk AT spth.de>
11313         * src/z80/peep.c:
11314           Improve notUsed() precision, alternative to patch from z88dk fork.
11315         * src/stm8/*.def:
11316           Add rule from patch #304.
11317         * src/z80/gen.c:
11318           Improve load of hl.
11320 2019-08-14 Philipp Klaus Krause <pkk AT spth.de>
11322         * src/stm8/peep.c,
11323           src/stm8/peeph.def:
11324           stm8 peephole optimization improvements, mostly picked from patch #290.
11325         * sdas/asxxsrc/asmcro.c:
11326           Improve sdas behaviour on internal error, patch from bug #2626.
11327         * src/z80/peep.c:
11328           Pick some peephole optimization improvements from z88dk fork.
11330 2019-08-12 Philipp Klaus Krause <pkk AT spth.de>
11332         * sdas/aspdk13/pdk13mch.c:
11333           Bit instruction fixes by Free-PDK.
11334         * device/lib/pdk13/__gptrget.s:
11335           Pointer read fix as suggested by Serge Rabyking (see patch #305).
11337 2019-07-24 Philipp Klaus Krause <pkk AT spth.de>
11339         * src/z80/gen.c:
11340           Small improvements in handling of wide values.
11342 2019-07-18 Philipp Klaus Krause <pkk AT spth.de>
11344         * support/regression/tests/bug-2363.c:
11345           Disabled a test that won't work on pic14 due to lack of memory.
11347 2019-07-17 Philipp Klaus Krause <pkk AT spth.de>
11349         * src/z80/gen.c:
11350           Improve aop moves (in particular wrt. 16-bit ld).
11352 2019-07-12 Philipp Klaus Krause <pkk AT spth.de>
11354         * device/include/ctype.h,
11355           device/include/pic14/stdlib.h,
11356           support/regression/fwk/include/testfwk.h:
11357           Minor improvements towards pic14 regression testing suggested by Gonzalo Pérez de Olaguer Córdoba.
11359 2019-07-11 Philipp Klaus Krause <pkk AT spth.de>
11361         * device/lib/pic14/libsdcc/idata.c:
11362           Fix missing extern declaration of main.
11364 2019-07-11 Philipp Klaus Krause <pkk AT spth.de>
11366         * .version:
11367           Reflect recent progress on pdk13 by bumping the version number.
11369 2019-07-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11371         * sim/ucsim/pdk.src/inst.cc,
11372           sdas/aspdk13/pdk13pst.c,
11373           sdas/aspdk13/pdk13mch.c,
11374           src/pdk/main.c,
11375           src/pdk/gen.c:
11376           Remove cneqsn for pdk13 fixing bug #2923.
11378 2019-07-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11380         * src/pic14/gen.c:
11381           Fixes for bit-fields, from patches by Gonzalo Pérez de Olaguer Córdoba.
11382         * src/pic14/glue.c:
11383           Fixes from patches by Gonzalo Pérez de Olaguer Córdoba.
11385 2019-06-30 Philipp Klaus Krause <pkk AT spth.de>
11387         * src/z80/gen.c,
11388           support/regression/tests/preserves_regs.c:
11389           Improve handling of iy, should fix bug #2918.
11391 2019-06-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11393         * src/z80/ralloc.c,
11394           src/hc08/ralloc.c,
11395           src/mcs51/ralloc.c,
11396           src/ds390/ralloc.c,
11397           src/stm8/ralloc.c,
11398           src/pdk/ralloc.c,
11399           src/pic14/ralloc.c,
11400           src/pic16/ralloc.c: fix bug #2920
11401         * src/hc08/gen.c: fix bug with negative array index
11403 2019-06-28 Philipp Klaus Krause <pkk AT spth.de>
11405         * src/pdk/peeph.def:
11406           Add a rule suggested by Free-PDK in RFE #630.
11407         * sdas/aspdk13/pdk13mch.c:
11408           Fix curly brackets.
11409         * Makefile.in:
11410           Fail build if any assembler fails to build.
11412 2019-06-27 Philipp Klaus Krause <pkk AT spth.de>
11414         * sdas/aspdk13/pdk13pst.c,
11415           sdas/aspdk13/pdk13mch.c:
11416           Fix bug #2919 via suggestion by Free-PDK.
11418 2019-06-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11420         * Merge pdk branch to trunk.
11422 2019-06-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11424         * sdas/aspdk13/pdk13pst.c,
11425           sdas/aspdk13/pdk13mch.c:
11426           Fix bug #2915 via suggestion by Free-PDK.
11427         * configure.ac,
11428           configure:
11429           Disable pdk16 port by default.
11431 2019-06-23 Philipp Klaus Krause <pkk AT spth.de>
11433         * support/regression/tests/*.c:
11434           Disable some tests for pic14 that won't work anytime soon.
11435           Partially picked from patch by Gonzalo Pérez de Olaguer Córdoba.
11436         * src/SDCCast.c,
11437           src/pic14/gen.c,
11438           src/pic14/gen.h,
11439           src/pic14/genarith.c,
11440           src/pic14/pcode.c,
11441           src/pic14/pcodepeep.c,
11442           src/pic14/ralloc.c:
11443           Fixes from patch by Gonzalo Pérez de Olaguer Córdoba.
11445 2019-06-22 Philipp Klaus Krause <pkk AT spth.de>
11447         * src/z88/ralloc2.cc,
11448           src/z80/gen.c:
11449           Improve handling of a in bitwise operations.
11450         * src/pdk/main.c:
11451           Fix bug #2916.
11452         * src/z80/peeph-z80.def:
11453           Fix bug #2914.
11455 2019-06-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11457         * support/scripts/sdcc.nsi: pic14/libm no longer has *.c files
11458           to install
11460 2019-06-18 Philipp Klaus Krause <pkk AT spth.de>
11462         * src/z80/ralloc2.cc,
11463           src/z80/gen.c:
11464           Improve handling of a in &.
11466 2019-06-18 Philipp Klaus Krause <pkk AT spth.de>
11468         * src/z80/ralloc2.cc:
11469           Fix an issue in register allocation for GET_VALUE_AT_ADRESS.
11471 2019-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11473         * support/regression/tests/bug-2912.c:
11474           Fix a typo that resulted in a test being accidentially enabled for pdk.
11475         * src/z80/gen.c:
11476           Fix handling of swapped register operand in 16-bit shift by literal.
11478 2019-06-16 Philipp Klaus Krause <pkk AT spth.de>
11480         * src/z80/ralloc2.cc,
11481           src/SDCCgen.h,
11482           src/SDCCgen.c,
11483           src/z80/gen.c:
11484           Improve handling of a.
11486 2019-06-16 Philipp Klaus Krause <pkk AT spth.de>
11488         * src/z80/gen.c:
11489           Fix an issue in iy shuffling.
11491 2019-06-15 Philipp Klaus Krause <pkk AT spth.de>
11493         * src/z80/gen.c,
11494           src/z80/ralloc.c,
11495           src/z80/ralloc2.cc:
11496           Handle iy like other registers.
11498 2019-06-15 Philipp Klaus Krause <pkk AT spth.de>
11500         * src/z80/gen.c,
11501           src/z80/ralloc2.cc:
11502           Minor register allocation improvement,
11503           fix a --reserve-regs-iy issue.
11505 2019-06-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11507         * src/z80/gen.c,
11508           support/regression/tests/bug-2912.c:
11509           Fix bug #2912.
11511 2019-06-13 Philipp Klaus Krause <pkk AT spth.de>
11513         * src/regression/*:
11514           Update pic-specific rudimentary regression test framework.
11516 2019-06-12 Philipp Klaus Krause <pkk AT spth.de>
11518         * Merge pic14 branch.
11520 2019-06-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11522         * device/lib/pic14/Makefile.common,
11523           device/lib/pic14/Makefile.in,
11524           device/lib/pic14/libc/Makefile.in,
11525           device/lib/pic14/libm/Makefile.in,
11526           device/lib/pic14/libsdcc/enhanced/Makefile.in,
11527           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
11528           device/lib/pic14/libsdcc/regular/Makefile.in:
11529           Fix another pic14 out-of-tree-build issue.
11531 2019-06-11 Philipp Klaus Krause <pkk AT spth.de>
11533         * device/include/ctype.h,
11534           device/include/pic14/stdlib.h:
11535           Work around some pic14 inlining issue.
11536         * sdcc/aclocal.m4,
11537           sdcc/config.guess,
11538           sdcc/config.sub,
11539           sdcc/device/lib/pic14/install-sh,
11540           sdcc/device/lib/pic14/libc/Makefile.am,
11541           sdcc/device/lib/pic14/libc/Makefile.in,
11542           sdcc/device/lib/pic14/libm/Makefile.am,
11543           sdcc/device/lib/pic14/libm/Makefile.in,
11544           sdcc/device/lib/pic14/libsdcc/enhanced/Makefile.am,
11545           sdcc/device/lib/pic14/libsdcc/enhanced/Makefile.in,
11546           sdcc/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.am,
11547           sdcc/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
11548           sdcc/device/lib/pic14/libsdcc/regular/Makefile.am,
11549           sdcc/device/lib/pic14/libsdcc/regular/Makefile.in,
11550           sdcc/device/lib/pic14/missing,
11551           sdcc/install-sh,
11552           sdcc/sim/ucsim/ddconfig_in.h,
11553           support/sdbinutils/bfd/doc/bfdver.texi:
11554           Fix pic14 library out-of-tree build.
11555         * device/lib/pic14/configure.ac,
11556           device/lib/pic14/configure:
11557           Disable default build of extra libary flavors.
11559 2019-06-11 Philipp Klaus Krause <pkk AT spth.de>
11561         * device/include/ctype.h,
11562           device/include/pic14/stdlib.h:
11563           Work around some pic14 inlining issue.
11565 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11567         * src/SDCCpeeph.c,
11568           src/pdk/gen.c,
11569           src/pdk/peep.c,
11570           src/pdk/peeph.def:
11571           pdk peephole improvements.
11573 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11575         * src/pdk/main.c,
11576           src/pdk/peep.h,
11577           src/pdk/peep.c,
11578           src/pdk/peeph.def:
11579           notUsed() and notUsedFrom().
11580         * src/stm8/peep.c,
11581           src/z80/peep.c:
11582           Fixes for notUsedFrom().
11584 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11586         * src/SDCCpeeph.c,
11587           src/pdk/gen.c,
11588           src/pdk/peep.c,
11589           src/pdk/peeph.def:
11590           pdk peephole improvements.
11592 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11594         * src/pdk/main.c,
11595           src/pdk/peep.h,
11596           src/pdk/peep.c,
11597           src/pdk/peeph.def:
11598           notUsed() and notUsedFrom().
11599         * src/stm8/peep.c,
11600           src/z80/peep.c:
11601           Fixes for notUsedFrom().
11603 2019-06-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11605         * device/include/wchar.h,
11606           device/lib/mbrtowc.c,
11607           device/lib/mbtowc.c,
11608           device/lib/wctomb.c,
11609           support/regression/tests/constantRange.c,
11610           support/regression/tests/driverstruct.c,
11611           support/regression/tests/float.c,
11612           support/regression/tests/nullstring.c,
11613           support/regression/tests/snprintf.c:
11614           Library and test improvements, from patch by Gonzalo Pérez de Olaguer Córdoba.
11615         * src/pic14/glue.c,
11616           src/pic14/main.c:
11617           Predefined macros for pic14 variants, patch by Gonzalo Pérez de Olaguer Córdoba.
11618         * device/lib/clean.mk:
11619           Cleanup pdk13 library files.
11620         * device/include/asm/pic14/features.h,
11621           device/include/pic14,
11622           device/lib/pic14,
11623           src/SDCCsymt.c,
11624           src/pic14/main.c:
11625           pic14 library cleanup, patch by Gonzalo Pérez de Olaguer Córdoba.
11626         * sdas/asz80/z80mch.c:
11627           Fix bug #2910.
11628         * src/pdk/gen.c:
11629           Use xch for wide in-place shift by 8.
11631 2019-06-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11633         * support/regress/tests/gcc-torture-execute-pr34456.c:
11634           added missing __reentrant and re-enabled for ds390
11636 2019-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11638         * support/regression/tests/bugs-1596270-1736867.c:
11639           re-enable test for ds390; it passes now
11641 2019-05-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11643         * src/ds390/gen.c: fix assignment into far space from dph/dpl
11644         * src/mcs51/peep.c: fix bug #2909
11646 2019-05-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11648         * src/pdk/gen.c:
11649           Improve arithmetic right shift.
11650         * src/hc08/gen.c:
11651           Minor improvements suggested by Tony Papadimitriou.
11652         * src/stm8/gen.c,
11653           support/regression/tests/gcc-torture-execute-stdarg-5.c:
11654           Improve addition flexibility wrt. register assignment.
11656 2019-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11658         * src/SDCCcse.c,
11659           src/SDCCopt.c: fix some def/use bugs
11660         * support/regression/tests/gcc-torture-execute-stdarg-5.c:
11661           disable test for stm8, unimplemented addition op
11662         * src/mcs51/ralloc.c,
11663           src/ds390/ralloc.c,
11664           src/hc08/ralloc.c,
11665           src/z80/ralloc.c,
11666           src/pdk/ralloc.c,
11667           src/pic14/ralloc.c,
11668           src/pic16/ralloc.c: fix a live range bug
11670 2019-05-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11672         * device/include/string.h,
11673           device/lib/incl.mk,
11674           device/lib/memccpy.c,
11675           support/regression/tests/memory.c:
11676           Implement C2X memccpy().
11678 2019-04-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11680         * src/pdk/ralloc.c,
11681           src/pdk/gen.c:
11682           Improve register packing.
11684 2019-04-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11686         * src/pdk/gen.c,
11687           src/pdk/peeph.def:
11688           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.
11690 2019-04-24 Philipp Klaus Krause <pkk AT spth.de>
11692         * doc/sdccman.lyx:
11693           Fix note on endianness.
11695 2019-04-21 Philipp Klaus Krause <pkk AT spth.de>
11697         * src/pdk/gen.c:
11698           Fix bug #2904.
11699         * src/z80/gen.c:
11700           Implement RFE #623.
11702 2019-04-18 Philipp Klaus Krause <pkk AT spth.de>
11704         * sim/ucsim/pdk.src/inst.cc:
11705           Fix addc m, a, patch by Nicolas Lesser,
11706           fix subs m, a.
11707         * src/pdk/gen.c:
11708           +=, -= optimization; fix wide == between stack and register operand.
11710 2019-04-17 Philipp Klaus Krause <pkk AT spth.de>
11712         * sim/ucsim/pdk.src/pdk.cc:
11713           Fix register dump, patch by Nicolas Lesser.
11715 2019-04-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11717         * src/pdk/gen.c:
11718           Various fixes and improvements.
11719         * src/SDCCpeeph.c,
11720           src/pdk/peeph.def:
11721           Remove untargeted labels.
11722         * support/regression/tests/*.c:
11723           Disable tests that won't work anytime soon on pkd15.
11724         * sim/ucsim/globals.cc:
11725           More verbose pdk subtype output.
11727 2019-04-16 Philipp Klaus Krause <pkk AT spth.de>
11729         * sdas/aspdk16,
11730           Makefile.common.in,
11731           Makefile.in,
11732           configure,
11733           configure.ac,
11734           sdas/asxxsrc/sdas.c,
11735           sdas/asxxsrc/sdas.h:
11736           Infrastructure for pdk16 assembler, based on patch
11737           by Leo and Nicolas.
11739 2019-04-16 Philipp Klaus Krause <pkk AT spth.de>
11741         * Merged pdk branch to trunk.
11743 2019-04-15 Philipp Klaus Krause <pkk AT spth.de>
11745         * sdas/linksrc/lkrloc3.c:
11746           pdk13 linker fix, patch By Nicolas Lesser.
11748 2019-04-15 Philipp Klaus Krause <pkk AT spth.de>
11750         * Merged post-3.9 branch to trunk.
11752 2019-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11754         * src/pdk/gen.c:
11755           Fix POINTER_SET with left operand on stack, right operand in pseudo-register.
11757 2019-04-14 Philipp Klaus Krause <pkk AT spth.de>
11759         * support/regression/tests/bug-460010.c,
11760           support/regression/tests/bug1928022.c,
11761           support/regression/tests/gcc-torture-execute-991216-2.c,
11762           support/regression/tests/gcc-torture-execute-va-arg-1.c,
11763           support/regression/tests/gcc-torture-execute-va-arg-15.c:
11764           Disable some tests for pdk15, on which they won't work anytime soon.
11765         * src/pdk/gen.c:
11766           Improve handling of 16-bit return value,
11767           fix stack parameters,
11768           fix carry in comparison of wide stack values.
11769         * src/pdk/peeph.def:
11770           Remove double exchange.
11772 2019-04-13 Philipp Klaus Krause <pkk AT spth.de>
11774         * src/pdk/gen.c:
11775           Fix a bug in 16-bit store from registers via rematerialized pointer with non-zero offset;
11776           fix a bug in handling of on-stack operands to &,|;
11777           fix a bug in handling of past-end offsets for stack operands.
11779 2019-04-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11781         * src/pdk/gen.c:
11782           Fix handling of -0.0 in ifx.
11784 2019-04-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11786         * sdas/linksrc/lkrloc3.c:
11787           Linker warning improvement, patch by Nicolas Lesser.
11788         * support/regression/tests/*.c:
11789           Disable some tests for pdk15, on which they won't work anytime soon.
11790         * src/pdk/gen.c:
11791           Fix wide left shift by large literal.
11792         * sim/ucsim/pdk.src/glob.cc,
11793           sim/ucsim/pdk.src/glob.h,
11794           sim/ucsim/pdk.src/inst.cc,
11795           sim/ucsim/pdk.src/instcl.h,
11796           sim/ucsim/pdk.src/pdk.cc:
11797           pdk13 simulator, patch by Nicolas Lesser.
11799 2019-04-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11801         * support/regression/tests/*.c:
11802           Disable some tests for pdk15, on which they won't work anytime soon.
11803         * sdas/linksrc/aslink.h,
11804           sdas/linksrc/lkmain.c,
11805           sdas/linksrc/lkrloc3.c:
11806           Linker memory size warning fixes, patches by Nicolas Lesser.
11807         * src/pdk/ralloc.c:
11808           Fix handling of shift result assigned to sfr.
11810 2019-04-06 Philipp Klaus Krause <pkk AT spth.de>
11812         * sdas/aspdk13/pdk13pst.c,
11813           sdas/aspdk13/pdk13mch.c:
11814           Assembler fixes.
11816 2019-04-05 Philipp Klaus Krause <pkk AT spth.de>
11818         * sdas/aspdk13/pdk13pst.c,
11819           sdas/aspdk13/pdk13mch.c:
11820           Assembler fixes.
11822 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11824         * sdas/aspdk13/pdk13mch.c,
11825           sdas/aspdk13/pdk13pst.c:
11826           Assembler fix, patch by Leo.
11827         * sim/ucsim/pdk.src/pdk.cc:
11828           Simulator fix, patch by Nicolas Lesser.
11830 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11832         * .version,
11833           doc/INSTALL.txt,
11834           sdcc.spec:
11835           Bump version in preparation of 3.9.0 release.
11837 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11839         * support/regression/tests/*:
11840           Disable some tests for pdk15, on which they won't work anytime soon.
11841         * sdas/aspdk15/pdk15mch.c
11842           Assembler fix, patch by Nicolas Lesser.
11843         * sim/ucsim/pdk.src/inst.cc,
11844           sim/ucsim/pdk.src/pdk.cc,
11845           sim/ucsim/pdk.src/regspdk.h:
11846           Simulator fix, patch by Nicolas Lesser.
11847         * sdas/aspdk13/pdk13mch.c:
11848           Assembler fix, patch by Leo.
11850 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11852         * src/pdk/gen.c,
11853           support/regression/tests/bug-2274.c:
11854           Support dummy write for handling of uninitialized variables, better code for write of literal to bit-field.
11855         * sim/ucsim/pdk.src/inst.cc:
11856           Fix dec m for pdk15.
11857         * support/regression/tests/bitfields.c,
11858           support/regression/tests/bug-2181.c,
11859           support/regression/tests/bug-2197.c,
11860           support/regression/tests/bug-221100.c,
11861           support/regression/tests/bug-221168.c,
11862           support/regression/tests/bug-2305.c,
11863           support/regression/tests/bug-2349.c,
11864           support/regression/tests/bug-2357.c,
11865           support/regression/tests/bug-2363.c,
11866           support/regression/tests/bug-2373.c,
11867           support/regression/tests/bug-2455.c,
11868           support/regression/tests/bug-2497.c:
11869           Disable some tests for pdk15, on which they won't work anytime soon.
11870         * sdas/linksrc/lkmain.c,
11871           sdas/linksrc/lkrloc3.c,
11872           sdas/linksrc/sdld.c,
11873           sdas/linksrc/sdld.h:
11874           Fix bug #2896, patch by Nicolas Lesser.
11875         * src/pdk/main.c:
11876           Enable peephole optimizer for pdk13, pdk15.
11877         * sim/ucsim/pdk.src/inst.cc:
11878           Fix and m, a, patch by Nicolas Lesser.
11880 2019-04-04 Philipp Klaus Krause <pkk AT spth.de>
11882         * sdas/aspdk15/pdk15mch.c,
11883           sdas/asxxsrc/asout.c,
11884           sdas/linksrc/lkrloc3.c:
11885           Assembler fix, patch by Nicolas Lesser.
11886         * support/regression/fwk/include/testfwk.h,
11887           support/regression/tests/absolute.c,
11888           support/regression/tests/bug-1918.c,
11889           support/regression/tests/bug-2124.c,
11890           support/regression/tests/bug-2271.c:
11891           Towards regression testing for pdk15.
11893 2019-04-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11895         * sdas/aspdk13/pdk13mch.c:
11896           Assembler fixes, patch by Leo.
11897         * sdas/aspdk13/pdk13pst.c:
11898           Assembler fixes.
11899         * device/lib/Makefile.in:
11900           Build pdk13 library.
11901         * sim/ucsim/globals.cc,
11902           sim/ucsim/pdk.src/*,
11903           sim/ucsim/stypes.h,
11904           pdk15 simulator, patch by Nicolas Lesser.
11905         * support/regression/Makefile.in,
11906           support/regression/ports/pdk15:
11907           pdk15 regression testing infrastructure.
11909 2019-04-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11911         * src/z80/peep.c:
11912           Fix bug #2898.
11914 2019-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11916         * src/pdk/gen.c,
11917           support/regression/tests/bug-2897.c:
11918           Fix bug #2897.
11919         * sdas/aspdk14/pdk14mch.c,
11920           sdas/aspdk15/pdk15mch.c,
11921           sdas/asxxsrc/asout.c,
11922           sdas/asxxsrc/sdas.c,
11923           sdas/asxxsrc/sdas.h,
11924           sdas/linksrc/lkrloc3.c:
11925           Fix bug #2900, patch by Nicolas Lesser.
11927 2019-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11929         * device/include/signal.h,
11930           device/include/stdint.h:
11931           Support sig_atomic_t.
11932         * src/stm8/peep.c,
11933           src/stm8/peeph.def:
11934           Peephole improvements, picked from patch #290 by Visenri.
11935         * src/z80/peeph-gbz80.def,
11936           src/z80/peeph-r2k.def,
11937           src/z80/peeph-z80.def:
11938           Peephole rule improvements, patch by b-s-a.
11940 2019-04-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11942         * src/SDCCpeeph.c,
11943           src/pdk/gen.c,
11944           src/pdk/main.c,
11945           src/pdk/peeph.def:
11946           Basic peephole optimizer.
11947         * sdas/aspdk13/pdk13mch.c,
11948           sdas/aspdk13/pdk13pst.c:
11949           Basic pdk13 assembler, patch by Leo.
11951 2019-04-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11953         * sdas/aspdk15/Makefile:
11954           Remove generated file from svn.
11956 2019-04-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11958         * configure,
11959           configure.ac,
11960           Makefile.in,
11961           Makefile.common.in,
11962           sdas/aspdk13:
11963           Infrastructure for pdk13 assembler.
11965 2019-03-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11967         * src/SDCCast.c,
11968           src/SDCCsymt.h,
11969           src/SDCCsymt.c,
11970           src/SDCCval.c,
11971           support/regression/tests/bug-2751.c,
11972           support/regression/tests/generic.c:
11973           Fix bug #2751.
11974         * sdas/aspdk/pdk.h,
11975           sdas/aspdk/pdkmch.c,
11976           sdas/aspdk14/pdk14mch.c,
11977           sdas/aspdk15/pdk15mch.c:
11978           Bit instruction fix, patch by Nicolas Lesser.
11980 2019-03-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11982         * src/SDCCopt.c: fix bug #2892
11984 2019-03-28 Philipp Klaus Krause <pkk AT spth.de>
11986         * src/SDCCglue.c:
11987           Fix bug #2837, patch by Alan Cox.
11988         * sdas/asrab/rabmch.c,
11989           sdas/asrab/rabpst.c:
11990           Support standard ipset syntax, patch by Alan Cox.
11991         * src/z80/gen.c:
11992           Fix an increment bug, patch by Nick Downing.
11994 2019-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11996         * sdas/asxxsrc/sdas.c,
11997         * sdas/asxxsrc/sdas.h,
11998         * sdas/aspdk14/pdk14mch.c,
11999         * sdas/aspdk15/pdk15mch.c: possible fix for bug #2890
12001 2019-03-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12003         * src/SDCCcse.c: fix bug #2099
12004         * support/regression/tests/gcc-torture-execute-20041019-1.c:
12005           re-enable test
12007 2019-03-21 Philipp Klaus Krause <pkk AT spth.de>
12009         * doc/sdccman.lyx:
12010           Update manual.
12012 2019-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12014         * src/SDCCast.c: fix bug #2834
12015         * support/regression/tests/bug-2834.c: re-enable test
12016         * src/ds390/ralloc.c: fix bug #2603
12017         * support/regression/tests/gcc-torture-execute-20021120-1.c:
12018           re-enable test
12020 2019-03-21 Philipp Klaus Krause <pkk AT spth.de>
12022         * device/lib/pdk14/__setjmp.s,
12023           device/lib/pdk15/__setjmp.s,
12024           device/lib/pdk14/Makefile.in,
12025           device/lib/pdk15/Makefile.in,
12026           support/regression/tests/setjmp.c,
12027           support/regression/tests/gcc-torture-execute-20010409-1.c,
12028           support/regression/tests/gcc-torture-execute-pr60003.c:
12029           setjmp() / longjmp() for pdk.
12031 2019-03-21 Philipp Klaus Krause <pkk AT spth.de>
12033         * support/regression/tests/gcc-torture-execute-20051110-2.c:
12034           Enable a test (bug got fixed a few days ago via patch by Nicolas).
12035         * device/lib/Makefile.in,
12036           device/lib/*/Makefile.in,
12037           support/regression/tests/wchar.c,
12038           support/regression/tests/bug-2855.c:
12039           Fix bug #2855.
12041 2019-03-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12043         * src/SDCCopt.c: fix bug #2793
12044         * support/regression/tests/bug-2793: re-enable test
12045         * support/regression/tests/gcc-torture-execute-20120817-1.c:
12046           re-enable test
12048 2019-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12050         * src/hc08/main.c: fix bug #2713
12051         * support/regression/tests/bug2783061.c: bug #2713 tested
12053 2019-03-20 Philipp Klaus Krause <pkk AT spth.de>
12055         * support/scripts/sdcc.nsi:
12056           Include pdk libraries in Windows installer.
12058 2019-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12060         * device/lib/_ulong2fs.c: fix bug #2787
12061         * support/regression/tests/gcc-torture-execute-floatunsisf-1.c:
12062           re-enable test
12063         * src/ds390/gen.c: fix bug #2835
12064         * support/regression/tests/bug-2833.c: re-enable tests
12066 2019-03-19 Philipp Klaus Krause <pkk AT spth.de>
12068         * support/scripts/sdcc.nsi:
12069           Include pdk binaries in Windows installer.
12071 2019-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12073         * device/lib/_modslonglong.c: fix bug #2790
12074         * support/regression/tests/gcc-torture-execute-arith-rand-ll.c:
12075           re-enable tests
12077 2019-03-19 Philipp Klaus Krause <pkk AT spth.de>
12079         * sim/ucsim/pdk.src/inst.cc:
12080           Simulator fixes, patches by Nicolas Lesser.
12081         * sdas/aspdk15/pdk15mch.c:
12082           Assembler fix, patch by Nicolas Lesser
12083         * support/regression/tests/staticinit.c,
12084           src/pdk/gen.c,
12085           src/pdk/ralloc2.cc:
12086           Implement RFE #614.
12088 2019-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12090         * src/ds390/gen.c: fix bug #2702
12091         * device/lib/_rrulonglong.c,
12092         * device/lib/_rrslonglong.c: fix bug #2704
12093         * support/regression/tests/longlong.c: re-enable tests for
12094           hc08/s08/ds390, add more long long shifting tests
12095         * support/regression/tests/gcc-torture-execute-ashldi-1.c,
12096         * support/regression/tests/gcc-torture-execute-ashrdi-1.c,
12097         * support/regression/tests/gcc-torture-execute-divconst-3.c,
12098         * support/regression/tests/gcc-torture-execute-lshrdi-1.c,
12099         * support/regression/tests/gcc-torture-execute-vrp-7.c:
12100           re-enable tests
12103 2019-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12105         * src/pdk/gen.c:
12106           Improve |=, &=, ^=.
12108 2019-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12110         * src/pdk/gen.c,
12111           src/pdk/ralloc2.cc,
12112           support/regression/tests/bug3564104.c:
12113           Improve register allocation for shift and addition, RFE #608.
12114         * support/valdiag/valdiag.py,
12115           support/valdiag/Makefile.in:
12116           Enable testing of diagnostics for pdk14.
12118 2019-03-17 Philipp Klaus Krause <pkk AT spth.de>
12120         * src/pdk/ralloc2.cc,
12121           src/pdk/gen.c,
12122           support/regression/tests/gcc-torture-execute-20020508-2.c,
12123           support/regression/tests/gcc-torture-execute-pr41750.c:
12124           Improve register allocation, RFE #611, RFE #612, RFE #606.
12126 2019-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12128         * sim/ucsim/aclocal.m4,
12129         * sim/ucsim/configure.ac,
12130         * sim/ucsim/configure: reverting previous changes; go back to
12131           using default C++ dialect instead of C++11
12133 2019-03-17 Philipp Klaus Krause <pkk AT spth.de>
12135         * src/pdk/ralloc2.cc,
12136           src/pdk/gen.c,
12137           support/regression/tests/gcc-torture-execute-pr70005.c:
12138           Better register allocation for assignment, RFE #615, fix some bugs in code generation.
12140 2019-03-16 Philipp Klaus Krause <pkk AT spth.de>
12142         * src/pdk/ralloc2.cc,
12143           src/pdk/gen.c:
12144           Better register allocation for surviving ifx operands, RFE #610.
12146 2019-03-16 Philipp Klaus Krause <pkk AT spth.de>
12148         * support/regression/tests/gcc-torture-execute-divcmp-2.c:
12149           Enable passing test for pdk14.
12150         * src/z80/gen.c,
12151           support/regression/tests/z88dk.c,
12152           support/regression/tests/bug-2881.c:
12153           Fix bug #2881.
12155 2019-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12157         * sim/ucsim/aclocal.m4,
12158         * sim/ucsim/configure.ac,
12159         * sim/ucsim/configure: request c++11 dialect
12161 2019-03-15 Philipp Klaus Krause <pkk AT spth.de>
12163         * src/pdk/gen.c:
12164           Cheaper adjustment of pointer in p.
12165         * device/include/limits.h,
12166           support/regression/tests/bug-2885.c:
12167           Fix bug #2885.
12169 2019-03-15 Philipp Klaus Krause <pkk AT spth.de>
12171         * src/pdk/gen.c:
12172           Fix calculation of cycle cost.
12173         * support/regression/tests/gcc-torture-execute-va-arg-19.c,
12174           support/regression/tests/gcc-torture-execute-960302-1.c,
12175           support/regression/tests/getbyte.c,
12176           support/regression/tests/literalop.c:
12177           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12178         * support/regression/tests/gcc-torture-execute-20041011-1.c:
12179           Redisable test for ds390 that got enabled accientially.
12180         * support/regression/tests/gcc-torture-execute-pr34456.c:
12181           Disable a test for ds390, where it fails (bug #2883).
12182         * sim/ucsim/pdk.src/glob.cc:
12183           Fix ret k debug output, patch by Nicolas Lesser.
12184         * src/SDCCglue.c:
12185           Fix initalization of const pointers to non-const char for pdk.
12186         * src/pdk/ralloc2.cc,
12187           support/regression/tests/bug2817646.c:
12188           Improve register allocation for pointer read and some arithmetic operations.
12189         * support/regression/tests/gcc-torture-execute-20051110-2.c:
12190           Disable test that fails due to bug #2884.
12191         * src/SDCCopt.c:
12192           Move width optimization so that it gets proper information from ic sequencing.
12194 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12196         * support/regression/tests/cse.c,
12197           support/regression/tests/gcc-torture-execute-991216-2.c,
12198           support/regression/tests/gcc-torture-execute-pr70005.c,
12199           support/regression/tests/swap.c:
12200           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12202 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12204         * Merged pdk branch to trunk.
12206 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12208         * support/regression/tests/gcc-torture-execute-20000412-2.c,
12209           support/regression/tests/gcc-torture-execute-20180112-1.c,
12210           support/regression/tests/gcc-torture-execute-920922-1.c,
12211           support/regression/tests/gcc-torture-execute-arith-rand.c,
12212           support/regression/tests/gcc-torture-execute-ashldi-1.c,
12213           support/regression/tests/gcc-torture-execute-divconst-3.c,
12214           support/regression/tests/gcc-torture-execute-divmod-1.c,
12215           support/regression/tests/gcc-torture-execute-index-1.c,
12216           support/regression/tests/gcc-torture-execute-loop-15.c,
12217           support/regression/tests/gcc-torture-execute-multdi-1.c,
12218           support/regression/tests/gcc-torture-execute-pr39100.c,
12219           support/regression/tests/gcc-torture-execute-pr49419.c,
12220           support/regression/tests/gcc-torture-execute-pr60454.c,
12221           support/regression/tests/gcc-torture-execute-pr61306-1.c,
12222           support/regression/tests/gcc-torture-execute-pr61306-2.c,
12223           support/regression/tests/gcc-torture-execute-pr64979.c,
12224           support/regression/tests/gcc-torture-execute-pr78378.c,
12225           support/regression/tests/gcc-torture-execute-pr79121.c,
12226           support/regression/tests/onebyte.c,
12227           support/regression/tests/gcc-torture-execute-va-arg-1.c,
12228           support/regression/tests/gcc-torture-execute-va-arg-12.c,
12229           support/regression/tests/gcc-torture-execute-va-arg-15.c,
12230           support/regression/tests/gcc-torture-execute-va-arg-16.c,
12231           support/regression/tests/gcc-torture-execute-va-arg-18.c,
12232           support/regression/tests/gcc-torture-execute-va-arg-26.c,
12233           support/regression/tests/gcc-torture-execute-va-arg-5.c,
12234           support/regression/tests/gcc-torture-execute-va-arg-6.c,
12235           support/regression/tests/gcc-torture-execute-va-arg-9.c,
12236           support/regression/tests/gcc-torture-execute-loop-8.c:
12237           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12238         * src/pdk/gen.c:
12239           Fix non-dead-register bugs, fix a carry issue.
12241 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12243         * device/lib/pdk14/Makefile.in,
12244           device/lib/pdk14/__gptrget.s,
12245           device/lib/pdk15/Makefile.in,
12246           device/lib/pdk15/__gptrget.s,
12247           src/pdk/gen.c,
12248           src/pdk/ralloc2.cc:
12249           Improve read of 16-bit value via pointer.
12250         * support/regression/tests/gcc-torture-execute-pure-1.c,
12251           support/regression/tests/gcc-torture-execute-string-opt-18.c,
12252           support/regression/tests/io.c,
12253           support/regression/tests/key.c,
12254           support/regression/tests/string.c,
12255           support/regression/tests/switch.c:
12256           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12257         * src/SDCCglue.c:
12258           Fix UTF-16 and UTF-16 string literals for pdk.
12260 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12262         * doc/sdccman.lyx,
12263           src/SDCCast.c,
12264           support/regression/tests/vaargs.c:
12265           Disable omission of integer promotion of varargs for pdk.
12266         * device/include/stdarg.h:
12267           Fix variable arguments for pdk.
12268           src/pdk/gen.c:
12269           Fix stack adjustment for reentrant function returning 16-bit value.
12270         * support/regression/tests/bug2084206.c,
12271           support/regression/tests/gcc-torture-execute-920721-1.c,
12272           support/regression/tests/gcc-torture-execute-920829-1.c,
12273           support/regression/tests/gcc-torture-execute-921013-1.c,
12274           support/regression/tests/gcc-torture-execute-921124-1.c,
12275           support/regression/tests/gcc-torture-execute-980604-1.c:
12276           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12278 2019-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12280         * src/hc08/gen.c: fix bug in optimized 2 byte swap
12281         * support/regression/tests/bool.c: pass all ds390 tests now
12283 2019-03-13 Philipp Klaus Krause <pkk AT spth.de>
12285         * support/regression/tests/gcc-torture-execute-pr39339.c,
12286           support/regression/tests/gcc-torture-execute-pr41750.c,
12287           support/regression/tests/gcc-torture-execute-pr42833.c,
12288           support/regression/tests/gcc-torture-execute-pr43236.c,
12289           support/regression/tests/gcc-torture-execute-pr44575.c,
12290           support/regression/tests/gcc-torture-execute-20030717-1.c,
12291           support/regression/tests/gcc-torture-execute-20031204-1.c,
12292           support/regression/tests/gcc-torture-execute-20040409-2.c,
12293           support/regression/tests/gcc-torture-execute-20050218-1.c,
12294           support/regression/tests/gcc-torture-execute-20050502-1.c,
12295           support/regression/tests/gcc-torture-execute-20050826-1.c,
12296           support/regression/tests/gcc-torture-execute-20060110-2.c,
12297           support/regression/tests/gcc-torture-execute-20090207-1.c_
12298           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12299         * src/pdk/gen.c:
12300           Fix read from signed bit-field, fix +/- lower result byte in a, fix xor operand upper byte in a.
12302 2019-03-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12304         * support/regression/tests/bug-2630.c,
12305           support/regression/tests/bug-2822.c,
12306           support/regression/tests/bug-441448.c,
12307           support/regression/tests/bug-460010.c,
12308           support/regression/tests/bug-2712.c,
12309           support/regression/tests/bug1665511.c,
12310           support/regression/tests/bug1757671.c,
12311           support/regression/tests/bug1928022.c,
12312           support/regression/tests/bug2729218.c,
12313           support/regression/tests/bug2817646.c,
12314           support/regression/tests/bug2862650.c,
12315           support/regression/tests/bug2935162.c,
12316           support/regression/tests/bug3027957.c,
12317           support/regression/tests/bug3183823.c,
12318           support/regression/tests/bug3381400.c,
12319           support/regression/tests/bug3424150.c,
12320           support/regression/tests/bug3564104.c,
12321           support/regression/tests/bugs-1596270-1736867.c,
12322           support/regression/tests/gcc-torture-execute-postmod-1.c,
12323           support/regression/tests/gcc-torture-execute-pr15262.c,
12324           support/regression/tests/gcc-torture-execute-pr15296.c,
12325           support/regression/tests/gcc-torture-execute-pr19606.c,
12326           support/regression/tests/gcc-torture-execute-pr20527-1.c,
12327           support/regression/tests/gcc-torture-execute-pr20601-1.c,
12328           support/regression/tests/gcc-torture-execute-pr27073.c,
12329           support/regression/tests/gcc-torture-execute-pr27260.c,
12330           support/regression/tests/gcc-torture-execute-pr27285.c,
12331           support/regression/tests/gcc-torture-execute-pr28982a.c,
12332           support/regression/tests/condopptr.c,
12333           support/regression/tests/constantRange.c,
12334           support/regression/tests/frexpf.c,
12335           support/regression/tests/gcc-torture-execute-20000603-1.c,
12336           support/regression/tests/gcc-torture-execute-20000717-4.c,
12337           support/regression/tests/gcc-torture-execute-20000731-1.c,
12338           support/regression/tests/gcc-torture-execute-20001024-1.c,
12339           support/regression/tests/gcc-torture-execute-20010910-1.c,
12340           support/regression/tests/gcc-torture-execute-20010915-1.c,
12341           support/regression/tests/gcc-torture-execute-20020129-1.c,
12342           support/regression/tests/gcc-torture-execute-20020402-3.c,
12343           support/regression/tests/gcc-torture-execute-20020508-2.c,
12344           support/regression/tests/gcc-torture-execute-20020615-1.c:
12345           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12346         * src/pdk/gen.h,
12347           src/pdk/gen.c:
12348           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 -.
12349         * src/SDCCglue.c:
12350           Fix pdk pointer initalization corner case.
12351         * sim/ucsim/pdk.src/inst.cc:
12352           Fix ov.
12354 2019-03-12 Philipp Klaus Krause <pkk AT spth.de>
12356         * support/regression/tests/bug-2854.c,
12357           support/regression/tests/gcc-torture-execute-arith-rand-ll.c,
12358           support/regression/tests/bug-2222.c,
12359           support/regression/tests/bug-2231.c,
12360           support/regression/tests/bug-2427.c,
12361           support/regression/tests/bug-2611.c,
12362           support/regression/tests/bug-2890326.c,
12363           support/regression/tests/bug3474855.c,
12364           support/regression/tests/bug3475630.c,
12365           support/regression/tests/gcc-torture-execute-20021120-1.c,
12366           support/regression/tests/gcc-torture-execute-20030916-1.c,
12367           support/regression/tests/gcc-torture-execute-20121108-1.c,
12368           support/regression/tests/qsort.c,
12369           support/regression/tests/bug-2188.c,
12370           support/regression/tests/bug-2304.c,
12371           support/regression/tests/bug-2501.c,
12372           support/regression/tests/bug-2568.c,
12373           support/regression/tests/bug-2621.c,
12374           support/regression/tests/bug-2764.c,
12375           support/regression/tests/gcc-torture-execute-pr39501.c,
12376           support/regression/tests/gcc-torture-execute-pr78586.c,
12377           support/regression/tests/bug1723128.c,
12378           support/regression/tests/bug3410878.c,
12379           support/regression/tests/ctype.c,
12380           support/regression/tests/gcc-torture-execute-20030313-1.c,
12381           support/regression/tests/p99-conformance.c,
12382           support/regression/tests/scott-compare3.c:
12383           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12384         * support/regression/tests/gcc-torture-execute-divcmp-2.c,
12385           support/regression/tests/staticinit.c:
12386           Disable tests that fail in annoying ways.
12387         * src/SDCCglue.c:
12388           Pointer initialization fix.
12389         * src/pdk/gen.c:
12390           Shift fix, pointer read fix, jump table fix, negation fix, address offset fix, big return fix.
12391         * src/pdk/ralloc2.cc:
12392           Improve register use at pointer read.
12393         * sim/ucsim/pdk.src/inst.cc:
12394           Simulator fixes, patches by Nicolas Lesser.
12395         * src/pdk/ralloc2.cc,
12396           src/pdk/gen.c:
12397           Improve jump on &.
12399 2019-03-12 Philipp Klaus Krause <pkk AT spth.de>
12401         * support/regression/collate-results.py:
12402           Improve error handling in regression test result parsing, fix bug #2675.
12404 2019-03-11 Philipp Klaus Krause <pkk AT spth.de>
12406         * sdas/aspdk14/pdk14mch.c,
12407           sdas/asxxsrc/asdata.c,
12408           sdas/asxxsrc/asexpr.c,
12409           sdas/asxxsrc/asxxxx.h:
12410           Fix handling of offsets to word addresses, patch by Nicolas Lesser.
12411         * src/pdk/gen.c:
12412           Remove workarounds for word address offset handling issue.
12413         * support/regression/tests/*:
12414           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12416 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12418         * src/pdk/gen.c:
12419           Codegen fixes.
12420         * sim/ucsim/pdk.src/pdk.cc,
12421           sdas/linksrc/lkmain.c:
12422           Memory limit diagnostics, patch by Nicolas Lesser.
12423         * support/regression/tests/bug-2208.c,
12424           support/regression/tests/bug-2253.c,
12425           support/regression/tests/bug-2357.c,
12426           support/regression/tests/bug-2516.c,
12427           support/regression/tests/bug-2625.c,
12428           support/regression/tests/bug-2254.c,
12429           support/regression/tests/bug-2403.c,
12430           support/regression/tests/bug-2516.c,
12431           support/regression/tests/bug-2820.c:
12432           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12434 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12436         * src/pdk/gen.c,
12437           src/SDCCglue.c:
12438           Pointer handling fixes.
12439         * support/regression/tests/bp.c,
12440           support/regression/tests/bug-1805702.c:
12441           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12443 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12445         * src/pdk/ralloc2.cc,
12446           src/pdk/gen.c:
12447           Improve register use.
12448         * sim/ucsim/pdk.src/inst.cc,
12449           sim/ucsim/pdk.src/instcl.h:
12450           Fix flag handling, patch by Nicolas Lesser.
12452 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12454         * src/pdk/gen.c:
12455           Fix arithmetic right shift, assembler issue workaround for variables in ROM.
12456         * src/pdk/ralloc2.cc:
12457           Try to save abit more RAM.
12458         * support/regression/tests/and_survive.c,
12459           support/regression/tests/ato.c,
12460           support/regression/tests/bitopcse.c,
12461           support/regression/tests/bug-2031.c,
12462           support/regression/tests/bug-1953.c:
12463           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12465 2019-03-10 Philipp Klaus Krause <pkk AT spth.de>
12467         * src/pdk/gen.c,
12468           src/pdk/ralloc2.cc:
12469           Improve register allocation, small code generation fixes.
12470         * support/regression/tests/absolute.c,
12471           support/regression/tests/addsub.c,
12472           support/regression/tests/args.c,
12473           support/regression/tests/array.c,
12474           support/regression/tests/bug-221100.c,
12475           support/regression/tests/bug-221168.c,
12476           support/regression/tests/bug1477149.c,
12477           support/regression/tests/bug3401973.c:
12478           Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12479         * sim/ucsim/pdk.src/inst.cc:
12480           Carry bug workaround.
12482 2019-03-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12484         * src/SDCCast.c: fix bugs #2750 and #2867 (same root cause)
12485         * support/regression/tests/bug-2750.c: enable test
12487 2019-03-10 Philipp Klaus Krause <pkk AT spth.de>
12489         * src/pdk/gen.c:
12491 2019-03-10 Philipp Klaus Krause <pkk AT spth.de>
12493         * src/pdk/gen.c:
12494           Workaround for lack of support for offset at call in assembler.
12495         * sim/ucsim/pdk.src/inst.cc:
12496           Carry bug workaround.
12497         * src/pdk/ralloc2.cc,
12498           src/pdk/ralloc.c,
12499           src/pdk/main.c:
12500           Enable local variable overlay for leaf functions.
12501         * configure.ac,
12502           configure:
12503           Fix display of pdk13 enable.
12505 2019-03-07 Philipp Klaus Krause <pkk AT spth.de>
12507         * sim/ucsim/pdk.src/inst.cc:
12508           Carry workaround.
12509         * src/pdk/gen.c:
12510           Comparison fix.
12511         * sim/ucsim/pdk.src/glob.cc:
12512           dzsn / izsn debug output fix, patch by Nicolas Lesser.
12513         * sdas/asxxsrc/asout.c,
12514           sdas/linksrc/lkrloc3.c:
12515           Fix handling of addresses of variables in RAM, patch by Nicolas Lesser.
12517 2019-03-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12519         * support/scripts/sdcc.nsi: sdcclib.exe is not built
12520           anymore, so don't try to include it in the installer
12522 2019-03-06 Philipp Klaus Krause <pkk AT spth.de>
12524         * src/pdk/gen.c:
12525           Improve pointer handling and subtraction.
12526         * sim/ucsim/pdk.src/inst.cc:
12527           Fix idxm.
12528         * src/pdk/gen.c:
12529           Comparison fix.
12531 2019-03-06 Philipp Klaus Krause <pkk AT spth.de>
12533         * sdas/asxxsrc/asout.c:
12534           Address handling fix, patch by Nicolas Lesser.
12535         * sim/ucsim/pdk.src/glob.cc,
12536           sim/ucsim/pdk.src/pdk.cc:
12537           State output fix, patch by Nicolas Lesser.
12538         * src/pdk/gen.c:
12539           Comparison fix.
12540         * sim/ucsim/pdk.src/inst.cc:
12541           Fix src, slc.
12543 2019-03-05 Philipp Klaus Krause <pkk AT spth.de>
12545         * device/lib/pdk14/__gptrget.s,
12546           device/lib/pdk15/__gptrget.s:
12547           Fix generic pointer read.
12548         * sim/ucsim/pdk.src/inst.cc:
12549           Fix push af / pop af simulation.
12551 2019-03-05 Philipp Klaus Krause <pkk AT spth.de>
12553         * support/regression/ports/pdk14/support.c:
12554           Fix regression-test _putchar for pdk14.
12555         * device/lib/pdk14/__gptrget.s,
12556           device/lib/pdk15/__gptrget.s:
12557           Fix generic pointer read.
12558         * sim/ucsim/pdk.src/glob.cc,
12559           sim/ucsim/pdk.src/inst.cc:
12560           pdk14 bit instruction fix, patch by Nicolas Lesser.
12562 2019-03-05 Philipp Klaus Krause <pkk AT spth.de>
12564         * support/regression/tests/bug-2363.c,
12565           support/regression/tests/bug-2756.c,
12566           support/regression/tests/gcc-torture-execute-20011008-3.c,
12567           support/regression/tests/gcc-torture-execute-20020402-3.c,
12568           support/regression/tests/gcc-torture-execute-20100430-1.c,
12569           support/regression/tests/gcc-torture-execute-cmpdi-1.c,
12570           support/regression/tests/gcc-torture-execute-longlong.c,
12571           support/regression/tests/gcc-torture-execute-memcpy-bi.c,
12572           support/regression/tests/gcc-torture-execute-mode-dependent-address.c,
12573           support/regression/tests/gcc-torture-execute-p18298.c,
12574           support/regression/tests/gcc-torture-execute-strcmp-1.c,
12575           support/regression/tests/gcc-torture-execute-strcpy-1.c,
12576           support/regression/tests/gcc-torture-execute-strncmp-1.c,
12577           support/regression/tests/gcc-torture-execute-struct-cpy-1.c,
12578           support/regression/tests/new_wide.c,
12579           support/regression/tests/wchar.c
12580           support/regression/tests/bug-2684.c,
12581           support/regression/tests/bug-2732.c,
12582           support/regression/tests/dhrystone.c,
12583           support/regression/tests/gcc-torture-execute-20050826-1.c,
12584           support/regression/tests/gcc-torture-execute-991216-1.c,
12585           support/regression/tests/gcc-torture-execute-pr47538.c,
12586           support/regression/tests/gcc-torture-execute-pr68532.c,
12587           support/regression/tests/qsort.c:
12588           Disable tests that won't work for pdk14 due to lack of memory.
12589         * sdas/asxxsrc/asout.c,
12590           sdas/linksrc/lkrloc3.c,
12591           sim/ucsim/pdk.src/pdk.cc,
12592           sim/ucsim/pdk.src/inst.cc:
12593           pdk14 fixes, patch by Nicolas Lesser.
12595 2019-03-04 Philipp Klaus Krause <pkk AT spth.de>
12597         * sdas/asxxsrc/asout.c:
12598           Assembler fix, patch by Nicolas Lesser.
12599         * sim/ucsim/Makefile.in,
12600           sim/ucsim/configure,
12601           sim/ucsim/configure.ac,
12602           sim/ucsim/globals.cc,
12603           sim/ucsim/globals.h,
12604           sim/ucsim/packages_in.mk,
12605           sim/ucsim/stypes.h,
12606           support/regression/ports/pdk14/spec.mk,
12607           support/regression/ports/pdk14/support.c:
12608           pdk14 simulator, patch by Nicolas Lesser.
12610 2019-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12612         * src/mcs51/gen.c: fix bug #2729
12613         * support/regression/tests/bool.c: reenable test
12615 2019-03-01 Philipp Klaus Krause <pkk AT spth.de>
12617         * src/pdk/ralloc.c:
12618           Dump debug info after register assignment.
12619         * support/regression/tests/gcc-torture-execute-20000314-3.c:
12620           Disable failing test, where solution is not clear yet (bug #2878).
12622 2019-03-01 Philipp Klaus Krause <pkk AT spth.de>
12624         * src/SDCCopt.c:
12625           Fix bug #2876.
12627 2019-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12629         * src/SDCCast.c: fix bug #2873
12630         * support/regression/tests/literalop.c: add casts to fix
12631           integer promotion of hexadeciaml constants in ?: operator.
12633 2019-02-26 Philipp Klaus Krause <pkk AT spth.de>
12635         * support/regression/tests/gcc-torture-execute-960116-1.c
12636           support/regression/tests/gcc-torture-execute-cvt-1.c
12637           support/regression/tests/gcc-torture-execute-loop-2c.c
12638           support/regression/tests/gcc-torture-execute-pr20601-1.c
12639           support/regression/tests/gcc-torture-execute-pr33870-1.c
12640           support/regression/tests/gcc-torture-execute-pr33870.c
12641           support/regression/tests/gcc-torture-execute-pr37125.c
12642           support/regression/tests/gcc-torture-execute-pr63843.c
12643           support/regression/tests/gcc-torture-execute-pr65215-1.c
12644           support/regression/tests/gcc-torture-execute-pr65215-2.c
12645           support/regression/tests/gcc-torture-execute-pr68841.c
12646           support/regression/tests/gcc-torture-execute-stdarg-5.c
12647           support/regression/tests/gcc-torture-execute-unroll-1.c
12648           support/regression/tests/inline.c
12649           Disable tests that are unlikely to compile for pdk14 anytime soon.
12650         * src/pdk/gen.c:
12651           Fix an issue in handling aop for spilt variables.
12653 2019-02-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12655         * src/SDCCsymt.c: fix bug #2861
12657 2019-02-20 Philipp Klaus Krause <pkk AT spth.de>
12659         * src/SDCCopt.c:
12660           Generalize loop narrowing (part of RFE #530).
12662 2019-02-20 Philipp Klaus Krause <pkk AT spth.de>
12664         * src/pdk/gen.c:
12665           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.
12666         * device/lib/pdk13:
12667           Infrastructure for pdk13 library.
12669 2019-02-15 Philipp Klaus Krause <pkk AT spth.de>
12671         * sdas/asxxsrc/asout.c,
12672           sdas/linksrc/lkrloc3.c:
12673           Fix relocation of addresses in ROM, patches by Nicolas Lesser.
12674         * sdas/aspdk/pdkmch.c:
12675           Fix handling of literals, patch by Nicolas Lesser.
12677 2019-02-14 Philipp Klaus Krause <pkk AT spth.de>
12679         * src/pdk/gen.c:
12680           Disable use of idxm, ldtabl, stt16, ldt16 on direct operands, since we can't handle alignment requirements yet.
12681         * sdas/aspdk/pdkmch.c,
12682           sdas/aspdk14/pdk14mch.c,
12683           sdas/aspdk15/pdk15mch.c,
12684           sdas/asxxsrc/asout.c,
12685           sdas/asxxsrc/asxxxx.h,
12686           sdas/linksrc/lkrloc3.c:
12687           pdk assembler fixes, patch by Nicolas Lesser.
12689 2019-02-13 Philipp Klaus Krause <pkk AT spth.de>
12691         * support/regression/tests/gcc-torture-execute-20030714-1.c,
12692           support/regression/tests/gcc-torture-execute-921208-1.c,
12693           support/regression/tests/gcc-torture-execute-930702-1.c,
12694           support/regression/tests/gcc-torture-execute-991112-1.c,
12695           support/regression/tests/gcc-torture-execute-func-ptr-1.c,
12696           support/regression/tests/gcc-torture-execute-pr34456.c,
12697           support/regression/tests/z88dk.c,
12698           support/regression/tests/gcc-torture-execute-20010409-1.c,
12699           support/regression/tests/gcc-torture-execute-pr60003.c,
12700           support/regression/tests/setjmp.c,
12701           support/regression/tests/loop.c:
12702           Disable tests that are unlikely to compile for pdk14 anytime soon.
12703         * src/z80/gen.c:
12704           Fix wide comparison with immediate, fix a corner case of & with one stack operand, fix comparison with stack operand, fix multiplication by negative literal.
12705         * src/pdk/main.c,
12706           src/stm8/main.c:
12707           Fix extended alignment.
12709 2019-02-13 Philipp Klaus Krause <pkk AT spth.de>
12711         * src/z80/gen.c:
12712           Fix bug #2875.
12714 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12716         * src/pdk/gen.c,
12717           src/pdk/ralloc2.cc:
12718           Fix subtraction by immediate, &^| with both operands on stack, left shift of on-stack operand.
12719         * device/lib/pdk14/Makefile.in,
12720           device/lib/pdk15/Makefile.in:
12721           Enable missing support functions.
12722         * support/regression/tests/bug-2551.c,
12723           support/regression/tests/bug-2554.c,
12724           support/regression/tests/bug-2558.c,
12725           support/regression/tests/bug-2559.c,
12726           support/regression/tests/gcc-torture-execute-920721-3.c,
12727           support/regression/tests/gcc-torture-execute-20050106-1.c,
12728           support/regression/tests/gcc-torture-execute-20060930-2.c:
12729           Disable tests that fail to compile due to bug #2874.
12730         * support/regression/tests/bug-2663.c,
12731           support/regression/tests/bug-2767.c,
12732           support/regression/tests/bug-716242.c,
12733           support/regression/tests/bug1908493.c,
12734           support/regression/tests/bug2077267.c,
12735           support/regression/tests/bug3379723.c:
12736           Disable tests that are unlikely to compile for pdk14 anytime soon.
12737         * device/lib/pdk14/heap.s,
12738           device/lib/pdk14/heap.s:
12739           Default heap of 64 Bytes for pdk14, pdk15.
12740         * src/pdk/main.c:
12741           Report lack of code generation support for division by constant.
12743 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12745         * src/z80/ralloc.c,
12746           support/regression/tests/bug-2031.c:
12747           Allow rematerialization of pointer-to-integer cast, fixes a gbz80 initialization bug.
12749 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12751         * src/pdk/gen.c,
12752           src/pdk/ralloc.c:
12753           Fix various pdk issues.
12754         * support/regression/tests/bug-1918.c,
12755           support/regression/tests/bug-2124.c,
12756           support/regression/tests/bug-2271.c,
12757           support/regression/tests/bug-2274.c,
12758           support/regression/tests/bug-2305.c,
12759           support/regression/tests/bug-2349.c,
12760           support/regression/tests/bug-2373.c,
12761           support/regression/tests/bug-2455.c,
12762           support/regression/tests/bug-2497.c:
12763           Disable tests that are unlikely to compile for pdk14 anytime soon.
12765 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12767         * src/pdk/gen.c:
12768           Use ltabl for pdk15, improve shifts.
12769         * src/SDCCglue.c:
12770           Fix initialization of bit-fields in code space for pdk.
12772 2019-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12774         * src/SDCCicode.c: fix bug #2829
12776 2019-02-11 Philipp Klaus Krause <pkk AT spth.de>
12778         * support/regression/ports/pdk14/support.c:
12779           Make regression tests compile, even before simulator is ready.
12780         * device/lib/pdk14/Makefile.in,
12781           device/lib/pdk15/Makefile.in:
12782           Enable a missing support function.
12783         * src/pdk/gen.c:
12784           Improve bit-field access.
12786 2019-02-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12788         * src/pdk/gen.c:
12789           Fix handling of wide return values.
12791 2019-02-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12793         * sim/ucsim/z80.src/inst_ed.c:
12794           Implement Z80/Z180/eZ80 rld, rrd.
12795         * src/z80/gen.c,
12796           support/regression/tests/bitfields.c:
12797           Improve bit-field write.
12799 2019-02-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12801         * sdas/asrab/rabadr.c,
12802           src/z80/gen.c:
12803           Fix bug #2869.
12805 2019-02-08 Philipp Klaus Krause <pkk AT spth.de>
12807         * src/pdk/gen.c
12808           src/pdk/ralloc2.cc:
12809           Various pdk improvements.
12811 2019-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12813         * src/SDCCdwarf2.c: fix bug #2762
12815 2019-02-08 Philipp Klaus Krause <pkk AT spth.de>
12817         * src/pdk/gen.c,
12818           src/pdk/main.c,
12819           src/pdk/ralloc2.cc:
12820           Various pdk improvements.
12821         * device/lib/calloc.c,
12822           device/lib/free.c,
12823           device/lib/malloc.c,
12824           device/lib/realloc.c:
12825           Improve dynamic memory management for pdk.
12826         * device/lib/_memchr.c:
12827           Improve comparison.
12829 2019-02-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12831         * configure,
12832           configure.ac,
12833           device/include/stdlib.h,
12834           device/lib/Makefile.in,
12835           device/lib/clean.mk,
12836           device/lib/pdk15/Makefile.in,
12837           device/lib/pdk15:
12838           pdk15 library.
12839         * src/pdk/main.c,
12840           src/pdk/gen.c:
12841           Improve read from pointer.
12843 2019-02-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12845         * Makefile.common.in,
12846           Makefile.in,
12847           configure,
12848           configure.ac,
12849           sdccconf_in.h,
12850           src/pdk/main.c,
12851           sdas/aspdk15:
12852           pdk15 assembler, patch by Nicolas Lesser.
12854 2019-02-07 Philipp Klaus Krause <pkk AT spth.de>
12856         * .version,
12857           Makefile.in,
12858           configure,
12859           configure.ac,
12860           doc/sdccman.lyx:
12861           Remove sdcclib.
12862         * sim/ucsim/sim.src/var.cc,
12863           sim/ucsim/sim.src/varcl.h,
12864           sim/ucsim/stm8.src/glob.cc,
12865           sim/ucsim/stm8.src/stm8.cc:
12866           stm8 simulator fixes, patches by Mike Jagdis.
12868 2019-02-07 Philipp Klaus Krause <pkk AT spth.de>
12870         * sdas/aspdk14,
12871           sdas/aspdk,
12872           device/lib/pdk14/Makefile.in:
12873           Assembler refactoring, patch by Nicolas Lesser.
12875 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12877         * src/pdk/gen.c,
12878           src/pdk/gen.h,
12879           src/pdk/ralloc.c,
12880           src/pdk/ralloc2.cc,
12881           src/pdk/gen.c:
12882           Various improvements in register allocation.
12883         * sdas/linksrc/lkrloc3.c:
12884           Fix a linker issue, patch by Nicolas Lesser.
12885         * device/lib/pdk14/__gptrget.s:
12886           Fix an issue in read from pointer to ROM.
12888 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12890         * src/pdk/ralloc.c,
12891           src/pdk/gen.c:
12892           Rematerialization.
12894 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12896         * src/pdk/gen.c:
12897           Fix direct read from variable in code space.
12899 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12901         * src/pdk/gen.c:
12902           Implement write of non-literal to bit-field.
12904 2019-02-05 Philipp Klaus Krause <pkk AT spth.de>
12906         * src/pdk/gen.c:
12907           Implement read from bit-field, literal write to bit-field.
12908         * src/pdk/ralloc2.cc:
12909           Improve handling of p wrt. pointer read / write in register allocation.
12911 2019-02-05 Philipp Klaus Krause <pkk AT spth.de>
12913         * src/pdk/gen.c:
12914           Fix signed comparison by 0.
12915         * Makefile.in,
12916           configure,
12917           configure.ac,
12918           src/pdk/main.c,
12919           sdas/aspdk,
12920           sdas/aspdk14:
12921           Assembler rename, based on patch by Nicolas Lesser.
12923 2019-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12925         * src/SDCCast.c: fix bug #2863
12927 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12929         * src/pdk/gen.c:
12930           Fix early return from interrupt.
12932 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12934         * doc/Makefile.in:
12935           Fix dependencies.
12937 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12939         * src/SDCCglue.c:
12940           Fix a pointer initalization issue.
12941         * src/pdk/main.c:
12942           Save a word in stack-pointer setup.
12944 2019-02-02 Philipp Klaus Krause <pkk AT spth.de>
12946         * src/SDCCglue.c,
12947           src/SDCCglue.h,
12948           src/ds390/gen.c,
12949           src/hc08/gen.c,
12950           src/mcs51/gen.c:
12951           Use ret k for constant data.
12953 2019-02-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12955         * support/scripts/sdcc.nsi: add support for ez80_z80
12957 2019-01-31 Philipp Klaus Krause <pkk AT spth.de>
12959         * src/SDCCasm.c,
12960           src/SDCCasm.h,
12961           src/pdk/main.c:
12962           Use ret k for constant data bytes.
12964 2019-01-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12966         * sim/ucsim/z80.src/ez80.cc: add needed header for int8_t
12968 2019-01-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12970         * doc/sdccman.lyx:
12971           Clarify documentation on library path options.
12973 2019-01-28 Philipp Klaus Krause <pkk AT spth.de>
12975         * src/SDCC.y:
12976           Document bug #2858 workaround.
12978 2019-01-27 Philipp Klaus Krause <pkk AT spth.de>
12980         * sdas/aspdk/pdkmch.c:
12981           Fix idxm, patch by Tim (cpldcpu).
12982         * device/lib/pdk14/Makefile.in:
12983           Use generic memcpy(), unsigned 8 x 8 -> 16 multiplication and unsigned division for pdk14.
12984         * src/pdk/main.c:
12985           Fix int x int -> long multiplication.
12986         * src/pdk/main.c,
12987           src/pdk/gen.c:
12988           Code generation for 8 x 8 (lit) -> 8 multiplication.
12989         * configure,
12990           configure.ac,
12991           src/SDCCmain.c,
12992           src/pdk/main.c,
12993           src/pdk/ralloc2.cc,
12994           src/port.h:
12995           Infrastructure for pdk13, pdk15.
12997 2019-01-27 Philipp Klaus Krause <pkk AT spth.de>
12999         * aspdk/pdkmch.c,
13000           asxxsrc/asout.c,
13001           asxxsrc/asxxxx.h,
13002           asxxsrc/sdas.c,
13003           asxxsrc/sdas.h,
13004           linksrc/lkrloc3.c:
13005           Linker and assembler fixes for pdk14, patch by Nicolas Lesser.
13006         * src/pdk/gen.c:
13007           Fix code generation for unary float minus and calls to functions returning more than a word.
13008         * device/lib/pdk14/__gptrget.s:
13009           Asm syntax fix.
13011 2019-01-20 Philipp Klaus Krause <pkk AT spth.de>
13013         * src/z80/gen.c,
13014           support/regression/tests/bug-2866.c:
13015           Fix bug #2866.
13017 2019-01-19 Philipp Klaus Krause <pkk AT spth.de>
13019         * sdas/aspdk/pdkmch.c:
13020           Fix shifts, patch by Tim (cpldcpu).
13021         * src/pdk/gen.c:
13022           Fix signed comparison, fix pointer write with integer literal cast to pointer.
13024 2019-01-18 Philipp Klaus Krause <pkk AT spth.de>
13026         * src/pdk/gen.c:
13027           Fix !.
13029 2019-01-16 Philipp Klaus Krause <pkk AT spth.de>
13031         * src/pdk/main.c:
13032           Switch default code location for bytewise addressing in ROM.
13034 2019-01-15 Philipp Klaus Krause <pkk AT spth.de>
13036         * sdas/aspdk/pdk.h,
13037           sdas/aspdk/pdkadr.c,
13038           sdas/aspdk/pdkmch.c,
13039           sdas/aspdk/pdkpst.c:
13040           Assembler fixes, patch by Nicolas Lesser.
13041         * src/pdk/main.c:
13042           Switch .org use to bytewise addressing in ROM.
13044 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
13046         * src/pdk/main.c:
13047           Use sensible default for --code-loc.
13049 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
13051         * src/pdk/main.c:
13052           Various glue code for program startup.
13054 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
13056         * device/lib/time.c:
13057           Make some variables const so save RAM on targets that do not have __code.
13058         * src/pdk/gen.c:
13059           Fix a segfault in code generation for &.
13060         * sdas/aspdk/pdk.h,
13061           sdas/aspdk/pdkadr.c,
13062           sdas/aspdk/pdkmch.c:
13063           Assembler fixes and syntax change, patch by Nicolas Lesser.
13064         * src/pdk/gen.c,
13065           device/lib/pdk14/__gptrget.s:
13066           Update for assembler syntax change.
13067         * src/SDCCsymt.c,
13068           device/lib/Makefile.in,
13069           Enable build of pdk14 library.
13071 2019-01-11 Philipp Klaus Krause <pkk AT spth.de>
13073         * device/lib/pdk14/Makefile.in:
13074           Use sdaspdk to build pdk14 library.
13075         * src/pdk/main.c,
13076           src/pdk/gen.c:
13077           Fix generation of invalid asm in a few places.
13078         * sdas/aspdk/pdkmch.c,
13079           sdas/aspdk/pdkpst.c:
13080           Assembler fixes, patch by Nicolas Lesser.
13081         * support/regression/ports/pdk14/spec.mk:
13082           Prepare for future pdk14 regression testing.
13084 2019-01-11 Philipp Klaus Krause <pkk AT spth.de>
13086         * sdas/aspdk,
13087           Makefile.common.in,
13088           Makefile.in,
13089           configure,
13090           configure.ac,
13091           sdas/linksrc/Makefile.in,
13092           sdas/linksrc/sdld.c,
13093           sdas/linksrc/sdld.h,
13094           src/pdk/main.c:
13095           Assembler for pdk14, patch by Nicolas Lesser.
13097 2019-01-11 Philipp Klaus Krause <pkk AT spth.de>
13099         * src/pdk/main.c:
13100           Work around lack of link-time arithmetic.
13102 2019-01-10 Philipp Klaus Krause <pkk AT spth.de>
13104         * src/pdk/gen.c,
13105           device/lib/pdk14/__gptrget.s:
13106           Use knowledge on byte order for push af.
13108 2019-01-09 Philipp Klaus Krause <pkk AT spth.de>
13110         * src/pdk/main.c:
13111           Fix invalid use of .dw for variables in ROM.
13112         * src/pdk/gen.c:
13113           Fix various issues in code generation.
13115 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13117         * src/pdk/gen.c,
13118           device/lib/pdk14/__gptrget.s:
13119           Support variables in ROM.
13121 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13123         * src/pdk/gen.c,
13124           src/pdk/ralloc2.cc:
13125           Minor fixes.
13126         * src/SDCCast.c:
13127           Enable standard library call optimization for pdk14.
13129 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13131         * src/pdk/gen.c,
13132           src/pdk/ralloc2.cc:
13133           Optimize conditional jump on bit test.
13135 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13137         * src/pdk/gen.c:
13138           Fixes for subtraction.
13139         * src/SDCCglue.c:
13140           Fix output of __sfr locations.
13142 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13144         * src/pdk/gen.c:
13145           Generate better code for ^, |, &.
13147 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13149         * src/pdk/gen.c:
13150           Slightly improve __sfr16 handling, fix pseudoregister saving in interrupt routine.
13151         * src/pdk/main.c:
13152           Fix zero-initialization of upper byte of pseudo-register p.
13154 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13156         * support/regression/tests/*.c:
13157           Enable some regression tests that need struct assignment support.
13159 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13161         * src/pdk/gen.c,
13162           device/lib/pdk14/Makefile.in:
13163           Implement unary float minus, enable build of most of the float library.
13165 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13167         * src/pdk/gen.c:
13168           Fix handling of non-stack temporary operands in cost function.
13169         * device/lib/pdk14/Makefile.in:
13170           Enable build of more library functions.
13172 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13174         * src/stm8/peeph.def:
13175           Fixes and improvements for stm8 peephole rules, patch by Visenri.
13177 2019-01-07 Philipp Klaus Krause <pkk AT spth.de>
13179         * src/z80/gen.c:
13180           ez80_z80 fixes.
13181         * src/z80/gen.c:
13182           Only use eZ80 lea for stack frame setup when doing so provides a code size advantage.
13183         * .version:
13184           Bump version for stable ez80_z80 backend.
13185         * support/regression/Makefile.in:
13186           Include ez80_z80 backend in test-z80 target.
13188 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13190         * support/regression/ports/ez80-z80/spec.mk:
13191           Use new eZ80 uCsim in ez80_z80 regression tests.
13192         * src/z80/gen.c:
13193           ez80_z80 fixes.
13195 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13197         * src/pdk/gen.c,
13198           src/pdk/ralloc.c:
13199           Support for return values wider than 16 bit.
13200         * src/SDCCmem.c:
13201           Fix handling of 1-byte stack parameters.
13203 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13205         * src/pdk/gen.c:
13206           Fixes for reentrant functions.
13208 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13210         * src/pdk/gen.c:
13211           Fix handling of stack adjustment on early return for on-stack variables.
13212           src/pdk/main.c:
13213           Initialize upper byte of pseudo-register p.
13215 2019-01-06 Philipp Klaus Krause <pkk AT spth.de>
13217         * src/pdk/gen.c,
13218           src/pdk/ralloc.c,
13219           src/SDCCbtree.cc:
13220           Improve support for reentrant functions.
13221         * support/regression/ports/pdk14,
13222           support/regression/Makefile.in,
13223           support/regression/fwk/include/testfwk.h:
13224           Basic infrastructure for future pdk14 regression testing.
13226 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13228         * src/pdk/main.c:
13229           Initialization of global / static variables.
13231 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13233         * device/lib/pdk14/Makefile.in:
13234           Don't try to compile library functions that will not work anytime soon.
13235         * src/SDCCglue.c:
13236           Emit sfr locations for pdk14.
13237         * device/include/stdlib.h:
13238           Mark bsearch(), qsort() function pointers as __reentrant for pdk14.
13239         * src/pdk/main.c:
13240           Properly announce lack of support for extended bit operations.
13241         * src/pdk/gen.c:
13242           Fix some cases of pointer read / write.
13243         * src/SDCCicode.c:
13244           Pass 8-bit arguments as 16 bit on stack on pdk14 to satisfy alignment requirements.
13246 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13248         * src/SDCCmem.c:
13249           Improve error handling on missing output storage class.
13251 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13253         * src/pdk/gen.c:
13254           Implement & for stack objects.
13255         * device/lib/pdk14/Makefile.in:
13256           Don't try to compile library functions that will not work anytime soon.
13258 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13260         * src/pdk/main.c,
13261           src/pdk/gen.c,
13262           src/pdk/ralloc2.cc:
13263           Better unsigned char comparisons.
13264         * device/lib/pdk14,
13265           configure.ac,
13266           configure:
13267           Infrastructure for pdk14 library.
13269 2019-01-04 Philipp Klaus Krause <pkk AT spth.de>
13271         * src/pdk/gen.h,
13272           src/pdk/gen.c:
13273           Rudimentary support for arguments on the stack.
13275 2019-01-03 Philipp Klaus Krause <pkk AT spth.de>
13277         * src/pdk/main.c,
13278           src/pdk/gen.c,
13279           src/SDCCsymt.c:
13280           Implement basic I/O support (__sfr, __sfr16).
13281         * src/port.h,
13282           src/SDCCsymt.c:
13283           Prepare for future pdk13, pdk15 and pdk16 backends.
13285 2019-01-03 Benedikt Freisen <b.freisen AT gmx.net>
13287         * src/version.awk:
13288           Fix bug #2818.
13290 2019-01-03 Philipp Klaus Krause <pkk AT spth.de>
13292         * src/pdk/gen.c,
13293           src/pdk/ralloc2.cc:
13294           Implement support for dummy read from volatile in direct space.
13296 2019-01-02 Philipp Klaus Krause <pkk AT spth.de>
13298         * src/SDCCsymt.c,
13299           src/SDCCerr.h,
13300           src/SDCCerr.c,
13301           support/valdiag/tests/bug-2773.c:
13302           Fix bug #2773.
13303         * src/ds390/main.c:
13304           Change the name of a hackish predefined macro for standard-compliance.
13306 2018-12-31 Philipp Klaus Krause <pkk AT spth.de>
13308         * doc/sdccman.lyx:
13309           Document default calling convention for z80, z180, r2k, r3ka, ez80_z80, tlcs90, stm8.
13310         * src/SDCCast.c:
13311           Fix bug #2850.
13312         * src/SDCCsymt.c:
13313           Fix bug #2797.
13314         * src/SDCCmain.c,
13315           src/mcs51/main.c,
13316           src/hc08/main.c,
13317           src/stm8/main.c:
13318           Fix bug #2809.
13319         * src/SDCClospre.hpp,
13320           support/regression/tests/bug-2558.c:
13321           Fix bug #2558.
13322         * src/SDCCast.c:
13323           Fix bug #2535.
13324         * device/lib/printf_large.c,
13325           support/regression/tests/bug-2732.c:
13326           Fix bug #2732.
13328 2018-12-30 Philipp Klaus Krause <pkk AT spth.de>
13330         * support/regression/tests/bug-2854.c:
13331           Fix read from uninitialized memory.
13332         * src/z80/peep.c:
13333           Handle eZ80 lea, pea in peephole size calculation.
13335 2018-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
13337         * support/regression/tests/bug-2854.c: disabled test, segmentation fault
13338         * configure, configure.ac: fixed help text
13339         * device/lib/clean.mk: also clean ez80
13341 2018-12-20 Philipp Klaus Krause <pkk AT spth.de>
13343         * src/z80/gen.c:
13344           Improve use of eZ80, Rabbit, TLCS-90 16-bit load.
13346 2018-12-19 Philipp Klaus Krause <pkk AT spth.de>
13348         * src/z80/gen.c:
13349           Implement RFE #594.
13351 2018-12-19 Philipp Klaus Krause <pkk AT spth.de>
13353         * src/z80/gen.c:
13354           Fix a recently-introduced bug in handling of 32-bit return values for gbz80.
13356 2018-12-18 Philipp Klaus Krause <pkk AT spth.de>
13358         * sdas/asz80/z80mch.c,
13359           sdas/asz80/z80pst.c,
13360           sdas/asz80/tez80.asm:
13361           Improve eZ80 assembler support, patch by Hynek Sladký.
13363 2018-12-16 Philipp Klaus Krause <pkk AT spth.de>
13365         * src/z80/gen.c:
13366           Fix a bug in wide read via pointer.
13368 2018-12-16 Philipp Klaus Krause <pkk AT spth.de>
13370         * src/z80/gen.c:
13371           Fix bug #2856.
13373 2018-12-15 Maarten Brock <sourceforge.brock AT dse.nl>
13375         * configure, configure.ac: changed warning into notice
13376         * sdas/asz80/z80mch.c: cosmetic
13377         * src/sdcc.vcxproj,
13378         * src/sdcc.vcxproj.filters: added missing SDCC.lex & SDCC.y
13379         * support/cpp/libcpp/files.c,
13380         * support/cpp/libcpp/identifiers.c,
13381         * support/cpp/libcpp/init.c,
13382         * support/cpp/libcpp/symtab.c: fixed warnings for unsigned size_t
13383         * support/regression/tests/bitopcse.c: only use idata for mcs51
13384         * support/regression/tests/gcc-torture-execute-20021120-1.c: disabled for
13385           hc08 & s08, uses way too much spillocs in DSEG
13386         * support/regression/tests/longlong.c: split the test in 3 parts
13387         * support/sdbinutils/bfd/targets.c: added "ASXXXX"
13388         * support/sdbinutils/libiberty/simple-object-elf.c: fixed warning
13390 2018-12-14 Philipp Klaus Krause <pkk AT spth.de>
13392         * src/z80/gen.c:
13393           Refactor handling of return values, steps towards RFE #594.
13395 2018-12-13 Philipp Klaus Krause <pkk AT spth.de>
13397         * src/SDCCicode.c,
13398           support/regression/tests/bug-2710.c:
13399           Fix bug #2710.
13400         * Makefile.in,
13401           sim/ucsim/Makefile.in:
13402           Remove dist target, fix bug #2679.
13403         * src/SDCCtree_dec.hpp:
13404           Improve fix for #1874.
13405         * sdas/asz80/z80mch.c:
13406           Turn a few eZ80-related warning into comments.
13408 2018-12-12 Philipp Klaus Krause <pkk AT spth.de>
13410         * sdas/asz80/z80mch.c:
13411           Fix handling of tst for eZ80, patch by Hynek Sladký.
13412         * src/z80/gen.c,
13413           support/regression/tests/bug-2854.c:
13414           Fix an issue in 8-bit parameters to __z88dk_fastcall, bugs #2852 and #2854.
13415         * src/hc08/ralloc2.cc:
13416           Fix bug #2215.
13417         * src/stm8/ralloc.c,
13418           src/z80/ralloc.c,
13419           support/regression/tests/bug-2501.c:
13420           Fix bug #2501.
13422 2018-12-11 Philipp Klaus Krause <pkk AT spth.de>
13424         * Merged ez80_z80 branch to trunk.
13426 2018-12-11 Philipp Klaus Krause <pkk AT spth.de>
13428         * device/include/math.h,
13429           device/include/sdcc-lib.h:
13430           Fixes for ez80_z80 library.
13431         * support/regression/ports/ez80-z80/spec.mk,
13432           support/regression/ports/ucz180/spec.mk:
13433           Preparation for ez80_z80 regression testing.
13435 2018-12-05 Philipp Klaus Krause <pkk AT spth.de>
13437         * sdas/asz80/z80mch.c:
13438           Improve eZ80 support in assembler, patch by Hynek Sladký.
13439         * configure,
13440           configure.ac,
13441           device/lib/Makefile.in,
13442           device/lib/ez80_z80/Makefile.in,
13443           src/z80/main.c,
13444           device/lib/ez80_z80:
13445           ez80_z80 library.
13447 2018-12-05 Philipp Klaus Krause <pkk AT spth.de>
13449         * src/pdk/ralloc2.cc,
13450           src/pdk/gen.c:
13451           Improve code for shifts.
13453 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13455         * src/pdk/ralloc2.cc,
13456           src/pdk/gen.c:
13457           Improve use of pseudoregister p.
13459 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13461         * src/SDCCtree_dec.hpp:
13462           Fix bug #1847.
13464 2018-12-04 Maarten Brock <sourceforge.brock AT dse.nl>
13466         * SDCCerr.c: replaced include sdccconf.h by SDCCglobl.h, required for MSVC
13468 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13470         * src/pdk/gen.c:
13471           Basic support for function pointers.
13473 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13475         * src/pdk/gen.c:
13476           Improve code generation for jump on comparison.
13478 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13480         * src/pdk/gen.c:
13481           Fix an issue in code generation for pointer read.
13483 2018-12-03 Philipp Klaus Krause <pkk AT spth.de>
13485         * src/pdk/ralloc.c,
13486           src/pdk/ralloc.h,
13487           src/pdk/ralloc2.cc,
13488           src/pdk/gen.c,
13489           src/pdk/gen.h,
13490           src/pdk/main.c:
13491           Basic register allocation.
13493 2018-12-03 Philipp Klaus Krause <pkk AT spth.de>
13495         * src/pdk/ralloc.c,
13496           src/pdk/gen.c:
13497           Allow return of up to 2 bytes.
13499 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13501         * src/pdk/main.c:
13502           Report lack of hardware multiplication.
13504 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13506         * src/pdk/gen.c,
13507           src/pdk/main.c,
13508           src/pdk/ralloc.c:
13509           Implement basic support for pointers.
13511 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13513         * src/pdk/gen.c:
13514           Implement comparison.
13516 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13518         * src/pdk/main.c,
13519           src/pdk/gen.c:
13520           Switch to little-endian to ease pointer-integer casts, fix addition.
13522 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13524         * src/pdk/gen.c:
13525           Implement shifts, complement, negation.
13527 2018-12-02 Philipp Klaus Krause <pkk AT spth.de>
13529         * src/SDCCpeeph.c:
13530           Peephole function for z88dk, patch from zsdcc fork diff by Phillip Stevens.
13531         * src/SDCC.lex,
13532           src/SDCC.y,
13533           src/SDCCerr.c,
13534           src/SDCCerr.h,
13535           src/SDCCsymt.c,
13536           src/SDCCsymt.h,
13537           src/z80/gen.c,
13538           src/z80/main.c:
13539           More z88dk-specific calling conventions, patch from zsdcc fork diff by Phillip Stevens.
13541 2018-12-02 Philipp Klaus Krause <pkk AT spth.de>
13543         * configure,
13544           configure.ac,
13545           sdccconf_in.h,
13546           src/SDCCmain.c,
13547           src/port.h,
13548           src/pdk,
13549           src/pdk/Makefile.in,
13550           src/pdk/main.c,
13551           src/pdk/ralloc.c,
13552           src/pdk/ralloc.h:
13553           Basic infrastructure for pdk14 backend.
13555 2018-12-01 Philipp Klaus Krause <pkk AT spth.de>
13557         * src/z80/gen.c:
13558           Use lea for ez80_z80.
13559         * sdas/asz80/z80.h,
13560           sdas/asz80/z80adr.c,
13561           sdas/asz80/z80mch.c,
13562           sdas/asz80/z80pst.c:
13563           eZ80 support in assembler, patch by Hynek Sladký.
13564         * src/SDCCglue.c:
13565           Use assembler ez80 mode for ez80_z80 backend.
13567 2018-12-01 Philipp Klaus Krause <pkk AT spth.de>
13569         * src/z80/gen.c:
13570           genAddrOf refactoring.
13572 2018-11-30 Philipp Klaus Krause <pkk AT spth.de>
13574         * configure,
13575           configure.ac,
13576           sdccconf_in.h,
13577           src/SDCCmain.c,
13578           src/port.h,
13579           src/z80/main.c,
13580           src/z80/z80.h,
13581           src/z80/peep.c,
13582           support/regression/ports/ez80-z80,
13583           device/include/setjmp.h,
13584           device/include/stdarg.h,
13585           device/include/stdlib.h,
13586           device/include/string.h,
13587           support/regression/fwk/include/testfwk.h:
13588           Basic ez80_z80 backend.
13590 2018-11-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13592         * src/stm8/gen.c:
13593           Improve code generation for negation.
13595 2018-11-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13597         * src/stm8/gen.c:
13598           Fix an issue in shift of large on-stack operands (part of bug #2844).
13600 2018-11-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13602         * src/stm8/gen.c:
13603           Fix an issue in call to function returning struct / union.
13605 2018-11-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13607         * src/stm8/gen.c:
13608           Fix an issue in code generation for subtraction (part of bug #2844).
13610 2018-11-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13612         * src/SDCCmem.c,
13613           support/regression/tests/bug-2842.c:
13614           Fix bug #2842.
13616 2018-11-24 Philipp Klaus Krause <pkk AT spth.de>
13618         * src/stm8/gen.c:
13619           Improve handling of right subtraction operand in a.
13621 2018-11-22 Philipp Klaus Krause <pkk AT spth.de>
13623         * src/stm8/gen.c:
13624           Fix an issue in right shift.
13626 2018-11-20 Philipp Klaus Krause <pkk AT spth.de>
13628         * src/stm8/gen.c:
13629           Improvements for previous commit
13630         * src/SDCCsalloc.hpp:
13631           New stack allocator: unaligned Chaitin.
13633 2018-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13635         * src/stm8/gen.c:
13636           Slightly more verbose error reporting.
13638 2018-11-18 Philipp Klaus Krause <pkk AT spth.de>
13640         * configure.ac,
13641           sdccconf_in.h,
13642           configure,
13643           src/SDCCerr.c,
13644           src/SDCCerr.h,
13645           src/stm8/gen.c:
13646           Provide backtrace on some internal errors.
13648 2018-11-16 Philipp Klaus Krause <pkk AT spth.de>
13650         * src/stm8/gen.c:
13651           Fix right shift of literal.
13653 2018-11-15 Philipp Klaus Krause <pkk AT spth.de>
13655         * support/regression/Makefile.in:
13656           Include stm8-large in default target for regression tests.
13657         * src/stm8/gen.c:
13658           Improve code generation for wide negation.
13660 2018-11-14 Philipp Klaus Krause <pkk AT spth.de>
13662         * src/SDCCsalloc.hpp,
13663           .version:
13664           A bit of fine-tuning in the aligned Chaitin stack allocator to avoid some inefficiencies from alignment.
13666 2018-11-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13668         * src/z80/gen.c:
13669           Fix issues in z80 code generation.
13670         * src/z80/mappings.i:
13671           Consistently use space after comma in asm output.
13673 2018-11-13 Philipp Klaus Krause <pkk AT spth.de>
13675         * src/stm8/gen.c,
13676           support/regression/tests/oldfmul.c:
13677           Fix an issue in code generation for shifts found while experimenting with stack allocation.
13678         * src/SDCCmem.c,
13679           src/SDCCsalloc.hpp,
13680           src/stm8/ralloc.c,
13681           src/stm8/ralloc2.cc,
13682           src/z80/ralloc.c:
13683           New stack allocator for stm8: aligned Chaitin.
13684         * device/lib/_fsmul.c:
13685           Improve float multiplication routine a bit.
13686         * support/regression/tests/bug-2833.c:
13687           Disable a new test for ds390 (where it fails).
13688         * src/stm8/gen.c:
13689           More flexible handling of register x in read from pointer.
13691 2018-11-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13693         * support/regression/tests/bug-2834.c:
13694           Test for bug #2834.
13695         * src/SDCCopt.c,
13696           support/regression/tests/bug-2833.c:
13697           Fix bug #2833 (patch by Noam Preil).
13698         * src/z80/gen.c:
13699           Minor improvements in handling on-stack variables.
13700         * src/SDCCsalloc.hpp,
13701           src/SDCCmem.c,
13702           src/SDCCmem.h,
13703           src/SDCCralloc.hpp,
13704           src/z80/ralloc.c,
13705           src/z80/ralloc.h,
13706           src/z80/ralloc2.cc:
13707           New default stack allocator for z80 and related: aligned Chaitin.
13708         * src/stm8/ralloc.c,
13709           src/stm8/ralloc.h,
13710           src/stm8/ralloc2.cc,
13711           src/z80/ralloc.h,
13712           src/z80/ralloc2.cc:
13713           Prepare for new stack allocator for stm8.
13714         * src/stm8/gen.c:
13715           Fix an issue in code generation for comparisons.
13717 2018-11-11 Philipp Klaus Krause <pkk AT spth.de>
13719         * src/z80/ralloc.h,
13720           src/z80/ralloc.c,
13721           src/z80/ralloc2.cc:
13722           Refactoring to prepare for alternative stack allocation.
13724 2018-11-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13726         * support/regression/tests/bug-2833.c:
13727           Test for bug #2833.
13729 2018-11-07 Philipp Klaus Krause <pkk AT spth.de>
13731         * src/stm8/gen.c:
13732           Improve code generation for some multiplications.
13733         * sim/ucsim/stm8.src/stm8.cc,
13734           sim/ucsim/stm8.src/inst.cc:
13735           Improve accuracy of timing in stm8 simulator.
13736         * src/stm8/peeph.def:
13737           Peephole rule to improve shifting via spilled pointers.
13739 2018-11-06 Philipp Klaus Krause <pkk AT spth.de>
13741         * src/SDCCopt.c:
13742           Apply % to & optimization in a few more cases.
13744 2018-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13746         * sim/ucsim/cmd.src/cmd_uc.cc,
13747           sim/ucsim/sim.src/hw.cc,
13748           sim/ucsim/sim.src/serial_hw.cc,
13749           sim/ucsim/sim.src/simifcl.h,
13750           sdas/linksrc/lklibr.c,
13751           src/SDCCerr.c,
13752           src/SDCCerr.h:
13753           Cherry-pick a few spelling fixes from Debian.
13755 2018-10-29 Philipp Klaus Krause <pkk AT spth.de>
13757         * src/stm8/gen.c:
13758           Improve code for dummy read.
13759         * support/regression/tests/gcc-torture-execute-pr38212.c,
13760           support/regression/tests/cse.c:
13761           Enable tests that no longer fail.
13763 2018-10-29 Philipp Klaus Krause <pkk AT spth.de>
13765         * src/stm8/gen.h,
13766           src/stm8/gen.c,
13767           src/stm8/peep.c,
13768           src/stm8/ralloc.c:
13769           Support offsets from symbols in rematerialization (RFE #446).
13771 2018-10-26 Philipp Klaus Krause <pkk AT spth.de>
13773         * src/mcs51/peeph.def:
13774           Fix a bug in an mcs51 peephole rule.
13776 2018-10-25 Philipp Klaus Krause <pkk AT spth.de>
13778         * src/mcs51/peeph.def:
13779           Fix bug #2832.
13780         * src/z80/gen.c:
13781           Fix some --reserve-regs-iy issues.
13782         * src/z80/mappings.i:
13783           Reformat to better match generated code.
13785 2018-10-24 Philipp Klaus Krause <pkk AT spth.de>
13787         * src/stm8/peep.c:
13788           Improve distance estimation for direct long addressing mode for jp and call.
13790 2018-10-24 Philipp Klaus Krause <pkk AT spth.de>
13792         * src/z80/peep.c,
13793           src/stm8/peep.c:
13794           Generalize the fix for #2830 to improve some peephole optimizations.
13796 2018-10-23 Philipp Klaus Krause <pkk AT spth.de>
13798         * src/z80/peep.c:
13799           Fix bug #2830, patch by Tom Li.
13801 2018-10-22 Philipp Klaus Krause <pkk AT spth.de>
13803         * src/SDCClrange.c,
13804           support/regression/tests/bug-2826.c:
13805           Fix bug #2826 in preincrement optimization.
13806         * .version:
13807           Bump version for completion of machine-independent preincrement opt.
13808         * src/z80/gen.c:
13809           Improve code generation for 16-bit increment of global variables.
13810         * src/z80/peeph-z80.def,
13811           src/z80/peeph-r2k.def:
13812           Optimize reuse of hl.
13814 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13816         * src/stm8/gen.c:
13817           Improve 16-bit pointer write, completes RFE #521.
13819 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13821         * src/stm8/gen.c:
13822           Improve ==, !=.
13824 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13826         * SDCClrange.c,
13827           src/SDCCpeeph.c,
13828           src/SDCCralloc.hpp,
13829           src/SDCCsymt.c,
13830           src/SDCCsymt.h,
13831           src/stm8/gen.c,
13832           src/stm8/peeph.def:
13833           Improve volatile handling in peepholes, fix a bug and implement RFE #585.
13834         * src/stm8/gen.c:
13835           Improve pointer read for stm8, completes RFE #545.
13837 2018-10-17 Philipp Klaus Krause <pkk AT spth.de>
13839         * support/regression/tests/bug-2822.c:
13840           Make test work for hc08.
13841         * device/lib/Makefile.in,
13842           src/SDCCmain.c:
13843           Fix bug #2823.
13845 2018-10-16 Philipp Klaus Krause <pkk AT spth.de>
13847         * src/stm8/peeph.def:
13848           Minor stm8 peephole improvement, RFE #584.
13849         * src/z80/gen.c:
13850           Fix bug #2801, #2674.
13852 2018-10-15 Philipp Klaus Krause <pkk AT spth.de>
13854         * src/z80/ralloc2.cc,
13855           support/regression/tests/bug-2822.c:
13856           Fix bug #2822.
13857         * src/SDCClospre.cc,
13858           support/regression/tests/bug-2820.c:
13859           Fix bug #2820.
13860         * src/SDCCicode.c,
13861           support/regression/tests/bug-2805.c:
13862           Fix bug #2805.
13864 2018-10-09 Philipp Klaus Krause <pkk AT spth.de>
13866         * src/stm8/gen.c:
13867           Use bit transfer instructions for 1-bit bit-field (part of RFE #446).
13869 2018-10-08 Philipp Klaus Krause <pkk AT spth.de>
13871         * src/z80/peeph-z80.def:
13872           Optimizations for 8-bit loop counters (RFE #431).
13873         * src/stm8/gen.c:
13874           Use bit set / reset instructions for 1-bit bit-fields (part of RFE #446).
13876 2018-10-08 Philipp Klaus Krause <pkk AT spth.de>
13878         * src/z80/gen.c:
13879           Improve code generation for 8-bit integers (addition of small constants, paramter passing) (RFE #583).
13880         * rc/SDCCBBlock.c,
13881           src/SDCCBBlock.h,
13882           src/SDCCsymt.c,
13883           src/SDCCsymt.h:
13884           Improve const use.
13885         * src/SDCClrange.c,
13886           src/SDCClrange.h,
13887           src/SDCCopt.c,
13888           src/stm8/gen.c,
13889           src/z80/peeph-z80.def:
13890           Optimize postincrement (RFE #581).
13892 2018-10-02 Philipp Klaus Krause <pkk AT spth.de>
13894         * src/stm8/gen.c:
13895           Fix an issue that resulted in overestimation of remat costs.
13896         * src/stm8/peeph.def:
13897           Optimize out dead loads from stack.
13898         * device/include/asm/*/features.h,
13899           device/lib/Makefile.in,
13900           device/lib/_memmove.c,
13901           device/lib/clean.mk,
13902           device/lib/__memcpy.c,
13903           device/lib/memcpy.c,
13904           device/lib/stm8-large/memcpy.s,
13905           device/lib/*/Makefile.in:
13906           Library memcpy() cleanup.
13908 2018-10-02 Philipp Klaus Krause <pkk AT spth.de>
13910         * src/stm8/gen.c:
13911           Improve wide arithmetic right shift.
13913 2018-10-01 Philipp Klaus Krause <pkk AT spth.de>
13915         * src/stm8/ralloc.c,
13916           src/stm8/gen.h,
13917           src/stm8/gen.c:
13918           Basic support for rematerialization of stack addresses.
13920 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13922         * src/stm8/gen.c:
13923           Improve wide addition.
13925 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13927         * src/stm8/gen.c:
13928           Improve 32-bit right shift by 6 to 7.
13930 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13932         * src/SDCCopt.c:
13933           Port an operand narrowing optimization to UNARYMINUS.
13934         * src/stm8/gen.c:
13935           Improve handling of trailing 0 in wide comparison.
13937 2018-09-29 Philipp Klaus Krause <pkk AT spth.de>
13939         * support/regression/tests/structassign.c:
13940           Use exactly representable values in union assignment test.
13941         * src/SDCClospre.cc:
13942           Prepare for use of different container types.
13943         * src/SDCCtree_dec.hpp:
13944           Cleanup.
13946 2018-09-27 Philipp Klaus Krause <pkk AT spth.de>
13948         * Merge next branch.
13950 2018-09-27 Philipp Klaus Krause <pkk AT spth.de>
13952         * src/SDCCtree_dec.hpp:
13953           Cherry-pick a minor performance improvement from lospre-vs-mcpre branch.
13955 2018-09-26 Philipp Klaus Krause <pkk AT spth.de>
13957         * src/SDCCtree_dec.hpp,
13958           src/SDCClospre.hpp,
13959           src/SDCClospre.cc:
13960           Remove hard dependencies on std::set to allow future transition to other containers.
13962 2018-09-25 Philipp Klaus Krause <pkk AT spth.de>
13964         * src/SDCC.y,
13965           src/SDCCerr.c,
13966           src/SDCCerr.h,
13967           src/SDCCsymt.c,
13968           src/SDCCsymt.h,
13969           support/valdiag/tests/struct.c,
13970           support/valdiag/tests/structflexiblearray.c:
13971           Fix bugs #2774, 2775.
13973 2018-09-23 Philipp Klaus Krause <pkk AT spth.de>
13975         * src/SDCClospre.hpp,
13976           src/SDCCralloc.hpp:
13977           Speed and memory usage improvements for tree-decomposition based algorithms.
13979 2018-09-20 Philipp Klaus Krause <pkk AT spth.de>
13981         * src/z80/peeph-r2k.def,
13982           src/z80/peeph-tlcs90.def,
13983           src/z80/peeph-z80.def:
13984           Fix bug #2814.
13986 2018-09-19 Philipp Klaus Krause <pkk AT spth.de>
13988         * support/scripts/repack_release.sh:
13989           Update script for 3.8.0 release.
13991 2018-09-18 Philipp Klaus Krause <pkk AT spth.de>
13993         * doc/README.txt:
13994           List TLCS-90 as supported target.
13995         * src/z80/peeph-z80.def,
13996           src/z80/peeph-r2k.def:
13997           Minor z80 peephole improvement.
13999 2018-09-16 Philipp Klaus Krause <pkk AT spth.de>
14001         * .version,
14002           doc/INSTALL.txt,
14003           sdcc.spec:
14004           Bump version number preparing for 3.8.0 release.
14006 2018-09-14 Philipp Klaus Krause <pkk AT spth.de>
14008         * src/stm8/main.c,
14009           support/regression/tests/smallc.c,
14010           support/regression/tests/bug-2590.c,
14011           support/regression/tests/z88dk.c:
14012           Disable __smallc for stm8.
14014 2018-09-13 Philipp Klaus Krause <pkk AT spth.de>
14016         * src/SDCCicode.c,
14017           src/SDCCmem.c,
14018           src/z80/gen.c,
14019           src/z80/ralloc.c:
14020           Fix bug #2811.
14022 2018-09-12 Philipp Klaus Krause <pkk AT spth.de>
14024         * src/SDCCval.c,
14025           support/regression/tests/iso-8859-1.c:
14026           Fix bug #2812.
14028 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14030         * src/stm8/gen.c:
14031           Improve wide right shift.
14033 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14035         * src/stm8/ralloc2.cc,
14036           src/stm8/gen.c:
14037           Improve jump on sign bit.
14039 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14041         * support/regression/tests/structassign.c:
14042           Test more struct sizes.
14043         * src/SDCCopt.c:
14044           Narrow |.
14045         * src/stm8/peeph.def:
14046           Minor stm8 peephole improvement.
14047         * src/stm8/gen.c:
14048           Improve wide pointer reads and shifts.
14049         * src/stm8/peep.c:
14050           Improve notUsed() accuracy.
14052 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14054         * device/include/string.h,
14055           device/lib/_memcpy.c,
14056           device/lib/stm8/memcpy.s,
14057           doc/sdccman.lyx,
14058           src/SDCCast.c,
14059           src/SDCCerr.c,
14060           src/SDCCerr.h,
14061           src/SDCCopt.c,
14062           src/SDCCsymt.c,
14063           src/SDCCsymt.h,
14064           support/regression/tests/gcc-torture-execute-20011008-3.c,
14065           support/regression/tests/gcc-torture-execute-20050826-2.c,
14066           support/regression/tests/gcc-torture-execute-lto-tbaa-1.c,
14067           support/regression/tests/gcc-torture-execute-pr39339.c,
14068           support/regression/tests/gcc-torture-execute-pr70127.c,
14069           support/regression/tests/gcc-torture-execute-struct-cpy-1.c,
14070           support/regression/tests/structassign.c:
14071           Support for struct / union assignment, patch by Benedikt Freisen (roybaer).
14073 2018-09-10 Philipp Klaus Krause <pkk AT spth.de>
14075         * src/stm8/peeph.def:
14076           Minor stm8 peephole improvement.
14077         * src/stm8/gen.c,
14078           support/regression/tests/gcc-torture-execute-991112-1.c:
14079           Fix a bug in function pointer handling.
14081 2018-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14083         * support/cpp/Makefile.in: move current directory earlier in
14084           the include file search path
14086 2018-09-01 Philipp Klaus Krause <pkk AT spth.de>
14088         * src/stm8/gen.c,
14089           support/regression/tests/bug-2807.c:
14090           Fix bug #2807.
14092 2018-08-30 Philipp Klaus Krause <pkk AT spth.de>
14094         * src/stm8/main.c,
14095           .version:
14096           Make default segment ordering suitable for large memory model.
14097         * support/regression/tests/gcc-torture-execute-func-ptr-1.c:
14098           Enable test that now passes for stm8 large memory model.
14100 2018-08-26 Philipp Klaus Krause <pkk AT spth.de>
14102         * device/lib/pic14/*,
14103           device/lib/pic16/*:
14104           Regenerate files to fix bug #2806.
14105         * src/SDCClospre.cc:
14106           Minor lospre code refactoring.
14108 2018-08-25 Philipp Klaus Krause <pkk AT spth.de>
14110         * src/SDCCicode.h,
14111           src/SDCCicode.c,
14112           support/regression/tests/bug-2804.c:
14113           Fix bug #2804.
14114         * src/stm8/peeph.def:
14115           Remove redundant ret.
14116         * src/SDCClospre.cc:
14117           Trigger assertion failure before SIGSEV when dumping graph of non-existing function.
14119 2018-08-24 Philipp Klaus Krause <pkk AT spth.de>
14121         * support/regression/tests/gcc-torture-execute-strcpy-1.c:
14122           Reduce risk of timeout due to long test.
14124 2018-08-23 Philipp Klaus Krause <pkk AT spth.de>
14126         * sim/ucsim/stm8.src/stm8.cc:
14127           Fix bug #2803.
14129 2018-08-22 Philipp Klaus Krause <pkk AT spth.de>
14131         * support/regression/ports/hc08/spec.mk,
14132           support/regression/ports/s08/spec.mk,
14133           support/regression/tests/gcc-torture-execute-arith-rand.c,
14134           support/regression/tests/gcc-torture-execute-strcmp-1.c,
14135           support/regression/tests/gcc-torture-execute-strncmp-1.c:
14136           Reduce risk of timeouts due to long tests.
14137         * support/regression/tests/rand.c:
14138           Disable a test on the broken OpenBSD.
14140 2018-08-20 Philipp Klaus Krause <pkk AT spth.de>
14142         * sdcc/doc/sdccman.lyx:
14143           Update documentation on library memory models.
14145 2018-08-20 Philipp Klaus Krause <pkk AT spth.de>
14147         * sdcc/sdccconf_in.h,
14148           sdcc/doc/sdccman.lyx:
14149           Remove infrastructure for STX support.
14151 2018-08-14 Maarten Brock <sourceforge.brock AT dse.nl>
14153         * support/regression/tests/gcc-torture-execute-20060110-2.c: enabled test
14154         * support/regression/tests/gcc-torture-execute-arith-rand.c: run only 100x
14156 2018-08-13 Maarten Brock <sourceforge.brock AT dse.nl>
14158         * src/mcs51/gen.c (genSend): fixed bugs #2778, #2736
14159         * support/regression/tests/gcc-torture-execute-divconst-3.c: enabled test
14160         * support/regression/fwk/include/testfwk.h: added __printu, fixed __printd
14161         * support/regression/tests/bug-1981238.c: enabled more tests
14162         * support/regression/tests/gcc-torture-execute-pr86231.c: fixed warnings
14163         * support/regression/tests/gcc-torture-execute-va-arg-14.c: suppress warning
14165 2018-08-10 Philipp Klaus Krause <pkk AT spth.de>
14167         * support/regression/tests/gcc-torture-execute-pr85529-2.c:
14168           Disable a test for older GCC.
14169         * support/regression/tests/new_wide.c:
14170           Disable a test for host.
14172 2018-08-08 Philipp Klaus Krause <pkk AT spth.de>
14174         * src/SDCCloop.c:
14175           Fix bug #2794.
14177 2018-08-06 Philipp Klaus Krause <pkk AT spth.de>
14179         * support/regression/tests/gcc-torture-execute-pr85529-1.c:
14180           Disable a test for older GCC.
14182 2018-08-05 Philipp Klaus Krause <pkk AT spth.de>
14184         * src/z80/gen.c:
14185           Improve error message on unbalanced stack.
14186         * support/regression/tests/bug-2793.c:
14187           Test for bug #2793.
14189 2018-08-03 Philipp Klaus Krause <pkk AT spth.de>
14191         * src/SDCCsymt.c:
14192           Fix an issue introduced in the bugfix for #2665.
14193         * src/stm8/peep.c,
14194           src/stm8/peeph.def:
14195           Minor improvements in STM8 peephole optimization.
14196         * src/stm8/gen.c:
14197           Minor improvement in STM8 subtraction codegen.
14199 2018-08-02 Philipp Klaus Krause <pkk AT spth.de>
14201         * support/regression/tests/gcc-torture-execute-va-arg-5.c:
14202           Disable a test for older GCC.
14203         * support/regression/ports/uc*/spec.mk:
14204           Harmonize simulation timeouts for z80-related.
14205         * src/SDCCsymt.c,
14206           src/SDCCdwarf2.c,
14207           src/z80/main.c,
14208           src/ds390/main.c,
14209           device/lib/_rrulonglong.c,
14210           device/lib/_rlulonglong.c,
14211           device/lib/_rrslonglong.c,
14212           device/lib/_rlslonglong.c:
14213           Fix bug #2665.
14215 2018-08-01 Philipp Klaus Krause <pkk AT spth.de>
14217         * src/stm8/peeph.def,
14218           support/regression/tests/compare.c:
14219           Improve range checks on 8- and 16-bit variables.
14220         * support/regression/tests/gcc-torture-execute-vrp-7.c:
14221           Disable test which fails for z80-related for tlcs90, also.
14223 2018-07-31 Philipp Klaus Krause <pkk AT spth.de>
14225         * src/stm8/ralloc.c,
14226           src/stm8/gen.c:
14227           Improve shift of global variables by 1.
14229 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14231         * src/SDCCval.c,
14232           support/regression/tests/gcc-torture-execute-wchar_t-1.c,
14233           Fix bug #2792.
14235 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14237         * src/SDCCglue.c,
14238           support/regression/tests/gcc-torture-execute-wchar_t-1.c,
14239           support/regression/tests/gcc-torture-execute-widechar-2.c:
14240           Fix bug #2791.
14242 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14244         * support/regression/tests/gcc-torture-execute-*.c:
14245           Add tests from GCC 8.2.
14247 2018-07-29 Philipp Klaus Krause <pkk AT spth.de>
14249         * src/SDCCerr.?:
14250           Fix typos.
14251           support/regression/tests/gcc-torture-execute-*.c:
14252           Disable some warnings.
14254 2018-07-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14256         * src/pic14/glue.c:
14257           Fix an issue introduced with support for C99 intermingling of declarations and statements.
14259 2018-07-14 Philipp Klaus Krause <pkk AT spth.de>
14261         * src/SDCClospre.cc,
14262           src/SDCClospre.hpp:
14263           Fix bug #2673.
14265 2018-07-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14267         * src/z80/peep.c,
14268           support/regression/tests/bug-2771.c:
14269           Fix bug #2771.
14270         * src/SDCClospre.cc:
14271           Improve lospre debug output.
14273 2018-07-12 Philipp Klaus Krause <pkk AT spth.de>
14275         * src/z80/gen.c,
14276           support/regression/tests/bug-2770.c:
14277           Fix bug #2770.
14278         * device/include/mcs51/ax8052.h,
14279           device/include/mcs51/ax8052f131.h,
14280           device/include/mcs51/ax8052f142.h,
14281           device/include/mcs51/ax8052f143.h,
14282           device/include/mcs51/ax8052f151.h,
14283           device/include/mcs51/compiler.h:
14284           Headers for Axsem 8052, patch #166 by Thomas Sailer.
14286 2018-07-05 Philipp Klaus Krause <pkk AT spth.de>
14288         * src/SDCClospre.hpp:
14289           Fix bug #2748.
14290         * src/SDCCcse.h,
14291           src/SDCCdebug.c,
14292           src/SDCCglue.c,
14293           src/SDCCpeeph.c,
14294           src/SDCCsymt.c,
14295           src/SDCCsymt.h:
14296           Improve code quality fixing a few gcc -pedantic warnings.
14298 2018-07-03 Philipp Klaus Krause <pkk AT spth.de>
14300         * src/z80/gen.c,
14301           support/regression/tests/bug-2767.c:
14302           Fix bug #2767.
14304 2018-07-02 Philipp Klaus Krause <pkk AT spth.de>
14306         * support/regression/tests/bug-2764.c:
14307           Fix test for systems with int wider than 16 bits.
14309 2018-06-28 Philipp Klaus Krause <pkk AT spth.de>
14311         * support/regression/tests/bug-2764.c,
14312           src/stm8/peep.c,
14313           src/stm8/peeph.def:
14314           Fix bug #2764.
14316 2018-06-28 Ben Shi <powerstudio1st AT 163 DOT com>
14318         * support/regression/tests/gcc-torture-execute-20040409-2.c:
14319           Disabled more tests for arm64.
14321 2018-06-27 Philipp Klaus Krause <pkk AT spth.de>
14323         * src/mcs51/peep.c:
14324           Fix bug #2108.
14325         * device/lib/z80/crt0.s,
14326           device/lib/z180/crt0.s:
14327           Implement ei for RFE #519.
14328         * src/SDCCbtree.cc,
14329           src/SDCCnaddr.hpp,
14330           configure.ac,
14331           configure:
14332           Remove use of STX, RFE #542.
14334 2018-06-26 Ben Shi <powerstudio1st AT 163 DOT com>
14336         * support/regression/tests/gcc-torture-execute-20040409-1.c:
14337         * support/regression/tests/gcc-torture-execute-20040409-2.c:
14338         * support/regression/tests/gcc-torture-execute-20040409-3.c:
14339           Disabled for arm64.
14341 2018-06-25 Philipp Klaus Krause <pkk AT spth.de>
14343         * support/regression/tests/bug-2363.c:
14344           Disable test for mcs51 small model.
14346 2018-06-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14348         * src/SDCCcse.c: remove leftover debugging (fix bug #2763)
14350 2018-06-21 Philipp Klaus Krause <pkk AT spth.de>
14352         * sdas/asxxsrc/asdbg.c:
14353           Fix an assembler issue, alternative fix to patch #286.
14354         * support/regression/tests/bug-2750.c:
14355           Regression test for bug #2750.
14356         * support/regression/tests/bug-2363.c:
14357           Regression test for bug #2363.
14359 2018-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14361         * src/SDCC.y,
14362           src/SDCCBBlock.c,
14363           src/SDCCast.c,
14364           src/SDCCast.h,
14365           src/SDCCdwarf2.c,
14366           src/SDCCerr.c,
14367           src/SDCCerr.h,
14368           src/SDCCglobl.h,
14369           src/SDCCglue.c,
14370           src/SDCCicode.c,
14371           src/SDCCicode.h,
14372           src/SDCCmem.c,
14373           src/SDCCsymt.c,
14374           src/SDCCsymt.h,
14375           src/SDCCval.c,
14376           src/cdbFile.c,
14377           support/regression/tests/p99-conformance.c,
14378           support/regression/tests/declafterstmt.c,
14379           support/valdiag/tests/declafterstmt.c:
14380           Support for C99 intermingling of declaration and statements, patch by Benedikt Freisen.
14381         * doc/sdccman.lyx:
14382           Update documentation on standard support.
14384 2018-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14386         * src/SDCClospre.hpp,
14387           support/regression/tests/bug-2761.c:
14388           Fix bug #2761.
14389         * src/SDCCicode.c:
14390           Optimize division from pointer subtraction.
14391         * src/stm8/gen.c:
14392           Improve ^.
14394 2018-06-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14396         * src/SDCCglobl.h,
14397           src/SDCCBBlock.c:
14398           Infrastructure for custom iCode dump point.
14399         * src/SDCClospre.hpp:
14400           Fix handling of use vector in lospre.
14401         * src/SDCClrange.h,
14402           src/SDCClrange.c,
14403           src/SDCCopt.c:
14404           Fix secondary issue in bug #2756.
14405         * device/include/uchar.h,
14406           device/lib/incl.mk,
14407           device/lib/mbstoc16s.c,
14408           device/lib/c16stombs.c,
14409           support/regression/tests/new_wide.c
14410           Functions for converting between UTF-8 and UTF-16 strings.
14412 2018-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14414         * src/SDCCcse.c: fix bugs #2709 and #1951
14415         * support/regression/tests/gcc-torture-execute-20001027-1.c,
14416         * support/regression/tests/bug-2708.c: enable tests
14418 2018-06-13 Ben Shi <powerstudio1st AT 163 DOT com>
14420         * support/regression/tests/bug-2756.c:
14421           disabled for test-mcs51-large and test-mcs51-huge due to build failure.
14423 2018-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14425         * src/SDCCset.c: reduce memory use of unionSets()
14427 2018-06-12 Ben Shi <powerstudio1st AT 163 DOT com>
14429         * support/regression/tests/bug-2756.c:
14430           disabled for test-host.
14432 2018-06-12 Philipp Klaus Krause <pkk AT spth.de>
14434         * src/SDCCralloc.hpp,
14435           support/regression/tests/bug-2756.c:
14436           Fix main issue in bug #2756.
14438 2018-06-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14440         * src/hc08/ralloc.c: fix bug #2737
14442 2018-06-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14444         * src/SDCCbitv.c: fix bug #2759
14445         * src/SDCCglue.c: fix bug #2749
14446         * support/regression/tests/bug-2749: enable test
14448 2018-06-11 Ben Shi <powerstudio1st AT 163 DOT com>
14450         * support/regression/tests/literalop.c:
14451           Improved for aarch64.
14453 2018-06-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14455         * src/SDCCbitv.c,
14456         * src/SDCCbitv.h: simplify to only access bit vector as unsigned
14457           int, add functions for in-place intersection and union operations
14458         * src/SDCCset.c,
14459         * src/SDCCset.h: new function destructItemIf calls a destructor
14460           function before deleting a set item
14461         * src/SDCCBBlock.c,
14462         * src/SDCCBBlock.h,
14463         * src/SDCCopt.c: free some eBBlock data when switching to iCode chain
14464         * src/SDCCcflow.c: free code flow data when not needed
14465         * src/SDCCdflow.c,
14466         * src/SDCCcse.c,
14467         * src/SDCCcse.h: free data flow and CSE data when not needed
14469 2018-06-08 Ben Shi <powerstudio1st AT 163 DOT com>
14471         * support/regression/tests/bitwise.c:
14472           Improved for aarch64.
14474 2018-06-08 Philipp Klaus Krause <pkk AT spth.de>
14476         * src/stm8/ralloc.c,
14477           src/SDCCopt.c:
14478           Narrow reads from pointers, RFE #559.
14479         * doc/sdccman.lyx:
14480           Improve documentation for --stack-loc.
14482 2018-06-06 Ben Shi <powerstudio1st AT 163 DOT com>
14484         * sim/ucsim/config.guess:
14485           updated to the newest version. (timestamp='2018-05-19')
14487 2018-06-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14489         * src/z80/peeph-z80.def: fixed peephole rule 153 (possibly fix for
14490           bug #2754)
14492 2018-06-04 Philipp Klaus Krause <pkk AT spth.de>
14494         * sdas/asz80/z80.h,
14495           sdas/asz80/z80adr.c,
14496           sdas/asz80/z80mch.c,
14497           sdas/asz80/z80pst.c:
14498           Assembler support for ZX Spectrum Next opcodes: Patch by pauloscustodio.
14500 2018-06-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14502         * src/SDCCast.c (expandInlineFuncs): fix bug #2752
14503         * support/regression/tests/bug-2752.c: enable test
14505 2018-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14507         * support/scripts/sdcc.nsi: mingw-w64 needs libwinpthread-1.dll
14508         * support/scripts/sdcc.nsi: add stm8-large library to setup.exe package
14510 2018-05-28 Philipp Klaus Krause <pkk AT spth.de>
14512         * src/SDCC.y,
14513           src/SDCCerr.c:
14514           Improve behaviour on unknown register specifications.
14516 2018-05-27 Philipp Klaus Krause <pkk AT spth.de>
14518         * support/regression/tests/bug-2752.c:
14519           Test for bug #2752
14521 2018-05-26 Philipp Klaus Krause <pkk AT spth.de>
14523         * src/SDCCpeeph.c:
14524           Fix bug #2753.
14526 2018-05-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14528         * src/stm8/peeph.def:
14529           Improve documentation for jump-on-false-style optimization.
14531 2018-05-12 Philipp Klaus Krause <pkk AT spth.de>
14533         * src/stm8/peeph.def:
14534           Improve jump-on-false-style optimization.
14536 2018-05-10 Philipp Klaus Krause <pkk AT spth.de>
14538         * src/SDCC.lex,
14539           support/regression/tests/assert.c,
14540           support/valdiag/tests/static_assert.c:
14541           Add pragma for C2X, fix pragma for C99.
14542         * src/stm8/peeph.def:
14543           Various optimizations that help in stdcbench.
14544         * src/stm8/ralloc.c:
14545           Improve code for pushing globals.
14547 2018-05-09 Philipp Klaus Krause <pkk AT spth.de>
14549         * src/SDCC.y,
14550           src/SDCCerr.c,
14551           src/SDCCerr.h,
14552           src/SDCCglobl.h,
14553           src/SDCCmain.c:
14554           Support for C2X static_assert variant.
14556 2018-05-09 Philipp Klaus Krause <pkk AT spth.de>
14558         * src/stm8/gen.c,
14559           src/SDCCval.c:
14560           Fix use of undefined behaviour (left shift by negative amount).
14561         * support/regression/tests/bug-2749.c:
14562           Test for bug #2749.
14563         * src/SDCCglue.c:
14564           Code cleanup.
14565         * src/SDCCglobl.h,
14566           src/SDCCmem.c,
14567           src/SDCCutil.c,
14568           src/pic14/genarith.c,
14569           src/pic16/genarith.c,
14570           src/stm8/peep.c:
14571           Code cleanup by relying on ISO C99 support.
14573 2018-05-08 Philipp Klaus Krause <pkk AT spth.de>
14575         * support/regression/tests/bug-2746.c:
14576           Test for bug #2746.
14577         * src/stm8/peep.c:
14578           Fix reads from unallocated memory.
14580 2018-04-25 Philipp Klaus Krause <pkk AT spth.de>
14582         * device/include/stdbool.h:
14583           Change the type of true and false to _Bool (see also N 2229).
14584         * device/include/assert.h,
14585           device/lib/__assert.c,
14586           device/lib/incl.mk:
14587           Fix bug #2745.
14589 2018-04-23 Philipp Klaus Krause <pkk AT spth.de>
14591         * doc/sdccman.lyx:
14592           Update documentation on long long support.
14593         * device/lib/wctomb.c,
14594           support/regression/tests/wchar.c:
14595           Fix wctomb() error handling wrt. invalid surrogate codepoints.
14596         * device/lib/wcrtomb.c,
14597           support/regression/tests/wchar.c:
14598           Fix wcrtomb() errno handling.
14599         * device/lib/mbrtowc.c,
14600           device/lib/mbtowc.c:
14601           Improve mbrtowc(), mbtowc() error handling.
14602         * device/lib/mbrtoc16.c:
14603           Simplify mbrtoc16() by relying on mbrtowc() error handling.
14604         * device/lib/c16rtomb.c,
14605           support/regression/tests/wchar.c:
14606           Fix c16rtomb() error handling.
14608 2018-04-21 Philipp Klaus Krause <pkk AT spth.de>
14610         * device/include/stdint.h,
14611           support/regression/tests/constantRange.c:
14612           Fix intmax_t, uintmax_t limit macros.
14614 2018-04-21 Philipp Klaus Krause <pkk AT spth.de>
14616         * device/include/stdint.h,
14617           support/regression/tests/wchar.c:
14618           Fix wchar_t, wint_t limit macros.
14620 2018-04-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14622         * support/regression/tests/wchar.c:
14623           A bit of additional UTF-16 and UTF-32 support testing.
14625 2018-04-17 Philipp Klaus Krause <pkk AT spth.de>
14627         * src/stm8/peep.c:
14628           Fix reads from unallocated memory.
14629         * src/stm8/gen.c:
14630           Fix bug #2743.
14632 2018-04-16 Philipp Klaus Krause <pkk AT spth.de>
14634         * src/SDCCglue.c:
14635           Fix read of unitialized value in initialization of zero-length bit-field.
14637 2018-04-15 Philipp Klaus Krause <pkk AT spth.de>
14639         * configure,
14640           configure.ac:
14641           Use C11 instead of ms-extensions to get support for anonymous struct.
14643 2018-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
14645         * sdas/asxxsrc/asout.c (outrw): enable emit 24-bit relocation data for stm8
14646         * src/stm8/main.c (get_model): fixed warning
14648 2018-04-06 Philipp Klaus Krause <pkk AT spth.de>
14650         * src/stm8/gen.c,
14651           support/regression/tests/bug-2124.c,
14652           support/regression/tests/bug-2373.c,
14653           support/regression/tests/bug1908493.c,
14654           support/regression/tests/compare.c,
14655           support/regression/tests/funptrs.c,
14656           support/regression/tests/gcc-torture-execute-930702-1.c,
14657           support/regression/tests/gcc-torture-execute-991112-1.c,
14658           support/regression/tests/z88dk.c:
14659           Workaround for 24-bit symbol assembler issue.
14661 2018-04-02 Philipp Klaus Krause <pkk AT spth.de>
14663         * support/regression/tests/gcc-torture-execute-20060110-2.c:
14664           Disable failing test.
14666 2018-04-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14668         * support/valdiag/tests/funcdec.c,
14669         * support/valdiag/tests/tentdecl.c: fix bug #2735
14671 2018-03-31 Philipp Klaus Krause <pkk AT spth.de>
14673         * src/SDCCopt.c:
14674           Consider string literal reuse in dead code elimination, part of RFE #567.
14675         * src/SDCCast.c,
14676           src/SDCCast.h,
14677           src/SDCCopt.c:
14678           Merge adjacent calls to puts(), RFE #564.
14679         * src/SDCCglue.c,
14680           src/stm8/gen.c:
14681           Enable support for 24-bit function pointers for stm8 large memory model.
14682         * support/valdiag/Makefile.in:
14683           Omit host by default.
14684         * support/valdiag/tests/funcdec.c,
14685           support/valdiag/tests/tentdecl.c:
14686           Disable test affected by bug #2735.
14687         * src/stm8/main.c:
14688           Separate default name for const segment from code segment.
14690 2018-03-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14692         * sdas/asxxsrc/asout.c
14693         * sdas/asxxsrc/sdas.c
14694         * sdas/asxxsrc/sdas.h: enable sdasstm8 to emit 24-bit relocation data
14696 2018-03-30 Philipp Klaus Krause <pkk AT spth.de>
14698         * support/valdiag/tests/overflow.c:
14699           Disable tests for known bugs #2733, #2734.
14700         * device/lib/stm8-large/heap.s:
14701           Fix heap initialization.
14703 2018-03-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14705         * support/regression/collate-results.py: fix bug #2731 and
14706           handle malformed "Summary" and "Simulator" stats better
14708 2018-03-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14710         * src/SDCCast.c,
14711           src/SDCCutil.c,
14712           src/SDCCval.c,
14713           src/SDCCval.h:
14714           Make optimization of stdlib calls play nice with string reuse.
14715         * support/util/dbuf.c,
14716           support/util/dbuf.h:
14717           Improve const-correctness.
14719 2018-03-28 Philipp Klaus Krause <pkk AT spth.de>
14721         * src/stm8/gen.c,
14722           support/regression/tests/bug-2124.c,
14723           support/regression/tests/bug-2373.c,
14724           support/regression/tests/bug-716242.c,
14725           support/regression/tests/bug1908493.c,
14726           support/regression/tests/compare.c,
14727           support/regression/tests/funptrs.c,
14728           support/regression/tests/gcc-torture-execute-930702-1.c,
14729           support/regression/tests/gcc-torture-execute-991112-1.c,
14730           support/regression/tests/gcc-torture-execute-func-ptr-1.c,
14731           support/regression/tests/z88dk.c:
14732           Give up on supporting function pointers for stm8 large memory model.
14733         * device/lib/Makefile.in:
14734           Build library for stm8 large memory model by default.
14736 2018-03-28 Philipp Klaus Krause <pkk AT spth.de>
14738         * src/stm8/gen.c:
14739           Fix long long return values for large memory model.
14740         * sim/ucsim/stm8.src/glob.cc:
14741           Fix decoding of jpf.
14742         * device/lib/stm8-large/setjmp.s:
14743           Fix longjmp() for large memory model.
14745 2018-03-28 Philipp Klaus Krause <pkk AT spth.de>
14747         * src/SDCC.y,
14748           src/SDCCasm.c,
14749           src/SDCCicode.c,
14750           src/SDCCralloc.hpp,
14751           src/stm8/gen.c,
14752           src/stm8/ralloc.c,
14753           src/stm8/ralloc2.cc,
14754           src/stm8/peep.c:
14755           Improve handling of global pointers.
14757 2018-03-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14759         * src/SDCCast.c,
14760           doc/sdccman.lyx,
14761           src/SDCCglobl.h,
14762           src/SDCCmain.c:
14763           Implement basic optimization of calls to standard library functions, RFE #564.
14764         * support/regression/tests/bug-716242.c,
14765           support/regression/tests/genptrs.c:
14766           Fix tests that assign void * to function pointers.
14767         * src/SDCCglue.c:
14768           Use jpf to reach main() for stm8 large memory model.
14769         * src/stm8/gen.c:
14770           Give up on assembler for stm8 large memory model to make regression tests pass.
14772 2018-03-26 Philipp Klaus Krause <pkk AT spth.de>
14774         * src/stm8/gen.c:
14775           Minor optimization for 8-bit pointer reads.
14777 2018-03-26 Philipp Klaus Krause <pkk AT spth.de>
14779         * support/valdiag/tests/constantRange.c:
14780           Make tests expect a few more warnings implemented in SDCC.
14781         * src/stm8/gen.c:
14782           Fix | of a with itself.
14783         * support/valdiag/tests/bug-971834.c:
14784           Do not expect unreasonable warning.
14785         * src/SDCCast.h,
14786           src/SDCCast.c,
14787           src/SDCCicode.c,
14788           support/valdiag/tests/pointers.c:
14789           Fix bug #2730.
14791 2018-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14793         * src/SDCCerr.h,
14794           src/SDCCerr.c,
14795           src/SDCCast.c,
14796           support/valdiag/valdiag.py,
14797           support/valdiag/tests/pointers.c:
14798           Diagnostics for conversions between pointers to objects and pointers to functions.
14799         * src/stm8/gen.c,
14800           src/stm8/peeph.def:
14801           Some minor improvements.
14803 2018-03-25 Philipp Klaus Krause <pkk AT spth.de>
14805         * src/stm8/gen.c:
14806           Improve calls via global function pointers.
14807         * src/pic16/gen.c,
14808           src/pic16/ralloc.c,
14809           src/pic16/ralloc.c:
14810           Fix NEARPTRSIZE use.
14811         * src/hc08/main.c:
14812           Fix leftover max type size.
14814 2018-03-25 Philipp Klaus Krause <pkk AT spth.de>
14816         * device/lib/stm8-large/Makefile.in,
14817           device/lib/stm8-large/_fast_long_neg.s:
14818           Remove unused support routine.
14819         * src/port.h,
14820           src/stm8/main.c:
14821           Fix library path for large memory model.
14822         * src/SDCCpeeph.c:
14823           Fix labelIsUncondJump() for large memory model.
14824         * src/stm8/gen.c:
14825           Simplify generation of calls, implement 24-bit return values.
14826         * device/lib/stm8-large/Makefile.in:
14827           Fix build of char multiplicative operator routines.
14828         * support/regression/ports/stm8-large/support.c:
14829           Fix regression test output.
14831 2018-03-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14833         * support/regression/collate-results.py,
14834         * support/regression/compact-results.py,
14835         * support/regression/get_ticks.py: Accept non-UTF-8 regression test
14836           output without throwing an exception under Python 3
14838 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14840         * src/stm8/gen.c:
14841           Fixes for handling of immediate operands for large memory model.
14842         * device/include/setjmp.h,
14843           device/lib/stm8-large/setjmp.s:
14844           Fix setjmp() / longjmp() for large memory model.
14846 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14848         * src/port.h,
14849           src/*/main.c,
14850           src/SDCCglobl.h,
14851           src/SDCCglue.c,
14852           src/SDCCsymt.c:
14853           Handle function pointer sizes separately from object pointer sizes.
14854         * configure.ac,
14855           device/lib/Makefile.in,
14856           src/stm8/gen.c,
14857           device/lib/stm8-large:
14858           stm8-large library.
14859         * support/regression/Makefile.in,
14860           support/regression/ports/stm8-large:
14861           stm8-large regression test target.
14863 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14865         * src/port.h,
14866           src/SDCCglobl.h,
14867           src/SDCCast.c,
14868           src/SDCCdwarf2.c,
14869           src/SDCCglue.c,
14870           src/SDCCicode.c,
14871           src/SDCCopt.c,
14872           src/SDCCsymt.c,
14873           src/ds390/gen.c,
14874           src/ds390/main.c,
14875           src/ds390/ralloc.c,
14876           src/hc08/gen.c,
14877           src/mcs51/gen.c,
14878           src/mcs51/main.c,
14879           src/mcs51/ralloc.c,
14880           src/pic14/gen.c,
14881           src/pic16/gen.c:
14882           Rename pointer size macros for clarification.
14883         * src/stm8/main.c,
14884           src/stm8/gen.c:
14885           Simplify call overhead handling for large memory model.
14887 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14889         * support/regression/tests/longlong.c:
14890           Disable test for mcs51 medium model.
14891         * support/regression/tests/bool.c:
14892           Test assignments between bool bitfields.
14894 2018-03-23 Philipp Klaus Krause <pkk AT spth.de>
14896         * src/mcs51/gen.c,
14897           support/regression/tests/gcc-torture-execute-950612-1.c:
14898           Fix bug #2669.
14899         * support/regression/tests/longlong.c:
14900           Enable full long long regression testing for large and huge mcs51 memory model.
14902 2018-03-23 Philipp Klaus Krause <pkk AT spth.de>
14904         * src/mcs51/gen.c:
14905           Fix a bug in code generation that was triggered by lospre.
14906         * support/regression/tests/gcc-torture-execute-20060110-2.c:
14907           Enable test for mcs51.
14908         * support/regression/tests/gcc-torture-execute-920922-1.c:
14909           Document that mcs51 exploits undefined behaviour.
14911 2018-03-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14913         * support/valdiag/valdiag.py: define some port specific
14914           macros (__has_bit, __has_data, __has_xdata, __has_reentrant)
14915           to simplify conditions
14916         * support/valdiag/tests/bug-971834.c,
14917         * support/valdiag/tests/enum.c,
14918         * support/valdiag/tests/funcdec.c,
14919         * support/valdiag/tests/primtypes.c,
14920         * support/valdiag/tests/switch.c,
14921         * support/valdiag/tests/tentdecl.c,
14922         * support/valdiag/tests/typedef.c: update for newer SDCC/GCC versions
14924 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14926         * src/mcs51/gen.c,
14927           src/mcs51/ralloc.c:
14928           Improve _Bool handling.
14930 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14932         * src/mcs51/ralloc.c:
14933           Allocate some local _Bool to bit registers.
14935 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14937         * src/mcs51/gen.c:
14938           Fix handling of acc for multiplicative operators.
14939         * src/mcs51/ralloc.c:
14940           Fall back to generic registers when running out of bit registers.
14942 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14944         * src/mcs51/gen.c,
14945           src/SDCCast.c
14946           Improve code generation for _Bool.
14948 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14950         * src/mcs51/ralloc.c:
14951           Make better use of acc for 8-bit operands.
14952         * src/SDCCopt.c:
14953           Optimize width of temporaries for bit tests.
14955 2018-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14957         * support/valdiag/Makefile.in: display any actual failure(s)
14958           and not just the summary
14960 2018-03-21 Philipp Klaus Krause <pkk AT spth.de>
14962         * src/z80/ralloc.c:
14963           Remove leftover debug message.
14965 2018-03-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14967         * src/mcs51/ralloc.c,
14968           src/mcs51/gen.c:
14969           Optimize bitwise operations on global variables.
14971 2018-03-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14973         * support/scripts/as2gbmap.py:
14974           Migrate to Python 2/3.
14975         * src/z80/ralloc.c,
14976           src/stm8/ralloc.c,
14977           support/regression/tests/bug-2347.c:
14978           Fix bug #2347.
14979         * device/README,
14980           device/examples:
14981           Remove outdated examples (bug #2728).
14983 2018-03-19 Philipp Klaus Krause <pkk AT spth.de>
14985         * configure.ac,
14986           configure:
14987           Migrate to Python 3.6 for default.
14989 2018-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14991         * src/z80/ralloc.c,
14992           src/stm8/ralloc.c:
14993           Do not mark global variables as rematerializeable.
14995 2018-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14997         * support/regression/generate-cases.py: apply patch #282 from
14998           Diego Herranz
14999         * support/regression/generate-cases.py,
15000         * support/regression/HTMLgen.py: use latin-1 encoding for file I/O
15001           to pass through UTF-8 and non-UTF-8 data without interpretation
15002           when using Python 3
15004 2018-03-18 Philipp Klaus Krause <pkk AT spth.de>
15006         * support/sdbinutils:
15007           Merge upstream GNU Binutils 2.30.
15008         * src/stm8/gen.c:
15009           Improve cycle count accuracy for shifts.
15011 2018-03-18 Philipp Klaus Krause <pkk AT spth.de>
15013         * src/stm8/gen.c:
15014           Improve handling of rematerialized operands and I/O.
15016 2018-03-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15018         * support/valdiag/valdiag.py: Fix a very old bug, more fixes
15019           for Python 2/3 compatibility
15021 2018-03-17 Philipp Klaus Krause <pkk AT spth.de>
15023         * src/stm8/gen.c:
15024           Implement RFE #566.
15026 2018-03-17 Philipp Klaus Krause <pkk AT spth.de>
15028         * support/valdiag/tests/restrict.c:
15029           Test for bug #2714.
15030         * src/SDCCralloc.hpp:
15031           Faster check for non-connected live-ranges.
15032         * src/stm8/ralloc.c,
15033           src/stm8/gen.c,
15034           src/stm8/peep.c:
15035           Basic support for rematerialization of addresses for stm8.
15037 2018-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15039         * support/regression/collate-results.py,
15040           support/valdiag/valdiag.py: replace use of deprecated
15041           functions for better Python 3 compatibility
15043 2018-03-16 Philipp Klaus Krause <pkk AT spth.de>
15045         * support/regression/collate-results.py,
15046           support/regression/compact-results.py,
15047           support/valdiag/valdiag.py:
15048           Convert Python 1 to Python 2/3.
15049         * support/regression/tests/qsort.c:
15050           Disable test for mcs51-small due to lack of RAM.
15051         * sim/ucsim/cmd.src/cmdlex.cc:
15052           Remove lex-generated file from repository.
15054 2018-03-13 Philipp Klaus Krause <pkk AT spth.de>
15056         * src/z80/gen.c,
15057           support/regression/tests/bug-2716.c:
15058           Fix bug #2716.
15059         * src/SDCCopt.c:
15060           Disable fix for non-connected live-ranges for ds390.
15061         * device/include/stdlib.h,
15062           device/lib/bsearch.c,
15063           device/lib/incl.mk,
15064           support/regression/tests/qsort.c:
15065           Implement bsearch().
15066         * support/valdiag/valdiag.py,
15067           support/valdiag/Makefile.in:
15068           Include z180, r2k, gbz80, tlcs90, s08, stm8 in diagnostic validation.
15069         * support/regression/generate-cases.py,
15070           support/regression/HTMLgen.py,
15071           support/regression/get_ticks.py:
15072           Convert Python 1 to Python 2/3.
15074 2018-03-13 Philipp Klaus Krause <pkk AT spth.de>
15076         * src/z80/gen.c:
15077           Fix --reserve-regs-iy issue in function pointers to functions returning long long.
15079 2018-03-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15081         * src/SDCCralloc.hpp:
15082           Fix --dump-graphs debug output for non-connected live-ranges.
15083         * src/SDCClrange.c,
15084           src/SDCCopt.c:
15085           Fix non-connected live-ranges, bugs #2525, #2644, #2266, #2319.
15087 2018-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15089         * support/regression/tests/bug-1981238.c,
15090           support/regression/tests/gcc-torture-execute-20141107-1.c,
15091           support/regression/tests/gcc-torture-execute-920711-1.c: Test for
15092           __POWERPC__ instead of __PPC__
15094 2018-03-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15096         * support/regression/tests/bug-1981238.c,
15097           support/regression/tests/gcc-torture-execute-20141107-1.c,
15098           support/regression/tests/gcc-torture-execute-920711-1.c: Disable
15099           tests failing on PPC host
15100         * support/regression/tests/gcc-torture-execute-20121108-1.c,
15101           support/regression/tests/gcc-torture-execute-pr79286.c: Don't
15102           define putchar when compiling for host
15104 2018-03-06 Maarten Brock <sourceforge.brock AT dse.nl>
15106         * support/regression/tests/bug-1981238.c: disabled new tests that fail on
15107           host
15109 2018-03-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15111         * src/SDCCopt.c,
15112           support/regression/tests/bug-2712.c:
15113           Fix bug #2712.
15115 2018-03-04 Maarten Brock <sourceforge.brock AT dse.nl>
15117         * src/stm8/gen.c (emitCall): fix callf with literal
15118         * support/regression/tests/bug-1981238.c: added tests,
15119           changed pad.b to 5 bits so the total is <= 8
15120         * support/regression/tests/memory.c: enabled test for ds390, mcs51-large
15121           and mcs51-huge
15122         * device/lib/strtoul.c: fix warnings
15124 2018-03-04 Philipp Klaus Krause <pkk AT spth.de>
15126         * src/SDCCerr.c,
15127           src/SDCCerr.h,
15128           src/SDCCsymt.c:
15129           Fix bug #2714.
15131 2018-03-04 Philipp Klaus Krause <pkk AT spth.de>
15133         * sim/ucsim/stm8.src/stm8.cc:
15134           Fix bug #2694.
15135         * configure.ac,
15136           configure,
15137           src/Makefile.in,
15138           sim/ucsim/cmd.src/Makefile.in:
15139           Fix bug #2724.
15140         * src/SDCC.y,
15141           src/SDCCerr.h,
15142           src/SDCCerr.c,
15143           src/SDCCsymt.c:
15144           Fix bug #2720.
15146 2018-02-28 Philipp Klaus Krause <pkk AT spth.de>
15148         * src/stm8/gen.c:
15149           Implement calls through functions pointers via retpoline for stm8 large memory model (RFE #556).
15151 2018-02-28 Philipp Klaus Krause <pkk AT spth.de>
15153         * doc/sdccman.lyx:
15154           Document stm8 memory models (RFE #556).
15155         * src/stm8/main.c,
15156           src/stm8/gen.c:
15157           Do not generate jump tables for stm8 large memory model (RFE #556).
15159 2018-02-27 Philipp Klaus Krause <pkk AT spth.de>
15161         * sim/ucsim/stm8.src/inst.cc:
15162           Fix handling of 16-bit and 17-bit jumps in simulator (RFE #556).
15163         * src/stm8/peep.c:
15164           Improve handling of 24-bit jumps in peephole optimizer (RFE #556).
15165         * src/stm8/main.c,
15166           src/stm8/gen.c:
15167           Code generation for large memory model for stm8 (RFE #556).
15168         * support/regression/tests/memory.c:
15169           Enable test for host.
15170         * src/stm8/peeph.def:
15171           New peephole rules for large memory model (RFE #556).
15173 2018-02-26 Philipp Klaus Krause <pkk AT spth.de>
15175         * .version,
15176           src/stm8/peeph.def:
15177           Implement RFE #557.
15178         * device/lib/stm8/strcmp.s,
15179           device/lib/stm8/strcpy.s:
15180           Faster string functions from patch #281 by Benedikt Freisen.
15181         * support/regression/tests/memory.c:
15182           Test memory functions on larger arrays.
15183         * device/lib/stm8/memcpy.s:
15184           Faster string function based on patch #281 by Benedikt Freisen.
15186 2018-02-18 Philipp Klaus Krause <pkk AT spth.de>
15188         * src/z80/gen.c,
15189           support/regression/tests/bug-2715.c:
15190           Fix bug #2715.
15191         * doc/sdccman.lyx:
15192           Document treedec location.
15194 2018-02-07 Philipp Klaus Krause <pkk AT spth.de>
15196         * .version,
15197           doc/INSTALL.txt,
15198           sdcc.spec:
15199           Version 3.7.0
15201 2018-02-07 Philipp Klaus Krause <pkk AT spth.de>
15203         * doc/sdccman.lyx:
15204           Update for default build of lib for huge mcs51 memory model.
15206 2018-02-06 Philipp Klaus Krause <pkk AT spth.de>
15208         * doc/sdccman.lyx:
15209           Fixed a typo.
15211 2018-02-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15213         * support/sdbinutils/bfd/doc/Makefile.am,
15214           support/sdbinutils/bfd/doc/Makefile.in:
15215           Fix bug #2711.
15217 2018-01-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15219         * device/lib/strtol.c,
15220           device/lib/strtoul.c,
15221           support/regression/tests/strto.c,
15222           device/include/stdlib.h,
15223           device/lib/incl.mk:
15224           Implement strtoul(), strtol() RFE #555.
15226 2018-01-26 Philipp Klaus Krause <pkk AT spth.de>
15228         * src/SDCCpeeph.c:
15229           Reduce memory usage in the peephole optimizer.
15231 2018-01-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15233         * device/include/stdlib.h,
15234           device/lib/incl.mk,
15235           device/lib/qsort.c,
15236           support/regression/tests/qsort.c:
15237           Implement qsort(), RFE #554.
15238         * device/lib/stm8/heap.s:
15239           Increase stm8 default heapsize to 1KB size of other backends.
15240         * src/SDCCpeeph.c,
15241           src/SDCCgen.c,
15242           src/stm8/peep.c:
15243           Code cleanup.
15245 2018-01-24 Philipp Klaus Krause <pkk AT spth.de>
15247         * src/stm8/peep.c,
15248           support/regression/tests/bug-2708.c:
15249           Fix bug #2708.
15251 2018-01-18 Philipp Klaus Krause <pkk AT spth.de>
15253         * src/SDCC.lex,
15254           src/SDCCglobl.h,
15255           src/SDCCmain.c:
15256           Remove leftovers from deprecated nojtbound pragma and option.
15257         * doc/sdccman.lyx:
15258           Update list of incompatible changes.
15259         * src/hc08/gen.c,
15260           src/SDCCast.c,
15261           device/lib/_rlulonglong.c,
15262           device/lib/_rrslonglong.c,
15263           device/lib/_rrulonglong.c,
15264           support/regression/tests/*.c:
15265           Fixed many long long issues, including bugs #2658 and #2118.
15267 2018-01-07 Philipp Klaus Krause <pkk AT spth.de>
15269         * src/SDCCglue.c,
15270           support/regression/tests/bug-2643.c:
15271           Fix bug #2643.
15273 2018-01-05 Philipp Klaus Krause <pkk AT spth.de>
15275         * src/ds390/gen.c,
15276           src/ds390/ralloc.c,
15277           support/regression/ports/ds390/spec.mk,
15278           support/regression/tests/*.c:
15279           Fixes in ds390 long long support.
15281 2018-01-04 Philipp Klaus Krause <pkk AT spth.de>
15283         * src/ds390/ralloc.c,
15284           support/regression/tests/*.c:
15285           Fix conflict in assignment of long long return values.
15287 2018-01-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de.de>
15289         * device/include/stdint.h,
15290           src/SDCCsymt.c,
15291           src/ds390/gen.c,
15292           src/ds390/gen.h,
15293           src/ds390/ralloc.c,
15294           support/regression/tests/*.c:
15295           Initial long long support for ds390.
15297 2018-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
15299         * support/scripts/sdcc.nsi: added tlcs90 library
15301 2017-12-30 Maarten Brock <sourceforge.brock AT dse.nl>
15303         * support/scripts/sdcc.nsi: added sdastlcs90.exe
15305 2017-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
15307         * support/regression/tests/wchar.c: disabled test for gcc 5.4 and older
15308         * support/scripts/sdcc.nsi: added huge library
15310 2017-12-29 Philipp Klaus Krause <pkk AT spth.de>
15312         * sim/ucsim/cmd.src/clean.mk:
15313           Cleanup bison-generated files.
15315 2017-12-28 Philipp Klaus Krause <pkk AT spth.de>
15317         * sim/ucsim/cmd.src/Makefile.in,
15318           sim/ucsim/cmd.src/cmdpars.cc,
15319           sim/ucsim/cmd.src/cmdpars.hh,
15320           device/lib/pic14/*,
15321           device/lib/pic16/*:
15322           Fixes for out-of-tree builds.
15324 2017-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
15326         * support/regression/ports/mcs51-huge/spec.mk,
15327         * support/regression/Makefile.in: huge lib is now built by default
15328         * support/regression/tests/gcc-torture-execute-20140212-1.c,
15329         * support/regression/tests/gcc-torture-execute-20140212-2.c,
15330         * support/regression/tests/gcc-torture-execute-pr60062.c,
15331         * support/regression/tests/gcc-torture-execute-pr63209.c,
15332         * support/regression/tests/gcc-torture-execute-pr64979.c,
15333         * support/regression/tests/gcc-torture-execute-pr67714.c,
15334         * support/regression/tests/gcc-torture-execute-pr68250.c,
15335         * support/regression/tests/gcc-torture-execute-pr68321.c,
15336         * support/regression/tests/gcc-torture-execute-pr68390.c,
15337         * support/regression/tests/gcc-torture-execute-pr78675.c,
15338         * support/regression/tests/gcc-torture-execute-pr80153.c,
15339         * support/regression/tests/bug-2567.c: fix or suppress warnings
15340         * support/regression/tests/gcc-torture-execute-pr66940.c: added test that
15341           long != long long
15342         * support/regression/tests/inline.c: added test for bug 2591
15344 2017-11-14 Philipp Klaus Krause <pkk AT spth.de>
15346         * src/SDCCtree_dec.hpp:
15347           Choose Thorup vs. PP+FI+TM per CFG depending on width of decompositions.
15349 2017-11-14 Ben Shi <powerstudio1st AT 163 DOT com>
15351         * src/mcs51/gen.c,
15352         * src/mcs51/rtrack.c:
15353           Fix illegal form of MOV.
15354         * support/regression/tests/bug-2221.c:
15355           Partially enabled.
15357 2017-11-13 Philipp Klaus Krause <pkk AT spth.de>
15359         * Merged nothorup branch to trunk.
15361 2017-11-13 Philipp Klaus Krause <pkk AT spth.de>
15363         * src/SDCCtree_dec.hpp:
15364           Document choice of algorithm for tree-decomposition.
15366 2017-11-13 Philipp Klaus Krause <pkk AT spth.de>
15368         * configure.ac,
15369           src/SDCCtree_dec.hpp,
15370           sdccconf_in.h,
15371           configure:
15372           Automatically use gala for treedec.
15374 2017-11-12 Philipp Klaus Krause <pkk AT spth.de>
15376         * sdccconf_in.h:
15377           Regenerate to get correct definitions from configuration.
15379 2017-11-08 Philipp Klaus Krause <pkk AT spth.de>
15381         * configure,
15382           configure.ac,
15383           src/SDCClospre.cc,
15384           src/SDCClospre.hpp,
15385           src/SDCCnaddr.cc,
15386           src/SDCCnaddr.hpp,
15387           src/SDCCralloc.hpp,
15388           src/SDCCtree_dec.hpp,
15389           src/hc08/ralloc2.cc,
15390           src/stm8/ralloc2.cc,
15391           src/z80/ralloc2.cc:
15392           Detect and use treedec when available, fall back to Thorup otherwise.
15394 2017-11-08 Philipp Klaus Krause <pkk AT spth.de>
15396         * src/SDCClospre.cc,
15397           src/SDCClospre.hpp,
15398           src/SDCCnaddr.cc,
15399           src/SDCCnaddr.hpp,
15400           src/SDCCralloc.hpp,
15401           src/SDCCtree_dec.hpp,
15402           src/hc08/ralloc2.cc,
15403           src/stm8/ralloc2.cc,
15404           src/z80/ralloc2.cc:
15405           tdlib to treedec rename.
15407 2017-11-07 Philipp Klaus Krause <pkk AT spth.de>
15409         * src/SDCCglobl.h,
15410           src/SDCCglue.c,
15411           src/SDCCmain.c,
15412           src/z80/main.c:
15413           Implement --data-seg, part of RFE #544.
15415 2017-11-07 Philipp Klaus Krause <pkk AT spth.de>
15417         * src/z80/gen.c,
15418           src/z80/peeph-gbz80.def,
15419           support/regression/tests/longlong.c,
15420           support/regression/tests/gcc-torture-execute-20001108-1.c,
15421           support/regression/tests/gcc-torture-execute-20011126-1,
15422           support/regression/tests/gcc-torture-execute-20041011-1.c,
15423           support/regression/tests/gcc-torture-execute-20080529-1.c,
15424           support/regression/tests/gcc-torture-execute-20120817-1.
15425           support/regression/tests/gcc-torture-execute-920829-1.c,
15426           support/regression/tests/gcc-torture-execute-950511-1.c,
15427           support/regression/tests/gcc-torture-execute-961213-1.c,
15428           support/regression/tests/gcc-torture-execute-pr65170:
15429           Fix bugs #2329, #2656, #2653.
15430         * support/makebin/makebin.c:
15431           Apply patch #278 by Brandon Blake.
15432         * support/regression/tests/bugs-1596270-1736867.c:
15433           Disable a test for ds390.
15435 2017-11-06 Philipp Klaus Krause <pkk AT spth.de>
15437         * src/SDCCval.c,
15438           src/SDCCval.c,
15439           src/SDCC.lex,
15440           support/regression/tests/bug-2221.c,
15441           support/regression/tests/bug-2687.c,
15442           support/regression/tests/generic.c:
15443           Fix bugs #2221, #2687.
15444         * configure.ac,
15445           configure:
15446           Fix bug #2689.
15448 2017-11-05 Philipp Klaus Krause <pkk AT spth.de>
15450         * src/SDCCralloc.hpp,
15451           src/z80/gen.c,
15452           support/regression/tests/bug-2681.c:
15453           Fix bug #2681.
15454         * support/regression/tests/bug-2645.c:
15455           Silence an mcs51 warning.
15456         * support/regression/tests/bug-2567.c,
15457           support/regression/tests/gcc-torture-execute-pr60062.c,
15458           support/regression/tests/gcc-torture-execute-pr63209.c,
15459           support/regression/tests/gcc-torture-execute-pr80153.c:
15460           Silence some warning about unused function arguments.
15462 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15464         * src/SDCCtree_dec.hpp:
15465           Fix bug #2684.
15467 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15469         * src/SDCCtree_dec.hpp:
15470           Cleanup algorithm selection.
15472 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15474         * support/regression/tests/bug-2684.c:
15475           Disable new test for mcs51-small, which doesn't have enough RAM.
15477 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15479         * src/SDCClospre.hpp,
15480           src/SDCCnaddr.hpp,
15481           src/SDCCralloc.hpp,
15482           src/SDCCtree_dec.hpp:
15483           More changes for current tdlib, patch by Felix Salfelder.
15485 2017-11-02 Philipp Klaus Krause <pkk AT spth.de>
15487         * support/regression/tests/bug-2684.c:
15488           Test for bug #2684.
15490 2017-11-02 Philipp Klaus Krause <pkk AT spth.de>
15492         * src/SDCCtree_dec.hpp:
15493           Use find_root() from tdlib when available.
15495 2017-11-01 Philipp Klaus Krause <pkk AT spth.de>
15497         * src/z80/ralloc2.cc:
15498           Fix a bug in Z80 sfr handling.
15499         * support/scripts/Makefile.in:
15500           Fix an access rights issue in make install, patch by Felix Salfelder.
15502 2017-10-31 Philipp Klaus Krause <pkk AT spth.de>
15504         * src/SDCCtree_dec.hpp,
15505           src/SDCCralloc.hpp,
15506           src/stm8/ralloc2.cc,
15507           src/hc08/ralloc2.cc,
15508           src/z80/ralloc2.cc:
15509           Allow use of tdlib Thorup in place of SDCC Thorup in register allocator.
15510         * src/SDCClospre.cc,
15511           src/SDCClospre.hpp,
15512           src/SDCCnaddr.cc,
15513           src/SDCCnaddr.hpp:
15514           Allow use of tdlib Thorup in place of SDCC Thorup in lospre and bank selection instruction placement.
15515         * src/SDCClospre.cc,
15516           src/SDCCnaddr.cc,
15517           src/hc08/ralloc2.cc,
15518           src/z80/ralloc2.cc:
15519           Enable use of tdlib Thorup in place of SDCC Thorup.
15520         * src/SDCCtree_dec.hp:
15521           Use PP+FI+TM instead of Thorup.
15523 2017-10-30 Philipp Klaus Krause <pkk AT spth.de>
15525         * src/z80/gen.c:
15526           Fix --reserve-regs-iy issues, part of bug #2674.
15527         * device/lib/incl.mk:
15528           Build library for mcs51 huge model, to reduce differences with Debian version.
15530 2017-10-29 Philipp Klaus Krause <pkk AT spth.de>
15532         * support/regression/tests/bug-2580.c:
15533           Fix an issue for host systems where char is signed.
15534         * support/regression/ports/ucz80-resiy,
15535           support/regression/Makefile.in:
15536           Add target for z80 test with --reserve-regs-iy.
15537         * doc/Makefile.in:
15538           Try to resurrect full documentation build.
15540 2017-10-28 Philipp Klaus Krause <pkk AT spth.de>
15542         * device/lib/pic16/configure,
15543           device/non-free/lib/pic16/configure,
15544           device/non-free/lib/pic16/supported-devices.ac:
15545           Reduce pic device support warning timeout.
15546         * support/regression/tests/gcc-torture-execute-920612-1.c:
15547           Disable a host test that fails for GCC 7.2.
15548         * src/z80/gen.c,
15549           support/regression/tests/bug-2580.c:
15550           Fix bug #2580.
15552 2017-10-27 Philipp Klaus Krause <pkk AT spth.de>
15554         * configure,
15555           configure.ac,
15556           sim/ucsim/cmd.src/cmdutil.cc,
15557           sim/ucsim/configure,
15558           sim/ucsim/configure.ac,
15559           sim/ucsim/utils.cc,
15560           src/SDCCutil.c,
15561           src/SDCCutil.h:
15562           Do not work around missing C99 support.
15563         * support/regression/Makefile.in:
15564           Reduce make overhead in regression testing from quadratic to linear in the number of tests.
15565         * sim/ucsim/app.cc:
15566           Speed up simulator command handling for faster regression testing.
15568 2017-10-26 Philipp Klaus Krause <pkk AT spth.de>
15570         * src/z80/ralloc2.cc,
15571           src/z80/gen.c,
15572           support/regression/tests/bug-2370.c:
15573           Fix various --reserve-regs-iy issues, including bug #2370 and most of bug #2674.
15575 2017-10-25 Philipp Klaus Krause <pkk AT spth.de>
15577         * src/z80/gen:
15578           Fix a --reserve-regs-iy bug in 32/64-bit comparisons.
15579         * src/stm8/peeph.def,
15580           src/stm8/gen.c:
15581           Minor improvements for stm8.
15583 2017-10-25 Philipp Klaus Krause <pkk AT spth.de>
15585         * src/z80/gen.c,
15586           src/z80/peep.c:
15587           __z88dk_fastcall function pointer support for --reserve-regs-iy.
15589 2017-10-24 Philipp Klaus Krause <pkk AT spth.de>
15591         * doc/sdccman.lyx:
15592           Fix broken references.
15593         * src/z80/gen.c:
15594           Fix various --reserve-regs-iy issues, including bugs #2400, #2278, #2380.
15596 2017-10-23 Philipp Klaus Krause <pkk AT spth.de>
15598         * src/SDCCdwarf2.c:
15599           Debug info for partially spilt variables.
15600         * doc/sdccman.lyx,
15601           doc/Makefile.in:
15602           Fix SDCC version in manual title for out-of-tree build.
15603         * src/SDCCast.c,
15604           support/regression/tests/bug-2632.c:
15605           Fix bug #2632.
15607 2017-10-22 Philipp Klaus Krause <pkk AT spth.de>
15609         * src/SDCCdwarf2.c:
15610           Infrastructure for debug info for partially spilt variables.
15611         * src/SDCCmain.c:
15612           Document command line options in help output.
15614 2017-10-20 Philipp Klaus Krause <pkk AT spth.de>
15616         * src/z80/ralloc2.cc,
15617           src/z80/gen.c:
15618           Improve handling of a in cast.
15619         * src/z80/gen.c:
15620           Improve &.
15621         * src/z80/gen.c:
15622           Improve |.
15624 2017-10-19 Philipp Klaus Krause <pkk AT spth.de>
15626         * src/z80/peeph-z80.def:
15627           Optimize ifx on 16-bit pointer read.
15628         * src/z80/peeph-z80.def:
15629           Improve peephole rules for caching 0 in a.
15631 2017-10-18 Philipp Klaus Krause <pkk AT spth.de>
15633         * src/z80/gen.c,
15634           src/z80/ralloc2.cc:
15635           Improve subtraction of global variables.
15636         * src/z80/gen.c:
15637           Simplify stack adjustment.
15638         * src/z80/gen.c:
15639           Improve 32-bit increment.
15640         * src/z80/ralloc2.cc:
15641           Improve handling of a in negation.
15642         * src/z80/gen.c:
15643           Improve cast to signed long and signed long long.
15644         * src/z80/gen.c:
15645           Improve addition of immediates.
15647 2017-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
15649         * SDCC.props: boost 1.64
15650         * sdas/linksrc/lkmem.c: fixed warning
15651         * src/mcs51/peep.c,
15652         * src/SDCCast.c,
15653         * src/SDCCcse.c,
15654         * src/SDCCmem.c,
15655         * src/z80/ralloc2.cc: cosmetic changes
15657 2017-10-18 Philipp Klaus Krause <pkk AT spth.de>
15659         * src/z80/ralloc2.cc,
15660           src/z80/gen.c:
15661           Improve handling of a in pointer read and ifx.
15663 2017-10-17 Maarten Brock <sourceforge.brock AT dse.nl>
15665         * src/z80/main.c (_parseOptions): fix bug #2634
15667 2017-10-17 Philipp Klaus Krause <pkk AT spth.de>
15669         * src/SDCCdwarf2.h,
15670           src/SDCCdwarf2.c:
15671           CFI handling in DWARFv2 output, patch by Åke Rehnman.
15673 2017-10-16 Philipp Klaus Krause <pkk AT spth.de>
15675         * src/stm8/main.c:
15676           Debug info infrastructure for stm8 registers.
15677         * device/lib/_fsgt.c,
15678           device/lib/incl.mk,
15679           src/SDCCsymt.h,
15680           src/SDCCsymt.c
15681           src/SDCCopt.c:
15682           Remove __fsgt support function, RFE #526.
15683         * src/z80/gen.c:
15684           Improve handling of variables on stack in return.
15685         * src/SDCCsymt.c:
15686           Fix bug #2666.
15688 2017-10-16 Ben Shi <powerstudio1st AT 163 DOT com>
15690         * src/mcs51/peeph.def:
15691           Fix a potential bug in label reference count calculation.
15693 2017-10-15 Philipp Klaus Krause <pkk AT spth.de>
15695         * src/SDCCdebug.h,
15696           src/SDCCdwarf2.c,
15697           src/cdbFile.c,
15698           src/stm8/gen.c,
15699           src/stm8/ralloc.c,
15700           src/stm8/ralloc.h:
15701           STM8 frame address debug info, based on patch by Åke Rehnman.
15702         * src/stm8/main.c:
15703           Implement RFE #538: Option for stack pointer startup value for stm8.
15704         * device/lib/*/mulchar.s:
15705           Minor char multiplication improvement.
15706         * sdas/linksrc/lkelf.c:
15707           RFE #2670 ELF e_entry, patch by Åke Rehnman.
15708         * src/SDCCtree_dec.hpp,
15709           src/SDCCralloc.hpp,
15710           src/SDCCnaddr.hpp,
15711           src/SDCClospre.cc:
15712           More verbose --dump-graphs output.
15713         * device/lib/z180/mul.s:
15714           Better multiplication support routine for z180.
15716 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15718         * support/regression/tests/gcc-torture-execute-920922-1.c,
15719           support/regression/tests/gcc-torture-execute-950612-1.c:
15720           Disable tests that fail due to bug #2669.
15722 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15724         * src/z80/peeph.def:
15725           Renumber peephole rules.
15727 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15729         * src/z80/peeph.def:
15730           Remove obsolete peephole rules.
15732 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15734         * src/stm8/peeph.def:
15735           Renumber peephole rules.
15737 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15739         * src/stm8/peeph.def:
15740           Remove obsolete peephole rules.
15742 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15744         * src/hc08/peeph.def:
15745           Renumber peephole rules.
15747 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15749         * src/hc08/peeph.def:
15750           Remove obsolete peephole rules.
15752 2017-10-11 Ben Shi <powerstudio1st AT 163 DOT com>
15754         * src/mcs51/peeph.def:
15755           Fix potential bugs in a serial of rules (241a-241h) by adding check of labelRefCount().
15757 2017-10-11 Ben Shi <powerstudio1st AT 163 DOT com>
15759         * src/mcs51/peeph.def:
15760           Add two optimization rules for long long comparison.
15762 2017-10-10 Philipp Klaus Krause <pkk AT spth.de>
15764         * support/regression/tests/gcc-torture-execute-20001108-1.c,
15765           support/regression/tests/gcc-torture-execute-20020201-1.c,
15766           support/regression/tests/gcc-torture-execute-20020226-1.c,
15767           support/regression/tests/gcc-torture-execute-20060110-1.c,
15768           support/regression/tests/gcc-torture-execute-20060110-2.c,
15769           support/regression/tests/gcc-torture-execute-20060127-1.c,
15770           support/regression/tests/gcc-torture-execute-20071030-1.c,
15771           support/regression/tests/gcc-torture-execute-20080529-1.c,
15772           support/regression/tests/gcc-torture-execute-20101013-1.c,
15773           support/regression/tests/gcc-torture-execute-20120817-1.c,
15774           support/regression/tests/gcc-torture-execute-920604-1.c,
15775           support/regression/tests/gcc-torture-execute-920829-1.c,
15776           support/regression/tests/gcc-torture-execute-920922-1.c,
15777           support/regression/tests/gcc-torture-execute-930702-1.c,
15778           support/regression/tests/gcc-torture-execute-950511-1.c,
15779           support/regression/tests/gcc-torture-execute-950612-1.c,
15780           support/regression/tests/gcc-torture-execute-950915-1.c,
15781           support/regression/tests/gcc-torture-execute-961213-1.c,
15782           support/regression/tests/gcc-torture-execute-990513-1.c,
15783           support/regression/tests/gcc-torture-execute-pr19606.c,
15784           support/regression/tests/gcc-torture-execute-pr47538.c,
15785           support/regression/tests/gcc-torture-execute-pr65170.c,
15786           support/regression/tests/gcc-torture-execute-pr78791.c,
15787           support/regression/tests/gcc-torture-execute-pr81556.c:
15788           Enable mcs51 tests that pass for me now.
15789         * device/lib/hc08/Makefile.in,
15790           device/lib/hc08/_divuint.c,
15791           device/lib/hc08/_divulong.c,
15792           device/lib/hc08/_mullong.c,
15793           device/lib/hc08/Makefile.in,
15794           device/lib/hc08/_divuint.c,
15795           device/lib/hc08/_divulong.c,
15796           device/lib/hc08/_mullong.c:
15797           Replace some backend-specific functions in hc08 and s08 libraries by generic ones.
15799 2017-10-10 Philipp Klaus Krause <pkk AT spth.de>
15801         * src/SDCCralloc.hpp:
15802           Fix bug #2667.
15803         * support/regression/tests/gcc-torture-execute-pr68532.c:
15804           Disable test for medium model.
15806 2017-10-10 Ben Shi <powerstudio1st AT 163 DOT com>
15808         * src/mcs51/gen.c:
15809           Fix a bug in genRet() to avoid generate "mov Rx,Ry".
15810         * src/mcs51/peeph.def:
15811           Better format.
15812         * support/regression/ports/mcs51-common/spec.mk:
15813           Add support for liblonglong.
15814         * support/regression/tests/gcc-torture-execute-pr78378.c:
15815           Enabled for mcs-51.
15817 2017-10-09 Philipp Klaus Krause <pkk AT spth.de>
15819         * device/lib/_divuchar.c,
15820           device/lib/_moduchar.c,
15821           device/lib/_muluchar.c,
15822           src/SDCCsymt.c:
15823           Generic support routine infrastructure.
15825 2017-10-08 Philipp Klaus Krause <pkk AT spth.de>
15827         * support/regression/tests/bug-2663.c:
15828           Disable new function pointer test for ds390.
15829         * src/SDCCsymt.c,
15830           src/SDCCerr.h,
15831           src/SDCCerr.c:
15832           Improve error reporting for conflicting function declarations.
15833         * src/SDCCast.c,
15834           support/regression,tests/bug-2556.c:
15835           Fix bug #2556.
15837 2017-10-07 Philipp Klaus Krause <pkk AT spth.de>
15839         * src/SDCCerr.c,
15840           src/SDCCglue.c:
15841           Fix bug #2641.
15843 2017-10-05 Philipp Klaus Krause <pkk AT spth.de>
15845         * src/SDCCval.c,
15846           support/regression/tests/generic.c:
15847           Fix string literal signedness to match char.
15848         * src/SDCCsymt.c,
15849           support/regression/tests/bug-2663.c:
15850           Partial fix for bug #2663.
15852 2017-10-03 Philipp Klaus Krause <pkk AT spth.de>
15854         * src/SDCCralloc.hpp:
15855           Make source compilable with MSVC++ 2015.
15857 2017-10-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15859         * src/hc08/gen.c: fix bug #2662 (omit debug info on dry run)
15861 2017-10-02 Philipp Klaus Krause <pkk AT spth.de>
15863         * support/regression/tests/cvu_play_music.c,
15864           support/regression/tests/io.c:
15865           Improve coverage of z80 peephole rules.
15866         * src/SDCCicode.c:
15867           Improve debug info for ENDFUNCTION iCode, patch by Åke Rehnman.
15868         * src/z80/peeph-tlcs90.def:
15869           Remove obsolete tlcs90 peephole rules.
15870         * src/z80/peeph-gbz80.def:
15871           Remove obsolete gbz80 peephole rules.
15873 2017-10-01 Philipp Klaus Krause <pkk AT spth.de>
15875         * support/regression/tests/gcc-torture-execute-pr80501.c,
15876           support/regression/tests/gcc-torture-execute-pr81555.c:
15877           Disable tests for older host compilers.
15878         * src/z80/peep.c,
15879           support/regression/tests/bug-2569.c:
15880           Fix bug #2569.
15881         * src/SDCCralloc.hpp:
15882           Change filenames for graphs from register allocation for --dump-graphs.
15883         * support/regression/tests/gcc-torture-execute-20141125-1.c:
15884           Disable new test since it fails on 32-bit hosts, bug #2661.
15886 2017-09-30 Philipp Klaus Krause <pkk AT spth.de>
15888         * src/z80/gen.c:
15889           Fix issues in built-in memset() and handling of literals.
15890         * src/z80/gen.c:
15891           Improve long long parameter passing.
15893 2017-09-29 Philipp Klaus Krause <pkk AT spth.de>
15895         * src/z80/gen.c,
15896           support/regression/tests/addsub.c:
15897           Optimize addition.
15899 2017-09-28 Philipp Klaus Krause <pkk AT spth.de>
15901         * src/SDCC.y,
15902           src/SDCCerr.c,
15903           src/SDCCerr.h,
15904           support/regression/tests/p99-conformance.c,
15905           doc/sdccman.lyx:
15906           Implement RFE #537: static in array parameters.
15908 2017-09-27 Philipp Klaus Krause <pkk AT spth.de>
15910         * support/regression/tests/gcc-torture-execute-pr7*.c
15911           support/regression/tests/gcc-torture-execute-pr8*.c:
15912           Port more tests from the GCC testsuite.
15913         * support/regression/tests/gcc-torture-execute-930529-1.c:
15914           Disable test that hangs on GCC 7.2.0 for host.
15915         * support/regression/tests/gcc-torture-execute-pr51581-?.c:
15916           Fix for test-host.
15918 2017-09-26 Philipp Klaus Krause <pkk AT spth.de>
15920         * src/SDCCerr.c:
15921           Improve error message for storage class specifiers in parameters.
15922         * src/SDCC.y:
15923           Separate type qualifiers from type specifiers to prepare for RFE #2538.
15924         * support/regression/tests/gcc-torture-execute-20120111-1.c,
15925           support/regression/tests/gcc-torture-execute-20120817-1.c,
15926           support/regression/tests/gcc-torture-execute-20140212-1.c,
15927           support/regression/tests/gcc-torture-execute-20141125-1.c,
15928           support/regression/tests/gcc-torture-execute-20170111-1.c,
15929           support/regression/tests/gcc-torture-execute-pr65170.c,
15930           support/regression/tests/gcc-torture-execute-pr65215-1.c,
15931           support/regression/tests/gcc-torture-execute-pr65215-2.c,
15932           support/regression/tests/gcc-torture-execute-pr66940.c,
15933           support/regression/tests/gcc-torture-execute-pr69320-4.c:
15934           Disable new long long tests for ds390.
15935         * src/SDCC.y,
15936           src/SDCCerr.c,
15937           src/SDCCerr.h,
15938           src/SDCCsymt.h,
15939           src/SDCCsymt.c,
15940           support/regression/tests/p99-conformance.c:
15941           Partially fix bug #2538: const and volatile in array parameters.
15942         * support/regression/tests/gcc-torture-execute-pr51581-1.c:
15943           Fix for test-host.
15944         * src/SDCC.y,
15945           support/regression/tests/p99-conformance.c:
15946           Fix bug #2538: qualifiers in array parameters (ISO C99).
15947         * doc/sdccman.lyx:
15948           Document missing support for static in array parameters.
15950 2017-09-25 Philipp Klaus Krause <pkk AT spth.de>
15952         * support/regression/tests/gcc-torture-execute-20111227-1.c,
15953           support/regression/tests/gcc-torture-execute-2012*.c,
15954           support/regression/tests/gcc-torture-execute-2013*.c,
15955           support/regression/tests/gcc-torture-execute-2014*.c,
15956           support/regression/tests/gcc-torture-execute-2015*.c,
15957           support/regression/tests/gcc-torture-execute-2017*.c:
15958           Port more tests from the GCC testsuite.
15959         * src/stm8/gen.c,
15960           support/regression/tests/gcc-torture-execute-20141022-1.c:
15961           Fix bug #2652.
15962         * support/regression/tests/gcc-torture-execute-pr51581-1.c,
15963           support/regression/tests/gcc-torture-execute-pr51581-2.c:
15964           support/regression/tests/gcc-torture-execute-pr6*.c:
15965           Port more tests from the GCC testsuite.
15967 2017-09-25 Philipp Klaus Krause <pkk AT spth.de>
15969         * src/SDCCval.c,
15970           support/regression/tests/bug-2645.c:
15971           Fix bug #2645, patch by Kamil Zbróg.
15972         * src/z80/gen.c,
15973           support/regression/tests/bug-441448.c,
15974           support/regression/tests/bug2729218.c:
15975           Fix bug #2649.
15977 2017-09-25 Philipp Klaus Krause <pkk AT spth.de>
15979         * src/SDCCdwarf2.c:
15980           Fix long long support in DWARF output (bug #2613)
15981         * src/z80/gen.c:
15982           Fix interaction of __z88dk_fastcall with frame pointer setup when optimizing for code size (bug #2581).
15983         * device/lib/calloc.c,
15984           support/regression/tests/malloc.c:
15985           Fix bug #2650.
15987 2017-09-21 Philipp Klaus Krause <pkk AT spth.de>
15989         * src/SDCCicode.c:
15990           Optimize stm8 left shifts a bit better.
15992 2017-09-20 Philipp Klaus Krause <pkk AT spth.de>
15994         * support/regression/tests/preserves_regs.c:
15995           Test specifications for preserved registers.
15997 2017-09-13 Philipp Klaus Krause <pkk AT spth.de>
15999         * src/z80/main.c:
16000           Fix handling of specifications for preserved registers.
16002 2017-09-12 Ben Shi <powerstudio1st AT 163 DOT com>
16004         * support/regression/tests/bug-441448.c:
16005         * support/regression/tests/bug2729218.c:
16006           Disabled for gbz80.
16008 2017-09-08 Ben Shi <powerstudio1st AT 163 DOT com>
16010         * src/stm8/peeph.def:
16011           Optimize bit-xor with BCPL.
16012         * support/regression/tests/bug-2642.c:
16013           Improve test case.
16015 2017-08-20 Ben Shi <powerstudio1st AT 163 DOT com>
16017         * src/SDCCpeeph.c:
16018           Improve notVolatile() for stm8.
16019         * src/stm8/peeph.def:
16020           Add more rules for optimization with BSET/BRES.
16021         * support/regression/tests/bug-2642.c:
16022           Add a new test case.
16024 2017-08-17 Philipp Klaus Krause <pkk AT spth.de>
16026         * src/SDCCglue.c:
16027           More verbose error message on initialization from incompatible pointer type.
16029 2017-08-14 Philipp Klaus Krause <pkk AT spth.de>
16031         * src/z80/ralloc2.cc:
16032           Fix bug #2640.
16034 2017-08-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16036         * src/SDCCcse.c (cseBBlock),
16037         * src/SDCCptropt.c (ptrPostIncDecOpt, pattern1, pattern2),
16038         * src/SDCCptropt.h: fix bug #2459
16040 2017-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16042         * src/SDCCast.c: fix bug #2624
16044 2017-08-10 Philipp Klaus Krause <pkk AT spth.de>
16046         * device/include/stdio.h,
16047           device/lib/ds390/putchar.c:
16048           Make getchar() prototype standard-compliant.
16049         * src/stm8/gen.c:
16050           Improve I/O and bit toggling.
16052 2017-08-08 Philipp Klaus Krause <pkk AT spth.de>
16054         * src/stm8/gen.c:
16055           Fix ASMOP_A / ASMOP_ZERO initialization.
16057 2017-08-07 Philipp Klaus Krause <pkk AT spth.de>
16059         * src/z80/ralloc2.cc,
16060           src/z80/gen.c:
16061           Improve use of register A.
16063 2017-08-07 Philipp Klaus Krause <pkk AT spth.de>
16065         * src/z80/gen.c,
16066           src/z80/gen.h:
16067           Refactor and optimize subtraction.
16068         * sim/ucsim/z80.src/inst_ed.cc,
16069           sim/ucsim/z80.src/inst_ed_r2k.cc:
16070           Fix negation.
16072 2017-08-06 Philipp Klaus Krause <pkk AT spth.de>
16074         * src/z80/gen.c:
16075           Improve left shift.
16077 2017-08-01 Philipp Klaus Krause <pkk AT spth.de>
16079         * src/z80/gen.h,
16080           src/z80/gen.c,
16081           src/z80/ralloc.h,
16082           src/z80/ralloc2.cc:
16083           Handle register A more like other registers.
16084         * src/z80/peeph-z80.def:
16085           Instructions in jump target for cheaper short jumps.
16087 2017-08-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16089         * support/regression/tests/gcc-torture-execute-20010224-1.c: re-enable
16091 2017-07-31 Philipp Klaus Krause <pkk AT spth.de>
16093         * src/z80/gen.c:
16094           Fix a gbz80 codegen issue.
16096 2017-07-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16098         * src/SDCCmem.c (initMem),
16099         * src/hc08/gen.c (aopForSym): fix bug #2385
16100         * support/regression/tests/bug-2385.c: re-enable for all ports
16102 2017-07-30 Philipp Klaus Krause <pkk AT spth.de>
16104         * src/z80/gen.c:
16105           Improve 16-bit left-shift by 7,
16106           improve transfers between hl and de (in codegen at a cost in peephole opt).
16108 2017-07-29 Ben Shi <powerstudio1st AT 163 DOT com>
16110         * configure
16111         * configure.ac:
16112           Remove requirement of C++14.
16114 2017-07-28 Ben Shi <powerstudio1st AT 163 DOT com>
16116         * aclocal.m4:
16117           Added new file.
16118         * configure
16119         * configure.ac:
16120           Check if C++14 or C++11 is supported.
16122 2017-07-27 Philipp Klaus Krause <pkk AT spth.de>
16124         * support/regression/tests/bug-2567.c:
16125           Test for bug #2567.
16127 2017-07-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16129         * src/SDCCast.c,
16130         * src/SDCCicode.c
16131         * src/SDCCralloc.hpp: fix bug #2567, include block num in iCode debug
16133 2017-07-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16135         * src/z80/gen.c: fix bug #2486 (frame pointer offset wrong)
16136         * src/z80/peeph-z80.def,
16137         * src/z80/peeph-r2k.def,
16138         * src/z80/peeph-tlcs90.def: fix unsafe rules exposed by fixing #2486
16139         * sdas/asrab/rabmch.c: fix encoding of ld (n+sp),hl instruction
16141 2017-07-23 Philipp Klaus Krause <pkk AT spth.de>
16143         * src/SDCCralloc.hpp:
16144           Speed up register allocator.
16145         * src/stm8/gen.c:
16146           Spped up code generation a little bit.
16148 2017-07-21 Philipp Klaus Krause <pkk AT spth.de>
16150         * src/SDCCralloc.hpp:
16151           Speed up register allocator a little bit.
16153 2017-07-20 Philipp Klaus Krause <pkk AT spth.de>
16155         * src/stm8/gen.c:
16156           Fix an issue similar to bug #2633.
16157         * src/SDCCralloc.hpp,
16158           src/stm8/ralloc2.cc:
16159           Speed up register allocator a bit.
16161 2017-07-19 Philipp Klaus Krause <pkk AT spth.de>
16163         * src/stm8/gen.c:
16164           Fix bug #2633.
16166 2017-07-18 Philipp Klaus Krause <pkk AT spth.de>
16168         * src/SDCCopt.c,
16169           support/regression/tests/loop.c:
16170           Improve narrowing of loop counters.
16172 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16174         * src/stm8/gen.c:
16175           Improve writing of constants to bit-fields.
16177 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16179         * src/stm8/ralloc.c,
16180           src/stm8/gen.c:
16181           Better code for operations on 8-bit global variables.
16183 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16185         * src/stm8/gen.c:
16186           Improve code generation for wide read through pointer.
16188 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16190         * src/SDCCopt.c:
16191           Implement narrowing of loop counters, RFE #530.
16192         * src/stm8/gen.c,
16193           support/regression/tests/bug-2630.c:
16194           Fix bug #2630.
16196 2017-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16198         * src/SDCCast.c (isInitiallyTrue),
16199         * src/SDCCerr.c (setWarningDisabledState),
16200         * src/SDCCerr.h: fix bugs #2552 & #2614
16201         * src/SDCCast.c (decorateType): fix bug #2550
16203 2017-07-15 Philipp Klaus Krause <pkk AT spth.de>
16205         * src/SDCCopt.c:
16206           Improve narrowing of multiplications.
16208 2017-07-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16210         * src/mcs51/gen.c (genRet): fix some problems with returning long long
16211         * src/SDCCicode.c (geniCodeAdd): fix bug #2625
16212         * support/regression/tests/bug-2625.c: test for bug #2625
16214 2017-07-14 Philipp Klaus Krause <pkk AT spth.de>
16216         * src/stm8/gen.c:
16217           Optimze reads from literal pointer.
16218         * src/SDCCopt.c:
16219           Optimize right shift followed by cast.
16221 2017-07-13 Philipp Klaus Krause <pkk AT spth.de>
16223         * src/z80/ralloc2.cc,
16224           support/regression/tests/bug-2628.c:
16225           Fix bug #2628.
16227 2017-07-06 Philipp Klaus Krause <pkk AT spth.de>
16229         * src/stm8/peeph.def,
16230           src/stm8/peep.c:
16231           Improve accuracy and fix bugs in peephole optimizer.
16233 2017-07-05 Philipp Klaus Krause <pkk AT spth.de>
16235         * src/SDCCopt.c,
16236           src/SDCCsymt.c:
16237           Minor code cleanup, gets rid of a few LLVM warnings.
16239 2017-07-03 Philipp Klaus Krause <pkk AT spth.de>
16241         * sdas/asstm8/stm8pst.c:
16242           Support for break debug instruction, patch by Reto Schneider.
16244 2017-06-30 Ben Shi <powerstudio1st AT 163 DOT com>
16246         * src/SDCCast.c:
16247           add cast to left and right subtree only if they both can be casted.
16248         * support/regression/tests/bug-2611.c:
16249           add a new test case.
16251 2017-06-29 Philipp Klaus Krause <pkk AT spth.de>
16253         * src/SDCCgen.c,
16254           support/regression/tests/bug-2627.c:
16255           Fix bug #2627.
16256         * src/stm8/gen.c:
16257           Enable use of execution count in stm8 register allocation cost calculations.
16259 2017-06-28 Philipp Klaus Krause <pkk AT spth.de>
16261         * src/SDCCicode.h,
16262           src/SDCCopt.c:
16263           Execution frequency handling infrastructure.
16265 2017-06-26 Philipp Klaus Krause <pkk AT spth.de>
16267         * src/SDCCralloc.hpp,
16268           .version,
16269           src/*/ralloc2.cc:
16270           Speed up register allocator.
16272 2017-06-25 Philipp Klaus Krause <pkk AT spth.de>
16274         * src/SDCCralloc.hpp,
16275           src/SDCCbitv.h,
16276           src/SDCCbitv.c,
16277           src/*/ralloc2.cc:
16278           Speed up register allocator a bit.
16280 2017-06-24 Philipp Klaus Krause <pkk AT spth.de>
16282         * src/stm8/gen.c:
16283           More efficient >= 32-bit increment for (partially) spilt local variables.
16285 2017-06-23 Philipp Klaus Krause <pkk AT spth.de>
16287         * src/stm8/gen.c:
16288           Improve 16-bit register-to-register transfer,
16289           consider cycle cost for register allocation.
16290         * src/stm8/peeph.def:
16291           Improve 16-bit addition with on-stack operand.
16293 2017-06-17 Philipp Klaus Krause <pkk AT spth.de>
16295         * src/stm8/gen.c,
16296           src/stm8/peeph.def:
16297           More efficient comparisons.
16299 2017-06-14 Philipp Klaus Krause <pkk AT spth.de>
16301         * support/regression/tests/bug-2621.c:
16302           Disable test for ds390, which doesn't have long long.
16304 2017-06-13 Philipp Klaus Krause <pkk AT spth.de>
16306         * src/z80/stm8.c:
16307           More efficient equality comparisons.
16308         * support/regression/tests/bug-2621.c:
16309           Test for bug #2612.
16311 2017-06-12 Philipp Klaus Krause <pkk AT spth.de>
16313         * src/z80/stm8.c:
16314           More efficient equality comparisons, fix bug #2612.
16316 2017-05-31 Philipp Klaus Krause <pkk AT spth.de>
16318         * device/non-free/lib/pic14/Makefile.in,
16319           device/non-free/lib/pic14/Makefile.subdir,
16320           src/Makefile.in,
16321           src/port.mk:
16322           Sort directory listings towards are reproducible build, patch by Bernhard M. Wiedemann.
16324 2017-05-30 Philipp Klaus Krause <pkk AT spth.de>
16326         * src/SDCC.lex,
16327           src/SDCCmain.c,
16328           src/SDCCicode.c,
16329           doc/sdccman.lyx:
16330           Deprecate --nojtbound and the corresponding pragma.
16332 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
16334         * src/z80/gen.c:
16335           Fix bug #2617.
16337 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
16339         * src/z80/gen.c:
16340           Fix a z80 codegen bug #2615 in and (triggered by recent register allocation changes when using --reserve-regs-iy).
16342 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
16344         * src/z80/gen.c:
16345           Fix a gbz80 codegen bug in comparisons (triggered by recent register allocation changes).
16347 2017-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
16349         * support/regression/tests/test-p99-conformance.c: renamed p99-conformance.c
16350           decreased flex10 to flex2,
16351           removed SKIP_FLEXIBLE, SKIP_LONG_LONG for mcs51
16353 2017-05-10 Philipp Klaus Krause <pkk AT spth.de>
16355         * src/SDCCdwarf2.c:
16356           Fix encoding DWARF info for _Bool, explicitly specify for char.
16358 2017-05-09 Philipp Klaus Krause <pkk AT spth.de>
16360         * src/z80/main.c,
16361           src/z80/gen.c:
16362           Better code for switch statements.
16364 2017-05-08 Maarten Brock <sourceforge.brock AT dse.nl>
16366         * support/regression/tests/inline.c: oops, wrong place to skip bug_2591
16368 2017-05-08 Philipp Klaus Krause <pkk AT spth.de>
16370         * src/z80/peeph-z80.def,
16371           src/z80/ralloc.c,
16372           src/z80/ralloc2.cc:
16373           Improve handling of 8-bit parameters.
16375 2017-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
16377         * support/regression/fwk/lib/extern1.c: renamed bug2591 to bug_2591
16378         * support/regression/tests/inline.c: skip bug_2591 for old buggy GCC
16380 2017-05-06 Philipp Klaus Krause <pkk AT spth.de>
16382         * src/SDCCopt.c:
16383           Optimize computations on shift counts.
16384         * src/stm8/gen.c:
16385           Fix bug in register handling in shifts.
16386         * src/z80/gen.c:
16387           Optimize computations on shift counts, fix bug in register handling of
16388           wide shifts.
16390 2017-05-06 Maarten Brock <sourceforge.brock AT dse.nl>
16392         * doc/sdccman.lyx: fixed typo
16393         * sim/ucsim/gui.src/Makefile.in: use $(AR)
16394         * src/mcs51/gen.c: cosmetic
16395         * src/SDCC.lex,
16396         * src/stm8/main.c,
16397         * src/z80/main.c: make __smallc a target specific keyword
16398         * src/SDCCicode.c (geniCodeAdd): take generic pointers into account
16399         * src/z80/ralloc2.cc (assign_operands_for_cost): fix warning, remove TABs
16400         * support/regression/fwk/lib/extern1.c,
16401         * support/regression/tests/inline.c: added bug2591 test
16402         * support/regression/tests/bug-2601.c: test with several pointer sizes
16403         * support/regression/tests/bug-2590.c,
16404         * support/regression/tests/smallc.c,
16405         * support/regression/tests/z88dk.c: test __smallc only on stm8 & z80-like
16407 2017-05-05 Philipp Klaus Krause <pkk AT spth.de>
16409         * support/regression/tests/bug-2188.c,
16410           support/regression/tests/gcc-torture-execute-930526-1.c:
16411           Add extern declaration to make test compile where functions aren't inlined.
16413 2017-05-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16415         * src/stm8/gen.c (genMove_o): fixed bug #2607
16417 2017-05-04 Philipp Klaus Krause <pkk AT spth.de>
16419         * src/SDCCpeeph.c:
16420           Be more forgiving about omitted whitespace after comma in peephole matching
16421           (whitespace handling had become stricter in the fix to #2600).
16422         * src/z80/peep.c:
16423           Slightly more accurate analysis of register reads, also wrt. whitespaces.
16424         * src/z80/gen.c:
16425           Unify emitted asm syntax wrt. space after comma.
16427 2017-05-02 Philipp Klaus Krause <pkk AT spth.de>
16429         * doc/sdccman.lyx:
16430           Minor fix in list of supported data types.
16432 2017-05-01 Philipp Klaus Krause <pkk AT spth.de>
16434         * doc/sdccman.lyx:
16435           Document separation of _Bool/bool and __bit for mcs51 and ds390,
16436           fix typos,
16437           automatic version number.
16439 2017-04-29 Philipp Klaus Krause <pkk AT spth.de>
16441         * src/SDCCmain.c,
16442           doc/sdccman.lyx,
16443           .version:
16444           Resurrect SDCC macro zombie for old SiLabs IDE support.
16445         * sdcc.spec:
16446           Update list of targets in description.
16448 2017-04-28 Philipp Klaus Krause <pkk AT spth.de>
16450         * src/SDCCast.c,
16451           src/SDCCicode.c,
16452           support/regression/tests/bug-2601.c,
16453           support/regression/tests/bug3537338.c,
16454           support/regression/tests/gcc-torture-execute-20021120-1.c:
16455           Fix bug #2602.
16456         * src/SDCCsymt.h,
16457           src/SDCCsymt.c:
16458           Minor improvements for const-correctness.
16459         * src/SDCCpeeph.c:
16460           Fix bug #2600.
16462 2017-04-28 Philipp Klaus Krause <pkk AT spth.de>
16464         * support/regression/tests/bug-2590.c:
16465           Enable for all z80-related backends.
16466         * support/regression/tests/bug-2601.c:
16467           Disable for ds390.
16469 2017-04-27 Philipp Klaus Krause <pkk AT spth.de>
16471         * doc/sdccman.lyx:
16472           Update manual for --std-sdcc99 vs. --std-c11 change.
16473         * device/lib/tlcs90/crt0.s:
16474           Fix bug #2583.
16476 2017-04-27 Maarten Brock <sourceforge.brock AT dse.nl>
16478         * src/SDCCsymt.c (newEnumType): fixed bug 2545
16479         * support/regression/tests/enum.c: added test
16480         * support/regression/tests/bug-2590.c: disabled for non-z80
16482 2017-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
16484         * src/ds390/gen.c (assignBit): disabled to fix a warning
16485         * src/SDCCicode.c (geniCodeLeftShift): fixed bug, replaced TABs
16486         * src/SDCCralloc.hpp (create_cfg): fixed warning, replaced TABs
16487         * src/SDCCsymt.c (computeType): fixed bug #2585
16488         * src/stm8/ralloc2.cc (assign_operands_for_cost): fixed warning, replaced TABs
16489         * src/z80/gen.c (genLeftShift, genRightShift): fixed warning
16490         * src/z80/peep.c (z80SurelyWrites): fixed warning
16491         * support/regression/tests/gcc-torture-execute-20020201-1.c
16492         * support/regression/tests/bug-2585.c: new, added
16494 2017-04-24 Philipp Klaus Krause <pkk AT spth.de>
16496         * src/SDCCast.c,
16497           support/regression/tests/bug-2601.c:
16498           Fix bug #2601.
16500 2017-04-13 Philipp Klaus Krause <pkk AT spth.de>
16502         * src/z80/peep.c:
16503           Minor improvement in Z180 support from z88dk patch.
16505 2017-04-12 Philipp Klaus Krause <pkk AT spth.de>
16507         * support/regression/tests/smallc.c:
16508           Disable Small-C test for mcs51.
16510 2017-04-11 Philipp Klaus Krause <pkk AT spth.de>
16512         * src/SDCCast.c,
16513           support/regression/tests/bug-2596.c:
16514           Fix bug #2598 by not inlining calls to functions with variable arguments.
16516 2017-04-10 Philipp Klaus Krause <pkk AT spth.de>
16518         * src/SDCCmem.c:
16519           Fix bug #2591.
16520         * support/regression/tests/smallc.c:
16521           Do not try to test __smallc for host.
16522         * src/SDCCsymt.c:
16523           Always specify signedness for char in debug dumps.
16524         * support/regression/tests/bug-2539.c:
16525           Test for bug #2539.
16526         * src/z80/peeph-z80.def,
16527           src/z80/peeph-tlcs90.def,
16528           src/z80/peeph-r2k.def:
16529           Fix bug #2597.
16530         * src/SDCCglue.c:
16531           Fix bug #2574 (patch by Sebastian).
16532         * src/mcs51/gen.c,
16533           support/regression/tests/gcc-torture-execute-921202-2.c:
16534           Fix bug #2542.
16536 2017-04-06 Philipp Klaus Krause <pkk AT spth.de>
16538         * src/SDCCmem.c,
16539           support/regression/tests/z88dk.c,
16540           support/regression/tests/smallc.c,
16541           doc/sdccman.lyx:
16542           Support for __smallc callees.
16544 2017-04-06 Philipp Klaus Krause <pkk AT spth.de>
16546         * src/SDCCast.c:
16547           Fix bug #2570.
16548         * src/SDCCmem.h,
16549           src/SDCCmem.c,
16550           src/z80/gen.c:
16551           Fix bug #2595.
16553 2017-04-03 Philipp Klaus Krause <pkk AT spth.de>
16555         * doc/sdccman.lyx:
16556           Update documentation on _Bool / bool support.
16558 2017-03-17 Philipp Klaus Krause <pkk AT spth.de>
16560         * support/regression/tests/bug3027957.c:
16561           Disable fixed-address test for host.
16563 2017-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16565         * src/SDCCicode.c (geniCodeAdd): Fix bug #2568 fix
16567 2017-03-15 Philipp Klaus Krause <pkk AT spth.de>
16569         * src/SDCCast.h,
16570           src/SDCCast.c,
16571           src/SDCCcse.c:
16572           Fix bug #2593.
16573         * support/regression/tests/absolute.c,
16574           support/regression/tests/bug-2304.c,
16575           support/regression/tests/bug2686159.c,
16576           support/regression/tests/bug3027957.c:
16577           Fix bug #2584.
16578         * src/SDCCicode.c,
16579           support/regression/tests/bug-2568.c:
16580           Fix bug #2568.
16582 2017-03-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16584         * src/SDCCast.c (checkZero): fix bug #2586
16586 2017-03-14 Philipp Klaus Krause <pkk AT spth.de>
16588         * src/z80/gen.c,
16589           support/regression/tests/bug-2582.c:
16590           Fix bug #2582.
16592 2017-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16594         * src/SDCC.y: fixed bug #2587
16595         * support/regression/tests/for.c: change to catch bug #2587
16596         * support/regression/tests/bug-2590.c: disable test on host
16598 2017-03-13 Philipp Klaus Krause <pkk AT spth.de>
16600         * src/z80/gen.c,
16601           support/regression/tests/bug-2376.c:
16602           Fix bug #2376.
16604 2017-03-08 Philipp Klaus Krause <pkk AT spth.de>
16606         * src/SDCCopt.c,
16607           support/regression/tests/bug-2590.c:
16608           Fix bug #2590.
16610 2017-02-10 Philipp Klaus Krause <pkk AT spth.de>
16612         * src/z80/gen.c:
16613           Omit some unnecessary register saving on wide shifts.
16615 2017-02-09 Philipp Klaus Krause <pkk AT spth.de>
16617         * src/z80/gen.c:
16618           Optimize wide right shifts, part of RFE #524.
16619         * device/lib/rand.c,
16620           support/regression/tests/rand.c:
16621           Fix default seed.
16623 2017-02-08 Philipp Klaus Krause <pkk AT spth.de>
16625         * device/lib/rand.c:
16626           Replace LCG by xorshift for rand().
16627         * src/z80/gen.c:
16628           Optimize wide left shifts, part of RFE #524.
16630 2017-02-04 Philipp Klaus Krause <pkk AT spth.de>
16632         * device/include/pic14/math.h,
16633           device/include/pic16/math.h,
16634           device/lib/pic14/libm/Makefile.am,
16635           device/lib/pic14/libm/Makefile.in,
16636           device/lib/pic16/libm/Makefile.am,
16637           device/lib/pic16/libm/Makefile.in,
16638           src/pic14/gen.c,
16639           src/pic14/glue.c,
16640           support/regression/compact-results.py,
16641           support/regression/ports/pic14/support.c,
16642           support/regression/tests/absolute.c,
16643           support/regression/tests/bug1723128.c,
16644           support/regression/tests/bug2686159.c,
16645           support/regression/tests/gcc-torture-execute-20021120-1.c,
16646           support/regression/tests/gcc-torture-execute-pr19606.c:
16647           Various pic14-related fixes: Patches 00, 01, 02, 04, 05, 07, 09, 11, 14, 15 by Martin Habets via sdcc-devel.
16649 2017-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16651         * src/SDCCast.c (expandInlineFuncs,fixupInline): Fix bug #2559
16652         * support/regression/tests/bug-2559.c: Re-enable test
16654 2017-01-12 Philipp Klaus Krause <pkk AT spth.de>
16656         * src/stm8/gen.c:
16657           Improve efficiency of wide left-shifts.
16659 2017-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16661         * src/SDCCicode.c (geniCodeDerefPtr): Fix bug #2575
16663 2016-12-29 Philipp Klaus Krause <pkk AT spth.de>
16665         * support/regression/tests/wchar.c:
16666           Test some more wide character functionality.
16668 2016-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
16670         * src/SDCCglobl.h,
16671         * src/SDCCmain.c: applied patch #276, adds -MD option, Thanks Anders Dellien
16673 2016-12-19 Philipp Klaus Krause <pkk AT spth.de>
16675         * device/lib/mbrlen.c,
16676           support/regression/tests/wchar.c:
16677           Fix bug #2566.
16679 2016-12-18 Philipp Klaus Krause <pkk AT spth.de>
16681         * src/stm8/main.c:
16682           Save space by omitting an unused part of the interrupt table.
16684 2016-12-17 Philipp Klaus Krause <pkk AT spth.de>
16686         * src/stm8/gen.c,
16687           src/stm8/peeph.def:
16688           Minor code improvements, mostly for bit-fields.
16690 2016-12-12 Philipp Klaus Krause <pkk AT spth.de>
16692         * doc/sdccman.lyx:
16693           Document STM8 trap handler syntax.
16695 2016-12-12 Ben Shi <powerstudio1st AT 163 DOT com>
16697         * src/SDCCast.c
16698         * src/SDCCerr.c
16699           Fix incorrect error messages.
16701 2016-11-27 Philipp Klaus Krause <pkk AT spth.de>
16703         * device/include/wchar.h,
16704           device/lib/btowc.c,
16705           device/lib/incl.mk,
16706           device/lib/mbrlen.c,
16707           device/lib/mbstowcs.c,
16708           device/lib/wcscmp.c,
16709           device/lib/wcstombs.c,
16710           device/lib/wctob.c,
16711           device/lib/wcslen.c,
16712           support/regression/tests/string.c,
16713           support/regression/tests/wchar.c:
16714           Improvements and fixes in wide character library support.
16716 2016-11-26 Philipp Klaus Krause <pkk AT spth.de>
16718         * device/include/stdlib.h,
16719           device/lib/incl.mk,
16720           device/lib/mbstowcs.c,
16721           device/lib/wcstombs.c,
16722          .version:
16723           Multibyte/wide string conversion functions.
16724         * src/stm8/gen.c:
16725           Optimize comparisons with (partial) 1 and -1.
16727 2016-11-17 Philipp Klaus Krause <pkk AT spth.de>
16729         * src/SDCClospre.cc,
16730           src/SDCClospre.hpp:
16731           More fine-grained handling of volatile to allow more optimizations in lospre.
16733 2016-11-17 Philipp Klaus Krause <pkk AT spth.de>
16735         * src/stm8/ralloc.c,
16736           src/z80/ralloc.c:
16737           Fix some comments on spilling.
16738         * support/regression/tests/bug-2559.c
16740 2016-11-07 Philipp Klaus Krause <pkk AT spth.de>
16742         * configure.ac,
16743           configure,
16744           src/SDCCasm.c,
16745           src/SDCCasm.h,
16746           src/SDCCglue.c,
16747           src/SDCCmain.c,
16748           src/port.h,
16749           src/xa51,
16750           support/regression/ports/xa51,
16751           support/regression/Makefile.in:
16752           Kill incomplete, unmaintained xa51 backend.
16754 2016-11-07 Ben Shi <powerstudio1st AT 163 DOT com>
16756         * src/SDCCicode.c
16757           Fix a bug in zeror-divider check.
16759 2016-11-02 Philipp Klaus Krause <pkk AT spth.de>
16761         * device/include/stdbool.h,
16762           src/ds390/gen.c,
16763           support/regression/tests/bitopcse.c,
16764           support/regression/tests/bool.c,
16765           support/regression/tests/bug2942247.c,
16766           support/regression/tests/bug3404101.c,
16767           support/regression/tests/bug3565757.c:
16768           bool for ds390.
16770 2016-11-03 Philipp Klaus Krause <pkk AT spth.de>
16772         * src/SDCCicode.c,
16773           src/SDCCloop.c,
16774           src/SDCCopt.c,
16775           src/port.h,
16776           src/*/main.c:
16777           Replace all muldiv uses by hasNativeMulFor().
16779 2016-10-23 Philipp Klaus Krause <pkk AT spth.de>
16781         * src/stm8/gen.c,
16782           support/regression/tests/bug-2554.c:
16783           Fix a stack corruption issue in stm8 ! code generation, bug #2554.
16785 2016-10-23 Ben Shi <powerstudio1st AT 163 DOT com>
16787         * sdas/linksrc/lkbank.c
16788         * sdas/linksrc/lksym.c
16789           Fix a buffer overflow error in revision #9786.
16791 2016-10-22 Philipp Klaus Krause <pkk AT spth.de>
16793         * support/regression/tests/*.c,
16794           support/regression/ports/*/spec.mk:
16795           Cleanup handling of __reentrant in the regression tests, RFE #517.
16797 2016-10-22 Ben Shi <powerstudio1st AT 163 DOT com>
16799         * sdas/linksrc/lksym.c
16800           Fix a buffer overflow error in previous commit.
16802 2016-10-21 Philipp Klaus Krause <pkk AT spth.de>
16804         * src/SDCCBBlock.c,
16805           src/SDCClabel.c:
16806           Fix a bug in BBlock label handling, allows reenabling jump-to-jump optimization for jump tables.
16808 2016-10-17 Ben Shi <powerstudio1st AT 163 DOT com>
16810         * sdas/linksrc/lkbank.c
16811           Fix bug #2549.
16813 2016-10-11 Philipp Klaus Krause <pkk AT spth.de>
16815         * src/SDCClabel.c:
16816           Temporarily disable jump-to-jump optimization for jump tables RFE #514, since it causes a hc08/z80 regression.
16818 2016-10-02 Philipp Klaus Krause <pkk AT spth.de>
16820         * src/SDCCcse.c:
16821           Optimize out negation by inverting jump condition, part of RFE #516.
16823 2016-10-02 Philipp Klaus Krause <pkk AT spth.de>
16825         * src/SDCClabel.c,
16826           src/SDCCset.h,
16827           src/SDCCset.c:
16828           Implement jump-to-jump optimization for jump tables RFE #514.
16829         * src/SDCCcse.c:
16830           Optimize bitwise and of _Bool and comparison results, RFE #513.
16832 2016-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
16834         * src/mcs51/gen.c (shiftLLong): support sizes 1,2,4,8,
16835           refactored genlshOne, genlshTwo, genlshFour into genlshFixed,
16836           (genLeftShiftLiteral): support long long
16838 2016-09-24 Philipp Klaus Krause <pkk AT spth.de>
16840         * src/SDCCast.c,
16841           support/regression/tests/bug-2548.c,
16842           support/regression/tests/bug-2551.c:
16843           Fix bugs #2548, #2551 by disabling a broken AST optimization.
16845 2016-09-19 Ben Shi <powerstudio1st AT 163 DOT com>
16847         * src/stm8/gen.c
16848           Fix a bug in bitwise-and operation (genAnd()).
16850 2016-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
16852         * config.vcxproj,
16853         * src/sdcc.vcxproj,
16854         * src/sdcc.vcxproj.filters: moved SDCC.lex and SDCC.y to config project
16855         * src/mcs51/gen.c (gencjneshort): proper support for long long
16856         * src/mcs51/peeph.def: restart 3.b
16857         * src/SDCCsymt.c (initCSupport): MSVC doesn't support casting compound lit
16858         * src/SDCCval.c (csdOfVal): we still use MSVC 2010, no mid-code declarations
16859         * support/regression/tests/bug-2205.c: removed unused disabled warning
16860         * support/regression/tests/gcc-torture-execute-20020506-1.c: intermediate
16861           functions should not be named test*
16862         * support/regression/tests/gcc-torture-execute-961122-1.c: fixed no-return
16863           warning
16865 2016-09-17 Ben Shi <powerstudio1st AT 163 DOT com>
16867         * device/lib/isinf.c
16868         * device/lib/isnan.c
16869           Improve comapabililty and efficiency.
16871 2016-09-15 Ben Shi <powerstudio1st AT 163 DOT com>
16873         * device/lib/isinf.c
16874         * device/lib/isnan.c
16875           Improve compatibility.
16877 2016-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
16879         * src/mcs51/gen.c (isLiteralBit): fixed for long long,
16880           (genReceive): fixed stack smashing bug
16881         * support/regression/tests/test-p99-conformance.c: decreased restrict_buffer
16883 2016-09-12 Philipp Klaus Krause <pkk AT spth.de>
16885         * device/include/stdbool.h,
16886           src/mcs51/gen.c:
16887           Standard-compliant _Bool for mcs51.
16889 2016-09-08 Philipp Klaus Krause <pkk AT spth.de>
16891         * device/include/stdint.h:
16892           Enable C99 typedefs for 64-bit types.
16894 2016-09-07 Ben Shi <powerstudio1st AT 163 DOT com>
16896         * src/mcs51/gen.c
16897           Improve longlong compatibility of mcs-51 on 32-bit hosts.
16899 2016-09-03 Philipp Klaus Krause <pkk AT spth.de>
16901         * src/mcs51/gen.c:
16902           Fixes for mcs51 long long on 32-bit hosts.
16904 2016-08-30 Philipp Klaus Krause <pkk AT spth.de>
16906         * src/mcs51/gen.c:
16907           Fixes for mcs51 long long on 32-bit hosts.
16909 2016-08-28 Philipp Klaus Krause <pkk AT spth.de>
16911         * support/regression/tests/gcc-torture-execute-20020506-1.c:
16912           Disable test for ds390 that accidentially got enabled when enabled for mcs51.
16914 2016-08-26 Philipp Klaus Krause <pkk AT spth.de>
16916         * src/mcs51/peep.c,
16917           support/regression/tests/bug-2477.c,
16918           support/regression/tests/gcc-torture-execute-20001031-1.c,
16919           support/regression/tests/gcc-torture-execute-20020506-1.c,
16920           support/regression/tests/gcc-torture-execute-20060127-1.c,
16921           support/regression/tests/gcc-torture-execute-941015-1.c,
16922           support/regression/tests/gcc-torture-execute-950512-1.c,
16923           support/regression/tests/gcc-torture-execute-950612-1.c,
16924           support/regression/tests/gcc-torture-execute-960402-1.c,
16925           support/regression/tests/gcc-torture-execute-960801-1.c,
16926           support/regression/tests/gcc-torture-execute-20000717-2.c,
16927           support/regression/tests/gcc-torture-execute-20020402-3.c,
16928           support/regression/tests/gcc-torture-execute-20050111-1.c,
16929           support/regression/tests/gcc-torture-execute-950704-1.c:
16930           Fix mcs51 peephole handling of long long parameters.
16931         * support/regression/tests/test-p99-conformance.c:
16932           Disable test for older GCC, where it fails.
16934 2016-08-25 Philipp Klaus Krause <pkk AT spth.de>
16936         * src/mcs51/gen.c,
16937           support/regression/tests/gcc-torture-execute-20020508-?.c:
16938           Fix long long right shift for mcs51.
16940 2016-08-25 Philipp Klaus Krause <pkk AT spth.de>
16942         * device/lib/_strchr.c:
16943           Explicitly cast away const to silence a warning.
16944         * support/regression/tests/gcc-torture-execute-20020508-?.c:
16945           Disable some failing long long tests for mcs51.
16946         * src/mcs51/gen.c:
16947           Fix pushing of long long received parameters for mcs51.
16949 2016-08-24 Ben Shi <powerstudio1st AT 163 DOT com>
16951         * device/include/math.h
16952         * device/lib/Makefile.in
16953         * device/lib/incl.mk
16954         * device/lib/isinf.c
16955         * device/lib/isnan.c
16956         * device/lib/make51lib.bat
16957           Support of new library functions isnan() and isinf().
16958         * src/SDCCval.c
16959         * device/lib/_fsdiv.c
16960           Make float division more compitable with inf and nan results.
16961         * src/SDCCast.c
16962         * src/SDCCerr.c
16963           Change zero-div from error to warning level.
16964         * support/regression/tests/bug-2516.c
16965           Add a new test case for inf and nan.
16967 2016-08-23 Philipp Klaus Krause <pkk AT spth.de>
16969         * src/mcs51/gen.h,
16970           src/mcs51/peep.c,
16971           support/regression/tests/gcc-torture-execute-20000314-2.c,
16972           support/regression/tests/gcc-torture-execute-pr42269-2.c,
16973           support/regression/tests/gcc-torture-execute-20060110-2.c,
16974           support/regression/tests/gcc-torture-execute-20001031-1.c,
16975           support/regression/tests/gcc-torture-execute-20011126-1.c,
16976           support/regression/tests/gcc-torture-execute-20020201-1.c,
16977           support/regression/tests/gcc-torture-execute-20020219-1.c,
16978           support/regression/tests/gcc-torture-execute-20020402-3.c,
16979           support/regression/tests/gcc-torture-execute-20020506-1.c,
16980           support/regression/tests/gcc-torture-execute-20020508-1.c,
16981           support/regression/tests/gcc-torture-execute-20020508-2.c,
16982           support/regression/tests/gcc-torture-execute-20020508-3.c,
16983           support/regression/tests/gcc-torture-execute-20030307-1.c,
16984           support/regression/tests/gcc-torture-execute-20050104-1.c,
16985           support/regression/tests/gcc-torture-execute-20050111-1.c,
16986           support/regression/tests/gcc-torture-execute-941015-1.c,
16987           support/regression/tests/gcc-torture-execute-950503-1.c:
16988           long long fix for deadMove() on ret.
16990 2016-08-22 Philipp Klaus Krause <pkk AT spth.de>
16992         * src/SDCCsymt.c,
16993           src/mcs51/gen.c,
16994           support/regression/tests/gcc-torture-execute-961122-1.c,
16995           support/regression/tests/gcc-torture-execute-961206-1.c,
16996           support/regression/tests/gcc-torture-execute-991016-1.c,
16997           support/regression/tests/gcc-torture-execute-991216-1.c,
16998           support/regression/tests/gcc-torture-execute-991216-2.c,
16999           support/regression/tests/gcc-torture-execute-pr20187-1.c,
17000           support/regression/tests/gcc-torture-execute-pr40057.c,
17001           support/regression/tests/gcc-torture-execute-pr42269-2.c,
17002           support/regression/tests/gcc-torture-execute-pr42544.c,
17003           support/regression/tests/test-p99-conformance.c:
17004           support/regression/tests/gcc-torture-execute-20000121-1.c,
17005           support/regression/tests/gcc-torture-execute-20000314-2.c,
17006           support/regression/tests/gcc-torture-execute-20000412-2.c,
17007           support/regression/tests/gcc-torture-execute-20000523-1.c,
17008           support/regression/tests/gcc-torture-execute-20000717-2.c,
17009           support/regression/tests/gcc-torture-execute-20001112-1.c,
17010           support/regression/tests/gcc-torture-execute-20001221-1.c,
17011           support/regression/tests/gcc-torture-execute-20060110-2.c,
17012           support/regression/tests/gcc-torture-execute-20060127-1.c,
17013           support/regression/tests/gcc-torture-execute-20071213-1.c,
17014           support/regression/tests/gcc-torture-execute-920829-1.c,
17015           support/regression/tests/gcc-torture-execute-921029-1.c,
17016           support/regression/tests/gcc-torture-execute-921202-2.c,
17017           support/regression/tests/gcc-torture-execute-930111-1.c:
17018           More long long support for mcs51.
17020 2016-08-21 Philipp Klaus Krause <pkk AT spth.de>
17022         * src/mcs51/gen.c,
17023           src/mcs51/gen.h,
17024           src/mcs51/ralloc.c,
17025           The basics of long long support for mcs51.
17027 2016-08-20 Philipp Klaus Krause <pkk AT spth.de>
17029         * doc/sdccman.lyx:
17030           Fix double underscores in manual.
17032 2016-08-19 Philipp Klaus Krause <pkk AT spth.de>
17034         * support/regression/tests/test-p99-conformance.c:
17035           Enable a test for newer GCC, comment on other GCC issues.
17037 2016-08-18 Philipp Klaus Krause <pkk AT spth.de>
17039         * src/SDCC.y,
17040           src/SDCCerr.h,
17041           src/SDCCerr.c,
17042           doc/sdccman.lyx,
17043           support/regression/tests/for.c,
17044           test-p99-conformance.c:
17045           RFE #165: C99 compliance: for (int i=0; ...
17047 2016-08-17 Philipp Klaus Krause <pkk AT spth.de>
17049         * support/regression/tests/test-p99-conformance.c:
17050           Disable a subtest for host, since it fails on older GCC, disable a subtest for backends that don't have long long.
17052 2016-08-14 Philipp Klaus Krause <pkk AT spth.de>
17054         * support/regression/tests/test-p99-conformance.c,
17055           support/regression/fwk/lib/extern1.c:
17056           Enable inlining test for host.
17058 2016-08-14 Philipp Klaus Krause <pkk AT spth.de>
17060         * support/regression/tests/test-p99-conformance.c:
17061           Document SDCC bug correspondance to P99 conformance tests.
17063 2016-08-13 Philipp Klaus Krause <pkk AT spth.de>
17065         * support/regression/tests/test-p99-conformance.c:
17066           Some P99 conformance tests.
17068 2016-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17070         * sim/ucsim/sim.src/mem.cc: rewrote some of the memory cell classes
17071           to work properly on big endian architectures
17073 2016-08-10 Ben Shi <powerstudio1st AT 163 DOT com>
17075         * sim/ucsim/charscl.h
17076           Fix the failure of building ucsim on MacOS.
17077         * support/regression/tests/gcc-torture-execute-string-opt-18.c
17078         * support/regression/tests/string.c
17079           Disable several tests on MacOS.
17081 2016-08-10 Philipp Klaus Krause <pkk AT spth.de>
17083         * device/include/string.h,
17084           device/lib/tlcs90/Makefile.in,
17085           device/lib/tlcs90/memmove.s:
17086           pop af correctness for tlcs90.
17088 2016-08-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17090         * support/regression/get_ticks.py: parse the byte count more robustly
17091           (buffering on stderr vs stdout sometimes jumbling text)
17093 2016-08-05 Erik Petrich <epetrich AT ivorytower.normna.ok.us>
17095         * src/SDCCcse.c (ifxOptimize): fixed bug #2484
17096         * src/z80/gen.c (ld_cost): fixed bug #2399
17098 2016-08-04 Erik Petrich <epetrich AT ivorytower.normna.ok.us>
17100         * src/SDCCast.c (decorateTree, optimizeCompare): fixed bug #2503
17101           and an unreported bug similar to bug #2529
17102         * support/regression/tests/bug-2503: added test
17103         * src/SDCClospre.hpp (forward_lospre_assignment): fixed bug #2510
17105 2016-08-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17107         * src/SDCCcflow.c (eBBSuccessors),
17108         * src/SDCCloop.c (addPostLoopBlock): fixed bug #2453
17109         * support/regression/tests/bug-2453: added test
17111 2016-08-03 Philipp Klaus Krause <pkk AT spth.de>
17113         * device/lib/tlcs90/setjmp.s,
17114           device/lib/tlcs90/memmove.s:
17115           Avoid messing up interrupt flags via pop af.
17117 2016-08-02 Philipp Klaus Krause <pkk AT spth.de>
17119         * device/lib/_strstr.c:
17120           Fix a warning.
17121         * src/SDCCmain.c:
17122           Fix usage info, patch #274.
17123         * src/SDCCtree_dec.hpp:
17124           Fix isolation of redundant nodes in the tree-decomposition.
17126 2016-08-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17128         * src/SDCCcse.c (cseBBlock): Recompute data flow if any outgoing
17129           expressions have been changed (fixed bug #2495)
17130         * src/hc08/gen.c (genCopy),
17131         * src/hc08/ralloc.c (packPointerOp): fixed bug #2357
17132         * support/regression/tests/bug-2357.c: re-enabled test for hc08/s08
17134 2016-08-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17136         * src/stm8/gen.c (regFree): Y is not free when using extended stack
17138 2016-07-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17140         * src/hc08/gen.c (genMinus): mark A as modified for reverse subtraction
17141         * src/z80/gen.c (genPointerGet,genUnpackBits): preserve pointer
17142           register pair if not dead
17144 2016-07-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17146         * sim/ucsim/fwio.cc: try defining WINVER instead of _WIN32_WINNT
17147         * sim/ucsim/cmd.src/Makefile.in,
17148         * sim/ucsim/gui.src/Makefile.in,
17149         * sim/ucsim/sim.src/Makefile.in,
17150         * sim/ucsim/main_in.mk: omit -D option to ar, not supported by all ar
17152 2016-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
17154         * SDCC.props: added ExecutablePath
17155         * src/ds390/gen.c,
17156         * src/SDCCutil.c,
17157         * src/SDCCval.c,
17158         * src/stm8/gen.c,
17159         * src/stm8/main.c,
17160         * src/z80/peep.c: fixed warnings
17162 2016-07-29 Philipp Klaus Krause <pkk AT spth.de>
17164         * src/SDCCicode.c:
17165           Enable an optimization that was blocked on bug #2450.
17166         * src/SDCCtree_dec.hpp,
17167           src/SDCCralloc.hpp:
17168           Fix bug #2467 (fix previously was blocked on bug #2450).
17169         * src/z80/peeph-tlcs90.def:
17170           Remove leftover z80 peepholes that break on tlcs90.
17172 2016-07-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17174         * src/SDCCast.c (processBlockVars): fix bug #2450
17175         * support/regression/tests/inline.c: add test for bug #2450
17176         * src/hc08/gen.c (aopForSym): remove work-around
17178 2016-07-29 Philipp Klaus Krause <pkk AT spth.de>
17180         * support/regression/tests/bug-2529.c
17181           Regression test for bug #2517.
17183 2016-07-29 Ben Shi <powerstudio1st AT 163 DOT com>
17185         * sim/ucsim/cmd.src/cmd_exec.cc
17186         * sim/ucsim/cmd.src/cmd_get.cc
17187         * sim/ucsim/cmd.src/command.cc
17188         * sim/ucsim/fuio.cc
17189         * sim/ucsim/s51.src/interrupt.cc
17190         * sim/ucsim/s51.src/uc51.cc
17191         * sim/ucsim/sim.src/mem.cc
17192         * sim/ucsim/stm8.src/itc.cc
17193         * sim/ucsim/utils.h
17194           Fix build failures on cygwin.
17195         * src/SDCCicode.c
17196         * src/SDCCicode.h
17197           Fix bug #2517.
17199 2016-07-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17201         * sim/ucsim/fwio.cc: added _WIN32_WINNT def for GetConsoleWindow()
17202         * sim/ucsim/fio.cc: handle case S_IRGRP and S_IROTH not defined
17203         * sim/ucsim/doc/Makefile.in: copy *.svg files instead of *.gif
17205 2016-07-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17207         * src/SDCCast.c (decorateType): fixed bug #2529
17209 2016-07-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17211         * device/lib/expf.c: ensure exponent not random before normalization
17213 2016-07-27 Philipp Klaus Krause <pkk AT spth.de>
17215         * support/regression/tests/bug-2385.c:
17216           Disable a test for tlcs90, so all tests compile for tlcs90.
17218 2016-07-26 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
17220         * sim/ucsim/.version, sim/ucsim/Makefile.in, sim/ucsim/NEWS,
17221           sim/ucsim/README, sim/ucsim/TODO, sim/ucsim/app.cc,
17222           sim/ucsim/appcl.h, sim/ucsim/avr.src/Makefile.in,
17223           sim/ucsim/avr.src/avr.cc, sim/ucsim/avr.src/avrcl.h,
17224           sim/ucsim/avr.src/savr.cc, sim/ucsim/c.sh, sim/ucsim/chars.cc,
17225           sim/ucsim/charscl.h, sim/ucsim/cmd.src/Makefile.in,
17226           sim/ucsim/cmd.src/bp.cc, sim/ucsim/cmd.src/bpcl.h,
17227           sim/ucsim/cmd.src/cmd_bp.cc, sim/ucsim/cmd.src/cmd_bpcl.h,
17228           sim/ucsim/cmd.src/cmd_conf.cc, sim/ucsim/cmd.src/cmd_confcl.h,
17229           sim/ucsim/cmd.src/cmd_exec.cc, sim/ucsim/cmd.src/cmd_execcl.h,
17230           sim/ucsim/cmd.src/cmd_get.cc, sim/ucsim/cmd.src/cmd_getcl.h,
17231           sim/ucsim/cmd.src/cmd_gui.cc, sim/ucsim/cmd.src/cmd_guicl.h,
17232           sim/ucsim/cmd.src/cmd_info.cc, sim/ucsim/cmd.src/cmd_infocl.h,
17233           sim/ucsim/cmd.src/cmd_mem.cc, sim/ucsim/cmd.src/cmd_memcl.h,
17234           sim/ucsim/cmd.src/cmd_set.cc, sim/ucsim/cmd.src/cmd_setcl.h,
17235           sim/ucsim/cmd.src/cmd_show.cc, sim/ucsim/cmd.src/cmd_showcl.h,
17236           sim/ucsim/cmd.src/cmd_stat.cc, sim/ucsim/cmd.src/cmd_statcl.h,
17237           sim/ucsim/cmd.src/cmd_timer.cc, sim/ucsim/cmd.src/cmd_timercl.h,
17238           sim/ucsim/cmd.src/cmd_uc.cc, sim/ucsim/cmd.src/cmd_uccl.h,
17239           sim/ucsim/cmd.src/cmdconf.cc, sim/ucsim/cmd.src/cmdconfcl.h,
17240           sim/ucsim/cmd.src/cmdgui.cc, sim/ucsim/cmd.src/cmdguicl.h,
17241           sim/ucsim/cmd.src/cmdlex.l, sim/ucsim/cmd.src/cmdmem.cc,
17242           sim/ucsim/cmd.src/cmdmemcl.h, sim/ucsim/cmd.src/cmdpars.y,
17243           sim/ucsim/cmd.src/cmdset.cc, sim/ucsim/cmd.src/cmdsetcl.h,
17244           sim/ucsim/cmd.src/cmdstat.cc, sim/ucsim/cmd.src/cmdstatcl.h,
17245           sim/ucsim/cmd.src/cmduc.cc, sim/ucsim/cmd.src/cmduccl.h,
17246           sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/cmdutil.h,
17247           sim/ucsim/cmd.src/command.cc, sim/ucsim/cmd.src/commandcl.h,
17248           sim/ucsim/cmd.src/get.cc, sim/ucsim/cmd.src/getcl.h,
17249           sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/infocl.h,
17250           sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/newcmdcl.h,
17251           sim/ucsim/cmd.src/newcmdposix.cc,
17252           sim/ucsim/cmd.src/newcmdposixcl.h, sim/ucsim/cmd.src/set.cc,
17253           sim/ucsim/cmd.src/setcl.h, sim/ucsim/cmd.src/show.cc,
17254           sim/ucsim/cmd.src/showcl.h, sim/ucsim/cmd.src/timer.cc,
17255           sim/ucsim/cmd.src/timercl.h, sim/ucsim/conf, sim/ucsim/configure,
17256           sim/ucsim/configure.ac, sim/ucsim/ddconfig_in.h,
17257           sim/ucsim/doc/Makefile.in, sim/ucsim/doc/analyzer.html,
17258           sim/ucsim/doc/burst.gif, sim/ucsim/doc/chip.gif,
17259           sim/ucsim/doc/chip.svg, sim/ucsim/doc/cmd.html,
17260           sim/ucsim/doc/cmd.txt, sim/ucsim/doc/cmd_bp.html,
17261           sim/ucsim/doc/cmd_dump.html, sim/ucsim/doc/cmd_exec.html,
17262           sim/ucsim/doc/cmd_general.html, sim/ucsim/doc/cmd_memory.html,
17263           sim/ucsim/doc/cmd_removed.html, sim/ucsim/doc/cmd_set.html,
17264           sim/ucsim/doc/commref.html, sim/ucsim/doc/conf.mk,
17265           sim/ucsim/doc/cpu-mem.gif, sim/ucsim/doc/cpu-mem.jpg,
17266           sim/ucsim/doc/cpu-mem.svg, sim/ucsim/doc/cpu.gif,
17267           sim/ucsim/doc/cpu.html, sim/ucsim/doc/cpu_types.html,
17268           sim/ucsim/doc/decoded.gif, sim/ucsim/doc/decoded.jpg,
17269           sim/ucsim/doc/decoded.svg, sim/ucsim/doc/index.html,
17270           sim/ucsim/doc/interrupt.gif, sim/ucsim/doc/interrupt.html,
17271           sim/ucsim/doc/invoke.html, sim/ucsim/doc/memory.html,
17272           sim/ucsim/doc/mulcons.html, sim/ucsim/doc/new.gif,
17273           sim/ucsim/doc/news.html, sim/ucsim/doc/obsolete.html,
17274           sim/ucsim/doc/serial.html, sim/ucsim/doc/serial1.gif,
17275           sim/ucsim/doc/serial1.svg, sim/ucsim/doc/serial2.gif,
17276           sim/ucsim/doc/serial2.svg, sim/ucsim/doc/share-chip.gif,
17277           sim/ucsim/doc/share-chip.svg, sim/ucsim/doc/simif.html,
17278           sim/ucsim/doc/syntax.html, sim/ucsim/doc/term_cpuopt.gif,
17279           sim/ucsim/doc/term_cpuopt.html, sim/ucsim/doc/timers.gif,
17280           sim/ucsim/doc/timers.html, sim/ucsim/doc/uCsim.txt,
17281           sim/ucsim/doc/wins.gif, sim/ucsim/doc/wins.html,
17282           sim/ucsim/error.cc, sim/ucsim/errorcl.h, sim/ucsim/eventcl.h,
17283           sim/ucsim/example, sim/ucsim/example/Makefile,
17284           sim/ucsim/example/config.cmd, sim/ucsim/example/run.cmd,
17285           sim/ucsim/example/simif.c, sim/ucsim/example/simif.sh,
17286           sim/ucsim/example/simif_fin.txt, sim/ucsim/fio.cc,
17287           sim/ucsim/fiocl.h, sim/ucsim/ftest.cc, sim/ucsim/fuio.cc,
17288           sim/ucsim/fuiocl.h, sim/ucsim/fwio.cc, sim/ucsim/fwiocl.h,
17289           sim/ucsim/globals.cc, sim/ucsim/gstring.cc, sim/ucsim/gstring.h,
17290           sim/ucsim/gstring_LICENSE, sim/ucsim/gstring_REAME,
17291           sim/ucsim/gstring_append.cc, sim/ucsim/gstring_basic.cc,
17292           sim/ucsim/gstring_copyright.html, sim/ucsim/gstring_explode.cc,
17293           sim/ucsim/gui.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
17294           sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
17295           sim/ucsim/hc08.src/hc08mac.h, sim/ucsim/hc08.src/regshc08.h,
17296           sim/ucsim/hc08.src/shc08.cc, sim/ucsim/hc08.src/simhc08.cc,
17297           sim/ucsim/main_in.mk, sim/ucsim/option.cc, sim/ucsim/optioncl.h,
17298           sim/ucsim/p.sh, sim/ucsim/packages_in.mk, sim/ucsim/pobj.cc,
17299           sim/ucsim/pobjcl.h, sim/ucsim/pobjt.h, sim/ucsim/put(c),
17300           sim/ucsim/s51.src/Makefile.in, sim/ucsim/s51.src/arith.cc,
17301           sim/ucsim/s51.src/bit.cc, sim/ucsim/s51.src/inc.cc,
17302           sim/ucsim/s51.src/interrupt.cc, sim/ucsim/s51.src/interruptcl.h,
17303           sim/ucsim/s51.src/jmp.cc, sim/ucsim/s51.src/logic.cc,
17304           sim/ucsim/s51.src/mov.cc, sim/ucsim/s51.src/pca.cc,
17305           sim/ucsim/s51.src/pcacl.h, sim/ucsim/s51.src/port.cc,
17306           sim/ucsim/s51.src/portcl.h, sim/ucsim/s51.src/s51.cc,
17307           sim/ucsim/s51.src/serial.cc, sim/ucsim/s51.src/serialcl.h,
17308           sim/ucsim/s51.src/sim51.cc, sim/ucsim/s51.src/timer0.cc,
17309           sim/ucsim/s51.src/timer0cl.h, sim/ucsim/s51.src/timer1.cc,
17310           sim/ucsim/s51.src/timer2.cc, sim/ucsim/s51.src/timer2cl.h,
17311           sim/ucsim/s51.src/types51.h, sim/ucsim/s51.src/uc251.cc,
17312           sim/ucsim/s51.src/uc390.cc, sim/ucsim/s51.src/uc390cl.h,
17313           sim/ucsim/s51.src/uc390hw.cc, sim/ucsim/s51.src/uc51.cc,
17314           sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/uc51r.cc,
17315           sim/ucsim/s51.src/uc52.cc, sim/ucsim/s51.src/uc89c51r.cc,
17316           sim/ucsim/s51.src/uc89c51rcl.h, sim/ucsim/s51.src/wdt.cc,
17317           sim/ucsim/sim.src/Makefile.in, sim/ucsim/sim.src/arg.cc,
17318           sim/ucsim/sim.src/argcl.h, sim/ucsim/sim.src/brk.cc,
17319           sim/ucsim/sim.src/brkcl.h, sim/ucsim/sim.src/hw.cc,
17320           sim/ucsim/sim.src/hwcl.h, sim/ucsim/sim.src/itsrc.cc,
17321           sim/ucsim/sim.src/itsrccl.h, sim/ucsim/sim.src/mem.cc,
17322           sim/ucsim/sim.src/memcl.h, sim/ucsim/sim.src/obsolete.cc,
17323           sim/ucsim/sim.src/obsolete.h, sim/ucsim/sim.src/sim.cc,
17324           sim/ucsim/sim.src/simcl.h, sim/ucsim/sim.src/simif.cc,
17325           sim/ucsim/sim.src/simifcl.h, sim/ucsim/sim.src/stack.cc,
17326           sim/ucsim/sim.src/stackcl.h, sim/ucsim/sim.src/test_mem_speed.cc,
17327           sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
17328           sim/ucsim/sim.src/var.cc, sim/ucsim/sim.src/varcl.h,
17329           sim/ucsim/st7.src/Makefile.in, sim/ucsim/st7.src/glob.cc,
17330           sim/ucsim/st7.src/regsst7.h, sim/ucsim/st7.src/sst7.cc,
17331           sim/ucsim/st7.src/st7.cc, sim/ucsim/st7.src/st7cl.h,
17332           sim/ucsim/stm8.src/Makefile.in, sim/ucsim/stm8.src/glob.cc,
17333           sim/ucsim/stm8.src/glob.h, sim/ucsim/stm8.src/inst.cc,
17334           sim/ucsim/stm8.src/instcl.h, sim/ucsim/stm8.src/itc.cc,
17335           sim/ucsim/stm8.src/itccl.h, sim/ucsim/stm8.src/regsstm8.h,
17336           sim/ucsim/stm8.src/rst.cc, sim/ucsim/stm8.src/rstcl.h,
17337           sim/ucsim/stm8.src/serial.cc, sim/ucsim/stm8.src/serialcl.h,
17338           sim/ucsim/stm8.src/simstm8.cc, sim/ucsim/stm8.src/simstm8cl.h,
17339           sim/ucsim/stm8.src/sstm8.cc, sim/ucsim/stm8.src/stm8.cc,
17340           sim/ucsim/stm8.src/stm8cl.h, sim/ucsim/stm8.src/stm8mac.h,
17341           sim/ucsim/stm8.src/test, sim/ucsim/stm8.src/test/Makefile,
17342           sim/ucsim/stm8.src/test/conf.cmd, sim/ucsim/stm8.src/test/s0.c,
17343           sim/ucsim/stm8.src/test/s1.c, sim/ucsim/stm8.src/test/s1.mk,
17344           sim/ucsim/stm8.src/test/s2.c, sim/ucsim/stm8.src/test/s2.mk,
17345           sim/ucsim/stm8.src/test/s3.c, sim/ucsim/stm8.src/test/s3.mk,
17346           sim/ucsim/stm8.src/test/sdcc.mk, sim/ucsim/stm8.src/test/stm8.h,
17347           sim/ucsim/stm8.src/test/t1.c, sim/ucsim/stm8.src/test/t1.mk,
17348           sim/ucsim/stm8.src/test/t2.c, sim/ucsim/stm8.src/test/t2.mk,
17349           sim/ucsim/stm8.src/test/t3.c, sim/ucsim/stm8.src/test/t3.mk,
17350           sim/ucsim/stm8.src/test/t4.c, sim/ucsim/stm8.src/test/t4.mk,
17351           sim/ucsim/stm8.src/timer.cc, sim/ucsim/stm8.src/timercl.h,
17352           sim/ucsim/stypes.h, sim/ucsim/tlcs.src, sim/ucsim/tlcs.src/(c).1,
17353           sim/ucsim/tlcs.src/Makefile.in, sim/ucsim/tlcs.src/clean.mk,
17354           sim/ucsim/tlcs.src/conf.mk, sim/ucsim/tlcs.src/glob.cc,
17355           sim/ucsim/tlcs.src/glob.h, sim/ucsim/tlcs.src/inst_arith.cc,
17356           sim/ucsim/tlcs.src/inst_bit.cc, sim/ucsim/tlcs.src/inst_block.cc,
17357           sim/ucsim/tlcs.src/inst_cpu_others.cc,
17358           sim/ucsim/tlcs.src/inst_jump.cc, sim/ucsim/tlcs.src/inst_move.cc,
17359           sim/ucsim/tlcs.src/inst_rot_sh.cc,
17360           sim/ucsim/tlcs.src/mulibyte_instructions.txt,
17361           sim/ucsim/tlcs.src/regression.txt, sim/ucsim/tlcs.src/simtlcs.cc,
17362           sim/ucsim/tlcs.src/simtlcscl.h, sim/ucsim/tlcs.src/stlcs.cc,
17363           sim/ucsim/tlcs.src/test, sim/ucsim/tlcs.src/test/Makefile,
17364           sim/ucsim/tlcs.src/test/b2385.c,
17365           sim/ucsim/tlcs.src/test/b2385.mk, sim/ucsim/tlcs.src/test/c,
17366           sim/ucsim/tlcs.src/test/conf.cmd,
17367           sim/ucsim/tlcs.src/test/dummy.h, sim/ucsim/tlcs.src/test/run.cmd,
17368           sim/ucsim/tlcs.src/test/run.sh, sim/ucsim/tlcs.src/test/sdcc.mk,
17369           sim/ucsim/tlcs.src/test/t0.c, sim/ucsim/tlcs.src/test/t0.mk,
17370           sim/ucsim/tlcs.src/test/t1.c, sim/ucsim/tlcs.src/test/t1.mk,
17371           sim/ucsim/tlcs.src/test/t2.c, sim/ucsim/tlcs.src/test/t2.mk,
17372           sim/ucsim/tlcs.src/test/t3.c, sim/ucsim/tlcs.src/test/t3.mk,
17373           sim/ucsim/tlcs.src/tlcs.cc, sim/ucsim/tlcs.src/tlcscl.h,
17374           sim/ucsim/ucsim.cc, sim/ucsim/utils.cc, sim/ucsim/utils.h,
17375           sim/ucsim/xa.src/Makefile.in, sim/ucsim/xa.src/glob.cc,
17376           sim/ucsim/xa.src/glob.h, sim/ucsim/xa.src/regsxa.h,
17377           sim/ucsim/xa.src/sxa.cc, sim/ucsim/xa.src/xa.cc,
17378           sim/ucsim/xa.src/xacl.h, sim/ucsim/z80.src/Makefile.in,
17379           sim/ucsim/z80.src/inst_r2k.cc, sim/ucsim/z80.src/lr35902.cc,
17380           sim/ucsim/z80.src/lr35902cl.h, sim/ucsim/z80.src/r2k.cc,
17381           sim/ucsim/z80.src/r2kcl.h, sim/ucsim/z80.src/regsz80.h,
17382           sim/ucsim/z80.src/sz80.cc, sim/ucsim/z80.src/test,
17383           sim/ucsim/z80.src/test/Makefile, sim/ucsim/z80.src/test/c,
17384           sim/ucsim/z80.src/test/conf.cmd, sim/ucsim/z80.src/test/dummy.h,
17385           sim/ucsim/z80.src/test/run.cmd, sim/ucsim/z80.src/test/run.sh,
17386           sim/ucsim/z80.src/test/sdcc.mk, sim/ucsim/z80.src/test/t0.c,
17387           sim/ucsim/z80.src/test/t0.mk, sim/ucsim/z80.src/test/t1.c,
17388           sim/ucsim/z80.src/test/t1.mk, sim/ucsim/z80.src/test/t2.c,
17389           sim/ucsim/z80.src/test/t2.mk, sim/ucsim/z80.src/z80.cc,
17390           sim/ucsim/z80.src/z80cl.h, sim/ucsim/z80.src/z80mac.h: ucsim
17391           version 0.6-pre4
17393 2016-07-25 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
17395         * device/lib/tlcs90/crt0.s,
17396           device/lib/tlcs90/crt0_org.s: dirty
17397           hacked crt0 so compiled simple programs will run at least
17399 2016-07-25 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
17401         * support/regression/Makefile.in,
17402           support/regression/fwk/include/testfwk.h,
17403           support/regression/ports/tlcs90,
17404           support/regression/ports/tlcs90/spec.mk,
17405           support/regression/ports/tlcs90/support.c,
17406           support/regression/ports/tlcs90/uCsim.cmd,
17407           support/regression/tests/bug-2305.c,
17408           support/regression/tests/bug3379723.c: regression test prepared
17409           for tlcs90
17411 2016-07-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17413         * src/SDCCmem.c (printAllocInfoSeg),
17414         * src/port.h,
17415         * src/avr/main.c,
17416         * src/ds390/main.c,
17417         * src/hc08/main.c,
17418         * src/mcs51/main.c,
17419         * src/pic14/main.c,
17420         * src/pic16/main.c,
17421         * src/stm8/main.c,
17422         * src/xa51/main.c,
17423         * src/z80/main.c: Display correct stack offsets when stack grows down
17425 2016-07-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17427         * src/SDCCopt.c (optimizeOpWidth): don't narrow types cast to bit/sbit either
17429 2016-07-23 Philipp Klaus Krause <pkk AT spth.de>
17431         * src/SDCCval.h,
17432           src/SDCCval.c,
17433           src/stm8/main.c,
17434           src/stm8/gen.c:
17435           Generate code for 16 bit multiplication by literal based on CSD representation.
17437 2016-07-23 Philipp Klaus Krause <pkk AT spth.de>
17439         * src/SDCCsymt.h,
17440           src/SDCCsymt.c,
17441           src/SDCCopt.c,
17442           device/lib/stm8/__mulsint2slong.s:
17443           support/regression/tests/muldiv.c:
17444           Support routine for unsigned 16x16->32 multiplication.
17446 2016-07-23 Philipp Klaus Krause <pkk AT spth.de>
17448         * device/lib/stm8/memcpy.s:
17449           Fix issue in loop counter in stm8 memcpy().
17450         * src/port.h,
17451           src/SDCCsymt.c,
17452           src/*/main.c:
17453           Introduce backend option for 16x16->32 multiplication.
17454         * support/regression/tests/muldiv.c:
17455           Prepare test for unsigned 16x16->32 multiplication.
17457 2016-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
17459         * device/lib/_strchr.c,
17460         * device/lib/_strrchr.c,
17461         * device/lib/_strstr.c: reverted commit 9631, these files should not
17462           generate warning 196
17463         * sdas/asstm8/stm8mch.c: fixed incw cycle count
17465 2016-07-22 Philipp Klaus Krause <pkk AT spth.de>
17467         * device/lib/stm8/memcpy.s,
17468           support/regression/tests/memory.c:
17469           Fix an issue in stm8 unrolled memcpy().
17470         * device/lib/stm8/__mulsint2slong.s:
17471           Optimize multiplication routine for small operands.
17472         * src/SDCCopt.c:
17473           Optimize multiplication with anded operands.
17475 2016-07-21 Philipp Klaus Krause <pkk AT spth.de>
17477         * device/lib/stm8/Makefile.in,
17478           device/lib/stm8/__mulsint2slong.s,
17479           src/SDCCcse.c,
17480           src/SDCCopt.c,
17481           src/SDCCsymt.c,
17482           src/SDCCsymt.h,
17483           support/regression/tests/muldiv.c,
17484           Support for separate 16x16->32 multiplication routine, RFE #507.
17486 2016-07-21 Philipp Klaus Krause <pkk AT spth.de>
17488         * src/SDCCopt.c:
17489           Narrow arithmetic operations when results are cast to narrower type: RFE #506.
17491 2016-07-21 Ben Shi <powerstudio1st AT 163 DOT com>
17493         * sdas/astlcs90/t90mch.c
17494           Fix a potential defect.
17496 2016-07-20 Philipp Klaus Krause <pkk AT spth.de>
17498         * device/lib/stm8/Makefile.in,
17499           device/lib/stm8/strcpy.s:
17500           Partially unrolled, slightly faster strcpy() for stm8.
17501         * src/stm8/gen.c,
17502           src/SDCCsymt.c:
17503           More efficient handling of boolean values.
17504         * device/lib/r2k/Makefile.in:
17505           Fix bug #2526.
17506         * src/stm8/main.c:
17507           Remove unused vars.
17509 2016-07-18 Philipp Klaus Krause <pkk AT spth.de>
17511         * src/stm8/gen.c:
17512           Slight improvement in code generation.
17514 2016-07-17 Philipp Klaus Krause <pkk AT spth.de>
17516         * src/stm8/main.c,
17517           src/stm8/gen.c:
17518           Special case for int multiplication by 7 and 100.
17520 2016-07-16 Philipp Klaus Krause <pkk AT spth.de>
17522         * device/lib/stm8/memcpy.s:
17523           Improve stm8 memcpy().
17524         * support/regression/tests/memory.c:
17525           Better memcpy() test coverage.
17527 2016-07-15 Philipp Klaus Krause <pkk AT spth.de>
17529         * device/lib/stm8/memcpy.s:
17530           Improve stm8 memcpy().
17532 2016-07-14 Philipp Klaus Krause <pkk AT spth.de>
17534         * device/lib/stm8/memcpy.s:
17535           Partially unroll stm8 memcpy() for speed.
17536         * device/lib/stm8/strcmp.s:
17537           Partially unroll stm8 strcmp() for speed.
17539 2016-07-11 Philipp Klaus Krause <pkk AT spth.de>
17541         * src/z80/main.c,
17542           src/z80/gen.c:
17543           Fix bug #2522.
17544         * device/lib/stm8/memcpy.s,
17545           device/lib/stm8/strcmp.s,
17546           device/lib/*/Makefile.in,
17547           device/lib/Makefile.in,
17548           device/lib/incl.mk:
17549           Provide handwritten memcpy(), strcmp() to improve stm8 Dhrystone scores.
17550         * sdas/astlcs90/t90mch.c:
17551           Fix TLCS-90 assembler relocation issue for ld, reopened bug #2520.
17552         * src/stm8/peeph.def:
17553           Some peepholes to remove redundant stm8 loads, to improve stm8 DMIPS by another 0.42%
17555 2016-07-10 Philipp Klaus Krause <pkk AT spth.de>
17557         * sdas/astlcs90/t90mch.c:
17558           Fix TLCS-90 assembler relocation issue for adc, bug #2520.
17560 2016-07-06 Ben Shi <powerstudio1st AT 163 DOT com>
17562         * support/regression/tests/gcc-torture-execute-920612-1.c
17563           Disabled in test-host with gcc-6.
17565 2016-06-30 Ben Shi <powerstudio1st AT 163 DOT com>
17567         * src/SDCCicode.c
17568           Check pointer qualifier in geniCodeReturn().
17569         * device/lib/_strstr.c
17570         * device/lib/_strchr.c
17571         * device/lib/_strrchr.c
17572         * support/regression/tests/gcc-torture-execute-920429-1.c
17573           Suppress warning 196.
17575 2016-06-26 Ben Shi <powerstudio1st AT 163 DOT com>
17577         * src/ds390/gen.c
17578           Fix a bug in genCmp().
17579         * support/regression/tests/dhrystone.c
17580           Enabled for ds390.
17582 2016-06-21 Philipp Klaus Krause <pkk AT spth.de>
17584         * src/SDCCicode.c:
17585           Fix bug #1841.
17586         * device/include/stdbool.h:
17587           Minor cleanup.
17589 2016-06-19 Philipp Klaus Krause <pkk AT spth.de>
17591         * doc/sdccman.lyx,
17592           src/SDCCglobl.h,
17593           src/SDCCmain.c,
17594           src/SDCCsymt.c:
17595           Remove obsolete SDCC macro, --short-is-8-bits option.
17597 2016-06-18 Ben Shi <powerstudio1st AT 163 DOT com>
17599         * src/mcs51/gen.c
17600           Fix a bug in jump table of switch/case when --acall-ajmp is specified.
17601         * src/mcs51/peeph.def
17602           Remove empty lines.
17604 2016-06-18 Ben Shi <powerstudio1st AT 163 DOT com>
17606         * support/regression/ports/mcs51-huge/spec.mk
17607         * support/regression/ports/mcs51-xstack-auto/spec.mk
17608           Make "make" more compatible.
17610 2016-06-17 Philipp Klaus Krause <pkk AT spth.de>
17612         * support/regression/ports/ucr2k/support.asm:
17613           Fix regression test putchar() for r2k.
17615 2016-06-16 Philipp Klaus Krause <pkk AT spth.de>
17617         * device/include/stdio.h,
17618           device/lib/ds390/putchar.c,
17619           device/lib/puts.c,
17620           support/regression/tests/bug1115321.c,
17621           support/regression/tests/dhrystone.c:
17622           Make putchar() prototype standard-compliant, fix bug #2505.
17624 2016-06-16 Philipp Klaus Krause <pkk AT spth.de>
17626         * device/lib/*/Makefile.in,
17627           device/lib/*/putchar.s,
17628           support/regression/ports/*/support.asm,
17629           support/regression/tests/dhrystone.c:
17630           Remove z80 putchar() from library.
17632 2016-06-15 Philipp Klaus Krause <pkk AT spth.de>
17634         * support/regression/tests/dhrystone.c:
17635           Introduce a regression test based on the Dhrystone benchmark.
17637 2016-06-13 Ben Shi <powerstudio1st AT 163 DOT com>
17639         * src/stm8/gen.c
17640           Fix a bug in emitCall().
17642 2016-06-12 Maarten Brock <sourceforge.brock AT dse.nl>
17644         * Small Device C Compiler 3.6.0 released
17645         * .version, doc/sdccman.lyx: changed sdcc version to 3.6.1
17647 2016-06-04 Maarten Brock <sourceforge.brock AT dse.nl>
17649         * .version,
17650         * doc/INSTALL.txt,
17651         * doc/sdccman.lyx:  version 3.6.0
17653 2016-06-03 Philipp Klaus Krause <pkk AT spth.de>
17655         * src/hc08/gen.c:
17656           Work around an allocation issue.
17658 2016-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
17660         * .version,
17661         * doc/INSTALL.txt,
17662         * doc/sdccman.lyx: version 3.6.0 rc1, use coloured links
17663         * sdcc.spec: version 3.6.0
17664         * doc/Makefile.in: silence makeindex
17665         * sim/ucsim/cmd.src/cmdset.cc,
17666         * sim/ucsim/hc08.src/hc08cl.h,
17667         * sim/ucsim/sim.src/hw.cc,
17668         * sim/ucsim/sim.src/hwcl.h,
17669         * sim/ucsim/st7.src/st7cl.h,
17670         * sim/ucsim/stm8.src/stm8cl.h,
17671         * sim/ucsim/z80.src/z80cl.h: cosmetics
17672         * sim/ucsim/st7.src/st7.cc (cl_st7::disass): fixed get_disasm_info call
17674 2016-05-25 Philipp Klaus Krause <pkk AT spth.de>
17676         * src/stm8/gen.c:
17677           Implement genAddrOf for both X and Y in use (to make all regression tests compile for low --max-allocs-per-node).
17679 2016-05-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17681         * src/hc08/ralloc.c: fixed bug #2489
17682         * support/regression/tests/wchar.c: re-enable hc08/s08 tests
17684 2016-05-17 Philipp Klaus Krause <pkk AT spth.de>
17686         * src/stm8/peep.c:
17687           Basic flag handling in notUsed(), more accurate notUsed().
17688         * src/stm8/peeph.def:
17689           Enable dead load optimization (with fixed flag handling).
17691 2016-05-17 Philipp Klaus Krause <pkk AT spth.de>
17693         * src/SDCCpeeph.c:
17694           Improve labelIsReturnOnly() accuracy.
17695         * src/stm8/peeph.def:
17696           Disable dead load optimization, introduce jump-to-return optimization.
17698 2016-05-16 Philipp Klaus Krause <pkk AT spth.de>
17700         * src/stm8/peeph.def:
17701           Use more jumps on false for stm8 peepholes.
17702         * src/stm8/gen.c:
17703           More efficient comparisons.
17705 2016-05-15 Philipp Klaus Krause <pkk AT spth.de>
17707         * Makefile.in:
17708           Fix distclean failures.
17710 2016-05-14 Maarten Brock <sourceforge.brock AT dse.nl>
17712         * support/sdbinutils/binutils/arlex.c,
17713         * support/sdbinutils/binutils/arparse.c,
17714         * support/sdbinutils/binutils/arparse.h,
17715         * support/sdbinutils/binutils/defparse.c,
17716         * support/sdbinutils/binutils/defparse.h,
17717         * support/sdbinutils/binutils/mcparse.c,
17718         * support/sdbinutils/binutils/mcparse.h,
17719         * support/sdbinutils/binutils/rcparse.c,
17720         * support/sdbinutils/binutils/rcparse.h,
17721         * support/sdbinutils/binutils/sysinfo.c,
17722         * support/sdbinutils/binutils/sysinfo.h,
17723         * support/sdbinutils/binutils/syslex.c: added, as in upstream git
17725 2016-05-13 Philipp Klaus Krause <pkk AT spth.de>
17727         * sdas/linksrc/lkelf.c:
17728           Enable ELF symbol table output, (from patch #255 by Peter Dons Tychsen).
17730 2016-05-12 Philipp Klaus Krause <pkk AT spth.de>
17732         * src/stm8/gen.c:
17733           Minor code cleanup, also gets rid of a GCC warning.
17735 2016-05-10 Ben Shi <powerstudio1st AT 163 DOT com>
17737         * configure
17738         * configure.ac
17739         * src/SDCCmain.c
17740           Call setrlimit() in a more compatible way.
17742 2016-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
17744         * device/lib/hc08/_setjmp.c,
17745         * device/lib/s08/_setjmp.c: svn eol-style native
17746         * support/regression/tests/gcc-torture-execute-pr28982a.c,
17747         * support/regression/tests/bug-2197.c: enabled for mcs51
17748         * src/mcs51/gen.c (genFunction, genEndFunction): implemented RFE 81 to
17749           disable interrupts before stacking
17750         * sim/ucsim/s51.src/uc390.cc: use IDMx/MCON instead of SA/ACON
17751         * sim/ucsim/s51.src/uc390hw.cc: do not lock out all IDM settings
17752         * src/ds390/main.c (_ds390_genIVT): MCON requires Timed Access
17754 2016-05-06 Ben Shi <powerstudio1st AT 163 DOT com>
17756         * support/regression/compact-results.py
17757           Roll back to previous version.
17759 2016-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
17761         * device/include/setjmp.h: ds390 needs 5 bytes
17762         * device/lib/_setjmp.c: added ds390 version
17763         * device/lib/ds390/setjmp.c: updated, but still a dummy
17764         * device/lib/hc08/_setjmp.c,
17765         * device/lib/s08/_setjmp.c: fixed stack pointer bug
17766         * sim/ucsim/cmd.src/Makefile.in,
17767         * sim/ucsim/gui.src/Makefile.in,
17768         * sim/ucsim/main_in.mk,
17769         * sim/ucsim/sim.src/Makefile.in: drop -u to prevent warning on ar 2.26
17770         * sim/ucsim/s51.src/uc390cl.h: added ixram
17771         * sim/ucsim/s51.src/uc390.cc: check full ixram range,
17772         * sim/ucsim/s51.src/uc51.cc,
17773         * sim/ucsim/s51.src/uc89c51r.cc: show @R0, @R1 and 8 stack bytes
17774         * sim/ucsim/sim.src/mem.cc (cl_memory::dump): allow decrementing range
17775         * sim/ucsim/stm8.src/inst.cc (cl_stm8::flag_cvh): fixed warnings
17776         * src/SDCC.y: critical is not a part of the calling convention
17777         * support/regression/tests/bug663539.c: fix to fool the python script
17778         * support/regression/tests/gcc-torture-execute-20010409-1.c: use longjmp()
17779           instead of return() to mimic exit()
17780         * support/regression/tests/setjmp.c: enabled for all regular targets
17782 2016-05-05 Ben Shi <powerstudio1st AT 163 DOT com>
17784         * support/regression/compact-results.py
17785           Fix spots in previous commit.
17787 2016-05-04 Ben Shi <powerstudio1st AT 163 DOT com>
17789         * support/regression/collate-results.py
17790         * support/regression/compact-results.py
17791           Detect and report aborted test cases.
17793 2016-05-03 Ben Shi <powerstudio1st AT 163 DOT com>
17795         * support/regression/collate-results.py
17796         * support/regression/compact-results.py
17797         * support/regression/Makefile.in
17798           Detect and report 'segment fault' in test-host.
17799         * support/regression/tests/gcc-torture-execute-20010409-1.c
17800           Disable for gcc-5 in test-host.
17802 2016-05-01 Ben Shi <powerstudio1st AT 163 DOT com>
17804         * Enlarge stack size to 4MB in run time.
17806 2016-04-30 Philipp Klaus Krause <pkk AT spth.de>
17808         * src/SDCCasm.c:
17809           Hex number case consistency, RFE #142.
17811 2016-04-29 Philipp Klaus Krause <pkk AT spth.de>
17813         * src/z80/gen.c,
17814           doc/sdccman.lyx,
17815           .version:
17816           Reorganize interrupt handling for z80-related backends, fix bugs #2339, #2131.
17818 2016-04-29 Ben Shi <powerstudio1st AT 163 DOT com>
17820         * src/SDCC.y
17821         * src/SDCCerr.c
17822         * src/SDCCerr.h
17823           Make the warning in previous commit more generic.
17825 2016-04-28 Ben Shi <powerstudio1st AT 163 DOT com>
17827         * src/SDCC.y
17828         * src/SDCCerr.c
17829         * src/SDCCerr.h
17830           Add warning for inlined _z88dk_* functions.
17832 2016-04-28 Ben Shi <powerstudio1st AT 163 DOT com>
17834         * src/SDCC.y
17835         * src/SDCCerr.c
17836           Allow typedef function types.
17837         * support/regression/tests/bug-2497.c
17838           Add a new test case.
17840 2016-04-27 Maarten Brock <sourceforge.brock AT dse.nl>
17842         * src/ds390/gen.c (genFarPointerSet): no inline variable definitions
17843         * src/ds390/main.c (_ds390_genAssemblerPreamble, _ds390_genIVT): add MCON,
17844           (_ds390_genXINIT): added _ds390_genXRAMCLEAR
17846 2016-04-25 Ben Shi <powerstudio1st AT 163 DOT com>
17848         * src/SDCC.y
17849         * src/SDCCsymt.c
17850         * src/SDCCsymt.h
17851           Check local defined structs more strictly.
17853 2016-04-24 Ben Shi <powerstudio1st AT 163 DOT com>
17855         * src/SDCCast.c
17856           Change the signedness of the literal operand in bitwise operation.
17857         * support/regression/tests/bug-1929.c
17858           Add a new test case.
17859         * support/regression/tests/gcc-torture-execute-20020506-1.c
17860           Modify test case.
17862 2016-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
17864         * support/sdbinutils/bfd/doc/Makefile.am,
17865           support/sdbinutils/bfd/doc/Makefile.in,
17866           support/sdbinutils/binutils/Makefile.am,
17867           support/sdbinutils/binutils/Makefile.in:
17868           Revert changes of wrong bugfix.
17870 2016-04-20 Ben Shi <powerstudio1st AT 163 DOT com>
17872         * src/z80/peeph-r2k.def
17873         * src/z80/peeph-tlcs90.def
17874         * src/z80/peeph-z80.def
17875           Fix potential bugs.
17877 2016-04-19 Molnar Karoly <molnarkaroly AT users.sf.net>
17879         * support/sdbinutils/bfd/doc/Makefile.am,
17880           support/sdbinutils/bfd/doc/Makefile.in,
17881           support/sdbinutils/binutils/Makefile.am,
17882           support/sdbinutils/binutils/Makefile.in:
17883           Fix a distclean bug. Now the "make distclean" command deletes
17884           these unnecessary files:
17885             support/sdbinutils/bfd/doc/bfd.info*
17886             support/sdbinutils/binutils/arlex.c
17887             support/sdbinutils/binutils/arparse.c
17888             support/sdbinutils/binutils/arparse.h
17889             support/sdbinutils/binutils/defparse.c
17890             support/sdbinutils/binutils/defparse.h
17891             support/sdbinutils/binutils/mcparse.c
17892             support/sdbinutils/binutils/mcparse.h
17893             support/sdbinutils/binutils/rcparse.c
17894             support/sdbinutils/binutils/rcparse.h
17895             support/sdbinutils/binutils/sysinfo.c
17896             support/sdbinutils/binutils/sysinfo.h
17897             support/sdbinutils/binutils/syslex.c
17899 2016-04-18 Maarten Brock <sourceforge.brock AT dse.nl>
17901         * device/include/setjmp.h: use C89 compatible comments
17902         * device/lib/ds390/setjmp.c: preliminary setjmp/longjmp implementation
17903         * device/lib/gbz80/Makefile.in,
17904         * device/lib/gbz80/setjmp.s,
17905         * device/lib/hc08/Makefile.in
17906         * device/lib/hc08/_setjmp.c
17907         * device/lib/s08/Makefile.in
17908         * device/lib/s08/_setjmp.c: implemented setjmp/longjmp for gbz80, hc08, s08
17909         * support/regression/tests/setjmp.c: enabled for all but ds390
17910         * device/lib/hc08/_divuint.c,
17911         * device/lib/s08/_divuint.c: removed mcs51 asm
17912         * device/lib/pic16/libc/stdlib/atof.c,
17913         * device/lib/pic16/libc/stdlib/x_ftoa.c: fixed since char is now unsigned
17914         * src/SDCCval.c (reorderIlist): properly fixed bug #2423
17915         * src/z80/peeph-gbz80.def: added rule 2
17916         * support/regression/tests/bug-2423.c: remove disabled pragma
17917         * support/regression/tests/float_single.c: enabled EXPF as it seems to pass
17919 2016-04-18 Philipp Klaus Krause <pkk AT spth.de>
17921         * src/z80/gen.c:
17922           Fix handling of register pair hl in block copy pointer assignment.
17924 2016-04-18 Philipp Klaus Krause <pkk AT spth.de>
17926         * src/z80/peeph-z80.def:
17927           Optimize jumps on boolean bitfields.
17928         * src/z80/gen.c:
17929           Improve unpacking of signed bitfields.
17931 2016-04-18 Molnar Karoly <molnarkaroly AT users.sf.net>
17933         * device/lib/pic14/bootstrap.sh,
17934           device/lib/pic16/bootstrap.sh,
17935           device/non-free/lib/pic16/bootstrap.sh:
17936           Deleted the execute rights, to prevent accidental execution.
17938 2016-04-17 Molnar Karoly <molnarkaroly AT users.sf.net>
17940         * device/lib/pic14/configure,
17941           device/lib/pic14/configure.ac,
17942           device/lib/pic14/Makefile.am,
17943           device/lib/pic14/Makefile.in,
17944           device/lib/pic16/Makefile.am,
17945           device/lib/pic16/Makefile.in,
17946           device/non-free/lib/pic14/Makefile.in,
17947           device/non-free/lib/pic16/Makefile.am,
17948           device/non-free/lib/pic16/Makefile.in:
17949           Renamed the "device/lib/pic14/.checksupport" directory to
17950           "device/lib/pic14/.checkdevices".
17951           Fix a distclean bug. Now the "make distclean" command deletes
17952           these unnecessary directories and files:
17953             device/lib/pic14/.checkdevices/*
17954             device/lib/pic14/a.*
17955             device/lib/pic16/.checkdevices/*
17956             device/lib/pic16/a.*
17957             device/lib/pic16/pics.supported
17958             device/non-free/lib/pic14/.checkdevices/*
17959             device/non-free/lib/pic14/a.*
17960             device/non-free/lib/pic14/pics.supported
17961             device/non-free/lib/pic16/.checkdevices/*
17962             device/non-free/lib/pic16/a.*
17963             device/non-free/lib/pic16/pics.supported
17965 2016-04-17 Philipp Klaus Krause <pkk AT spth.de>
17967         * support/regression/tests/wchar.c:
17968           Enable test for mcs51.
17969         * doc/sdccman.lyx:
17970           Update manual, clearly mark 8051-specifics as such in Chapter 3.
17972 2016-04-17 Ben Shi <powerstudio1st AT 163 DOT com>
17974         * src/SDCCglue.c
17975           Fix a pointer printing bug, when a 4-byte generic pointer is printed on ds390.
17977 2016-04-16 Maarten Brock <sourceforge.brock AT dse.nl>
17979         * device/include/mcs51/compiler.h: added INTERRUPT, INTERRUPT_USING, NOP
17980           macros, copied from SiLabs' compiler_defs.h
17981         * device/include/mcs51/EFM8BB1.h: new, added, from RFE 271, thanks
17982           Kharitonov Dmitry
17984 2016-04-14 Philipp Klaus Krause <pkk AT spth.de>
17986         * src/z80/gen.c,
17987           support/regression/tests/gcc-torture-execute-20000717-2.c,
17988           support/regression/tests/gcc-torture-execute-20050104-1.c,
17989           support/regression/tests/gcc-torture-execute-921202-2.c,
17990           support/regression/tests/gcc-torture-execute-950612-1.c,
17991           support/regression/tests/gcc-torture-execute-961122-1.c,
17992           support/regression/tests/gcc-torture-execute-20060110-2.c,
17993           support/regression/tests/gcc-torture-execute-950704-1.c,
17994           support/regression/tests/longlong.c:
17995           Fixes to gbz80 carry flag handling, particularly relevant to long long.
17997 2016-04-14 Ben Shi <powerstudio1st AT 163 DOT com>
17999         * src/SDCCerr.c
18000         * src/SDCCerr.h
18001         * src/SDCCsymt.c
18002           Check tagged anonymous struct/union.
18004 2016-04-13 Philipp Klaus Krause <pkk AT spth.de>
18006         * src/stm8/gen.c,
18007           support/regression/tests/bug-2492.c:
18008           Fix bug #2492.
18010 2016-04-13 Molnar Karoly <molnarkaroly AT users.sf.net>
18012         * device/include/pic14/pic14devices.txt,
18013           device/non-free/include/pic14/*.h,
18014           device/non-free/include/pic16/*.h,
18015           device/non-free/lib/pic14/libdev/*.c,
18016           device/non-free/lib/pic16/libdev/*.c:
18017           Refreshed the device files.
18019 2016-04-12 Philipp Klaus Krause <pkk AT spth.de>
18021         * device/include/uchar.h,
18022           device/include/wchar.h,
18023           device/lib/c16rtomb.c,
18024           device/lib/mbrtoc16.c,
18025           device/lib/mbsinit.c,
18026           device/lib/incl.mk,
18027           support/regression/tests/wchar.c:
18028           Implement c16rtomb(), mbrtoc16(), mbsinit().
18029         * device/lib/*/mul.s
18030           Integer multiplication improvement by Kio (RFE #422).
18032 2016-04-12 Molnar Karoly <molnarkaroly AT users.sf.net>
18034         * device/lib/pic14/configure.ac,
18035           device/lib/pic14/Makefile.in,
18036           device/lib/pic14/libm/Makefile.in,
18037           device/lib/pic14/libsdcc/enhanced/Makefile.in,
18038           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
18039           device/lib/pic14/libsdcc/regular/Makefile.in:
18040           Fixed bug: #2482 Link error with pic16f1827
18042 2016-04-11 Philipp Klaus Krause <pkk AT spth.de>
18044         * src/z80/gen.c:
18045           Enable iy register content tracking optimization.
18046         * device/include/stdlib.h,
18047           device/lib/mbtowc.c,
18048           device/lib/incl.mk,
18049           support/regression/tests/wchar.c:
18050           Implement mbtowc().
18051         * device/include/wchar.h,
18052           device/lib/mbrlen.c:
18053           Implement mbrlen().
18055 2016-04-10 Molnar Karoly <molnarkaroly AT users.sf.net>
18057         * src/pic14/gen.c,
18058           src/pic16/gen.c:
18059           Fixed typo from "psuedo" to "pseudo".
18061         * src/pic14/gen.c:
18062           Fixed bug in genCall() function: The PAGESEL instructions must
18063           be given unconditionally. (In this context: "Each function has
18064           its own code section.")
18066         * src/pic14/pcode.c,
18067           src/pic16/pcode.c,
18068           src/pic14/ralloc.c,
18069           src/pic16/ralloc.c:
18070           Fix potential buffer overflow.
18072         * src/pic14/glue.c:
18073           Minor code formatting.
18075 2016-04-09 Ben Shi <powerstudio1st AT 163 DOT com>
18077         * support/regression/tests/gcc-torture-execute-20020506-1.c
18078         * support/regression/tests/gcc-torture-execute-20041011-1.c
18079         * support/regression/tests/gcc-torture-execute-20050111-1.c
18080         * support/regression/tests/gcc-torture-execute-20060127-1.c
18081         * support/regression/tests/gcc-torture-execute-920604-1.c
18082         * support/regression/tests/gcc-torture-execute-921029-1.c
18083         * support/regression/tests/gcc-torture-execute-941015-1.c
18084           Enabled.
18086 2016-04-07 Philipp Klaus Krause <pkk AT spth.de>
18088         * device/include/errno.h,
18089           device/include/uchar.h,
18090           device/include/wchar.h,
18091           device/lib/mbrtoc32.c,
18092           device/lib/c32rtomb.c,
18093           device/lib/mbrtowc.c,
18094           device/lib/wcrtomb.c,
18095           device/lib/incl.mk,
18096           support/regression/tests/wchar.c:
18097           Implement mbrtoc32, c32rtomb(), mbrtowc(), wcrtomb().
18099 2016-04-07 Philipp Klaus Krause <pkk AT spth.de>
18101         * src/SDCC.lex,
18102           src/SDCCerr.h,
18103           src/SDCCerr.c:
18104           Fix bug #2488 by implementing hexadecimal floating constants.
18105         * device/include/stdlib.h,
18106           device/lib/mblen.c,
18107           device/lib/wctomb.c,
18108           device/lib/incl.mk,
18109           support/regression/tests/string.c:
18110           Implement mblen(), wctomb().
18112 2016-04-06 Philipp Klaus Krause <pkk AT spth.de>
18114         * support/regression/tests/string.c:
18115           Check more of wide strings, do not depend on implementation-defined
18116           behaviour in char escape.
18118 2016-04-06 Ben Shi <powerstudio1st AT 163 DOT com>
18120         * support/regression/tests/gcc-torture-execute-950512-1.c
18121         * support/regression/tests/gcc-torture-execute-961122-1.c
18122         * support/regression/tests/gcc-torture-execute-960402-1.c
18123           Enabled.
18125 2016-04-05 Ben Shi <powerstudio1st AT 163 DOT com>
18127         * support/regression/tests/string.c
18128           Improve test case.
18129         * src/SDCCast.c
18130         * src/SDCCicode.c
18131         * src/z80/gen.c
18132           Improve longlong compatibility.
18134 2016-04-03 Molnar Karoly <molnarkaroly AT users.sf.net>
18136         * device/lib/pic14/bootstrap.sh,
18137           device/lib/pic14/Makefile.in,
18138           device/lib/pic14/libm/Makefile.in,
18139           device/lib/pic14/libsdcc/enhanced/Makefile.am,
18140           device/lib/pic14/libsdcc/enhanced/Makefile.in,
18141           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.am,
18142           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
18143           device/lib/pic14/libsdcc/regular/Makefile.am,
18144           device/lib/pic14/libsdcc/regular/Makefile.in:
18145           Workaround the Linux Mint bug: #2482 Link error with pic16f1827
18147         * device/lib/pic16/*,
18148           device/non-free/lib/pic16/*:
18149           Downgraded the autoconf version from 1.15 to 1.11.6.
18151 2016-04-01 Philipp Klaus Krause <pkk AT spth.de>
18153         * src/SDCCglue.c,
18154           src/SDCCval.c:
18155           Support wide string literals in initialization of global arrays.
18156         * src/SDCCast.c,
18157           Support wide string literals in initialization of local arrays.
18158         * doc/sdccman.lyx:
18159           Update documentation on standard compliance.
18161 2016-04-01 Ben Shi <powerstudio1st AT 163 DOT com>
18163         * support/regression/tests/gcc-torture-execute-950512-1.c
18164           Enabled.
18165         * src/z80/gen.c
18166           Improve longlong comptability on different hosts.
18168 2016-03-31 Philipp Klaus Krause <pkk AT spth.de>
18170         * doc/sdccman.lyx:
18171           Remove user-visible feature macros for signed / unsigned char.
18172         * device/include/limits.h:
18173           Fix multibyte sequence limit.
18174         * support/regression/tests/bitvars.c,
18175           support/regression/tests/funsigned-char.c:
18176           Detect char signedness portably.
18177         * src/SDCCsymt.h,
18178           src/SDCCval.c,
18179           src/SDCCglue.c,
18180           doc/sdccman.lyx,
18181           support/regression/tests/string.c:
18182           Support wide string literals outside of array initialization.
18184 2016-03-31 Ben Shi <powerstudio1st AT 163 DOT com>
18186         * support/regression/tests/gcc-torture-execute-pr19606.c
18187           Disabled in test-host.
18189 2016-03-29 Ben Shi <powerstudio1st AT 163 DOT com>
18191         * support/regression/tests/gcc-torture-execute-20060127-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-pr19606.c
18195           Disabled.
18197 2016-03-29 Ben Shi <powerstudio1st AT 163 DOT com>
18199         * support/regression/tests/bug3475656.c
18200         * support/regression/tests/gcc-torture-execute-20000314-2.c
18201         * support/regression/tests/gcc-torture-execute-20000523-1.c
18202         * support/regression/tests/gcc-torture-execute-20001108-1.c
18203         * support/regression/tests/gcc-torture-execute-20020201-1.c
18204         * support/regression/tests/gcc-torture-execute-20020226-1.c
18205         * support/regression/tests/gcc-torture-execute-20020508-1.c
18206         * support/regression/tests/gcc-torture-execute-20020508-2.c
18207         * support/regression/tests/gcc-torture-execute-20020508-3.c
18208         * support/regression/tests/gcc-torture-execute-20060110-1.c
18209         * support/regression/tests/gcc-torture-execute-20060110-2.c
18210         * support/regression/tests/gcc-torture-execute-20060127-1.c
18211         * support/regression/tests/gcc-torture-execute-20101013-1.c
18212         * support/regression/tests/gcc-torture-execute-920710-1.c
18213         * support/regression/tests/gcc-torture-execute-920829-1.c
18214         * support/regression/tests/gcc-torture-execute-921029-1.c
18215         * support/regression/tests/gcc-torture-execute-941015-1.c
18216         * support/regression/tests/gcc-torture-execute-950704-1.c
18217         * support/regression/tests/gcc-torture-execute-960801-1.c
18218         * support/regression/tests/gcc-torture-execute-961213-1.c
18219         * support/regression/tests/gcc-torture-execute-pr19606.c
18220         * support/regression/tests/gcc-torture-execute-pr27285.c
18221           Enable more longlong test cases.
18223 2016-03-28 Philipp Klaus Krause <pkk AT spth.de>
18225         * src/SDCCglue.c:
18226           Disable assertions to mask ds390 issue on non-OpenBSD for now.
18228 2016-03-28 Ben Shi <powerstudio1st AT 163 DOT com>
18230         * src/SDCCicode.c
18231           Fix a long long issue on 32-bit machines.
18232         * support/regression/tests/gcc-torture-execute-950511-1.c
18233         * support/regression/tests/bug-2477.c
18234           Enabled.
18236 2016-03-27 Philipp Klaus Krause <pkk AT spth.de>
18238         * support/regression/tests/inline.c:
18239           Disable failing test for OpenBSD host.
18240         * src/SDCCglue.c:
18241           Add assertions to help track down pointer size bugs.
18243 2016-03-27 Ben Shi <powerstudio1st AT 163 DOT com>
18245         * sdas/asstm8/stm8pst.c
18246           Apply part of patch #255 by Peter Dons Tychsen.
18248 2016-03-24 Ben Shi <powerstudio1st AT 163 DOT com>
18250         * src/z80/gen.c
18251           Improve long long compatibility among different host machines.
18253 2016-03-22 Ben Shi <powerstudio1st AT 163 DOT com>
18255         * src/SDCCast.c
18256         * src/SDCCglue.c
18257         * src/SDCCval.c
18258         * src/SDCCval.h
18259         * src/pic16/glue.c
18260         * src/z80/gen.c
18261           Improve long long compatibility among different host machines.
18263 2016-03-19 Ben Shi <powerstudio1st AT 163 DOT com>
18265         * src/z80/gen.c
18266           Improve compatibility of SDCC between 32-bit and 64-bit machines.
18268 2016-03-15 Molnar Karoly <molnarkaroly AT users.sf.net>
18270         * src/pic14/pcode.c:
18271           Fixed bug: "#2481 wrong asm code for pic16f1827 (or even others?)"
18273 2016-03-12 Maarten Brock <sourceforge.brock AT dse.nl>
18275         * src/SDCCpeeph.c (labelIsUncondJump): also search backwards
18276         * src/mcs51/peeph.def: added rules 257.a-i for jump-to-jump optimization,
18277           added rules 259.c-f to remove dead jumps, implements RFE 491
18278         * src/SDCCerr.c,
18279         * src/SDCCerr.h: changed W_UNKNOWN_FEXT to E_UNKNOWN_FEXT
18280         * src/SDCCmain.c (processFile): also accept .h sources, implement RFE 460
18282 2016-03-12 Ben Shi <powerstudio1st AT 163 DOT com>
18284         * src/z80/gen.c
18285           Rollback to previous version.
18286         * support/regression/tests/bug-2477.c
18287           Disable this test case.
18289 2016-03-11 Ben Shi <powerstudio1st AT 163 DOT com>
18291         * src/z80/gen.c
18292           Fix a bug in genRet(): long long return value is cut to long.
18293         * support/regression/tests/bug-2477.c
18294           Add a new test case.
18296 2016-03-10 Ben Shi <powerstudio1st AT 163 DOT com>
18298         * src/stm8/gen.c
18299           Fix a bug in genAnd(): conflict register assignment.
18300         * support/regression/tests/bug-2480.c
18301           Add a new test case.
18303 2016-03-06 Maarten Brock <sourceforge.brock AT dse.nl>
18305         * src/SDCC.y: MSVC does not accept declarations in for loop
18307 2016-03-05 Maarten Brock <sourceforge.brock AT dse.nl>
18309         * device/non-free/lib/pic16/missing: copied from device/lib/pic16/missing
18310         * src/SDCCgen.c (genInline): also check for colon in single literal char
18311         * support/cpp/libcpp/macro.c (create_iso_definition): fixed warning
18312         * support/regression/compact-results.py: use 'T' for clock ticks
18314 2016-03-05 Ben Shi <powerstudio1st AT 163 DOT com>
18316         * src/SDCCgen.c
18317           Fix a bug: colon should not be treated as a label suffix in a literal
18318           string in inline-asm.
18320 2016-03-05 Ben Shi <powerstudio1st AT 163 DOT com>
18322         * src/SDCCerr.c
18323         * src/SDCCval.c
18324           Remove warning #212 W_LONGLONG_LITERAL.
18326 2016-03-04 Ben Shi <powerstudio1st AT 163 DOT com>
18328         * src/SDCCicode.c
18329           Fix long long issues.
18330         * support/regression/tests/longlong.c
18331           Add more tests.
18333 2016-02-27 Ben Shi <powerstudio1st AT 163 DOT com>
18335         * support/scripts/sdcc.nsi
18336           Install large-stack-auto related files into windows distribution.
18338 2016-02-26 Ben Shi <powerstudio1st AT 163 DOT com>
18340         * src/SDCCicode.c
18341         * src/SDCCicode.h
18342         * src/SDCCval.c
18343         * src/SDCCval.h
18344           Fix potential precision loss of long long operands.
18346 2016-02-21 Ben Shi <powerstudio1st AT 163 DOT com>
18348         * src/SDCCast.c
18349         * src/SDCCast.h
18350           Make sure the parameter list is not reversed before calling parmProcess().
18351         * support/regression/tests/bug-2473.c
18352           Add a new test case.
18354 2016-02-20 Ben Shi <powerstudio1st AT 163 DOT com>
18356         * src/SDCCast.c
18357           Fix bug #2471.
18359 2016-02-19 Ben Shi <powerstudio1st AT 163 DOT com>
18361         * src/SDCCerr.c
18362           Make the error message of error E_CONST_EXPECTED more understandable.
18364 2016-02-18 Ben Shi <powerstudio1st AT 163 DOT com>
18366         * src/SDCCglue.c
18367           Add check of non-constant in a global variable's initial value.
18369 2016-02-13 Molnar Karoly <molnarkaroly AT users.sf.net>
18371         * src/pic14/gen.c,
18372         * src/pic14/glue.c,
18373         * src/pic14/pcode.c,
18374         * src/pic14/pcode.h:
18375         Fixed bug: "#2470 wrong asm code for PIC14 interrupt - interrupt not working"
18377 2016-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
18379         * device/lib/Makefile.in: added and enabled large-mcs51-stack-auto
18380         * support/regression/ports/mcs51-large-stack-auto,
18381         * support/regression/ports/mcs51-large-stack-auto/spec.mk,
18382         * support/regression/Makefile.in: added test-mcs51-large-stack-auto
18383         * support/regression/tests/bug2094505.c: disabled for mcs51-large-stack-auto
18385 2016-02-08 Maarten Brock <sourceforge.brock AT dse.nl>
18387         * debugger/mcs51/simi.c,
18388         * debugger/mcs51/simi.h: applied patch 268, Thanks Peter Dons Tychsen
18389         * device/include/stdlib.h: suppress unused variable warning
18390         * src/SDCCsymt.c (checkSClass): globals and statics in code don't need an
18391           initializer but may be implicitly cleared
18392         * support/regression/tests/gcc-torture-execute-20000412-1.c: added disabled
18393           testcase for this
18394         * support/regression/tests/bug-2041.c: also check with xdata starting at 1
18395         * support/regression/tests/bug-2089.c: fix warnings
18396         * support/regression/tests/bug-2423.c: suppress warning 147, show weird 203
18398 2016-02-07 Ben Shi <powerstudio1st AT 163 DOT com>
18400         * src/ds390/gen.c
18401           Fix a bug in genFarPointerSet() when the result and the right operand are
18402           both in DPTR.
18403         * support/regression/tests/bug-2041.c
18404           Add a new test case.
18406 2016-02-06 Philipp Klaus Krause <pkk AT spth.de>
18408         * src/SDCClospre.hpp,
18409           src/SDCCnaddr.hpp,
18410           src/SDCCralloc.hpp:
18411           Workaround boost bug #11880 to make SDCC compile with boost 1.60.
18413 2016-02-05 Ben Shi <powerstudio1st AT 163 DOT com>
18415         * src/SDCCast.c
18416           Fix a bug in comparison operation.
18417         * support/regression/tests/memory.c
18418           Enable more tests.
18420 2016-02-04 Ben Shi <powerstudio1st AT 163 DOT com>
18422         * src/SDCCicode.c
18423           Allow array members of structs can be accessed in pointer form.
18424         * support/regression/tests/bug-2468.c
18425           Add a test case.
18427 2016-02-03 Philipp Klaus Krause <pkk AT spth.de>
18429         * src/SDCClospre.hpp:
18430           Fix compare operator, patch #267 by Peter Dons Tychsen.
18431         * device/lib/pic16/libsdcc/char/divschar.c,
18432           device/lib/pic16/libsdcc/char/modschar.c:
18433           Fix signedness of pic16 char support routines.
18435 2016-02-01 Ben Shi <powerstudio1st AT 163 DOT com>
18437         * src/SDCCast.c
18438           Try to find a common type for the left and right in '?:' .
18439         * support/regression/tests/bug-2461.c
18440           Add a new test case.
18442 2016-02-01 Philipp Klaus Krause <pkk AT spth.de>
18444         * src/SDCCglobl.h,
18445           src/SDCCmain.c,
18446           src/SDCCsymt.c,
18447           src/SDCCval.c,
18448           doc/sdccman.lyx:
18449           Make char unsigned by default.
18451 2016-02-01 Philipp Klaus Krause <pkk AT spth.de>
18453         * device/include/stdlib.h:
18454           Fix declaration of aligned_alloc() for C11.
18456 2016-02-01 Ben Shi <powerstudio1st AT 163 DOT com>
18458         * src/SDCC.y
18459           Fix a bug: type mismatch between function definition and declaration.
18460         * support/regression/tests/bug-2419.c
18461           Add a new test case.
18463 2016-01-31 Molnar Karoly <molnarkaroly AT users.sf.net>
18465         * src/pic14/device.c,
18466           src/pic14/gen.c,
18467           src/pic14/glue.c,
18468           src/pic14/pcode.c,
18469           src/pic14/pcodepeep.c,
18470           src/pic14/ralloc.c,
18471           src/pic16/device.c,
18472           src/pic16/device.h,
18473           src/pic16/gen.c,
18474           src/pic16/genarith.c,
18475           src/pic16/genutils.c,
18476           src/pic16/glue.c,
18477           src/pic16/glue.h,
18478           src/pic16/graph.c,
18479           src/pic16/main.c,
18480           src/pic16/pcode.c,
18481           src/pic16/pcode.h,
18482           src/pic16/pcodepeep.c,
18483           src/pic16/ralloc.c,
18484           src/pic16/ralloc.h:
18485           Use "Safe_alloc(...)" instead of "Safe_calloc(1, ...)".
18486           Use SNPRINTF(X, sizeof(X), ...) instead of sprintf(X, ...).
18487           Some code simplification, e.g.:
18488             sprintf (s, "%s", aop->aopu.aop_dir);
18489             rs = Safe_calloc (1, strlen (s) + 1);
18490             strcpy (rs, s);
18491             return rs;
18492               .
18493               .
18494               .
18495             return Safe_strdup(aop->aopu.aop_dir);
18497 2016-01-28 Philipp Klaus Krause <pkk AT spth.de>
18499         * support/regression/Makefile.in:
18500           Change handling of test filenames for regression tests, patch #266 by
18501           Peter Dons Tychsen.
18502         * src/SDCCast.c,
18503           support/regression/tests/bug-2458.c:
18504           Changed result type propagation for logic operations, variant of proposed
18505           fix by Peter Dons Tychsen for bug #2458.
18507 2016-01-26 Philipp Klaus Krause <pkk AT spth.de>
18509         * src/SDCCsymt.c:
18510           Fix handling of __z88dk_fastcall in specifier merging.
18512 2016-01-26 Maarten Brock <sourceforge.brock AT dse.nl>
18514         * src/SDCCval.c (strVal): free utf_8 and suppress warning
18516 2016-01-25 Molnar Karoly <molnarkaroly AT users.sf.net>
18518         * src/pic14/pcode.c,
18519           src/pic14/ralloc.c:
18520           More use the logical constants.
18522 2016-01-25 Philipp Klaus Krause <pkk AT spth.de>
18524         * src/stm8/main.c:
18525           Improve DWARF support for stm8 ELF, picked from patch #255 by Peter Dons
18526           Tychsen.
18527         * src/SDCCsymt.c:
18528           Fix handling of preserved regs in specifier merging.
18530 2016-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
18532         * src/pic16/pcode.c,
18533           src/pic16/pcodepeep.c:
18534           More use the logical constants.
18536 2016-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
18538         * src/pic14/gen.c,
18539           src/pic14/glue.c,
18540           src/pic14/pcode.c,
18541           src/pic14/pcoderegs.c,
18542           src/pic14/ralloc.c:
18543           More use the logical constants.
18545 2016-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
18547         * src/pic14/gen.c,
18548           src/pic14/pcode.c,
18549           src/pic14/pcode.h:
18550           Add support the ASRF, LSLF and LSRF instructions
18551           (enhanced intructions of pic14): feature-requests #484
18553         * src/pic14/gen.c,
18554           src/pic14/gen.h:
18555           On more place I exchanged the "char *" to "const char *".
18557 2016-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
18559         * src/SDCC.y
18560         * src/SDCCast.c
18561         * src/SDCCast.h
18562         * src/SDCCutil.c
18563         * src/SDCCutil.h
18564           Format inline asm coding style.
18566 2016-01-23 Ben Shi <powerstudio1st AT 163 DOT com>
18568         * configure
18569         * configure.ac
18570         * debugger/mcs51/configure
18571         * debugger/mcs51/configure.ac
18572         * support/cpp/configure
18573         * support/cpp/configure.ac
18574         * support/packihx/configure
18575         * support/packihx/configure.ac
18576           Try to use C99 first.
18577         * src/SDCC.lex
18578           Remove a duplicate function definition.
18579         * src/SDCC.y
18580           Change to C99 style.
18582 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18584         * src/SDCCsymt.c,
18585           src/SDCCglue.h,
18586           src/SDCCglue.c:
18587           Do not display meaningless __reentrent to users.
18589 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18591         * src/z80/gen.c,
18592           src/z80/peep.c:
18593           Make estimate for preserved regs on function pointers less conservative.
18594         * src/SDCCsymt.c:
18595           Consider preserved regs for type of function pointer.
18597 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18599         * src/z80/peep.c:
18600           More accurate handling of conditional jumps, handle ex (sp), ix and
18601           ex (sp), iy.
18603 2016-01-21 Philipp Klaus Krause <pkk AT spth.de>
18605         * src/SDCC.y:
18606           Seems we have to worry about more than MSVC wrt. C99, patch #265 by Peter
18607           Dons Tychsen.
18609 2016-01-21 Philipp Klaus Krause <pkk AT spth.de>
18611         * src/SDCC.lex,
18612           src/SDCC.y,
18613           src/SDCCerr.c,
18614           src/SDCCerr.h,
18615           src/SDCCsymt.h,
18616           src/*/main.c,
18617           src/z80/gen.c:
18618           Implement declaration of preserved registers, RFE #483.
18619         * src/z80/peep.c
18620           Handle preserved register information in peephole optimization.
18621         * device/include/stdlib.h,
18622           device/include/string.h:
18623           Preserved register information on standard functions.
18624         * doc/sdccman.lyx:
18625           Document syntax for specifying preserved registers.
18627 2016-01-20 Philipp Klaus Krause <pkk AT spth.de>
18629         * src/z80/peep.c:
18630           More exact handling of ex, support for decimal shifts.
18632 2016-01-18 Philipp Klaus Krause <pkk AT spth.de>
18634         * src/SDCCdebug.c:
18635           Debug info for block-copy-initialized global variables, patch #262 by
18636           Peter Dons Tychsen.
18637         * src/SDCCdwarf2.c:
18638           Fix handling of declared, but unused global vairables in debug output,
18639           patch #263 by Peter Dons Tychsen.
18640         * src/z80/peep.c:
18641           More accurate handling of functions returning long long for peephole
18642           optimizer.
18643         * src/SDCCmain.c:
18644           Fix stream for help output, patch #264 by Peter Dons Tychsen.
18646 2016-01-18 Ben Shi <powerstudio1st AT 163 DOT com>
18648         * src/SDCCicode.c
18649           Apply a modified version of patch #261 by Peter Dons Tychsen.
18650         * support/regression/bug-2455.c
18651           Improve test case.
18653 2016-01-18 Philipp Klaus Krause <pkk AT spth.de>
18655         * src/SDCCicode.c:
18656           Fix pointer dereference issue, patch #261 by Peter Dons Tychsen.
18658 2016-01-17 Molnar Karoly <molnarkaroly AT users.sf.net>
18660         * device/non-free/include/pic14/*.h,
18661           device/non-free/include/pic16/*.h,
18662           device/non-free/lib/pic14/libdev/*.c,
18663           device/non-free/lib/pic16/libdev/*.c:
18664           Updated the device files.
18666 2016-01-17 Molnar Karoly <molnarkaroly AT users.sf.net>
18668         * src/pic14/pcode.c,
18669           src/pic14/pcode.h,
18670           src/pic16/ralloc.c,
18671           src/pic16/ralloc.h,
18672           src/pic16/pcodepeep.c,
18673           src/pic16/ralloc.c,
18674           src/pic16/ralloc.h:
18675           On more place I exchanged the "char *" to "const char *".
18677         * src/regression/Makefile:
18678           Added the option to CFLAGS: --no-warn-non-free
18680 2016-01-16 Molnar Karoly <molnarkaroly AT users.sf.net>
18682         * src/pic14/gen.c,
18683           src/pic14/pcode.c:
18684           Each function has its own code section.
18686         * src/pic16/pcode.c:
18687           Fix a gcc warning.
18689 2016-01-15 Ben Shi <powerstudio1st AT 163 DOT com>
18691         * src/SDCCicode.c
18692           Fix bug #2455.
18693         * support/regression/bug-2455.c
18694           Add a new test case.
18696 2016-01-14 Molnar Karoly <molnarkaroly AT users.sf.net>
18698         * device/lib/pic14/configure,
18699           device/lib/pic14/configure.ac,
18700           device/lib/pic16/configure.ac:
18701           Do away with the automake warning:
18702           "option 'subdir-objects' is disabled"
18704         * device/lib/pic16/Makefile.in,
18705           device/lib/pic16/aclocal.m4,
18706           device/lib/pic16/configure,
18707           device/lib/pic16/depcomp,
18708           device/lib/pic16/install-sh,
18709           device/lib/pic16/missing,
18710           device/lib/pic16/debug/Makefile.in,
18711           device/lib/pic16/libc/Makefile.in,
18712           device/lib/pic16/libio/Makefile.am,
18713           device/lib/pic16/libio/Makefile.in,
18714           device/lib/pic16/libio/adc.ignore,
18715           device/lib/pic16/libio/i2c.ignore,
18716           device/lib/pic16/libio/usart.ignore,
18717           device/lib/pic16/libm/Makefile.in,
18718           device/lib/pic16/libsdcc/Makefile.in,
18719           device/lib/pic16/startup/Makefile.in,
18720           device/non-free/include/pic16/pic18fam.h:
18721           Improve of update to gputils-1.4.2-1.
18723 2016-01-12 Philipp Klaus Krause <pkk AT spth.de>
18725         * src/z80/peep.c:
18726           More accurate handling of Z80/Z180 I/O in peepholes.
18728 2016-01-11 Ben Shi <powerstudio1st AT 163 DOT com>
18730         * src/ds390/ralloc.c
18731         * src/mcs51/ralloc.c
18732           Improve positionRegs().
18733         * src/mcs51/gen.c
18734           Roll back to previous version.
18735         * support/regression/tests/bug-2263.c
18736         * support/regression/tests/bug-2403.c
18737           Add new test cases.
18739 2016-01-10 Philipp Klaus Krause <pkk AT spth.de>
18741         * src/z80/peep.c:
18742           More accurate handling of Z80/Z180 I/O in peepholes.
18744 2016-01-10 Ben Shi <powerstudio1st AT 163 DOT com>
18746         * src/mcs51/gen.c
18747           Fix a bug in genOr() when all operands are in registers.
18748         * support/regression/tests/bug-2448.c
18749           Add a new test case.
18751 2016-01-09 Molnar Karoly <molnarkaroly AT users.sf.net>
18753         * support/scripts/cinc2h.pl,
18754           support/optimize_pic16devices.pl,
18755           support/z80-disasm.pl:
18756           Some minor repairs.
18758         * device/include/pic14/pic14devices.txt,
18759           device/include/pic14/pic16regs.h,
18760           device/include/pic16/pic16devices.txt,
18761           device/include/pic16/pic18fregs.h,
18762           device/lib/pic16/configure,
18763           device/lib/pic16/libio/Makefile.am,
18764           device/lib/pic16/libio/Makefile.in,
18765           device/lib/pic16/libio/adc.ignore,
18766           device/lib/pic16/libio/i2c.ignore,
18767           device/lib/pic16/libio/usart.ignore,
18768           device/non-free/include/pic14/*.h,
18769           device/non-free/include/pic16/*.h,
18770           device/non-free/lib/pic14/libdev/devices.txt,
18771           device/non-free/lib/pic14/libdev/*.c,
18772           device/non-free/lib/pic16/Makefile.in,
18773           device/non-free/lib/pic16/aclocal.m4,
18774           device/non-free/lib/pic16/configure,
18775           device/non-free/lib/pic16/processors.ac,
18776           device/non-free/lib/pic16/libdev/Makefile.am,
18777           device/non-free/lib/pic16/libdev/Makefile.in,
18778           device/non-free/lib/pic16/libdev/*.c,
18779           doc/sdccman.lyx:
18780           Updated to gputils-1.4.2-1.
18782 2016-01-06 Philipp Klaus Krause <pkk AT spth.de>
18784         * src/SDCCicode.c:
18785           Optimize comparisons of cheap variables to expensive constants more.
18786         * src/SDCCast.c:
18787           Use cheaper types for implicitly introduced constants.
18789 2016-01-05 Philipp Klaus Krause <pkk AT spth.de>
18791         * src/SDCCast.c:
18792           Do not try to output debug info in case of fatal errors - patch #260 by
18793           Peter Dons Tychsen
18794         * src/z80/gen.c,
18795           support/regression/tests/bug-2452.c:
18796           Fix gbz80 right shift bug #2452.
18798 2016-01-05 Ben Shi <powerstudio1st AT 163 DOT com>
18800         * src/SDCCicode.c
18801           Fix bug: members of pointer arrays are always treated as r-values.
18802         * support/regression/tests/gcc-torture-execute-930526-1.c
18803           Improve test case.
18804         * support/sdbinutils/binutils/arlex.c
18805           Removed.
18807 2016-01-04 Philipp Klaus Krause <pkk AT spth.de>
18809         * src/z80/peep.c:
18810           Fix handling of nop in z80MightRead, patch #259 by alvin.
18811         * src/SDCCicode.c:
18812           Optimize comparisons of cheap variables to expensive constants.
18814 2016-01-03 Philipp Klaus Krause <pkk AT spth.de>
18816         * sdas/linksrc/lkarea.c:
18817           Fix handling of NOLOAD for STM8 in linker, patch by Peter Dons Tychsen.
18818         * src/SDCCralloc.hpp:
18819           Fix compare operator for register assignments.
18821 2016-01-02 Ben Shi <powerstudio1st AT 163 DOT com>
18823         * support/sdbinutils/binutils/arparse.c
18824         * support/sdbinutils/binutils/arparse.h
18825           Delete intermediate files.
18827 2016-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
18829         * all.vcxproj,
18830         * config.vcxproj,
18831         * sdas/as6808/as_hc08.vcxproj,
18832         * sdas/as8051/asx8051.vcxproj,
18833         * sdas/as8xcxxx/sdas390.vcxproj,
18834         * sdas/asgb/asgb.vcxproj,
18835         * sdas/linksrc/aslink.vcxproj,
18836         * src/avr/avr.vcxproj,
18837         * src/ds390/ds390.vcxproj,
18838         * src/hc08/hc08.vcxproj,
18839         * src/mcs51/mcs51.vcxproj,
18840         * src/pic14/pic14.vcxproj,
18841         * src/pic16/pic16.vcxproj,
18842         * src/sdcc.vcxproj,
18843         * src/xa51/xa51.vcxproj,
18844         * src/z80/z80.vcxproj,
18845         * src/z80/z80a.vcxproj,
18846         * support/cpp/sdcpp.vcxproj,
18847         * support/librarian/librarian.vcxproj,
18848         * support/makebin/makebin.vcxproj,
18849         * support/packihx/packihx.vcxproj: applied patch 252 by Peter Dons Tychsen
18850           to remove UpgradeFromVC60.props
18852 2015-12-30 Philipp Klaus Krause <pkk AT spth.de>
18854         * src/SDCCdwarf2.c:
18855           Fix memory bug in DWARF output, patch by Peter Dons Tychsen.
18856         * sdas/asxxsrc/asdbg.c:
18857           Fix 0 pointer access when specifying -y or -j without -o.
18859 2015-12-30 Ben Shi <powerstudio1st AT 163 DOT com>
18861         * src/SDCCsymt.c
18862           Make comparePtrType() less strict.
18863         * support/regression/tests/bug-2271.c
18864           Improve test case.
18866 2015-12-28 Ben Shi <powerstudio1st AT 163 DOT com>
18868         * doc/sdccman.lyx
18869           Suggest msys2 along with msys while building wih MSVC.
18870         * sdas/asxxsrc/assym.c
18871           Apply patch #253.
18873 2015-12-26 Ben Shi <powerstudio1st AT 163 DOT com>
18875         * src/stm8/gen.c
18876           Add absent call to dwWriteFunction() while --debug is specified.
18878 2015-12-24 Ben Shi <powerstudio1st AT 163 DOT com>
18880         * src/SDCC.y
18881           Fix a bug in the front end. (pointer array parameters)
18882         * support/regression/tests/bug-2271.c
18883           Add a test case.
18885 2015-12-21 Philipp Klaus Krause <pkk AT spth.de>
18887         * src/stm8/main.c:
18888           Option for ELF output in STM8 backend.
18890 2015-12-20 Philipp Klaus Krause <pkk AT spth.de>
18892         * sdas/linksrc/lkelf.c,
18893           sdas/linksrc/lkmain.c:
18894           STM8 ELF linker support from patch #251.
18896 2015-12-18 Philipp Klaus Krause <pkk AT spth.de>
18898         * src/SDCCmain.c:
18899           Always use preprocessor in standard mode.
18900         * device/include/stdlib.h:
18901           Fix declaration order for inlined aligned_alloc().
18903 2015-12-17 Ben Shi <powerstudio1st AT 163 DOT com>
18905         * Makefile.in
18906           Fix the conflict in parallel build caused by component dependency.
18908 2015-12-16 Ben Shi <powerstudio1st AT 163 DOT com>
18910         * sim/ucsim/cmd.src/cmdset.cc
18911           Apply a modified version of patch #250.
18913 2015-12-14 Ben Shi <powerstudio1st AT 163 DOT com>
18915         * src/SDCCast.c:
18916           Avoid redundant call to processParms().
18917         * support/regression/tests/bug-2436.c
18918           Add a new test case.
18920 2015-12-10 Philipp Klaus Krause <pkk AT spth.de>
18922         * device/include/wchar.h:
18923           A basic wchar.h with for types that are useful even with no wide character
18924           functions around.
18926 2015-12-05 Ben Shi <powerstudio1st AT 163 DOT com>
18928         * src/SDCC.y
18929         * src/SDCCerr.c
18930         * src/SDCCerr.h
18931           Fix a bug of type definition of a function by typedef.
18933 2015-12-02 Ben Shi <powerstudio1st AT 163 DOT com>
18935         * src/SDCCerr.c
18936         * src/SDCCerr.h
18937           Fix defects in previous commit.
18939 2015-12-01 Ben Shi <powerstudio1st AT 163 DOT com>
18941         * src/SDCC.y
18942         * src/SDCCerr.c
18943         * src/SDCCerr.h
18944           Remove warning #220 (W_ANONYMOUS_MEMBER).
18946 2015-11-28 Philipp Klaus Krause <pkk AT spth.de>
18948         * src/SDCCpeeph.c:
18949           Fix operandsNotRelated() bug #2435.
18950         * device/include/stddef.h,
18951           device/include/stdlib.h,
18952           src/SDCC.lex,
18953           src/SDCCmain.c,
18954           src/SDCCval.c,
18955           src/SDCCval.h,
18956           support/regression/tests/charconst.c,
18957           support/regression/tests/string.c:
18958           Make wchar_t UTF-32.
18959         * support/cpp/Makefile.in:
18960           Fix call to make.
18962 2015-11-26 Ben Shi <powerstudio1st AT 163 DOT com>
18964         * support/regression/tests/gcc-torture-execute-20050111-1.c
18965         * support/regression/tests/gcc-torture-execute-950511-1.c
18966           Disable test cases.
18968 2015-11-24 Ben Shi <powerstudio1st AT 163 DOT com>
18970         * src/SDCCicode.c
18971         * src/SDCCval.c
18972         * src/SDCCval.h
18973           Improve long long multiplication.
18974         * support/regression/tests/gcc-torture-execute-20050111-1.c
18975         * support/regression/tests/gcc-torture-execute-950511-1.c
18976         * support/regression/tests/longlong.c
18977           Improve test cases.
18979 2015-11-14 Philipp Klaus Krause <pkk AT spth.de>
18981         * doc/Makefile.in,
18982           doc/sdccman.lyx:
18983           Fix bookmarks and hyperlinks in manual, bug #2405.
18984         * src/SDCCglue.c:
18985           Drop build time in asm output to ease reproducible builds.
18986         * device/lib/*/Makefile.in,
18987           device/lib/Makefile.in:
18988           Drop build time in sdar calls to make non-pic lib builds reproducible.
18990 2015-11-13 Ben Shi <powerstudio1st AT 163 DOT com>
18992         * support/cpp/libcpp/include/symtab.h:
18993           Fix build failure on MacOS x86-64.
18994         * support/regression/tests/inline.c:
18995           Fix failure in test-host in NetBSD.
18996         * support/regression/tests/literalop.c:
18997           Disable some tests on MacOS x86-64.
18999 2015-11-12 Maarten Brock <sourceforge.brock AT dse.nl>
19001         * device/include/mcs51/at89c51id2.h: moved
19003 2015-11-12 Philipp Klaus Krause <pkk AT spth.de>
19005         * doc/sdccman.lyx:
19006           Update standard compliance documentation.
19008 2015-11-09 Maarten Brock <sourceforge.brock AT dse.nl>
19010         * device/include/mcs51/at89c51ed2.h: applied patch 247
19011         * device/include/at89c51id2.h: new, added, thanks Victor Munoz
19012         * src/SDCC.lex: it seems really hard not to declare vars amidst the code
19013         * src/SDCCast.c (expandInlineFuncs): fix bug 2295: also expand for clauses
19014         * support/regression/tests/ctype.c: warn about undefined __STDC_VERSION__
19015         * support/regression/tests/inline.c (bug_2295): new test case
19017 2015-11-09 Philipp Klaus Krause <pkk AT spth.de>
19019         * src/SDCC.lex,
19020           src/SDCCval.c:
19021           UTF-32 and UTF-16 encodig in strVal().
19023 2015-11-08 Maarten Brock <sourceforge.brock AT dse.nl>
19025         * src/mcs51/gen.c: added IS_AOP_IMMEDIATE,
19026           (gencjneshort): applied modified part of patch 129, thanks Hubert Sack
19028 2015-11-08 Philipp Klaus Krause <pkk AT spth.de>
19030         * support/regression/tests/string.c
19031           Separate C11 behaviour from implementation-defined behaviour.
19033 2015-11-07 Ben Shi <powerstudio1st AT 163 DOT com>
19035         * src/SDCCglue.c:
19036           Eliminate unused static symbols. (__str_%d generated in stringToSymbol()).
19037         * support/regression/tests/bug-2089.c:
19038           Improve test case.
19039         * support/regression/ports/mcs51-xstack-auto/spec.mk:
19040           Use default sdcc11.
19041         * support/regression/tests/string.c:
19042           Disabled for test-host.
19044 2015-11-07 Philipp Klaus Krause <pkk AT spth.de>
19046         * support/util/dbuf_string.h,
19047           support/util/dbuf_string.c,
19048           src/SDCCval.c,
19049           src/SDCC.lex:
19050           Handling of UTF-16 and UTF-16 string literals in the frontend up to
19051           strVal().
19053 2015-11-06 Philipp Klaus Krause <pkk AT spth.de>
19055         * support/util/dbuf.h,
19056           support/util/dbuf.c,
19057           support/util/dbuf_string.h,
19058           support/util/dbuf_string.c:
19059           Allow prepending to dynamic buffers.
19060         * src/SDCC.lex,
19061           src/SDCCerr.h,
19062           src/SDCCerr.c:
19063           Support C11 u8 prefix for UTF-8-encoded unicode string literals.
19064         * src/SDCCutil.c,
19065           support/regression/tests/string.c:
19066           Fix handling of universal escape sequences in UTF-8-encoded string literals.
19067         * support/regression/tests/iso-8859-1.c:
19068           Test support for source encodings other than unicode.
19070 2015-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
19072         * src/SDCC.y: only emit W_FLEXARRAY_INSTRUCT for c89
19073         * src/SDCCpeeph.c (labelJTInRange): removed env SDCC_SJMP_JUMPTABLE check,
19074           closes patch #29,
19075           (readRules): clean up
19077 2015-11-05 Philipp Klaus Krause <pkk AT spth.de>
19079         * src/SDCCsymt.c:
19080           Print calling convention for functions.
19081         * src/z80/peep.c:
19082           More accurate handling of register arguments in peepholes.
19084 2015-11-05 Maarten Brock <sourceforge.brock AT dse.nl>
19086         * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug 2373
19087         * support/regression/tests/bug-2373.c: new, added
19089 2015-11-05 Maarten Brock <sourceforge.brock AT dse.nl>
19091         * sdcc.sln,
19092         * src/yacc.vcxproj: deleted yacc project
19093         * src/sdcc.vcxproj,
19094         * src/sdcc.vcxproj.filters: moved SDCC.y here for better dependencies
19095         * SDCC.props: new, added Visual C property sheet for generic settings like
19096           boost path (default: c:\local\boost_1_59_0\)
19097         * src/hc08/hc08.vcxproj,
19098         * src/sdcc.vcxproj,
19099         * src/stm8/stm8.vcxproj,
19100         * src/z80/z80.vcxproj: use SDCC.props
19101         * sdas/linksrc/lkaomf51.c: output capitals depending on the zflag
19102         * src/common.h
19103         * src/stm8/ralloc2.cc (extra_ic_generated),
19104         * src/z80/ralloc2.cc (default_operand_cost, assign_cost, Ainst_ok,
19105           rough_cost_estimate),
19106         * src/SDCCglue.c (printIvalChar),
19107         * src/SDCCopt.c (convertToFcall): fixed warnings
19108         * src/SDCCutil.c (isblank): added for MSVC 2010
19109         * support/cpp/ansidecl.h: deleted
19110         * support/cpp/sdcpp.vcxproj,
19111         * support/cpp/sdcpp.vcxproj.filters: use files in support/sdbinutils/
19112         * support/sdbinutils/libiberty/getpwd.c: fixed for MSVC
19114 2015-10-30 Ben Shi <powerstudio1st AT 163 DOT com>
19116         * sdas/linksrc/lkmem.c:
19117           Fix defects in previous commit.
19119 2015-10-30 Ben Shi <powerstudio1st AT 163 DOT com>
19121         * sdas/linksrc/lkarea.c:
19122         * sdas/linksrc/lkmem.c:
19123           Improve the error message in .mem when no enough space for the stack.
19124           Suggest the largest spare space (address and size) in the internal RAM.
19126 2015-10-28 Ben Shi <powerstudio1st AT 163 DOT com>
19128         * sdas/linksrc/lkmem.c:
19129           Fix incorrect check of "--xram-size".
19131 2015-10-27 Ben Shi <powerstudio1st AT 163 DOT com>
19133         * src/SDCCglue.c:
19134           Bug fix: char s[10] = "ab", bytes beyond "ab" sometimes aren't set to 0.
19136 2015-10-26 Philipp Klaus Krause <pkk AT spth.de>
19138         * Merge cpp-merge-upstream branch to get improved standard support.
19140 2015-10-26 Philipp Klaus Krause <pkk AT spth.de>
19142         * .version:
19143           Bump version due to improved standard support.
19145 2015-10-24 Philipp Klaus Krause <pkk AT spth.de>
19147         * src/stm8/ralloc.c,
19148           src/port.h:
19149           Spelling fixes.
19151 2015-10-23 Philipp Klaus Krause <pkk AT spth.de>
19153         * support/cpp/Makefile.in:
19154           Fix build-dependency of sdcpp on libiberty.
19155         * support/cpp/sdcpp.opt,
19156           support/cpp/sdcpp-opts.c,
19157           support/cpp/libcpp/init.c:
19158           Support C11 in preprocessor.
19159         * src/SDCCmain.c:
19160           Fix standard support, add support for c95 and sdcc11 dialects.
19162 2015-10-22 Ben Shi <powerstudio1st AT 163 DOT com>
19164         * SDCC.y:
19165           Add checks for NULL pointers.
19167 2015-10-19 Ben Shi <powerstudio1st AT 163 DOT com>
19169         * src/SDCCast.c:
19170         * src/SDCCglue.c:
19171         * src/SDCCglue.h:
19172           Eliminate redundant string literals to be generated.
19173         * support/regression/tests/bug-2089.c:
19174           Add a new test case.
19176 2015-10-18 Philipp Klaus Krause <pkk AT spth.de>
19178         * support/cpp/libcpp/*:
19179           Reformat to reduce diff to upstream cpp.
19181 2015-10-17 Philipp Klaus Krause <pkk AT spth.de>
19183         * support/cpp/libcpp/*:
19184           Reformat to reduce diff to upstream cpp.
19186 2015-10-11 Philipp Klaus Krause <pkk AT spth.de>
19188         * src/SDCCerr.h,
19189           src/SDCCerr.c,
19190           src/SDCC.lex:
19191           Support C95 wide string literals.
19193 2015-10-09 Philipp Klaus Krause <pkk AT spth.de>
19195         * support/cpp/libcpp/include/*:
19196           Reformat to reduce diff to upstream version.
19198 2015-10-10 Ben Shi <powerstudio1st AT 163 DOT com>
19200         * support/util/dbuf_string.c:
19201           Add check for null pointer.
19203 2015-10-09 Ben Shi <powerstudio1st AT 163 DOT com>
19205         * src/z80/gen.c:
19206           Wrap strtoul() to support $-prefix hex numbers.
19208 2015-10-09 Philipp Klaus Krause <pkk AT spth.de>
19210         * New memory management by merging malloc branch into trunk.
19212 2015-10-09 Ben Shi <powerstudio1st AT 163 DOT com>
19214         * sdas/linksrc/lkaomf51.c:
19215           Add bound check while accessing a buffer in the heap.
19217 2015-10-08 Philipp Klaus Krause <pkk AT spth.de>
19219         * support/cpp/libcpp/files.c:
19220           Drop cpp support for Borland C.
19222 2015-10-07 Philipp Klaus Krause <pkk AT spth.de>
19224         * support/regression/tests/charconst.c,
19225           support/regression/tests/escape.c:
19226           Disable some tests for host, so we don't need a C11 host.
19228 2015-10-07 Ben Shi <powerstudio1st AT 163 DOT com>
19230         * src/SDCCval.c:
19231           Add bound check in reorderIlist().
19232         * support/regression/bug-2423.c:
19233           Add a new test case.
19235 2015-10-06 Philipp Klaus Krause <pkk AT spth.de>
19237         * src/SDCCerr.h,
19238           src/SDCCerr.c,
19239           src/SDCCutil.h,
19240           src/SDCCutil.c,
19241           src/SDCCval.c,
19242           support/regression/tests/charconst.c,
19243           support/regression/tests/escape.c:
19244           Implement escape sequences for wide character constants, fix universal
19245           escape sequences.
19247 2015-10-06 Philipp Klaus Krause <pkk AT spth.de>
19249         * device/include/uchar.h,
19250           src/SDCCval.h,
19251           src/SDCCval.c,
19252           src/SDCC.lex,
19253           src/SDCCutil.c,
19254           src/SDCCmain.c,
19255           src/SDCCglobl.h,
19256           src/SDCCerr.h,
19257           src/SDCCerr.c,
19258           support/regression/tests/charconst.c:
19259           Wide character constants.
19261 2015-10-05 Philipp Klaus Krause <pkk AT spth.de>
19263         * device/lib/malloc.c:
19264           Improve comments on heap data structures.
19266 2015-10-04 Philipp Klaus Krause <pkk AT spth.de>
19268         * device/include/stdlib.h,
19269           device/lib/aligned_alloc.c:
19270           Implement aligned_alloc().
19272 2015-10-02 Philipp Klaus Krause <pkk AT spth.de>
19274         * device/lib/realloc.c:
19275           Fix a bug in realloc() freeing.
19277 2015-10-02 Philipp Klaus Krause <pkk AT spth.de>
19279         * device/lib/free.c,
19280           device/lib/realloc.c,
19281           device/lib/malloc.c,
19282           device/lib/realloc.c,
19283           support/regression/tests/malloc.c:
19284           Simplify memory management, document search of free list.
19285         * support/regression/fwk/lib/testfwk.c:
19286           Support printing unsigned in test logs
19288 2015-10-02 Ben Shi <powerstudio1st AT 163 DOT com>
19290         * src/SDCCval.c:
19291           Loose the condition of warning 116.
19293 2015-09-29 Ben Shi <powerstudio1st AT 163 DOT com>
19295         * src/stm8/main.c:
19296           Support "pragma codeseg" and "pragma constseg" in the stm8 port.
19298 2015-09-28 Ben Shi <powerstudio1st AT 163 DOT com>
19300         * src/stm8/main.c:
19301           Support "--codeseg" and "--constseg" on the stm8 port.
19303 2015-09-22 Maarten Brock <sourceforge.brock AT dse.nl>
19305         * device/lib/_calloc.c,
19306         * device/lib/_free.c,
19307         * device/lib/_heap.c,
19308         * device/lib/_malloc.c,
19309         * device/lib/_realloc.c: renamed all _sdcc_* to __sdcc_*,
19310           removed register keywords,
19311           changed _sdcc_heap_size to __sdcc_last_memheader,
19312           removed init_dynamic_memory() and other optimizations
19313         * support/regression/tests/malloc.c: added test for size overflow
19315 2015-09-21 Ben Shi <powerstudio1st AT 163 DOT com>
19317         * support/regression/tests/gcc-torture-execute-pr28982a.c:
19318           Enabled for the r2k and r3ka ports.
19320 2015-09-20 Philipp Klaus Krause <pkk AT spth.de>
19322         * device/lib/calloc.c,
19323           device/lib/malloc.c,
19324           device/lib/realloc.c,
19325           device/lib/free.c:
19326           Use typedefs for memory block header type, use more pointers to __xdata.
19327         * device/include/stdlib.h,
19328           device/include/malloc.h:
19329           Move memory management to stdlib.h, fix stdlib.h inclusion.
19331 2015-09-20 Philipp Klaus Krause <pkk AT spth.de>
19333         * device/include/asm/*/features.h,
19334           device/include/malloc.h,
19335           device/lib/calloc.c,
19336           device/lib/malloc.c,
19337           device/lib/realloc.c,
19338           device/lib/free.c,
19339           support/regression/tests/malloc.c:
19340           First version of new, more efficient memory management.
19342 2015-09-20 Ben Shi <powerstudio1st AT 163 DOT com>
19344         * src/z80/gen.c:
19345           Fix bugs in genOr() and genXor() while operands are longlong.
19346         * support/regression/tests/longlong.c:
19347           Enable more tests.
19349 2015-09-16 Ben Shi <powerstudio1st AT 163 DOT com>
19351         * src/SDCC.y:
19352         * src/SDCCast.c:
19353         * src/SDCCerr.c:
19354         * src/SDCCicode.c:
19355           Disable nested critical block / function call, support return in inline
19356           critical functions.
19357         * support/regression/tests/critical.c:
19358           Improve test case.
19359         * support/regression/tests/malloc.c:
19360           fix a small spot.
19362 2015-09-15 Philipp Klaus Krause <pkk AT spth.de>
19364         * support/regression/tests/malloc.c:
19365           More testing of memory management.
19367 2015-09-14 Philipp Klaus Krause <pkk AT spth.de>
19369         * support/regression/tests/malloc.c:
19370           More testing of memory management.
19372 2015-09-13 Philipp Klaus Krause <pkk AT spth.de>
19374         * device/lib/pic16/*
19375           Fix delarations to make pic16 lib compile again.
19377 2015-09-12 Philipp Klaus Krause <pkk AT spth.de>
19379         * src/pic14/genarith.c:
19380           Fix bug #2417 by applying patch by Juho Salminen.
19382 2015-09-10 Philipp Klaus Krause <pkk AT spth.de>
19384         * support/regression/tests/bug-2385.c:
19385           Regression test for bug #2385.
19387 2015-09-10 Ben Shi <powerstudio1st AT 163 DOT com>
19389         * support/regression/tests/critical.c:
19390           Improve test case.
19391         * src/SDCC.y:
19392           Fix a bug: inline critical functions are inlined as non-critical.
19394 2015-09-09 Philipp Klaus Krause <pkk AT spth.de>
19396         * support/regression/tests/generic.c:
19397           More testcases for _Generic.
19398         * src/z80/gen.c,
19399           support/regression/tests/critical.c:
19400           Fix bug #2416.
19402 2015-09-04 Philipp Klaus Krause <pkk AT spth.de>
19404         * src/stm8/peep.c:
19405           Fix handling of bcpl in notUsed().
19407 2015-09-03 Philipp Klaus Krause <pkk AT spth.de>
19409         * src/pic14/peeph.def:
19410           Fix bug #2415.
19411         * src/stm8/peeph.def:
19412           Implement some rules for bit complement.
19413         * src/SDCCval.c,
19414           support/regression/tests/generic.c:
19415           Fix bug #2411.
19416         * src/pic16/main.c:
19417           Use zero-initializing crt0 by default.
19419 2015-08-27 Ben Shi <powerstudio1st AT 163 DOT com>
19421         * sim/ucsim/packages_in.mk:
19422           Fix a bug: simulator sz80 is not built if only z80 port is enabled.
19424 2015-08-22 Ben Shi <powerstudio1st AT 163 DOT com>
19426         * src/stm8/peep.c:
19427           Fix a bug in peephole rule condition notUsed().
19429 2015-08-22 Ben Shi <powerstudio1st AT 163 DOT com>
19431         * support/regression/tests/bug-2188.c:
19432         * src/SDCCast.c:
19433           Apply patch #248 by Pavel Pisa <pisa@cmp.felk.cvut.cz>.
19435 2015-08-19 Ben Shi <powerstudio1st AT 163 DOT com>
19437         * configure.ac:
19438         * configure:
19439           Correct build failure on sparc64-netbsd.
19441 2015-08-19 Ben Shi <powerstudio1st AT 163 DOT com>
19443         * support/regression/tests/condopptr.c:
19444           Add more test.
19445         * src/SDCC.y:
19446           Improve conditional expression.
19447         * configure.ac:
19448         * configure:
19449           Correct spots in previous commit.
19451 2015-08-17 Ben Shi <powerstudio1st AT 163 DOT com>
19453         * configure.ac:
19454         * configure:
19455           Extend stack size on cygwin64.
19457 2015-08-15 Ben Shi <powerstudio1st AT 163 DOT com>
19459         * src/SDCCast.c:
19460           Fix a bug in storage class check.
19461         * support/regression/tests/gcc-torture-execute-20020402-3.c:
19462           Enable test case.
19464 2015-08-15 Philipp Klaus Krause <pkk AT spth.de>
19466         * src/SDCCast.c,
19467           support/regression/tests/array.c:
19468           Implement RFE #454 for index[array] access.
19469         * src/SDCC.y,
19470           src/SDCCerr.h,
19471           src/SDCCerr.c:
19472           Emit warning for non-standard label without statement.
19473         * support/regression/tests/generic.c:
19474           Disable test for host, since older host compilers are still in use.
19476 2015-08-12 Philipp Klaus Krause <pkk AT spth.de>
19478         * src/SDCC.lex,
19479           src/SDCC.y,
19480           src/SDCCast.c,
19481           src/SDCCerr.h,
19482           src/SDCCerr.c,
19483           support/regression/tests/generic.c,
19484           doc/sdccman.lyx:
19485           Implement C11 generic selections.
19487 2015-08-11 Philipp Klaus Krause <pkk AT spth.de>
19489         * src/SDCCsymt.c,
19490           src/SDCCerr.h,
19491           src/SDCCerr.c,
19492           support/regression/tests/gcc-torture-execute-920721-3.c,
19493           support/regression/tests/gcc-torture-execute-pr34176.c,
19494           support/regression/tests/implicit_int.c:
19495           Diagnostic for implicit int.
19497 2015-08-10 Philipp Klaus Krause <pkk AT spth.de>
19499         * src/z80/peeph-z80.def:
19500           Fix bug #2408.
19501         * src/z80/peeph-r2k.def,
19502         * src/z80/peeph-tlcs90.def:
19503           Synced with z80 peepholes.
19505 2015-08-09 Philipp Klaus Krause <pkk AT spth.de>
19507         * src/z80/peeph-z80.def:
19508           Fix bug #2407 using fix suggested by alvin.
19510 2015-08-02 Philipp Klaus Krause <pkk AT spth.de>
19512         * src/stm8/gen.c:
19513           Cheaper stm8 division workaround (RFE #449).
19514         * doc/sdccman.lyx:
19515           Update standard compliance documentation to reflect recently implemented
19516           feature.
19518 2015-08-01 Philipp Klaus Krause <pkk AT spth.de>
19520         * src/SDCCsymt.h,
19521           src/SDCCsymt.c,
19522           src/SDCCralloc.hpp,
19523           src/stm8/gen.c:
19524           Static code analysis to omit stm8 division workaround when safe to do so
19525           (RFE #448).
19527 2015-07-31 Ben Shi <powerstudio1st AT 163 DOT com>
19529         * support/regression/tests/gcc-torture-execute-stdarg-5.c:
19530           Improve test case.
19532 2015-07-26 Philipp Klaus Krause <pkk AT spth.de>
19534         * src/stm8/gen.c:
19535           Workaround for for stm8 division hardware bug.
19537 2015-07-13 Ben Shi <powerstudio1st AT 163 DOT com>
19539         * support/cpp/configure.ac:
19540         * support/cpp/configure:
19541         * support/cpp/Makefile.in:
19542         * Makefile.common.in:
19543           Fix small spots.
19545 2015-07-13 Ben Shi <powerstudio1st AT 163 DOT com>
19547         * sdas/linksrc/lklex.c:
19548           Support unicode character in sdld's command line.
19549         * sdas/linksrc/lkbank.c:
19550           Remove unsupported ".s28" and ".s37" file extensions.
19552 2015-07-12 Ben Shi <powerstudio1st AT 163 DOT com>
19554         * configure.in:
19555         * debugger/mcs51/configure:
19556         * debugger/mcs51/configure.in:
19557         * device/lib/pic14/Makefile.in:
19558         * device/lib/pic14/aclocal.m4:
19559         * device/lib/pic14/config.h.in:
19560         * device/lib/pic14/configure.in:
19561         * device/lib/pic14/libm/Makefile.in:
19562         * device/lib/pic14/libsdcc/enhanced/Makefile.in:
19563         * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in:
19564         * device/lib/pic14/libsdcc/regular/Makefile.in:
19565         * device/non-free/lib/pic14/configure:
19566         * device/non-free/lib/pic14/configure.in:
19567         * sim/ucsim/configure.in:
19568         * support/cpp/configure:
19569         * support/cpp/configure.in:
19570         * support/packihx/configure:
19571         * support/packihx/configure.in:
19572           Move all configure.in to configure.ac and update with autoconf 2.69.
19574 2015-07-10 Philipp Klaus Krause <pkk AT spth.de>
19576         * src/stm8/peeph.def:
19577           Fix comments.
19578         * device/lib/stm8/_mulint.s:
19579           Faster, smaller integer multiplication.
19581 2015-07-08 Ben Shi <powerstudio1st AT 163 DOT com>
19583         * support/sdbinutils/bfd/asxxxx.c:
19584           Fix a bug in check .rel format while there are comments.
19586 2015-07-06 Ben Shi <powerstudio1st AT 163 DOT com>
19588         * configure:
19589         * configure.in:
19590         * device/include/Makefile.in:
19591         * support/sdbinutils/Makefile.in:
19592         * support/sdbinutils/binutils/Makefile.in:
19593           Make "make install" and "make uninstall" more clear.
19595 2015-07-05 Philipp Klaus Krause <pkk AT spth.de>
19597         * support/sdbinutils/binutils/*
19598           Fix bug #2394 and do not ship files generated by yacc.
19600 2015-07-03 Philipp Klaus Krause <pkk AT spth.de>
19602         * src/SDCCpeeph.c:
19603           Patch from z88dk to allow comments in between rule and condition.
19605 2015-07-01 Philipp Klaus Krause <pkk AT spth.de>
19607         * Merge upstream binutils 2.25 by merging binutils branch into trunk.
19609 2015-07-01 Ben Shi <powerstudio1st AT 163 DOT com>
19611         * src/mcs51/peep.c:
19612           Add NULL pointer check.
19614 2015-06-30 Philipp Klaus Krause <pkk AT spth.de>
19616         * src/SDCCmain.c:
19617           Adjust buffer sizes RFE #441.
19619 2015-06-29 Philipp Klaus Krause <pkk AT spth.de>
19621         * src/SDCCmain.c,
19622           doc/sdccman.lyx,
19623           support/regression/tests/version.c:
19624           Implement patchlevel macro RFE #441.
19626 2015-06-28 Philipp Klaus Krause <pkk AT spth.de>
19628         * support/sdbinutils/*
19629           Merge upstream binutils 2.25.
19631 2015-06-28 Philipp Klaus Krause <pkk AT spth.de>
19633         * support/sdbinutils/*
19634           Import more parts of upstream binutils 2.23.2.
19636 2015-06-27 Philipp Klaus Krause <pkk AT spth.de>
19638         * support/sdbinutils/*
19639           Import more parts of upstream binutils 2.23.2.
19641 2015-06-26 Ben Shi <powerstudio1st AT 163 DOT com>
19643         * device/include/float.h:
19644           Hide sdcc library private macros.
19645         * support/sdbinutils/include/objalloc.h:
19646         * support/sdbinutils/libiberty/objalloc.c:
19647           Apply patches from GNU.
19649 2015-06-25 Ben Shi <powerstudio1st AT 163 DOT com>
19651         * configure:
19652         * configure.in:
19653         * device/non-free/include/Makefile.in:
19654           Fix the bug "make uninstall" left empty directory.
19655         * src/SDCCBBlock.c:
19656           Apply patch #158 to fix bug #1693.
19657         * support/regression/tests/version.c:
19658           Fix the failure in "make test-host".
19660 2015-06-24 Philipp Klaus Krause <pkk AT spth.de>
19662         * src/SDCCmain.c,
19663           doc/sdccman.lyx,
19664           support/regression/tests/version.c:
19665           Implement version macros RFE #441.
19667 2015-06-24 Ben Shi <powerstudio1st AT 163 DOT com>
19669         * support/regression/collate-results.py:
19670           Fix the bug that an abnormal stop in reg-rest can not be detected.
19672 2015-06-24 Philipp Klaus Krause <pkk AT spth.de>
19674         * src/z80/ralloc.c:
19675           Fix bug #2389.
19676         * src/SDCCglue.c,
19677           src/SDCCmain.c,
19678           src/SDCCutil.c,
19679           src/SDCCutil.h:
19680           Remove build date from version string to make reproducible builds easier.
19682 2015-06-24 Maarten Brock <sourceforge.brock AT dse.nl>
19684         * Small Device C Compiler 3.5.0 released
19685         * .version, doc/sdccman.lyx: changed sdcc version to 3.5.1
19687 2015-06-20 Maarten Brock <sourceforge.brock AT dse.nl>
19689         * support/scripts/gen_known_bugs.pl: fixed by Raphael Neider for changed
19690           SourceForge pages
19692 2015-06-18 Maarten Brock <sourceforge.brock AT dse.nl>
19694         * .version,
19695         * doc/INSTALL.txt,
19696         * doc/sdccman.lyx: version 3.5.0
19698 2015-06-18 Maarten Brock <sourceforge.brock AT dse.nl>
19700         * src/SDCCmain.c (preProcess): reverted removal of SDCC macro
19701         * src/stm8/gen.c (genLeftShiftLiteral): hushed a compiler warning
19702         * support/regression/tests/gcc-torture-execute-960218-1.c,
19703         * support/regression/tests/gcc-torture-execute-20030913-1.c: renamed test()
19704           to prevent double testing, renamed glob to prevent name conflict
19705         * support/scripts/sdcc.nsi: removed dedication to Borut Razem
19707 2015-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
19709         * support/scripts/repack_release.sh: changed mac osx snapshot source,
19710           forced uploading to directories
19712 2015-06-07 Philipp Klaus Krause <pkk AT spth.de>
19714         * doc/sdccman.lyx:
19715           Add section on the use of --allow-unsafe-reads on Z80-based systems.
19717 2015-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
19719         * .version,
19720         * doc/INSTALL.txt,
19721         * doc/sdccman.lyx: version 3.5.0 rc1
19722         * sdcc.spec: version 3.5.0
19723         * device/lib/pic14/libsdcc/idata.c: cosmetics
19724         * support/regression/tests/bug-2274.c: prevented double testing by rename
19725         * support/regression/tests/gcc-torture-execute-stdarg-5.c: no ASSERT(0)
19727 2015-06-05 Philipp Klaus Krause <pkk AT spth.de>
19729         * doc/sdccman.lyx,
19730           src/SDCCglobl.h,
19731           src/SDCClospre.cc,
19732           src/SDCCmain.c:
19733           Use more generic name for option for unsafe reads.
19735 2015-05-23 Ben Shi <powerstudio1st AT 163 DOT com>
19737         * src/SDCCast.c:
19738         * src/SDCCglue.c:
19739           Support initialization of char array in form 'char arr[] = {"abc"};'.
19740         * support/regression/tests/bug-2059.c:
19741           Add a new test case.
19743 2015-05-21 Ben Shi <powerstudio1st AT 163 DOT com>
19745         * src/SDCCsymt.c:
19746           Remove useless code.
19747         * support/regression/tests/bug-2384.c:
19748           Add a new test case.
19750 2015-05-19 Ben Shi <powerstudio1st AT 163 DOT com>
19752         * support/regression/tests/bug-1918.c:
19753           Add a new test case.
19755 2015-05-17 Maarten Brock <sourceforge.brock AT dse.nl>
19757         * doc/clean.mk: remove *.eps
19758         * doc/Makefile.in: use dvipdfm instead of pdflatex to enable svg graphics
19759         * configure.in,
19760         * configure: require latex and dvipdfm for building doc
19762 2015-05-17 Ben Shi <powerstudio1st AT 163 DOT com>
19764         * sdas/linksrc/lklex.c:
19765           Check illegal object files.
19767 2015-05-15 Ben Shi <powerstudio1st AT 163 DOT com>
19769         * src/SDCC.y:
19770           Fix a potential bug in simplification of nested '*' and '&' in AST.
19772 2015-05-14 Ben Shi <powerstudio1st AT 163 DOT com>
19774         * src/SDCC.y:
19775           simplify nested '&' and '*' in AST.
19776         * support/regression/tests/bug-2381.c:
19777           Add a new test case.
19779 2015-05-13 Ben Shi <powerstudio1st AT 163 DOT com>
19781         * src/SDCCerr.c:
19782         * src/SDCCerr.h:
19783         * src/SDCCsymt.c:
19784         * src/SDCCsymt.h:
19785           Add a new warning for duplicate specifiler in c89.
19787 2015-05-08 Ben Shi <powerstudio1st AT 163 DOT com>
19789         * src/SDCC.y: Turn off warning 219 for declaration (with extern) while keep
19790           for definition (without extern).
19791         * support/regression/tests/bug-2102.c:
19792           Improve test case.
19794 2015-05-06 Ben Shi <powerstudio1st AT 163 DOT com>
19796         * src/SDCC.y: Do not warn if a variable of a struct with a flexible array is
19797           declared with extern.
19798         * src/SDCCerr.c:
19799           Change text message of warning 219.
19800         * support/regression/tests/bug-2102.c:
19801           Supress warning 219 and improve test case.
19802         * support/regression/tests/bug-2274.c:
19803           Supress warning 84.
19805 2015-05-04 Ben Shi <powerstudio1st AT 163 DOT com>
19807         * support/regression/tests/bug-2102.c:
19808           Add a new test case.
19809         * src/SDCCerr.c:
19810         * src/SDCC.y:
19811           Rise warning 219 for creating an instance of a struct with a flexible array.
19812         * src/SDCCsymt.c:
19813           Remove useless code.
19815 2015-05-04 Ben Shi <powerstudio1st AT 163 DOT com>
19817         * src/SDCC.y:
19818           Fix a bug in macro __func__ substitution.
19820 2015-05-03 Maarten Brock <sourceforge.brock AT dse.nl>
19822         * device/lib/_calloc.c: removed unused struct declarations
19823         * device/lib/pic16/libc/stdio/vfprintf.c: fixed warnings
19824         * src/SDCC.y: disabled W_ANONYMOUS_MEMBER
19825         * src/SDCCsymt.c (compStructSize): disabled W_FLEXARRAY_INSTRUCT
19826         * src/z80/main.c: fixed gbz80_port peephole pointers, and
19827         * src/ds390/main.c,
19828         * src/mcs51/main.c,
19829         * src/stm8/main.c: added peephole null-pointers, unified layout
19830         * src/stm8/ralloc.c (stm8_assignRegisters): fixed warning
19831         * support/regression/tests/bug-2320.c: fixed warning
19833 2015-05-01 Ben Shi <powerstudio1st AT 163 DOT com>
19835         * sdas/linksrc/lkar.c:
19836         * sdas/linksrc/lklib.c:
19837         * sdas/linksrc/lksdcclib.c:
19838         * src/SDCCmain.c:
19839           Remove useless code for Cygwin.
19840         * support/sdbinutils/bfd/config.bfd:
19841         * sim/ucsim/cmd.src/cmdutil.cc:
19842           Support Cygwin64.
19844 2015-04-29 Ben Shi <powerstudio1st AT 163 DOT com>
19846         * support/regression/tests/gcc-torture-execute-20001011-1.c:
19847           Enabled.
19848         * support/cpp/libcpp/macro.c:
19849         * support/cpp/libcpp/include/cpplib.h:
19850         * support/cpp/libcpp/init.c:
19851         * src/SDCC.y:
19852           Support macro __func__.
19854 2015-04-22 Philipp Klaus Krause <pkk AT spth.de>
19856         * src/z80/peeph-z80.def:
19857           Better peephole interaction for early ret statements in functions.
19859 2015-04-22 Ben Shi <powerstudio1st AT 163 DOT com>
19861         * Makefile.common.in:
19862         * configure:
19863         * configure.in:
19864         * support/regression/Makefile.in:
19865         * support/regression/ports/ds390/spec.mk:
19866         * support/regression/ports/hc08/spec.mk:
19867         * support/regression/ports/mcs51-common/spec.mk:
19868         * support/regression/ports/pic14/spec.mk:
19869         * support/regression/ports/pic16/spec.mk:
19870         * support/regression/ports/s08/spec.mk:
19871         * support/regression/ports/stm8/spec.mk:
19872         * support/regression/ports/ucgbz80/spec.mk:
19873         * support/regression/ports/ucr2k/spec.mk:
19874         * support/regression/ports/ucr3ka/spec.mk:
19875         * support/regression/ports/ucz180/spec.mk:
19876         * support/regression/ports/ucz80/spec.mk:
19877         * support/valdiag/Makefile.in:
19878           Auto detect python in $PATH.
19879         * support/regression/tests/z88dk.c:
19880           Fix build error in reversion #9218.
19882 2015-04-22 Philipp Klaus Krause <pkk AT spth.de>
19884         * src/z80/peep.c,
19885           support/regression/tests/bug-2376.c:
19886           Fix peephole optimizer bug #2376.
19888 2015-04-21 Philipp Klaus Krause <pkk AT spth.de>
19890         * src/SDCCpeeph.c,
19891           src/port.h,
19892           src/z80/main.c,
19893           src/z80/gen.c,
19894           src/z80/peep.h,
19895           src/z80/peep.c,
19896           src/z80/peeph-z80.def:
19897           Fix peephole optimizer bug #2374, more efficient calls to _Noreturn
19898           functions.
19900 2015-04-20 Philipp Klaus Krause <pkk AT spth.de>
19902         * src/z80/gen.c,
19903           src/z80/peep.c,
19904           support/regression/tests/z88dk.c:
19905           Fix peephole optimizer bug #2371.
19907 2015-04-19 Philipp Klaus Krause <pkk AT spth.de>
19909         * src/SDCCglobl.h:
19910           Silence warning.
19911         * src/z80/gen.c,
19912           device/lib/*/__sdcc_call_hl.s,
19913           device/lib/*/__sdcc_call_iy.s,
19914           src/SDCCsymt.c:
19915           Better handling of calls through function pointers.
19917 2015-04-18 Ben Shi <powerstudio1st AT 163 DOT com>
19919         * sim/ucsim/configure.in:
19920         * sim/ucsim/configure:
19921         * sim/ucsim/packages_in.mk:
19922           Do not build disabled ports.
19924 2015-04-17 Ben Shi <powerstudio1st AT 163 DOT com>
19926         * sdas/linksrc/Makefile.in:
19927           Fix the issue that "make install" of sdld* failed on Windows.
19929 2015-04-16 Ben Shi <powerstudio1st AT 163 DOT com>
19931         * device/include/Makefile.in:
19932           Fix the problem that the header files of ds400 are not installed.
19933         * sdas/linksrc/Makefile.in:
19934           Do not install unnecessary sdld* for disabled ports.
19936 2015-04-15 Ben Shi <powerstudio1st AT 163 DOT com>
19938         * Makefile.common.in:
19939         * Makefile.in:
19940           Partially fix bug #2369.
19941         * configure:
19942         * configure.in:
19943         * device/lib/Makefile.in:
19944         * src/ds400/Makefile.in:
19945         * src/ds400/main.c:
19946         * src/ds400/main.h:
19947           Delete the empty stuff src/ds400/ .
19948         * support/regression/tests/z88dk.c:
19949           Fix compiling errors.
19951 2015-04-14 Philipp Klaus Krause <pkk AT spth.de>
19953         * src/SDCC.lex,
19954           src/SDCC.y,
19955           src/SDCCsymt.h,
19956           src/z80/main.c,
19957           src/z80/gen.c,
19958           support/regression/tests/z88dk.c:
19959           Support for __z88dk_callee calling convention on the caller side.
19961 2015-04-11 Ben Shi <powerstudio1st AT 163 DOT com>
19963         * support/scripts/sdcc.nsi:
19964           Remove savr which is disabled by default.
19966 2015-04-10 Philipp Klaus Krause <pkk AT spth.de>
19968         * support/regression/tests/z88dk.c:
19969           Fix bug number in comment.
19971 2015-04-10 Ben Shi <powerstudio1st AT 163 DOT com>
19973         * debugger/mcs51/configure:
19974         * debugger/mcs51/Makefile.in:
19975         * debugger/mcs51/configure.in:
19976         * sim/ucsim/st7.src/Makefile.in:
19977         * sim/ucsim/z80.src/Makefile.in:
19978         * sim/ucsim/stm8.src/Makefile.in:
19979         * sim/ucsim/xa.src/Makefile.in:
19980         * sim/ucsim/s51.src/Makefile.in:
19981         * sim/ucsim/avr.src/Makefile.in:
19982         * sim/ucsim/hc08.src/Makefile.in:
19983         * sim/ucsim/configure:
19984         * sim/ucsim/Makefile.in:
19985         * sim/ucsim/configure.in:
19986           Support --program-prefix and --program-suffix.
19988 2015-04-09 Philipp Klaus Krause <pkk AT spth.de>
19990         * device/include/ctype.h,
19991           device/lib/isblank.c:
19992           Faster isblank().
19993         * device/include/stdlib.h,
19994           device/lib/atoi.c,
19995           device/lib/atol.c,
19996           device/lib/atoll.c,
19997           device/lib/incl.mk,
19998           device/lib/make51lib.bat,
19999           support/regression/tests/ato.c:
20000           Faster and shorter atoi(), atol(), implemented atoll().
20001         * src/SDCC.lex,
20002           src/SDCC.y,
20003           src/SDCCsymt.h,
20004           src/port.h,
20005           src/SDCCerr.h,
20006           src/SDCCerr.c,
20007           src/*/main.c,
20008           src/z80/gen.c,
20009           src/z80/ralloc2.cc,
20010           support/regression/tests/z88dk.c:
20011           Support for __z88dk_fastcall calling convention.
20012         * src/stm8/peeph.def:
20013           Use relative jump on false instruction for optimizing jumps over 1-byte
20014           opcodes.
20016 2015-04-06 Ben Shi <powerstudio1st AT 163 DOT com>
20018         * support/regression/bug-2368.c:
20019           Try to fix the failure in "make test-host" on sparc64-solaris.
20021 2015-04-03 Ben Shi <powerstudio1st AT 163 DOT com>
20023         * src/SDCCerr.c:
20024         * src/SDCCerr.h:
20025         * src/SDCCast.c:
20026           Add a warning for inline __naked functions.
20028 2015-04-02 Ben Shi <powerstudio1st AT 163 DOT com>
20030         * src/SDCCutils.h:
20031         * src/SDCCutils.c:
20032         * src/SDCCmain.c:
20033           Support --program-prefix and --program-suffix while calling assembler and
20034           linker.
20035         * src/z80/gen.c:
20036         * src/z80/mapping.i:
20037         * src/SDCCasm.c:
20038           Add new "globalfunctionlabel".
20039         * sdas/linksrc/Makefile.in:
20040           Fix a spot in 'make install'.
20042 2015-04-01 Philipp Klaus Krause <pkk AT spth.de>
20044         * src/SDCCnaddr.hpp,
20045           src/SDCCnaddr.cc:
20046           Dump tree decomposition used for address space switching on --dump-graphs.
20048 2015-04-01 Ben Shi <powerstudio1st AT 163 DOT com>
20050         * sdas/as6808/Makefile.in:
20051         * sdas/as8051/Makefile.in:
20052         * sdas/as8xcxxx/Makefile.in:
20053         * sdas/asgb/Makefile.in:
20054         * sdas/asrab/Makefile.in:
20055         * sdas/asstm8/Makefile.in:
20056         * sdas/astlcs90/Makefile.in:
20057         * sdas/asz80/Makefile.in:
20058         * sdas/linksrc/Makefile.in:
20059         * src/Makefile.in:
20060         * support/cpp/Makefile.in:
20061         * support/librarian/Makefile.in:
20062         * support/makebin/Makefile.in:
20063         * support/packihx/Makefile.in:
20064           Fix a bug of --program-suffix on Win32 / Win64.
20066 2015-03-31 Philipp Klaus Krause <pkk AT spth.de>
20068         * src/stm8/gen.c,
20069           support/regression/tests/bug-2368.c:
20070           Fixed bug #2368.
20072 2015-03-27 Ben Shi <powerstudio1st AT 163 DOT com>
20074         * sdas/as6808/Makefile.in:
20075         * sdas/as8051/Makefile.in:
20076         * sdas/as8xcxxx/Makefile.in:
20077         * sdas/asgb/Makefile.in:
20078         * sdas/asrab/Makefile.in:
20079         * sdas/asstm8/Makefile.in:
20080         * sdas/astlcs90/Makefile.in:
20081         * sdas/asz80/Makefile.in:
20082         * sdas/linksrc/Makefile.in:
20083         * src/Makefile.in:
20084         * support/cpp/Makefile.in:
20085         * support/librarian/Makefile.in:
20086         * support/makebin/Makefile.in:
20087         * support/packihx/Makefile.in:
20088         * support/scripts/Makefile.in:
20089           Support --program-prefix and --program-suffix.
20091 2015-03-26 Ben Shi <powerstudio1st AT 163 DOT com>
20093         * support/sdbinutils/libiberty/Makefile.in:
20094           Disable make install.
20095         * support/sdbinutils/binutils/Makefile.in:
20096         * support/sdbinutils/Makefile.in:
20097           Support make uninstall.
20098         * device/non-free/lib/Makefile.in:
20099           Apply patch #245 by David Grayson.
20101 2015-03-24 Philipp Klaus Krause <pkk AT spth.de>
20103         * src/z80/peeph-z80.def:
20104           Peepholes for optimizing jump on decrement.
20106 2015-03-20 Ben Shi <powerstudio1st AT 163 DOT com>
20108         * src/SDCCglue.c:
20109           Improve error messages.
20111 2015-03-19 Ben Shi <powerstudio1st AT 163 DOT com>
20113         * src/SDCCglue.c:
20114           Fix a bug in a global char array initialized by a string.
20115         * src/SDCCast.c:
20116           Fix a bug in a local static global array initialization.
20117         * support/regression/tests/bug-1953.c:
20118           Improve test case.
20119         * doc/sdccman.lyx:
20120           Suggest msys while build SDCC with VS2010.
20122 2015-03-16 Philipp Klaus Krause <pkk AT spth.de>
20124         * src/z80/gen.c:
20125           Fix bug #2288.
20127 2015-03-13 Maarten Brock <sourceforge.brock AT dse.nl>
20129         * device/lib/z80/crt0.s: cosmetics
20130         * sdas/asstm8/sdasstm8.vcxproj,
20131         * sdas/asstm8/sdasstm8.vcxproj.filters: new, added
20132         * sdcc.sln: added sdasstm8
20134 2015-03-12 Ben Shi <powerstudio1st AT 163 DOT com>
20136         * src/SDCCerr.c:
20137         * src/SDCCerr.h:
20138         * src/SDCC.y:
20139           Add a new warning: anonymous member in struct/union.
20141 2015-03-11 Ben Shi <powerstudio1st AT 163 DOT com>
20143         * src/SDCCval.c:
20144         * src/SDCCglue.c:
20145           Add a new special case in pointer initialization.
20146         * support/regression/tests/gcc-torture-execute-const-addr-expr-1.c:
20147           Enabled.
20148         * support/regression/test-1898.c:
20149           Add a new test case.
20151 2015-03-06 Ben Shi <powerstudio1st AT 163 DOT com>
20153         * src/SDCCsymt.c:
20154         * src/SDCCerr.h:
20155         * src/SDCCerr.c:
20156           Add a warning for a flexible array in a struct.
20158 2015-02-25 Philipp Klaus Krause <pkk AT spth.de>
20160         * src/stm8/gen.c:
20161           Speed up stm8 port by skipping output early in dry runs and making some
20162           aop tests more efficient,
20163           fix code generation bug in shifts.
20165 2015-02-25 Ben Shi <powerstudio1st AT 163 DOT com>
20167         * support/regression/tests/bug-2031.c:
20168           Add a new test case.
20169         * src/SDCCglue.c:
20170         * src/SDCCval.c:
20171         * src/SDCCval.h:
20172         * pic16/glue.c:
20173           Enable a global char/int/long variable initialized by an address
20174                   (const pointer).
20176 2015-02-24 Philipp Klaus Krause <pkk AT spth.de>
20178         * src/stm8/gen.c:
20179           Fix bug in stm8 comparison code generation.
20181 2015-02-23 Ben Shi <powerstudio1st AT 163 DOT com>
20183         * support/regression/tests/bug-2357.c:
20184           Improve this test case.
20186 2015-02-22 Philipp Klaus Krause <pkk AT spth.de>
20188         * src/z80/gen.c,
20189           src/z80/main.c:
20190           Improve z88dk compability (patch provided by z88dk).
20192 2015-02-20 Ben Shi <powerstudio1st AT 163 DOT com>
20194         * support/regression/tests/bug-2357.c:
20195           A new test case.
20196         * support/regression/tests/gcc-torture-execute-20000412-1.c:
20197           Enabled.
20198         * src/SDCCerr.c:
20199           Change E_CODE_NO_INIT from an error to a warning.
20200         * src/SDCCast.c:
20201           Fix a bug in selecting type of an array index.
20203 2015-02-17 Ben Shi <powerstudio1st AT 163 DOT com>
20205         * support/regression/tests/bug-1953.c:
20206           Disable failed tests.
20208 2015-02-16 Ben Shi <powerstudio1st AT 163 DOT com>
20210         * src/SDCCast.c:
20211           Fix a bug in char array initialization with string.
20212         * support/regression/tests/bug-1953.c:
20213           Add a new test case.
20214         * support/regression/tests/gcc-torture-execute-20000801-4.c:
20215           Enabled.
20217 2015-02-13 Ben Shi <powerstudio1st AT 163 DOT com>
20219         * src/SDCCglue.c:
20220           Make pointers (of a struct) initialization more generaic.
20221         * support/regression/tests/bug-2123.c:
20222           Add more tests.
20224 2015-02-11 Ben Shi <powerstudio1st AT 163 DOT com>
20226         * src/SDCCglue.c:
20227           Improve pointer initialization.
20228         * support/regression/tests/bug-2123.c:
20229           Add a new test case for bug #2123.
20231 2015-02-08 Ben Shi <powerstudio1st AT 163 DOT com>
20233         * src/SDCCval.c:
20234           Allow type cast in function pointer initialization.
20235         * support/regression/tests/bug-2124.c:
20236           Add a new test case for bug #2124.
20238 2015-02-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20240         * src/SDCCtree_dec.hpp:
20241           Fix bug in weight calculation that affected tree-decompositions with
20242           imbalanced nested branches.
20243         * src/z80/peeph-gbz80.def:
20244           Fix handling of (hl-), (hl+) in peepholes.
20246 2015-02-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20248         * src/z80/mappings.i:
20249           Fix gbz80 function entry helper.
20250         * src/SDCCralloc.hpp:
20251           Use weight mechanism for deciding which subtree to process first - should
20252           reduce memory consumption and improve the heuristic in the register
20253           allocator.
20255 2015-02-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20257         * doc/Makefile.in: copy *.svg graphic files when using VPATH too
20259 2015-02-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20261         * device/lib/*/crtcall.s,
20262           device/lib/*/crtenters,
20263           device/lib/*/Makefile.in,
20264           src/z80/gen.c,
20265           src/z80/mappings.i,
20266           src/z80/peep.c:
20267           Fix name of helper function for function pointers, introduce Alan Cox'
20268           proposal for helper function for function header.
20270 2015-02-02 Ben Shi <powerstudio1st AT 163 DOT com>
20272         * src/SDCCast.c:
20273           Add check for infinite recursive call of copyAst().
20275 2015-01-30 Philipp Klaus Krause <pkk AT spth.de>
20277         * doc/sdccman.lyx:
20278           Fix references to obsolete keywords.
20280 2015-01-29 Philipp Klaus Krause <pkk AT spth.de>
20282         * doc/sdccman.lyx:
20283           Reorganize documentation of language extensions, in particular named
20284           address spaces, separate mcs51isms, remove references to obsolete keywords.
20286 2015-01-28 Philipp Klaus Krause <pkk AT spth.de>
20288         * doc/sdccman.lyx:
20289           Update documentation on C dialect selection.
20291 2015-01-27 Ben Shi <powerstudio1st AT 163 DOT com>
20293         * src/SDCCsymt.c:
20294           Fix bug #2349.
20295         * support/regression/test/bug-2349.c:
20296           Add a new test for bug #2349.
20298 2015-01-27 Philipp Klaus Krause <pkk AT spth.de>
20300         * src/SDCC.lex,
20301           src/SDCC.y,
20302           src/SDCCmem.c,
20303           src/SDCCsymt.h,
20304           src/stm8/main.c:
20305           Apply patch by Pascal for trap handlers.
20307 2015-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
20309         * src/stm8/gen.c:
20310           Fix a bug in genPointerGet(): negative offset is not handled correctly.
20311         * support/regression/test/bug-2239.c:
20312           More tests are added and enabled for stm8.
20314 2015-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
20316         * src/SDCCast.c:
20317           Fix bug #2239.
20318         * support/regression/test/bug-2239.c:
20319           Add a new test for bug #2239.
20321 2015-01-20 Philipp Klaus Krause <pkk AT spth.de>
20323         * src/SDCCmain.c,
20324           .version:
20325           Make sdcc dialect of C99 the default.
20327 2015-01-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20329         * src/z80/ralloc.c,
20330           src/mcs51/ralloc.c:
20331           Fix register packing inline asm interaction bugs #2346, #2268.
20333 2015-01-09 Philipp Klaus Krause <pkk AT spth.de>
20335         * doc/sdccman.lyx:
20336           Classification macros are not required in freestanding implementations.
20338 2015-01-08 Ben Shi <powerstudio1st AT 163 DOT com>
20340         * src/SDCC.y:
20341           Fix a bug which might be a NULL pointer access.
20342         * device/lib/time.c:
20343           Eliminate a warning. (overflow in implicit constant conversion)
20345 2015-01-06 Ben Shi <powerstudio1st AT 163 DOT com>
20347         * src/SDCCast.c:
20348           Fix bug #2167 & #1967. (auto struct variables initialization)
20349         * support/regression/tests/gcc-torture-execute-960326-1.c:
20350           Add more test cases.
20351         * support/regression/tests/gcc-torture-execute-20050613-1.c:
20352         * support/regression/tests/gcc-torture-execute-20030408-1.c:
20353           Enable test.
20355 2015-01-01 Ben Shi <powerstudio1st AT 163 DOT com>
20357         * src/SDCCval.c:
20358           Make SDCC_VERY_PEDANTIC default, if --less-pedantic is not specified.
20360 2014-12-30 Maarten Brock <sourceforge.brock AT dse.nl>
20362         * doc/sdccman.lyx: fixed typo, webdoc #69, thanks Petr Petyovsky
20363         * sdas/linksrc/aslink.h: added include "sdccconf.h" or "sdcc_vc.h"
20364         * sdas/linksrc/lkar.c: removed include "sdccconf.h"
20366 2014-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
20368         * device/include/pic16/limits.h,
20369         * device/lib/_divsint.c,
20370         * device/lib/_divslong.c,
20371         * device/lib/_divuint.c,
20372         * device/lib/_divulong.c,
20373         * device/lib/_memset.c,
20374         * device/lib/_modsint.c,
20375         * device/lib/_modslong.c,
20376         * device/lib/_moduint.c,
20377         * device/lib/_modulong.c,
20378         * device/lib/_mulint.c,
20379         * device/lib/_mullong.c,
20380         * device/lib/hc08/_divuint.c,
20381         * device/lib/hc08/_divulong.c,
20382         * device/lib/pic16/libm/asincosf.c,
20383         * device/lib/pic16/libm/atanf.c,
20384         * device/lib/pic16/libm/logf.c,
20385         * device/lib/s08/_divuint.c,
20386         * device/lib/s08/_divulong.c: replaced deprecated predefined macros
20387         * device/lib/pic16/libio/i2c/i2copen.c: idem to fix bug 2336
20388         * src/SDCCast.c (ast_print),
20389         * src/SDCCicode.c (dbuf_printOperand): fixed warnings
20390         * support/regression/tests/bug-2313.c: fixed warning
20392 2014-12-29 Philipp Klaus Krause <pkk AT spth.de>
20394         * support/regression/tests/bug-2320.c:
20395           Fix test for host.
20397 2014-12-28 Philipp Klaus Krause <pkk AT spth.de>
20399         * device/include/stdio.h:
20400           Fix bug #2338.
20402 2014-12-27 Philipp Klaus Krause <pkk AT spth.de>
20404         * src/z80/ralloc2.cc,
20405           support/regression/tests/bug-2320.c:
20406           Fixed bug #2320.
20408 2014-12-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20410         * src/pic14/gen.c (aopOp): fix typo in previous commit
20412 2014-12-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20414         * src/stm8/gen.c (aopOp),
20415         * src/z80/gen.c (aopOp),
20416         * src/hc08/gen.c (aopOp),
20417         * src/mcs51/gen.c (aopOp),
20418         * src/ds390/gen.c (aopOp),
20419         * src/pic16/gen.c (pic16_aopOp),
20420         * src/pic14/gen.c (aopOp): only use spill location if isspilt set
20422 2014-12-22 Philipp Klaus Krause <pkk AT spth.de>
20424         * doc/sdccman.lyx:
20425           Cleanup manual.
20427 2014-12-22 Ben Shi <powerstudio1st AT 163 DOT com>
20429         * support/regression/tests/longlong.c:
20430           Modify test cases for large signed / unsigned long long.
20432 2014-12-21 Philipp Klaus Krause <pkk AT spth.de>
20434         * src/SDCCmain.c,
20435           src/pic14/main.c,
20436           src/pic16/main.c,
20437           doc/sdccman.lyx,
20438           .version:
20439           Remove obsolete feature macros.
20441 2014-12-21 Ben Shi <powerstudio1st AT 163 DOT com>
20443         * src/SDCCast.c:
20444           Make AST dump more clear.
20445         * src/SDCCval.c:
20446         * src/SDCCval.h:
20447         * src/SDCCicode.c:
20448         * src/SDCCcse.c:
20449         * src/SDCCast.c:
20450         * src/SDCCglue.c:
20451         * src/pic16/SDCCglue.c:
20452           make valFromLiteral() more accurate by a new unsigned long long parameter.
20453         * support/regression/tests/longlong.c:
20454           Add new test cases for large unsigned long long.
20456 2014-12-19 Ben Shi <powerstudio1st AT 163 DOT com>
20458         * support/regression/tests/longlong.c:
20459           Enable more test cases.
20460         * src/SDCCast.c:
20461         * src/SDCCicode.c:
20462           Fix a bug: higher 4 bytes of a longlong literal are missing while dumping.
20463         * src/SDCCval.c:
20464           Fix a bug: higher 4 bytes of a longlong value are discarded while casting
20465           from a double value.
20467 2014-12-16 Philipp Klaus Krause <pkk AT spth.de>
20469         * configure.in,
20470           doc/Makefile.in:
20471           Remove dependency on pdfopt.
20472         * support/regression/tests/bug-2313.c:
20473           Regression test for bug #2313.
20475 2014-12-13 Philipp Klaus Krause <pkk AT spth.de>
20477         * device/lib/pic16/libc/string/strncpy.c,
20478           support/regression/tests/bug-2231.c:
20479           Fix strncpy() in pic16. Patch by Diego Herranz.
20481 2014-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20483         * src/SDCCcse.c (ifxOptimize): fixed bugs #2313/2330
20485 2014-12-04 Philipp Klaus Krause <pkk AT spth.de>
20487         * support/regression/tests/gcc-torture-execute-20080529-1.c,
20488           support/regression/tests/longlong.c:
20489           Disable tests that fail due to broken gbz80 long long multiplication
20490           (bug #2329).
20491         * support/regression/tests/bug-2231.c,
20492           support/regression/tests/float_single.c,
20493           support/regression/tests/gcc-torture-execute-stdarg-4.c,
20494           support/regression/tests/gcc-torture-execute-stdarg-5.c,
20495           support/regression/tests/vaargs.c:
20496           Disable failing tests for pic16.
20498 2014-12-03 Ben Shi <powerstudio1st AT 163 DOT com>
20500         * support/regression/tests/gcc-torture-execute-950511-1.c:
20501           Disabled. Since it fails on FreeBSD.
20503 2014-12-02 Ben Shi <powerstudio1st AT 163 DOT com>
20505         * support/regression/tests/gcc-torture-execute-20050826-1.c:
20506         * support/regression/tests/gcc-torture-execute-950511-1.c:
20507           Enabled for stm8.
20509 2014-12-02 Philipp Klaus Krause <pkk AT spth.de>
20511         * device/lib/_mullonglong.c,
20512           support/regression/tests/longlong.c:
20513           Make long long multiplication independent of endianness.
20515 2014-12-02 Ben Shi <powerstudio1st AT 163 DOT com>
20517         * sim/ucsim/stm8.src/stm8.cc:
20518           Make stack larger, since some test cases cost large stack space.
20520 2014-12-02 Philipp Klaus Krause <pkk AT spth.de>
20522         * src/stm8/ralloc.c,
20523           src/z80/ralloc.c:
20524           Do not try to use spill locations that are not on the stack in ports that
20525           can't handle it.
20526         * support/regression/tests/longlong.c:
20527           Enable some long long tests that pass for stm8 now.
20529 2014-12-01 Philipp Klaus Krause <pkk AT spth.de>
20531         * src/SDCCsymt.c:
20532           Initialize usl.spillLoc to help track down spill location issues.
20533         * src/stm8/ralloc.c:
20534           Minor cleanup.
20536 2014-11-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20538         * configure.in,
20539         * configure,
20540         * sdccconf_h.in,
20541         * sdas/linksrc/lkar.c: Use configure to detect system strndup()
20542           (alternate fix for bugs #2310 and #2303)
20543         * sdas/linksrc/Makefile.in: Removed -std=c99; it caused problems with
20544           mingw32 build
20546 2014-11-29 Maarten Brock <sourceforge.brock AT dse.nl>
20548         * device/include/ctype.h: compare as unsigned chars, added static asserts on
20549           EOF
20550         * device/lib/isdigit.c,
20551         * device/lib/islower.c,
20552         * device/lib/isupper.c: include stdio.h to enable the static assert in ctype.h
20553         * support/regression/tests/gcc-torture-execute-20050613-1.c: split up ASSERTs
20555 2014-11-23 Molnar Karoly <molnarkaroly AT users.sf.net>
20557         * device/include/pic14/pic14devices.txt:
20558           Bugfix, thanks to Franz.
20560 2014-11-23 Ben Shi <powerstudio1st AT 163.com>
20562         * support/regression/tests/bug-2304.c:
20563           Improve this test case.
20564         * sdas/linksrc/lkmain.c:
20565           Add bound check.
20567 2014-11-22 Ben Shi <powerstudio1st AT 163.com>
20569         * src/stm8/peep.c:
20570           Fix potential bugs.
20572 2014-11-22 Ben Shi <powerstudio1st AT 163.com>
20574         * src/SDCCpeeph.c:
20575           Add function notSimilar().
20576         * src/stm8/peep.c:
20577           Make notUsed() more aggressive.
20578         * src/stm8/peeph.def:
20579           Add more rules.
20581 2014-11-21 Philipp Klaus Krause <philipp@informatik.uni-frankfurt.de>
20583         * src/stm8/main.c:
20584           Comment expaining why we can't use the byte at 0 in C.
20586 2014-11-21 Ben Shi <powerstudio1st AT 163.com>
20588         * device/lib/stm8/heap.s:
20589         * device/lib/stm8/Makefile.in:
20590           Add support for heap operation.
20591         * support/regression/tests/gcc-torture-execute-920810-1.c:
20592         * support/regression/tests/malloc:
20593           enable test cases which use malloc().
20595 2014-11-19 Ben Shi <powerstudio1st AT 163.com>
20597         * sdas/linksrc/aslink.h:
20598           Change PATH_MAX to a proper value on x86_64, for bug #2316.
20600 2014-11-18 Philipp Klaus Krause <pkk AT spth.de>
20602         * device/include/iso646.h,
20603           support/regression/tests/iso646.c:
20604           Fixed bug #2314.
20606 2014-11-15 Philipp Klaus Krause <pkk AT spth.de>
20608         * support/regression/tests/gcc-torture-execute-pr40057.c:
20609           Disable test for host, since it fails on NetBSD.
20611 2014-11-14 Philipp Klaus Krause <pkk AT spth.de>
20613         * support/sdbinutils/bfd/configure,
20614           support/sdbinutils/bfd/warning.m4,
20615           support/sdbinutils/binutils/configure:
20616           Fixed bug #2280 by disabling -Werror.
20617         * sdas/linksrc/Makefile.in:
20618           Fixed bugs #2310 and #2303.
20619         * support/regression/tests/gcc-torture-execute-20031012-1.c:
20620           Disable test that fails on MacOS.
20622 2014-11-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20624         * support/regression/tests/gcc-torture-execute-pr42544.c:
20625           Disable test for host, since it fails on Solaris.
20627 2014-11-11 Philipp Klaus Krause <pkk AT spth.de>
20629         * support/regression/tests/longlong.c:
20630           Disable test that fails on 32-bit hosts.
20632 2014-11-10 Philipp Klaus Krause <pkk AT spth.de>
20634         * src/z80/ralloc.c,
20635           src/z80/gen.c,
20636           src/stm8/ralloc.c,
20637           src/stm8/gen.c,
20638           support/regression/tests/longlong.c:
20639           Implement unused long long return values.
20641 2014-11-09 Philipp Klaus Krause <pkk AT spth.de>
20643         * src/z80/ralloc2.cc:
20644           Fix a long long register allcoation issue.
20645         * support/regression/tests/gcc-torture-execute-950511-1.c:
20646           Disable test that fails on 32-bit hosts.
20648 2014-11-08 Philipp Klaus Krause <pkk AT spth.de>
20650         * support/regression/tests/longlong.c,
20651           support/regression/tests/gcc-torture-execute-950512-1.c:
20652           Disabled test, since it fails on 32-bit hosts.
20654 2014-11-07 Philipp Klaus Krause  <pkk AT spth.de>
20656         * device/lib/_modslonglong.c,
20657           device/lib/_modulonglong.c,
20658           device/lib/Makefile.in,
20659           device/lib/*/Makefile.in,
20660           doc/sdccman.lyx:
20661           Implement % for long long and unsigned long long.
20662         * doc/Makefile.in:
20663           More sensible error behaviour when building documentation.
20664         * src/SDCCval.c,
20665           src/SDCCerr.c:
20666           Only warn about long long constants for large values.
20667         * device/lib/_mullonglong.c:
20668           Fix long long multiplication.
20669         * support/regression/tests/*.c:
20670           Enable some long long regression test that pass now.
20672 2014-11-06 Philipp Klaus Krause  <pkk AT spth.de>
20674         * src/z80/gen.c:
20675           More efficient assignment of literals to 16-bit globals and statics.
20677 2014-11-06 Philipp Klaus Krause  <pkk AT spth.de>
20679         * src/z80/gen.c,
20680           support/regression/tests/bug-2306.c:
20681           Fixed bug #2306.
20683 2014-11-06 Philipp Klaus Krause  <pkk AT spth.de>
20685         * src/z80/gen.c,
20686           support/regression/tests/bug-2304.c:
20687           Fixed bug #2304.
20688         * src/z80/ralloc.c,
20689           support/regression/tests/bug-2305.c:
20690           Fixed bug #2305.
20692 2014-10-29 Philipp Klaus Krause  <pkk AT spth.de>
20694         * support/regression/tests/bug-2254.c:
20695           Regression test for bug #2254.
20697 2014-10-22 Philipp Klaus Krause <pkk AT spth.de>
20699         * src/stm8/gen.c:
20700           Spelling fix inspired by Debian patch 02_fix_spelling.
20702 2014-10-22 Ben Shi <powerstudio1st AT 163.com>
20704         * device/lib/stm8/Makefile.in:
20705         * device/stm8/_modslong.s:
20706         * device/stm8/_divslong.s:
20707           Optimized mod & div of signed long.
20709 2014-10-17 Ben Shi <powerstudio1st AT 163.com>
20711         * device/lib/stm8/Makefile.in:
20712         * device/stm8/_modulong.s:
20713         * device/stm8/_divulong.s:
20714           Optimized according to their c origination.
20716 2014-10-14 Philipp Klaus Krause <pkk AT spth.de>
20718         * src/z80/gen.c:
20719           Improve error messages for unimplemented unused return value.
20721 2014-10-14 Ben Shi <powerstudio1st AT 163.com>
20723         * device/stm8/_modsint.s:
20724         * device/stm8/_mullong.s:
20725           Optimized with more efficient instructions.
20726         * device/stm8/_mulint.s:
20727           Reformat to more readable.
20729 2014-10-13 Philipp Klaus Krause <pkk AT spth.de>
20731         * device/stm8/_divsint.s:
20732           Optimized signed division.
20734 2014-10-11 Ben Shi <powerstudio1st AT 163.com>
20736         * src/stm8/gen.c:
20737           Delete temporary code stm_sub_func().
20738         * device/stm8/_modsint_stm8.s:
20739         * device/stm8/_mulint_stm8.s:
20740         * device/stm8/_divsint_stm8.s:
20741         * device/stm8/_mullong_stm8.s:
20742           Deleted.
20743         * device/stm8/_modsint.s:
20744         * device/stm8/_mulint.s:
20745         * device/stm8/_divsint.s:
20746         * device/stm8/_mullong.s:
20747           Added.
20748         * device/stm8/Makefile.in:
20749           Use the above new added .s files.
20751 2014-10-09 Ben Shi <powerstudio1st AT 163.com>
20753         * src/stm8/gen.c:
20754           Add stm_sub_func() for future more stm8 optimized functions.
20755         * src/stm8/peeph.def:
20756           Remove redundant rules.
20758 2014-10-03 Molnar Karoly <molnarkaroly AT users.sf.net>
20760         * support/scripts/cinc2h.pl: Updated to the gputils-1.4.0 .
20762 2014-09-29 Ben Shi <powerstudio1st AT 163.com>
20764         * device/lib/stm8/_mullong_stm8.s:
20765         * device/lib/stm8/Makefile.in:
20766           stm8 optimized version of _mullong.
20767         * src/stm8/peeph.def:
20768           add new rules to utilize the above optimized functions.
20770 2014-09-25 Philipp Klaus Krause <pkk AT spth.de>
20772         * src/z80/peeph-gbz80.def:
20773           Removed or simplification peepholes.
20775 2014-09-24 Philipp Klaus Krause <pkk AT spth.de>
20777         * src/SDCCopt.c:
20778           Remove negation by inverting jump condition.
20779         * src/SDCCcse.c:
20780           Remove cast at conditional jump.
20781         * device/include/ctype.h:
20782           Simplify classification functions.
20784 2014-09-24 Maarten Brock <sourceforge.brock AT dse.nl>
20786         * src/SDCCsymt.c (mergeSpec): added check for both static and extern
20787           (checkFunction): merge static or extern and check
20788         * device/include/ctype.h: replaced macros with direct inline versions
20789         * device/lib/isdigit.c,
20790         * device/lib/islower.c,
20791         * device/lib/isupper.c: replaced definitions with extern declaration to give
20792           inline versions external linkage
20794 2014-09-22 Ben Shi <powerstudio1st AT 163.com>
20796         * device/lib/stm8/_modsint_stm8.s:
20797         * device/lib/stm8/Makefile.in:
20798           stm8 optimized version of _modsint.
20799         * src/stm8/peeph.def:
20800           add new rules to utilize the above optimized functions.
20802 2014-09-19 Ben Shi <powerstudio1st AT 163.com>
20804         * device/lib/stm8/_divsint_stm8.s:
20805         * device/lib/stm8/_mulint_stm8.s:
20806         * device/lib/stm8/Makefile.in:
20807           stm8 optimized version of div / mul.
20808         * src/stm8/peeph.def:
20809           add new rules to utilize the above optimized functions.
20811 2014-09-19 Philipp Klaus Krause <pkk AT spth.de>
20813         * src/z80/gen.c:
20814           Fixed double read from __sfr function parameter.
20816 2014-09-17 Molnar Karoly <molnarkaroly AT users.sf.net>
20818         * support/scripts/pic14-header-parser.pl:
20819           Creates two new groups: "regular", "enhanced"
20821         * support/scripts/pic16fam-h-gen.pl:
20822           Divides into more groups the 14-bit processors:
20823                 "adc", "ccp", "pwm", "i2c", "spi", "usart"
20825 2014-09-17 Molnar Karoly <molnarkaroly AT users.sf.net>
20827         * support/scripts/pic14-header-parser.pl,
20828           support/scripts/pic16-header-parser.pl:
20829           updated
20831 2014-09-15 Molnar Karoly <molnarkaroly AT users.sf.net>
20833         * device/non-free/include/pic14/*.inc,
20834           device/non-free/lib/pic14/libdev/*.c:
20835           updated
20837 2014-09-13 Ben Shi <powerstudio1st AT 163.com>
20839         * src/stm8/main.c:
20840           Make libstm8.lib is implicitly linked rather than explicitly designated.
20842 2014-09-04 Molnar Karoly <molnarkaroly AT users.sf.net>
20844         * support/scripts/mcs51-disasm.pl,
20845           support/scripts/optimize_pic16devices.pl:
20846           Updated unto the Perl 5.16 version.
20848 2014-09-04 Molnar Karoly <molnarkaroly AT users.sf.net>
20850         * support/scripts/cinc2h.pl:
20851           Updated unto the Perl 5.16 version.
20853 2014-09-03 Ben Shi <powerstudio1st AT 163.com>
20855         * sdas/asstm8/stm8mch.c:
20856           Fix the wrong code of the bit index in BTJF / BTJF.
20858 2014-09-01 Molnar Karoly <molnarkaroly AT users.sf.net>
20860         * device/include/pic14/pic14devices.txt: Minor bugfix.
20862 2014-08-30 Ben Shi <powerstudio1st AT 163.com>
20864         * support/regression/tests/gcc-torture-execute-pr28982a.c:
20865         * support/regression/tests/bug3475630.c:
20866           Enabled on the stm8 port.
20868 2014-08-29 Ben Shi <powerstudio1st AT 163.com>
20870         * support/regression/tests/gcc-torture-execute-pr47337.c:
20871           Enable this test case on the stm8 port.
20873 2014-08-20 Ben Shi <powerstudio1st AT 163.com>
20875         * device/lib/stm8/setjmp.s:
20876           Substitute _CODE to CODE to conform with stm8's code generator.
20877         * sdas/linksrc/lkmain.c:
20878           Revert to reversion 9059.
20880 2014-08-18 Ben Shi <powerstudio1st AT 163.com>
20882         * support/regression/tests/setjmp.c:
20883           Enabled for the stm8 port.
20884         * sdas/linksrc/lkmain.c:
20885           Avoid generating invalid instructions on MacOS.
20887 2014-08-17 Ben Shi <powerstudio1st AT 163.com>
20889         * support/regression/setjmp.c:
20890           Disabled for the stm8 port.
20892 2014-08-16 Ben Shi <powerstudio1st AT 163.com>
20894         * all.vcxproj:
20895         * support/scripts/sdcc.nsi:
20896           Create a new sdldstm8 on Windows.
20897         * sdas/linksrc/Makefile.in:
20898         * Makefile.in:
20899           Create a spereated sdldstm8 on Unix like.
20900         * src/stm8/main.c:
20901         * sdas/linksrc/sdld.c:
20902         * sdas/linksrc/sdld.h:
20903           Let the stm8 port use sdldstm8 instead of sdld.
20905 2014-08-12 Ben Shi <powerstudio1st AT 163.com>
20907         * sdcc/support/regression/tests/bug-2205.c:
20908         * sdcc/support/regression/tests/bug-971834.c:
20909         * sdcc/support/regression/tests/key.c:
20910           Make Small changes to fit LLVM/CLANG for host test.
20912 2014-08-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20914         * src/hc08/gen.c (pushSide, genPcall): fixed bug with pointer
20915           function call overwriting register parameter with function
20916           address. Optimized constant function pointer case.
20918 2014-08-06 Ben Shi <powerstudio1st AT 163.com>
20920         * sdas/linksrc/lkaomf51.c:
20921           Add array bound check to avoid crash.
20923 2014-07-30 Ben Shi <powerstudio1st AT 163.com>
20925         * sim/ucsim/st7.src/inst.cc:
20926           Eliminate warnings.
20927         * support/regression/tests/gcc-torture-execute-930628-1.c:
20928           Enable this case for the stm8 port.
20930 2014-07-29 Ben Shi <powerstudio1st AT 163.com>
20932         * support/regression/tests/gcc-torture-execute-20030714-1.c:
20933           Enable this case for the stm8 port.
20934         * src/stm8/gen.c:
20935           Fix bug #2285: an error in genCast().
20937 2014-07-22 Molnar Karoly <molnarkaroly AT users.sf.net>
20939         * support/scripts/optimize_pic16devices.pl,
20940           device/include/pic16/pic16devices.txt:
20941           Stronger optimization.
20943 2014-07-21 Ben Shi <powerstudio1st AT 163.com>
20945         * support/regression/tests/gcc-torture-execute-stdarg-4.c:
20946         * support/regression/tests/gcc-torture-execute-stdarg-5.c:
20947           Split the original gcc-torture-execute-stdarg-4.c to inline / non-inline.
20949 2014-07-20 Ben Shi <powerstudio1st AT 163.com>
20951         * support/regression/tests/gcc-torture-execute-stdarg-4.c:
20952         * support/regression/tests/gcc-torture-execute-loop-2c.c:
20953         * support/regression/tests/gcc-torture-execute-unroll-1.c:
20954           Add "static" to fit the C99 standard.
20956 2014-07-19 Ben Shi <powerstudio1st AT 163.com>
20958         * support/regression/tests/gcc-torture-execute-20001121-1.c:
20959           Add "static" to fit the C99 standard.
20961 2014-07-15 Ben Shi <powerstudio1st AT 163.com>
20963         * src/stm8/peep.c
20964           Make calculation of instructions' length more accurate.
20966 2014-07-14 Molnar Karoly <molnarkaroly AT users.sf.net>
20968         * device/non-free/include/pic14/pic16f1yyy.h:
20969           Added the missing DEBUG config option to the enhanced midrange MCUs.
20971 2014-07-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20973         * support/regression/tests/bug2084206.c:
20974           Enable test, since #2198 is fixed.
20975         * support/regression/tests/gcc-torture-execute-20030714-1.c:
20976           Reference bug #2285.
20978 2014-07-12 Molnar Karoly <molnarkaroly AT users.sf.net>
20980         * support/scripts/cinc2h.pl: Bugfix and update.
20982         * device/non-free/include/pic14/pic16c433.h: bugfix
20984 2014-07-12 Molnar Karoly <molnarkaroly AT users.sf.net>
20986         * device/include/pic14/pic14devices.txt,
20987           device/include/pic14/pic16regs.h,
20988           device/non-free/include/pic14/pic12lf1554.h,
20989           device/non-free/include/pic14/pic12lf1559.h,
20990           device/non-free/lib/pic14/libdev/devices.txt,
20991           device/non-free/lib/pic14/libdev/pic12lf1554.c,
20992           device/non-free/lib/pic14/libdev/pic12lf1559.c,
20993           doc/sdccman.lyx:
20994           New devices.
20996 2014-07-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20998         * src/stm8/gen.c:
20999           Remove workarounds for bug #2198.
21001 2014-07-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21003         * sdas/linksrc/lkrloc3.c (adb_hi, adb_lo, relr3),
21004           sdas/asxxsrc/asout.c (outrxb): back port some of ASxxxx 5.06 to
21005           fix bug 2198
21007 2014-07-08 Molnar Karoly <molnarkaroly AT users.sf.net>
21009         * device/non-free/include/pic14/pic1xxx.h,
21010           device/non-free/lib/pic14/libdev/pic1xxx.c,
21011           device/non-free/include/pic16/pic18fxxx.h,
21012           device/non-free/lib/pic16/libdev/pic18fxxx.c:
21013           updated
21015         * device/non-free/include/pic14/pic12f1571.h,
21016           device/non-free/include/pic14/pic12f1572.h,
21017           device/non-free/include/pic14/pic12f1612.h:
21018           Added the missing _DEBUG_ON and _DEBUG_OFF config options.
21019           (These Microchip bugs in original mpasmx includes.)
21021 2014-07-07 Ben Shi <powerstudio1st AT 163.com>
21023         * sim/ucsim/stm8.src/inst.cc:
21024           Unify all flag affection code to flag_cvh().
21026 2014-07-06 Ben Shi <powerstudio1st AT 163.com>
21028         * sim/ucsim/stm8.src/inst.cc:
21029           Merge inst_sub() to inst_sbc().
21031 2014-07-03 Ben Shi <powerstudio1st AT 163.com>
21033         * sim/ucsim/stm8.src/inst.cc:
21034           Fix potential bugs in inst_dec(), inst_inc() & inst_ldxy(): flags
21035           affection.
21036           Make inst_addw(), inst_clr() & inst_ldxydst() more understandable.
21037         * sim/ucsim/stm8.src/stm8.cc:
21038           Fix potential bugs in CALLR & CALLF: the stack saved PC value is not
21039           accurate.
21041 2014-06-30 Ben Shi <powerstudio1st AT 163.com>
21043         * sim/ucsim/stm8.src/inst.cc:
21044           Fix potential bugs in inst_adc() & inst_add() - flags affection.
21045           Fix potential bugs in inst_sll() & inst_rlc() - reg.X & reg.Y might exceed
21046           0xffff.
21047         * sim/ucsim/stm8.src/stm8.cc:
21048           Improve code quality.
21050 2014-06-25 Ben Shi <powerstudio1st AT 163.com>
21052         * sim/ucsim/stm8.src/inst.cc:
21053           Fix potential bugs of flags affection in inst_sbc() and inst_cpw().
21054         * sim/ucsim/stm8.src/stm8.cc:
21055           Fix potential bugs of flags affection in RLWA, and improve code quality of
21056           TRAP.
21058 2014-06-21 Ben Shi <powerstudio1st AT 163.com>
21060         * sim/ucsim/stm8.src/inst.cc:
21061           Fix potential bugs of flags affection in inst_addw(), inst_sub() and
21062           inst_cp().
21063         * sim/ucsim/stm8.src/stm8.cc:
21064           Fix potential bugs of flags affection in simulation of RRWA.
21066 2014-06-20 Ben Shi <powerstudio1st AT 163.com>
21068         * sim/ucsim/stm8.src/inst.cc:
21069           Fix potential bugs of flags affection in inst_addw().
21071 2014-06-17 Ben Shi <powerstudio1st AT 163.com>
21073         * sim/ucsim/stm8.src/inst.cc:
21074           Make the comment more understandable, fix potential bugs in inst_jr().
21075           (JRSGT / JRSLE / JRSGE / JRSLT)
21077 2014-06-10 Ben Shi <powerstudio1st AT 163.com>
21079         * sim/ucsim/stm8.src/inst.cc:
21080           Add indirect addressing handling in CLR, CPW & LD.
21081           Fix potential bugs in get_dest().
21083 2014-06-03 Philipp Klaus Krause <pkk AT spth.de>
21085         * sim/ucsim/stm8.src/inst.cc,
21086           support/regression/tests/gcc-torture-execute-20021120-1.c:
21087           Fix bug #2180 by applying patch #244 by Ben Shi.
21089 2014-06-02 Philipp Klaus Krause <pkk AT spth.de>
21091         * device/lib/Makefile.in:
21092           Fix non-standard end-of-line matching (makes device libraries compile on
21093           OpenBSD).
21095 2014-05-28 Philipp Klaus Krause <pkk AT spth.de>
21097         * src/stm8/gen.c:
21098           Fix a bug in code generation for right shift by applying patch #243 by Ben
21099           Shi.
21101 2014-05-25 Philipp Klaus Krause <pkk AT spth.de>
21103         * src/stm8/ralloc2.cc:
21104           Fix complement bug #2275.
21106 2014-05-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21108         * sim/ucsim/stm8.src/stm8.cc:
21109           Fix flag handling, patch by Ben Shi.
21110         * src/stm8/gen.c:
21111           Enable some shift optimizations that need the flag handling fix.
21113 2014-05-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21115         * src/stm8/ralloc2.cc:
21116           Fix detection of free regs for stm8.
21117         * src/stm8/gen.c:
21118           Enable optimizations for bitwise and.
21120 2014-05-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21122         * src/SDCCcse.c:
21123           More aggressive optimization of casts to bool following logic operations.
21125 2014-05-04 Maarten Brock <sourceforge.brock AT dse.nl>
21127         * src/mcs51/gen.c (saveRegisters, unsaveRegisters): fixed bug 1928,
21128           (genXpush): small optimization
21129         * src/mcs51/peep.c (termScanAtFunc): fixed return value,
21130           (scan4op: ret): fixed callee_saves
21131         * src/stm8/gen.c: MSVC is not C99 compliant
21132         * support/regression/tests/callee_saves.c: new, added
21134 2014-04-30 Philipp Klaus Krause <pkk AT spth.de>
21136         * src/stm8/gen.c:
21137           More efficient float negation.
21139 2014-04-30 Philipp Klaus Krause <pkk AT spth.de>
21141         * src/stm8/ralloc2.cc,
21142           src/stm8/gen.c:
21143           More flexible register allocation of operands, fixed bug in intra-register
21144           assignment.
21146 2014-04-27 Philipp Klaus Krause <pkk AT spth.de>
21148         * src/stm8/gen.c:
21149           Improve loading of literals to long globals.
21151 2014-04-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21153         * src/stm8/gen.c:
21154           Fix overoptimistic stack coalescing estimate, clamp shifts.
21156 2014-04-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21158         * src/stm8/gen.c:
21159           Improve arithmetic right shift.
21161 2014-04-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21163         * src/stm8/gen.c:
21164           Various small fixes and improvements.
21165         * src/stm8/ralloc.c
21166           Prepare for register packing for assignment.
21168 2014-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
21170         * support/scripts/z80-disasm.pl: Disassembler for the z80 family.
21172 2014-04-21 Philipp Klaus Krause <pkk AT spth.de>
21174         * src/stm8/gen.c:
21175           Improve left shift by literal, preparations for patch #234.
21176         * device/lib/_mulint.c:
21177           Speed up integer multiplication by using casts.
21179 2014-04-21 Philipp Klaus Krause <pkk AT spth.de>
21181         * src/stm8/gen.c:
21182           More efficient clearing of high bytes of x and y, more efficient right
21183           shift.
21184         * src/SDCCpeeph.c:
21185           Better immdInRange, patch by Ben Shi.
21186         * src/stm8/peeph.def:
21187           Peepholes to optimize stack adjustment.
21189 2014-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
21191         * support/scripts/pic16fam-h-gen.pl: updated
21193 2014-04-20 Philipp Klaus Krause <pkk AT spth.de>
21195         * src/stm8/gen.c,
21196           src/stm8/ralloc2.cc:
21197           Improve bitwise and, improve choice of shift location.
21199 2014-04-20 Molnar Karoly <molnarkaroly AT users.sf.net>
21201         * device/non-free/include/pic14/pic16fam.h:
21202           Updated and moved here: device/include/pic14/pic16fam.h
21204 2014-04-20 Philipp Klaus Krause <pkk AT spth.de>
21206         * src/SDCCpeeph.c,
21207           src/stm8/peeph.def:
21208           Applied a variant of patch #237 by Ben Shi, implementing RFE #400.
21209         * src/stm8/gen.c:
21210           Use mov for POINTER_SET where it makes sense.
21212 2014-04-16 Molnar Karoly <molnarkaroly AT users.sf.net>
21214         * support/scripts/cinc2h.pl,
21215           support/scripts/mcs51-disasm.pl,
21216           support/scripts/optimize_pic16devices.pl,
21217           support/scripts/pic14-header-parser.pl,
21218           support/scripts/pic16-header-parser.pl:
21219           Updated the copyright date.
21221 2014-04-16 Molnar Karoly <molnarkaroly AT users.sf.net>
21223         * device/include/pic14/pic14devices.txt,
21224           device/include/pic14/pic16regs.h,
21225           device/non-free/include/pic14/pic12f1571.h,
21226           device/non-free/include/pic14/pic12f1572.h,
21227           device/non-free/include/pic14/pic12f1612.h,
21228           device/non-free/include/pic14/pic16f1613.h,
21229           device/non-free/include/pic14/pic16f1703.h,
21230           device/non-free/include/pic14/pic16f1705.h,
21231           device/non-free/include/pic14/pic16f1707.h,
21232           device/non-free/include/pic14/pic16f1709.h,
21233           device/non-free/include/pic14/pic16f1713.h,
21234           device/non-free/include/pic14/pic16f1716.h,
21235           device/non-free/include/pic14/pic16f1717.h,
21236           device/non-free/include/pic14/pic16f1718.h,
21237           device/non-free/include/pic14/pic16f1719.h,
21238           device/non-free/lib/pic14/libdev/devices.txt,
21239           device/non-free/lib/pic14/libdev/pic12f1571.c,
21240           device/non-free/lib/pic14/libdev/pic12f1572.c,
21241           device/non-free/lib/pic14/libdev/pic12f1612.c,
21242           device/non-free/lib/pic14/libdev/pic16f1613.c,
21243           device/non-free/lib/pic14/libdev/pic16f1703.c,
21244           device/non-free/lib/pic14/libdev/pic16f1705.c,
21245           device/non-free/lib/pic14/libdev/pic16f1707.c,
21246           device/non-free/lib/pic14/libdev/pic16f1709.c,
21247           device/non-free/lib/pic14/libdev/pic16f1713.c,
21248           device/non-free/lib/pic14/libdev/pic16f1716.c,
21249           device/non-free/lib/pic14/libdev/pic16f1717.c,
21250           device/non-free/lib/pic14/libdev/pic16f1718.c,
21251           device/non-free/lib/pic14/libdev/pic16f1719.c,
21252           doc/sdccman.lyx:
21253           New devices.
21255 2014-04-13 Philipp Klaus Krause <pkk AT spth.de>
21257         * src/stm8/gen.c:
21258           Fix for 32-bit host systems (bug #2267).
21260 2014-04-12 Philipp Klaus Krause <pkk AT spth.de>
21262         * device/lib/*/Makefile.in,
21263           device/lib/*/*.s,
21264           src/z80/main.c:
21265           Do not mangle support function names. Implements RFE #405.
21266         * src/stm8/gen.c:
21267           More efficient comparisons, a modified version of patch #232 by Ben Shi.
21268         * sdas/asstm8/stm8mch.c:
21269           Fix bit handling instructions, patch #239 by Pascal S.
21271 2014-04-11 Maarten Brock <sourceforge.brock AT dse.nl>
21273         * Small Device C Compiler 3.4.0 released
21274         * .version, doc/sdccman.lyx: changed sdcc version to 3.4.1
21276 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21278         * device/lib/pic16/debug/Makefile.in: regenerated
21280 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21282         * Makefile.common.in,
21283         * Makefile.in: manual edit
21285 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21287         * configure
21288         * debugger/mcs51/aclocal.m4
21289         * debugger/mcs51/configure
21290         * device/lib/pic14/aclocal.m4
21291         * device/lib/pic14/configure
21292         * device/lib/pic14/depcomp
21293         * device/lib/pic14/libm/Makefile.in
21294         * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in
21295         * device/lib/pic14/libsdcc/enhanced/Makefile.in
21296         * device/lib/pic14/libsdcc/regular/Makefile.in
21297         * device/lib/pic14/Makefile.in
21298         * device/lib/pic16/aclocal.m4
21299         * device/lib/pic16/configure
21300         * device/lib/pic16/depcomp
21301         * device/lib/pic16/install-sh
21302         * device/lib/pic16/libc/Makefile.in
21303         * device/lib/pic16/libio/Makefile.in
21304         * device/lib/pic16/libm/Makefile.in
21305         * device/lib/pic16/libsdcc/Makefile.in
21306         * device/lib/pic16/Makefile.in
21307         * device/lib/pic16/missing
21308         * device/lib/pic16/startup/Makefile.in
21309         * device/non-free/lib/pic14/configure
21310         * device/non-free/lib/pic16/aclocal.m4
21311         * device/non-free/lib/pic16/configure
21312         * device/non-free/lib/pic16/depcomp
21313         * device/non-free/lib/pic16/install-sh
21314         * device/non-free/lib/pic16/libdev/Makefile.in
21315         * device/non-free/lib/pic16/Makefile.in
21316         * device/non-free/lib/pic16/missing
21317         * sdccconf_in.h
21318         * sim/ucsim/aclocal.m4
21319         * sim/ucsim/configure
21320         * sim/ucsim/ltmain.sh
21321         * support/cpp/configure
21322         * support/packihx/configure: regenerated
21324 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21326         * configure.in,
21327         * Makefile.in: manual edit to support option --disable-non-free
21329 2014-04-01 Maarten Brock <sourceforge.brock AT dse.nl>
21331         * doc/INSTALL.txt,
21332         * support/scripts/sdcc.nsi: added dedication to Borut Razem
21333         * doc/README.txt: added STM8 target support
21335 2014-03-31 Philipp Klaus Krause <pkk AT spth.de>
21337         * Merged sdcc-stm8 branch into trunk.
21339 2014-03-29 Philipp Klaus Krause <pkk AT spth.de>
21341         * src/stm8/peeph.def:
21342           Patch #233 by Pascal S, and further peepholes for improving io access.
21344 2014-03-29 Philipp Klaus Krause <pkk AT spth.de>
21346         * src/stm8/gen.c,
21347           support/regression/tests/patch-235.c:
21348           Fix a bug in long and long long right shift on stm8.
21350 2014-03-28 Philipp Klaus Krause <pkk AT spth.de>
21352         * src/stm8/gen.c:
21353           Improve ifx code generation.
21355 2014-03-28 Philipp Klaus Krause <pkk AT spth.de>
21357         * src/stm8/gen.c: Comment for range error check in aopIsLitVal(),
21358           improve range checks in snprintf() calls,
21359           prepare for refactored version of patch #232.
21361 2014-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
21363         * .version,
21364         * doc/INSTALL.txt,
21365         * doc/sdccman.lyx: version 3.4.0
21367 2014-03-21 Philipp Klaus Krause <pkk AT spth.de>
21369         * src/stm8/gen.c: Applied patch #227 by Ben Shi to fix jumping on float in y
21370           and to speed up jumping on byte in yl.
21371         * device/lib/z80/setjmp.s:
21372           Slightly more efficient longjmp().
21373         * device/lib/stm8/setjmp.s,
21374           support/regression/tests/setjmp.c:
21375           Implement setjmp() / longjmp() for stm8.
21376         * src/z80/ralloc2.cc: Allow use of hl in 16-bit additions with global
21377           variables as long as de or bc is free.
21379 2014-03-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21381         * doc/sdccman.lyx:
21382           Fix example in documentation on named address spaces in ROM.
21384 2014-03-09 Molnar Karoly <molnarkaroly AT users.sf.net>
21386         * device/non-free/include/pic14/pic*.h,
21387           device/non-free/include/pic16/pic18f*.h,
21388           device/non-free/lib/pic14/libdev/pic*.c,
21389           device/non-free/lib/pic16/libdev/pic18f*.c:
21390           Regenerate the DEVICE.[ch] files with the cinc2h.pl program.
21392 2014-03-03 Maarten Brock <sourceforge.brock AT dse.nl>
21394         * src/SDCCpeeph.c (notVolatileVariable): fixed strchr params
21396 2014-03-01 Maarten Brock <sourceforge.brock AT dse.nl>
21398         * src/stm8/gen.c: retry to revert previous two changes
21400 2014-02-28 Maarten Brock <sourceforge.brock AT dse.nl>
21402         * src/stm8/gen.c: reverted previous two changes (not committed)
21403         * .version,
21404         * doc/INSTALL.txt,
21405         * doc/sdccman.lyx: version 3.4.0 rc1
21406         * sdcc.spec: version 3.4.0
21408 2014-02-27 Philipp Klaus Krause <pkk AT spth.de>
21410         * src/stm8/gen.c:
21411           Simplify and improve ifx code generation.
21413 2014-02-27 Philipp Klaus Krause <pkk AT spth.de>
21415         * src/stm8/gen.c: Applied patch #227 by Ben Shi to fix jumping on float in y
21416           and to speed up jumping on byte in yl.
21418 2014-02-23 Philipp Klaus Krause <pkk AT spth.de>
21420         * src/stm8/gen.c: Applied patch #223 by Ben Shi to improve code size for
21421           signed bit-fields on stm8.
21422         * src/stm8/main.c:
21423           Applied patch #225 by Pascal S to enable naked functions for stm8.
21425 2014-02-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21427         * src/stm8/peeph.def: Applied patch #222 by Ben Shi (new peephole to make
21428           shifts slightly more efficient).
21429         * src/stm8/gen.c:
21430           Applied patch #221 by Ben Shi (fix some bugs in shifts).
21432 2014-02-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21434         * src/SDCCicode.c (geniCodeDivision): Fixed bug 2254
21436 2014-02-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21438         * src/stm8/gen.c:
21439           Fix condition for shifting stack operands in a.
21441 2014-02-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21443         * src/stm8/gen.c:
21444           Handle signed and unsigned 8-bit operands the same in destructive ifx and.
21446 2014-02-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21448         * support/regression/tests/bug-2253.c: reduce array size for
21449           ports that do not support large local variables
21451 2014-02-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21453         * src/stm8/gen.c,
21454           support/regression/tests/bug-2253.c:
21455           Fix and improve division and multiplication, includes fix for #2253.
21457 2014-02-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21459         * src/stm8/gen.c,
21460           support/regression/tests/bug-2252.c:
21461           Fix bug #2252.
21462         * src/SDCCpeeph.c:
21463           Fix notVolatile() for stm8.
21464         * src/stm8/peeph.def:
21465           Add some peephole rules to eliminate unnecessary loads.
21467 2014-02-09 Philipp Klaus Krause <pkk AT spth.de>
21469         * src/stm8/gen.c
21470           Slightly more efficient complement.
21472 2014-02-08 Philipp Klaus Krause <pkk AT spth.de>
21474         * src/stm8/gen.c: Fix jump on condition that is stored in register y in
21475           reverse order (bug #2251).
21477 2014-02-02 Philipp Klaus Krause <pkk AT spth.de>
21479         * sdas/asstm8/stm8mch.c,
21480           src/stm8/gen.c:
21481           Apply patch #215 by Ben Shi to fix bug #2227.
21482         * src/port.h,
21483           sdas/asxxsrc/asmain.c:
21484           Fix >= comparisons.
21486 2014-01-12 Philipp Klaus Krause <pkk AT spth.de>
21488         * sdas/asstm8/stm8pst.c,
21489           src/stm8/main.c:
21490           Enable .optsdcc for stm8.
21492 2014-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
21494         * src/SDCCast.c (ast_print): fixed GOTO, warn for undecorated
21496 2014-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
21498         * device/lib/_gptrget.c,
21499         * device/lib/_gptrput.c,
21500         * src/ds390/main.c,
21501         * src/ds390/gen.c: renamed _ap to acc1, fixed bug 1896
21502         * support/regression/tests/gcc-torture-execute-loop-5.c: enabled for ds390
21503         * sdas/asxxsrc/aslex.c (nxtline): fixed bug 2166 and 2206
21504         * src/SDCClospre.hpp,
21505         * src/SDCCralloc.hpp: fixed MSVC warnings
21507 2014-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
21509         * doc/sdccman.lyx: applied patch 62
21510         * sdas/linksrc/lkarea.c (lnksect): fixed bug 1805
21511         * sdas/linksrc/lkmain.c (Areas51): use only for mcs51
21512         * src/hc08/main.c: mark XINIT as (CODE)
21514 2013-12-30 Philipp Klaus Krause <pkk AT spth.de>
21516         * src/hc08/ralloc2.cc,
21517           src/stm8/gen.c,
21518           src/stm8/ralloc2.cc:
21519           Remove some GETHBIT leftovers.
21521 2013-12-30 Maarten Brock <sourceforge.brock AT dse.nl>
21523         * src/mcs51/gen.c (genGetHbit): removed
21524         * src/mcs51/main.c (hasExtBitOp): removed GETHBIT
21525         * src/SDCCast.c (optimizeGetByte, optimizeGetWord): do not use GETYBTE or
21526           GETWORD for byte or word sources
21527           (createFunction): allow xstack==NULL
21528         * src/SDCCmem.c (redoStackOffsets): allow xstack==NULL
21529         * src/SDCCerr.c (W_CONST_TOO_LARGE): fixed format bug
21530         * src/SDCCerr.h: cosmetics
21531         * src/SDCCsymt.c (mergeSpec, checkSClass): fixed bug 2068, loss of register
21532           storage class
21534 2013-12-29 Philipp Klaus Krause <pkk AT spth.de>
21536         * device/lib/is*.c
21537           Revert and redo commit #8912.
21539 2013-12-27 Maarten Brock <sourceforge.brock AT dse.nl>
21541         * src/SDCCglue.c (glue): added .optsdcc --all-callee-saves, fixed bug 2090
21542         * src/SDCCmain.c (preProcess): added -D__SDCC_ALL_CALLEE_SAVES
21543         * src/SDCCglobl.h: removed xa51 MODEL_PAGE0
21544         * doc/sdccman.lyx: documented predefined macro
21546 2013-12-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21548         * support/scripts/sdcc.nsi: copy either sjlj or seh support dll
21550 2013-12-25 Maarten Brock <sourceforge.brock AT dse.nl>
21552         * device/lib/abs.c,         device/lib/acosf.c,         device/lib/asincosf.c,
21553         * device/lib/asinf.c,       device/lib/atan2f.c,        device/lib/atanf.c,
21554         * device/lib/ceilf.c,       device/lib/cosf.c,          device/lib/coshf.c,
21555         * device/lib/cotf.c,        device/lib/expf.c,          device/lib/fabsf.c,
21556         * device/lib/floorf.c,      device/lib/frexpf.c,        device/lib/labs.c,
21557         * device/lib/ldexpf.c,      device/lib/log10f.c,        device/lib/logf.c,
21558         * device/lib/modff.c,       device/lib/powf.c,          device/lib/rand.c,
21559         * device/lib/sincosf.c,     device/lib/sincoshf.c,      device/lib/sinf.c,
21560         * device/lib/sinhf.c,       device/lib/sqrtf.c,         device/lib/tancotf.c,
21561         * device/lib/tanf.c,        device/lib/tanhf.c,
21562         * device/include/math.h: removed const from arguments
21564         * device/lib/pic14/libm/acosf.c,    device/lib/pic14/libm/asincosf.c,
21565         * device/lib/pic14/libm/asinf.c,    device/lib/pic14/libm/atan2f.c,
21566         * device/lib/pic14/libm/atanf.c,    device/lib/pic14/libm/ceilf.c,
21567         * device/lib/pic14/libm/cosf.c,     device/lib/pic14/libm/coshf.c,
21568         * device/lib/pic14/libm/cotf.c,     device/lib/pic14/libm/errno.c,
21569         * device/lib/pic14/libm/expf.c,     device/lib/pic14/libm/fabsf.c,
21570         * device/lib/pic14/libm/floorf.c,   device/lib/pic14/libm/frexpf.c,
21571         * device/lib/pic14/libm/ldexpf.c,   device/lib/pic14/libm/log10f.c,
21572         * device/lib/pic14/libm/logf.c,     device/lib/pic14/libm/modff.c,
21573         * device/lib/pic14/libm/powf.c,     device/lib/pic14/libm/sincosf.c,
21574         * device/lib/pic14/libm/sincoshf.c, device/lib/pic14/libm/sinf.c,
21575         * device/lib/pic14/libm/sinhf.c,    device/lib/pic14/libm/sqrtf.c,
21576         * device/lib/pic14/libm/tancotf.c,  device/lib/pic14/libm/tanf.c,
21577         * device/lib/pic14/libm/tanhf.c,
21578         * device/include/pic14/math.h: removed const from arguments
21580         * device/lib/pic16/libm/acosf.c,    device/lib/pic16/libm/asincosf.c,
21581         * device/lib/pic16/libm/asinf.c,    device/lib/pic16/libm/atan2f.c,
21582         * device/lib/pic16/libm/atanf.c,    device/lib/pic16/libm/ceilf.c,
21583         * device/lib/pic16/libm/cosf.c,     device/lib/pic16/libm/coshf.c,
21584         * device/lib/pic16/libm/cotf.c,     device/lib/pic16/libm/errno.c,
21585         * device/lib/pic16/libm/expf.c,     device/lib/pic16/libm/fabsf.c,
21586         * device/lib/pic16/libm/floorf.c,   device/lib/pic16/libm/frexpf.c,
21587         * device/lib/pic16/libm/ldexpf.c,   device/lib/pic16/libm/log10f.c,
21588         * device/lib/pic16/libm/logf.c,     device/lib/pic16/libm/modff.c,
21589         * device/lib/pic16/libm/powf.c,     device/lib/pic16/libm/sincosf.c,
21590         * device/lib/pic16/libm/sincoshf.c, device/lib/pic16/libm/sinf.c,
21591         * device/lib/pic16/libm/sinhf.c,    device/lib/pic16/libm/sqrtf.c,
21592         * device/lib/pic16/libm/tancotf.c,  device/lib/pic16/libm/tanf.c,
21593         * device/lib/pic16/libm/tanhf.c,
21594         * device/include/pic16/math.h: removed const from arguments
21596         * device/lib/_memchr.c,     device/lib/_memcmp.c,       device/lib/_memcpy.c,
21597         * device/lib/_memmove.c,    device/lib/_memset.c,       device/lib/_strcat.c,
21598         * device/lib/_strchr.c,     device/lib/_strcmp.c,       device/lib/_strcpy.c,
21599         * device/lib/_strcspn.c,    device/lib/_strlen.c,       device/lib/_strncat.c,
21600         * device/lib/_strncmp.c,    device/lib/_strncpy.c,      device/lib/_strpbrk.c,
21601         * device/lib/_strrchr.c,    device/lib/_strspn.c,       device/lib/_strstr.c,
21602         * device/lib/_strtok.c,
21603         * device/include/string.h: added const for const pointer arguments
21605         * device/lib/pic16/libc/string/memchr.c,
21606         * device/lib/pic16/libc/string/memcmp.c,
21607         * device/lib/pic16/libc/string/memcpy.c,
21608         * device/lib/pic16/libc/string/memmove.c,
21609         * device/include/pic16/string.h: added const for const pointer arguments
21611         * device/lib/_setjmp.c: small optimization
21612         * sdas/linksrc/lkarea.c (lnksect2): fixed s_XISEG calculation
21613         * sdas/linksrc/lkmem.c: cosmetics
21614         * src/SDCCmain.c: place xstack_loc at same address as xdata_loc by default
21615         * src/SDCCsymt.c (printFromToType): print in one go for make -j output,
21616           (compareFuncType): fixed bug 2134
21617         * sdas/astlcs90/t90mch.c (machine, 16bit indirect op): fixed warning
21618         * support/cpp/libiberty/md5.c: synced with support/sdbinutils/libiberty/md5.c
21620 2013-12-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21622         * device/lib/tlcs90/Makefile.in: fix assembler level .include
21623           when not building within source tree
21624         * sim/ucsim/utils.cc: properly enable vasprintf() declaration
21626 2013-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
21628         * src/SDCCval.c (valForStructElem): fixed bug 2122
21630 2013-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
21632         * src/SDCCmain.c (setDefaultOptions): start xdata at 1 by default, fixes bug
21633           2173
21634         * src/SDCCast.c (decorateType, RETURN): error on returning void expression
21635           when not using sdcc extensions
21636         * src/stm8/gen.c (genReturn): accept returning void, fixes bug 2158
21637         * support/regression/tests/gcc-torture-execute-20000314-3.c: reintroduced
21639 2013-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
21641         * src/mcs51/gen.c (aopGet): fixed for remat non-generic pointers,
21642           (genPointerGet, genPointerSet): remat all cast remat pointers
21643         * src/mcs51/ralloc.c (packRegisters): remat all cast of remat ptr
21644         * src/SDCCast.c (decorateType, CAST): fix bug 2133, array==pointer
21645         * src/SDCCmain.c: cosmetics
21646         * src/SDCCsymt.h: reordered DECLARATOR_TYPE
21647         * support/regression/tests/bug-2133.c: new, added
21648         * support/regression/tests/gcc-torture-execute-20021010-2.c,
21649         * support/regression/tests/gcc-torture-execute-20041112-1.c,
21650         * support/regression/tests/gcc-torture-execute-960116-1.c,
21651         * support/regression/tests/staticinit.c: fixed warnings
21653 2013-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
21655         * src/SDCCerr.c,
21656         * src/SDCCerr.h: added W_UNRECOGNIZED_ASM
21657         * src/SDCCglobl.h,
21658         * src/z80/gen.c: cosmetics
21659         * src/SDCCpeeph.c (StrStr): added
21660           (pcDistance): largest instruction on any target is 4 bytes?
21661         * src/z80/peep.c (ISINST): use STRNCASECMP,
21662           (argCont): use StrStr,
21663           (z80instructionSize): use STRNCASECMP, W_UNRECOGNIZED_ASM,
21664            fixed some bugs, return 999 when unrecognized
21665         * support/regression/tests/bug-2222.c: removed memset and un
21666         * support/regression/tests/gcc-torture-execute-20040313-1.c: enabled for all
21667           targets with reduced footprint
21669 2013-12-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21671         * src/stm8/gen.c:
21672           Document subw uses that can be enabled once bug #2227 is fixed.
21673         * device/include/ctype.h:
21674           Provide macros that use inline functions to improve efficiency of some
21675           common functions.
21677 2013-12-18 Philipp Klaus Krause <pkk AT spth.de>
21679         * src/stm8/gen.c,
21680           support/regression/tests/float_single.c:
21681           Fix float comparison, bug #2170.
21682         * support/regression/tests/gcc-torture-execute-20050826-1.c:
21683           Use smaller array for stm8.
21685 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21687         * support/regression/tests/gcc-torture-execute-20040313-1.c:
21688           Enabled test.
21690 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21692         * device/include/ctype.h,
21693           device/include/stdio.h,
21694           device/lib/incl.mk,
21695           device/lib/_is*.c,
21696           device/lib/is*.c,
21697           device/lib/tolower.c,
21698           device/lib/toupper.c,
21699           support/regression/tests/ctype.c:
21700           Fix ctype.h and anything in there.
21702 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21704         * device/lib/z80/crt0.s,
21705           device/lib/z180/crt0.s,
21706           device/lib/r3ka/crt0.s,
21707           device/lib/r2k/crt0.s,
21708           device/lib/gbz80/crt0.s:
21709           Fix bug #2153.
21711 2013-12-18 Maarten Brock <sourceforge.brock AT dse.nl>
21713         * src/SDCCast.c (stringToSymbol, createIf): fixed bug 2163
21714         * support/regression/tests/gcc-torture-execute-string-opt-5.c: enabled for
21715           mcs51 with smaller buffer
21716         * support/regression/tests/bug-2163.c: new, added
21718 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21720         * device/lib/tlcs90/t90regs.s,
21721           device/lib/tlcs90/crt0.s:
21722           crt0 for tlcs90.
21724 2013-12-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21726         * src/stm8/peep.c:
21727           Fix bug #2182.
21728         * src/SDCCralloc.hpp:
21729           Enable warning for non-connected live ranges for hc08 and s08.
21731 2013-12-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21733         * src/z80/gen.c: Fix cost for built-in strncpy().
21735 2013-12-16 Maarten Brock <sourceforge.brock AT dse.nl>
21737         * src/SDCCglue.c (glue): fixed bug 2212
21738         * src/z80/gen.c (genBuiltInStrncpy): fixed bug 2231
21739         * support/regression/tests/bug-2231.c: new, added
21741 2013-12-15 Maarten Brock <sourceforge.brock AT dse.nl>
21743         * src/SDCCicode.c (newiTempOperand): fixed bug 2235
21744         * support/regression/tests/bug-2235.c: new, added
21745         * src/SDCCptropt.c (ptrPseudoSymSafe): fixed bug 2216
21746         * support/regression/tests/bug-2216.c: new, added
21748 2013-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
21750         * .version, doc/sdccman.lyx: bumped version to 3.3.2
21751         * src/SDCCast.c (decorateType, NOT): fixed bug 2232
21752         * src/SDCCmain.c (printVersionInfo): mention GPL
21753         * support/regression/tests/bool.c: fixed warning
21755 2013-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
21757         * src/mcs51/gen.c (outBitC, genIfx): fixed both parts of bug 2233
21758         * support/regression/tests/bool.c: added test
21760 2013-12-02 Philipp Klaus Krause <pkk AT spth.de>
21762         * src/z80/ralloc2.cc:
21763           Fix handling of IY during accesses to global variables.
21765 2013-11-23 Philipp Klaus Krause <pkk AT spth.de>
21767         * src/SDCClospre.hpp:
21768           Fix use flag initialization in lospre edge splitting.
21769         * src/SDCCglue.c:
21770           Add comment on bug #2089 that allocates strings twice.
21772 2013-11-16 Maarten Brock <sourceforge.brock AT dse.nl>
21774         * device/lib/_divulong.c: cosmetic, use y0
21775         * device/lib/_fsadd.c: cosmetic
21776         * device/lib/clean.mk: clean pic14 and tlcs90
21777         * device/lib/ds390/tinibios.c (_sdcc_external_startup): do not change stack
21778         * device/lib/Makefile.in: use TAB's
21779         * device/non-free/lib/clean.mk: clean pic14
21780         * device/non-free/lib/pic14/Makefile.in,
21781         * sdas/as6808/clean.mk,
21782         * sdas/as8051/clean.mk,
21783         * sdas/as8xcxxx/clean.mk,
21784         * sdas/asgb/clean.mk,
21785         * sdas/asrab/clean.mk,
21786         * sdas/asstm8/clean.mk,
21787         * sdas/astlcs90/clean.mk,
21788         * sdas/asz80/clean.mk,
21789         * support/sdbinutils/Makefile.in: prevent warnings
21790         * sim/ucsim/cmd.src/clean.mk: clean cmdpars.* & cmdlex.*
21791         * src/clean.mk: clean pic14 and stm8
21792         * src/common.h: cosmetic
21793         * src/ds390/main.c (_ds390_genAssemblerPreamble): added dpl, dph, acon,
21794           (_ds390_genIVT): change addressing mode and stack at __reset_vect,
21795           (_ds390_genInitStartup): no need for 10bit stack init here
21796         * src/port.h: added rtrackUpdate
21797         * src/SDCCgen.c (emit_raw): try to track constant register contents
21798         * src/ds390/main.c,
21799         * src/hc08/main.c,
21800         * src/pic14/main.c,
21801         * src/pic16/main.c,
21802         * src/stm8/main.c,
21803         * src/z80/main.c (*_port): no register tracking
21804         * src/mcs51/rtrack.h: renamed rtrackUpdate to _mcs51_rtrackUpdate
21805         * src/mcs51/rtrack.c: enabled by default,
21806           implemented suggested removals
21807         * src/mcs51/main.c: use _mcs51_rtrackUpdate
21808         * src/mcs51/gen.c (genSend, genPagedPointerGet): fixed bugs obscured by
21809           peephole rules,
21810           (genLeftShiftLiteral): disabled assert to fix bug 2224
21811         * src/z80/z80.vcxproj,
21812         * src/z80/z80.vcxproj.filters: added peeph-tlcs90.def
21813         * support/regression/Makefile.in: clean host/spec.mk
21814         * support/regression/tests/bug-2222.c: enabled test for mcs51
21816 2013-11-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21818         * support/regression/tests/bug-2222.c:
21819           Do not try to execute code that dereferences 0 pointer.
21821 2013-11-11 Raphael Neider <rneider AT web.de>
21823         * src/pic14/main.c,
21824           src/pic14/main.h,
21825           src/pic16/device.h,
21826           src/pic16/main.c:
21827           add warning if --use-non-free is *not* given while compiling
21828           for PIC14 or PIC16 devices; the warning can be disabled by
21829           either passing --use-non-free (usually recommended) or
21830           by passing --no-warn-non-free (usually not recommended)
21832         * device/lib/pic14/Makefile.common,
21833           device/lib/pic16/Makefile.common,
21834           device/non-free/lib/pic14/Makefile.common.in,
21835           device/non-free/lib/pic16/Makefile.common,
21836           support/regression/ports/pic14/spec.mk,
21837           support/regression/ports/pic16/spec.mk:
21838           pass --no-warn-non-free to avoid new warnings
21840         * device/lib/pic14/Makefile.in,
21841           device/lib/pic14/aclocal.m4,
21842           device/lib/pic14/configure,
21843           device/lib/pic14/libm/Makefile.in,
21844           device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
21845           device/lib/pic14/libsdcc/enhanced/Makefile.in,
21846           device/lib/pic14/libsdcc/regular/Makefile.in,
21847           device/lib/pic16/Makefile.in,
21848           device/lib/pic16/aclocal.m4,
21849           device/lib/pic16/configure,
21850           device/lib/pic16/debug/Makefile.in,
21851           device/lib/pic16/libc/Makefile.in,
21852           device/lib/pic16/libio/Makefile.in,
21853           device/lib/pic16/libm/Makefile.in,
21854           device/lib/pic16/libsdcc/Makefile.in,
21855           device/lib/pic16/startup/Makefile.in,
21856           device/non-free/lib/pic16/Makefile.in,
21857           device/non-free/lib/pic16/aclocal.m4,
21858           device/non-free/lib/pic16/configure,
21859           device/non-free/lib/pic16/libdev/Makefile.in:
21860           regenerated
21862 2013-09-30 Philipp Klaus Krause <pkk AT spth.de>
21864         * device/lib/tlcs90/stubs.s,
21865           device/lib/tlcs90/Makefile.in:
21866           TLCS-90 library.
21868 2013-09-29 Philipp Klaus Krause <pkk AT spth.de>
21870         * device/include/asm/tlcs90,
21871           device/include/math.h,
21872           device/include/sdcc-lib.h,
21873           device/include/stdarg.h,
21874           device/lib/tlcs90/Makefile.in,
21875           device/lib/tlcs90/divmixed.s,
21876           device/lib/tlcs90/modmixed.s,
21877           src/z80/gen.c:
21878           TLCS-90 library.
21880 2013-09-28 Philipp Klaus Krause <pkk AT spth.de>
21882         * src/z80/peeph-gbz80.def:
21883           Remove broken peephole rule.
21885 2013-09-27 Philipp Klaus Krause <pkk AT spth.de>
21887         * sdas/astlcs90/t90mch.c:
21888           Fix handling of 8-bit immediates, patch by Rainer Keuchel.
21889         * src/stm8/peeph.def:
21890           More flexible unreachable jump elimination.
21891         * configure.in,
21892           device/lib/Makefile.in,
21893           device/lib/tlcs90,
21894           src/z80/main.c:
21895           Library for TLCS-90.
21896         * src/stm8/gen.c:
21897           Fix comparisons with operand in y, fix offset in wide pointer read when
21898           optimizing for code size, fix and improve stack adjustment.
21899         * src/z80/peeph-tlcs90.def,
21900           src/z80/main.c,
21901           src/z80/peep.c:
21902           Peephole optimization for TLCS-90.
21904 2013-09-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21906         * src/SDCCicode.c (operandFromSymbol): don't allocate register
21907           equivalents for symbols that can't fit in HC08/S08 registers.
21908         * src/SDCClrange.c (visit): remove TARGET_HC08_LIKE exception.
21910 2013-09-26 Philipp Klaus Krause <pkk AT spth.de>
21912         * src/stm8/main.c,
21913           src/stm8/peep.c:
21914           notUsedFrom() for stm8.
21915         * src/z80/peeph-r2k.def,
21916           src/z80/peeph-z80.def,
21917           support/regression/tests/bug-2228.c:
21918           Fix bug #2228.
21919         * sim/ucsim/stm8.src/inst.cc:
21920           Fix type name.
21921         * support/regression/tests/bug-2222.c:
21922           Fix use of uninitialized memory.
21924 2013-09-25 Philipp Klaus Krause <pkk AT spth.de>
21926         * src/z80/gen.c:
21927           Improve handling of global variables in addition (and prepare for
21928           subtraction).
21929         * sim/ucsim/stm8.src/inst.cc:
21930           Code cleanup.
21932 2013-09-24 Maarten Brock <sourceforge.brock AT dse.nl>
21934         * device/include/mcs51/reg51.h: fall back to 8052.h
21935         * doc/sdccman.lyx: pragma exclude bits
21936         * src/mcs51/gen.c (genFunction, genEndFunction): applied patch 193 for
21937           pragma exclude bits
21938         * src/port.h: maxextalign warning fixed
21939         * src/SDCCglobl.h: define true and false for MSVC
21940         * src/stm8/gen.c (genCmp): fixed warning
21941         * src/stm8/ralloc2.cc (Ainst_ok): fixed warning
21943 2013-09-24 Philipp Klaus Krause <pkk AT spth.de>
21945         * src/SDCCralloc.hpp:
21946           Enable warning for non-connected live-ranges.
21948 2013-09-24 Philipp Klaus Krause <pkk AT spth.de>
21950         * src/z80/gen.c,
21951           src/stm8/gen.c,
21952           support/regression/tests/bug-2222.c:
21953           Fix bugs #2222, 2223.
21955 2013-09-24 Philipp Klaus Krause <pkk AT spth.de>
21957         * src/SDCCralloc.hpp,
21958           src/SDCClrange.c:
21959           Check more carefully for undead hiding among the living variables.
21961 2013-09-23 Philipp Klaus Krause <pkk AT spth.de>
21963         * sdas/astlcs90,
21964           Makefile.common.in,
21965           Makefile.in,
21966           configure.in:
21967           Integrate Rainer Keuchel's TLCS-90 assembler.
21969 2013-09-23 Philipp Klaus Krause <pkk AT spth.de>
21971         * src/stm8/peeph.def:
21972           Remove redundant jumps.
21974 2013-09-22 Borut Razem <borut.razem AT gmail.com>
21976         * device/non-free/lib/pic14/configure.in,
21977           device/non-free/lib/pic14/configure,
21978           device/non-free/lib/pic16/supported-devices.ac,
21979           device/non-free/lib/pic16/configure,
21980           device/lib/pic16/configure: fixed bash dependencies
21982 2013-09-21 Philipp Klaus Krause <pkk AT spth.de>
21984         * src/stm8/gen.c:
21985           More efficient stack adjustment when optimizing for code size.
21987 2013-09-21 Maarten Brock <sourceforge.brock AT dse.nl>
21989         * src/mcs51/gen.c (genEndFunction): applied patch 207 to fix bug 2221,
21990           Thanks Alex Burton!
21991         * support/regression/tests/bug-2221.c: new, added
21993 2013-09-20 Philipp Klaus Krause <pkk AT spth.de>
21995         * src/stm8/gen.c:
21996           Refactor testing for literal bytes, more efficient cast from unsigned.
21998 2013-09-20 Borut Razem <borut.razem AT gmail.com>
22000         * device/non-free/lib/pic14/configure.in,
22001           device/non-free/lib/pic14/configure,
22002           device/non-free/lib/pic16/supported-devices.ac,
22003           device/non-free/lib/pic16/configure,
22004           device/lib/pic16/configure:
22005           fixed bug #2220 Detection of 16 bit pic devices supported by gputils
22006           is not working correctly on Cygwin environment
22008 2013-09-19 Molnar Karoly <molnarkaroly AT users.sf.net>
22010         * device/include/pic14/pic14devices.txt,
22011           device/include/pic14/pic16regs.h,
22012           device/non-free/include/pic14/pic16f1704.h,
22013           device/non-free/include/pic14/pic16f1708.h,
22014           device/non-free/include/pic14/pic16lf1704.h,
22015           device/non-free/include/pic14/pic16lf1708.h,
22016           device/non-free/lib/pic14/libdev/devices.txt,
22017           device/non-free/lib/pic14/libdev/pic16f1704.c,
22018           device/non-free/lib/pic14/libdev/pic16f1708.c,
22019           device/non-free/lib/pic14/libdev/pic16lf1704.c,
22020           device/non-free/lib/pic14/libdev/pic16lf1708.c,
22021           doc/sdccman.lyx:
22022           New devices.
22024 2013-09-19 Philipp Klaus Krause <pkk AT spth.de>
22026         * src/z80/gen.c:
22027           Enable some Rabbit optimizations for the TLCS-90.
22028         * src/SDCCtree_dec.hpp,
22029           src/SDCCralloc.hpp,
22030           src/SDCCnaddr.hpp,
22031           src/SDCClospre.hpp:
22032           Reduce memory footprint in lospre and named address spaces, prepare for
22033           reducing memory footprint in register allocation.
22035 2013-09-17 Philipp Klaus Krause <pkk AT spth.de>
22037         * src/stm8/gen.c:
22038           More efficient zeroing of longs.
22039         * src/z80/gen.c:
22040           Remove C99 variable declaration.
22042 2013-09-17 Philipp Klaus Krause <pkk AT spth.de>
22044         * src/stm8/ralloc.c:
22045           Do not allocate spill locations for optimized-out jump conditions.
22047 2013-09-16 Philipp Klaus Krause <pkk AT spth.de>
22049         * src/stm8/gen.c:
22050           More efficient casts to long, fix handling of register deadness in shifts.
22052 2013-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22054         * sim/ucsim/stm8.src/stm8.cc: fix simulation of LDW Y,(n,SP)
22055           to properly update N & Z flag bits
22057 2013-09-14 Philipp Klaus Krause <pkk AT spth.de>
22059         * src/stm8/gen.c,
22060           sim/ucsim/stm8.src/inst.cc:
22061           More efficient conditional jumps.
22063 2013-09-13 Philipp Klaus Krause <pkk AT spth.de>
22065         * src/stm8/gen.c:
22066           Assume spilt variables are on non-extended stack during dry runs.
22068 2013-09-12 Philipp Klaus Krause <pkk AT spth.de>
22070         * Makefile.common.in,
22071           configure.in,
22072           src/z80/gen.c:
22073           Preparations for TLCS-90 port.
22074         * src/stm8/peeph.def:
22075           Peepholes to work around lack of RFE #357.
22077 2013-09-12 Philipp Klaus Krause <pkk AT spth.de>
22079         * src/z80/gen.c:
22080           Negative stack adjustment efficiency, restore stack pointer from frame pointer.
22081         * src/stm8/peep.c:
22082           Provide our own isblank()-substitute for compilers that lack C99 support.
22084 2013-09-11 Philipp Klaus Krause <pkk AT spth.de>
22086         * src/z80/gen.c,
22087           src/z80/mappings.i,
22088           src/z80/peep.c:
22089           Stack adjustment code refactoring.
22091 2013-09-11 Philipp Klaus Krause <pkk AT spth.de>
22093         * src/SDCCmain.c,
22094           src/port.h,
22095           src/z80/main.c,
22096           src/z80/peep.c,
22097           src/z80/z80.h,
22098           src/z80/gen.c,
22099           src/z80/peep.c:
22100           Preparations for TLCS-90 port.
22102 2013-09-09 Philipp Klaus Krause <pkk AT spth.de>
22104         * support/regression/tests/addrspace.c:
22105           Disable test for host regression tests.
22106         * src/stm8/gen.c:
22107           Make it compile on compilers that lack C99 support.
22109 2013-09-08 Philipp Klaus Krause <pkk AT spth.de>
22111         * src/SDCC.y,
22112           src/SDCCmem.c,
22113           src/SDCCglue.c,
22114           doc/sdccman.lyx,
22115           support/regression/tests/addrspace.c:
22116           Support for const named address spaces (for variables in ROM).
22117         * src/z80/peeph-z80.def,
22118           src/z80/peeph-r2k.def:
22119           Check for volatile in peephole 1.
22121 2013-09-05 Philipp Klaus Krause <pkk AT spth.de>
22123         * src/stm8/gen.c:
22124           Fix bug #2211, fix name of codegen struct (_G vs. G).
22126 2013-09-04 Philipp Klaus Krause <pkk AT spth.de>
22128         * support/regression/tests/bitvars.c,
22129           support/regression/tests/bool.c,
22130           support/regression/tests/bug1057979.c,
22131           support/regression/tests/bug1738367.c,
22132           support/regression/tests/bug2084206.c,
22133           support/regression/tests/bug2935162.c,
22134           support/regression/tests/bug3183823.c,
22135           support/regression/tests/bug3290691.c,
22136           support/regression/tests/bug3467508.c,
22137           support/regression/tests/bug3537338.c,
22138           support/regression/tests/float_single.c,
22139           support/regression/tests/gcc-torture-execute-20000412-2.c,
22140           support/regression/tests/gcc-torture-execute-20030714-1.c,
22141           support/regression/tests/gcc-torture-execute-990524-1.c,
22142           support/regression/tests/gcc-torture-execute-pr15296.c,
22143           support/regression/tests/gcc-torture-execute-string-opt-5.c,
22144           support/regression/tests/genptrs.c,
22145           support/regression/tests/muldiv.c,
22146           support/regression/tests/onebyte.c,
22147           support/regression/tests/snprintf.c:
22148           Disable tests for the least-broken one of the broken ports.
22150 2013-09-04 Philipp Klaus Krause <pkk AT spth.de>
22152         * src/stm8/gen.c,
22153           support/regression/tests/gcc-torture-execute-20020219-1.c,
22154           support/regression/tests/gcc-torture-execute-20050104-1.c,
22155           support/regression/tests/gcc-torture-execute-920810-1.c,
22156           support/regression/tests/gcc-torture-execute-950612-1.c,
22157           support/regression/tests/gcc-torture-execute-pr42269-2.c,
22158           support/regression/tests/gcc-torture-execute-950915-1.c,
22159           support/regression/tests/gcc-torture-execute-20080529-1.c:
22160           Fix returning of long long.
22162 2013-09-04 Philipp Klaus Krause <pkk AT spth.de>
22164         * src/stm8/gen.c:
22165           Partial workaround for linker bug #2198.
22166         * support/regression/tests/bug-136564.c,
22167           support/regression/tests/bug-927659.c,
22168           support/regression/tests/bug1057979.c,
22169           support/regression/tests/bug3521024.c,
22170           support/regression/tests/funptrs.c,
22171           support/regression/tests/gcc-torture-execute-20021120-3.c,
22172           support/regression/tests/gcc-torture-execute-20030626-1.c,
22173           support/regression/tests/gcc-torture-execute-20070201-1.c,
22174           support/regression/tests/gcc-torture-execute-921208-1.c,
22175           support/regression/tests/gcc-torture-execute-930513-1.c,
22176           support/regression/tests/gcc-torture-execute-960327-1.c,
22177           support/regression/tests/gcc-torture-execute-980707-1.c,
22178           support/regression/tests/snprintf.c,
22179           support/regression/tests/gcc-torture-execute-20021118-2.c,
22180           support/regression/tests/gcc-torture-execute-20030626-2.c:
22181           Enable tests that pass due to workaround for bug #2198.
22182         * support/regression/tests/gcc-torture-execute-20030916-1.c:
22183           Enable passing test.
22185 2013-09-03 Philipp Klaus Krause <pkk AT spth.de>
22187         * src/stm8/gen.c:
22188           Implement assertion for linker bug #2198 so it is no longer silent to the
22189           user.
22190         * support/regression/tests/gcc-torture-execute-20030714-1.c:
22191           Disable failing test.
22193 2013-09-02 Philipp Klaus Krause <pkk AT spth.de>
22195         * src/stm8/gen.c:
22196           Pointer indirect long addressing mode.
22198 2013-09-02 Philipp Klaus Krause <pkk AT spth.de>
22200         * src/z80/ralloc2.cc:
22201           Tuned register allocation heuristic.
22203 2013-09-01 Philipp Klaus Krause <pkk AT spth.de>
22205         * src/stm8/gen.c:
22206           Fix loading of upper parts of large values through frame pointer, bug #2209.
22208 2013-08-30 Philipp Klaus Krause <pkk AT spth.de>
22210         * src/stm8/gen.c:
22211           Slightly more efficient addition and loading through frame pointer.
22213 2013-08-30 Maarten Brock <sourceforge.brock AT dse.nl>
22215         * support/regression/tests/bug-2205.c: new, added
22216         * support/regression/tests/*: set svn properties eol and keywords
22217         * device/lib/clean.mk: add stm8 port to cleaning
22219 2013-08-30 Philipp Klaus Krause <pkk AT spth.de>
22221         * src/z80/ralloc2.cc,
22222           support/regression/tests/bug-2208.c:
22223           Fix bug #2208.
22225 2013-08-29 Philipp Klaus Krause <pkk AT spth.de>
22227         * src/SDCCpeeph.c,
22228           src/ds390/peeph.def,
22229           src/hc08/peeph.def,
22230           src/mcs51/peeph.def,
22231           src/stm8/peeph.def,
22232           src/z80/peeph-gbz80.def,
22233           src/z80/peeph-r2k.def,
22234           src/z80/peeph-z80.def:
22235           Simplified peephole rules.
22237 2013-08-29 Philipp Klaus Krause <pkk AT spth.de>
22239         * src/stm8/peeph.def:
22240           Rules for bit setting.
22241         * src/stm8/peep.c:
22242           Implement more of register use check.
22243         * src/stm8/gen.c:
22244           Fix byte skipping in subtraction.
22246 2013-08-28 Philipp Klaus Krause <pkk AT spth.de>
22248         * src/stm8/gen.c:
22249           Fix generation of temporary labels in dry runs, more efficient shift by
22250           literal, subtraction and addition, partially fix recognition of multibyte
22251           on-stack operands.
22252         * src/stm8/peeph.def:
22253           Eliminate unreachable jumps (which can be generated by other rules).
22254         * src/stm8/ralloc2.cc:
22255           Tune register allocation heuristic.
22257 2013-08-27 Philipp Klaus Krause <pkk AT spth.de>
22259         * src/stm8/gen.c:
22260           Fix handling of A in float negation and equality comparison, more flexible
22261           addition and subtraction.
22262         * support/regression/tests/float_single.c:
22263           Enable tests for asinf(), atanf(), cosf(), sinf(), sinhf().
22265 2013-08-25 Raphael Neider <rneider AT web.de>
22267         * device/include/pic16/pic16devices.txt:
22268           add flag indicating XINST availability per device
22269         * src/pic16/device.c:
22270           parse XINST flag in pic16devices.txt
22271         * src/pic16/device.h:
22272           add field to store XINST availability per device
22273         * src/pic16/glue.c:
22274           emit warning on code breakage when XINST is supported and not
22275           explicitly disabled (#pragma config XINST=OFF).
22276         * src/pic16/main.c:
22277           detect and remember occurrence of #pragma config XINST=OFF
22278         * support/scripts/optimize_pic16devices.pl:
22279           support new XINST flag
22280         * support/scripts/pic16_update_xinst.sh:
22281           update XINST flags is pic16devices.txt from information extracted
22282           out of gputils/libgputils/gpprocessor.c
22284 2013-08-21 Philipp Klaus Krause <pkk AT spth.de>
22286         * src/stm8/gen.c:
22287           Be a little bit more flexible about addition operands - necessary to make
22288           Coremark compile.
22290 2013-08-21 Philipp Klaus Krause <pkk AT spth.de>
22292         * src/stm8/peep.c,
22293           src/stm8/peeph.def:
22294           Eliminate dead popw / pushw pairs.
22296 2013-08-20 Philipp Klaus Krause <pkk AT spth.de>
22298         * src/stm8/gen.c:
22299           More efficient left shift by literal.
22301 2013-08-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22303         * src/SDCCast.c (decorateType): fixed bug 2205 (return discarded if
22304           missing expected operand)
22306 2013-08-20 Philipp Klaus Krause <pkk AT spth.de>
22308         * src/stm8/gen.c:
22309           More efficient right shift by literal.
22311 2013-08-08 Borut Razem <borut.razem AT gmail.com>
22313         * doc/sdccman.lyx: added some STM8 tools info, various fixes
22315 2013-08-07 Borut Razem <borut.razem AT gmail.com>
22317         * doc/sdccman.lyx: updated Sourceforge URLs
22319 2013-08-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22321         * src/SDCCast.c (decorateType): fixed bug 2201 (spurious limited
22322           range warning)
22324 2013-08-04 Philipp Klaus Krause <pkk AT spth.de>
22326         * src/stm8/peeph.def:
22327           Peepholes for in-place operations.
22328         * src/stm8/gen.c:
22329           More efficient pointer write, fix handling of a in comparison for equality.
22331 2013-08-03 Philipp Klaus Krause <pkk AT spth.de>
22333         * src/stm8/peep.c,
22334           src/stm8/peeph.def:
22335           Infrastructure for notUsed().
22336         * src/stm8/gen.c:
22337           More efficient stack-to-stack copy.
22339 2013-08-02 Philipp Klaus Krause <pkk AT spth.de>
22341         * src/stm8/gen.c:
22342           More efficient pcall.
22344 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22346         * src/SDCClospre.hpp,
22347           src/SDCCopt.c:
22348           Fix handling of isaddr flag in optimizations.
22350 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22352         * src/SDCCopt.c,
22353           src/SDCCicode.c,
22354           src/stm8/gen.c,
22355           src/z80/gen.c:
22356           Fold offset into ADDRESS_OF, RFE #393.
22358 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22360         * src/stm8/gen.c:
22361           More efficient zeroing of bytes, more efficient addition of constants,
22362           fix handling of a in pointer set.
22363         * src/SDCCpeeph.c:
22364           Fix handling of architectures that have absolute jump instructions of
22365           different length.
22366         * src/stm8/peeph.def:
22367           More jump-to-jump optimizations.
22369 2013-08-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22371         * support/scripts/sdcc.nsi: install/uninstall stm8 related files
22373 2013-08-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22375         * src/stm8/gen.c:
22376           Smaller code for GET_VALUE_AT_ADDRESS and signed casts.
22378 2013-07-30 Philipp Klaus Krause <pkk AT spth.de>
22380         * src/stm8/gen.c:
22381           More efficient mixed-size addition of on-stack operands, and assignment
22382           to parts of x and y.
22383         * support/regression/tests/bug-136564.c,
22384           support/regression/tests/bug3521024.c,
22385           support/regression/tests/gcc-torture-execute-980707-1.c:
22386           Disable tests affected by bug #2196, 2198.
22387         * support/regression/tests/float_single.c:
22388           Disable failing sinf, cosf tests.
22389         * src/stm8/peeph.def:
22390           Tail call optimization.
22392 2013-07-30 Borut Razem <borut.razem AT gmail.com>
22394         * support/sdbinutils/*: sync with binutils 2.23.2
22396 2013-07-29 Philipp Klaus Krause <pkk AT spth.de>
22398         * src/stm8/peeph.def,
22399           src/stm8/gen.c:
22400           Enable peepholes for inverse jumps, and labels, fix label reference
22401           counting bug #2183.
22403 2013-07-29 Borut Razem <borut.razem AT gmail.com>
22405         * support/cpp/sdcpp-diagnostic.c, upport/cpp/sdcpp-opts.c: fixed bug
22406           #2194 Missing header file produces error, but still zero exit status
22408 2013-07-27 Leland Morrison <enigmalee AT sourceforge.net>
22410         * sdas/linksrc/lkrloc3.c:
22411           prevent NULL ptr dereference when generating error message
22412           (fixes bug #2076 core dump from sdldz80
22413            if relative jump exceeds range)
22415 2013-07-26 Philipp Klaus Krause <pkk AT spth.de>
22417         * src/stm8/peep.c,
22418           src/stm8/peeph.def:
22419           Enable peephole for jp to jra optimization.
22421 2013-07-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22423         * support/regression/tests/bug-927659.c,
22424           support/regression/tests/bug1057979.c,
22425           support/regression/tests/bug2084206.c,
22426           support/regression/tests/funptrs.c,
22427           support/regression/tests/gcc-torture-execute-20020219-1.c,
22428           support/regression/tests/gcc-torture-execute-20021118-2.c,
22429           support/regression/tests/gcc-torture-execute-20021120-3.c,
22430           support/regression/tests/gcc-torture-execute-20030626-1.c,
22431           support/regression/tests/gcc-torture-execute-20030626-2.c,
22432           support/regression/tests/gcc-torture-execute-20050104-1.c,
22433           support/regression/tests/gcc-torture-execute-20070201-1.c,
22434           support/regression/tests/gcc-torture-execute-20080529-1.c,
22435           support/regression/tests/gcc-torture-execute-921208-1.c,
22436           support/regression/tests/gcc-torture-execute-930513-1.c,
22437           support/regression/tests/gcc-torture-execute-950612-1.c,
22438           support/regression/tests/gcc-torture-execute-950915-1.c,
22439           support/regression/tests/gcc-torture-execute-960327-1.c,
22440           support/regression/tests/gcc-torture-execute-pr42269-2.c,
22441           support/regression/tests/snprintf.c:
22442           Disabled tests that fail due to linker issue, bug #2196, 2198.
22443         * support/regression/tests/gcc-torture-execute-20030916-1.c:
22444           Disable failing test, bug #2200.
22446 2013-07-24 Philipp Klaus Krause <pkk AT spth.de>
22448         * src/stm8/gen.c,
22449           src/stm8/ralloc2.cc,
22450           src/stm8/main.c:
22451           More efficient unsigned right shifts by more than 3 bits,
22452           implement GETABIT, implement jump from and.
22453         * src/hc08/gen.c,
22454           src/hc08/main.c:
22455           Remove support for GETHBIT.
22457 2013-07-23 Philipp Klaus Krause <pkk AT spth.de>
22459         * src/stm8/gen.c:
22460           More efficient unsigned right shifts by more than 7 bits.
22462 2013-07-23 Philipp Klaus Krause <pkk AT spth.de>
22464         * src/SDCCralloc.hpp,
22465           src/hc08/ralloc2.cc,
22466           src/stm8/ralloc2.cc
22467           src/stm8/gen.h,
22468           src/stm8/gen.c,
22469           src/z80/ralloc2.cc:
22470           Consider ifx optimization in register allocation.
22471         * device/lib/_mullong.c:
22472           Fix typo in comment.
22474 2013-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22476         * src/hc08/gen.c (genLeftShift,genRightShift): fixed bug in shifting
22477           when result and shift count partially overlapped registers
22479 2013-07-22 Philipp Klaus Krause <pkk AT spth.de>
22481         * src/SDCCralloc.hpp,
22482           src/stm8/gen.c,
22483           src/stm8/ralloc2.cc:
22484           Implement direct jump from comparison, eliminating temporary;
22485           fix operand handling in multiplication.
22487 2013-07-21 Philipp Klaus Krause <pkk AT spth.de>
22489         * src/SDCCglobl.h,
22490           src/SDCCmain.c,
22491           src/*/ralloc.c,
22492           src/SDCCopt.c,
22493           src/SDCCast.c,
22494           doc/sdccman.lyx:
22495           Reorganize debug output dump options.
22497 2013-07-20 Philipp Klaus Krause <pkk AT spth.de>
22499         * src/stm8/gen.c:
22500           More efficient zeroing and comparing.
22502 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22504         * src/stm8/gen.c,
22505           src/stm8/ralloc2.cc:
22506           Efficient pushes.
22508 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22510         * src/stm8/gen.c:
22511           More efficient long and long long shifts by small contants.
22513 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22515         * src/stm8/gen.c,
22516           support/regression/tests/compare.c:
22517           Fix handling of comparisons to immediates for stm8.
22519 2013-07-18 Philipp Klaus Krause <pkk AT spth.de>
22521         * device/lib/_mullong.c:
22522           Use 16x16 multiplication instead of 8x8 where faster; patch #133 by Marco
22523           Bodrato.
22525 2013-07-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22527         * src/SDCClrange.c,
22528           support/regression/tests/bug-2197.c:
22529           Fix handling of pointer write in live-range splitting, fixing bug #2197.
22531 2013-07-16 Philipp Klaus Krause <pkk AT spth.de>
22533         * src/z80/ralloc.c,
22534           src/z80/ralloc2.cc,
22535           support/regression/tests/bug-2195.c,
22536           src/hc08/ralloc.c,
22537           src/hc08/ralloc2.cc:
22538           Unify handling of register survival in old and new register allocator,
22539           fixing bug #2195.
22541 2013-07-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22543         * support/regression/compact-results.py,
22544         * support/regression/collate-results.py: Also look for "unknown
22545            instruction"
22546         * sim/ucsim/st7.src/st7.cc,
22547         * sim/ucsim/hc08.src/hc08.cc,
22548         * sim/ucsim/hc08.src/inst.cc: Change result code for invalid and
22549           incomplete instructions so regression tests scripts detect problem.
22551 2013-07-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22553         * sim/ucsim/stm8.src/stm8.cc: Change result code for invalid and
22554           incomplete instructions so regression tests scripts detect problem.
22556 2013-07-13 Philipp Klaus Krause <pkk AT spth.de>
22558         * src/SDCCerr.c:
22559           Change message text for warning on variables being dead at their definitions.
22561 2013-07-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22563         * src/SDCClospre.hpp:
22564           Fix lospre forwarding.
22566 2013-07-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22568         * src/SDCCBBlock.c,
22569           src/SDCClrange.c,
22570           src/SDCClrange.h,
22571           src/SDCCopt.c,
22572           src/SDCCralloc.hpp,
22573           src/*/ralloc.c:
22574           Split non-connected live-ranges.
22576 2013-07-05 Philipp Klaus Krause <pkk AT spth.de>
22578         * src/SDCCset.h,
22579           src/SDCCset.c:
22580           Improve const use in sets.
22581         * src/SDCCglobl.h,
22582           src/SDCCBBlock.c,
22583           src/SDCCopt.c:
22584       Allow debug iCode dump after lospre.
22586 2013-07-04 Philipp Klaus Krause <pkk AT spth.de>
22588         * src/SDCCbitv.h,
22589           src/SDCCbitv.c:
22590           Improve const use in bit vectors.
22592 2013-07-03 Philipp Klaus Krause <pkk AT spth.de>
22594         * src/SDCClospre.hpp:
22595           Fix invalidation in lospre forwarding.
22597 2013-07-01 Philipp Klaus Krause <pkk AT spth.de>
22599         * src/SDCClospre.cc:
22600           Mark receive opcodes as invalidating for losrpe.
22602 2013-06-30 Philipp Klaus Krause <pkk AT spth.de>
22604         * sdccconf_in.h:
22605           Regenerated to make --disable-stm8-port work.
22607 2013-06-27 Philipp Klaus Krause <pkk AT spth.de>
22609         * src/SDCClospre.cc:
22610           Disable safety in division for stm8.
22612 2013-06-27 Philipp Klaus Krause <pkk AT spth.de>
22614         * src/SDCCnaddr.hpp:
22615           Add comment to reference the paper on bank selection.
22617 2013-06-16 Philipp Klaus Krause <pkk AT spth.de>
22619         * src/stm8/peeph.def:
22620           Reorganize rules, disable rules depending on notUsed() or unimplemented
22621           ref count.
22622         * src/stm8/peep.c,
22623           src/SDCCpeeph.c:
22624           Fix const, handling of relative jumps, read from uninitialized pointer.
22626 2013-06-16 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22628         * src/stm8/main.c,
22629         * src/stm8/peep.c: implemented stm8canAssign and stm8notUsed,
22630           fixed handling of label entities in stm8instructionSize,
22631           added internal buffer in nextToken.
22632         * src/stm8/peeph.def: uncommented a few peephole rules.
22634 2013-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
22636         * device/lib/_mullonglong.c,
22637         * sdas/as8051/i51adr.c,
22638         * sdas/linksrc/lkbank.c,
22639         * sdas/linksrc/lklibr.c,
22640         * sdas/linksrc/lkrloc.c,
22641         * sdas/linksrc/aslink.h,
22642         * src/mcs51/main.c: cosmetic changes
22643         * sdas/asxxsrc/asmain.c (main): default to 16 bit address width
22644         * sdas/as8051/i51mch.c (minit): set address width to 24 bit
22645         * sdas/as8xcxxx/ds8mch.c (machine): validate address width
22646         * sdas/asxxsrc/asdata.c,
22647         * sdas/asxxsrc/asxxxx.h: added a_bytes, a_mask, s_mask, v_mask and outradix
22648         * sdas/asxxsrc/asexpr.c (exprmasks): set a_bytes and masks
22649         * sdas/asxxsrc/aslist.c: use a_bytes
22650         * sdas/asxxsrc/asout.c: use a_bytes,
22651           (outradix, outgsd): added to output address width
22652         * sdas/linksrc/lkarea.c,
22653         * sdas/linksrc/lklist.c: small optimizations
22654         * sdas/linksrc/lkrloc3.c (relr3): use a_bytes
22655         * support/sdbinutils/bfd/asxxxx.c (asxxxx_is_rel): fixed get_eol
22657 2013-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
22659         * sdas/linksrc/lkaomf51.c (GetName, SaveLinkedFilePath): small optimization
22660           (OutputAOEMF51, CollectInfoFromCDB, ReadHexFile): fixed bug 2184
22661         * sdas/linksrc/lkmain.c: cosmetics
22662         * sdas/linksrc/lkout.c (ixx, iflush): fixed bug 1986
22663         * sdas/linksrc/lksym.c: comments
22665 2013-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
22667         * src/sdcc.vcxproj: removed boost library path
22668         * src/stm8/stm8.vcxproj,
22669         * src/stm8/stm8.vcxproj.filters: added peep.[ch]
22670         * src/z80/z80.vcxproj: fixed message typo
22671         * src/stm8/peep.c: fixed errors for MSVC (C89 compatible only):
22672           only declarations at start of block
22673         * support/packihx/packihx.c: whitespace
22675 2013-06-08 Philipp Klaus Krause <pkk AT spth.de>
22677         * src/stm8/peeph.def:
22678           Prepare for replacing absolute jumps by relative jumps and inverting jump
22679           conditions.
22680         * src/stm8/peep.c,
22681           src/SDCCpeeph.c:
22682           Fix buffer overflows, improve error detection.
22684 2013-06-08 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22686         * src/stm8/main.c,
22687         * src/stm8/peep.h,
22688         * src/stm8/peep.c:
22689           Implemented stm8instructionSize.
22691 2013-06-07 Philipp Klaus Krause <pkk AT spth.de>
22693         * src/SDCClospre.hpp:
22694           Cleanup debugging code in lospre.
22696 2013-06-06 Philipp Klaus Krause <pkk AT spth.de>
22698         * src/z80/gen.c,
22699           tests/bug-2181.c:
22700           Fix bug #2181.
22702 2013-06-03 Maarten Brock <sourceforge.brock AT dse.nl>
22704         * sdcc.sln,
22705         * src/stm8/stm8.vcxproj,
22706         * src/stm8/stm8.vcxproj.filters: added stm8 project
22707         * src/hc08/hc08.vcxproj,
22708         * src/z80/z80.vcxproj,
22709         * src/sdcc.vcxproj: use boost 1.50, the last working installer from boostpro
22710         * debugger/mcs51/symtab.h,
22711         * src/ds390/gen.c,
22712         * src/hc08/gen.c,
22713         * src/mcs51/gen.c,
22714         * src/pic14/gen.c,
22715         * src/pic16/gen.c,
22716         * src/pic16/glue.c,
22717         * src/SDCCast.c,
22718         * src/SDCCdwarf2.c,
22719         * src/SDCCglue.c,
22720         * src/SDCCsymt.h,
22721         * src/z80/gen.c: fixed signed/unsigned comparison warnings
22722         * src/stm8/gen.c: fixed errors for MSVC (C89 compatible only):
22723           don't use snprintf but only SNPRINT,
22724           only declarations at start of block,
22725           don't use true/false but only TRUE/FALSE
22726         * src/stm8/main.c (stm8_defaultRules): fixed init error
22727         * src/stm8/ralloc2.cc (instruction_cost): fixed warning
22728         * src/SDCCglue.c (glue): removed target dependent code
22729         * support/regression/fwk/include/testfwk.h: removed ASSERT_FAILED,
22730           added ASSERTFALSE
22731         * support/regression/tests/gcc-torture-execute-20050826-1.c: use ASSERFALSE,
22732           enabled test for mcs51
22733         * support/regression/tests/gcc-torture-execute-920810-1.c: use ASSERTFALSE
22735 2013-06-03 Philipp Klaus Krause <pkk AT spth.de>
22737         * src/stm8/gen.c:
22738           More efficient register-to-register assignment using ldw.
22740 2013-06-02 Philipp Klaus Krause <pkk AT spth.de>
22742         * sim/ucsim/stm8.src/inst.cc:
22743           Fix handling of N and Z flags in addw, subw.
22744         * support/regression/tests/gcc-torture-execute-20021120-1.c:
22745           Disable failing test for stm8 (bug #2180).
22746         * src/stm8/gen.c:
22747           More efficient subtraction.
22748         * support/regression/tests/gcc-torture-execute-pr47337.c:
22749           Disable this very colatile test for stm8 for now. See bug #2172 for the
22750           longer justification.
22752 2013-06-01 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22754         * sim/ucsim/stm8.src/inst.cc:
22755           Fixed subw y.
22757 2013-05-31 Philipp Klaus Krause <pkk AT spth.de>
22759         * src/SDCCcse.c,
22760           src/SDCClospre.cc:
22761           Fix bug #2167.
22762         * src/stm8/main.c,
22763           src/stm8/gen.c:
22764           Implement jump tables.
22766 2013-05-30 Raphael Neider <rneider AT web.de>
22768         * doc/sdccman.lyx: remove --enable-new-pics, add
22769           --no-extended-instructions, adjust section on adding devices
22771 2013-05-30 Raphael Neider <rneider AT web.de>
22773         * device/lib/pic16/configure.ac,
22774         * device/non-free/lib/pic16/configure.ac: remove obsolete option
22775           --enable-new-pics, use common device support detection from
22776           supported-devices.ac and the generated processors.ac
22777         * device/non-free/lib/pic16/supported-devices.ac: fragment from
22778           configure.ac performing detection of devices supported by gputils;
22779           device detection also performs linking step for robustness
22781         * device/lib/pic16/libio/adc.ignore,
22782         * device/lib/pic16/libio/i2c.ignore,
22783         * device/lib/pic16/libio/usart.ignore: use full device id (18fxxxx)
22785         * device/lib/pic16/libio/mkmk.sh,
22786         * device/non-free/lib/pic16/libdev/mkmk.sh,
22787         * device/non-free/lib/pic16/libdev/testall.sh:
22788           derive device list from files in non-free/lib/pic16/libdev rather
22789           than the manually maintained pics.all, enclose each device in
22790           ENABLE_<DEVICE> conditionals
22792         * device/non-free/lib/pic16/update.sh: script to update the build
22793           system to be run whenever the set of devices supported by sdcc
22794           changed; generates processor.ac and reconfigures all PIC16 libs
22796         * support/scripts/cinc2h.pl: update instructions regarding adding
22797           support for new devices
22799         * device/lib/pic16/libio/Makefile.am: regenerated from mkmk.sh
22800         * device/non-free/lib/pic16/libdev/Makefile.am:
22801           regenerated from mkmk.sh
22802         * device/non-free/lib/pic16/pics.all: removed (no longer used)
22803         * device/non-free/lib/pic16/processors.ac: added, list of automake
22804           conditionals for automatic detection of devices supported by
22805           gputils, generated from update.sh
22807         * device/lib/pic16/Makefile.in,
22808         * device/lib/pic16/aclocal.m4,
22809         * device/lib/pic16/configure,
22810         * device/lib/pic16/debug/Makefile.in,
22811         * device/lib/pic16/libc/Makefile.in,
22812         * device/lib/pic16/libio/Makefile.in,
22813         * device/lib/pic16/libm/Makefile.in,
22814         * device/lib/pic16/libsdcc/Makefile.in,
22815         * device/lib/pic16/startup/Makefile.in,
22816         * device/non-free/lib/pic16/Makefile.in,
22817         * device/non-free/lib/pic16/aclocal.m4,
22818         * device/non-free/lib/pic16/configure,
22819         * device/non-free/lib/pic16/libdev/Makefile.in: regenerated
22821 2013-05-30 Raphael Neider <rneider AT web.de>
22823         * device/lib/pic14/configure.in: remove now obsolete --enable-new-pics,
22824           check support for enhanced cores and extended instruction set,
22825         * device/lib/pic14/Makefile.am: build libsdcce.a iff enhanced cores
22826           are supported, use special version avoiding extended instructions
22827           if those are not supported by gputils
22828         * device/lib/pic14/libm/Makefile.am: build libme.a iff enhanced cores
22829           are supported, avoid extended instructions if not supported by
22830           gputils (0.13.5-6)
22831         * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.am,
22832         * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
22833         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget1.S,
22834         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget2.S,
22835         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget3.S,
22836         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget4.S,
22837         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput1.S,
22838         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput2.S,
22839         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput3.S,
22840         * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput4.S,
22841         * device/lib/pic14/libsdcc/enhanced-no-xinst/macros.inc:
22842           special version of gptr* for enhanced cores without using extended
22843           instructions
22844         * device/non-free/lib/pic14/configure.in: remove now obsolete option
22845           --enable-new-pics, improve gputils device support detection support
22846           by also performing linking, export list of supported devices to
22847           libdev/Makefile.in
22848         * device/non-free/lib/pic14/libdev/Makefile.in: accept list of devices
22849           to build from configure
22851         * device/lib/pic14/Makefile.in,
22852         * device/lib/pic14/aclocal.m4,
22853         * device/lib/pic14/configure,
22854         * device/lib/pic14/libm/Makefile.in,
22855         * device/lib/pic14/libsdcc/enhanced/Makefile.in,
22856         * device/lib/pic14/libsdcc/regular/Makefile.in,
22857         * device/non-free/lib/pic14/configure:
22858           regenerated
22860 2013-05-30 Raphael Neider <rneider AT web.de>
22862         * src/pic14/main.c, src/pic14/main.h: add option to avoid generating
22863           instructions from the extended instruction set in order to work
22864           around issues with gputils-0.13.6
22865         * src/pic14/gen.c (inc_fsr): avoid generating ADDFSR if
22866           --no-extended-instructions is specified
22868 2013-05-30 Philipp Klaus Krause <pkk AT spth.de>
22870         * src/stm8/gen.c,
22871           support/regression/tests/bug-2175.c:
22872           Fix bug #2175.
22874 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
22876         * src/stm8/gen.c:
22877           Fix ADDRESS_OF with result in y for variables at sp + 2, more efficient
22878           assignment to stack using ldw.
22880 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
22882         * device/lib/_divsint.c,
22883           device/lib/_divslong.c,
22884           device/lib/_modsint.c,
22885           device/lib/_modslong.c:
22886           Remove dependencies of signed division support functions on unsigned
22887           division support functions.
22888         * src/stm8/gen.c,
22889           src/stm8/main.c:
22890           Fix partial saving of Y in division and multiplication, implement unsigned
22891           int division.
22893 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
22895         * src/stm8/gen.c,
22896           src/stm8/ralloc.c,
22897           support/regression/tests/gcc-torture-execute-20010129-1.c,
22898           support/regression/tests/gcc-torture-execute-pr28982a.c,
22899           support/regression/tests/gcc-torture-execute-930614-2.c,
22900           support/regression/tests/gcc-torture-execute-20021120-1.c:
22901           Support for calls to functions returning long from functions that use
22902           extended stack.
22904 2013-05-28 Philipp Klaus Krause <pkk AT spth.de>
22906         * src/stm8/ralloc2.cc,
22907           src/stm8/ralloc.c,
22908           src/stm8/gen.h,
22909           src/stm8/gen.c,
22910           support/regression/tests/bp.c,
22911           support/regression/tests/gcc-torture-execute-20071030-1.c,
22912           support/regression/tests/gcc-torture-execute-990513-1.c,
22913           support/regression/tests/gcc-torture-execute-pr47538.c,
22914           support/regression/tests/gcc-torture-execute-980707-1.c,
22915           support/regression/tests/bug2094505.c,
22916           support/regression/tests/gcc-torture-execute-20031012-1.c,
22917           support/regression/tests/gcc-torture-execute-20030916-1.c:
22918           Support for extended stack on stm8, more efficient ADDRESS_OF.
22920 2013-05-27 Philipp Klaus Krause <pkk AT spth.de>
22922         * src/stm8/gen.c:
22923           More efficient pointer access, more efficient loading of constants to
22924           stack, fix handling of shift count deadness.
22925         * sim/ucsim/stm8.src/inst.cc:
22926           Fix ldw pointer write (bug #2174).
22927         * support/regression/tests/gcc-torture-execute-pr47538.c:
22928           Disable volatile test affected by bug #2171.
22929         * src/stm8/ralloc2.cc:
22930           Implement heuristic bias for register assignment.
22932 2013-05-26 Philipp Klaus Krause <pkk AT spth.de>
22934         * src/stm8/gen.c:
22935           More efficient zeroing by pointer, more efficient unsigned cast,
22936           preparations for more efficient pointer access.
22937         * src/SDCCopt.c:
22938           Allow offset in pointer read.
22939         * sim/ucsim/stm8.src/inst.cc:
22940           Fix handling of N and Z flag in ldw.
22941         * src/stm8/main.c:
22942           More efficient initialization.
22944 2013-05-25 Philipp Klaus Krause <pkk AT spth.de>
22946         * src/stm8/gen.c:
22947           More efficient addition.
22949 2013-05-25 Borut Razem <borut.razem AT gmail.com>
22951         * src/SDCCopt.c: fixed bug #2165 - "Broken comparison" by disabling
22952           optimization of comparison unsigned with 2^n literal since it is broken
22953         * support/regression/test/compare_2_n.m4: added test for bug #2165
22955 2013-05-25 Philipp Klaus Krause <pkk AT spth.de>
22957         * Merged stm8 branch.
22959 2013-05-25 Philipp Klaus Krause <pkk AT spth.de>
22961         * support/regression/tests/float_single.c,
22962           support/regression/tests/gcc-torture-execute-20030714-1.c,
22963           support/regression/tests/gcc-torture-execute-20050826-1.c:
22964           STM8: Disable failing tests.
22966 2013-05-25 Borut Razem <borut.razem AT gmail.com>
22968         * Makefile.in: applied patch #211 - "sdbinutils is installed twice",
22969           thanks to Tijl Coosemans
22971 2013-05-24 Philipp Klaus Krause <pkk AT spth.de>
22973         * support/regression/tests/gcc-torture-execute-20010224-1.c:
22974           STM8: Disable test that fails due to known CSE bug #1968.
22975         * support/regression/ports/stm8/spec.mk:
22976           STM8: Remove definition for __reentrant.
22977         * src/stm8/gen.c:
22978           STM8: Fix handling of out-of-range offsets.
22980 2013-05-23 Philipp Klaus Krause <pkk AT spth.de>
22982         * src/stm8/gen.c:
22983           STM8: Fix float negation, fix large stack-to-stack copy under high
22984           register pressure, fix handling of immediate operands.
22985         * support/regression/tests/gcc-torture-execute-20030408-1.c:
22986           STM8: Disable test for known front-end bug.
22987         * sim/ucsim/stm8.src/inst.cc:
22988           STM8: Fix handling of V and H flags in cpw.
22989         * sim/ucsim/stm8.src/inst.cc:
22990           STM8: Silence some warnings.
22991         * src/stm8/ralloc.c:
22992           STM8: Fix missing include.
22993         * support/regression/tests/gcc-torture-execute-20050613-1.c:
22994           STM8: Disable regression test that fails due to front-end bug.
22996 2013-05-22 Philipp Klaus Krause <pkk AT spth.de>
22998         * src/stm8/gen.c:
22999           STM8: More efficient xor, or, and. Fix overwriting of shift count in
23000           shifts, fix comparison with upper byte in a, fix long comparison stacked
23001           offset, fix unsigned long / unsigned long long comparison.
23003 2013-05-22 Philipp Klaus Krause <pkk AT spth.de>
23005         * src/SDCCopt.c:
23006           STM8: Disable broken optimization of comparisons into and.
23007         * src/stm8/gen.c:
23008           STM8: Slightly more efficient shifts, fix long ifx, fix use of word
23009           rotation in copy, fix handling of a in signed cast.
23011 2013-05-21 Valentin Dudouyt <valentin dudouyt AT gmail.com>
23013         * src/stm8/main.c,
23014         * src/SDCCglue.c:
23015         STM8: Fixed init code: some of GSINIT parts aren't executed under certain
23016         linking conditions.
23018 2013-05-20 Maarten Brock <sourceforge.brock AT dse.nl>
23020         * support/scripts/sdcc.nsi: added RequestExecutionLevel admin
23022 2013-05-20 Philipp Klaus Krause <pkk AT spth.de>
23024         * src/z80/gen.c:
23025           More efficient cast from _Bool,
23026         * src/z80/peep.c:
23027           Fix recognition of xor as writing a in peepholes.
23029 2013-05-20 Maarten Brock <sourceforge.brock AT dse.nl>
23031         * Small Device C Compiler 3.3.0 released
23032         * .version, doc/sdccman.lyx: changed sdcc version to 3.3.1
23034 2013-05-19 Philipp Klaus Krause <pkk AT spth.de>
23036         * src/stm8/gen.c:
23037           STM8: Fix long and long long comparison.
23039 2013-05-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23041         * src/stm8/gen.c:
23042           STM8: Give up trying to fix big-endian bit-fields. Make bit-fields
23043           little-endian.
23045 2013-05-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23047         * sim/ucsim/stm8.src/instcl.h,
23048           sim/ucsim/stm8.src/inst.cc,
23049           sim/ucsim/stm8.src/stm8mac.h,
23050           sim/ucsim/stm8.src/glob.cc,
23051           sim/ucsim/stm8.src/stm8.cc,
23052           sdas/asstm8/stm8mch.c:
23053           STM8: Patches by Valentin Dudouyt to fix simulator.
23054         * src/stm8/gen.c:
23055           STM8: Fix conditional jump, address generation for on-stack variables.
23056         * device/lib/_mullong.c,
23057           device/lib/_mulint.c,
23058           device/lib/stm8/Makefile.in,
23059           device/lib/_mulschar.c,
23060           device/lib/_modschar.c,
23061           device/lib/_divschar.c,
23062           src/SDCCsymt.c,
23063           src/stm8/main.c:
23064           STM8: Multiplication and division fixes.
23066 2013-05-18 Philipp Klaus Krause <pkk AT spth.de>
23068         * src/stm8/gen.c:
23069           STM8: Fix offset in wide addition, fix handling of a in copy from
23070           registers to global, fix stack adjustment for large variables, fix large
23071           arithmetic signed right shift.
23073 2013-05-18 Maarten Brock <sourceforge.brock AT dse.nl>
23075         * doc/INSTALL.txt: small update
23076         * support/scripts/repack_release.sh: added windows x64 setup
23078 2013-05-17 Philipp Klaus Krause <pkk AT spth.de>
23080         * src/stm8/gen.c:
23081           STM8: Fix bit-field access.
23082         * sim/ucsim/stm8.src/inst.cc:
23083           STM8: Fix handling of carry bit in negation in simulator.
23085 2013-05-16 Philipp Klaus Krause <pkk AT spth.de>
23087         * src/stm8/main.c:
23088           STM8: Fix endianness for initializers.
23090 2013-05-15 Philipp Klaus Krause <pkk AT spth.de>
23092         * support/regression/ports/stm8/support.c:
23093           STM8: Remove unneeded global variable that clashes with identifiers in
23094           regression tests.
23095         * support/regression/tests/malloc.c,
23096           support/regression/tests/gcc-torture-execute-920810-1.c:
23097           STM8: Disable regression tests for unimplemented malloc().
23098         * src/stm8/gen.c:
23099           STM8: Fix saving of a in early stack-to-stack copy, fix offset in stacked
23100           register operand, fix handling of operand in wide register in pointer set,
23101           fix endless loop in shifts.
23103 2013-05-12 Philipp Klaus Krause <pkk AT spth.de>
23105         * sim/ucsim/stm8.src/inst.cc:
23106           STM8: Fix clr, partially by patch by Valentin Dudouyt.
23107         * src/stm8/main.c:
23108           STM8:  Patch by Valentin Dudouyt to initialize global and static
23109           variables to zero.
23111 2013-05-12 Philipp Klaus Krause <pkk AT spth.de>
23113         * sim/ucsim/stm8.src/inst.cc:
23114           STM8: Patch by Valentin Dudouyt to fix ldw.
23115         * src/stm8/main.c:
23116           STM8: Patches by Valentin Dudouyt to fix handling of global variables and
23117           startup.
23119 2013-05-11 Philipp Klaus Krause <pkk AT spth.de>
23121         * sim/ucsim/stm8.src/inst.cc,
23122           sim/ucsim/stm8.src/instcl.h,
23123           sim/ucsim/stm8.src/stm8.cc,
23124           sim/ucsim/stm8.src/stm8mac.h,
23125           support/regression/ports/stm8/support.c:
23126           STM8: Patches by Valentin Dudouyt: The last bits to enable regression
23127           testing, fix bug in wide addition.
23128         * support/regression/tests/0fail.c,
23129           support/regression/tests/0pass.c:
23130           Removed dummy tests.
23131         * src/stm8/gen.c:
23132           STM8: Fix handling of large operands partially in x in comparison for
23133           equality, be more careful in partial move for cast, fix signed cast.
23134         * src/hc08/gen.c,
23135           src/z80/gen.c:
23136           More efficient cast from _Bool.
23138 2013-05-11 Molnar Karoly <molnarkaroly AT users.sf.net>
23140         * device/include/pic14/pic14devices.txt,
23141           device/include/pic14/pic16regs.h,
23142           device/non-free/include/pic14/pic16f753.h,
23143           device/non-free/include/pic14/pic16hv753.h,
23144           device/non-free/lib/pic14/libdev/devices.txt,
23145           device/non-free/lib/pic14/libdev/pic16f753.c,
23146           device/non-free/lib/pic14/libdev/pic16hv753.c,
23147           doc/sdccman.lyx:
23148           New devices.
23150 2013-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
23152         * sdas/doc/asmlnk.txt: updated for all steps towards ASxxxx v5
23153         * sdas/doc/asxhtm.html: removed
23154         * .version,
23155         * doc/INSTALL.txt,
23156         * doc/sdccman.lyx: version 3.3.0
23158 2013-05-10 Philipp Klaus Krause <pkk AT spth.de>
23160         * src/stm8/gen.c:
23161           STM8: Fix endianness in stack / stack copy.
23163 2013-05-09 Philipp Klaus Krause <pkk AT spth.de>
23165         * src/stm8/gen.c:
23166           STM8: Fix multibyte false Ifx.
23168 2013-05-07 Borut Razem <borut.razem AT gmail.com>
23170         * support/scripts/sdcc.nsi: removed dedication to Dennis M. Ritchie,
23171           corrected ChangeLog path
23173 2013-05-05 Philipp Klaus Krause <pkk AT spth.de>
23175         * src/stm8/gen.c:
23176           STM8: Fix endianness in register / stack copy.
23178 2013-05-04 Maarten Brock <sourceforge.brock AT dse.nl>
23180         * .version,
23181         * doc/INSTALL.txt,
23182         * doc/sdccman.lyx: version 3.3.0 rc1
23183         * sdcc.spec: version 3.3.0
23184         * sdas/asxxsrc/asout.c: suppress warning
23186 2013-05-04 Philipp Klaus Krause <pkk AT spth.de>
23188         * src/stm8/gen.c:
23189           STM8: Fix stack variable offset.
23191 2013-05-04 Philipp Klaus Krause <pkk AT spth.de>
23193         * src/z80/peep.c:
23194           More accurately model behaviour of xor for peepholes.
23195         * sdas/asstm8/stm8mch.c,
23196           sdas/asxxsrc/asout.c:
23197           Applied patch from Valentin Dudouyt to make range check stm8-specific.
23199 2013-05-01 Philipp Klaus Krause <pkk AT spth.de>
23201         * src/z80/peeph-z80.def,
23202           src/z80/peeph-r2k.def:
23203           Fix generation of extra # in peephole.
23205 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23207         * src/stm8/gen.c:
23208           STM8: Fix memory leak in conditional jump.
23210 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23212         * support/regression/tests/gcc-torture-execute-20000314-3.c:
23213           STM8: Removed regression test, since it tests for non-standard gcc behaviour.
23214         * src/stm8/gen.c:
23215           STM8: Fix saving of a on stack in binary complement.
23217 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23219         * src/stm8/gen.c,
23220           src/stm8/main.c,
23221           src/stm8/ralloc2.cc:
23222           STM8: Implement unsigned division.
23224 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23226         * support/regression/tests/bp.c,
23227           support/regression/tests/bug2094505.c,
23228           support/regression/tests/bug3475630.c,
23229           support/regression/tests/gcc-torture-execute-20010129-1.c,
23230           support/regression/tests/gcc-torture-execute-20021120-1.c,
23231           support/regression/tests/gcc-torture-execute-20030916-1.c,
23232           support/regression/tests/gcc-torture-execute-pr28982a.c,
23233           support/regression/tests/gcc-torture-execute-20031012-1.c,
23234           support/regression/tests/gcc-torture-execute-20071030-1.c,
23235           support/regression/tests/gcc-torture-execute-930614-2.c,
23236           support/regression/tests/gcc-torture-execute-930628-1.c,
23237           support/regression/tests/gcc-torture-execute-980707-1.c,
23238           support/regression/tests/gcc-torture-execute-990513-1.c:
23239           STM8: Disable some regression tests that need support for extended stack
23240           operands.
23241         * src/stm8/gen.c:
23242           STM8: Improve error reporting for unimplemented extended stack operands,
23243           fix pointer write.
23244         * device/lib/_divschar.c,
23245           device/lib/_modschar.c,
23246           device/lib/stm8/Makefile.in:
23247           STM8: Support routines for signed char divide and modulo.
23249 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23251         * src/stm8/gen.c:
23252           STM8: Fix stack handling in equality comparison, handle dead code, fix
23253           shift to zero.
23255 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23257         * src/stm8/gen.c:
23258           STM8: Implement DUMMY_READ_VOLATILE.
23260 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23262         * src/stm8/gen.c:
23263           STM8: Implement read from signed bit-field.
23265 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23267         * sdas/asxxsrc/asout.c,
23268           src/stm8/main.c:
23269           STM8: Applied patched from Valentin Dudouyt to improve error checking in
23270           assembler, implement initialization of globals, __interrupt.
23272 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23274         * src/stm8/main.c,
23275           src/stm8/gen.c:
23276           STM8: Implement multiplication.
23278 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23280         * src/stm8/gen.c:
23281           STM8: Fix asmop freeing for GET_VALUE_AT_ADDRESS, do not share symbol
23282           aops to fix double free, fix large comparison, implement bit-field writes.
23284 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23286         * src/stm8/gen.c:
23287           STM8: Fix unsigned cast, implement read from unsigned bit-field.
23288         * support/regression/tests/0fail.c,
23289           support/regression/tests/0pass.c:
23290           Dummy tests for debugging regression testing.
23292 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
23294         * src/stm8/gen.c:
23295           STM8: Fix in handling of result in a in addition, minor improvements.
23297 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
23299         * src/stm8/gen.c:
23300           STM8: Fix stack handling in signed cast, fix wide right shift, minor
23301           refactoring.
23303 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
23305         * src/stm8/gen.c:
23306           STM8: Fix handling of a in addition, subtraction and negation, more
23307           flexible copy, fix comparison.
23309 2013-04-25 Philipp Klaus Krause <pkk AT spth.de>
23311         * src/stm8/gen.c:
23312           STM8: Update TODO/todo comments to reflect known bug vs optimization
23313           potential.
23315 2013-04-24 Philipp Klaus Krause <pkk AT spth.de>
23317         * src/stm8/gen.c:
23318           STM8: Various fixes.
23320 2013-04-23 Philipp Klaus Krause <pkk AT spth.de>
23322         * src/stm8/gen.c:
23323           STM8: Make lack of support for bit-fields explicit, implement binary
23324           complement, minor improvements.
23326 2013-04-23 Philipp Klaus Krause <pkk AT spth.de>
23328         * src/stm8/gen.c:
23329           STM8: Fix large operands in equality comparison of register with literal
23330           or stack op.
23331         * src/stm8/ralloc2.cc:
23332           STM8: Fix liveness of registers at parameter pushes.
23334 2013-04-23 Philipp Klaus Krause <pkk AT spth.de>
23336         * src/stm8/gen.c:
23337           STM8: Fix parameter stack offset, fix handling of a in GET_VALUE_AT_ADDRESS.
23339 2013-04-22 Philipp Klaus Krause <pkk AT spth.de>
23341         * src/stm8/gen.c:
23342           STM8: Fix returning 4-byte values, fix saving of x, y over call, fix
23343           handling of registers in stack-to-stack copy.
23345 2013-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
23347         * device/include/pic14/pic16regs.h:
23348           New common header for the pic14 family.
23350 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23352         * device/lib/stm8/Makefile.in:
23353           STM8: Add missing integer support functions.
23354         * src/stm8/gen.c:
23355           STM8: Enable inline asm.
23357 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23359         * support/regression/Makefile.in,
23360           support/regression/ports/stm8/spec.mk,
23361           support/regression/ports/stm8/support.c,
23362           support/regression/ports/stm8/uCsim.cmd:
23363           STM8: Basic infrastructure for regression tests, partially from a patch
23364           by Valentin Dudouyt.
23365         * src/stm8/gen.c:
23366           STM8: Name mangling for address generation.
23368 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23370         * device/lib/Makefile.in:
23371           STM8: Enable building standard library.
23373 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23375         * src/stm8/gen.c,
23376           src/stm8/main.c:
23377           STM8: Applied patch from Valentin Dudouyt to implement __critical.
23379 2013-04-19 Philipp Klaus Krause <pkk AT spth.de>
23381         * device/lib/stm8/Makefile.in:
23382           STM8: Disable building some library files.
23383         * src/stm8/gen.c:
23384           STM8: Fix comparison.
23385         * src/stm8/main.c:
23386           STM8: Disable some annoying debug output.
23388 2013-04-19 Philipp Klaus Krause <pkk AT spth.de>
23390         * src/stm8/main.c,
23391           sdas/asstm8/stm8mch.c:
23392           STM8: Applied patch from Valentin Dudouyt to support addw sp, #byte.
23393         * src/stm8/ralloc2.cc:
23394           STM8: Enabled cost function for more iCodes.
23395         * src/stm8/gen.c:
23396           STM8: Fixes for logic ops, RETURN, '-', stack-to-stack copy, implement
23397           more operands for comparison.
23399 2013-04-18 Philipp Klaus Krause <pkk AT spth.de>
23401         * src/stm8/main.c:
23402           STM8: Disable generation of jump tables.
23403         * src/stm8/gen.c:
23404           STM8: Implement more comparison operands, fix for stack-to-stack
23405           temporary assignment.
23407 2013-04-18 Philipp Klaus Krause <pkk AT spth.de>
23409         * src/stm8/gen.c:
23410           STM8: Endianness fixes, implement dummy pointer reads, implement '!',
23411           implement more operands in logic ops, implement more return operands,
23412           implement more operands for cast to _Bool, implement more operands for
23413           subtraction.
23415 2013-04-18 Borut Razem <borut.razem AT gmail.com>
23417         * device/non-free/lib/pic14/libdev/mkall.sh,
23418           device/examples/mcs51/simple/test,
23419           device/examples/mcs51/simple/go,
23420           device/examples/mcs51/simple2/go,
23421           device/examples/mcs51/simple2/test,
23422           sim/ucsim/conf:
23423           use /bin/sh instead of /bin/bash to enable compilation on OpenBSD
23425 2013-04-17 Philipp Klaus Krause <pkk AT spth.de>
23427         * src/stm8/gen.c:
23428           STM8: Fix for cast to bool.
23430 2013-04-17 Philipp Klaus Krause <pkk AT spth.de>
23432         * src/stm8/gen.c:
23433           STM8: Implement more shifts, unary minus for float, implement large
23434           return values, save regs over calls, coalescing.
23436 2013-04-16 Philipp Klaus Krause <pkk AT spth.de>
23438         * src/stm8/gen.c:
23439           STM8: Fix emission of rlwa, fix 16-bit increment with result in x,
23440           operand not in x.
23442 2013-04-15 Philipp Klaus Krause <pkk AT spth.de>
23444         * src/stm8/gen.c:
23445           STM8: Fixes for reading / writing through pointer, implement more IFX,
23446           fix wide subtraction and compariosn.
23448 2013-04-15 Philipp Klaus Krause <pkk AT spth.de>
23450         * src/stm8/gen.c:
23451           STM8: Now that we know more about sp-manipulation, we can do it smarter.
23453 2013-04-14 Molnar Karoly <molnarkaroly AT users.sf.net>
23455         * support/scripts/mcs51-disasm.pl:
23456           The overlapped block and instruction it is no longer a fatal error.
23458 2013-04-14 Philipp Klaus Krause <pkk AT spth.de>
23460         * src/stm8/main.c:
23461           STM8: Applied patch from Valentin Dudouyt to set default code loc.
23462         * src/stm8/gen.c:
23463           STM8: Be more cautious about arithmetic on stack pointer.
23465 2013-04-13 Philipp Klaus Krause <pkk AT spth.de>
23467         * src/SDCCglobl.h,
23468           src/SDCCglue.c,
23469           src/SDCCmain.c,
23470           src/pic16/glue.c,
23471           src/z80/main.c,
23472           doc/sdccman.lyx,
23473           src/stm8/main.c:
23474           Remove option --main-return, make the behaviour previously invoked by
23475           --main-return the default.
23477 2013-04-13 Philipp Klaus Krause <pkk AT spth.de>
23479         * sdas/asstm8/stm8.h,
23480           sdas/asstm8/stm8mch.c,
23481           sdas/asstm8/stm8pst.c,
23482           src/SDCCglue.c,
23483           src/stm8/gen.c,
23484           src/stm8/main.c:
23485           STM8: Applied patches from Valentin Dudouyt containing various fixes.
23487 2013-04-11 Philipp Klaus Krause <pkk AT spth.de>
23489         * src/stm8/gen.c,
23490           src/stm8/ralloc.c:
23491           Fix handling of stack part of local variables.
23493 2013-04-11 Philipp Klaus Krause <pkk AT spth.de>
23495         * src/stm8/gen.c:
23496           STM8: Implement basic pointer writes, fix handling of 16-bit literals.
23498 2013-04-10 Philipp Klaus Krause <pkk AT spth.de>
23500         * src/stm8/gen.c:
23501           STM8: END_FUNCTION stack adjustment fix, more efficient zeroing, addition
23502           fix, return value use.
23504 2013-04-09 Philipp Klaus Krause <pkk AT spth.de>
23506         * src/stm8/gen.c:
23507           STM8: Fix for GET_VALUE_AT_ADDRESS, fixes for shift by literal, implement
23508           call by pointer, minor improvements.
23510 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23512         * src/stm8/gen.c:
23513           STM8: Allow more operands in xor, and, or.
23515 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23517         * src/stm8/gen.c:
23518           STM8: Implement integer unary minus, or fix.
23520 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23522         * src/stm8/gen.c:
23523           STM8: Implement more comparisons, stack handling fix.
23524         * src/SDCCsymt.c:
23525           STM8: Allow returning long long (not implemented in code genration yet).
23527 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23529         * src/stm8/gen.c:
23530           STM8: Stack adjustment fixes, signed cast fix, ifx fix,
23531           GET_VALUE_AT_ADDRESS fix.
23533 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23535         * src/stm8/gen.c:
23536           STM8: Implement cast to _Bool.
23537         * device/include/sdcc-lib.h,
23538           device/include/asm/stm8/features.h:
23539           STM8: Port feature header.
23540         * device/include/math.h,
23541           device/include/stdarg.h:
23542           STM8: Port feature configuration.
23544 2013-04-07 Philipp Klaus Krause <pkk AT spth.de>
23546         * src/stm8/gen.c:
23547           STM8: Allow more operand types in Ifx, implement more casts.
23549 2013-04-06 Philipp Klaus Krause <pkk AT spth.de>
23551         * src/stm8/gen.c:
23552           STM8: Fixes for stack pointer handling.
23554 2013-04-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23556         * support/regression/tests/literalop.c,
23557           support/regression/tests/bitwise.c: Fix host regression failues on
23558           64-bit PowerPC
23559         * support/regression/tests/align.c: do not include stdalign.h on
23560           hosts that do not support it
23562 2013-04-06 Philipp Klaus Krause <pkk AT spth.de>
23564         * src/stm8/gen.c:
23565           STM8: Implement comparison for more operand types.
23567 2013-04-02 Philipp Klaus Krause <pkk AT spth.de>
23569         * src/SDCC.lex,
23570           src/SDCC.y,
23571           src/SDCCerr.h,
23572           src/SDCCerr.c,
23573           src/SDCCsymt.h,
23574           src/SDCCsymt.c,
23575           src/SDCCicode.c,
23576           src/SDCCval.h,
23577           src/SDCCval.c,
23578           src/port.h:
23579           src/*/main.c:
23580           doc/sdccman.lyx,
23581           support/regression/tests/assert.c,
23582           support/regression/tests/align.c:
23583           Support for C11 _Static_assert static assertions and _Alignas alignment
23584           specifiers.
23586 2013-04-01 Philipp Klaus Krause <pkk AT spth.de>
23588         * src/SDCCsymt.c,
23589           src/stm8/gen.c,
23590           src/stm8/main.c:
23591           STM8: Implement on-stack register passing, taking addresses of on-stack
23592           variables, handling of on-stack parameter operands.
23594 2013-03-31 Philipp Klaus Krause <pkk AT spth.de>
23596         * doc/sdccman.lyx:
23597           Update manual.
23598         * src/SDCCmain.c:
23599           Deprecation warning for --small-is-8bits.
23600         * device/include/assert.h:
23601           Prepare for static assertions.
23602         * src/SDCCast.h:
23603           Fix warning.
23605 2013-03-30 Philipp Klaus Krause <pkk AT spth.de>
23607         * doc/sdccman.lyx:
23608           Update and reorganize manual.
23609         * src/izt:
23610           Kill i186 and tcls900h ports.
23612 2013-03-29 Philipp Klaus Krause <pkk AT spth.de>
23614         * src/SDCC.lex,
23615           src/SDCCast.c,
23616           src/SDCCast.h,
23617           src/SDCC.y,
23618           device/include/stdalign.h,
23619           device/include/stddef.h,
23620           device/include/stdnoreturn.h,
23621           support/regression/tests/align.c:
23622           Support for C11 _Alignof operator.
23624 2013-03-24 Philipp Klaus Krause <pkk AT spth.de>
23626         * src/z80/gen.c:
23627           Use mlt for multiplication by constant in z180 port.
23628         * src/SDCCralloc.hpp:
23629           Add comment to reference the paper on the register allocator.
23631 2013-03-16 Philipp Klaus Krause <pkk AT spth.de>
23633         * src/z80/gen.c:
23634           Fix bug #2145.
23636 2013-03-18 Borut Razem <borut.razem AT gmail.com>
23638         * support/scripts/gen_known_bugs.pl: use http instead https since the
23639           LWP::Protocol::https perl module seems not to be installed by default
23641 2013-03-16 Molnar Karoly <molnarkaroly AT users.sf.net>
23643         * device/include/pic14/pic14devices.txt,
23644           device/non-free/include/pic14/pic16f1788.h,
23645           device/non-free/include/pic14/pic16f1789.h,
23646           device/non-free/lib/pic14/libdev/Makefile.in,
23647           device/non-free/lib/pic14/libdev/devices.txt,
23648           device/non-free/lib/pic14/libdev/pic16f1788.c,
23649           device/non-free/lib/pic14/libdev/pic16f1789.c,
23650           doc/sdccman.lyx:
23651           New devices: PIC16F1788, PIC16F1789
23653 2013-03-15 Borut Razem <borut.razem AT gmail.com>
23655         * support/scripts/gen_known_bugs.pl: adapted for Allura bug tracker
23657 2013-03-14 Philipp Klaus Krause <pkk AT spth.de>
23659         * src/z80/peep.c:
23660           Fix bug #2142 (ld is fixed, upper case still open).
23662 2013-03-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23664         * support/scripts/mcs51-disasm.pl:
23665           Filters the invalid instructions and code cleaning.
23667 2013-03-12 Sourceforge
23669         * Project upgrade: Bug and RFE numbers after this
23670           Use a numbering system different from the one
23671           used before (also some other changes).
23673 2013-03-05 Molnar Karoly <molnarkaroly AT users.sf.net>
23674         * device/non-free/include/pic14/pic16f1784.h,
23675           device/non-free/include/pic14/pic16f1786.h,
23676           device/non-free/include/pic14/pic16f1787.h,
23677           device/non-free/include/pic16/pic18f65j94.h,
23678           device/non-free/include/pic16/pic18f66j60.h,
23679           device/non-free/include/pic16/pic18f66j65.h,
23680           device/non-free/include/pic16/pic18f66j94.h,
23681           device/non-free/include/pic16/pic18f66j99.h,
23682           device/non-free/include/pic16/pic18f67j60.h,
23683           device/non-free/include/pic16/pic18f67j94.h,
23684           device/non-free/include/pic16/pic18f85j94.h,
23685           device/non-free/include/pic16/pic18f86j60.h,
23686           device/non-free/include/pic16/pic18f86j65.h,
23687           device/non-free/include/pic16/pic18f86j94.h,
23688           device/non-free/include/pic16/pic18f86j99.h,
23689           device/non-free/include/pic16/pic18f87j60.h,
23690           device/non-free/include/pic16/pic18f87j94.h,
23691           device/non-free/include/pic16/pic18f95j94.h,
23692           device/non-free/include/pic16/pic18f96j60.h,
23693           device/non-free/include/pic16/pic18f96j65.h,
23694           device/non-free/include/pic16/pic18f96j94.h,
23695           device/non-free/include/pic16/pic18f96j99.h,
23696           device/non-free/include/pic16/pic18f97j60.h,
23697           device/non-free/include/pic16/pic18f97j94.h,
23698           support/scripts/cinc2h.pl:
23699           Updated based on the gputils.
23701 2013-03-03 Raphael Neider <rneider AT web.de>
23703         * src/pic14/gen.c (popGet): improve debugging output,
23704           (SetIrp): handle PO_IMMEDIATES correctly, restructure code,
23705           (genUnpackBits): handle dummy reads w/o result correctly,
23706           (genNearPointerGet): handle dummy reads w/o result efficiently,
23707           together this fixes #3606703
23708         * src/pic14/gen.c (genConstPointerGet):
23709           read AOP_SIZE(result) bytes from source, fixes #3606709
23711 2013-02-25 Raphael Neider <rneider AT web.de>
23713         * src/pic14/ralloc.c (packRegsForOneuse):
23714           prevent NULL ptr dereference (fixes bug #3605966)
23716 2013-02-24 Raphael Neider <rneider AT web.de>
23718         * device/lib/pic14/libsdcc/ulong2fs.c:
23719           prefer 'while (COND) {}' over 'if (COND) do {} while (COND)'
23720         * src/pic14/gen.c (genAnd):
23721           fix for loop condition in ulong2fs.c (fixes #3605855)
23722         * device/lib/pic14/libm/Makefile.am:
23723           fix typo in CFLAGS for libme (fixes #3605860)
23725 2013-02-17 Raphael Neider <rneider AT web.de>
23727         * device/non-free/lib/pic14/configure.in,
23728           device/non-free/lib/pic16/configure.ac:
23729           Check and display devices missing in gputils before proceeding
23730           and request updating gputils if any to-be-supported is missing
23731         * device/non-free/lib/pic14/configure,
23732           device/non-free/lib/pic16/configure:
23733           regenerated
23735 2013-02-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23737         * support/scripts/mcs51-disasm.pl:
23738           Use default sfr and sbit names if no header file.
23740 2013-02-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23742         * src/stm8/gen.c:
23743           Code generation fixes and refactoring, implement ^, CALL.
23744         * src/SDCCopt.c:
23745           Enable lospre for stm8.
23746         * src/stm8/main.c:
23747           Correctly announce lack of multiplication support.
23749 2013-02-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23751         * src/stm8/gen.c:
23752           Basic code generation infrastructure for &, |, RETURN, <, >.
23754 2013-02-10 Molnar Karoly <molnarkaroly AT users.sf.net>
23756         * support/scripts/mcs51-disasm.pl: Adds used count to sfr, sbit and bit lists.
23758 2013-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23760         * src/stm8/gen.c,
23761           src/stm8/main.c:
23762           Various code generation fixes, improvements, debug messages.
23763         * device/lib/stm8/Makefile.in:
23764           Fix some hc08 leftovers.
23766 2013-02-08 Molnar Karoly <molnarkaroly AT users.sf.net>
23768         * support/scripts/mcs51-disasm.pl: bugfix
23770 2013-02-03 Molnar Karoly <molnarkaroly AT users.sf.net>
23772         * support/scripts/mcs51-disasm.pl: Improved recognition of jump tables.
23774 2013-02-03 Molnar Karoly <molnarkaroly AT users.sf.net>
23776         * support/scripts/mcs51-disasm.pl: Improved recognition of jump tables and
23777           bugfix.
23779 2013-02-03 Molnar Karoly <molnarkaroly AT users.sf.net>
23781         * support/scripts/mcs51-disasm.pl: Bugfix and count of references in the RAM.
23783 2013-02-01 Molnar Karoly <molnarkaroly AT users.sf.net>
23785         * support/scripts/mcs51-disasm.pl: Small refinements.
23787 2013-01-31 Molnar Karoly <molnarkaroly AT users.sf.net>
23789         * support/scripts/mcs51-disasm.pl: Use IRAM key in name-list file.
23791 2013-01-29 Philipp Klaus Krause <philipp AT colecovision.eu>
23793         * src/stm8/gen.c:
23794           Use clr for more efficient zeroing.
23796 2013-01-29 Molnar Karoly <molnarkaroly AT users.sf.net>
23798         * support/scripts/mcs51-disasm.pl: Use informations of the OSEG area from
23799           map file.
23801 2013-01-28 Molnar Karoly <molnarkaroly AT users.sf.net>
23803         * support/scripts/mcs51-disasm.pl: New command option: --name-list
23805 2013-01-28 Philipp Klaus Krause <pkk AT spth.de>
23807         * src/hc08/gen.c,
23808           More efficient calls to _Noreturn functions.
23810 2013-01-28 Molnar Karoly <molnarkaroly AT users.sf.net>
23812         * support/scripts/mcs51-disasm.pl: Improved finds of stack. Prints into
23813           map the iRAM.
23815 2013-01-27 Philipp Klaus Krause <pkk AT spth.de>
23817         * src/SDCCpeeph.c,
23818           src/z80/gen.c,
23819           More efficient calls to _Noreturn functions.
23821 2013-01-27 Molnar Karoly <molnarkaroly AT users.sf.net>
23823         * support/scripts/mcs51-disasm.pl: Prints the map of RAM, list of bits and
23824           start of stack.
23826 2013-01-27 Molnar Karoly <molnarkaroly AT users.sf.net>
23828         * support/scripts/mcs51-disasm.pl: Improved recognition of jump tables.
23830 2013-01-26 Molnar Karoly <molnarkaroly AT users.sf.net>
23832         * support/scripts/mcs51-disasm.pl: New command option: --recognize-jump-tables
23834 2013-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
23836         * support/scripts/mcs51-disasm.pl: New command option: --find-lost-labels
23838 2013-01-23 Molnar Karoly <molnarkaroly AT users.sf.net>
23840         * support/scripts/mcs51-disasm.pl:
23841           New feature in "Public labels" section: (calls: ..., jumps: ...)
23842           ("number of calls" and "number of jumps")
23844 2013-01-21 Molnar Karoly <molnarkaroly AT users.sf.net>
23846         * support/scripts/mcs51-disasm.pl: Bugfix and more proposal for use.
23848 2013-01-20 Molnar Karoly <molnarkaroly AT users.sf.net>
23850         * support/scripts/mcs51-disasm.pl: Additional informations about direction
23851           of the jumps.
23853 2013-01-20 Molnar Karoly <molnarkaroly AT users.sf.net>
23855         * support/scripts/mcs51-disasm.pl: "Public variables" -> "Public labels"
23857 2013-01-20 Molnar Karoly <molnarkaroly AT users.sf.net>
23859         * support/scripts/mcs51-disasm.pl: Improved handling of blocks and
23860           lists of labels and variables.
23862 2013-01-19 Molnar Karoly <molnarkaroly AT users.sf.net>
23864         * support/scripts/mcs51-disasm.pl: Expanded assembly mode and nicer tables.
23866 2013-01-15 Raphael Neider <rneider AT web.de>
23868         * device/lib/pic16/libsdcc/long/modulong.c:
23869           return ~0UL instead of looping endlessly on divide-by-0,
23870           addresses #3600983
23872 2013-01-13 Raphael Neider <rneider AT web.de>
23874         * src/pic14/gen.c (genDataPointerSet):
23875           fix and simplify operand size detection, fixes #3600361
23876         * src/pic14/main.c (keywords[]):
23877           remove unsupported "pdata", fixes #3600724
23879 2013-01-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23881         * support/scripts/cinc2h.pl: Canceled the command option: --create-sfr16
23882         * device/non-free/include/pic16/pic18*.h,
23883           device/non-free/lib/pic16/libdev/pic18*.c: Canceled the __sfr16 type.
23885 2013-01-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23887         * support/scripts/mcs51-disasm.pl: New command option: --assembly-source
23889 2013-01-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23891         * support/scripts/cinc2h.pl: New command option: --create-sfr16
23892           (This option is for the time being operates only at the pic16 series.)
23893         * device/non-free/include/pic16/pic18*.h,
23894           device/non-free/lib/pic16/libdev/pic18*.c: Implementation of the __sfr16
23895           type.
23897 2013-01-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23899         * support/scripts/mcs51-disasm.pl: New command option: --no-explanations
23901 2013-01-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23903         * support/scripts/mcs51-disasm.pl: New command option: --hex-constant
23905 2013-01-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23907         * support/scripts/mcs51-disasm.pl: Faster the decoding of instructions.
23909 2013-01-11 Molnar Karoly <molnarkaroly AT users.sf.net>
23911         * support/scripts/mcs51-disasm.pl: More control characters are recognized.
23912           Refinement the align of explanations.
23914 2013-01-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23916         * src/hc08/main.c: Nearly exact instruction sizes for peephole
23917           branch optimizations.
23919 2013-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23921         * src/mcs51/gen.c (genSend): "fix" for bug #3600343
23923 2013-01-10 Molnar Karoly <molnarkaroly AT users.sf.net>
23925         * support/scripts/mcs51-disasm.pl: Simplified the code.
23927 2013-01-10 Molnar Karoly <molnarkaroly AT users.sf.net>
23929         * doc/sdccman.lyx: Expanded the 6.2 (Tools) table.
23931 2013-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23933         * src/hc08/ralloc.c (packRegisters),
23934         * src/hc08/gen.c (aopForRemat): allow more rematerializations of
23935           cast pointers
23936         * src/hc08/ralloc2.cc (operand_is_ax): fixed bug that misidentified
23937           some register assignments as the register pair AX
23939 2013-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23941         * src/SDCC.y,
23942         * src/SDCCast.h,
23943         * src/SDCCast.c: Move the test condition of a for-loop to the end of
23944           the loop if it is always true for the first iteration of the loop
23945           and has no side-effects.
23947 2013-01-09 Molnar Karoly <molnarkaroly AT users.sf.net>
23949         * support/scripts/mcs51-disasm.pl: Internal restructuring an bug fixes.
23951 2013-01-08 Molnar Karoly <molnarkaroly AT users.sf.net>
23953         * support/scripts/mcs51-disasm.pl: Prints in table the embedded constants.
23955 2013-01-07 Molnar Karoly <molnarkaroly AT users.sf.net>
23957         * support/scripts/mcs51-disasm: Renamed to mcs51-disasm.pl
23959 2013-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23961         * src/hc08/gen.c,
23962         * src/hc08/ralloc2.cc: Support more register combinations
23963           with pointer get/set and ifx iCodes. Allow rmw instructions to
23964           use X as a scratch register.
23965         * sim/ucsim/hc08.src/inst.cc: Fixed bug with cbeq using stack operand
23966           modifying hx
23968 2012-01-07 Philipp Klaus Krause <pkk AT spth.de>
23970         * src/stm8/gen.c:
23971           Infrastructure for the stm8 port.
23973 2012-01-06 Philipp Klaus Krause <pkk AT spth.de>
23975         * src/stm8/gen.c:
23976           Infrastructure for the stm8 port.
23978 2013-01-06 Philipp Klaus Krause <pkk AT spth.de>
23980         * src/z80/gen.c,
23981           src/z80/ralloc.c:
23982           Minor code cleanup.
23984 2013-01-06 Molnar Karoly <molnarkaroly AT users.sf.net>
23986         * support/scripts/mcs51-disasm:
23987           Changes in the commandline options:
23988             Renamed --code-size to --rom-size.
23989             Removed: --debug
23990             New: --verbose, --const-area
23991           Extracts more informations from map file.
23993 2012-01-06 Philipp Klaus Krause <pkk AT spth.de>
23995         * src/stm8/ralloc.c,
23996           src/stm8/gen.c:
23997           Infrastructure for the stm8 port.
23999 2013-01-06 Borut Razem <borut.razem AT gmail.com>
24001         * src/SDCCasm.c, src/SDCCasm.h: excluded unused asm mappings
24003 2012-01-06 Philipp Klaus Krause <pkk AT spth.de>
24005         * src/stm8/ralloc.c,
24006           src/stm8/ralloc2.cc:
24007           Register allocation infrastructure for the stm8 port.
24008         * src/stm8/gen.c:
24009           Code generation infrastructure for the stm8 port.
24011 2013-01-05 Molnar Karoly <molnarkaroly AT users.sf.net>
24013         * support/scripts/mcs51-disasm: More informations from map file.
24015 2013-01-05 Molnar Karoly <molnarkaroly AT users.sf.net>
24017         * support/scripts/mcs51-disasm: The required perl version: 5.12.0
24018           One repair: The unknown instruction is actually simple embedded
24019           data in the code.
24021 2013-01-05 Molnar Karoly <molnarkaroly AT users.sf.net>
24023         * support/scripts/mcs51-disasm: New commandline option: --map-file
24024           More detailed comments of instructions.
24026 2013-01-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24028         * src/hc08/ralloc.h,
24029         * src/hc08/ralloc.c,
24030         * src/hc08/gen.h,
24031         * src/hc08/gen.c: Removed some unused fields of the asmop
24032           struct. Made checking asmops for registers more efficient.
24034 2013-01-04 Molnar Karoly <molnarkaroly AT users.sf.net>
24036         * support/scripts/mcs51-disasm: New commandline option: --code-size
24037           In addition, limited tracking of some register (Rx, DPTR).
24039 2013-01-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24041         * src/hc08/ralloc.c: Removed old code from the original fork
24042           from mcs51 that was not being used. Brought the old register
24043           allocator up to date with the current code generator.
24044         * src/hc08/gen.c: Support ldhx/sthx with stack operands on s08.
24045           Avoid using hx to assign literals to stack operands on hc08.
24047 2013-01-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24049         * src/hc08/gen.c (genAssignLit): fixed bug on systems that default
24050           to signed char.
24052 2013-01-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24054         * src/hc08/gen.c: Fixed code size regression on s08 from overuse
24055           of indexed addressing mode. Clean out some old, unused source.
24056           Initialize hc08_aop_pass[] only once. Correct costs in
24057           accopWithAop() for 2 byte instructions. Small improvements
24058           to addition and subtraction.
24060 2013-01-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24062         * device/non-free/include/pic14/pic16f720.h,
24063           device/non-free/include/pic14/pic16f721.h,
24064           device/non-free/include/pic14/pic16lf1902.h,
24065           device/non-free/include/pic14/pic16lf1903.h,
24066           device/non-free/include/pic16/pic18f65j94.h,
24067           device/non-free/include/pic16/pic18f66j60.h,
24068           device/non-free/include/pic16/pic18f66j65.h,
24069           device/non-free/include/pic16/pic18f66j94.h,
24070           device/non-free/include/pic16/pic18f66j99.h,
24071           device/non-free/include/pic16/pic18f67j60.h,
24072           device/non-free/include/pic16/pic18f67j94.h,
24073           device/non-free/include/pic16/pic18f85j94.h,
24074           device/non-free/include/pic16/pic18f86j60.h,
24075           device/non-free/include/pic16/pic18f86j65.h,
24076           device/non-free/include/pic16/pic18f86j94.h,
24077           device/non-free/include/pic16/pic18f86j99.h,
24078           device/non-free/include/pic16/pic18f87j60.h,
24079           device/non-free/include/pic16/pic18f87j94.h,
24080           device/non-free/include/pic16/pic18f95j94.h,
24081           device/non-free/include/pic16/pic18f96j60.h,
24082           device/non-free/include/pic16/pic18f96j65.h,
24083           device/non-free/include/pic16/pic18f96j94.h,
24084           device/non-free/include/pic16/pic18f96j99.h,
24085           device/non-free/include/pic16/pic18f97j60.h,
24086           device/non-free/include/pic16/pic18f97j94.h,
24087           device/non-free/lib/pic14/libdev/pic16f720.c,
24088           device/non-free/lib/pic14/libdev/pic16f721.c,
24089           device/non-free/lib/pic14/libdev/pic16lf1902.c,
24090           device/non-free/lib/pic14/libdev/pic16lf1903.c:
24091           Updated based on the gputils.
24093 2013-01-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24095         * src/hc08/gen.h,
24096         * src/hc08/gen.c: More optimization of literal constant assignments.
24097           Use indexed addressing mode in place of extended in some contexts.
24099 2013-01-01 Molnar Karoly <molnarkaroly AT users.sf.net>
24101         * support/scripts/mcs51-disasm: Disassembler for the mcs51 family.
24103 2013-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24105         * src/hc08/peeph.def: Removed peephole rule #8 since it is handled
24106           in code generator now. Added rules for dbnz.
24107         * src/hc08/gen.c:  Rewrote genDbnz(). Minor improvements to genCmp()
24108           and asmopToBool(). Removed some totally wrong code from genIfx().
24110 2012-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24112         * src/hc08/ralloc.h,
24113         * src/hc08/ralloc.c,
24114         * src/hc08/gen.c: optimization of literal constant loads/transfers
24116 2012-12-31 Raphael Neider <rneider AT web.de>
24118         * src/pic14/genarith.c (genAddLit): fixed coding style,
24119           fixed #3599010 by adding implementation of (int + X)
24120           for X in [0x0102; 0x01FE]
24122 2012-12-29 Philipp Klaus Krause <pkk AT spth.de>
24124         * src/stm8/gen.c,
24125           src/stm8/ralloc2.cc:
24126           Infrastructure for STM8 port.
24128 2012-12-29 Philipp Klaus Krause <pkk AT spth.de>
24130         * src/SDCCbtree.cc:
24131           Fix bug #3598841.
24133 2012-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
24135         * sdcc_vc.h.in: converted TABs to spaces
24136         * src/SDCCast.c(expandInlineFuncs): even MSVC 2012 still does not support
24137           C99 randomly placed declarations, please place all declarations at the
24138           start of a block
24139         * src/sdcc.vcxproj,
24140         * src/sdcc.vcxproj.filters: added SDCCbtree.cc and SDCCbtree.h
24141         * src/SDCCbtree.cc: fixed STX usage
24143 2012-12-29 Philipp Klaus Krause <pkk AT spth.de>
24145         * src/stm8/ralloc2.cc,
24146           src/stm8/gen.c,
24147           src/stm8/ralloc.c:
24148           Infrastructure for STM8 port.
24150 2012-12-28 Philipp Klaus Krause <pkk AT spth.de>
24152         * src/stm8/ralloc2.cc,
24153           src/stm8/gen.c,
24154           src/stm8/gen.h:
24155           Infrastructure for STM8 port.
24157 2012-12-28 Philipp Klaus Krause <pkk AT spth.de>
24159         * support/regression/tests/gcc-torture-execute-20011126-1.c,
24160           support/regression/tests/gcc-torture-execute-20000717-2.c,
24161           support/regression/tests/gcc-torture-execute-921202-2.c,
24162           support/regression/tests/gcc-torture-execute-20050104-1.c:
24163           Enable some long long regression tests, that now seem to work even on
24164           32-bit systems.
24166 2012-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
24168         * doc/sdccman.lyx: small update about sdas390
24169         * sdas/asgb/gbpst.c: enable macros
24170         * sdas/asxxsrc/aslex.c (nxtline): also fix macro case
24171         * sdas/asxxsrc/asmcro.c,
24172         * sdas/asxxsrc/asout.c,
24173         * sdas/asxxsrc/asxxxx.h: small step to ASxxxx v5
24174         * src/mcs51/gen.c(genJumpTab): use optimize.codeSpeed and options.acall_ajmp
24175         * src/SDCCast.c(createFunction): fixed warning
24176         * src/SDCCpeeph.c: cosmetics
24177         * support/regression/tests/bug3467508.c: suppress warnings
24178         * support/regression/tests/gcc-torture-execute-20050125-1.c: fixed warning
24179         * support/regression/tests/gcc-torture-execute-20050224-1.c: shortened test,
24180           always perform ASSERT for correct statistics
24181         * support/regression/tests/gcc-torture-execute-20051104-1.c: added comments
24182         * support/regression/tests/gcc-torture-execute-doloop-2.c: always ASSERT
24183         * support/regression/tests/key.c,
24184         * support/regression/tests/long_asm_line.c,
24185         * support/regression/tests/macro.c: use at least one ASSERT
24187 2012-12-28 Philipp Klaus Krause <pkk AT spth.de>
24189         * src/stm8/ralloc2.cc,
24190           src/stm8/gen.h,
24191           src/stm8/main.c,
24192           src/stm8/gen.c,
24193           src/stm8/ralloc.h,
24194           src/stm8/ralloc.c:
24195           Infrastructure for STM8 port.
24197 2012-12-27 Philipp Klaus Krause <pkk AT spth.de>
24199         * Merged blocktree branch.
24201 2012-12-27 Philipp Klaus Krause <pkk AT spth.de>
24203         * src/SDCCglue.c:
24204           Handle emission of long long constants.
24205           Emit error message for unknown sizes instead of failing silently.
24207 2012-12-27 Maarten Brock <sourceforge.brock AT dse.nl>
24209         * src/SDCCval.c,
24210         * sdcc_vc.h.in: moved strto(u)ll macros and fixed warnings
24212 2012-12-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24214         * src/SDCCglue.c (emitOverlay): fixed bug #3596899
24215         * support/regression/tests/gcc-tortue-execute-20021118-2.c:
24216           re-enabled test (fixed by my 2012-12-26 commit)
24218 2012-12-26 Maarten Brock <sourceforge.brock AT dse.nl>
24220         * src/SDCCval.c: inserted macros for strtoll and strtoull
24222 2012-12-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24224         * src/SDCC.y,
24225         * src/SDCCsymt.c,
24226         * src/SDCCsymt.h,
24227         * src/SDCCast.c,
24228         * src/SDCCast.h: Fixed some scope related bugs including
24229           #3190029 (improved previous fix), #3513308, and #3511513
24230         * support/regression/tests/gcc-torture-execute-960116-1.c:
24231           re-enabled test
24233 2012-12-26 Borut Razem <borut.razem AT gmail.com>
24235         * support/sdbinutils/binutils/configure.in,
24236           support/sdbinutils/binutils/configure:
24237           fixed bug #3527589 - "Build fails on archlinux ppc"
24239 2012-12-25 Borut Razem <borut.razem AT gmail.com>
24241         * src/pic14/gen.c, src/pic14/main.c:
24242           applied patch #3193179 - "pic14 naked ISR handler"
24243           implementing RFE #1432077 - "naked for pic14",
24244           thanks to Wolfgang Jung
24246 2012-12-23 Vaclav Peroutka <vaclavpe AT seznam.cz>
24248    * sim/ucsim/configure
24249      sim/ucsim/configure.in
24250      sim/ucsim/main_in.mk
24251      sim/ucsim/packages_in.mk
24252      sim/ucsim/stypes.h
24253      sim/ucsim/st7.src/(c).1
24254      sim/ucsim/st7.src/Makefile.in
24255      sim/ucsim/st7.src/clean.mk
24256      sim/ucsim/st7.src/conf.mk
24257      sim/ucsim/st7.src/glob.cc
24258      sim/ucsim/st7.src/glob.h
24259      sim/ucsim/st7.src/inst.cc
24260      sim/ucsim/st7.src/instcl.h
24261      sim/ucsim/st7.src/regsst7.h
24262      sim/ucsim/st7.src/simst7.cc
24263      sim/ucsim/st7.src/simst7cl.h
24264      sim/ucsim/st7.src/sst7.cc
24265      sim/ucsim/st7.src/st7.cc
24266      sim/ucsim/st7.src/st7cl.h
24267      sim/ucsim/st7.src/st7mac.h
24268      sim/ucsim/stm8.src/inst.cc
24269      sim/ucsim/stm8.src/instcl.h
24270      sim/ucsim/stm8.src/stm8.cc
24271      sim/ucsim/stm8.src/stm8mac.h
24273 2012-12-23 Philipp Klaus Krause <pkk AT spth.de>
24275         * src/stm8/gen.c,
24276           src/stm8/ralloc.h,
24277           src/stm8/ralloc2.cc,
24278           src/stm8/ralloc.c:
24279           Infrastructure for STM8 port.
24281 2012-12-22 Philipp Klaus Krause <pkk AT spth.de>
24283         * src/stm8/main.c,
24284           src/stm8/gen.c,
24285           src/stm8/gen.h,
24286           src/stm8/ralloc.h,
24287           src/port.h,
24288           src/SDCCmain.c,
24289           src/stm8/ralloc.c:
24290           Basic infrastructure for STM8 port.
24292 2012-12-21 Philipp Klaus Krause <pkk AT spth.de>
24294         * Makefile.common.in,
24295           Makefile.in,
24296           configure.in,
24297           sim/ucsim/aclocal.m4,
24298           sim/ucsim/configure,
24299           configure,
24300           debugger/mcs51/aclocal.m4,
24301           src/port.h,
24302           src/stm8,
24303           src/stm8/Makefile.in,
24304           src/stm8/main.c,
24305           src/stm8/peeph.def,
24306           device/lib/stm8,
24307           device/lib/stm8/Makefile.in,
24308           src/stm8/ralloc.h:
24309           Basic build infrastructure for STM8 port.
24311 2012-12-20 Philipp Klaus Krause <pkk AT spth.de>
24313         * src/SDCCbtree.cc:
24314           BTREE_DEBUG macro for enabling debub messages in blocktree-based allocator.
24316 2012-12-20 Philipp Klaus Krause <pkk AT spth.de>
24318         * support/regression/tests/frexpf.c:
24319           Test for frexpf().
24320         * src/z80/gen.c:
24321           Do not attempt to restore pair using dec, when it has been pushed.
24323 2012-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24325         * src/SDCCval.c (constVal),
24326         * sdas/asxxsrc/aslex.c (nxtline): fixed warnings
24328 2012-12-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24330         * src/SDCCbtree.cc:
24331           Special handling for parameters in btree-based stack allocation.
24333 2012-12-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24335         * src/SDCCralloc.hpp:
24336           Send error message about invalid root to cerr instead of cout.
24338 2012-12-19 Borut Razem <borut.razem AT gmail.com>
24340         * src/SDCCmain.c, src/SDCCglobl.h, support/cpp/sdcpp.opt,
24341           support/cpp/libcpp/init.c, support/cpp/sdcpp-opts.c
24342           fixed bug 3572584 - "Trigraphs don't work", 2nd try:
24343           trigraphs are enabled by default in sdcpp
24345 2012-12-16 Borut Razem <borut.razem AT gmail.com>
24347         * src/SDCCglobl.h, src/SDCCmain.c:
24348           fixed bug 3572584 - "Trigraphs don't work"
24350 2012-12-14 Philipp Klaus Krause <pkk AT spth.de>
24352         * src/SDCCbtree.cc,
24353           src/SDCCast.c:
24354           Fixes for block-based stack allocation.
24356 2012-12-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24358         * src/SDCC.y
24359           src/SDCCbtree.h,
24360           src/SDCCbtree.cc,
24361           src/SDCCast.c,
24362           src/SDCCmem.c:
24363           Fixes for block-based stack allocation.
24365 2012-12-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24367         * src/SDCC.y
24368           src/SDCCbtree.h,
24369           src/SDCCbtree.cc,
24370           src/SDCCmem.c:
24371           Infrastructure for block-based stack allocation.
24373 2012-12-09 Philipp Klaus Krause <pkk AT spth.de>
24375         * src/z80/gen.c:
24376           Do not generate redundant loads when fetching pair from regs.
24378 2012-12-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24380         * support/scripts/cinc2h.pl,
24381           support/scripts/pic14-header-parser.pl,
24382           support/scripts/pic16-header-parser.pl: I changed the copyright.
24384 2012-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24386         * src/SDCC.y (labeled_statement): fixed bug #3590884
24388 2012-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24390         * src/SDCCcse.c (algebraicOpts),
24391         * src/SDCCicode.c (operandOperation),
24392         * src/SDCCsymt.c (bitsForType),
24393         * src/SDCCval.h,
24394         * src/SDCCval.c: working towards long long constant support
24396 2012-11-25 Molnar Karoly <molnarkaroly AT users.sf.net>
24398         * device/non-free/include/pic16/pic18f6390.h,
24399           device/non-free/lib/pic16/libdev/pic18f6390.c:
24400           Repaired wrong address of RCREG, 0x0FA0 --> 0x0FAE.
24402 2012-11-25 Molnar Karoly <molnarkaroly AT users.sf.net>
24404         * device/non-free/include/pic16/pic18f63j11.h,
24405           device/non-free/lib/pic16/libdev/pic18f63j11.c:
24406           Repaired wrong address of RCREG, 0x0FD0 --> 0x0FAE.
24408 2012-11-24 Borut Razem <borut.razem AT gmail.com>
24410         * doc/sdccman.lyx: LyX format update to lyxformat 413, LyX 2.x.x
24412 2012-11-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24414         * src/SDCCtree_dec.hpp:
24415           Ensure we have an empty bag at the root in nice tree decompositions.
24416         * support/regression/tests/gcc-torture-execute-20060110-1.c:
24417           Disable test which fails on arm for gbz80 due to unimplemented long long constants.
24419 2012-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24421         * doc/sdccman.lyx: removed duplicate commands my lyx edit added
24423 2012-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24425         * doc/sdccman.lyx: document --no-ret-without-call and fix some typos
24427 2012-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
24429         * src/mcs51/gen.c (emitDummyCall): use temporary label,
24430           (genPcall): use temporary label call instead of pushes,
24431           (genJumpTab): optimized thresholds and always use jmp @a+dptr
24432         * src/mcs51/peep.c (scan4op): detect lcall temporary label
24433         * src/mcs51/ralloc.c: cosmetics
24435 2012-11-18 Molnar Karoly <molnarkaroly AT users.sf.net>
24437         * support/scripts/pic16-header-parser.pl:
24438           New capability: Handling of I/O pins of the peripheral.
24439           The program creates six files in the actual directory:
24440                 adc.tables, ccp.tables, pwm.tables, i2c.tables,
24441                 spi.tables, usart.tables
24443 2012-11-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24445         * src/SDCCglobl.h,
24446         * src/mcs51/main.c
24447         * src/mcs51/gen.c (emitDummyCall,genJumpTab, genPcall):
24448           added --no-ret-without-call option for compatibility with
24449           Infineon's Memory Extension Stack
24451 2012-11-15 Maarten Brock <sourceforge.brock AT dse.nl>
24453         * sdcc.sln,
24454         * support/scripts/sdcc.nsi: added sdas390
24456 2012-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24458         * src/SDCCast.c (decorateType): fixed bug #3577669
24459         * support/regression/tests/gcc-torture-execute-20021010-1.c: reenabled
24461 2012-11-13 Maarten Brock <sourceforge.brock AT dse.nl>
24463         * configure: added as8xcxxx to CONFIG_FILES
24465 2012-11-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24467         * src/z80/mappings.i:
24468           Fix use of and macro for z80asm assembler.
24470 2012-11-12 Maarten Brock <sourceforge.brock AT dse.nl>
24472         * configure,
24473         * configure.in,
24474         * Makefile.in: added as8xcxxx
24475         * Makefile.common.in: fixed OPT_DISABLE_DS390
24476         * sdas/as8051/i51mch.c,
24477         * sdas/as8051/i51pst.c: removed flat24
24478         * sdas/as8xcxxx/,
24479         * sdas/as8xcxxx/clean.mk,
24480         * sdas/as8xcxxx/ds8.h,
24481         * sdas/as8xcxxx/ds8adr.c,
24482         * sdas/as8xcxxx/ds8mch.c,
24483         * sdas/as8xcxxx/ds8pst.c,
24484         * sdas/as8xcxxx/Makefile.in,
24485         * sdas/as8xcxxx/sdas390.vcxproj,
24486         * sdas/as8xcxxx/sdas390.vcxproj.filters: new, added sdas390
24487         * sdas/asxxsrc/asdata.c: removed flat24Mode
24488         * sdas/asxxsrc/asexpr.c: added exprmasks()
24489         * sdas/asxxsrc/asmain.c: removed S_FLAT24 case
24490         * sdas/asxxsrc/asout.c: outr*() synced with ASxxxx v5
24491         * sdas/asxxsrc/asxxxx.h: next step to ASxxxx v5
24492         * sdas/asxxsrc/sdas.c,
24493         * sdas/asxxsrc/sdas.h: added TARGET_ID_DS390
24494         * src/ds390/gen.c: replaced ACC.x with ACC[x]
24495         * src/ds390/main.c: issue .DS80C390 and .amode instead of .flat24,
24496           and use sdas390
24498 2012-11-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24500         * support/regression/ports/ucr2k/spec.mk:
24501           Make ucr2k timeout the same as ucr3ka.
24502         * support/regression/tests/gcc-torture-execute-20111208-1.c:
24503           Disable test for gcc older than 5.0.
24505 2012-11-10 Borut Razem <borut.razem AT gmail.com>
24507         * support/regression/ports/ds390/spec.mk:
24508           doubled timeout since the gcc-torture-execute-20050224-1
24509           regression test stil fails with timeout on i586-mingw32msvc
24511 2012-11-09 Borut Razem <borut.razem AT gmail.com>
24513         * support/regression/fwk/lib/testfwk.c:
24514           "code" substituted with "__code"
24516 2012-11-08 Borut Razem <borut.razem AT gmail.com>
24518         * support/sdbinutils/bfd/Makefile.am,
24519           support/sdbinutils/bfd/Makefile.in,
24520           support/sdbinutils/include/opcode,
24521           support/sdbinutils/include/opcode/ia64.h,
24522           support/sdbinutils/include/opcode/sparc.h,
24523           support/sdbinutils/include/mach-o/x86-64.h,
24524           support/sdbinutils/bfd/verilog.c,
24525           support/sdbinutils/bfd/tekhex.c,
24526           support/sdbinutils/bfd/cpu-ia64-opc.c,
24527           support/sdbinutils/bfd/coff-ia64.c,
24528           support/sdbinutils/bfd/peXXigen.c,
24529           support/sdbinutils/bfd/elfnn-ia64.c,
24530           support/sdbinutils/bfd/bdfwin.c,
24531           support/sdbinutils/opcodes,
24532           support/sdbinutils/opcodes/ia64-opc.h:
24533           removed unused files
24534         * Makefile.in, support/scripts/sdcc.nsi, doc/sdccman.lyx,
24535           support/sdbinutils/binutils/Makefile.am,
24536           support/sdbinutils/binutils/Makefile.in,
24537           support/sdbinutils/bfd/targets.c,
24538           support/sdbinutils/binutils/ieee.c,
24539           support/sdbinutils/binutils/rddbg.c,
24540           support/sdbinutils/binutils/not-strip.c,
24541           support/sdbinutils/binutils/objcopy.c,
24542           support/sdbinutils/binutils/budbg.h,
24543           support/sdbinutils/binutils/rdcoff.c,
24544           support/sdbinutils/binutils/wrstabs.c,
24545           support/sdbinutils/binutils/debug.c,
24546           support/sdbinutils/binutils/debug.h,
24547           support/sdbinutils/binutils/stabs.c,
24548           support/sdbinutils/include/ieee.h:
24549           added binary target support, added sdobjcopy utility
24550         * support/regression/ports/ds390/spec.mk,
24551           support/regression/ports/mcs51-common/spec.mk,
24552           support/regression/ports/ucr3ka/spec.mk:
24553           increased timeouts due to the gcc-torture-execute-20050224-1
24554           regression test timeout failures
24556 2012-11-07 Borut Razem <borut.razem AT gmail.com>
24558         * support/sdbinutils/bfd/Makefile.am,
24559           support/sdbinutils/bfd/*.c:
24560           removed unused machine an backend files
24562 2012-11-06 Borut Razem <borut.razem AT gmail.com>
24564         * support/sdbinutils/bfd/targets.c:
24565           removed unneeded vectors and flavours
24566         * support/sdbinutils/bfd/targets.c,
24567           support/sdbinutils/bfd/config.bfd:
24568           support/sdbinutils/binutils/configure.in,
24569           support/sdbinutils/binutils/configure,
24570           removed all unused vectors; hardcode default target to asxxxx
24571         * support/sdbinutils/bfd/configure.in,
24572           support/sdbinutils/bfd/configure,
24573           support/sdbinutils/bfd/Makefile.in,
24574           support/sdbinutils/bfd/archures.c,
24575           support/sdbinutils/bfd/Makefile.am,
24576           support/sdbinutils/bfd/config.bfd:
24577           removed all unused architectures
24579 2012-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24581         * support/sdbinutils/bfd/targets.c: reenable asxxxx
24583 2012-11-05 Borut Razem <borut.razem AT gmail.com>
24585         * support/sdbinutils/*:
24586           sdbinutils synced with binutils-2.23
24588 2012-11-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24590         * src/z80/peeph-z80.def,
24591           src/z80/peeph-r2k.def:
24592           Fix condition on bc in peephole rule.
24594 2012-11-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24596         * support/regression/tests/gcc-torture-execute-20040313-1.c:
24597           Disabled test, since it fails on 32-bit Linux.
24599 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24601         * device/lib/pic16/startup/crt0i.c,
24602           device/lib/pic16/startup/crt0iz.c: Was reduced size of the code.
24604 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24606         * doc/sdccman.lyx: Added new pic18f97j94 family.
24608 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24610         * support/scripts/cinc2h.pl,
24611           support/scripts/pic14-header-parser.pl,
24612           support/scripts/pic16-header-parser.pl: Toggle execution flag.
24614 2012-11-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24616         * src/z80/gen.c:
24617           Fixed bug in assignment from register pair iy to extended stack, fix #3582658.
24619 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24621         * support/scripts/cinc2h.pl: Changed option "-c" onto "-o".
24622         * support/scripts/pic14-header-parser.pl,
24623           support/scripts/pic16-header-parser.pl,
24624           support/scripts/pic16fam-h-gen.pl: Updated my email address.
24626 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24628         * device/include/pic16/pic16devices.txt,
24629           device/include/pic16/pic18fregs.h,
24630           device/lib/pic16/libio/Makefile.am,
24631           device/lib/pic16/libio/Makefile.in,
24632           device/lib/pic16/libio/adc.ignore,
24633           device/lib/pic16/libio/i2c.ignore,
24634           device/lib/pic16/libio/usart.ignore,
24635           device/non-free/include/pic16/pic18f65j94.h,
24636           device/non-free/include/pic16/pic18f66j94.h,
24637           device/non-free/include/pic16/pic18f66j99.h,
24638           device/non-free/include/pic16/pic18f67j94.h,
24639           device/non-free/include/pic16/pic18f85j94.h,
24640           device/non-free/include/pic16/pic18f86j94.h,
24641           device/non-free/include/pic16/pic18f86j99.h,
24642           device/non-free/include/pic16/pic18f87j94.h,
24643           device/non-free/include/pic16/pic18f95j94.h,
24644           device/non-free/include/pic16/pic18f96j94.h,
24645           device/non-free/include/pic16/pic18f96j99.h,
24646           device/non-free/include/pic16/pic18f97j94.h,
24647           device/non-free/lib/pic16/libdev/Makefile.am,
24648           device/non-free/lib/pic16/libdev/Makefile.in,
24649           device/non-free/lib/pic16/libdev/pic18f65j94.c,
24650           device/non-free/lib/pic16/libdev/pic18f66j94.c,
24651           device/non-free/lib/pic16/libdev/pic18f66j99.c,
24652           device/non-free/lib/pic16/libdev/pic18f67j94.c,
24653           device/non-free/lib/pic16/libdev/pic18f85j94.c,
24654           device/non-free/lib/pic16/libdev/pic18f86j94.c,
24655           device/non-free/lib/pic16/libdev/pic18f86j99.c,
24656           device/non-free/lib/pic16/libdev/pic18f87j94.c,
24657           device/non-free/lib/pic16/libdev/pic18f95j94.c,
24658           device/non-free/lib/pic16/libdev/pic18f96j94.c,
24659           device/non-free/lib/pic16/libdev/pic18f96j99.c,
24660           device/non-free/lib/pic16/libdev/pic18f97j94.c,
24661           device/non-free/lib/pic16/pics.all: Support for new devices.
24663 2012-11-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24665         * src/z80/ralloc2.cc:
24666           Fix non-destructive bitwise and with single-bit literal for extended stack operands.
24667         * src/z80/gen.c:
24668           Fix built-in memset() for argument c in register pair hl.
24670 2012-11-01 Molnar Karoly <molnarkaroly AT users.sf.net>
24672         * device/non-free/include/pic14/pic1*.h,
24673           device/non-free/include/pic16/pic1*.h,
24674           device/non-free/lib/pic14/pic1*.c,
24675           device/non-free/lib/pic16/pic1*.c: recreated
24676         * support/scripts/cinc2h.pl: Updated my email address.
24678 2012-11-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24680         * src/z80/gen.c:
24681           Fix long shifts for result in a permutation of operand registers.
24683 2012-10-31 Maarten Brock <sourceforge.brock AT dse.nl>
24685         * sdas/asxxxsrc/asout.c (outdp): oops, forgot to commit this
24687 2012-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.s>
24689         * sdas/asxxxsrc/asout.c (outdp): fix to match prototype
24691 2012-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
24693         * sdas/as6808/as_hc08.vcxproj,
24694         * sdas/as6808/as_hc08.vcxproj.filters,
24695         * sdas/as8051/asx8051.vcxproj,
24696         * sdas/as8051/asx8051.vcxproj.filters,
24697         * sdas/asgb/asgb.vcxproj,
24698         * sdas/asgb/asgb.vcxproj.filters,
24699         * sdas/asrab/asrab.vcxproj,
24700         * sdas/asrab/asrab.vcxproj.filters,
24701         * sdas/asz80/as_z80.vcxproj,
24702         * sdas/asz80/as_z80.vcxproj.filters: added asmcro.c
24703         * sdas/as6808/m08mch.c,
24704         * sdas/as6808/m6808.h,
24705         * sdas/asxxsrc/asxxxx.h: outdp, chkindx synced with ASxxxx v5
24706         * device/lib/_gptrput.c: lock up on code write
24708 2012-10-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24710         * support/regression/ports/ds390/spec.mk,
24711           support/regression/ports/mcs51-common/spec.mk:
24712           Slightly increase timeouts.
24713         * support/regression/tests/gcc-torture-execute-20051104-1.c,
24714           support/regression/tests/gcc-torture-execute-950426-1.c,
24715           support/regression/tests/gcc-torture-execute-20021204-1.c:
24716           Disable warning on assigning string literal to non-const pointer.
24718 2012-10-24 Philipp Klaus Krause <pkk AT spth.de>
24720         * support/regression/tests/gcc-torture-execute-20070724-1.c:
24721           Disabled test on gcc older than 5.0.
24723 2012-10-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24725         * support/regression/tests/gcc-torture-execute-20050613-1.c:
24726           Disable a test for mcs51, where it fails for stack-auto.
24728 2012-10-19 Philipp Klaus Krause <pkk AT spth.de>
24730         * support/regression/tests/gcc-torture-execute-20060929-1.c,
24731           support/regression/tests/gcc-torture-execute-20070201-1.c:
24732           Disable tests on gcc older than 5.0.
24734 2012-10-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24736         * src/z80/gen.c,
24737           support/regression/tests/gcc-torture-execute-20060930-2.c:
24738           Fixed bug #3577673.
24739         * support/regression/tests/gcc-torture-execute-20060127-1.c,
24740           support/regression/tests/gcc-torture-execute-20060110-2.c:
24741           Note that these are affected by lack of support for long long literals.
24743 2012-10-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24745         * support/regression/tests/gcc-torture-execute-20041210-1.c,
24746           support/regression/tests/gcc-torture-execute-20050218-1.c,
24747           support/regression/tests/gcc-torture-execute-20051110-1.c,
24748           support/regression/tests/gcc-torture-execute-20041112-1.c,
24749           support/regression/tests/gcc-torture-execute-20040820-1.c,
24750           support/regression/tests/gcc-torture-execute-20040704-1.c,
24751           support/regression/tests/gcc-torture-execute-20050826-1.c,
24752           support/regression/tests/gcc-torture-execute-20040311-1.c,
24753           support/regression/tests/gcc-torture-execute-20040319-1.c,
24754           support/regression/tests/gcc-torture-execute-20051110-2.c,
24755           support/regression/tests/gcc-torture-execute-20071213-1.c,
24756           support/regression/tests/gcc-torture-execute-20040409-1.c,
24757           support/regression/tests/gcc-torture-execute-20070724-1.c,
24758           support/regression/tests/gcc-torture-execute-20050826-2.c,
24759           support/regression/tests/gcc-torture-execute-20051021-1.c,
24760           support/regression/tests/gcc-torture-execute-20050613-1.c,
24761           support/regression/tests/gcc-torture-execute-20041113-1.c,
24762           support/regression/tests/gcc-torture-execute-20050104-1.c,
24763           support/regression/tests/gcc-torture-execute-20040409-2.c,
24764           support/regression/tests/gcc-torture-execute-20071205-1.c,
24765           support/regression/tests/gcc-torture-execute-20041212-1.c,
24766           support/regression/tests/gcc-torture-execute-20040409-3.c,
24767           support/regression/tests/gcc-torture-execute-20050131-1.c,
24768           support/regression/tests/gcc-torture-execute-20040411-1.c,
24769           support/regression/tests/gcc-torture-execute-20041114-1.c,
24770           support/regression/tests/gcc-torture-execute-20040706-1.c,
24771           support/regression/tests/gcc-torture-execute-20040313-1.c,
24772           support/regression/tests/gcc-torture-execute-20040831-1.c,
24773           support/regression/tests/gcc-torture-execute-20050713-1.c,
24774           support/regression/tests/gcc-torture-execute-20111208-1.c,
24775           support/regression/tests/gcc-torture-execute-20050410-1.c,
24776           support/regression/tests/gcc-torture-execute-20040331-1.c,
24777           support/regression/tests/gcc-torture-execute-20051104-1.c,
24778           support/regression/tests/gcc-torture-execute-20071108-1.c,
24779           support/regression/tests/gcc-torture-execute-20050106-1.c,
24780           support/regression/tests/gcc-torture-execute-20041213-2.c,
24781           support/regression/tests/gcc-torture-execute-20040823-1.c,
24782           support/regression/tests/gcc-torture-execute-20040707-1.c,
24783           support/regression/tests/gcc-torture-execute-20070201-1.c,
24784           support/regression/tests/gcc-torture-execute-20071011-1.c,
24785           support/regression/tests/gcc-torture-execute-20050124-1.c,
24786           support/regression/tests/gcc-torture-execute-20071216-1.c,
24787           support/regression/tests/gcc-torture-execute-20050125-1.c,
24788           support/regression/tests/gcc-torture-execute-20040208-1.c,
24789           support/regression/tests/gcc-torture-execute-20050929-1.c,
24790           support/regression/tests/gcc-torture-execute-20071030-1.c,
24791           support/regression/tests/gcc-torture-execute-20050502-1.c,
24792           support/regression/tests/gcc-torture-execute-20040423-1.c,
24793           support/regression/tests/gcc-torture-execute-20050224-1.c,
24794           support/regression/tests/gcc-torture-execute-20041126-1.c,
24795           support/regression/tests/gcc-torture-execute-20041011-1.c,
24796           support/regression/tests/gcc-torture-execute-20071210-1.c,
24797           support/regression/tests/gcc-torture-execute-20050502-2.c,
24798           support/regression/tests/gcc-torture-execute-20041019-1.c,
24799           support/regression/tests/gcc-torture-execute-20070212-1.c,
24800           support/regression/tests/gcc-torture-execute-20040218-1.c,
24801           support/regression/tests/gcc-torture-execute-20070623-1.c,
24802           support/regression/tests/gcc-torture-execute-20071202-1.c,
24803           support/regression/tests/gcc-torture-execute-20070212-2.c,
24804           support/regression/tests/gcc-torture-execute-20051215-1.c,
24805           support/regression/tests/gcc-torture-execute-20071219-1.c,
24806           support/regression/tests/gcc-torture-execute-20070212-3.c,
24807           support/regression/tests/gcc-torture-execute-20040309-1.c,
24808           support/regression/tests/gcc-torture-execute-20050111-1.c,
24809           support/regression/tests/gcc-torture-execute-20070517-1.c,
24810           support/regression/tests/gcc-torture-execute-20040917-1.c:
24811           Added remaining parts (excluding tests for builtin functions and
24812           IEEE-compliane for floating-point) of the execute part
24813           of the gcc torture stest uite to regression tests.
24815 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24817         * device/lib/pic16/libio/i2c/i2copen.c:
24818           Bugfix: TRISCbits.TRISC2 --> TRISCbits.TRISC4
24820 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24822         * device/include/pic16/usart.h: Supplement to "USART styles".
24823         * device/lib/pic16/libio/usart/uopen.c:
24824           Use the (__SDCC_USART_STYLE == 1865850) condition.
24825         * doc/README.txt:
24826           New line at the end of the "Authors and interested persons" section.
24828 2012-10-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24830         * support/regression/tests/gcc-torture-execute-20020213-1.c,
24831           support/regression/tests/gcc-torture-execute-20020615-1.c,
24832           support/regression/tests/gcc-torture-execute-20020508-1.c,
24833           support/regression/tests/gcc-torture-execute-20020911-1.c,
24834           support/regression/tests/gcc-torture-execute-20020321-1.c,
24835           support/regression/tests/gcc-torture-execute-20020402-1.c,
24836           support/regression/tests/gcc-torture-execute-20021015-1.c,
24837           support/regression/tests/gcc-torture-execute-20020920-1.c,
24838           support/regression/tests/gcc-torture-execute-20020508-2.c,
24839           support/regression/tests/gcc-torture-execute-20020402-2.c,
24840           support/regression/tests/gcc-torture-execute-20020508-3.c,
24841           support/regression/tests/gcc-torture-execute-20020510-1.c,
24842           support/regression/tests/gcc-torture-execute-20021204-1.c,
24843           support/regression/tests/gcc-torture-execute-20020206-1.c,
24844           support/regression/tests/gcc-torture-execute-20020402-3.c,
24845           support/regression/tests/gcc-torture-execute-20020805-1.c,
24846           support/regression/tests/gcc-torture-execute-20020215-1.c,
24847           support/regression/tests/gcc-torture-execute-20020904-1.c,
24848           support/regression/tests/gcc-torture-execute-20020716-1.c,
24849           support/regression/tests/gcc-torture-execute-20020413-1.c,
24850           support/regression/tests/gcc-torture-execute-20020216-1.c,
24851           support/regression/tests/gcc-torture-execute-20020503-1.c,
24852           support/regression/tests/gcc-torture-execute-20020225-1.c,
24853           support/regression/tests/gcc-torture-execute-20020118-1.c,
24854           support/regression/tests/gcc-torture-execute-20021010-1.c,
24855           support/regression/tests/gcc-torture-execute-20020127-1.c,
24856           support/regression/tests/gcc-torture-execute-20020225-2.c,
24857           support/regression/tests/gcc-torture-execute-20020529-1.c,
24858           support/regression/tests/gcc-torture-execute-20020611-1.c,
24859           support/regression/tests/gcc-torture-execute-20020619-1.c,
24860           support/regression/tests/gcc-torture-execute-20021010-2.c,
24861           support/regression/tests/gcc-torture-execute-20020423-1.c,
24862           support/regression/tests/gcc-torture-execute-20020307-1.c,
24863           support/regression/tests/gcc-torture-execute-20020226-1.c,
24864           support/regression/tests/gcc-torture-execute-20021011-1.c,
24865           support/regression/tests/gcc-torture-execute-20020201-1.c,
24866           support/regression/tests/gcc-torture-execute-20020103-1.c,
24867           support/regression/tests/gcc-torture-execute-20021118-1.c,
24868           support/regression/tests/gcc-torture-execute-20020916-1.c,
24869           support/regression/tests/gcc-torture-execute-20020720-1.c,
24870           support/regression/tests/gcc-torture-execute-20020129-1.c,
24871           support/regression/tests/gcc-torture-execute-20021118-2.c,
24872           support/regression/tests/gcc-torture-execute-20020810-1.c,
24873           support/regression/tests/gcc-torture-execute-20020219-1.c,
24874           support/regression/tests/gcc-torture-execute-20021111-1.c,
24875           support/regression/tests/gcc-torture-execute-20020506-1.c,
24876           support/regression/tests/gcc-torture-execute-20021119-1.c,
24877           support/regression/tests/gcc-torture-execute-20021118-3.c,
24878           support/regression/tests/gcc-torture-execute-20021120-1.c,
24879           support/regression/tests/gcc-torture-execute-20021120-2.c,
24880           support/regression/tests/gcc-torture-execute-20020614-1.c,
24881           support/regression/tests/gcc-torture-execute-20020819-1.c,
24882           support/regression/tests/gcc-torture-execute-20021120-3.c,
24883           support/regression/tests/gcc-torture-execute-20021219-1.c,
24884           support/regression/tests/gcc-torture-execute-20020328-1.c,
24885           support/regression/tests/gcc-torture-execute-20060929-1.c,
24886           support/regression/tests/gcc-torture-execute-20060412-1.c,
24887           support/regression/tests/gcc-torture-execute-20060930-1.c,
24888           support/regression/tests/gcc-torture-execute-20060930-2.c,
24889           support/regression/tests/gcc-torture-execute-20060905-1.c,
24890           upport/regression/tests/gcc-torture-execute-20060110-1.c,
24891           support/regression/tests/gcc-torture-execute-20060127-1.c,
24892           support/regression/tests/gcc-torture-execute-20060110-2.c,
24893           support/regression/tests/gcc-torture-execute-20060102-1.c,
24894           support/regression/tests/gcc-torture-execute-20061101-2.c,
24895           support/regression/tests/gcc-torture-execute-20060910-1.c:
24896           More tests from gcc.
24898 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24900         * support/scripts/cinc2h.pl: Comfortable version.
24901           Writes to the separate directory (device and header) the *.C and
24902           *.H files. Removed the --create-pseudo-registers option.
24904 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24906         * device/include/pic16/usart.h:
24907           Simplification the definition of __SDCC_NO_SPBRGH.
24908           Thanks to Diego Herranz.
24910 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24912         * support/scripts/pic18fam-h-gen.pl,
24913           device/non-free/include/pic16/pic18fam.h:
24914           Repaired the wrong classification of "__SDCC_PIC16_FAMILY 1865850"
24915           in the (E)USART style.
24917 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24919         * doc/sdccman.lyx: Added the new pic processors.
24921 2012-10-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24923         * src/SDCCmain.c:
24924           Fixed typo in --std-c89 option description.
24926 2012-10-16 Borut Razem <borut.razem AT gmail.com>
24928         * support/sdbinutils/opcodes/ia64-opc.h:
24929           fixed bug #3577586 - missing binutils headers on ia64
24931 2012-10-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24933         * device/include/mcs51/lint.h:
24934           Fixed bug #3577318.
24936 2012-10-13 Maarten Brock <sourceforge.brock AT dse.nl>
24938         * sdas/as6808/m08mch.c,
24939         * sdas/as6808/m08pst.c,
24940         * sdas/as6808/m6808.h,
24941         * sdas/as6808/Makefile.in,
24942         * sdas/as8051/i51mch.c,
24943         * sdas/as8051/i51pst.c,
24944         * sdas/as8051/Makefile.in,
24945         * sdas/asgb/gb.h,
24946         * sdas/asgb/gbadr.c,
24947         * sdas/asgb/gbmch.c,
24948         * sdas/asgb/Makefile.in,
24949         * sdas/asrab/Makefile.in,
24950         * sdas/asrab/rab.h,
24951         * sdas/asrab/rabadr.c,
24952         * sdas/asrab/rabmch.c,
24953         * sdas/asrab/rabpst.c,
24954         * sdas/asxxsrc/asdata.c,
24955         * sdas/asxxsrc/asexpr.c,
24956         * sdas/asxxsrc/aslex.c,
24957         * sdas/asxxsrc/aslist.c,
24958         * sdas/asxxsrc/asmain.c,
24959         * sdas/asxxsrc/asxxxx.h,
24960         * sdas/asxxsrc/asmcro.c,
24961         * sdas/asz80/Makefile.in,
24962         * sdas/asz80/z80.h,
24963         * sdas/asz80/z80adr.c,
24964         * sdas/asz80/z80mch.c,
24965         * sdas/asz80/z80pst.c: added ASxxxx v5 macro support
24967 2012-10-13 Philipp Klaus Krause <pkk AT spth.de>
24969         * src/SDCCtree_dec.hpp,
24970           src/SDCCralloc.hpp:
24971           Fixed bug #3566360.
24973 2012-10-08 Borut Razem <borut.razem AT gmail.com>
24975         * support/sdbinutils/include/opcode/ia64.h: added since build
24976           on IA64 fails with elf64-ia64.c:27:25: error: opcode/ia64.h:
24977           No such file or directory
24979 2012-10-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24981         * src/mcs51/gen.c (genPagedPointerGet): fixed bug #3527222
24982         * support/regression/tests/gcc-torture-execute-921013-1.c: reenabled
24983         * src/mcs51/gen.c (genCast),
24984         * src/ds390/gen.c (genCast): fixed bug3467508 regression test failures
24985         * support/regression/tests/bug3467508.c: reenabled for mcs51 and ds390
24987 2012-10-08 Maarten Brock <sourceforge.brock AT dse.nl>
24989         * sdas/asgb/asgb.vcxproj,
24990         * sdas/asgb/asgb.vcxproj.filters,
24991         * sdas/asgb/Makefile.in,
24992         * sdas/asgb/gbext.c: removed gbext.c
24993         * sdas/as8051/i51mch.c,
24994         * sdas/as8051/i8051.h,
24995         * sdas/asgb/gbadr.c,
24996         * sdas/asgb/gbmch.c,
24997         * sdas/asrab/rabadr.c,
24998         * sdas/asz80/z80adr.c,
24999         * sdas/asxxsrc/asdata.c,
25000         * sdas/asxxsrc/aslist.c,
25001         * sdas/asxxsrc/asout.c,
25002         * sdas/asxxsrc/asxxxx.h: and yet another step towards ASxxxx v5
25004 2012-10-06 Maarten Brock <sourceforge.brock AT dse.nl>
25006         * sdas/as6808/m08pst.c,
25007         * sdas/as8051/i51pst.c,
25008         * sdas/asgb/gbpst.c,
25009         * sdas/asrab/rabpst.c,
25010         * sdas/asz80/z80pst.c,
25011         * sdas/asxxsrc/asdata.c,
25012         * sdas/asxxsrc/asdbg.c,
25013         * sdas/asxxsrc/aslex.c,
25014         * sdas/asxxsrc/aslist.c,
25015         * sdas/asxxsrc/asmain.c,
25016         * sdas/asxxsrc/assubr.c,
25017         * sdas/asxxsrc/asxxxx.h: use ASxxxx v5 file structs
25019 2012-10-06 Borut Razem <borut.razem AT gmail.com>
25021         * support/scripts/optimize_pic16devices.pl:
25022           updated with the latest version from Molnar Karoly
25023         * support/scripts/pic14-header-parser.pl,
25024           support/scripts/pic16-header-parser.pl: applied patch #3567006 -
25025           New support/scripts/pic1[46]-header-parser.pl,
25026           thanks to Molnar Karoly
25028 2012-10-05 Borut Razem <borut.razem AT gmail.com>
25030         * support/scripts/zip-pic16devices.pl,
25031           device/include/pic16/pic16devices.txt:
25032           applied patch #3574556 - Compressed pic16devices.txt file,
25033           thanks to Molnar Karoly
25034         * support/scripts/optimize_pic16devices.pl:
25035           renamed from zip-pic16devices.pl
25036         * support/scripts/inc2h-pic16.pl, support/scripts/inc2h.pl:
25037           removed, functionaly replaced by cinc2h.pl
25039 2012-10-03 Maarten Brock <sourceforge.brock AT dse.nl>
25041         * sdas/asxxsrc/asdata.c,
25042         * sdas/asxxsrc/asdbg.c,
25043         * sdas/asxxsrc/asexpr.c,
25044         * sdas/asxxsrc/aslex.c,
25045         * sdas/asxxsrc/aslist.c,
25046         * sdas/asxxsrc/asmain.c,
25047         * sdas/asxxsrc/asout.c,
25048         * sdas/asxxsrc/asxxxx.h: another step to ASxxxx v5
25050 2012-10-03 Borut Razem <borut.razem AT gmail.com>
25052         * device/non-free/lib/pic16/libdev/mkmk.sh:
25053           applied patch #3574102 - Modification of device/non-free/lib/pic16/libdev/mkmk.sh
25055 2012-10-02 Borut Razem <borut.razem AT gmail.com>
25057         * device/include/pic16/pic18fregs.h,
25058           device/include/pic16/pic16devices.txt,
25059           device/lib/pic16/libio/Makefile.am,
25060           device/lib/pic16/libio/adc.ignore,
25061           device/lib/pic16/libio/i2c.ignore,
25062           device/lib/pic16/libio/usart.ignore,
25063           device/lib/pic16/libio/Makefile.in,
25064           device/non-free/lib/pic16/libdev/Makefile.in,
25065           device/non-free/lib/pic16/libdev/Makefile.am,
25066           device/non-free/lib/pic16/pics.all,
25067           device/non-free/include/pic16pic18f13k22.h,
25068           device/non-free/lib/pic16/libdev/pic18f13k22.c,
25069           device/non-free/include/pic16pic18f14k22.h,
25070           device/non-free/lib/pic16/libdev/pic18f14k22.c,
25071           device/non-free/include/pic16pic18f24j11.h,
25072           device/non-free/lib/pic16/libdev/pic18f24j11.c,
25073           device/non-free/include/pic16pic18f24k50.h,
25074           device/non-free/lib/pic16/libdev/pic18f24k50.c,
25075           device/non-free/include/pic16pic18f25j11.h,
25076           device/non-free/lib/pic16/libdev/pic18f25j11.c,
25077           device/non-free/include/pic16pic18f25k50.h,
25078           device/non-free/lib/pic16/libdev/pic18f25k50.c,
25079           device/non-free/include/pic16pic18f25k80.h,
25080           device/non-free/lib/pic16/libdev/pic18f25k80.c,
25081           device/non-free/include/pic16pic18f26j11.h,
25082           device/non-free/lib/pic16/libdev/pic18f26j11.c,
25083           device/non-free/include/pic16pic18f26j13.h,
25084           device/non-free/lib/pic16/libdev/pic18f26j13.c,
25085           device/non-free/include/pic16pic18f26j53.h,
25086           device/non-free/lib/pic16/libdev/pic18f26j53.c,
25087           device/non-free/include/pic16pic18f26k80.h,
25088           device/non-free/lib/pic16/libdev/pic18f26k80.c,
25089           device/non-free/include/pic16pic18f27j13.h,
25090           device/non-free/lib/pic16/libdev/pic18f27j13.c,
25091           device/non-free/include/pic16pic18f27j53.h,
25092           device/non-free/lib/pic16/libdev/pic18f27j53.c,
25093           device/non-free/include/pic16pic18f44j11.h,
25094           device/non-free/lib/pic16/libdev/pic18f44j11.c,
25095           device/non-free/include/pic16pic18f45j11.h,
25096           device/non-free/lib/pic16/libdev/pic18f45j11.c,
25097           device/non-free/include/pic16pic18f45k50.h,
25098           device/non-free/lib/pic16/libdev/pic18f45k50.c,
25099           device/non-free/include/pic16pic18f45k80.h,
25100           device/non-free/lib/pic16/libdev/pic18f45k80.c,
25101           device/non-free/include/pic16pic18f46j11.h,
25102           device/non-free/lib/pic16/libdev/pic18f46j11.c,
25103           device/non-free/include/pic16pic18f46j13.h,
25104           device/non-free/lib/pic16/libdev/pic18f46j13.c,
25105           device/non-free/include/pic16pic18f46j53.h,
25106           device/non-free/lib/pic16/libdev/pic18f46j53.c,
25107           device/non-free/include/pic16pic18f46k80.h,
25108           device/non-free/lib/pic16/libdev/pic18f46k80.c,
25109           device/non-free/include/pic16pic18f47j13.h,
25110           device/non-free/lib/pic16/libdev/pic18f47j13.c,
25111           device/non-free/include/pic16pic18f47j53.h,
25112           device/non-free/lib/pic16/libdev/pic18f47j53.c,
25113           device/non-free/include/pic16pic18f63j11.h,
25114           device/non-free/lib/pic16/libdev/pic18f63j11.c,
25115           device/non-free/include/pic16pic18f63j90.h,
25116           device/non-free/lib/pic16/libdev/pic18f63j90.c,
25117           device/non-free/include/pic16pic18f64j11.h,
25118           device/non-free/lib/pic16/libdev/pic18f64j11.c,
25119           device/non-free/include/pic16pic18f64j90.h,
25120           device/non-free/lib/pic16/libdev/pic18f64j90.c,
25121           device/non-free/include/pic16pic18f65j10.h,
25122           device/non-free/lib/pic16/libdev/pic18f65j10.c,
25123           device/non-free/include/pic16pic18f65j11.h,
25124           device/non-free/lib/pic16/libdev/pic18f65j11.c,
25125           device/non-free/include/pic16pic18f65j15.h,
25126           device/non-free/lib/pic16/libdev/pic18f65j15.c,
25127           device/non-free/include/pic16pic18f65j90.h,
25128           device/non-free/lib/pic16/libdev/pic18f65j90.c,
25129           device/non-free/include/pic16pic18f65k22.h,
25130           device/non-free/lib/pic16/libdev/pic18f65k22.c,
25131           device/non-free/include/pic16pic18f65k80.h,
25132           device/non-free/lib/pic16/libdev/pic18f65k80.c,
25133           device/non-free/include/pic16pic18f65k90.h,
25134           device/non-free/lib/pic16/libdev/pic18f65k90.c,
25135           device/non-free/include/pic16pic18f66j10.h,
25136           device/non-free/lib/pic16/libdev/pic18f66j10.c,
25137           device/non-free/include/pic16pic18f66j11.h,
25138           device/non-free/lib/pic16/libdev/pic18f66j11.c,
25139           device/non-free/include/pic16pic18f66j15.h,
25140           device/non-free/lib/pic16/libdev/pic18f66j15.c,
25141           device/non-free/include/pic16pic18f66j16.h,
25142           device/non-free/lib/pic16/libdev/pic18f66j16.c,
25143           device/non-free/include/pic16pic18f66j90.h,
25144           device/non-free/lib/pic16/libdev/pic18f66j90.c,
25145           device/non-free/include/pic16pic18f66j93.h,
25146           device/non-free/lib/pic16/libdev/pic18f66j93.c,
25147           device/non-free/include/pic16pic18f66k22.h,
25148           device/non-free/lib/pic16/libdev/pic18f66k22.c,
25149           device/non-free/include/pic16pic18f66k80.h,
25150           device/non-free/lib/pic16/libdev/pic18f66k80.c,
25151           device/non-free/include/pic16pic18f66k90.h,
25152           device/non-free/lib/pic16/libdev/pic18f66k90.c,
25153           device/non-free/include/pic16pic18f67j10.h,
25154           device/non-free/lib/pic16/libdev/pic18f67j10.c,
25155           device/non-free/include/pic16pic18f67j11.h,
25156           device/non-free/lib/pic16/libdev/pic18f67j11.c,
25157           device/non-free/include/pic16pic18f67j90.h,
25158           device/non-free/lib/pic16/libdev/pic18f67j90.c,
25159           device/non-free/include/pic16pic18f67j93.h,
25160           device/non-free/lib/pic16/libdev/pic18f67j93.c,
25161           device/non-free/include/pic16pic18f67k22.h,
25162           device/non-free/lib/pic16/libdev/pic18f67k22.c,
25163           device/non-free/include/pic16pic18f67k90.h,
25164           device/non-free/lib/pic16/libdev/pic18f67k90.c,
25165           device/non-free/include/pic16pic18f83j11.h,
25166           device/non-free/lib/pic16/libdev/pic18f83j11.c,
25167           device/non-free/include/pic16pic18f83j90.h,
25168           device/non-free/lib/pic16/libdev/pic18f83j90.c,
25169           device/non-free/include/pic16pic18f84j11.h,
25170           device/non-free/lib/pic16/libdev/pic18f84j11.c,
25171           device/non-free/include/pic16pic18f84j90.h,
25172           device/non-free/lib/pic16/libdev/pic18f84j90.c,
25173           device/non-free/include/pic16pic18f85j10.h,
25174           device/non-free/lib/pic16/libdev/pic18f85j10.c,
25175           device/non-free/include/pic16pic18f85j11.h,
25176           device/non-free/lib/pic16/libdev/pic18f85j11.c,
25177           device/non-free/include/pic16pic18f85j15.h,
25178           device/non-free/lib/pic16/libdev/pic18f85j15.c,
25179           device/non-free/include/pic16pic18f85j90.h,
25180           device/non-free/lib/pic16/libdev/pic18f85j90.c,
25181           device/non-free/include/pic16pic18f85k22.h,
25182           device/non-free/lib/pic16/libdev/pic18f85k22.c,
25183           device/non-free/include/pic16pic18f85k90.h,
25184           device/non-free/lib/pic16/libdev/pic18f85k90.c,
25185           device/non-free/include/pic16pic18f86j10.h,
25186           device/non-free/lib/pic16/libdev/pic18f86j10.c,
25187           device/non-free/include/pic16pic18f86j11.h,
25188           device/non-free/lib/pic16/libdev/pic18f86j11.c,
25189           device/non-free/include/pic16pic18f86j15.h,
25190           device/non-free/lib/pic16/libdev/pic18f86j15.c,
25191           device/non-free/include/pic16pic18f86j16.h,
25192           device/non-free/lib/pic16/libdev/pic18f86j16.c,
25193           device/non-free/include/pic16pic18f86j72.h,
25194           device/non-free/lib/pic16/libdev/pic18f86j72.c,
25195           device/non-free/include/pic16pic18f86j90.h,
25196           device/non-free/lib/pic16/libdev/pic18f86j90.c,
25197           device/non-free/include/pic16pic18f86j93.h,
25198           device/non-free/lib/pic16/libdev/pic18f86j93.c,
25199           device/non-free/include/pic16pic18f86k22.h,
25200           device/non-free/lib/pic16/libdev/pic18f86k22.c,
25201           device/non-free/include/pic16pic18f86k90.h,
25202           device/non-free/lib/pic16/libdev/pic18f86k90.c,
25203           device/non-free/include/pic16pic18f87j10.h,
25204           device/non-free/lib/pic16/libdev/pic18f87j10.c,
25205           device/non-free/include/pic16pic18f87j11.h,
25206           device/non-free/lib/pic16/libdev/pic18f87j11.c,
25207           device/non-free/include/pic16pic18f87j72.h,
25208           device/non-free/lib/pic16/libdev/pic18f87j72.c,
25209           device/non-free/include/pic16pic18f87j90.h,
25210           device/non-free/lib/pic16/libdev/pic18f87j90.c,
25211           device/non-free/include/pic16pic18f87j93.h,
25212           device/non-free/lib/pic16/libdev/pic18f87j93.c,
25213           device/non-free/include/pic16pic18f87k22.h,
25214           device/non-free/lib/pic16/libdev/pic18f87k22.c,
25215           device/non-free/include/pic16pic18f87k90.h,
25216           device/non-free/lib/pic16/libdev/pic18f87k90.c,
25217           device/non-free/include/pic16pic18f2439.h,
25218           device/non-free/lib/pic16/libdev/pic18f2439.c,
25219           device/non-free/include/pic16pic18f2458.h,
25220           device/non-free/lib/pic16/libdev/pic18f2458.c,
25221           device/non-free/include/pic16pic18f2539.h,
25222           device/non-free/lib/pic16/libdev/pic18f2539.c,
25223           device/non-free/include/pic16pic18f2553.h,
25224           device/non-free/lib/pic16/libdev/pic18f2553.c,
25225           device/non-free/include/pic16pic18f4439.h,
25226           device/non-free/lib/pic16/libdev/pic18f4439.c,
25227           device/non-free/include/pic16pic18f4458.h,
25228           device/non-free/lib/pic16/libdev/pic18f4458.c,
25229           device/non-free/include/pic16pic18f4539.h,
25230           device/non-free/lib/pic16/libdev/pic18f4539.c,
25231           device/non-free/include/pic16pic18f4553.h,
25232           device/non-free/lib/pic16/libdev/pic18f4553.c,
25233           device/non-free/include/pic16pic18f6310.h,
25234           device/non-free/lib/pic16/libdev/pic18f6310.c,
25235           device/non-free/include/pic16pic18f6390.h,
25236           device/non-free/lib/pic16/libdev/pic18f6390.c,
25237           device/non-free/include/pic16pic18f6393.h,
25238           device/non-free/lib/pic16/libdev/pic18f6393.c,
25239           device/non-free/include/pic16pic18f6410.h,
25240           device/non-free/lib/pic16/libdev/pic18f6410.c,
25241           device/non-free/include/pic16pic18f6490.h,
25242           device/non-free/lib/pic16/libdev/pic18f6490.c,
25243           device/non-free/include/pic16pic18f6493.h,
25244           device/non-free/lib/pic16/libdev/pic18f6493.c,
25245           device/non-free/include/pic16pic18f6525.h,
25246           device/non-free/lib/pic16/libdev/pic18f6525.c,
25247           device/non-free/include/pic16pic18f6621.h,
25248           device/non-free/lib/pic16/libdev/pic18f6621.c,
25249           device/non-free/include/pic16pic18f6628.h,
25250           device/non-free/lib/pic16/libdev/pic18f6628.c,
25251           device/non-free/include/pic16pic18f6723.h,
25252           device/non-free/lib/pic16/libdev/pic18f6723.c,
25253           device/non-free/include/pic16pic18f8310.h,
25254           device/non-free/lib/pic16/libdev/pic18f8310.c,
25255           device/non-free/include/pic16pic18f8390.h,
25256           device/non-free/lib/pic16/libdev/pic18f8390.c,
25257           device/non-free/include/pic16pic18f8393.h,
25258           device/non-free/lib/pic16/libdev/pic18f8393.c,
25259           device/non-free/include/pic16pic18f8410.h,
25260           device/non-free/lib/pic16/libdev/pic18f8410.c,
25261           device/non-free/include/pic16pic18f8490.h,
25262           device/non-free/lib/pic16/libdev/pic18f8490.c,
25263           device/non-free/include/pic16pic18f8493.h,
25264           device/non-free/lib/pic16/libdev/pic18f8493.c,
25265           device/non-free/include/pic16pic18f8525.h,
25266           device/non-free/lib/pic16/libdev/pic18f8525.c,
25267           device/non-free/include/pic16pic18f8621.h,
25268           device/non-free/lib/pic16/libdev/pic18f8621.c,
25269           device/non-free/include/pic16pic18f8628.h,
25270           device/non-free/lib/pic16/libdev/pic18f8628.c,
25271           device/non-free/include/pic16pic18f8723.h,
25272           device/non-free/lib/pic16/libdev/pic18f8723.c:
25273           applied patch #3573506 - Support of new PIC18Fxxx devices
25274           thanks to Molnar Karoly
25275         * device/include/pic16/pic18fregs.h:
25276           applied patch #3573796 - Correction the bug of pic18fregs.h
25277           thanks to Molnar Karoly
25279 2012-09-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25281         * src/hc08/main.c,
25282           src/ds390/main.c,
25283           src/z80/main.c,
25284           src/mcs51/main.c,
25285           src/pic14/main.c,
25286           src/pic16/main.c:
25287           A bit of consistency in port structure style.
25289 2012-10-01 Borut Razem <borut.razem AT gmail.com>
25291         * support/scripts/cinc2h.pl:
25292           applied patch #3572693: Correction of cinc2h.pl
25293           thanks to Molnar Karoly
25294         * device/non-free/include/pic14/*.h,
25295           device/non-free/lib/pic14/libdev/*.c,
25296           device/non-free/include/pic16/*.h,
25297           device/non-free/lib/pic16/libdev/*.c,
25298           device/lib/pic16/libio/usart/uopen.c: applied patch #3571327 -
25299           Regenerate the DEVICE.[ch] files with the cinc2h.pl program.
25300           thanks to Molnar Karoly
25302 2012-09-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25304         * device/lib/r2k/crt0.s,
25305           device/lib/z180/crt0.s,
25306           device/lib/r3ka/crt0.s,
25307           device/lib/z80/crt0.s,
25308           device/lib/z80/crtcall.s,
25309           src/SDCCglue.c,
25310           src/port.h,
25311           src/SDCCmem.c,
25312           src/SDCCmem.h,
25313           src/hc08/main.c,
25314           src/ds390/main.c,
25315           src/z80/main.c,
25316           src/mcs51/main.c,
25317           src/pic14/main.c,
25318           src/pic16/main.c:
25319           Most of RFE #3565759.
25320         * device/lib/r2k/Makefile.in,
25321           device/lib/z180/Makefile.in,
25322           device/lib/r3ka/Makefile.in,
25323           device/lib/z80/Makefile.in:
25324           Removed obsolete RLE initialization support.
25326 2012-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
25328         * sdas/as6808/m08pst.c,
25329         * sdas/as8051/i51pst.c,
25330         * sdas/asgb/gbpst.c,
25331         * sdas/asrab/rabpst.c,
25332         * sdas/asz80/z80pst.c,
25333         * sdas/asxxsrc/asdata.c,
25334         * sdas/asxxsrc/asmain.c,
25335         * sdas/asxxsrc/asxxxx.h: next step to ASxxxx v5
25337 2012-09-27 Borut Razem <borut.razem AT gmail.com>
25339         * support/scripts/inc2h.pl, support/scripts/cinc2h.pl,
25340           support/scripts/inc2h-pic16.pl: fixed typo tbut
25342 2012-09-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25344         * support/regression/tests/bug3467508.c:
25345           Regression test for bug #3467508.
25347 2012-09-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25349         * src/SDCCast.c (decorateType): fixed bug #3467508
25351 2012-09-26 Borut Razem <borut.razem AT gmail.com>
25353         * support/scripts/cinc2h.pl: added,
25354           thanks to Molnar Karoly
25356 2012-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
25358         * sdas/asrab/rabbitext.c: removed
25359         * sdas/asrab/rabbit.h,    sdas/asrab/rab.h,
25360         * sdas/asrab/rabbitadr.c, sdas/asrab/rabadr.c,
25361         * sdas/asrab/rabbitmch.c, sdas/asrab/rabmch.c,
25362         * sdas/asrab/rabbitpst.c, sdas/asrab/rabpst.c: renamed
25363         * sdas/asrab/asrab.vcxproj,
25364         * sdas/asrab/asrab.vcxproj.filters,
25365         * sdas/asrab/Makefile.in: updated
25366         * sdas/as6808/m08pst.c,
25367         * sdas/as8051/i51pst.c,
25368         * sdas/asgb/gbpst.c,
25369         * sdas/asrab/rabpst.c,
25370         * sdas/asz80/z80pst.c,
25371         * sdas/asxxsrc/asmain.c,
25372         * sdas/asxxsrc/asxxxx.h: next small steps towards ASxxxx v5
25374 2012-09-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25376         * src/SDCCicode.c (geniCodePostInc/Dec, geniCodePreInc/Dec):
25377         fixed bug #3511511
25378         * support/regression/tests/gcc-tortute-execute-950426-1.c:
25379         re-enabled
25381 2012-09-23 Maarten Brock <sourceforge.brock AT dse.nl>
25383         * sdas/asxxsrc/asdata.c,
25384         * sdas/asxxsrc/asdbg.c,
25385         * sdas/asxxsrc/aslist.c,
25386         * sdas/asxxsrc/asmain.c,
25387         * sdas/asxxsrc/assym.c,
25388         * sdas/asxxsrc/aslex.c,
25389         * sdas/asxxsrc/assubr.c,
25390         * sdas/asxxsrc/asxxxx.h: next small steps towards ASxxxx v5
25392 2012-09-19 Maarten Brock <sourceforge.brock AT dse.nl>
25394         * sdas/asz80/Makefile.in,
25395         * sdas/asz80/as_z80.vcxproj,
25396         * sdas/asz80/as_z80.vcxproj.filters,
25397         * sdas/asz80/z80ext.c: removed z80ext.c
25398         * sdas/as8051/i51mch.c,
25399         * sdas/asxxsrc/asmain.c,
25400         * sdas/asz80/z80.h,
25401         * sdas/asz80/z80mch.c: small step towards ASxxxx v5
25403 2012-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25405         * src/pic16/glue.c (pic16_initPointer): fixed pointer initialization
25406         from address of struct/union
25408 2012-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
25410         * sdas/asxxsrc/asdata.c,
25411         * sdas/asxxsrc/asexpr.c,
25412         * sdas/asxxsrc/aslist.c,
25413         * sdas/asxxsrc/asmain.c,
25414         * sdas/asxxsrc/asxxxx.h,
25415         * sdas/linksrc/aslink.h,
25416         * sdas/linksrc/lklist.c,
25417         * src/hc08/main.c,
25418         * src/mcs51/main.c,
25419         * src/z80/main.c: again a small step towards ASxxxx v5
25421 2012-09-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25423         * src/z80/ralloc2.cc (inst_sane): fixed bug #3558402
25425 2012-09-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25427         * support/regression/tests/bug3564649.c:
25428           Disable test for host, since we cannot assume C11 support yet.
25430 2012-09-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25432         * support/regression/tests/gcc-torture-execute-20030209-1.c:
25433           Reduced array size, reenabled test.
25434         * support/regression/tests/gcc-torture-execute-991016-1.c:
25435           Enabled test for targets that support long long, since returning long long was implemented some time ago.
25437 2012-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25439         * src/SDCCglue.c (emitRegularMap, printIvalType, printIvalBitFields),
25440         * src/SDCCast.c (constExprValue): fixed bug #3560781 and related
25441         * support/regression/tests/bug3564649.c: ensure noreturn function
25442           does not return
25444 2012-09-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25446         * src/z80/gen.c:
25447           More efficient stack pointer restoration.
25448         * support/regression/tests/bug3564649.c:
25449           Regression test for bug #3564649.
25451 2012-09-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25453         * support/valdiag/tests/tentdecl.c,
25454         * support/valdiag/tests/primtypes.c,
25455         * support/valdiag/tests/constantRange.c,
25456         * support/valdiag/tests/funcdec.c,
25457         * support/valdiag/tests/overflow.c,
25458         * support/valdiag/Makefile.in,
25459         * support/valdiag/valdiag.py: update to work with current SDCC version
25461 2012-09-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25463         * src/SDCCBBlock.c (iCode2eBBlock),
25464         * src/SDCCcflow.c (eBBSuccessors): fixed bug #3564649
25466 2012-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
25468         * sdas/as8051/i51mch.c,
25469         * sdas/as8051/i8051.h,
25470         * sdas/asxxsrc/asdata.c,
25471         * sdas/asxxsrc/asxxxx.h: another small step towards ASxxxx v5
25473 2012-09-12 Leland Morrison <enigmalee AT sourceforge.net>
25475         * sdas/asz80/z80.h, sdas/asz80/z80pst.c, sdas/asz80/z80mch.c,
25476         * sdas/asz80/z80adr.c: added support for undocument z80 instructions
25478 2012-09-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25480         * src/SDCCicode.h,
25481         * src/SDCCicode.c (isOperandInBitSpace): new function
25482         * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #3564969
25484 2012-09-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25486         * src/SDCCsymt.c (computeType): fixed bug #3564104
25487         * support/regression/tests/bug3564104.c: reenabled test
25489 2012-09-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25491         * src/z80/gen.c:
25492           Fixed bug #3566191 by disabling register tracking for iy.
25493         * src/z80/z80.h,
25494           src/z80/ralloc.c:
25495           Enabled rematerialization by register allocation for gbz80.
25497 2012-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25499         * support/regression/tests/inline.c: added test for bug #3564755
25500         * support/regression/tests/bug3565757.c: temporarily disabled bool
25501           in struct
25502         * src/SDCCast.c: fixed bugs #3566114 and #3539508
25504 2012-09-09 Borut Razem <borut.razem AT gmail.com>
25506         * configure.in, configure, sdccconf_in.h:
25507           removed (commented out) avr and xa51 configuration options
25509 2012-09-09 Maarten Brock <sourceforge.brock AT dse.nl>
25511         * sdas/as8051/Makefile.in,
25512         * sdas/as8051/asx8051.vcxproj,
25513         * sdas/as8051/asx8051.vcxproj.filters,
25514         * sdas/as8051/i51ext.c: removed i51ext.c
25515         * sdas/as6808/m08mch.c,   sdas/as6808/m08pst.c,
25516         * sdas/as8051/i51mch.c,   sdas/as8051/i51pst.c,
25517         * sdas/asgb/gbmch.c,      sdas/asgb/gbpst.c,
25518         * sdas/asrab/rabbitmch.c, sdas/asrab/rabbitpst.c,
25519         * sdas/asz80/z80mch.c,    sdas/asz80/z80pst.c,
25520         * sdas/asxxsrc/asdata.c,  sdas/asxxsrc/asexpr.c,
25521         * sdas/asxxsrc/aslist.c,  sdas/asxxsrc/asmain.c,
25522         * sdas/asxxsrc/asout.c,   sdas/asxxsrc/asxxxx.h: small step towards ASxxxx v5
25523         * src/mcs51/gen.c(freeAsmop): fix for MSVC
25524         * src/SDCCsymt.c(typeFromStr): added 'C' for const
25525         * src/z80/main.c(_z80_builtins): use 'C' to fix warnings
25527 2012-09-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25529         * src/z80/gen.c,
25530           support/regression/tests/bug3565757.c:
25531           Fixed bug #3565757.
25533 2012-09-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25535         * src/z80/gen.c,
25536           support/regression/tests/bug3559997.c:
25537           Fixed bug #3559997.
25539 2012-09-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25541         * src/SDCCsymt.c (checkSClass),
25542         * src/SDCCast.c (expandInlineFuncs): fixed bug #3564755
25544 2012-09-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25546         * src/SDCCval.c (cheapestVal): fixed bug #3563977
25547         * support/regression/tests/enum.c: tests added for bug #3563977
25549 2012-09-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25551         * src/SDCCicode.c (operandOperation): fixed bug #3537139
25553 2012-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25555         * sdas/linksrc/aslink.h,
25556         * sdas/linksrc/lkarea.c,
25557         * sdas/linksrc/lkelf.c,
25558         * src/hc08/gen.c: Fixed bug #3536431
25560 2012-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25562         * src/SDCClospre.hpp:
25563           More verbose lospre debug output.
25564         * support/regression/tests/bug3564104.c:
25565           Regression test for #3564104.
25567 2012-08-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25569         * src/z80/ralloc2.cc,
25570           src/z80/gen.c:
25571           Fix for handling of parameters in the z80-related ports.
25573 2012-08-27 Borut Razem <borut.razem AT gmail.com>
25575         * src/ds390/gen.c:
25576           fixed muldiv regression test failures on ARM architecture
25578 2012-08-25 Borut Razem <borut.razem AT gmail.com>
25580         * src/mcs51/gen.c:
25581           fixed muldiv regression test failures on ARM architecture
25583 2012-08-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25585         * src/z80/gen.c,
25586           support/regression/tests/bug3561215.c:
25587           Fixed bug #3561215.
25589 2012-08-22 Maarten Brock <sourceforge.brock AT dse.nl>
25591         * src/mcs51/gen.c: Reinserted break in proper context
25593 2012-08-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25595         * src/mcs51/gen.c:
25596           Remove out-of-context break.
25598 2012-08-20 Maarten Brock <sourceforge.brock AT dse.nl>
25600         * src/mcs51/gen.c (aopPtrForSym): added warning for memory space overflow,
25601           see bug 3509704
25602           (freeForBranchAsmop, freeForBranchAsmops): need extra ic parameter
25603           (aopPut, genFarPointerSet): partial fix for bug 3534523
25605 2012-08-17 Borut Razem <borut.razem AT gmail.com>
25607         * src/SDCCasm.c, SDCCsymt.h: fixed failing regression tests if
25608           sdcc compiled on ARM architecture where default "char" is "unsigned char"
25610 2012-08-13 Borut Razem <borut.razem AT gmail.com>
25612         * support/regression/tests/bitvars.c,
25613           support/regression/tests/funsigned-char.c:
25614           fixed for gcc hosts with unsigned char (ARM architecture)
25616 2012-08-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25618         * src/z80/gen.c:
25619           Improve code generation for and with result in register and bit complement operand.
25621 2012-08-04 Borut Razem <borut.razem AT gmail.com>
25623         * device/include/pic14/pic14devices.txt:
25624           applied patch minor-pic12lf1552-error.diff from
25625           #3553952 - "New devices to pic14 series and pic16fam-h-gen.pl update II."
25626           thanks to Molnar Karoly
25628 2012-08-03 Borut Razem <borut.razem AT gmail.com>
25630         * support/scripts/pic16fam-h-gen.pl,
25631           device/include/pic14/pic14devices.txt,
25632           device/non-free/lib/pic14/libdev/devices.txt,
25633           device/non-free/lib/pic14/libdev/Makefile.in,
25634           device/non-free/include/pic14/pic16fam.h,
25635           doc/sdccman.lyx: updated,
25636           device/non-free/include/pic14/pic16f723a.h,
25637           device/non-free/include/pic14/pic16f1512.h,
25638           device/non-free/include/pic14/pic16f723.h,
25639           device/non-free/include/pic14/pic16f727.h,
25640           device/non-free/include/pic14/pic12f617.h,
25641           device/non-free/include/pic14/pic16f1513.h,
25642           device/non-free/include/pic14/pic12f609.h,
25643           device/non-free/include/pic14/pic16f724.h,
25644           device/non-free/include/pic14/pic16f707.h,
25645           device/non-free/include/pic14/pic12lf1552.h,
25646           device/non-free/include/pic14/pic16f610.h,
25647           device/non-free/include/pic14/pic16f631.h,
25648           device/non-free/include/pic14/pic16f677.h,
25649           device/non-free/include/pic14/pic16f722a.h,
25650           device/non-free/include/pic14/pic12f615.h,
25651           device/non-free/include/pic14/pic16f722.h,
25652           device/non-free/include/pic14/pic16f726.h,
25653           device/non-free/lib/pic14/libdev/pic16f723.c,
25654           device/non-free/lib/pic14/libdev/pic16f727.c,
25655           device/non-free/lib/pic14/libdev/pic12f617.c,
25656           device/non-free/lib/pic14/libdev/pic16f1513.c,
25657           device/non-free/lib/pic14/libdev/pic12f609.c,
25658           device/non-free/lib/pic14/libdev/pic16f724.c,
25659           device/non-free/lib/pic14/libdev/pic16f707.c,
25660           device/non-free/lib/pic14/libdev/pic12lf1552.c,
25661           device/non-free/lib/pic14/libdev/pic16f610.c,
25662           device/non-free/lib/pic14/libdev/pic16f631.c,
25663           device/non-free/lib/pic14/libdev/pic16f677.c,
25664           device/non-free/lib/pic14/libdev/pic16f722a.c,
25665           device/non-free/lib/pic14/libdev/pic12f615.c,
25666           device/non-free/lib/pic14/libdev/pic16f722.c,
25667           device/non-free/lib/pic14/libdev/pic16f726.c,
25668           device/non-free/lib/pic14/libdev/pic16f723a.c,
25669           device/non-free/lib/pic14/libdev/pic16f1512.c: added,
25670           applied patch #3553952 - "New devices to pic14 series and pic16fam-h-gen.pl update II."
25671           thanks to Molnar Karoly
25672         * device/non-free/include/pic14/pic16f1516.h,
25673           device/non-free/include/pic14/pic16f1517.h,
25674           device/non-free/include/pic14/pic16f1518.h,
25675           device/non-free/include/pic14/pic16f1519.h:
25676           applied patch #3553938 - "pic16f151[6-9].h unnecessary ANSC[01] bits"
25677           thanks to Molnar Karoly
25679 2012-08-01 Borut Razem <borut.razem AT gmail.com>
25681         * device/non-free/include/pic14/pic12f752.h,
25682           device/non-free/include/pic14/pic16f1784.h,
25683           device/non-free/include/pic14/pic10f322.h,
25684           device/non-free/include/pic14/pic16f1454.h,
25685           device/non-free/include/pic14/pic16f1786.h,
25686           device/non-free/include/pic14/pic12f1501.h,
25687           device/non-free/include/pic14/pic10f320.h,
25688           device/non-free/include/pic14/pic16f1787.h,
25689           device/non-free/lib/pic14/libdev/pic16f1787.c,
25690           device/non-free/lib/pic14/libdev/pic10f320.c,
25691           device/non-free/lib/pic14/libdev/pic16f1784.c,
25692           device/non-free/lib/pic14/libdev/pic12f752.c,
25693           device/non-free/lib/pic14/libdev/pic16f1454.c,
25694           device/non-free/lib/pic14/libdev/pic10f322.c,
25695           device/non-free/lib/pic14/libdev/pic16f1786.c,
25696           device/non-free/lib/pic14/libdev/pic12f1501.c,
25697           support/scripts/pic16fam-h-gen.pl,
25698           device/include/pic14/pic14devices.txt,
25699           device/non-free/include/pic14/pic16fam.h,
25700           device/non-free/lib/pic14/libdev/devices.txt,
25701           device/non-free/lib/pic14/libdev/Makefile.in,
25702           doc/sdccman.lyx:
25703           applied patch #3553108 - "New devices to pic14 series and pic16fam-h-gen.pl update",
25704           thanks to Molnar Karoly
25706 2012-08-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25708         * src/z80/z80.h,
25709           src/z80/ralloc2.cc,
25710           src/z80/main.c:
25711           Provide --fno-omit-frame-pointer option for not omitting frame pointer.
25713 2012-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25715         * src/SDCCicode.c (geniCodeAdd): made fix for bug 3537338 endian
25716           agnostic
25718 2012-07-21 Borut Razem <borut.razem AT gmail.com>
25720         * src/pic14/main.c: fixed bug
25721           #3546732 - "pic16f1507lib: No such file or directory"
25723 2012-07-21 Maarten Brock <sourceforge.brock AT dse.nl>
25725         * src/SDCCmem.c (allocGlobal, allocLocal): added check if bit space exists
25726         * src/SDCCsymt.c (computeType): fixed bug 3531687
25727         * src/SDCCast.c,
25728         * src/SDCCicode.c,
25729         * src/SDCCsymt.h: renamed RESULT_TYPE_BIT to RESULT_TYPE_BOOL
25730         * support/regression/tests/bug3531687.c: reinserted char > bool test
25731         * support/regression/tests/bug3537338.c: use _STATMEM for more coverage
25732         * support/regression/tests/gcc-torture-execute-930513-1.c: modified to
25733           accept "<NO FLOAT>" and prevent buffer overrun
25735 2012-07-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25737         * src/SDCClospre.hpp (implement_lospre_assignment): explicitly ignore
25738           vertices created from newly split edges
25739         * src/SDCCopt.c (eBBlockFromiCode): reenable lospre
25741 2012-07-19 Maarten Brock <sourceforge.brock AT dse.nl>
25743         * src/SDCCicode.c (geniCodeAdd): fixed bug 3537338
25744         * src/ds390/gen.c (genMultOneByte): handle long result for pointer offsets
25745         * src/mcs51/gen.c (genLeftShiftLiteral, genRightShiftLiteral),
25746         * src/z80/gen.c (genLeftShiftLiteral): added wassert
25747         * support/regression/tests/bug3537338.c: new, added
25749 2012-07-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25751         * src/SDCCopt.c: temporarily disable lospre until I can figure out
25752           why it's failing on some hosts.
25754 2012-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
25756         * sdcc.sln: sdcdb depends on config
25757         * all.vcxproj: excluded copy to bin\ from debug build as it seems to mess up
25758           the dependencies
25759         * all.vcxproj.filters: added sdasrab.exe
25760         * src/sdcc.vcxproj.filters,
25761         * src/sdcc.vcxproj: removed SDCC.y dependency from lexing
25762           added version.h to Header Files
25763           added SDCClospre.cc and SDCClospre.hpp
25764         * config.vcxproj,
25765         * src/yacc.vcxproj: updated all custom build commands and dependencies
25766         * src/SDCCast.c (decorateType, '='): fixed lost linenumber in bug 3540054
25767         * src/SDCCsymt.c (dbuf_printTypeChain): removed 'd'
25768         * sdas/asrab/rabbitmch.c (machine): removed const to fix prototype conflict
25769         * src/SDCClospre.cc (lospre): fixed warning
25770         * src/SDCCutil.h,
25771         * src/SDCCutil.c (processStrSet): fix warning by using explicit function ptr
25773 2012-07-15 Borut Razem <borut.razem AT gmail.com>
25775         * src/SDCCmain.c, src/SDCCutil.c, src/SDCCutil.h, src/SDCCsystem.c,
25776           src/mcs51/main.c, src/ds390/main.c, src/z80/main.c, src/hc08/main.c,
25777           src/pic14/main.c, src/pic16/main.c, src/avr/main.c, src/xa51/main.c:
25778           properly quoted file names when transferred to preprocessor,
25779           assembler and linker
25780         * support/scripts/repack_release.sh: added -pr to usage
25782 2012-07-12 Borut Razem <borut.razem AT gmail.com>
25784         * src/SDCCerr.c, src/SDCCerr.h, src/pic16/main.c, src/pic16/main.h,
25785           src/pic16/glue.c, src/pic16/device.h, src/SDCCast.c, src/SDCCast.h,
25786           doc/sdccman.lyx: properly fixed bug
25787           #3539804 - pragma config and certain string constants
25789 2012-07-11 Borut Razem <borut.razem AT gmail.com>
25791         * support/scripts/repack_release.sh: implemented feature request
25792           #3472159 - sdcc-3.1.0.tar.bz2 will untar with name sdcc;
25793           the result will be seen at the next sdcc release 3.3.0
25795 2012-07-11 Philipp Klaus Krause <pkk AT spth.de>
25797         * src/z80/peeph-z80.def:
25798           Fixed comment.
25800 2012-07-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25802         * Merged the lospre branch.
25804 2012-07-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25806         * src/z80/gen.c,
25807           src/hc08/gen.c:
25808           Disable cost function debugging output.
25810 2012-07-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25812         * Merged the smallopts branch.
25814 2012-07-09 Borut Razem <borut.razem AT gmail.com>
25816         * Small Device C Compiler 3.2.0 released
25817         * .version, doc/sdccman.lyx: changed sdcc version to 3.2.1
25819 2012-07-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25821         * src/SDCCopt.c:
25822           Disable lospre for ports unrelated to z80 or hc08.
25824 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25826         * src/z80/gen.c:
25827           Improve code generation for multiplication by literal.
25829 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25831         * src/z80/gen.c:
25832           Fix bug in built-in strchr().
25833         * device/lib/Makefile.in:
25834           Fix building of strcpy() for mcs51.
25836 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25838         * src/z80/gen.c:
25839           Fix bug in stack restoration for built-in functions.
25840         * device/lib/_strchr.c,
25841           device/lib/_strncpy.c:
25842           Fix conflict between built-in and non built-in functions.
25844 2012-07-07 Borut Razem <borut.razem AT gmail.com>
25846         * support/scripts/repack_release.sh:
25847           updated, added -dl, -r and -ul command line options
25849 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25851         * src/SDCCmain.c,
25852           src/SDCClospre.cc,
25853           src/SDCCglobl.h:
25854           Provide option to allow unsafe reads in lospre.
25856 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25858         * src/SDCClospre.hpp,
25859           src/SDCClospre.cc:
25860           Safety in lospre.
25862 2012-07-06 Philipp Klaus Krause <pkk AT spth.de>
25864         * src/SDCClospre.hpp,
25865           src/SDCClospre.cc:
25866           Preparations for safety in lospre.
25868 2012-07-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25870         * src/SDCClospre.hpp,
25871           src/SDCClospre.cc:
25872           Preparations for safety.
25874 2012-07-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25876         * src/SDCClospre.hpp:
25877           Fix for out-of-memory handling in lospre.
25879 2012-07-06 Borut Razem <borut.razem AT gmail.com>
25881         * src/pic16/main.c: bug patched with sdcc-3.2.0-config_fix.diff
25882           #3539804 - #pragma config and certain string constants,
25883           thanks to Herbert Potzl
25885 2012-07-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25887         * src/SDCClospre.cc:
25888           Preparations for safety in lospre.
25890 2012-06-30 Borut Razem <borut.razem AT gmail.com>
25892         * support/scripts/sdcc.nsi:
25893           fixed 'Installer suggest "C:\Program Files\SDCC" instead of
25894           "C:\Program Files (x86)\SDCC"' problem
25896 2012-07-04 Philipp Klaus Krause <pkk AT spth.de>
25898         * src/z80/gen.c:
25899           Fix for operand handling in built-in memset().
25900         * src/SDCCopt.c:
25901           Convert zero-length built-in memcpy(), strncpy(), memset()
25902           back to ensure any volatiles are read. Fixes #3538725.
25904 2012-06-30 Philipp Klaus Krause <pkk AT spth.de>
25906         * src/z80/ralloc2.cc,
25907           src/z80/gen.c:
25908           Fix stack adjustment after call and omission of frame pointer for --reserve-regs-iy.
25910 2012-06-28 Maarten Brock <sourceforge.brock AT dse.nl>
25912         * sdcc.sln,
25913         * sdas/asrab/asrab.vcxproj: renamed output to sdasrab
25914         * all.vcxproj: added sdasrab.exe and sdldrab.exe
25915         * src/sdcc.vcxproj: removed parsing SDCC.y
25916         * src/yacc.vcxproj: cosmetics
25917         * sdas/as6808/m6808.h,
25918         * sdas/as8051/i8051.h,
25919         * sdas/asgb/gb.h,
25920         * sdas/asrab/rabbit.h,
25921         * sdas/asz80/z80.h: removed (conflicting) prototypes for machine and minit
25922         * src/hc08/ralloc.c (packRegisters): fixed bug indicated by a warning
25923         * src/pic14/gen.c (genDataPointerGet, genConstPointerGet),
25924         * src/pic14/genarith.c (genAddLit),
25925         * src/pic14/glue.c (pic14_constructAbsMap, emitInitVal)
25926         * src/pic16/device.h (PIC16_device),
25927         * src/pic16/gen.c (pic16_storeForReturn, genAnd, genXor, genAssign),
25928         * src/pic16/glue.c (pic16_printIvalType, pic16_printIvalChar,
25929           pic16_printIvalBitFields, pic16_printIvalUnion),
25930         * src/z80/ralloc2.cc (iy_reserved, Ainst_ok, omit_frame_ptr): fixed warnings
25932 2012-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25934         * src/SDCCopt.c,
25935           src/z80/gen.c,
25936           src/z80/main.c,
25937           device/include/string.h:
25938           Built-in strncpy().
25940 2012-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25942         * src/SDCCralloc.hpp,
25943           src/z80/ralloc2.cc,
25944           src/z80/gen.c,
25945           src/hc08/ralloc2.cc,
25946           device/include/string.h:
25947           Built-in strchr().
25948         * src/z80/peep.c:
25949           Fix out-of-array read.
25951 2012-06-27 Borut Razem <borut.razem AT gmail.com>
25953         * src/SDCC.lex:
25954           unescape file names from preprocessor, 3rd try
25955         * device/non-free/lib/pic16/libdev/Makefile.am,
25956           device/non-free/lib/pic16/libdev/Makefile.in,
25957           device/non-free/lib/pic14/libdev/Makefile.in:
25958           gputils supports all devices supported by SDCC
25960 2012-06-27 Philipp Klaus Krause <pkk AT spth.de>
25962         * src/z80/main.c,
25963           src/z80/gen.c:
25964           Built-in strcpy().
25966 2012-06-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25968         * device/lib/z180/Makefile.in,
25969           device/lib/incl.mk,
25970           device/lib/r3ka/Makefile.in,
25971           device/lib/gbz80/Makefile.in,
25972           device/lib/s08/Makefile.in,
25973           device/lib/r2k/Makefile.in,
25974           device/lib/hc08/Makefile.in,
25975           device/lib/z180/strcpy.s
25976           device/lib/r3ka/strcpy.s
25977           device/lib/z80/strcpy.s
25978           device/lib/r2k/strcpy.s:
25979           Use ldi for strcpy().
25981 2012-06-27 Borut Razem <borut.razem AT gmail.com>
25983         * src/SDCC.lex:
25984           unescape file names from preprocessor, 2nd try
25986 2012-06-26 Borut Razem <borut.razem AT gmail.com>
25988         * src/SDCC.lex, src/SDCCerr.c, src/SDCCerr.h:
25989           unescape file names from preprocessor
25991 2012-06-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25993         * src/z80/gen.c:
25994           Use xor to zero the accumulator in a few more places.
25996 2012-06-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25998         * src/z80/gen.c:
25999           Improve memset() for small sizes, RFE #3537534.
26001 2012-06-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26003         * src/z80/ralloc2.cc:
26004           Improve handling of hl in additions with on-stack param operands.
26006 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26008         * device/lib/z180/shift.s,
26009           device/lib/r3ka/shift.s,
26010           device/lib/z80/shift.s,
26011           device/lib/gbz80/shift.s,
26012           device/lib/r2k/shift.s,
26013           src/port.h,
26014           src/z80/gen.c,
26015           src/z80/main.c,
26016           device/lib/z180/Makefile.in,
26017           device/lib/z180/stubs.s,
26018           device/lib/r3ka/Makefile.in,
26019           device/lib/r3ka/stubs.s,
26020           device/lib/z80/Makefile.in,
26021           device/lib/z80/stubs.s,
26022           device/lib/gbz80/stubs.s,
26023           device/lib/gbz80/Makefile.in,
26024           device/lib/r2k/Makefile.in,
26025           device/lib/r2k/stubs.s:
26026           Code generation instead of support calls for all shifts.
26028 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26030         * src/z80/gen.c:
26031           Better cost estimation for loading parameters into pairs,
26032           more efficient loading from stack into iy for Rabbits.
26034 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26036         * src/z80/gen.c:
26037           Use dec r and inc a in comparison for equality.
26039 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26041         * src/z80/gen.c,
26042           src/z80/ralloc2.cc:
26043           Use 16-bit sbc in subtraction and comparison.
26045 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26047         * src/z80/gen.c:
26048           Improve handling of pointers to long and long long.
26050 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26052         * src/z80/gen.c:
26053           Minor addition improvement,
26054           refactoring of pair test code.
26056 2012-06-25 Borut Razem <borut.razem AT gmail.com>
26058         * src/regression/Makefile:
26059           applied patch #3537593 - pic16 regression patch,
26060           thanks to Don Wooton
26062 2012-06-24 Borut Razem <borut.razem AT gmail.com>
26064         * support/scripts/repack_release.sh: updated
26066 2012-06-24 Maarten Brock <sourceforge.brock AT dse.nl>
26068         * src/mcs51/gen.c (genLeftShiftLiteral): commented out wassert to work
26069           around bug 3537338
26071 2012-06-21 Borut Razem <borut.razem AT gmail.com>
26073         * device/non-free/lib/pic14/libdev/devices.txt,
26074           device/non-free/lib/pic14/libdev/Makefile.in,
26075           device/non-free/lib/pic14/libdev/pic16c782.c,
26076           device/non-free/lib/pic14/libdev/pic16f676.c,
26077           device/non-free/lib/pic14/libdev/pic16f1782.c,
26078           device/non-free/lib/pic14/libdev/pic16c770.c,
26079           device/non-free/lib/pic14/libdev/pic16f716.c,
26080           device/non-free/lib/pic14/libdev/pic16f1503.c,
26081           device/non-free/lib/pic14/libdev/pic16f1507.c,
26082           device/non-free/lib/pic14/libdev/pic16f1783.c,
26083           device/non-free/lib/pic14/libdev/pic16c771.c,
26084           device/non-free/lib/pic14/libdev/pic16c925.c,
26085           device/non-free/lib/pic14/libdev/pic16f1508.c,
26086           device/non-free/lib/pic14/libdev/pic16f1823.c,
26087           device/non-free/lib/pic14/libdev/pic16c432.c,
26088           device/non-free/lib/pic14/libdev/pic16c717.c,
26089           device/non-free/lib/pic14/libdev/pic16c781.c,
26090           device/non-free/lib/pic14/libdev/pic12f675.c,
26091           device/non-free/lib/pic14/libdev/pic16c926.c,
26092           device/non-free/lib/pic14/libdev/pic16f1509.c,
26093           device/non-free/lib/pic14/libdev/pic12f629.c,
26094           device/non-free/lib/pic14/libdev/pic16f684.c,
26095           device/non-free/lib/pic14/libdev/pic16f688.c,
26096           device/non-free/lib/pic14/libdev/pic16f630.c,
26097           device/non-free/lib/pic14/libdev/pic16f747.c,
26098           device/non-free/lib/pic14/libdev/pic16c946.c,
26099           device/non-free/include/pic14/pic16c782.h,
26100           device/non-free/include/pic14/pic16f676.h,
26101           device/non-free/include/pic14/pic16f1509.h,
26102           device/non-free/include/pic14/pic16c770.h,
26103           device/non-free/include/pic14/pic16f716.h,
26104           device/non-free/include/pic14/pic16f1782.h,
26105           device/non-free/include/pic14/pic16c771.h,
26106           device/non-free/include/pic14/pic16c925.h,
26107           device/non-free/include/pic14/pic16f1503.h,
26108           device/non-free/include/pic14/pic16f1507.h,
26109           device/non-free/include/pic14/pic16f1783.h,
26110           device/non-free/include/pic14/pic16c432.h,
26111           device/non-free/include/pic14/pic16c717.h,
26112           device/non-free/include/pic14/pic16c781.h,
26113           device/non-free/include/pic14/pic12f675.h,
26114           device/non-free/include/pic14/pic16c926.h,
26115           device/non-free/include/pic14/pic16f1508.h,
26116           device/non-free/include/pic14/pic16f1823.h,
26117           device/non-free/include/pic14/pic12f629.h,
26118           device/non-free/include/pic14/pic16f684.h,
26119           device/non-free/include/pic14/pic16f688.h,
26120           device/non-free/include/pic14/pic16f630.h:
26121           device/non-free/include/pic14/pic16f747.h:
26122           device/non-free/include/pic14/pic16c946.h:
26123           applied modified patch
26124           #3536909 - "Pic14 device and header upgrade.",
26125           thanks to Molnar Karoly
26126         * support/scripts/inc2h.pl: applied modified patch
26127           #3536022 - "Error in the inc2h.pl program.",
26128           thanks to Molnar Karoly
26129         * device/non-free/include/pic14/recreate.sh:
26130           generate NO_LEGACY_NAMES block if exists in the old version
26131         * src/pic14/genarith.c: applied patch
26132           #3521376 - "pic14 incorrect asm op code",
26133           thanks to Raphael Neider
26135 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26137         * src/SDCCralloc.hpp,
26138           src/port.h,
26139           src/xa51/main.c,
26140           src/mcs51/main.c,
26141           src/ds390/main.c,
26142           src/pic14/main.c,
26143           src/pic16/main.c,
26144           src/z80/main.c,
26145           src/z80/ralloc2.cc,
26146           src/hc08/main.c,
26147           src/hc08/ralloc2.cc:
26148           Nice fix for bug #3536902.
26149         * src/z80/gen.c:
26150           More efficient built-in memcpy() for small copies.
26152 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26154         * src/SDCCralloc.hpp,
26155           src/z80/ralloc2.c,
26156           src/z80/ralloc.h:
26157           Ugly hack to fix bug #3536902.
26159 2012-06-21 Leland Morrison <enigmalee AT sourceforge.net>
26161         * sim/ucsim/z80.src/inst_r2k.cc:
26162           Fix flags for rl de, rr d, rr hl (merged by Philipp Klaus Krause from smallopts branch).
26164 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26166         * src/z80/gen.c:
26167           Fix spilling of comitted pair after ex (sp), dd.
26169 2012-06-21 Maarten Brock <sourceforge.brock AT dse.nl>
26171         * device/include/mcs51/cc2530.h: renamed TR0 to TESTREG0
26173 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26175         * src/z80/gen.c:
26176           Use destructive increment in comparison for equality with #0xff,
26177           more efficient assignment of 16-byte values,
26178           fix spilling of comitted pair after ex (sp), dd.
26180 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26182         * src/z80/gen.c:
26183           Enable use of rl de in destructive and.
26185 2012-06-20 Leland Morrison <enigmalee AT sourceforge.net>
26187         * sim/ucsim/z80.src/inst_r2k.cc:
26188           Fix flags for rl de, rr d, rr hl.
26190 2012-06-20 Philipp Klaus Krause <pkk AT spth.de>
26192         * src/z80/gen.c:
26193           Improve destructive and.
26195 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26197         * src/z80/peeph-z80.def,
26198           src/z80/peeph-r2k.def:
26199           Minor peephole fix.
26201 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26203         * src/z80/gen.c:
26204           More efficient assignment for global variables.
26206 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26208         * src/z80/gen.c:
26209           Fix bug in & 0x8000 with ifx for unsigned int.
26211 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26213         * src/z80/gen.c:
26214           Refactor code for setup for built-in memcpy(),
26215           use ex de, hl in register move,
26216           use cp instead of xor for clearing the carry flag.
26218 2012-06-18 Philipp Klaus Krause <pkk AT spth.de>
26220         * src/SDCCopt.c,
26221           src/hc08/ralloc.c:
26222           Document relation between offsetFold() and packPointerOp().
26224 2012-06-18 Borut Razem <borut.razem AT gmail.com>
26226         * doc/sdccman.lyx, device/include/pic14/pic14devices.txt,
26227           device/non-free/lib/pic14/libdev/devices.txt,
26228           device/non-free/lib/pic14/libdev/Makefile.in,
26229           device/non-free/include/pic14/pic16f883.h,
26230           device/non-free/include/pic14/pic16f884.h,
26231           device/non-free/include/pic14/pic16f882.h,
26232           device/non-free/lib/pic14/libdev/pic16f884.c,
26233           device/non-free/lib/pic14/libdev/pic16f882.c,
26234           device/non-free/lib/pic14/libdev/pic16f883.c:
26235           applied patch #3531530 - new CPU support (pic16f882, 883, 884),
26236           thanks to Molnar Karoly
26238 2012-06-18 Philipp Klaus Krause <pkk AT spth.de>
26240         * src/z80/peeph-z80.def,
26241           src/z80/peeph-r2k.def:
26242           Some more peepholes that help when framepointer is omitted.
26243         * src/z80/peep.c:
26244           Handle cpl, ldir, di, ei, out, in, mul and bool in read analysis.
26246 2012-06-18 Philipp Klaus Krause <pkk AT spth.de>
26248         * src/z80/gen.c,
26249           src/z80/ralloc2.cc:
26250           Improve shifts by non-literal.
26252 2012-06-17 Borut Razem <borut.razem AT gmail.com>
26254         * support/scripts/sdcc.nsi:
26255           added removal of include\asm\r3ka\*.h
26256         * device/non-free/include/pic14/pic16fam.h,
26257           support/scripts/pic16fam-h-gen.pl:
26258           applied patch #3531531 - The pic16fam-h-gen correction,
26259           thanks to Molnar Karoly
26260         * support/scripts/repack_release.sh:
26261           remove unneeded directories produced by sdbinutils
26263 2012-06-17 Philipp Klaus Krause <pkk AT spth.de>
26265         * src/SDCCerr.h,
26266           src/SDCCerr.c,
26267           src/SDCCval.c:
26268           Warn when encountering long long literals.
26270 2012-06-17 Philipp Klaus Krause <pkk AT spth.de>
26272         * src/z80/gen.c:
26273           Improve destructive and.
26275 2012-06-16 Leland Morrison <enigmalee AT sourceforge.net>
26277         * sdas/asz80/z80mch.c: Change to report error for invalid operands
26278           to z180 tst instruction.
26280 2012-06-09 Borut Razem <borut.razem AT gmail.com>
26282         * .version, sdcc.spec, doc/sdccman.lyx:
26283           changed sdcc version to 3.2.0
26285 2012-06-16 Philipp Klaus Krause <pkk AT spth.de>
26287         * src/z80/gen.c:
26288           Implement #3512989.
26290 2012-06-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26292         * support/regression/ports/pic14/support.c:
26293           Fix for renamed __asm.
26294         * support/regression/tests/gcc-torture-execute-pr31169.c,
26295           support/regression/tests/bitfields.c,
26296           support/regression/tests/gcc-torture-execute-20100316-1.c,
26297           support/regression/tests/gcc-torture-execute-pr38422.c,
26298           support/regression/tests/gcc-torture-execute-921016-1.c:
26299           Disable tests that use bitfields of size greater than 8 bits, which is not yet supported by the pic16 port.
26301 2012-06-15 Leland Morrison <enigmalee AT sourceforge.net>
26303         * sim/ucsim/z80.src/z80cl.h, z80.cc, inst_ed.cc:
26304           Added in0, out0, and tst instructions for z180 support.
26306 2012-06-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26308         * src/SDCClospre.hpp:
26309           Fix lospre nonforward-substitution of POINTER_SET.
26310         * src/SDCClospre.cc:
26311           Improve handling of invalidation at POINTER_SET.
26313 2012-06-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26315         * support/regression/tests/and_survive.c:
26316           Test non-destructive and, regression test for #3534833.
26317         * support/regression/tests/gcc-torture-execute-980707-1.c:
26318           Adapted and enabled test for mcs51.
26320 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26322         * src/hc08/gen.c:
26323           Fix cost calculation for branches.
26325 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26327         * src/hc08/gen.c:
26328           Improve storing of hx in assignment.
26330 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26332         * src/z80/gen.c:
26333           Fix for 16-bit addition to avoid generating invalid add hl, iy.
26335 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26337         * src/z80/gen.c:
26338           Improve multiplication for Rabbits.
26340 2012-06-13 Leland Morrison <enigmalee AT sourceforge.net>
26342         * sdas/asz80/z80mch.c:  Allow the tst instruction for z180/.hd64 to
26343           use the two operand form (tst a,X) (fixes bug #3534833)
26345 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26347         * src/z80/gen.c:
26348           Improve one-byte shifts, use fix of #3534833 in non-destructive and.
26350 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26352         * src/z80/gen.c:
26353           Improve right shift.
26355 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26357         * src/z80/gen.c:
26358           Improve 16-bit addition with operand in hl and result in iy.
26360 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26362         * src/z80/ralloc2.cc,
26363           src/z80/gen.c:
26364           Improvements to left shift by literal.
26366 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26368         * src/z80/ralloc2.cc,
26369           src/z80/gen.c,
26370           src/z80/peep.c:
26371           Improvements to non-destructive and, including #3526286.
26373 2012-06-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26375         * src/SDCCmain.c,
26376           src/SDCCopt.c,
26377           src/SDCCglobl.h:
26378           Implement --nolospre option for disabling lospre.
26380 2012-06-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26382         * src/SDCCicode.c:
26383           Fix debug output for GET_VALUE_AT_ADDRESS right operand.
26385 2012-06-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26387         * src/SDCClospre.hpp:
26388           Fix handling of IFX in forward substitution.
26390 2012-06-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26392         * src/SDCClospre.cc:
26393           Disable lospre of assignments with iTemp source.
26395 2012-06-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26397         * src/SDCClospre.hpp,
26398           src/SDCClospre.cc:
26399           Reorganize forward substitution code, lospre for GET_VALUE_AT_ADDRESS.
26401 2012-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
26403         * src/SDCCast.c (decorateType, &/|/^): optimize bool with literal,
26404           (optimizeGetAbit): prevent memory leak
26405         * src/SDCCcse.c (algebraicOpts): optimize bool XOR literal
26406         * src/SDCCsymt.c (computeType): also remove const from result,
26407           fixed bug 3531687 by removing wrong CHAR = ? 1 : 0 optimization to BOOL
26408         * src/SDCCval.h,
26409         * src/SDCCval.c (constBoolVal): new function
26410           (cheapestVal): added BOOL for 0 or 1,
26411         * support/regression/tests/bug3531687.c: enabled test, removed unrelated
26412           and already covered test
26413         * support/regression/tests/getbyte.c: new, added
26415 2012-06-09 Borut Razem <borut.razem AT gmail.com>
26417         * support/regression/ports/pic14/spec.mk,
26418           support/regression/ports/pic16/spec.mk:
26419           fixed pic -> pic14, --non-free -> --use-non-free
26421 2012-06-09 Philipp Klaus Krause <pkk AT spth.de>
26423         * src/z80/ralloc2.cc:
26424           Disallow source operand in h or l for >= 16-bit addition that also has a
26425           source operand on extended stack. Final part of fix for bug #3531660.
26426         * support/regression/tests/bug3531687.c:
26427           Regression test for bug #3531687.
26429 2012-06-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26431         * src/SDCCopt.c: fixed several missing def/use problems including
26432           bug #3511517
26433         * src/SDCCBBlock.c (addiCodeToeBBlock): fixed bug #3511516
26434         * src/hc08/ralloc.c (packRegisters): fixed bug #3531045
26435         * support/regression/tests/gcc-torture-execute-980604-1.c: reenabled
26436         * support/regression/tests/gcc-torture-execute-980205.c: reenabled
26438 2012-06-07 Philipp Klaus Krause <pkk AT spth.de>
26440         * src/z80/main.c:
26441           Fix handling of --fomit-frame-pointer for z180, r2k and r3ka port.
26443 2012-06-07 Maarten Brock <sourceforge.brock AT dse.nl>
26445         * src/ds390/gen.c (genAssign): no assignment for ruonly to ruonly
26446         * src/SDCC.y,
26447         * src/SDCCerr.c: W_COMP_RANGE, W_EMPTY_SOURCE_FILE & W_CONTROL_FLOW are pedantic
26448         * src/SDCCast.c (processParms): no cast for signedness only,
26449           (resultTypePropagate): propagate for GETHBIT, GETABIT, GETBYTE & GETWORD,
26450           (decorateType: BITWISEAND): rearrange first,
26451           (decorateType: RETURN): no cast for signedness only,
26452           (optimizeGetHbit, optimizeGetAbit): use bitsForType instead of getSize and
26453            propagate resultType,
26454           (optimizeGetByte, optimizeGetWord): handle offset 0
26455         * src/SDCClabel.c (deleteIfx),
26456         * src/SDCCcse.c (ifxOptimize): W_CONTROL_FLOW is pedantic,
26457           (algebraicOpts: BITWISEAND, OR): use bitsForType instead of getSize
26458         * src/SDCCicode.c (geniCodeLogic): W_COMP_RANGE is pedantic,
26459           (geniCodeUnary, geniCodeBinary): added param resType,
26460           (checkTypes): no cast for signedness only,
26461           (ast2iCode): propagate tree->ftype
26462         * src/SDCCopt.c (optimizeCastCast): use bitsForType instead of getSize
26463         * src/SDCCsymt.c (comparePtrType): only cast signedness if necessary
26464         * src/SDCCsymt.h,
26465         * src/SDCCicode.h: cosmetics
26467 2012-06-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26469         * src/hc08/gen.c: fixed bugs #3531546 and #3531545
26471 2012-06-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26473         * src/z80/gen.c:
26474           Fix 16-Bit addition for interleaved pairs. Partial fix for bug #3531660.
26476 2012-06-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26478         * src/z80/gen.c:
26479           Fix POINTER_SET with surviving result partially in hl. Partial fix for bug #3531660.
26481 2012-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
26483         * device/lib/_autobaud.c: cosmetics
26484         * device/lib/printfl.c: fixed bug 3513300
26486 2012-06-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26488         * src/hc08/gen.c: Fixed bug #3531544. Fixed cast from h to hx.
26490 2012-06-05 Borut Razem <borut.razem AT gmail.com>
26492         * support/sdbinutils/libiberty/makefile.in:
26493           excluded pex*.c files from build since pex-unix.c doesn't
26494           compile on cygwim mingw and they are not needed by sdbinutils
26495         * doc/sdccman.lyx: compiler macro definitions not starting with
26496           double underscore characters are deprecated if --std-cXX
26497           command line option is defined;
26498           new compiler macros for processor definition were introduced
26499           for pic14 and pic16 targets
26501 2012-06-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26503         * src/z80/ralloc2.cc:
26504           Disallow surviving hl in addition with extended stack operands. Partial fix for bug #3531660.
26506 2012-06-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26508         * src/mcs51/ralloc.c (packForPush),
26509         * src/ds390/ralloc.c (packForPush),
26510         * src/hc08/ralloc.c (packForPush),
26511         * src/pic14/ralloc.c (packForPush),
26512         * src/pic16/ralloc.c (packForPush): fixed bug #3527285
26514 2012-06-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26516         * src/z80/gen.c:
26517           Fix corner case in addition with extended stack right operand and low result byte in hl. Partial fix for bug #3531660.
26519 2012-06-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26521         * src/z80/ralloc2.cc:
26522           Disallow use of hl over comparison when there is an extended stack operand. Partial fix for bug #3531660.
26523         * src/z80/gen.c:
26524           Save a during GET_VALUE_AT_ADDRESS when storing to extended stack operand. Partial fix for bug #3531660.
26526 2012-06-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26528         * src/hc08/gen.c (loadRegIndex, storeRegIndexed): added missing
26529           rematOfs
26531 2012-06-03 Borut Razem <borut.razem AT gmail.com>
26533         * src/pic14/main.c, src/pic16/main.c: re-enabled deprecated
26534           macros not starting with double underscore characters in
26535           combination with --std-cXX
26536         * device/include/pic16/pic18fregs.h: modified for __SDCC_PICXXX
26538 2012-06-03 Philipp Klaus Krause <pkk AT spth.de>
26540         * src/z80/gen.c:
26541           Fix handling of extended stack operands in 16-bit unary minus and signed comparison. Partial fix for bug #3531660.
26543 2012-06-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26545         * src/SDCCopt.c,
26546         * src/hc08/ralloc.c: RFE 3526269 and 3526268
26548 2012-06-02 Philipp Klaus Krause <pkk AT spth.de>
26550         * src/port.h:
26551           Fixed bug #3531540.
26553 2012-06-02 Philipp Klaus Krause <pkk AT spth.de>
26555         * src/SDCCerr.c, src/SDCCerr.h: added W_STRING_CANNOT_BE_TERMINATED
26556           src/SDCCast.c (createIvalCharPtr): fixed #3007799: generate different warning
26557           for initializer strings that fit in buffer without terminating '\0'. According
26558           C99 $6.7.8:14 this is allowed. With --less-pedantic no warning is generated.
26559           Modified version of patch by Jan Waclawek.
26561 2012-06-02 Borut Razem <borut.razem AT gmail.com>
26563         * src/SDCCmain.c, src/pic14/main.c, src/pic16/main.c,
26564           support/scripts/pic14fam-h-gen.pl,
26565           applied modified patch
26566           #3531337 - The pic14 port, automatically creates the -DpicXXX,
26567           thanks to Molnar Karoly
26568         * support/scripts/pic16fam-h-gen.pl: modified for __SDCC_PICXXX
26569         * device/non-free/include/pic14/pic14fam.h,
26570           device/non-free/include/pic16/pic16fam.h: (re)generated
26572 2012-06-01 Borut Razem <borut.razem AT gmail.com>
26574         * doc/README.txt, doc/INSTALL.txt: updated for SDCC 3.2.0 release
26576 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26578         * src/z80/peeph-z80.def,
26579           src/z80/peeph-r2k.def:
26580           Shift optimization.
26582 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26584         * src/SDCClospre.cc,
26585           src/SDCCsymt.h,
26586           src/SDCCsymt.c,
26587           src/SDCClospre.hpp:
26588           Relax lospre type checking.
26590 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26592         * src/SDCClospre.cc:
26593           Disable lospre for literla assignments (can be reenabled once ports can rematerialize this).
26594         * src/SDCClospre.hpp:
26595           Improve handling of volatile.
26597 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26599         * src/z80/gen.c:
26600           Always use 16-bit addition when an operand and the result are in hl.
26602 2012-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26604         * src/hc08/gen.c: Preparations for further pointer offset
26605           optimizations. Bug fixes for certain register assignment cases
26606           in complement, unary minus, bitwise operators, and bitfield
26607           unpacking.
26609 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26611         * src/z80/gen.c:
26612           Fix handling of a in casts, bug #3531118.
26614 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26616         * doc/sdccman.lyx:
26617           Updated manual (mostly r3ka and s08 port).
26619 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26621         * src/SDCClospre.hpp:
26622           Fix handling of invalidating iCodes in lospre.
26623         * src/SDCClospre.cc:
26624           Fix multiround-lospre.
26626 2012-05-31 Borut Razem <borut.razem AT gmail.com>
26628         * debugger/mcs51/cmd.c: fixed bug #3530998 - source code bug..
26630 2012-05-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26632         * src/SDCCsymt.h: handle up to 8 registers per symbol for long long
26633           support
26635 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26637         * src/z80/ralloc.h,
26638           src/z80/gen.c,
26639           src/z80/ralloc2.cc:
26640           More flexible handling of a during pointer access in z80-related ports.
26642 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26644         * src/z80/peeph-r2k.def:
26645           Fix invalid stack-relative increment.
26646         * src/z80/gen.c:
26647           More efficient handling of 16-bit stores to stack.
26649 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26651         * sim/ucsim/z80.src/inst_r2k.cc:
26652           Fix handling of carry in 16-bit shift rotate instructions.
26653         * src/z80/gen.c:
26654           Better 16 bit signed comparison for z80 related (except gbz80).
26656 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26658         * src/z80/gen.c:
26659           Allow result of GET_VALUE_AT_ADDRESS in A for z80-related ports.
26661 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26663         * src/z80/gen.c:
26664           Improve storing of literals to stack for Rabbits.
26666 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26668         * src/z80/gen.c:
26669           Fix multibyte global to global assignment on gbz80 with de alive.
26671 2012-05-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26673         * src/hc08/ralloc2.cc (operand_sane): fixed erroneous rejection of
26674           single byte operand register assignment due to out of bounds
26675           dereference
26677 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26679         * src/z80/gen.c:
26680           Fix for surviving pair in bitfield write.
26682 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26684         * src/SDCClospre.hpp:
26685           Fix for handling global variables over calls in lospre.
26687 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26689         * src/z80/gen.c,
26690           src/hc08/gen.c:
26691           Added assertions to debug rematerialization issues.
26693 2012-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26695         * src/hc08/ralloc.c (moveSendToCall, packRegisters): move SEND iCodes
26696           to immediately precede their CALL/PCALL for better live range info.
26697         * src/hc08/gen.c (genSend): fixed bug swapping SEND iCode order.
26699 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26701         * src/SDCClospre.hpp:
26702           Fix invalid memory access bug.
26704 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26706         * src/SDCClospre.hpp,
26707           src/z80/gen.c:
26708           Fix handling of ADDRESS_OF in lospre forward assignment.
26710 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26712         * src/z80/gen.c:
26713           Fixed bug #3530276.
26715 2012-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26717         * src/SDCCbitv.c (bitVectSetBit, bitVectUnSetBit),
26718         * src/hc08/ralloc2.cc (set_surviving_regs),
26719         * src/z80/ralloc2.cc (set_surviving_regs): Prohibit negative bit
26720           position in bit vectors to avoid memory corruption
26721         * device/lib/clean.mk: add s08 and r3ka ports to cleaning
26723 2012-05-28 Philipp Klaus Krause <pkk AT spth.de>
26725         * src/z80/gen.c:
26726           Use Rabbit's cast to bool instruction for zeroing h,
26727           more efficient loading of pairs in shifts.
26728         * src/z80/peep.c:
26729           Handle bool in instruction size calculations.
26731 2012-05-28 Borut Razem <borut.razem AT gmail.com>
26733         * src/pic16/main.c: allow underscore characters in #pragma config
26735 2012-05-28 Philipp Klaus Krause <pkk AT spth.de>
26737         * src/SDCClospre.hpp,
26738           src/SDCClospre.cc:
26739           Improve handling of results of substituted instructions in lospre.
26741 2012-05-27 Philipp Klaus Krause <pkk AT spth.de>
26743         * src/SDCClospre.hpp,
26744           src/SDCClospre.cc:
26745           Fix handling of --max-allocs-per-node in lospre.
26747 2012-05-26 Borut Razem <borut.razem AT gmail.com>
26749         * src/pic16/main.c: allow space characters in #pragma config
26751 2012-05-25 Borut Razem <borut.razem AT gmail.com>
26753         * doc/sdccman.lyx: corrected #pragma configure to #pragma config
26755 2012-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26757         * src/SDCClospre.hpp:
26758           Improve handling of --max-allocs-per-node in lospre.
26760 2012-05-25 Maarten Brock <sourceforge.brock AT dse.nl>
26762         * src/hc08/gen.c (genPointerSet): fixed warning
26764 2012-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26766         * src/SDCCicode.h,
26767           src/SDCCicode.c,
26768           src/SDCClospre.hpp,
26769           src/SDCClospre.cc:
26770           Fixes for handling of globals and volatile in lospre.
26772 2012-05-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26774         * support/scripts/sdcc.nsi: fix my typo in r3ka path
26776 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26778         * src/SDCClospre.hpp,
26779           src/SDCClospre.cc:
26780           lospre.
26782 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26784         * src/z80/peeph-r2k.def,
26785           src/z80/peeph-z80.def,
26786           src/z80/peeph-gbz80.def:
26787           Jump optimization.
26789 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26791         * src/z80/ralloc2.cc,
26792           src/z80/gen.c:
26793           Non-destructive & with bit literal.
26795 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26797         * src/SDCClospre.hpp,
26798           src/SDCClospre.cc:
26799           Preparations for lospre.
26801 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26803         * src/hc08/peeph.def:
26804           Improve elimination of branches.
26806 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26808         * src/SDCClospre.hpp,
26809           src/SDCClospre.cc:
26810           Preparations for lospre.
26811         * src/z80/gen.c:
26812           More verbose debugging for variables that are not in registers, but should be.
26814 2012-05-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26816         * support/scripts/sdcc.nsi: added r3ka and s08 to installer
26817         * support/sdbinutils/binutils/configure.in,
26818         * support/sdbinutils/binutils/configure: fix bug #3527589
26819         * src/SDCCcse.c (newCseDef): fix bug #3528899
26821 2012-05-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26823         * src/SDCClospre.hpp,
26824           src/SDCClospre.cc:
26825           Preparations for lospre.
26827 2012-05-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26829         * src/hc08/gen.c: Preparations for further pointer offset
26830            optimizations
26832 2012-05-22 Philipp Klaus Krause <pkk AT spth.de>
26834         * src/hc08/peeph.def:
26835           Allow disabling of tail-call and jump to return optimization.
26837 2012-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26839         * src/hc08/gen.c: Fixed inconsistent offsets for 16-bit register
26840           accesses. Removed broken and unused AOP_STR type. Prohibit loading
26841           h via hx from volatile operands.
26843 2012-05-21 Philipp Klaus Krause <pkk AT spth.de>
26845         * support/regression/tests/memory.c,
26846           src/z80/gen.c,
26847           src/port.h,
26848           src/SDCCglue.c,
26849           src/z80/main.c,
26850           src/z80/peep.c:
26851           Use lsidr for built-in memset() for r3ka.
26852         * src/hc08/gen.c:
26853           Use ldhx, sthx for memory-to-memory assignment and cast.
26854         * src/hc08/peeph.def:
26855           Basic tail call optimization.
26857 2012-05-21 Philipp Klaus Krause <pkk AT spth.de>
26859         * src/hc08/gen.c:
26860           More efficient loading of H and HX for hc08 and s08.
26862 2012-05-21 Philipp Klaus Krause <pkk AT spth.de>
26864         * support/regression/tests/setjmp.c:
26865           Enable test for r3ka.
26866         * support/regression/tests/gcc-torture-execute-pr28982a.c,
26867           support/regression/tests/gcc-torture-execute-20010224-1.c,
26868           support/regression/tests/gcc-torture-execute-20030408-1.c:
26869           Disable tests for r3ka.
26870         * support/regression/Makefile.in:
26871           Add ucr3ka target to z80 target.
26873 2012-05-21 Leland Morrison <enigmalee AT sourceforge.net>
26875         * SDCCpeeph.c, peep.c: Fixed so that R2K instructions are
26876           recognized for -mr3ka target by the peephole optimizer.
26878 2012-05-20 Leland Morrison <enigmalee AT sourceforge.net>
26880         * support/regression/Makefile.in, support/regression/ports/ucr3ka/*,
26881           support/regression/fwk/include/testfwk.h: added test-ucr3ka to
26882           run regression tests on the rabbit 3000A port
26884 2012-05-20 Leland Morrison <enigmalee AT sourceforge.net>
26886         * device/include/sdcc-lib.h, device/include/math.h: Added conditional
26887           for rabbit 3000
26888         * devince/include/asm/r3ka/features.h: Added to allow customizations
26889           for -mr3ka
26891 2012-05-20 Leland Morrison <enigmalee AT sourceforge.net>
26893         * src/sdas/asrab/rabbitpst.c: Added mnemonics for rabbit 3000A
26894         * src/sdas/asrab/rabbitmch.c: Added .r3k flag and rabbit 3000A
26895           instructions, changed much of the indentation to make gnu style,
26896           and update two functions declarations from K&R style
26897         * src/sdas/asrab/rabbit.h: Added constants for rabbit 3000 support
26899 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26901         * src/hc08/gen.c:
26902           Emit cost information only when --fverbose-asm is used.
26904 2012-05-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26906         * src/hc08/gen.c: Fixed yet more problems with registers possibly
26907           clobbered in division/modulus. Optimized GET_VALUE_AT_ADDRESS
26908           including handling non-zero right operand.
26909         * src/hc08/ralloc.c: Allow packRegsForSupport() to optimize
26910           conditions computed for IFX. Handle non-zero right operand
26911           for GET_VALUE_AT_ADDRESS when generating pseudo symbol.
26912         * src/SDCCopt.c: Let GET_VALUE_AT_ADDRESS have non-zero right
26913           operand for HC08-like ports. Fix def/use info on operands
26914           converted to integer support function calls.
26916 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26918         * sdccconf_in.h:
26919           Regenerated, so building with r3ka port disabled works now.
26921 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26923         * src/hc08/gen.c:
26924           Improved code for PCALL.
26926 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26928         * src/hc08/gen.c,
26929           src/hc08/ralloc2.cc:
26930           Improved code for GET_VALUE_AT_ADDRESS.
26932 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26934         * src/hc08/gen.c:
26935           Improve addition for hc08 and s08.
26936         * src/z80/main.c:
26937           Fix name of r3ka library.
26938         * src/hc08/main.c:
26939           Fix name of s08 library.
26941 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26943         * sim/ucsim/hc08.src/hc08.cc:
26944           Fix sthx with ext operand on s08.
26945         * src/hc08/gen.c:
26946           Use ldhx, cphx and sthx with ext operands for s08 in places where we use them for hc08 with imm operands.
26948 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26950         * sdas/as6808/m08mch.c,
26951           sdas/as6808/m6808.h,
26952           sdas/as6808/m08pst.c,
26953           src/SDCCralloc.hpp,
26954           src/SDCCglue.c,
26955           src/hc08/main.c,
26956           src/hc08/ralloc2.cc:
26957           Asm for s08.
26959 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26961         * support/regression/tests/bug3223041.c:
26962           Do not handle hc08 as special case.
26964 2012-05-18 Philipp Klaus Krause <pkk AT spth.de>
26966         * device/lib/r3ka/Makefile.in:
26967           Fix building of r3ka lib.
26968         * device/lib/s08/Makefile.in:
26969           Fix building of s08 lib.
26970         * support/regression/Makefile.in,
26971           support/regression/ports/s08,
26972           support/regression/fwk/include/testfwk.h,
26973           support/regression/tests/gcc-torture-execute-func-ptr-1.c,
26974           support/regression/tests/gcc-torture-execute-991112-1.c,
26975           support/regression/tests/gcc-torture-execute-921208-1.c,
26976           support/regression/tests/bug3379723.c,
26977           support/regression/tests/gcc-torture-execute-930702-1.c,
26978           support/regression/tests/float_single.c,
26979           support/regression/tests/gcc-torture-execute-20000412-2.c,
26980           support/regression/tests/gcc-torture-execute-20080529-1.c,
26981           support/regression/tests/gcc-torture-execute-20030209-1.c,
26982           support/regression/tests/gcc-torture-execute-950915-1.c,
26983           support/regression/tests/bug1723128.c,
26984           support/regression/tests/gcc-torture-execute-20001221-1.c,
26985           support/regression/tests/gcc-torture-execute-20030307-1.c,
26986           support/regression/tests/gcc-torture-execute-950612-1.c,
26987           support/regression/tests/gcc-torture-execute-20001108-1.c,
26988           support/regression/tests/cse.c:
26989           Regression testing for s08 port.
26990         * device/include/stdarg.h:
26991           Fix variable arguments for s08.
26992         * device/lib/_mullong.c:
26993           Fix long multiplication for s08.
26995 2012-05-18 Philipp Klaus Krause <pkk AT spth.de>
26997         * configure.in,
26998           src/SDCCicode.c,
26999           src/SDCCsymt.c,
27000           src/SDCCmain.c,
27001           src/port.h,
27002           src/SDCCglue.c,
27003           src/hc08/main.c,
27004           src/SDCCpeeph.c,
27005           src/hc08/hc08.h,
27006           device/lib/Makefile.in,
27007           device/lib/s08:
27008           Dummy (behaves as HC08) S08 port.
27010 2012-05-18 Philipp Klaus Krause <pkk AT spth.de>
27012         * device/include/stdarg.h,
27013           device/include/string.h,
27014           device/include/setjmp.h,
27015           device/lib/Makefile.in,
27016           configure.in,
27017           src/SDCCopt.c,
27018           src/z80/gen.c,
27019           src/z80/main.c,
27020           src/z80/z80.h,
27021           src/SDCCmain.c,
27022           src/port.h,
27023           sim/ucsim/aclocal.m4,
27024           sim/ucsim/configure,
27025           device/lib/r3ka:
27026           Dummy (behaves as Rabbit 2000/3000) Rabbit 3000A port.
27028 2012-05-17 Leland Morrison <enigmalee AT sourceforge.net>
27030         * sim/ucsim/hc08/hc08.cc: Fix for opcodes 0xAE, 0xBE, and 0xCE op-decode
27032 2012-05-17 Philipp Klaus Krause <pkk AT spth.de>
27034         * support/regression/tests/bug3521024.c:
27035           Regression test for bug #3521024.
27037 2012-05-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27039         * src/hc08/gen.c: Use non-destructive bit tests when possible
27040           (rfe #3526285). Fixed loss of association between generated
27041           assembly and iCodes.
27042         * src/hc08/peeph.def: Additional rules for conditional branches and
27043           to remove unused labels.
27045 2012-05-16 Maarten Brock <sourceforge.brock AT dse.nl>
27047         * support/regression/Makefile.in: renamed test-z80 and test-gbz80 to test-rr...
27048         * support/regression/ports/gbz80,
27049         * support/regression/ports/rrgbz80: renamed to rrgbz80
27050         * support/regression/ports/z80,
27051         * support/regression/ports/rrz80: renamed to rrz80
27052         * support/regression/tests/gcc-torture-execute-921013-1.c: disabled for xstack
27054 2012-05-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27056         * src/hc08/gen.c (genAnd): added forgotten ifx->generated = TRUE
27058 2012-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
27060         * support/regression/tests/gcc-torture-execute-961017-2.c: use less loops to
27061           reduce test time
27063 2012-05-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27065         * sim/ucsim/hc08.src/hc08.cc,
27066         * sim/ucsim/hc08.src/inst.cc: Fixed simulation of brset/brclr. Keep
27067           track of instruction cycle times.
27068         * src/hc08/gen.c (genAnd): Use brset/brclr where possible
27070 2012-05-14 Leland Morrison <enigmalee AT sourceforge.net>
27072         * sim/ucsim/stypes.h,
27073         * sim/ucsim/globals.cc: add R3KA (rabbit 3000A) processor type
27074         * sim/ucsim/z80.src/r2k.cc,
27075         * sim/ucsim/z80.src/simz80.cc: added initialization code for R3KA support
27076         * sim/ucsim/z80.src/r2kcl.h,
27077         * sim/ucsim/z80.src/inst_ed_r2k.cc: support for r3ka instructions
27078         * sim/ucsim/z80.src/inst_ed.cc: change to allow overloading of inst_ed_
27080 2012-05-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27082         * src/SDCClospre.hpp,
27083           src/SDCClospre.cc:
27084           Early preparations for lospre.
27086 2012-05-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27088         * src/SDCClospre.hpp:
27089           Early preparations for lospre.
27091 2012-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27093         * src/hc08/gen.c: correct some dry run costs, update genDivOneByte()
27094           and genModOneByte() to handle all register operand posibilities
27096 2012-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
27098         * sim/ucsim/pobj.cc,
27099         * sim/ucsim/pobjcl.h: made cl_list::at inline
27100         * sim/ucsim/s51.src/regs51.h: added AP
27101         * sim/ucsim/s51.src/uc390.cc (inst_inc_dptr): fixed sel bug,
27102           (disass): show inc/dec dptr,
27103           (print_regs): show DPTR0, DPTR1 and AP
27104         * src/ds390/gen.c (genGenPointerGet, genGenPointerSet): fixed bug 3509705
27105         * support/regression/compact-results.py: align results
27106         * support/regression/tests/gcc-torture-execute-921013-1.c: enabled tests
27108 2012-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27110         * src/SDCClospre.hpp,
27111           src/SDCClospre.cc:
27112           Early preparations for lospre.
27114 2012-05-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27116         * src/SDCCopt.c,
27117           src/SDCCopt.c,
27118           src/SDCClospre.cc,
27119           Preparations for finding lospre optimization candidates.
27121 2012-05-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27123         * src/z80/ralloc2.cc,
27124           src/hc08/ralloc2.c:
27125           Bypass dry run for generated ic.
27127 2012-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
27129         * src/hc08/gen.h,
27130         * src/hc08/gen.c (aopName): compile conditionally,
27131           (assignResultValue): MSVC has no true/false,
27132           (hasInchc08): fixed warning,
27133           (genReceive): declarations first
27134         * src/hc08/ralloc.c: include dbuf_string.h,
27135           (createStackSpil): removed unused slocBuffer
27136         * src/hc08/hc08.vcxproj.filters,
27137         * src/hc08/hc08.vcxproj: added ralloc2.cc and boost include dir
27138         * src/z80/gen.c (genCmp): fixed uninitialised warning
27139         * src/SDCCicode.h: cosmetics
27141 2012-05-09 Philipp Klaus Krause <pkk AT spth.de>
27143         * src/SDCCralloc.hpp,
27144           src/hc08/ralloc2.cc:
27145           Added some debug info code.
27147 2012-05-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27149         * src/SDCClospre.hpp,
27150           src/SDCCralloc.hpp,
27151           src/SDCCnaddr.cc,
27152           src/SDCCnaddr.hpp,
27153           src/SDCClospre.cc:
27154           Declare some data types for lospre.
27156 2012-05-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27158         * src/hc08/gen.c,
27159           src/hc08/ralloc.c:
27160           Remove some unused variables.
27162 2012-05-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27164         * src/hc08/gen.c (aopOp): Handle spill location correctly even
27165           though it is not actually allocated during dry run
27167 2012-05-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27169         * support/regression/ports/ds390/spec.mk:
27170           Increase timeout from 40 to 60, since ds390 simulation on NetBSD is slow.
27172 2012-05-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27174         * src/hc08/gen.c (aopAdrStr): handle incompletely initialized
27175           spill location symbols during dry run
27177 2012-05-06 Borut Razem <borut.razem AT gmail.com>
27179         * .version, doc/sdccman.lyx: bumped version to 3.1.5
27180         * ChangeLog: removed unicode BOM
27181         * support/sdbinutils/binutils/Makefile.am,
27182           support/sdbinutils/binutils/Makefile.in:
27183           fixed the first part of bug #3518739 - Build weird behaviour...
27185 2012-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
27187         * support/regression/tests/gcc-torture-execute-pr44555.c: test was not
27188           disabled for gcc 4.4.3, now it is for all 4.x.x < 4.6.0
27190 2012-05-05 Philipp Klaus Krause <pkk AT spth.de>
27192         * src/SDCCicode.c,
27193         * src/SDCCicode.h,
27194         * src/SDCCralloc.hpp,
27195         * src/SDCCset.c,
27196         * src/SDCCsymt.c,
27197         * src/hc08/gen.c,
27198         * src/hc08/gen.h,
27199         * src/hc08/main.c,
27200         * src/hc08/ralloc.c,
27201         * src/hc08/ralloc.h,
27202         * src/hc08/ralloc2.cc,
27203         * src/yacc.vcxproj,
27204         * src/z80/gen.c,
27205         * src/z80/ralloc.c,
27206         * src/z80/ralloc2.cc: Merged optralloc-hc08 branch
27208 2012-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
27210         * config.vcxproj,
27211         * configure_vc.awk,
27212         * doc/sdccman.lyx,
27213         * sdcc_vc.h.in, sdcc_vc_in.h: renamed sdcc_vc_in.h to sdcc_vc.h.in
27214         * src/SDCCval.c (byteOfVal),
27215         * src/z80/gen.c (genLeftShiftLiteral, genPointerGet),
27216         * src/mcs51/gen.c (genLeftShiftLiteral): fixed warnings
27217         * src/SDCCnaddr.hpp: renamed cfg_node to cfg_naddr_node
27218         * src/SDCCralloc.hpp: default_constructor_of_cfg_node_called and
27219           cfg_node constructor disabled to fix bug 3521407
27220         * src/SDCCtree_dec.hpp: set svn properties
27221         * support/regression/ports/mcs51-common/spec.mk: fixed SIM_TIMEOUT bug
27222         * support/regression/tests/bug-3495411.c: enabled for mcs51
27223         * support/regression/tests/gcc-torture-execute-20000622-1.c,
27224         * support/regression/tests/gcc-torture-execute-20010924-1.c,
27225         * support/regression/tests/gcc-torture-execute-961004-1.c,
27226         * support/regression/tests/gcc-torture-execute-961125-1.c,
27227         * support/regression/tests/gcc-torture-execute-990404-1.c: suppressed warnings
27229 2012-05-05 Philipp Klaus Krause <pkk AT spth.de>
27231         * support/regression/tests/gcc-torture-execute-20080529-1.c:
27232           Disable test for gcc older than 5.0.
27234 2012-05-05 Borut Razem <borut.razem AT gmail.com>
27236         * support/regression/ports/ds390/spec.mk,
27237           support/regression/ports/hc08/spec.mk,
27238           support/regression/ports/mcs51-common/spec.mk,
27239           support/regression/ports/pic14/spec.mk,
27240           support/regression/ports/pic16/spec.mk,
27241           support/regression/ports/ucgbz80/spec.mk,
27242           support/regression/ports/ucr2k/spec.mk,
27243           support/regression/ports/ucz180/spec.mk,
27244           support/regression/ports/ucz80/spec.mk: use SIM_TIMEOUT
27246 2012-05-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27248         * support/regression/ports/ucgbz80/spec.mk:
27249           Increase timeout from 20s to the 30s other ports use to get rid of NetBSD/sparc64 regression failure.
27251 2012-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27253         * src/hc08/main.c,
27254           src/hc08/ralloc.c:
27255           Revive old register allocator for --oldralloc.
27257 2012-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27259         * src/SDCCmain.c,
27260           src/z80/gen.c,
27261           src/z80/ralloc.c,
27262           src/z80/main.c,
27263           src/z80/z80.h,
27264           src/SDCCglobl.h:
27265           Made --oldralloc less port-specific.
27267 2012-05-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27269         * src/z80/gen.c (aopPut3): added missing declarations
27271 2012-05-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27273         * src/hc08/gen.c:
27274           Remove obsolete genPointerGetSetOfs().
27276 2012-05-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27278         * configure: regenerated from new configure.in
27280 2012-05-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27282         * src/z80/gen.c:
27283           More efficent storing of registers pairs to top of stack.
27285 2012-05-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27287         * support/regression/tests/gcc-torture-execute-20101013-1.c:
27288           Disable test until nonzero integer constants work.
27290 2012-05-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27292         * src/SDCCval.h,
27293         * src/SDCCval.c (byteOfVal): new function
27294         * src/z80/gen.c (aopGet, gencjneshort),
27295         * src/SCCglue.c (aopLiteralLong): use byteOfVal() to access value
27296         * configure.in,
27297         * sdcc_vc_in.h,
27298         * sdccconf_in.h: find/define appropriate 64-bit integer
27299         * src/SDCCsymt.h: start of support for 64-bit literal
27301 2012-04-30 Leland Morrison <enigmalee AT sourceforge.net>
27303         * sim/ucsim/app.cc:  reduced the frequency of checks for user input
27305 2012-04-26 Philipp Klaus Krause <pkk AT spth.de>
27307         * src/z80/gen.c:
27308           Improve code generation for comparison to zero.
27310 2012-04-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27312         * support/librarian/sdcclib.c:
27313           Do not depend on PATH_MAX, fix #3521650.
27314         * sdas/asxxsrc/asxxxx.h:
27315           Use FILENAME_MAX if PATH_MAX is not defined.
27317 2012-04-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27319         * src/hc08/gen.c: Optimize access to h/hx on top of stack. Compute
27320           cost of SEND.
27321         * src/hc08/ralloc2.cc: Compute cost of SEND. Support xa and ax
27322           with GETBYTE and GETWORD.
27324 2012-04-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27326         * src/hc08/gen.c: Rewrite genSend to fix problem with register
27327           clobbering. Allow use of tsx with function return values.
27328         * src/hc08/ralloc.c: Removed unneed constraint on stack operands
27330 2012-04-25 Borut Razem <borut.razem AT gmail.com>
27332         * src/common.h, src/ds390/main.c: include SDCCsystem.h in common.h
27333         * src/SDCCmain.c: added newline at end of file
27334         * src/SDCCicode.c: use TRUE instead of undefined true
27335         * src/SDCCicode.h: fixed declaration of isOperandLiteral()
27337 2012-04-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27339         * src/z80/peeph-gbz80.def:
27340           Removed peephole that resulted in invalid or operand on gbz80.
27342 2012-04-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27344         * src/z80/gen.c:
27345           Fix #3521024.
27347 2012-04-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27349         * src/hc08/gen.c: Fixed bug with cpx use. Optimize stack adjustments
27350           of +/-1. Use mov #0 instead of clr with volatile operands to avoid
27351           read side effect. Avoid using x as stack frame base unless it saves
27352           clock cycles.
27354 2012-04-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27356         * src/SDCCicode.c,
27357           src/SDCCopt.c,
27358           src/z80/gen.c:
27359           GET_VALUE_AT_ADDRESS with offset for z80, z180 and r2k.
27361 2012-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27363         * src/hc08/gen.c: Index stack frame via x instead of sp when convenient
27365 2012-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27367         * src/hc08/gen.c: Use msb to lsb order in assignment for compatibility
27368           with hardware hardware registers. Expanded use of cpx and ldhx
27369           instructions. Removed some old unused code. Fixed a stack bug in
27370           genPlusIncr.
27372 2012-04-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27374         * src/SDCCicode.c:
27375           Enable replacing division by power of two by conditional addition and shift (for hc08, z80, z180, gbz80 and r2k).
27376         * src/z80/gen.c,
27377           src/mcs51/gen.c:
27378           Fortify a "/* I assume that [...]" comment by an assertion that would have saved me some time.
27380 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27382         * src/hc08/main.c:
27383           Enable CSE for an approx. 0.1-0.2% code size reduction.
27385 2012-04-22 Raphael Neider <rneider AT web.de>
27387         * device/lib/pic16/libsdcc/gptr/eeprom{8,16}_gptrput[1234].c:
27388           fix accessing EECON1.WREN
27390 2012-04-22 Raphael Neider <rneider AT web.de>
27392         * device/non-free/lib/pic14/libdev/Makefile.in:
27393           build 16f72[01] only if --enable-new-pics is given, as the
27394           devices are not supported in the current gputils release 0.14.1
27396 2012-04-21 Maarten Brock <sourceforge.brock AT dse.nl>
27398         * src/ds390/main.c: undo removed include to fix implicit declaration
27400 2012-04-21 Philipp Klaus Krause <pkk AT spth.de>
27402         * src/SDCCicode.c:
27403           Preparations for replacing division by power of two by conditional addition and shift.
27404         * support/regression/tests/longlong.c,
27405           support/regression/tests/gcc-torture-execute-pr42269-2.c,
27406           support/regression/tests/gcc-torture-execute-20080529-1.c,
27407           support/regression/tests/gcc-torture-execute-950503-1.c,
27408           support/regression/tests/float_single.c:
27409           Enable more tests for hc08.
27411 2012-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27413         * src/hc08/gen.c: fix bugs in genRLC, genRRC, and genJumpTab; support large stack
27414           offsets in rmwWithAop; optimized asmopToBool
27415         * src/hc08/ralloc.c: fix bug in findAssignToSym
27417 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27419         * src/hc08/ralloc2.cc,
27420           src/hc08/gen.c:
27421           Allow some use of ax.
27423 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27425         * src/hc08/ralloc2.cc,
27426           src/hc08/gen.c:
27427           Remove accuse.
27429 2012-04-19 Raphael Neider <rneider AT web.de>
27431         * device/lib/pic16/libc/stdio/strmmssp.c:
27432           fixed use of access bank vs. BSR
27434         * device/lib/pic16/libsdcc/gptr/eeprom{8,16}_gptr{get,put}[1234].c,
27435           device/lib/pic16/libsdcc/gptr/eeprom{8,16}_write.c:
27436           implement EEPROM read/write access
27438         * device/lib/pic16/libsdcc/gptr/gptr{get,put}[1234].c:
27439           call EEPROM dispatchers on EEPROM accesses
27441         * device/lib/pic16/libsdcc/Makefile.am:
27442           add gptr EEPROM accessors
27444         * device/non-free/lib/pic16/libdev/gptr/*:
27445           dispatch EEPROM accesses to the appropriate implementations
27446           based on device capabilities (no eeprom, 8 or 16 bit EEPROM
27447           address space)
27449         * device/non-free/lib/pic16/libdev/mkmk.sh,
27450           device/non-free/lib/pic16/libdev/newdevices.txt:
27451           improved to automatically add SSPBUF workaround
27452           plus EEPROM dispatchers as required by the devices
27454         * device/non-free/lib/pic16/libdev/pic18f1330.c,
27455           device/non-free/lib/pic16/libdev/pic18f1220.c,
27456           device/non-free/lib/pic16/libdev/pic18f4450.c:
27457           removed manual SSPBUF workaround
27459         * device/non-free/lib/pic16/libdev/fake_sspbuf.c:
27460           provide automatic SSPBUF workaround
27462         * device/lib/pic16/libsdcc/Makefile.in,
27463           device/non-free/lib/pic16/libdev/Makefile.am,
27464           device/non-free/lib/pic16/libdev/Makefile.in:
27465           regenerated
27467 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27469         * src/hc08/ralloc2.cc,
27470           src/hc08/gen.c:
27471           Made hc08 code generation more robust wrt. surviving registers and register operands.
27473 2012-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27475         * src/hc08/gen.c: rewrite genCast for register source/results
27477 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27479         * src/hc08/ralloc2.cc,
27480           src/hc08/gen.c:
27481           Fixes for the cost function (reducing code size and exposing code generation issues).
27483 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27485         * src/hc08/ralloc2.cc,
27486           src/hc08/gen.c:
27487           Made hc08 code generation more robust wrt. surviving registers and register operands.
27489 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27491         * src/hc08/gen.c:
27492           Preparations for removing accuse.
27494 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27496         * src/hc08/ralloc2.cc,
27497           src/hc08/gen.c:
27498           Fix xa to hx assignment.
27500 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27502         * src/hc08/ralloc2.cc:
27503           Fix assignment of nRegs and regs for accuse symbols.
27505 2012-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27507         * src/hc08/gen.c: fixed div/mod sign ext. to work with register result
27509 2012-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27511         * src/hc08/ralloc2.cc,
27512           src/hc08/gen.c:
27513           Made hc08 code generation more robust wrt. surviving registers and register operands.
27515 2012-04-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27517         * src/hc08/ralloc2.cc,
27518           src/hc08/gen.c:
27519           Made hc08 code generation more robust wrt. surviving registers and register operands.
27521 2012-04-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27523         * src/hc08/ralloc2.cc,
27524           src/hc08/gen.c:
27525           Handling of pointer access in new allocator.
27527 2012-04-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27529         * src/SDCCralloc.hpp,
27530           src/SDCCicode.c,
27531           src/SDCCicode.h,
27532           src/z80/ralloc2.cc,
27533           src/hc08/gen.h,
27534           src/hc08/ralloc2.cc,
27535           src/hc08/gen.c:
27536           Improve hc08 cost function.
27538 2012-04-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27540         * src/hc08/ralloc2.cc,
27541           src/hc08/gen.c:
27542           Made hc08 code generation more robust wrt. surviving registers and register operands.
27544 2012-04-14 Raphael Neider <rneider AT web.de>
27546         * src/pic16/genarith.c (pic16_genMult8XLit_n,pic16_genMult8X8_n):
27547           work around early clobbering of input operands, fixes #3515677;
27548           clean up, eliminate dead code
27550 2012-04-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27552         * src/hc08/gen.c: fix isDead status for register H
27554 2012-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27556         * src/SDCCralloc.hpp,
27557           src/hc08/ralloc2.cc,
27558           src/hc08/gen.c:
27559           Made hc08 code generation more robust wrt. surviving registers and register operands.
27561 2012-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27563         * src/hc08/ralloc.h,
27564           src/hc08/ralloc2.cc,
27565           src/hc08/gen.c,
27566           src/z80/ralloc2.cc:
27567           Introduce isDead for hc08 registers.
27569 2012-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27571         * src/hc08/gen.c (asmOp): always keep pointer to operand in asmop
27572         * src/hc08/ralloc2.cc (instruction_cost): reenable !, IFX, and CAST
27574 2012-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27576         * src/SDCCsymt.c (newBoolLink): return bool instead of bit if no
27577           bit memory.
27578         * src/hc08/gen.c: Fixed no register assigned to iTemp for IFX.
27579           Guarded more instances of emitLabel for dry run
27581 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27583         * src/hc08/gen.c:
27584           Fix genPointerGet with postincrement and result in h.
27586 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27588         * support/regression/tests/gcc-torture-execute-920428-1.c:
27589           Reformatted test.
27591 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27593         * src/hc08/gen.c:
27594           Fix handling of isFree for register operands.
27596 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27598         * src/hc08/gen.c:
27599           More flexible use of A in cast.
27601 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27603         * src/hc08/ralloc2.cc:
27604           Fix checking of XA and reenable use of assignment.
27605         * src/hc08/gen.c:
27606           Additional debugging output.
27608 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27610         * src/SDCCset.c:
27611           Additional assertion.
27612         * src/hc08/ralloc.c:
27613           Avoid buffer overflow.
27614         * src/hc08/ralloc2.cc:
27615           Do not use assignment for now.
27617 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27619         * src/SDCCicode.h,
27620           src/SDCCicode.c:
27621           Made isOperandLiteral() work on const operand *.
27623 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27625         * src/hc08/ralloc.c:
27626           Cleanup.
27627         * src/hc08/gen.c:
27628           Made genDjnz() more flexible.
27629         * src/hc08/ralloc2.cc:
27630           Disallow X, A for now.
27632 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27634         * src/SDCCralloc.hpp,
27635           src/z80/ralloc2.cc,
27636           src/hc08/ralloc2.cc:
27637           Make optimal register allocator less port-specific.
27639 2012-04-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27641         * src/SDCCralloc.hpp,
27642           src/z80/gen.c,
27643           src/hc08/ralloc2.cc,
27644           src/hc08/gen.c,
27645           src/hc08/ralloc.c,
27646           src/SDCCicode.c:
27647           Optimal register allocator for hc08 working partially.
27649 2012-04-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27651         * src/SDCCcse.c (ifOperandsHave): fixed bug #3516746
27653 2012-04-11 Philipp Klaus Krause <pkk AT spth.de>
27655         * support/regression/tests/string.c:
27656           Added test for strrchr().
27657         * src/z80/gen.c,
27658           src/SDCCpeeph.c:
27659           Fixed memory leaks.
27661 2012-04-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27663         * src/SDCCralloc.hpp,
27664           src/z80/ralloc.c,
27665           src/hc08/ralloc.c,
27666           src/hc08/gen.c:
27667           Enable new allocator as dummy, spilling everything.
27669 2012-04-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27671         * src/z80/ralloc.c,
27672           src/hc08/ralloc2.cc,
27673           src/hc08/ralloc.c:
27674           Preparations for optimal register allocation for hc08.
27676 2012-04-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27678         * support/regression/Makefile.in,
27679           support/regression/collate-results.py : another fix for bug #3477347
27680         * support/regression/ports/hc08/spec.mk: increase timeout to 30 seconds
27682 2012-04-08 Borut Razem <borut.razem AT gmail.com>
27684         * src/SDCCgen.c:
27685           don't emit leading whitespaces in inline asm, 2nd try
27686           fixed bug #3515390 - asm with leading whitespace passed to backends
27687         * src/z80/peep.c: made z80instructionSize() function more
27688           robust: accept arbitrary number of arbitrary space characters
27689           between mnemonic and the first operand
27691 2012-04-07 Philipp Klaus Krause <pkk AT spth.de>
27693         * src/z80/ralloc2.cc:
27694           Fix invalid reads.
27695         * src/z80/gen.c:
27696           Fix a memory leak.
27698 2012-04-07 Borut Razem <borut.razem AT gmail.com>
27700         * src/common.h, SDCCglobal.h: fixed mingw32 build on derna:
27701           macros min and max should not be defined when compiled with C++
27702         * src/pic16/device.c, src/pic16/genarith.c, src/pic16/gen.c,
27703           src/pic16/pcode.c, src/pic16/glue.c:
27704           applied patch #3515647 - Correction patch on the PIC16's branch,
27705           thanks to Molnar Karoly
27707 2012-04-07 Philipp Klaus Krause <pkk AT spth.de>
27709         * src/SDCCralloc.hpp:
27710           Additional assertion to track down #3475617 and #3506333.
27712 2012-04-06 Borut Razem <borut.razem AT gmail.com>
27714         * src/SDCCgen.c, src/SDCCgen.h, src/SDCCralloc.hpp, src/common.h,
27715           src/mcs51/gen.c, src/pic14/gen.c, src/z80/gen.c,
27716           src/pic16/gen.c, src/ds390/gen.c, src/hc08/gen.c:
27717           fixed NetBSD sparc64 build, code beautification,
27718           additional unification of target code generation
27719         * support/cpp/configure.in, support/cpp/configure,
27720           support/cpp/system.h: fixed sdcc configure include paths
27721         * src/SDCCgen.c: don't emit leading whitespaces in inline asm;
27722           fixed bug #3515390 - asm with leading whitespace passed to backends
27724 2012-04-05 Philipp Klaus Krause <pkk AT spth.de>
27726         * support/regression/tests/gcc-torture-execute-20080529-1.c:
27727           Disable test for gcc older than 5.0.
27728         * src/z80/ralloc2.cc,
27729           src/SDCCralloc.hpp,
27730           src/z80/gen.h,
27731           src/z80/gen.c:
27732           Made optimal allocator less z80-specific.
27734 2012-04-04 Borut Razem <borut.razem AT gmail.com>
27736         * support/cpp/system.h, support/cpp/libiberty/filenames.h,
27737           support/cpp/libiberty/md5.c, support/cpp/libiberty/obstack.h:
27738           sdcpp partially synchronized with GCC CPP release version 4.7.0
27739         * support/cpp/sdcpp.vcxproj: enhancements, added custom build messages
27741 2012-04-03 Philipp Klaus Krause <pkk AT spth.de>
27743         * src/SDCCralloc.hpp:
27744           Additional assertions to track down #3475617 and #3506333.
27746 2012-04-02 Philipp Klaus Krause <pkk AT spth.de>
27748         * src/SDCCsymt.c
27749           src/z80/main.c
27750           src/hc08/main.c
27751           src/hc08/gen.c
27752           src/hc08/ralloc.c
27753           device/include/stdint.h
27754           device/lib/_rlslonglong.c
27755           device/lib/_divslonglong.c
27756           device/lib/z180/Makefile.in
27757           device/lib/z180/stubs.s
27758           device/lib/_mullonglong.c
27759           device/lib/_rrslonglong.c
27760           device/lib/z80/Makefile.in
27761           device/lib/z80/stubs.s
27762           device/lib/gbz80/stubs.s
27763           device/lib/gbz80/Makefile.in
27764           device/lib/_rlulonglong.c
27765           device/lib/Makefile.in
27766           device/lib/_divulonglong.c
27767           device/lib/_divslonglong_rrx_s.c
27768           device/lib/_rrslonglong_rrx_s.c
27769           device/lib/_divulonglong_rrx_s.c
27770           device/lib/_rrulonglong_rrx_s.c
27771           device/lib/_rrulonglong.c
27772           device/lib/_rlslonglong_rrx_s.c
27773           device/lib/r2k/Makefile.in
27774           device/lib/r2k/stubs.s
27775           device/lib/_rlulonglong_rrx_s.c
27776           device/lib/hc08/Makefile.in
27777           device/lib/hc08/_ret.c
27778           support/regression/tests/gcc-torture-execute-991216-1.c
27779           support/regression/tests/gcc-torture-execute-pr47337.c
27780           support/regression/tests/gcc-torture-execute-991216-2.c
27781           support/regression/tests/gcc-torture-execute-pr20187-1.c
27782           support/regression/tests/gcc-torture-execute-20000121-1.c
27783           support/regression/tests/gcc-torture-execute-960801-1.c
27784           support/regression/tests/gcc-torture-execute-930111-1.c
27785           support/regression/tests/gcc-torture-execute-20001112-1.c
27786           support/regression/tests/gcc-torture-execute-20101013-1.c:
27787           long long for hc08.
27788         * src/z80/gen.c,
27789           support/regression/tests/gcc-torture-execute-pr47337.c,
27790           support/regression/tests/gcc-torture-execute-961213-1.c:
27791           Fixed bug #3513892.
27792         * src/SDCCralloc.hpp:
27793           Additional assertions to track down #3475617.
27794         * src/z80/ralloc.c:
27795           Assertion for local variables outside of functions.
27797 2012-04-01 Philipp Klaus Krause <pkk AT spth.de>
27799         * device/lib/Makefile.in,
27800           device/lib/*/Makefile.in,
27801           device/lib/*/stubs.s,
27802           device/lib/_divslonglong_rrx_s.c,
27803           device/lib/_rrslonglong_rrx_s.c,
27804           support/regression/tests/gcc-torture-execute-20101013-1.c,
27805           support/regression/tests/gcc-torture-execute-950512-1.c:
27806           long long division.
27807         * support/regression/tests/gcc-torture-execute-920612-1.c,
27808           support/regression/tests/gcc-torture-execute-920711-1.c:
27809           Disable tests for gcc older than 5.0.
27810         * support/regression/tests/longlong.c,
27811           support/regression/tests/gcc-torture-execute-960801-1.c,
27812           support/regression/tests/longlong.c:
27813           Disable long long tests since they fail on 32-bit systems.
27815 2012-03-31 Borut Razem <borut.razem AT gmail.com>
27817         * src/SDCCgen.c, src/SDCCgen.h, src/ds390/gen.c,
27818           src/ds390/main.c, src/hc08/gen.c, src/hc08/main.c,
27819           src/mcs51/gen.c, src/pic14/gen.c, src/pic16/gen.c,
27820           src/z80/gen.c, src/z80/gen.h:
27821           introduced labelKey2num label handling macro
27823 2012-03-30 Borut Razem <borut.razem AT gmail.com>
27825         * src/common.h, src/Makefile.in, src/SDCCgen.c, src/SDCCgen.h,
27826           src/SDCCasm.c, src/SDCCasm.h, src/SDCCdebug.c,
27827           src/SDCCdebug.h, src/SDCCpeeph.c, src/SDCCpeeph.h,
27828           src/avr/gen.c, src/ds390/gen.c, src/ds390/gen.h,
27829           src/ds390/main.c, src/ds390/main.h, src/hc08/gen.c,
27830           src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/main.h,
27831           src/pic14/gen.c, src/pic16/gen.c, src/z80/gen.c,
27832           sdcc_vc_in.h, src/sdcc.vcxproj, src/sdcc.vcxproj.filters:
27833           unification of target code generation
27835 2012-03-30 Philipp Klaus Krause <pkk AT spth.de>
27837         * device/lib/z180/stubs.s,
27838           device/lib/z80/stubs.s,
27839           device/lib/gbz80/stubs.s,
27840           support/regression/tests/longlong.c,
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, enabled more long long tests.
27844 2012-03-30 Borut Razem <borut.razem AT gmail.com>
27846         * configure.in, configure, sdccconf_in.h:
27847           added check if c supports tags in unnamed struct,
27848           fixed IS_VALID_OPTION
27849         * sim/ucsim/configure.in, sim/ucsim/configure:
27850           fixed IS_VALID_OPTION
27851         * sim/ucsim/aclocal.m4: regenerated
27852         * src/pic14/Makefile.in: removed unneeded PORT
27854 2012-03-30 Philipp Klaus Krause <pkk AT spth.de>
27856         * src/z80/gen.c:
27857           Fix for returning long long, fixes #3512403.
27858         * device/lib/z180/stubs.s,
27859           device/lib/z80/stubs.s,
27860           device/lib/gbz80/stubs.s,
27861           support/regression/tests/longlong.c:
27862           More tests for long long.
27863         * support/regression/tests/gcc-torture-execute-*.c:
27864           Made TODO comments more specific wrt. to what sdcc functionality is required for enabling the test.
27865         * device/lib/_rrslonglong_rrx_s.c,
27866           device/lib/_rrulonglong_rrx_s.c,
27867           device/lib/_rlulonglong_rrx_s.c:
27868           Fixes for long long shift.
27870 2012-03-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27872         * src/SDCCsymt.c (initCSupport),
27873           device/lib/_rrslonglong_rrx_s.c,
27874           device/lib/_rrulonglong_rrx_s.c:
27875           Fixed declarations for shift support functions.
27876         * device/lib/*z*/Makefile.in,
27877           device/lib/Makefile.in,
27878           device/lib/_r??longlong_rrx_s.c,
27879            device/lib/_mullonglong.c:
27880           Shift and multiplication support for long long.
27882 2012-03-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27884         * src/z80/gen.c,
27885           src/z80/ralloc2.cc:
27886           More flexible use of de for gbz80.
27888 2012-03-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27890         * src/SDCCsymt.c (initCSupport): fixed declarations for shift support functions
27891         * src/SDCCsymt.c (initBuiltIns),
27892           src/SDCCast.c (funcOfTypeVarg),
27893           src/SDCCast.h: added some const qualifiers
27895 2012-03-29 Philipp Klaus Krause <pkk AT spth.de>
27897         * src/z80/gen.c,
27898           src/z80/ralloc2.cc:
27899           More flexible use of de for gbz80.
27901 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27903         * src/z80/ralloc2.cc:
27904           Allow some use of de on gbz80.
27905         * src/z80/gen.c:
27906           gbz80 >> fix.
27907         * device/lib/_rrslonglong_rrx_s.c,
27908           device/lib/_rrulonglong_rrx_s.c:
27909           Support functions for shifting long long.
27911 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27913         * src/z80/ralloc2.cc,
27914           src/z80/ralloc.c,
27915           src/z80/z80.h:
27916           Remove support for using the old allocator for A, while using the new allocator for other registers.
27918 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27920         * src/z80/z80.h:
27921           Enabled exact cost function for gbz80.
27922         * src/z80/gen.c:
27923           Fixed a gbz80 comparison bug.
27925 2012-03-28 Borut Razem <borut.razem AT gmail.com>
27927         * src/SDCCval.c, src/SDCCval.h, src/SDCCicode.c:
27928           double2ul converted from macro to a function
27930 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27932         * src/z80/gen.c:
27933           Better support for returning long long, now works for gbz80, too.
27935 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27937         * src/z80/gen.c:
27938           Better assignment for large variables.
27939         * src/z80/peep.c:
27940           Fix code size calculation bug.
27942 2012-03-28 Borut Razem <borut.razem AT gmail.com>
27944         * configure.in, configure, sdccconf_in.h,
27945           sim/ucsim/configure.in, sim/ucsim/configure,
27946           sim/ucsim/ddconfig_in.h:
27947           use AC_C_BIGENDIAN instead of SDCC_BUILD_BIGENDIAN
27948         * support/cpp/config.in: regenerated
27949         * custom_in.h, sim/ucsim/custom_in.h: removed
27951 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27953         * device/include/stdint.h:
27954           Use long long for intmax_t where available.
27956 2012-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27958         * support/regression/tests/gcc-torture-execute-981001-1.c: Revert my
27959           previous edit since it was not needed
27961 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27963         * src/z80/gen.c,
27964           support/regression/tests/longlong.c:
27965           Fixed returning long long, and reenabled test.
27967 2012-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27969         * support/regression/tests/gcc-torture-execute-981001-1.c: Only use
27970           __reentrant for SDCC and not for test-host
27971         * support/regression/tests/gcc-torture-execute-930106-1.c: Reenabled
27973 2012-03-28 Philipp Klaus Krause <pkk AT spth.de>
27975         * support/regression/tests/gcc-torture-execute-981001-1.c:
27976           Fixed #3511512 / #3511513.
27978 2012-03-27 Philipp Klaus Krause <pkk AT spth.de>
27980         * src/SDCCsymt.c,
27981           src/z80/gen.c,
27982           support/regression/tests/gcc-torture-execute-960801-1.c,
27983           support/regression/tests/longlong.c:
27984           Support for returning long long and unsigned long long in z80, z180 and r2k port.
27986 2012-03-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27988         * src/z80/gen.c:
27989           Fixed stack unbalance bug.
27991 2012-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27993         * src/SDCCasm.c (FileBaseName): fixed bug 3511092
27995 2012-03-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27997         * support/regression/tests/gcc-torture-execute-9*.c:
27998           Added some more tests from the execute part of the gcc torture regression test suite.
28000 2012-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28002         * src/mcs51/ralloc.c (packForPush),
28003           src/ds390/ralloc.c (packForPush),
28004           src/hc08/ralloc.c (packForPush): fixed bug #3502628
28005         * support/regression/tests/gcc-torture-execute-20010403-1.c: reenabled
28006         * src/hc08/ralloc.c (packRegisters, packForPush): use packForPush
28007           for SEND iCodes too.
28009 2012-03-25 Maarten Brock <sourceforge.brock AT dse.nl>
28011         * src/mcs51/ralloc.c (packForPush): fixed bug 3502621
28012         * support/regression/tests/gcc-torture-execute-20030117-1.c: enabled test
28014 2012-03-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28016         * src/SDCCast.c (isConformingBody): fixed bug #3509715
28017         * support/regression/tests/gcc-torture-execute-930513-2.c: reenabled
28018         * src/SDCCast.c (decorateType): fixed bug #3509713
28019         * support/regression/tests/gcc-torture-execute-930429-1.c: reenabled
28020         * src/SDCCicode.c (geniCodeAssign): fixed bug #3509712
28021         * support/regression/tests/gcc-torture-execute-921016-1.c: reenabled
28022         * src/SDCCopt.c (optimizeCastCast): fixed bug #3509711
28023         * support/regression/tests/gcc-torture-execute-921218-1.c: reenabled
28025 2012-03-24 Borut Razem <borut.razem AT gmail.com>
28027         * support/makebin/makebin.c: applied modified patch
28028           #3510671 - [makebin / gbz80] add nintendo logo info in ROM header,
28029           thanks to Noel Lemouel
28031 2012-03-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28033         * support/regression/Makefile.in,
28034           support/regression/ports/ds390/spec.mk,
28035           support/regression/ports/hc08/spec.mk,
28036           support/regression/ports/mcs51-common/spec.mk,
28037           support/regression/ports/pic14/spec.mk,
28038           support/regression/ports/pic16/spec.mk,
28039           support/regression/ports/ucgbz80/spec.mk,
28040           support/regression/ports/ucr2k/spec.mk,
28041           support/regression/ports/ucz180/spec.mk,
28042           support/regression/ports/ucz80/spec.mk,
28043           support/regression/ports/xa51/spec.mk: attempt to fix bug #3477347
28045 2012-03-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28047         * src/SDCCcse.h,
28048           src/SDCCcse.c: handle possible pointer aliasing more conservatively
28049         * src/z80/gen.c (genFunction): reset stack.pushed at function start too
28051 2012-03-22 Philipp Klaus Krause <pkk AT spth.de>
28053         * support/regression/tests/gcc-torture-execute-941021-1.c:
28054           Disable test for gcc older than 5.0.
28056 2012-03-22 Borut Razem <borut.razem AT gmail.com>
28058         * doc/sdccman.lyx: double underlined keywords,
28059           fixed bug #3510011 - Wrong keyword
28060         * src/sdcc.vcxproj, src/sdcc.vcxproj.filters:
28061           added some missing header files
28063 2012-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28065         * src/SDCCsymt.h,
28066           src/SDCCsymt.c (initCSupport, typeFromStr, printTypeChainRaw),
28067           src/SDCCopt.c (cnvToFloatCast, cnvToFixed16x16Cast, cnvFromFloatCast,
28068           cnvFromFixed16x16Cast, convilong): ongoing upgrades for long long type
28070 2012-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28072         * src/hc08/gen.c (transferAopAop): fixed bug 3509707
28073         * support/regression/tests/gcc-torture-execute-930603-1.c: reenabled
28075 2012-03-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28077         * support/regression/tests/gcc-torture-execute-92*,
28078           support/regression/tests/gcc-torture-execute-93*,
28079           support/regression/tests/gcc-torture-execute-94*:
28080           Added some more tests from the execute part of the gcc torture regression test suite.
28082 2012-03-20 Borut Razem <borut.razem AT gmail.com>
28084         * src/mcs51/gen.c, src/SDCCasm.c, src/SDCCasm.h, src/z80/gen.c,
28085           src/SDCCutil.c, src/ds390/gen.c, src/hc08/gen.c:
28086           code cleaning, optimization, ...
28088 2012-03-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28090         * device/include/stdint.h,
28091           device/include/string.h,
28092           device/include/stddef.h,
28093           device/include/stdlib.h,
28094           device/include/stdio.h,
28095           device/include/time.h,
28096           device/include/errno.h:
28097           rsize_t, errno_t, constraint_handler_t, RSIZE_MAX from annex K (bounds-checking) of the C11 standard.
28099 2012-03-19 Borut Razem <borut.razem AT gmail.com>
28101         * src/SDCC.lex, doc/sdccman.lyx: removed asm() pseudo function
28102           since it is not standard-compliant
28104 2012-03-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28106         * src/SDCCpeeph.c:
28107           Handle gbz80 (hl+) and (hl-).
28109 2012-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28111         * support/regression/Makefile.in,
28112           support/regression/collate-results.py: Summarize any failures in a
28113           nicer format instead of all run together on one line
28114         * src/ds390/gen.c (genPlusIncr): fix problem with dereferencing a
28115           generic pointer via a struct losing pointer type byte
28117 2012-03-18 Borut Razem <borut.razem AT gmail.com>
28119         * doc/sdccman.lyx,src/avr/gen.c, src/ds390/gen.c,
28120           src/hc08/gen.c, src/mcs51/gen.c, src/pic14/gen.c,
28121           src/pic16/device.c, src/pic16/gen.c, src/pic16/glue.c,
28122           src/pic16/pcode.c, src/SDCC.lex, src/SDCC.y, src/SDCCast.c,
28123           src/SDCCglue.c, src/SDCCsymt.h, src/SDCCutil.c,
28124           src/SDCCutil.h, src/SDCCval.c:
28125           implemented feature request #2815320 - please add asm()
28126           pseudo function as alternate
28127         * sdcc.sln, src/sdcc.vcxproj, src/sdcc.vcxproj.filters,
28128           src/yacc.vcxproj:
28129           re-itroduced yacc project
28130         * .version, doc/sdccman.lyx: bumped version to 3.1.4
28131         * config.vcxproj, src/ds390/ds390.vcxproj,
28132           src/hc08/hc08.vcxproj, src/mcs51/mcs51.vcxproj,
28133           src/pic14/pic14.vcxproj, src/pic16/pic16.vcxproj,
28134           src/sdcc.vcxproj, src/yacc.vcxproj, src/z80/z80.vcxproj,
28135           all.vcxproj, all.vcxproj.filters:
28136           VS project enhancements
28137         * src/SDCC.y, src/SDCCsymt.h, src/SDCCutil.c, src/SDCCutil.h,
28138           src/SDCCval.c: fixed flaws in previous commit
28139         * src/SDCCsymt.c, src/pic14/glue.c, src/cdbFile.c:
28140           fixed printing size_t type numbers
28142 2012-03-18 Maarten Brock <sourceforge.brock AT dse.nl>
28144         * src/ds390/gen.c (aopGet, aopPut),
28145         * src/mcs51/gen.c (aopGet, aopPut): fixed bug 3496842
28146         * support/regression/tests/sfr16.c: enabled test and fixed for ds390
28148 2012-03-17 Borut Razem <borut.razem AT gmail.com>
28150         * support/regression/tests/strstr.c,
28151           support/regression/tests/strcpy.c,
28152           support/regression/tests/strcmp.c,
28153           support/regression/tests/strtok.c,
28154           support/regression/tests/strncmp.c,
28155           support/regression/tests/strspn.c,
28156           support/regression/tests/strpbrk.c,
28157           support/regression/tests/string.c:
28158           merged strstr.c, strcpy.c, strcmp.c, strtok.c, strncmp.c,
28159           strspn.c, and strpbrk.c to string.c, added test for
28160           bug #3506236
28162 2012-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28164         * sdas/linksrc/lkarea.c (lnksect2): applied fix from Tim Schuerewegen
28165           (bug 3495316)
28167 2012-03-16 Borut Razem <borut.razem AT gmail.com>
28169         * sdcc.sln, src/sdcc.vcxproj, src/sdcc.vcxproj.filters,
28170           src/yacc.vcxproj:
28171           project src renamed to sdcc, removed project yacc
28172         * doc/sdccman.lyx, src/SDCCasm.c, src/SDCCicode.h,
28173           src/SDCCast.c, src/SDCCast.h, src/pic16/main.c:
28174           implemeted pragma config for pic16 target, solution
28175           of bug #3486890 - pic16 port config directive warning
28176         * src/Makefile.in, src/sdcc.vcxproj:
28177           fixed bug #3506236: sdcc.exe unicode problem? by generating
28178           8-bit scanner
28180 2012-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28182         * sdas/linksrc/lkarea.c (allocate_space,find_empty_space): fixed bound
28183           checking errors on allocation bitmap (possbile fix for bug #3502626)
28185 2012-03-16 Raphael Neider <rneider AT web.de>
28187         * device/non-free/lib/pic16/libdev/pic18f1330.c:
28188           add dummy SSPBUF symbol as required by __stream_putchar/printf
28189         * device/non-free/lib/pic16/libdev/testall.sh:
28190           test using printf_tiny() for greater confidence
28192 2012-03-14 Borut Razem <borut.razem AT gmail.com>
28194         * debugger/mcs51/sdcdb.c, src/mcs51/gen.c, src/SDCCopt.c,
28195           src/hc08/gen.c, src/hc08/ralloc.c, src/ds390/gen.c,
28196           src/ds390/ralloc.c, sim/ucsim/cmd.src/cmdset.cc,
28197           sim/ucsim/cmd.src/cmdstat.cc, sim/ucsim/cmd.src/cmdgui.cc,
28198           sim/ucsim/z80.src/inst.cci, sdas/asxxsrc/asout.c:
28199           fixed gcc 4.6.1 warnimgs, mainly warning: 'xxx' may be used
28200           uninitialized in this function [-Wuninitialized]
28202 2012-03-14 Philipp Klaus Krause <pkk AT spth.de>
28204         * src/z80/ralloc.c,
28205           support/regression/tests/bug3502965.c:
28206           Fixed bug #3502965.
28207         * support/regression/tests/gcc-torture-execute-20030209-1.c,
28208           support/regression/tests/gcc-torture-execute-20031012-1.c:
28209           Added explanation for why tests don't work on gbz80.
28210         * src/SDCCmain.c:
28211           Reenable non-compliant SDCC macros (but not for --std-c89, --std-c99, --std-c11).
28212         * src/z80/ralloc2.cc:
28213           More flexible handling of accumulator in multiplication and return.
28215 2012-03-14 Borut Razem <borut.razem AT gmail.com>
28217         * device/non-free/include/*, device/non-free/lib/*:
28218           added info about "The header files should state that they are
28219           only to be used with authentic Microchip devices" Microchip
28220           requirement and GPL incompatibility
28222 2012-03-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28224         * support/regression/tests/gcc-torture-execute-20010224-1.c,
28225           support/regression/tests/gcc-torture-execute-20030714-1.c:
28226           Disable tests for gcc older than 5.0.
28228 2012-03-13 Borut Razem <borut.razem AT gmail.com>
28230         * device/include/*, device/lib/*: corrected GPL license version
28231           from 2.1 to 2: GPLv2.1 does not exist
28233 2012-03-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28235         * support/regression/tests/gcc-torture-execute-2001*.c,
28236           support/regression/tests/gcc-torture-execute-2003*.c:
28237           Added some more tests from the execute part of the gcc torture regression test suite.
28239 2012-03-12 Borut Razem <borut.razem AT gmail.com>
28241         * doc/TININative.txt: removed, available at
28242           http://sourceforge.net/apps/trac/sdcc/wiki/Using%20SDCC%20to%20develop%20Native%20Java%20functions
28243         * doc/Makefile.in:
28244           don't generate unusable html and txt versions of sdccman
28246 2012-03-11 Philipp Klaus Krause <pkk AT spth.de>
28248         * src/SDCCpeeph.c,
28249           src/z80/peeph-r2k.def,
28250           src/z80/peeph-z80.def,
28251           support/regression/tests/bug3501942.c:
28252           Fixed bug #3501942.
28254 2012-03-11 Philipp Klaus Krause <pkk AT spth.de>
28256         * src/z80/gen.c:
28257           Fixed bug that made copying from hl to iy ineffcient on r2k,
28258           fix another check in commitPair(), improved stack adjustment
28259           after function call.
28261 2012-03-11 Raphael Neider <rneider AT web.de>
28263         * device/lib/pic16/libio/usart/uopen.c:
28264           properly setup BAUDCONbits.BRG16, closes #3495815
28266         * device/non-free/include/pic16/pic18f1220.h:
28267           added BAUDCON alias and structure definition for BAUDCTL
28269 2012-03-10 Borut Razem <borut.razem AT gmail.com>
28271         * doc/sdccman.lyx:
28272           documented support for 18f1230/18f1330 device family
28274 2012-03-10 Raphael Neider <rneider AT web.de>
28276         * Makefile.in:
28277           device/lib build depends on sdcc-sdbinutils
28279         * device/include/pic16/adc.h,
28280           device/include/pic16/pic16devices.txt,
28281           device/include/pic16/pic18fregs.h,
28282           device/lib/pic16/libio/Makefile.am,
28283           device/lib/pic16/libio/adc/adcbusy.c,
28284           device/lib/pic16/libio/adc/adcopen.c,
28285           device/lib/pic16/libio/adc/adcsetch.c,
28286           device/lib/pic16/libio/i2c.ignore,
28287           device/lib/pic16/libio/usart/uopen.c,
28288           device/non-free/include/pic16/pic18f1230.h,
28289           device/non-free/include/pic16/pic18f1330.h,
28290           device/non-free/lib/pic16/libdev/Makefile.am,
28291           device/non-free/lib/pic16/libdev/pic18f1230.c,
28292           device/non-free/lib/pic16/libdev/pic18f1330.c,
28293           device/non-free/lib/pic16/pics.all,
28294           support/scripts/pic18fam-h-gen.pl:
28295           add support for 18f1230 and 18f1330 devices
28297         * device/lib/pic16/libio/mkmk.sh:
28298           adjust path to pics.all
28300         * device/lib/pic16/libdev:
28301           removed obsolete, empty directory
28303         * device/lib/pic16/libio/Makefile.in,
28304           device/non-free/include/pic16/pic18fam.h,
28305           device/non-free/lib/pic16/libdev/Makefile.in:
28306           regenerated
28308 2012-03-10 Borut Razem <borut.razem AT gmail.com>
28310         * doc/README.txt, doc/sdccman.lyx:
28311           backslashes replaced with slashes in non-free paths;
28312           obsoleted special sdcc keywords which are not preceded
28313           by a double underscore
28314         * support/scripts/inc2h-pic16.pl, support/scripts/inc2h.pl:
28315           added comment about Microchip "The header files should state
28316           that they are only to be used with authentic Microchip
28317           devices" requirement.
28319 2012-03-10 Philipp Klaus Krause <pkk AT spth.de>
28321         * src/z80/gen.c:
28322           Fixed bug #3501019.
28324 2012-03-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28326         * src/mcs51/gen.c (genCast): fixed bug #3486542
28327         * support/regression/tests/gcc-torture-execute-pr15296.c: re-enabled
28329 2012-03-09 Borut Razem <borut.razem AT gmail.com>
28331         * doc/README.txt:
28332           added info about included code from gcc test suite
28333         * Makefile.in:
28334           replaced test -e with -f, since -e is not available in sh
28335           on Solaris
28337 2012-03-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28339         * src/z80/gen.c:
28340           Use 16-bit addition instructions for 8-bit additions when cheaper and possible.
28342 2012-03-07 Borut Razem <borut.razem AT gmail.com>
28344         * Makefile.in: copy correct sdbinutils executables to bin
28346 2012-03-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28348         * src/SDCCopt.c (getAddrspaceiCode),
28349           src/SDCCralloc.hpp (create_cfg): properly handle IFX and
28350           JUMPTABLE operands
28352 2012-03-06 Borut Razem <borut.razem AT gmail.com>
28354         * Makefile.in, support/sdbinutils/binutils/Makefile.am,
28355           support/sdbinutils/binutils/Makefile.in,
28356           support/scripts/sdcc.nsi,
28357           support/sdbinutils/bfd/asxxxx.c,
28358           support/sdbinutils/binutils/nm.c:
28359           added sdnm sdbinutils utility
28361 2012-03-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28363         * src/z80/gen.c:
28364           Fixed bug #3496508.
28366 2012-03-05 Borut Razem <borut.razem AT gmail.com>
28368         * src/SDCCicode.c:
28369           disable -O2 optimization for gcc 4.6.3, see bug #3285611
28370         * support/scripts/sdcc_mingw32: minor cosmetical fix
28371         * configure.in, configure, config.guess, config.sub:
28372           added host and build type detection
28373         * device/lib/pic14/Makefile.in,
28374           device/lib/pic14/libm/Makefile.in: regenerated
28376 2012-03-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28378         * src/SDCCopt.c (separateAddressSpaces): fixed bug #3476041
28380 2012-03-04 Borut Razem <borut.razem AT gmail.com>
28382         * doc/README.txt, doc/sdccman.lyx: small corrections
28383         * src/SDCC.lex: removed forward declaration of non existing
28384           function deprecated_keyword(), removed macro TKEYWORDSDCC
28385         * support/cpp/opts.c, support/cpp/sdcpp.c,
28386           support/cpp/version.c, support/cpp/version.h:
28387           updated version to 4.6.3
28389 2012-03-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28391         * src/SDCCsymt.h,
28392         * src/SDCCerr.c,
28393         * src/SDCCerr.h,
28394         * src/SDCC.y: fix struct/union tag scope problems
28395           (including bug #3487670)
28396         * support/regression/tests/structscope.c: new tests
28398 2012-03-03 Borut Razem <borut.razem AT gmail.com>
28400         * support/regression/ports/ucz80/spec.mk,
28401           support/regression/ports/ucz180/spec.mk:
28402           simulation timeout doubled due to several tests
28403           failures on sparc64-unknown-netbsd platform
28405 2012-03-02 Philipp Klaus Krause <pkk AT spth.de>
28407         * src/z80/gen.c,
28408           src/z80/ralloc.c,
28409           support/regression/tests/bug-3495411.c,
28410           Fixed #3495411 and another --oldralloc bug.
28412 2012-03-02 Borut Razem <borut.razem AT gmail.com>
28414         * doc/sdccman.lyx: fixed pdf generation;
28415           added chapter 1.2 SDCC Suite Licenses;
28416           libraries license should be at least as liberal as the GPLv2+LE;
28417           note about GPL incompatible pic device libraries;
28418           added link to "List of the SDCC library" wiki page;
28419           added link to "SDCC - Small Device C Compiler Wiki" wiki page;
28420           use term "SDCC suite";
28421           formatting cleaning
28422         * doc/README.txt: changed chapters Licenses and Authors and interested persons
28424 2012-03-01 Borut Razem <borut.razem AT gmail.com>
28426         * support/regression/ports/ucz80/spec.mk:
28427           simulation timeout increased to 20s due to several tests
28428           failures on sparc64-unknown-netbsd platform
28429         * configure.in, configure: report CPPFLAGS and LDFLAGS settings
28430         * support/sdbinutils/bfd/configure.in,
28431           support/sdbinutils/bfd/configure,
28432           PKGVERSION set to (sdbinutils derived from GNU Binutils),
28433           BUGURL set to http://sourceforge.net/tracker/?group_id=599&atid=100599
28434         * support/sdbinutils/binutils/version.c:
28435           --vesion shows sd* names instead GNU *
28437 2012-03-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28439         * support/regression/tests/gcc-torture-execute-20080506-1.c,
28440           support/regression/tests/gcc-torture-execute-20080506-2.c:
28441           Disable tests for gcc versions earlier than 5.0.
28443 2012-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28445         * support/regression/tests/cse.c: new tests checking for CSE problems
28447 2012-02-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28449         * support/regression/tests/2000*.c:
28450           More tests from gcc.
28452 2012-02-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28454         * support/regression/tests/gcc-torture-execute-20000402-1.c:
28455           Disable test since unsigned long long is not yet fully supported.
28456         * support/regression/tests/gcc-torture-execute-20000314-1.c:
28457           Silence warning.
28459 2012-02-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28461         * support/regression/tests/2000*.c:
28462           More tests from gcc.
28464 2012-02-26 Borut Razem <borut.razem AT gmail.com>
28466         * support/regression/ports/ds390/spec.mk:
28467           simulation timeout icreased to 40s due to
28468           gcc-torture-execute-20090113-1 test failure on
28469           x86_64-w64-mingw32 and sparc64-unknown-netbsd platforms
28470         * doc/README.txt: added gbz80 to supported targets,
28471           explanation of sdcc run time libraries licensing
28473 2012-02-26 Philipp Klaus Krause <pkk AT spth.de>
28475         * device/include/mcs51/compiler.h:
28476           Update for SDCC -> __SDCC rename.
28477         * support/regression/tests/gcc-torture-execute-pr49161.c,
28478           support/regression/tests/gcc-torture-execute-pr49039.c,
28479           support/regression/tests/gcc-torture-execute-pr48809.c,
28480           support/regression/tests/gcc-torture-execute-pr48973-1.c,
28481           support/regression/tests/gcc-torture-execute-pr48973-2.c:
28482           Disable tests for all gcc older than 5.0.
28483         * doc/sdccman.lyx:
28484           Document feature macro rename.
28486 2012-02-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28488         * src/ds390/gen.c (genAssign): fixed bug #3463343
28489         * support/regression/tests/gcc-torture-execute-string-opt-5.c:
28490           reenabled for ds390
28491         * src/ds390/gen.c (genPlus, genMinus): fix bug #3486541
28492         * support/regression/tests/gcc-torture-execute-pr20527-1.c:
28493           reenabled for ds390
28495 2012-02-26 Borut Razem <borut.razem AT gmail.com>
28497         * doc/sdccman.lyx: documented support for 16f720/16f721
28499 2012-02-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28501         * support/regression/tests/gcc-torture-execute-stdarg-4.c:
28502           reenabled for ds390
28504 2012-02-25 Borut Razem <borut.razem AT gmail.com>
28506         * configure.in, configure, Makefile.in, sdcc.sln,
28507           doc/sdccman.lyx, support/sdranlib/*: support/sdranlib removed
28508         * .version, doc/sdccman.lyx: bumped version to 3.1.3
28510 2012-02-25 Raphael Neider <rneider AT web.de>
28512         * device/include/pic14/pic14devices.txt,
28513           device/non-free/include/pic14/pic16f720.h,
28514           device/non-free/include/pic14/pic16f721.h,
28515           device/non-free/lib/pic14/libdev/Makefile.in,
28516           device/non-free/lib/pic14/libdev/devices.txt,
28517           device/non-free/lib/pic14/libdev/pic16f720.c,
28518           device/non-free/lib/pic14/libdev/pic16f721.c:
28519           added support for 16f720/16f721
28521         * device/non-free/include/pic14/pic14regs.h:
28522           fixed to use __SDCC_PROCESSOR instead of SDCC_PROCESSOR
28524         * device/non-free/lib/pic16/libdev/testall.sh:
28525           test support for all devices by compiling a source file
28527 2012-02-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28529         * src/SDCCcse.c: fixed bug #3473062
28530         * src/z80/gen.c (genCmpGt, genCmpLt),
28531           src/hc08/gen.c (genCmp, genCmpEQorNE),
28532           src/pic16/gen.c (genCmpGt, genCmpLt),
28533           src/pic14/gen.c (genCmpGt, genCmpLt): fixed bug #3487025
28535 2012-02-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28537         * support/regression/tests/gcc-torture-execute-pr42833.c:
28538           Disable test for all gcc versions earlier than 5.0.
28540 2012-02-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28542         * src/SDCCast.c (createDo): fixed bug #3489326
28544 2012-02-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28546         * src/z80/gen.c:
28547           More efficient access to two-byte variables near the stack pointer for r2k, fix a bug when fetching 1-byte variables.
28549 2012-02-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28551         * src/z80/gen.c,
28552           src/z80/peeph-z80.def:
28553           More efficient access to two-byte variables near the stack pointer.
28554         * support/regression/tests/gcc-torture-execute-pr42833.c:
28555           Disable test for even more gcc versions.
28557 2012-02-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28559         * src/SDCCmain.c,
28560           device/*,
28561           support/regression/*:
28562           sdcc macro mess cleanup, fix #3490776.
28564 2012-02-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28566         * support/regression/tests/bug2935162.c,
28567         * device/include/limits.h: changed constants to be compatible with
28568           both C89 and C99 integer constant type rules
28569         * src/SDCCval.c (constVal): fixed bug #3489899
28570         * src/mcs51/peeph.def: don't tail call optimize longjmp()
28571         * src/SDCCsymt.c (addSymChain): fixed bug #3489870
28573 2012-02-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28575         * device/include/setjmp.h,
28576           support/regression/tests/setjmp.c,
28577           device/lib/_setjmp.c:
28578           Rename HIDE_LONGJMP to __SDCC_HIDE_LONGJMP for standard compliance, enable setjmp/longjmp for z180 and r2k.
28580 2012-02-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28582         * src/SDCCcse.c (cseBBlock): fixed bug #3482753
28583         * support/regression/tests/bug3482753.c: new
28585 2012-02-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28587         * src/SDCCsymt.h,
28588           src/SDCCast.h,
28589           src/SDCCast.c (decorateType, processParms, checkPtrCast, copyAstValues):
28590           fixed bug #3438706
28592 2012-02-19 Philipp Klaus Krause <pkk AT spth.de>
28594         * src/z80/gen.c,
28595           support/regression/tests/gcc-torture-execute-pr39339.c:
28596           Fixed bug #3486544.
28598 2012-02-19 Philipp Klaus Krause <pkk AT spth.de>
28600         * src/z80/gen.c,
28601           support/regression/tests/gcc-torture-execute-pr43236.c,
28602           support/regression/tests/gcc-torture-execute-20090113-1.c:
28603           Fixed bugs #3486543 and #3487324.
28605 2012-02-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28607         * src/SDCCsymt.h,
28608           src/SDCCsymt.c (findSymWithLevel),
28609           src/SDCCast.c (resolveSymbols, processBlockVars): fixed bugs 3403429,
28610           3153215, 3107914
28611         * support/regression/tests/bug3403429.c: enabled test
28613 2012-02-18 Philipp Klaus Krause <pkk AT spth.de>
28615         * support/regression/tests/gcc-torture-execute-pr44468.c,
28616           support/regression/tests/gcc-torture-execute-pr43438.c,
28617           support/regression/tests/gcc-torture-execute-pr45034.c:
28618           Disable tests for older gcc.
28620 2012-02-17 Philipp Klaus Krause <pkk AT spth.de>
28622         * device/lib/z80/divunsigned.s,
28623           device/lib/z180/divunsigned.s,
28624           device/lib/r2k/divunsigned.s:
28625           Remove some leftover code for handling division by zero (patch by parerga, #3488149).
28627 2012-02-17 Philipp Klaus Krause <pkk AT spth.de>
28629         * support/regression/tests/gcc-torture-execute-pr37924.c:
28630           Fix gcc compilation failure.
28632 2012-02-16 Philipp Klaus Krause <pkk AT spth.de>
28634         * src/z80/peeph-r2k.def:
28635           Use some peepholes useful when omitting the frame pointer from z80 for r2k.
28636         * src/z80/gen.c:
28637           Improve code generation for r2k when omitting frame pointer, enable use of ld iy, hl on r2k.
28639 2012-02-16 Borut Razem <borut.razem AT gmail.com>
28641         * support/sdbinutils/include/opcode/sparc.h,
28642           support/sdbinutils/include/aout/sun4.h:
28643           added for NetBSD/sparc64 bfd build
28645 2012-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28647         * src/hc08/main.c (hasExtBitOp),
28648           src/hc08/gen.c (genGetAbit, genGetByte, genGetWord, genhc08Code):
28649           implemented the GETABIT, GETBYTE, and GETWORD iCodes for HC08
28651 2012-02-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28653         * src/z80/gen.c:
28654           Cheaper signed comparison when right operand is a literal.
28655         * support/regression/tests/gcc-torture-execute-pr37924.c:
28656           Disable even more of a test for older gcc.
28658 2012-02-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28660         * support/regression/tests/gcc-torture-execute-pr37924.c,
28661           support/regression/tests/gcc-torture-execute-pr33779-2.c:
28662           Disable tests for older gcc.
28663         * src/SDCCast.c
28664           Fix setting of CurrFunc for non-functions.
28665         * src/z80/main.c,
28666           src/z80/gen.h,
28667           src/z80/gen.c,
28668           src/z80/ralloc2.cc:
28669           Fixes for --fomit-frame-pointer, omit frame pointer by default for
28670           functions with low register pressure and few stack accesses.
28672 2012-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28674         * src/SDCCast.c (createWhile, createDo, backPatchLabels): put label
28675           nodes above IFX nodes rather than between IFX and condition
28676         * src/SDCCicode.c (geniCodeIfx, ast2iCode): fixed bug #3429793
28678 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28680         * src/z80/ralloc2.cc,
28681           src/z80/gen.h,
28682           src/z80/gen.c:
28683           Omit frame pointer for functions with low register pressure and few parameter accesses.
28685 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28687         * src/z80/gen.c:
28688           Fix addition when multiple operands are on the stack and --fomit-frame-pointer is used.
28690 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28692         * src/z80/peeph-z80.def,
28693           src/z80/gen.c,
28694           src/z80/ralloc2.cc:
28695           Generate better code when using --fomit-frame-ppinter.
28697 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28699         * support/regression/tests/gcc-torture-execute-pr28651.c:
28700           Disable test for older gcc.
28702 2012-02-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28704         * support/regression/tests/gcc-torture-execute-pr49073.c,
28705           support/regression/tests/gcc-torture-execute-pr36691.c:
28706           Disabled some tests for older gcc.
28707         * support/regression/tests/gcc-torture-execute-*.c:
28708           Added some more tests from the execute part of the gcc torture regression test suite.
28709         * src/z80/gen.c:
28710           Improve handling of bc, de in addition.
28711         * src/SDCC.lex:
28712           Remove leftover legacy keyword function.
28714 2012-02-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28716         * src/z80/ralloc2.cc,
28717           src/z80/gen.c:
28718           Improve handling of hl in address calculations, minor decrement improvement.
28720 2012-02-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28722         * support/regression/tests/gcc-torture-execute-pr34070-1.c,
28723           support/regression/tests/gcc-torture-execute-pr34070-2.c:
28724           Disable more tests for older gcc
28725         * support/regression/tests/gcc-torture-execute-pr15296.c,
28726           support/regression/tests/bug1115321.c: Fix test to be compatible
28727           with hosts in which int and pointers differ in size.
28729 2012-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28731         * support/regression/tests/gcc-torture-execute-pr42833.c:
28732           don't redefine ssize_t if host already defines
28734 2012-02-12 Raphael Neider <rneider AT web.de>
28736         * src/pic14/pcode.c (newpCodeOpBit):
28737           prevent SIGSEGV on copying temporary registers
28739         * src/pic14/gen.c (gen{,End}Function, gen{,End}Critical, genpic14Code),
28740           src/pic16/gen.c (gen{,End}Function, gen{,End}Critical, genpic16Code):
28741           implement __critical (block and function attribute, PIC14 limited to
28742           no-arg functions: arg0 in W would be corrupted)
28744 2012-02-12 Philipp Klaus Krause <pkk AT spth.de>
28746         * support/regression/tests/gcc-torture-execute-pr42833.c,
28747           support/regression/tests/gcc-torture-execute-pr44555.c,
28748           support/regression/tests/gcc-torture-execute-pr48809.c,
28749           support/regression/tests/gcc-torture-execute-pr48973-1.c,
28750           support/regression/tests/gcc-torture-execute-pr48973-2.c,
28751           support/regression/tests/gcc-torture-execute-pr49039.c,
28752           support/regression/tests/gcc-torture-execute-pr49123.c,
28753           support/regression/tests/gcc-torture-execute-pr49161.c,
28754           support/regression/tests/gcc-torture-execute-pr49768.c:
28755           Disable some tests for older gcc.
28757 2012-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28759         * support/sdbinutils/include/mach-o/*: added missing files for Mac OS
28761 2012-02-12 Raphael Neider <rneider AT web.de>
28763         * src/pic14/gen.c (genGetABit, genpic14Code),
28764           src/pic14/main.c (hasExtBitOp),
28765           src/pic16/gen.c (genGetABit, genpic16Code),
28766           src/pic16/main.c (hasExtBitOp):
28767           implement GETABIT iCode, fixes #2986039
28769 2012-02-11 Raphael Neider <rneider AT web.de>
28771         * device/include/pic16/signal.h:
28772           explicitly access SFRs via access bank, closes #3482876
28774 2012-02-11 Raphael Neider <rneider AT web.de>
28776         * device/include/pic14/pic14devices.txt,
28777           device/non-free/include/pic14/pic16f1946.h,
28778           device/non-free/include/pic14/pic16f1947.h,
28779           device/non-free/lib/pic14/libdev/Makefile.in,
28780           device/non-free/lib/pic14/libdev/devices.txt,
28781           device/non-free/lib/pic14/libdev/pic16f1946.c,
28782           device/non-free/lib/pic14/libdev/pic16f1947.c,
28783           doc/sdccman.lyx:
28784           enabled/added devices
28786         * device/non-free/lib/pic14/libdev/testall.sh:
28787           test support for all devices by compiling a source file
28789         * device/non-free/lib/pic14/libdev/mkall.sh,
28790           support/scripts/inc2h.pl:
28791           improved regenerating device support files
28793 2012-02-11 Borut Razem <borut.razem AT gmail.com>
28795         * device/include/pic14/pic14devices.txt,
28796           device/non-free/include/pic14/pic16f1503.h,
28797           device/non-free/include/pic14/pic16f1507.h,
28798           device/non-free/include/pic14/pic16f1508.h,
28799           device/non-free/include/pic14/pic16f1509.h,
28800           device/non-free/include/pic14/pic16f1516.h,
28801           device/non-free/include/pic14/pic16f1517.h,
28802           device/non-free/include/pic14/pic16f1518.h,
28803           device/non-free/include/pic14/pic16f1519.h,
28804           device/non-free/include/pic14/pic16f1526.h,
28805           device/non-free/include/pic14/pic16f1527.h,
28806           device/non-free/lib/pic14/libdev/Makefile.in,
28807           device/non-free/lib/pic14/libdev/devices.txt,
28808           device/non-free/lib/pic14/libdev/pic16f1503.c,
28809           device/non-free/lib/pic14/libdev/pic16f1507.c,
28810           device/non-free/lib/pic14/libdev/pic16f1508.c,
28811           device/non-free/lib/pic14/libdev/pic16f1509.c,
28812           device/non-free/lib/pic14/libdev/pic16f1516.c,
28813           device/non-free/lib/pic14/libdev/pic16f1517.c,
28814           device/non-free/lib/pic14/libdev/pic16f1518.c,
28815           device/non-free/lib/pic14/libdev/pic16f1519.c,
28816           device/non-free/lib/pic14/libdev/pic16f1526.c,
28817           device/non-free/lib/pic14/libdev/pic16f1527.c:
28818           applied patch #3471142: [PIC14] more enchanced core devices,
28819           thanks to Gal Zsolt
28820         * doc/sdccman.lyx: added new 16f15xx devices to the list
28821         * support/sdbinutils/include/fopen-bin.h:
28822           added, required by mingw build
28823         * Makefile.in: added EXEEXT required by mingw build
28824         * support/scripts/sdcc_mingw32: added TARGETAR
28826 2012-02-11 Philipp Klaus Krause <pkk AT spth.de>
28828         * support/regression/tests/gcc-torture-execute-pr20601-1.c:
28829           Disabled test for host, since _Noreturn support is required.
28830         * support/regression/tests/gcc-torture-execute-pr23047.c:
28831           Removed test, since it seems to test for implementation-defined behaviour.
28832         * support/regression/tests/gcc-torture-execute-pr33779-1.c:
28833           Use exact-width integer types from stdint.h instead, no longer require long to be 32 bits.
28835 2012-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28837         * src/z80/ralloc2.cc,
28838           src/z80/gen.c:
28839           Increase flexibility of handling of register pair hl over function calls.
28841 2012-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28843         * support/regression/tests/*
28844           Added some more tests from the execute part of the gcc torture regression test suite.
28846 2012-02-10 Borut Razem <borut.razem AT gmail.com>
28848         * configure, Makefile.in, configure.in, sdccconf_in.h,
28849           device/lib/z180/Makefile.in, device/lib/small/Makefile.in,
28850           device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in,
28851           device/lib/ds390/Makefile.in, device/lib/medium/Makefile.in,
28852           device/lib/Makefile.in, device/lib/ds400/Makefile.in,
28853           device/lib/mcs51/Makefile.in, device/lib/huge/Makefile.in,
28854           device/lib/large/Makefile.in, device/lib/r2k/Makefile.in,
28855           device/lib/hc08/Makefile.in, Makefile.common.in,
28856           support/scripts/sdcc.nsi, support/sdbinutils/*:
28857           device/lib/z180/Makefileadded sdbinutils: sdar and sdranlib
28858         * device/lib/z180/Makefile:
28859           deleted, generated from device/lib/z180/Makefile.in
28861 2012-02-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28863         * src/z80/gen.c:
28864           Fix for yesterdays addition improvement, decide in which pair
28865           to increment in code generator instead of peephole optimizer.
28867 2012-02-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28869         * src/z80/gen.c,
28870           src/z80/peeph-z80.def:
28871           Minor addition improvement.
28873 2012-02-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28875         * src/z80/gen.c:
28876           Use bit instruction for & in jump condition.
28877         * src/z80/peep.c,
28878           src/z80/peeph-z80.def:
28879           Minor peephole improvements.
28881 2012-02-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28883         * src/z80/ralloc2.cc,
28884           src/z80/gen.c:
28885           Improve handling of register pairs, in particular hl.
28887 2012-02-06 Philipp Klaus Krause <pkk AT spth.de>
28889         * src/SDCCast.c:
28890           Fixed bug #3073647.
28891         * src/SDCCsymt.c:
28892           Fixed #3034739.
28894 2012-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28896         * support/regression/tests/bug2935162.c: don't assume 32-bit long host
28898 2012-02-06 Philipp Klaus Krause <pkk AT spth.de>
28900         * src/z80/gen.c:
28901           Fixed bug #3482732.
28902         * src/SDCClrange.h,
28903           src/SDCClrange.c,
28904           src/SDCCopt.c,
28905           support/Regression/bug3482217.c:
28906           Fixed bug #3482217.
28908 2012-02-04 Maarten Brock <sourceforge.brock AT dse.nl>
28910         * src/SDCCval.c (constVal): fixed bug 2935162
28911         * support/regression/tests/bug2935162.c: new, added
28913 2012-02-03 Philipp Klaus Krause <pkk AT spth.de>
28915         * src/z80/gen.c,
28916           src/z80/z80.h,
28917           src/z80/ralloc2.cc:
28918           Fixes for #3482732, preparations for exact cost function in gbz80 port.
28920 2012-02-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28922         * src/z80/gen.c:
28923           Fix generation of invalid instructions when --reserve-regs-iy is used.
28925 2012-01-31 Borut Razem <borut.razem AT gmail.com>
28927         * support/regression/ports/ucgbz80/spec.mk:
28928           simulation timeout increased to 20s due to timeout failure on
28929           gcc-torture-execute-divcmp-3 regressin test on
28930           mypants.neurotica.com NetBSD/Sparc64 build machine
28932 2012-01-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28934         * src/z80/ralloc2.cc,
28935           support/regression/tests/bug3482146.c:
28936           Fixed bug #3482146.
28938 2012-01-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28940         * support/regression/tests/bug3482146.c:
28941           Regression test for bug #3482146.
28943 2012-01-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28945         * src/z80/gen.c:
28946           Fixed bug #3480597.
28948 2012-01-29 Borut Razem <borut.razem AT gmail.com>
28950         * support/regression/tests/key.c: fixed for Mac OS X
28952 2012-01-28 Maarten Brock <sourceforge.brock AT dse.nl>
28954         * src/mcs51/gen.c (genJumpTab): fixed bug 3480545
28955         * support/regression/tests/bug3480545.c: new, added
28957 2012-01-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28959         * src/z80/gen.c,
28960           support/regression/tests/gcc-torture-execute-stdarg-4.c:
28961           Fix bug #3463344.
28963 2012-01-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28965         * src/z80/peeph-gbz80.def:
28966           Fix remaining gbz80 regression failures when using --max-allocs-per-node 5.
28967         * src/z80/gen.c:
28968           Fix right shift for gbz80 using --max-allocs-per-node 1.
28970 2012-01-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28972         * src/z80/gen.c:
28973           Fix comparison and unary minus for gbz80 when many operands are on the stack.
28975 2012-01-26 Raphael Neider <rneider AT web.de>
28977         * src/pic14/pcodepeep.c,
28978           src/pic14/gen.c,
28979           src/pic14/glue.c,
28980           src/pic16/device.c,
28981           src/pic16/pcodepeep.c,
28982           src/pic16/gen.c,
28983           src/pic16/pcoderegs.c,
28984           src/pic16/ralloc.c,
28985           src/pic16/pcode.c,
28986           src/pic16/genutils.c: avoid compiler warnings
28988 2012-01-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28990         * support/cpp/libcpp/internal.h,
28991           support/cpp/sdcpp.c,
28992           support/cpp/libcpp/lex.c:
28993           Remove support for _asm and _endasm, rename macros that had names reserved for the implementation.
28994         * support/regression/tests/key.c:
28995           Regression test for obsolete keywords.
28997 2012-01-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28999         * src/z80/gen.c:
29000           Correctly handle some forgotten corner cases in the fix for #3427564.
29002 2012-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29004         * doc/sdccman.lyx:
29005           Mention -mz180, -mr2k, named address spaces and use non-deprectaed form of sdcc-specific keywords.
29006         * src/SDCC.lex:
29007           Remove support for deprecated keywords.
29008         * src/z80/gen.c:
29009           Fixed bug #3427564.
29011 2012-01-25 Borut Razem <borut.razem AT gmail.com>
29013         * device/lib/make51lib.bat: rewritten for ar / sdranlib
29015 2012-01-23 Borut Razem <borut.razem AT gmail.com>
29017         * doc/sdccman.lyx: pic14 enhanced cores enabled by default
29019 2012-01-22 Borut Razem <borut.razem AT gmail.com>
29021         * configure.in, configure: corrected test if ar accepts -S option
29023 2012-01-22 Maarten Brock <sourceforge.brock AT dse.nl>
29025         * support/regression/tests/bug3475630.c,
29026         * support/regression/tests/bug3475656.c: fixed for mcs51, native eol
29027         * device/include/mcs51/stc12.h: new, added, thanks intron
29029 2012-01-21 Philipp Klaus Krause <pkk AT spth.de>
29031         * src/z80/ralloc2.cc,
29032           support/regression/tests/bug3475630.c:
29033           Fixed bug #3475630.
29034         * support/regression/tests/bug3475656.c:
29035           Regression test for bug #3475656.
29037 2012-01-21 Philipp Klaus Krause <pkk AT spth.de>
29039         * src/z80/peeph-gbz80.def:
29040           Enable some more peephole rules for the gbz80.
29042 2012-01-21 Borut Razem <borut.razem AT gmail.com>
29044         * support/regression/tests/bug2942343.c: corrected test if SDCC
29046 2012-01-20 Borut Razem <borut.razem AT gmail.com>
29048         * device/lib/pic14/Makefile.am, device/lib/pic14/Makefile.in,
29049           device/lib/pic14/libm/Makefile.am,
29050           device/lib/pic14/libm/Makefile.in:
29051           added template for NEW_PICS
29052         * device/non-free/lib/pic14/libdev/Makefile.in:
29053           pic14 enhanced cores enabled by default
29055 2012-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29057         * support/regression/tests/bug2942343.c: disable for test-host
29058         * support/regression/tests/bug3475990.c: skip named address space
29059           declaration for test-host
29061 2012-01-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29063         * src/SDCCnaddr.hpp:
29064           Fix preprocessing step for named address spaces.
29066 2012-01-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29068         * src/SDCCnaddr.cc,
29069           src/SDCCnaddr.hpp,
29070           src/SDCCopt.c,
29071           src/SDCCopt.h,
29072           support/regression/tests/bug3475990.c:
29073           Fixed bug #3475990.
29075 2012-01-19 Borut Razem <borut.razem AT gmail.com>
29077         * device/lib/pic14/configure.in, device/lib/pic14/configure,
29078           device/lib/pic14/Makefile.am, device/lib/pic14/Makefile.in,
29079           device/lib/pic14/libm/Makefile.am,
29080           device/lib/pic14/libm/Makefile.in:
29081           pic14 enhanced cores enabled by default; gputils 0.14.1 or
29082           newer required
29084 2012-01-18 Maarten Brock <sourceforge.brock AT dse.nl>
29086         * device/lib/_fsget1arg.c,
29087         * device/lib/_fsget2args.c: cosmetics
29088         * device/lib/_fsnormalize.c: fixed bug 3474855
29089         * support/regression/tests/bug3474855.c: new, added
29091 2012-01-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29093         * src/z80/gen.c:
29094           Fix signed comparison on gbz80.
29095         * device/lib/_memmove.c:
29096           Fix comparison in pointer location for memmove().
29097         * src/z80/peeph-gbz80.def:
29098           Enable some jump peepholes for gbz80.
29100 2012-01-15 Philipp Klaus Krause <pkk AT spth.de>
29102         * src/z80/gen.c:
29103           Fix #3473876.
29104         * Changelog:
29105           Pretend to live in the year 2012 to not cause suspicion.
29106         * device/lib/_memmove.c:
29107           Simplified test deciding copy direction for memmove().
29108         * src/z80/peeph-gbz80.def:
29109           Use gbz80-specific load-and-increment/decrement instructions.
29110         * src/z80/mappings.i:
29111           Use more intuitive add sp, d syntax instead of lda sp, d(sp).
29113 2012-01-15 Borut Razem <borut.razem AT gmail.com>
29115         * sdas/asrab/Makefile.in: fixed linking with -lm math library
29116         * src/SDCCnaddr.cc: removed unicode BOM
29117         * device/lib/pic14/configure.in, device/lib/pic14/configure,
29118           device/lib/pic14/aclocal.m4: fixed transfer of gcc CFLAGS to
29119           sdcc while generating dependencies
29121 2012-01-14 Philipp Klaus Krause <pkk AT spth.de>
29123         * src/z80/gen.c:
29124           Fixed bug #3473863 in increment of pointers, fixed similar bug in equality comparison.
29125         * support/regression/tests/memory.c:
29126           Enable a memchr() test.
29127         * support/regression/tests/bug2729218.c:
29128           Move struct out of ROM for gbz80.
29130 2012-01-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29132         * src/z80/main.c:
29133           Remove unnecessary value calculation in _hasNativeMulFor().
29135 2012-01-14 Maarten Brock <sourceforge.brock AT dse.nl>
29137         * .version,
29138         * doc/sdccman.lyx: bumped version to 3.1.2
29139         * src/SDCCicode.c (checkTypes): fixed bug 2942343
29140         * src/SDCCnaddr.cc: svn properties
29141         * src/SDCCnaddr.hpp: removed some typename keywords for MSVC,
29142           fixed warning
29143         * src/src.vcxproj: added SDCCnaddr.*, added boost include path
29144         * src/z80/z80.vcxproj: upgraded boost include path
29145         * support/regression/tests/bug2942343.c: new, added
29147 2012-01-11 Borut Razem <borut.razem AT gmail.com>
29149         * src/SDCC.lex: removed #line rule handled by preprocessor
29151 2012-01-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29153         * src/SDCCglobl.h,
29154           src/z80/z80.h,
29155           src/z80/main.c,
29156           src/z80/ralloc2.cc,
29157           src/SDCCnaddr.hpp,
29158           src/SDCCmain.c,
29159           src/SDCCnaddr.cc:
29160            Make optimal placement of bank-selection instructions configurable using
29161            --max-allocs-per-node and --dump-graphs options.
29163 2012-01-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29165         * src/SDCCnaddr.hpp,
29166           src/SDCCopt.c,
29167           src/SDCCopt.h:
29168           Optimal placement of bank-switching calls.
29170 2012-01-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29172         * src/SDCCicode.h,
29173           src/SDCCnaddr.cc,
29174           src/SDCCnaddr.hpp,
29175           src/SDCCopt.c,
29176           src/z80/ralloc2.cc,
29177           src/SDCCopt.h,
29178           src/Makefile.in:
29179           Preparations for optimal placement of bank-switching calls.
29181 2012-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29183         * src/SDCCicode.c: fixed bug 3466784
29185 2012-01-09 Leland Morrison <enigmalee AT sourceforge.net>
29187         * sim/ucsim/z80.src/glob_lr35902.cc: disassemble for gb processor
29188         * sim/ucsim/z80.src/inst_lr35902.cc: instruction simulation for gb
29189         * sim/ucsim/z80.src/lr35902.cc,
29190         * sim/ucsim/z80.src/lr35902cl.h: definition of gb processor
29191         * sim/ucsim/z80.src/z80cl.h,
29192         * sim/ucsim/z80.src/z80.cc: added peek1 function to look at next opcode
29193         * sim/ucsim/z80.src/glob.cc: fixes to disassembly for "ld e,<byte>",
29194           "inc (hl)", and "dec (hl)" for z80 processor
29195         * sim/ucsim/z80.src/glob.h: added declaration for gb disassembly table
29196         * sim/ucsim/z80.src/inst_r2k.h: fix to sign extension for add sp,d
29197         * sim/ucsim/z80.src/simz80.cc: added -tlr35902 option for gameboy
29198         * support/regression/Makefile.in,
29199         * support/regression/ports/ucgbz80/*: added option to run regression
29200           tests for the gb processor using ucsim
29202 2012-01-08 Maarten Brock <sourceforge.brock AT dse.nl>
29204         * src/SDCC.lex: included io.h for read() declaration with MSVC,
29205           fixed linenr bug
29206         * src/SDCCerr.c: made W_LIT_OVERFLOW pedantic
29207         * src/SDCCglue.c (printIvalType, printIvalBitFields),
29208         * src/SDCCicode.c checkTypes): removed lessPedantic check
29209         * src/SDCCicode.c (geniCodeCast): fixed bug 3470368
29211 2012-01-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29213         * src/z80/gen.c:
29214           Fixed width of lower part of large literals.
29216 2012-01-06 Borut Razem <borut.razem AT gmail.com>
29218         * sdas/linksrc/Makefile.in: removed LKLIB
29219         * device/non-free/lib/Makefile.in: removed SOURCES
29221 2012-01-04 Philipp Klaus Krause <pkk AT spth.de>
29223         * src/hc08/gen.c:
29224           More explicit stack size reporting for hc08.
29226 2012-01-04 Maarten Brock <sourceforge.brock AT dse.nl>
29228         * src/SDCCopt.c (killDeadCode): fixed bug 2862308
29229         * support/regression/tests/bug2862308.c: new, added
29231 2012-01-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29233         * src/z80/gen.c,
29234           support/regression/tests/gcc-torture-execute-string-opt-5.c:
29235           Fixed bug #3463342.
29237 2012-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
29239         * sdas/as6808/m08ext.c,
29240         * sdas/as6808/as_hc08.vcxproj,
29241         * sdas/as6808/as_hc08.vcxproj.filters,
29242         * sdas/as6808/Makefile.in: removed m08ext.c
29243         * sdas/as6808/m08adr.c,
29244         * sdas/as6808/m08mch.c,
29245         * sdas/as6808/m08pst.c,
29246         * sdas/as6808/m6808.h,
29247         * sdas/asxxsrc/asout.c: synced with ASxxxx v5 to fix bug 2894291
29249 2012-01-02 Borut Razem <borut.razem AT gmail.com>
29251         * sdcc/SDCC.lex: included unistd.h, needed by flex 2.5.4 on
29252           NetBSD 5.0.1 sparc64 for read() declaration
29253         * sdas/linksrc/lkar.h: '\n' replaced by '\012'
29255 2012-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
29257         * src/src.vcxproj: increased stack size 32M/64M so it never overflows
29258         * src/Makefile.in: added flex fast flag -f
29259         * src/SDCC.lex: removed preprocessor warning and error rules,
29260           removed EOL after #... rules
29262 2011-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
29264         * device/lib/clean.mk: added z180 and r2k
29265         * sim/ucsim/cmd.src/cmdlex.l: fixed unused yyunput warning
29266         * src/hc08/main.c: removed unused BSEG
29267         * src/SDCCglue.c (glue): suppress unused segments
29268         * src/SDCCmem.c (allocMap, initMem): skip when name==NULL,
29269           (allocGlobal): use x_abs for __at on z80, fixed bug 2040874
29270         * src/z80/main.c: removed ISEG, XSEG, BSEG, OVERLAY, added DABS (x_abs)
29271         * support/regression/fwk/include/testfwk.h,
29272         * support/regression/tests/absolute.c: z80 supports __at
29274 2011-12-29 Borut Razem <borut.razem AT gmail.com>
29276         * support/cpp/libcpp/lex.c:
29277           partialy synchronized with sdcpp 4.6.[12]: no mmx, sse, altivec
29278         * support/cpp/version.c: updated version to 4.6.2
29279         * support/cpp/configure.in, support/cpp/configure,
29280           support/cpp/config.in: WORDS endianness detection
29282 2011-12-27 Maarten Brock <sourceforge.brock AT dse.nl>
29284         * src/SDCC.lex,
29285         * src/SDCC.y: fixed bugs 1810965 and 2698805
29286         * src/SDCCsymt.c (checkSClass): removed old hack-o-matic
29287         * support/regression/tests/bug1810965.c: new, added
29289 2011-12-26 Philipp Klaus Krause <pkk AT spth.de>
29291         * src/SDCCralloc.hpp:
29292           Reduce stack space usage in recursion.
29294 2011-12-25 Maarten Brock <sourceforge.brock AT dse.nl>
29296         * device/lib/r2k/setjmp.s,
29297         * device/lib/z180/setjmp.s,
29298         * device/lib/z80/setjmp.s: optimized
29299         * device/lib/r2k/*,
29300         * device/lib/z180/*,
29301         * device/lib/z80/*: use native eol
29303 2011-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
29305         * device/include/setjmp.h: changed longjmp return type to void
29306         * device/lib/_setjmp.c: but use int for the implementation
29308 2011-12-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29310         * src/SDCCopt.c (replaceRegEqv): fixed bug 2938101
29312 2011-12-23 Philipp Klaus Krause <pkk AT spth.de>
29314         * src/SDCCerr.h,
29315           src/SDCCerr.c,
29316           src/SDCCicode.c:
29317           Warn about return statements in _Noreturn functions.
29318         * device/include/setjmp.h,
29319           device/lib/_setjmp.c:
29320           Make longjmp() a _Noreturn function, as required by the C11 standard.
29321         * src/SDCClabel.c,
29322           src/z80/gen.c:
29323           Do some basic optimizations for _Noreturn functions.
29325 2011-12-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29327         * src/SDCClabel.c (labelIfx): fixed bug 3463455
29328         * support/regression/tests/gcc-torture-execute-loop-12.c:
29329           reenable tests for hc08 and ds390
29330         * support/regression/compact-results.py: wider test name field
29332 2011-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
29334         * src/SDCCerr.c: changed E_NONRENT_ARGS description
29336 2011-12-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29338         * src/SDCCmain.c,
29339           src/SDCCglobl.h,
29340           src/SDCC.lex:
29341           Add option and pragma for ISO C11.
29342         * support/regression/tests/gcc-torture-execute-anon-1.c:
29343           Disable for compilers other than sdcc and use sdcc in C11 mode.
29344         * src/SDCCsymt.c,
29345           src/SDCCsymt.h,
29346           src/SDCC.y,
29347           src/SDCC.lex,
29348           device/include/stdnoreturn.h:
29349           Accept C11 keyword _Noreturn.
29350         * device/include/stdio.h:
29351           Do not declare gets() in C11 mode.
29353 2011-12-21 Maarten Brock <sourceforge.brock AT dse.nl>
29355         * sdas/as6808/Makefile.in,
29356         * sdas/as8051/Makefile.in,
29357         * sdas/asgb/Makefile.in,
29358         * sdas/asrab/Makefile.in,
29359         * sdas/asz80/Makefile.in: reverted as it fails to build without error
29361 2011-12-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29363         * support/regression/tests/gcc-torture-execute-pure-1.c,
29364           support/regression/tests/gcc-torture-execute-string-opt-17.c,
29365           support/regression/tests/gcc-torture-execute-pta-field-1.c,
29366           support/regression/tests/gcc-torture-execute-string-opt-18.c,
29367           support/regression/tests/gcc-torture-execute-struct-ini-1.c,
29368           support/regression/tests/gcc-torture-execute-pta-field-2.c,
29369           support/regression/tests/gcc-torture-execute-ptr-arith-1.c,
29370           support/regression/tests/gcc-torture-execute-unroll-1.c,
29371           support/regression/tests/gcc-torture-execute-struct-ini-2.c,
29372           support/regression/tests/gcc-torture-execute-struct-ini-3.c,
29373           support/regression/tests/gcc-torture-execute-string-opt-5.c,
29374           support/regression/tests/gcc-torture-execute-stdarg-3.c,
29375           support/regression/tests/gcc-torture-execute-shiftopt-1.c,
29376           support/regression/tests/gcc-torture-execute-struct-ini-4.c,
29377           support/regression/tests/gcc-torture-execute-stdarg-4.c,
29378           support/regression/tests/gcc-torture-execute-switch-1.c,
29379           support/regression/tests/gcc-torture-execute-scope-1.c,
29380           support/regression/tests/gcc-torture-execute-loop-10.c,
29381           support/regression/tests/gcc-torture-execute-loop-11.c,
29382           support/regression/tests/gcc-torture-execute-loop-12.c,
29383           support/regression/tests/gcc-torture-execute-loop-13.c,
29384           support/regression/tests/gcc-torture-execute-loop-14.c,
29385           support/regression/tests/gcc-torture-execute-loop-15.c,
29386           support/regression/tests/gcc-torture-execute-loop-1.c,
29387           support/regression/tests/gcc-torture-execute-loop-2.c,
29388           support/regression/tests/gcc-torture-execute-loop-2c.c,
29389           support/regression/tests/gcc-torture-execute-loop-2d.c,
29390           support/regression/tests/gcc-torture-execute-loop-3b.c,
29391           support/regression/tests/gcc-torture-execute-loop-3.c,
29392           support/regression/tests/gcc-torture-execute-loop-3c.c,
29393           support/regression/tests/gcc-torture-execute-loop-5.c,
29394           support/regression/tests/gcc-torture-execute-loop-6.c,
29395           support/regression/tests/gcc-torture-execute-loop-7.c,
29396           support/regression/tests/gcc-torture-execute-loop-8.c,
29397           support/regression/tests/gcc-torture-execute-loop-9.c,
29398           support/regression/tests/gcc-torture-execute-func-ptr-1.c,
29399           support/regression/tests/gcc-torture-execute-const-addr-expr-1.c,
29400           support/regression/tests/gcc-torture-execute-divmod-1.c,
29401           support/regression/tests/gcc-torture-execute-divcmp-4.c,
29402           support/regression/tests/gcc-torture-execute-divconst-1.c,
29403           support/regression/tests/gcc-torture-execute-compare-1.c,
29404           support/regression/tests/gcc-torture-execute-divconst-2.c,
29405           support/regression/tests/gcc-torture-execute-compare-2.c,
29406           support/regression/tests/gcc-torture-execute-compare-3.c,
29407           support/regression/tests/gcc-torture-execute-loop-12.c,
29408           support/regression/tests/gcc-torture-execute-doloop-1.c,
29409           support/regression/tests/gcc-torture-execute-doloop-2.c,
29410           support/regression/tests/gcc-torture-execute-enum-2.c,
29411           support/regression/tests/gcc-torture-execute-ifcvt-onecmpl-abs-1.c,
29412           support/regression/tests/gcc-torture-execute-divcmp-1.c,
29413           support/regression/tests/gcc-torture-execute-enum-3.c,
29414           support/regression/tests/gcc-torture-execute-cmpsf-1.c,
29415           support/regression/tests/gcc-torture-execute-mod-1.c,
29416           support/regression/tests/gcc-torture-execute-divcmp-2.c,
29417           support/regression/tests/gcc-torture-execute-int-compare.c,
29418           support/regression/tests/gcc-torture-execute-divcmp-3.c,
29419           support/regression/tests/gcc-torture-execute-anon-1.c,
29420           support/regression/tests/gcc-torture-execute-arith-1.c,
29421           support/regression/tests/gcc-torture-execute-postmod-1.c,
29422           support/regression/tests/gcc-torture-execute-bitfld-1.c,
29423           support/regression/tests/gcc-torture-execute-pending-4.c:
29424           Added some tests from the execute part of the gcc torture regression test suite.
29426 2011-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
29428         * sdas/as6808/Makefile.in,
29429         * sdas/as8051/Makefile.in,
29430         * sdas/asgb/Makefile.in,
29431         * sdas/asrab/Makefile.in,
29432         * sdas/asz80/Makefile.in: added dependencies
29434 2011-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
29436         * sdas/asz80/z80pst.c: forgot this one, probably sdas dependencies are
29437           insufficient too
29439 2011-12-18 Maarten Brock <sourceforge.brock AT dse.nl>
29441         * debugger/mcs51/sdcdb.c (escapeQuotes): fixed warning
29442         * sdas/asrab/rabbitmch.c: fixed bug 3461821 by calling outrb with 0
29443         * sdas/as6808/m08pst.c,
29444         * sdas/as8051/i51adr.c,
29445         * sdas/as8051/i51mch.c,
29446         * sdas/as8051/i51pst.c,
29447         * sdas/as8051/i8051.h,
29448         * sdas/asgb/gbpst.c,
29449         * sdas/asxxsrc/asdata.c,
29450         * sdas/asxxsrc/asexpr.c,
29451         * sdas/asxxsrc/aslex.c,
29452         * sdas/asxxsrc/aslist.c,
29453         * sdas/asxxsrc/asmain.c,
29454         * sdas/asxxsrc/asout.c,
29455         * sdas/asxxsrc/assym.c,
29456         * sdas/asxxsrc/asxxxx.h,
29457         * sdas/asz80/z80mch.c,
29458         * sdas/linksrc/aslink.h,
29459         * sdas/linksrc/lkarea.c,
29460         * sdas/linksrc/lkhead.c,
29461         * sdas/linksrc/lklex.c,
29462         * sdas/linksrc/lklist.c,
29463         * sdas/linksrc/sdld.c,
29464         * sdas/linksrc/sdld.h: another step towards ASxxxx v5
29465         * sdas/asrab/rabbit.h,
29466         * sdas/asrab/rabbitadr.c,
29467         * sdas/asrab/rabbitext.c,
29468         * sdas/asrab/rabbitpst.c: native line endings, no TABs
29469         * src/ds390/main.c,
29470         * src/mcs51/main.c,
29471         * src/z80/main.c: asxxx -z flag is now case INsensitive
29472         * src/hc08/main.c: fixed bug 1666106 by adding (PAG) to DSEG and OSEG
29473         * src/SDCCglobl.h: fixed -E comment
29474         * src/SDCCicode.c (geniCodeAdd),
29475         * src/SDCCsymt.c (compStructSize): added error for unknown struct size
29476         * src/SDCClabel.c: no TABs
29478 2011-12-17 Maarten Brock <sourceforge.brock AT dse.nl>
29480         * device/include/mcs51/cc2530.h: new, added, thanks Zafi Ramarosandratana
29482 2011-12-08 Maarten Brock <sourceforge.brock AT dse.nl>
29484         * device/lib/_atof.c,
29485         * device/lib/_divuint.c,
29486         * device/lib/_divulong.c,
29487         * device/lib/_fsadd.c,
29488         * device/lib/acosf.c,
29489         * device/lib/asincosf.c,
29490         * device/lib/asinf.c,
29491         * device/lib/cosf.c,
29492         * device/lib/cotf.c,
29493         * device/lib/expf.c,
29494         * device/lib/printf_large.c,
29495         * device/lib/sincosf.c,
29496         * device/lib/sincoshf.c,
29497         * device/lib/sinf.c,
29498         * device/lib/tancotf.c,
29499         * device/lib/tanf.c,
29500         * support/regression/tests/bug1337835.c,
29501         * support/regression/tests/bug2719592.c,
29502         * support/regression/tests/bug2805333.c,
29503         * support/regression/tests/bug3223041.c,
29504         * support/regression/tests/bug3290691.c,
29505         * support/regression/tests/funptrs.c: changed BOOL to bool
29507 2011-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
29509         * device/include/stdbool.h: removed BOOL
29510         * src/SDCCast.c (decorateType, addess of),
29511         * src/SDCCsymt.c (checkSClass): fixed bug 2934292
29512         * support/regression/tests/bool.c: enabled function pointer tests
29514 2011-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
29516         * sdas/linksrc/aslink.h,
29517         * sdas/linksrc/lkarea.c,
29518         * sdas/linksrc/lkbank.c,
29519         * sdas/linksrc/lkdata.c,
29520         * sdas/linksrc/lklex.c,
29521         * sdas/linksrc/lklist.c,
29522         * sdas/linksrc/lkmain.c,
29523         * sdas/linksrc/lknoice.c,
29524         * sdas/linksrc/lkout.c,
29525         * sdas/linksrc/lkrloc.c,
29526         * sdas/linksrc/lkrloc3.c,
29527         * sdas/linksrc/lks19.c,
29528         * sdas/linksrc/lksym.c,
29529         * sdas/linksrc/Makefile.in: and another step towards ASxxxx v5
29531 2011-12-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29533         * src/z80/ralloc.c:
29534           Fixed bug #3441816.
29536 2011-12-04 Maarten Brock <sourceforge.brock AT dse.nl>
29538         * sdas/linksrc/aslink.h,
29539         * sdas/linksrc/aslink.vcxproj,
29540         * sdas/linksrc/aslink.vcxproj.filters,
29541         * sdas/linksrc/lkar.c,
29542         * sdas/linksrc/lkarea.c,
29543         * sdas/linksrc/lkbank.c,
29544         * sdas/linksrc/lkdata.c,
29545         * sdas/linksrc/lkhead.c,
29546         * sdas/linksrc/lklex.c,
29547         * sdas/linksrc/lklibr.c,
29548         * sdas/linksrc/lklist.c,
29549         * sdas/linksrc/lkmain.c,
29550         * sdas/linksrc/lkmem.c,
29551         * sdas/linksrc/lknoice.c,
29552         * sdas/linksrc/lkout.c,
29553         * sdas/linksrc/lkrloc.c,
29554         * sdas/linksrc/lkrloc3.c,
29555         * sdas/linksrc/lks19.c,
29556         * sdas/linksrc/lksdcclib.c,
29557         * sdas/linksrc/lksdcdb.c,
29558         * sdas/linksrc/lksym.c,
29559         * sdas/linksrc/Makefile.in: next step towards ASxxxx v5
29560         * src/SDCCmem.c (allocIntoSeg): MSVC 2010 still needs all declarations at
29561           the start of a block in C mode
29562         * src/z80/gen.c (genPointerSet): fixed warning
29563         * src/SDCCast.c (processParms): removed incorrect function pointer check
29564         * support/regression/tests/bug3440327.c: reenabled test for mcs51
29566 2011-12-03 Philipp Klaus Krause <pkk AT spth.de>
29568         * support/regression/tests/bug3444293.c
29569           Fix warning in regression test.
29571 2011-12-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29573         * src/SDCCcse.c,
29574           src/SDCCicode.h:
29575           Rename IS_ASSOCIATIVE to IS_COMMUTATIVE.
29577 2011-12-01 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           Minor improvements in pointer handling for the z80 backends.
29584 2011-12-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29586         * src/SDCClabel.c:
29587           Disable hidden jump-to-jump optimization for mcs51, since it breaks large and huge.
29589 2011-11-30 Philipp Klaus Krause <pkk AT spth.de>
29591         * support/regression/tests/bug3440327.c:
29592           Disable bug 3440327 test on mcs51.
29594 2011-11-30 Philipp Klaus Krause <pkk AT spth.de>
29596         * src/SDCCsymt.c:
29597           Cleanup leftover warning.
29599 2011-11-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29601         * src/z80/ralloc2.cc,
29602           src/z80/gen.c,
29603           src/z80/peeph-z80.def:
29604           Some small improvements to the generated code.
29606 2011-11-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29608         * src/z80/ralloc2.cc,
29609           support/regression/tests/bug3444293.c:
29610           Fixed bug #3444293.
29612 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29614         * support/regression/tests/bug3440327.c:
29615           Regression test for bug #3440327.
29617 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29619         * src/SDCClabel.c:
29620           Optimize hidden jump-to-jump.
29622 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29624         * src/z80/gen.c:
29625           Replaced some uses of isLastUse() by the safer isPairDead().
29627 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29629         * Merged the addrspacequal branch (named address spaces).
29631 2011-11-28 Borut Razem <borut.razem AT gmail.com>
29633         * sim/ucsim/libltdl: direcrory removed since it is not used
29634         * support/scripts/gen_known_bugs.pl: warious fixes
29635         * src/pic16/ralloc.c, sim/ucsim/pobj.cc, sim/ucsim/utils.cc,
29636           sdas/linksrc/lkmain.c:
29637           fixed bug #3444387: Minor spelling fix in binary files;
29638           thanks to Gudjon I. Gudjonsson for the patch
29640 2011-11-27 Borut Razem <borut.razem AT gmail.com>
29642         * Small Device C Compiler 3.1.0 released
29643         * .version, doc/sdccman.lyx: changed sdcc version to 3.1.1
29644         * support/scripts/gen_known_bugs.pl: adopted to the new SF bug tracker
29646 2011-11-21 Philipp Klaus Krause <pkk AT spth.de>
29648         * src/z80/gen.c:
29649           Fixed bug #3440327.
29651 2011-11-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29653         * src/SDCCsymt.h,
29654           src/SDCCsymt.c,
29655           src/SDCCast.c,
29656           src/SDCCopt.c:
29657           Error message for implicit casts between named address spaces, fix live-range analysis (regression tests passing now).
29659 2011-11-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29661         * src/SDCCsymt.c,
29662           src/SDCCerr.h,
29663           src/SDCCerr.c:
29664           Error message for attemting to use named address spacces for auto variables.
29666 2011-11-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29668         * src/SDCCopt.c:
29669           Fix broken control and data flow handling (regression tests passing now, exept for bug-895992.c).
29671 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29673         * src/SDCCopt.c:
29674           Improve handling of variables in named address space passed as parameters.
29676 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29678         * src/SDCCopt.c:
29679           Avoid emitting some unecessary bank switching calls.
29681 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29683         * src/SDCCast.c:
29684           Keep global named address spaces alive over functions.
29686 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29688         * src/SDCCicode.c,
29689           src/SDCCopt.c:
29690           Debug message cleanup, reenable address space splitting.
29692 2011-11-14 Raphael Neider <rneider AT web.de>
29694         * device/include/pic14/pic14devices.txt,
29695         * device/non-free/include/pic14/pic16f145[589].h,
29696         * device/non-free/include/pic14/pic16f178[23].h,
29697         * device/non-free/lib/pic14/libdev/Makefile.in,
29698         * device/non-free/lib/pic14/libdev/devices.txt,
29699         * device/non-free/lib/pic14/libdev/pic16f145[589].c,
29700         * device/non-free/lib/pic14/libdev/pic16f178[23].c:
29701           add support for 16f145[589] and 16f178[23] devices
29703         * device/non-free/include/pic14/pic12f683.h,
29704         * device/non-free/lib/pic14/libdev/pic12f683.c:
29705           updated from new sources
29707         * doc/sdccman.lyx:
29708           update device list, clarify use of NO_LEGACY_NAMES
29710 2011-11-13 Maarten Brock <sourceforge.brock AT dse.nl>
29712         * doc/sdccman.lyx: added the boost dependency,
29713           --peep-return, --no-peep-return, --fomit-frame-pointer,
29714           the use of .omf extension,
29715           single mnemonic per assembly line,
29716           available peephole functions
29718 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29720         * src/SDCCcse.c,
29721           src/SDCCicode.c,
29722           src/SDCCopt.c:
29723           Basic support for pointers into named address spaces.
29725 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29727         * src/SDCCicode.c,
29728           src/SDCCsymt.c,
29729           src/SDCCsymt.h,
29730           src/SDCC.y,
29731           src/SDCCopt.c,
29732           src/SDCCast.c:
29733           Debug messages related to pointers to named address spaces.
29735 2011-11-12 Borut Razem <borut.razem AT gmail.com>
29737         * added XXX_bits deprecation note in chapter
29738           1.4 Compatibility with previous versions
29740 2011-11-11 Raphael Neider <rneider AT web.de>
29742         * device/non-free/lib/pic14/libdev/mkall.sh:
29743           simplify device library update process further
29745         * support/scripts/inc2h.pl:
29746           avoid generating duplicate bit defines;
29747           rename XXX_bits to XXXbits to be compatible with PIC16 and HiTech,
29748           but retain XXX_bits symbols for compatibility (to prevent legacy
29749           names from being visible, #define NO_LEGACY_NAMES before
29750           #include'ing device headers
29752         * device/include/pic14/pic14devices.txt,
29753         * device/non-free/lib/pic14/libdev/devices.txt:
29754           updated device names: 16{f => lf}190x, 1{2 => 6}f1847,
29755           no devices exist with the original names
29757         * device/non-free/include/pic14/pic12f1840.h,
29758         * device/non-free/include/pic14/pic16f1507.h,
29759         * device/non-free/include/pic14/pic16f182[34589].h,
29760         * device/non-free/include/pic14/pic16f1847.h,
29761         * device/non-free/include/pic14/pic16f193[89].h,
29762         * device/non-free/include/pic14/pic16lf190[23467].h,
29763         * device/non-free/lib/pic14/libdev/Makefile.in,
29764         * device/non-free/lib/pic14/libdev/pic12f1840.c,
29765         * device/non-free/lib/pic14/libdev/pic16f1507.c,
29766         * device/non-free/lib/pic14/libdev/pic16f182[34589].c,
29767         * device/non-free/lib/pic14/libdev/pic16f1847.c,
29768         * device/non-free/lib/pic14/libdev/pic16f193[89].c,
29769         * device/non-free/lib/pic14/libdev/pic16lf190[23467].c:
29770           add device libraries for more enhanced core devices,
29771           no legacy names (XXX_bits) here!
29773         * device/non-free/include/pic14/pic*.h,
29774         * device/non-free/lib/pic14/libdev/pic*.c:
29775           regenerated from new sources using the new inc2h.pl
29777         * doc/sdccman.lyx: updated list of supported devices,
29778           documented change of naming schemes and the use of
29779           #define NO_BIT_DEFINES and #define NO_LEGACY_NAMES
29781 2011-11-11 Borut Razem <borut.razem AT gmail.com>
29783         * src/SDCCsystem.c: removed wine bug workaround:
29784           wine bug #25062 was fixed in wine 1.3.
29786 2011-11-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29788         * src/SDCCmem.h,
29789           src/SDCCmem.c,
29790           src/SDCCglue.c:
29791           Use named address space as segment name for the linker.
29793 2011-11-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29795         * src/SDCCsymt.h,
29796           src/SDCCsymt.c,
29797           src/SDCC.y,
29798           src/SDCCopt.c:
29799           Basic compiler-side named address space support.
29801 2011-11-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29803         * src/SDCCsymt.h,
29804           src/SDCC.y,
29805           src/SDCCopt.c,
29806           src/SDCCicode.c
29807           src/z80/ralloc.c:
29808           Preparations for named address space support.
29810 2011-11-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29812         * src/SDCCsymt.c,
29813           src/SDCCsymt.h,
29814           src/SDCC.y,
29815           src/SDCC.lex,
29816           src/SDCCast.c:
29817           Preparations for named address space support.
29819 2011-11-05 Borut Razem <borut.razem AT gmail.com>
29821         * src/port.mk: fixed bug #3401455: Missing dependency
29822         * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
29823           changed sdcc version to 3.1.0
29824         * doc/README.txt, support/scripts/sdcc.nsi: updated, small textual fix
29826 2011-11-05 Maarten Brock <sourceforge.brock AT dse.nl>
29828         * device/include/mcs51/cc2430.h: applied patch 3114002, thanks to
29829           George Oikonomou
29831 2011-11-05 Raphael Neider <rneider AT web.de>
29833         * device/include/pic14/pic14devices.txt: add descriptions for a number
29834           of devices with enhanced cores; support for most of them remains
29835           incomplete due to lacking support by gputils
29836         * device/non-free/include/pic14/pic16f1826.h,
29837         * device/non-free/include/pic14/pic16f1827.h,
29838         * device/non-free/include/pic14/pic16f1933.h,
29839         * device/non-free/lib/pic14/libdev/Makefile.in,
29840         * device/non-free/lib/pic14/libdev/devices.txt,
29841         * device/non-free/lib/pic14/libdev/pic16f1826.c,
29842         * device/non-free/lib/pic14/libdev/pic16f1827.c,
29843         * device/non-free/lib/pic14/libdev/pic16f1933.c: add support for some
29844           of the newly described devices; 16f1826/7 libraries are disabled in
29845           the Makefile due to lacking support from gputils
29846         * doc/sdccman.lyx: fix list of supported devices
29848 2011-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29850         * src/mcs51/ralloc.c (isFree),
29851         * src/ds390/ralloc.c (isFree): fixed bug #3400845
29852         * src/SDCCast.c (decorateTree),
29853         * src/mcs51/gen.c (assignResultValue): fixed bug #3419769
29854         * sdas/linksrc/lkmain.c (main): fixed bug #3362385
29855         * src/ds390/ralloc.c (packRegisters): fixed bug #3432159
29856         * support/regression/tests/condopptr.c: enable for all targets
29858 2011-11-03 Borut Razem <borut.razem AT gmail.com>
29860         * support/scripts/sdcc.nsi: updated to support pic14 enhanced devices
29862 2011-11-02 Raphael Neider <rneider AT web.de>
29864         * device/include/pic14/pic14devices.txt: prevent SDCC from assuming
29865           a single data bank by specifying more memmap records (per device)
29867 2011-11-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29869         * src/SDCCast.c (decorateType): allow array/integral type
29870           combination in conditional operator (will promote to pointer)
29871         * support/regression/tests/condopptr.c: new regression
29872           test to check pointer operand cases in conditional operator
29874 2011-11-01 Raphael Neider <rneider AT web.de>
29876         * src/pic14/gen.c (inc_fsr): new code to handle FSR{,0} increments,
29877           (emitPtrByteGet,emitPtrByteSet): fix pointer derefence,
29878           (genNearPointerGet,genNearPointerSet): fixed for enhanced cores,
29879           really closes #3431024
29880         * src/pic14/pcode.c (pCodeInitRegisters):
29881           declare all "core registers" to reside in all banks to avoid
29882           unnecessary BANKSELs
29883         * doc/sdccman.lyx: document definition of config words and the use
29884           of libsdcce.lib and libme.lib for enhanced pic14 devices
29886 2011-11-01 Raphael Neider <rneider AT web.de>
29888         * src/pic14/main.c (_pic14_do_link):
29889           link with libsdcce.lib for enhanced devices
29891         * device/lib/Makefile.in:
29892           find, copy, and rename enhanced core libraries as well
29894         * device/lib/pic14/NEWS:
29895           document structural changes and support for enhanced cores
29897         * device/lib/pic14/Makefile.am,
29898         * device/lib/pic14/Makefile.common,
29899         * device/lib/pic14/Makefile.common.in (removed),
29900         * device/lib/pic14/Makefile.rules (removed),
29901         * device/lib/pic14/Makefile.subdir (removed),
29902         * device/lib/pic14/configure.in:
29903           switch pic14 library to Autotools-based build system,
29904           support --enable-new-pics
29906         * device/lib/pic14/libm/Makefile.am,
29907         * device/lib/pic14/libsdcc/Makefile.in (removed),
29908         * device/lib/pic14/libsdcc/enhanced/Makefile.am,
29909         * device/lib/pic14/libsdcc/regular/Makefile.am:
29910           build separate libm and libsdcc for regular and enhanced cores
29912         * device/lib/pic14/libsdcc/{ => regular/,enhanced/}_gptrget{1,2,3,4}.S,
29913         * device/lib/pic14/libsdcc/{ => regular/,enhanced/}_gptrput{1,2,3,4}.S,
29914         * device/lib/pic14/libsdcc/{ => regular/,enhanced/}macros.inc:
29915           separated implementation of generic pointer routines and
29916           reimplemented for enhanced devices
29918         * device/lib/pic14/libsdcc/{ => regular/}shadowregs.c:
29919           moved to be included only in the non-enhanced devices' libsdcc.lib
29921         * device/{ => non-free/}lib/pic14/libdev/devices.txt,
29922         * device/{ => non-free/}lib/pic14/libdev/pic14ports.txt:
29923           make libdev/ more self-contained
29925         * device/non-free/lib/pic14/libdev/mkall.sh:
29926           interactively update device library files (.c and .h)
29928         * device/non-free/include/pic14/pic12f635.h,
29929         * device/non-free/include/pic14/pic16f616.h,
29930         * device/non-free/include/pic14/pic16f688.h,
29931         * device/non-free/include/pic14/pic16f785.h,
29932         * device/non-free/include/pic14/pic16f913.h,
29933         * device/non-free/include/pic14/pic16f914.h,
29934         * device/non-free/include/pic14/pic16f916.h,
29935         * device/non-free/include/pic14/pic16f917.h,
29936         * device/non-free/include/pic14/pic16hv616.h,
29937         * device/non-free/lib/pic14/libdev/pic12f1822.c,
29938         * device/non-free/lib/pic14/libdev/pic16f616.c,
29939         * device/non-free/lib/pic14/libdev/pic16f688.c,
29940         * device/non-free/lib/pic14/libdev/pic16f785.c,
29941         * device/non-free/lib/pic14/libdev/pic16f886.c,
29942         * device/non-free/lib/pic14/libdev/pic16f887.c,
29943         * device/non-free/lib/pic14/libdev/pic16f913.c,
29944         * device/non-free/lib/pic14/libdev/pic16f914.c,
29945         * device/non-free/lib/pic14/libdev/pic16f916.c,
29946         * device/non-free/lib/pic14/libdev/pic16f917.c,
29947         * device/non-free/lib/pic14/libdev/pic16hv616.c:
29948           updated from recent gputils' headers
29950         * device/non-free/include/pic14/pic16f193{4,6,7}.h,
29951         * device/non-free/lib/pic14/libdev/Makefile.in,
29952         * device/non-free/lib/pic14/libdev/devices.txt,
29953         * device/non-free/lib/pic14/libdev/pic16f193{4,6,7}.c:
29954           add support for 16f1934/16f1936/16f1937 devices
29956         * device/lib/pic14/Makefile.in,
29957         * device/lib/pic14/aclocal.m4,
29958         * device/lib/pic14/config.h.in,
29959         * device/lib/pic14/configure,
29960         * device/lib/pic14/depcomp,
29961         * device/lib/pic14/install-sh,
29962         * device/lib/pic14/libm/Makefile.in,
29963         * device/lib/pic14/libsdcc/enhanced/Makefile.in,
29964         * device/lib/pic14/libsdcc/regular/Makefile.in,
29965         * device/lib/pic14/missing,
29966         * device/lib/pic16/configure,
29967         * device/non-free/lib/pic14/configure,
29968         * device/non-free/lib/pic16/configure:
29969           automatically (re)generated files
29971 2011-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29973         * src/SDCCsymt.c (computeType): fixed bug #3431210
29975 2011-10-31 Raphael Neider <rneider AT web.de>
29977         * src/pic14/device.c (init_pic): reformatted,
29978           fixup enhanced cores' name for INDF
29979         * src/pic14/pcode.c, src/pic14/pcode.h, src/pic14/ralloc.h:
29980           provide indirect memory access registers for enhanced cores
29981         * src/pic14/gen.c (setup_fsr):
29982           setup FSR0L and FSR0H on enhanced cores,
29983           fix access to INDF vs. INDF0, closes #3431024
29985 2011-10-30 Raphael Neider <rneider AT web.de>
29987         * src/pic14/device.c, src/pic14/device.h,
29988           device/include/pic14/pic14devices.txt:
29989           declare enhanced cores as such
29990         * src/pic14/gen.c:
29991           do not save/restore W, STATUS, BSR, FSRx, or PCLATH around
29992           interrupts on enhanced devices, as these registers will be
29993           saved automatically and FSR is not present on these devices
29995 2011-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29997         * src/SDCCast.c (processParams): fixed bug #3424385
29999 2011-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
30001         * sdas/linksrc/lkmain.c (main): fixed banking, bug 3420365
30002         * src/SDCCast.c: cosmetics
30004 2011-10-25 Borut Razem <borut.razem AT gmail.com>
30006         * configure.in, configure, Makefile.in, device/lib/z180/Makefile.in,
30007           device/lib/z180/Makefile, device/lib/z80/Makefile.in,
30008           device/lib/gbz80/Makefile.in, device/lib/ds390/Makefile.in,
30009           device/lib/Makefile.in, device/lib/ds400/Makefile.in,
30010           device/lib/ds400/ds400rom.c, device/lib/mcs51/Makefile.in,
30011           device/lib/r2k/Makefile.in, device/lib/hc08/Makefile.in,
30012           device/non-free/lib/Makefile.in, all.vcxproj,
30013           doc/sdccman.lyx, sdcc.sln, support/scripts/sdcc.nsi:
30014           asranlib renamed to sdranlib
30015         * sdas/asranlib/*: sdas/asranlib moved to support/sdranlib
30017 2011-10-23 Raphael Neider <rneider AT web.de>
30019         * device/include/pic14/pic14devices.txt:
30020           fix config word addresses for 12f1822/3, add 16f1934/6/7 family
30022 2011-10-21 Raphael Neider <rneider AT web.de>
30024         * src/pic14/device.c, src/pic14/device.h, src/pic14/ralloc.c:
30025           rewrite config word handling to support locations other than
30026           0x2007 and 0x2008 (16f1936 has config words at 0x8007, 0x8008)
30027         * device/include/pic14/pic14devices.txt:
30028           replace confsiz directive with list of config word addresses
30030 2011-10-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30032         * device/include/string.h,
30033           device/lib/_memcpy.c,
30034           device/lib/_memset.c:
30035           Reenable built-in memset() for z80, enable it and built-in memcpy() for z180 and r2k.
30037 2011-10-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30039         * Makefile.common.in:
30040           Handle OPT_DISABLE_GBZ80.
30042 2011-10-20 Philipp Klaus Krause <pkk AT spth.de>
30044         * device/include/string.h:
30045           Disable built-in memset until the library build problem is fixed.
30047 2011-10-19 Philipp Klaus Krause <pkk AT spth.de>
30049         * src/SDCCopt.c,
30050           src/z80/gen.c,
30051           src/z80/main.c,
30052           device/include/string.h,
30053           support/regression/tests/memory.c:
30054           Built-in memset() for z80, z180 and r2k.
30056 2011-10-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30058         * src/z80/gen.c:
30059           Use ld hl, n (sp) on the gbz80.
30060         * src/z80/ralloc2.cc:
30061           When in doubt, try to honour register keyword.
30063 2011-10-19 Borut Razem <borut.razem AT gmail.com>
30065         * Makefile.common.in: added OPT_DISABLE_Z180, OPT_DISABLE_R2K
30067 2011-10-18 Borut Razem <borut.razem AT gmail.com>
30069         * doc/sdccman.lyx: changed MS Visual C++ 6.0 to MS Visual C++ 2010,
30070           reverted to LyX version 1.6.7 format, as proposed by Robert Larice
30071         * support/cpp/sdcpp-opts.c: fixed bug #3388478:
30072           Preprocessor Error when Invoking sdcc with -E/-M/-MM and -o
30074 2011-10-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30076         * Makefile.in:
30077           Fixed bug #3424968.
30079 2011-10-17 Philipp Klaus Krause <pkk AT spth.de>
30081         * device/include/iso646.h,
30082           support/regression/tests/iso646.c:
30083           Added macros required by C99  (this header is now C99-compliant).
30084         * device/include/limits.h:
30085           Removed UCHAR_MIN, added macros for long long (this header is now C99-compliant).
30086         * device/include/stdint.h:
30087           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).
30088         * device/include/string.h:
30089           Renamed namespace-polluting _SIZE_T_DEFINED.
30090         * device/include/stddef.h:
30091           Renamed namespace-polluting _SIZE_T_DEFINED, added ptrdiff_t and wchar_t (this header is now C99-compliant).
30092         * device/include/stdio.h:
30093           Renamed namespace-polluting _SIZE_T_DEFINED.
30094         * device/include/stdarg.h,
30095           support/regression/tests/vaargs.c:
30096           Fixed va_end, added va_copy (this header is now C99-compliant).
30098 2011-10-16 Borut Razem <borut.razem AT gmail.com>
30100         * support/scripts/sdcc.nsi: added dedication to Dennis M. Ritchie
30101         * support/cpp/c-ppoutput.c:
30102           fixed bug #3408654: SDCC shows wrong line number in warning 94:
30103           disabled # LINE directive generation in __asm __endasm block
30105 2011-10-16 Raphael Neider <rneider AT web.de>
30107         * device/include/pic16/i2c.h,
30108         * device/lib/pic16/libio/i2c/i2cwritec.c:
30109           addressed issues from #3413443
30110         * device/include/pic16/adc.h,
30111         * device/lib/pic16/libio/adc/adcopen.c:
30112           addressed issues from #3409666
30114 2011-10-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30116         * support/regression/collate-results.py,
30117           support/regression/compact-results.py: fixed bug #3413437
30119 2011-10-15 Philipp Klaus Krause <pkk AT spth.de>
30121         * src/z80/gen.c,
30122           support/regression/tests/bug3424150.c:
30123           Fixed bug #3424150.
30125 2011-10-15 Philipp Klaus Krause <pkk AT spth.de>
30127         * doc/sdccman.lyx:
30128           Mentioned z180 and r2k ports and long long data type in manual.
30130 2011-10-14 Borut Razem <borut.razem AT gmail.com>
30132         * support/scripts/sdcc.nsi: remove include/asm/r2k directoriy
30133           during uninstallation
30134         * */*.dsw, */*.dsw: removed obsolete VS6 project files
30135         * support/Util: renamed to support/util
30137 2011-10-13 Borut Razem <borut.razem AT gmail.com>
30139         * .version, doc/sdccman.lyx: bumped version to 3.0.6
30140         * src/SDCCicode.c:
30141           disable -O2 optimization for i386 Linux and mingw platforms
30142           (solaris i386 is OK);
30143           see patch #3285611: Workaround gcc 4.6.0 bug with sdcc 3.0.0
30144         * src/SDCCval.c:
30145           Microsoft C compiler doesn't support hexadecimal floating-point
30146           literals
30148 2011-10-12 Borut Razem <borut.razem AT gmail.com>
30150         * device/include/Makefile.in:
30151           fixed detection if files with the given extension exist;
30152           specially treat z80 family: z180, r2k and gbz80 targets
30153         * support/scripts/sdcc.nsi: added Rabbit 2000 support
30154         * sdas/asrab/asrab.vcxproj, sdas/asrab/asrab.vcxproj.filters,
30155           sdcc.sln, src/src.vcxproj, src/src.vcxproj.filters,
30156           src/z80/z80.vcxproj, src/z80/z80.vcxproj.filters:
30157           added sdasrab assembler to the project
30158         * debugger/mcs51/simi.c: cygwin doesn't support O_ASYNC
30160 2011-10-11 Borut Razem <borut.razem AT gmail.com>
30162         * device/include/Makefile.in: install/copy only existing files
30163         * src/SDCCicode.c: disable -O2 optimization for all i386 platforms;
30164           see patch #3285611: Workaround gcc 4.6.0 bug with sdcc 3.0.0
30166 2011-10-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30168         * configure.in:
30169           Fixed bug #3413688.
30171 2011-10-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30173         * sdas/asrab/rabbit.h,
30174           sdas/asrab/rabbitadr.c,
30175           sdas/asrab/rabbitmch.c:
30176           Leland Morrison's fix for ld n (hl), hl and ld hl, n (hl).
30177         * src/z80/peeph-r2k.def:
30178           Enable peepholes using ld hl, n (hl).
30180 2011-10-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30182         * src/z80/main.c,
30183           src/z80/main.c,
30184           src/z80/z80.h:
30185           Fix code generation for handling of rematerialization by the new
30186           register allocator, enable it for the ports with exact cost function
30187           and remove the option.
30189 2011-10-10 Borut Razem <borut.razem AT gmail.com>
30191         * support/scripts/sdcc.nsi: removed include/z80 added include/z180
30193 2011-10-09 Raphael Neider <rneider AT web.de>
30195         * src/SDCCval.c (constVal): avoid compiler warning
30196         * src/pic16/gen.c (genPcall): do not clobber interrupt flags in
30197           INTCON during indirect function call, closes #3420588
30199 2011-10-09 Philipp Klaus Krause <pkk AT spth.de>
30201         * Merge the Rabbit2000 branch.
30203 2011-10-09 Philipp Klaus Krause <pkk AT spth.de>
30205         * device/include/z80/z180.h,
30206           device/include/z80/types.h,
30207           device/include/z80/README,
30208           device/include/z80/z180.h:
30209           Move z180 include file.
30211 2011-10-09 Philipp Klaus Krause <pkk AT spth.de>
30213         * src/SDCCmain.c:
30214           Cleanup z180 library handling.
30216 2011-10-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30218         * support/scripts/sdcc.nsi: add Z180 lib and include files to package
30220 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30222         * src/z80/gen.c,
30223           src/z80/peep.c:
30224           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).
30226 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30228         * src/z80/gen.c,
30229           src/z80/peep.c,
30230           src/z80/peeph-r2k.def,
30231           src/z80/peeph-z80.def:
30232           Preparations for use of r2k-specific ld hl, n (sp) and ld hl, n (ix).
30234 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30236         * src/z80/gen.c:
30237           Preparations for use of r2k-specific ld iy,hl.
30239 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30241         * src/z80/gen.c,
30242           src/z80/peeph-r2k.def,
30243           src/z80/peeph-z80.def:
30244           Allow use of r2k-specific ld hl, (hl) instruction.
30246 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30248         * src/z80/gen.c:
30249           Make better use of the r2k-specific add sp, d instruction.
30251 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30253         * src/z80/gen.c:
30254           More flexible use of r2k-specific and hl, de instruction.
30256 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30258         * src/z80/gen.c:
30259           Allow use of r2k-specific instructions in right shift.
30260         * sim/ucsim/z80.src/inst.cc:
30261           Fix flag handling in z80/z180/r2k rrca instruction.
30262         * sim/ucsim/z80.src/inst_r2k.cc:
30263           Fix handling of carry bit in r2k 16-bit rr and rl instructions.
30265 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30267         * src/z80/peeph-z80.def,
30268           src/z80/peeph-r2k.def:
30269           Minor peephole improvement.
30271 2011-10-04 Philipp Klaus Krause <pkk AT spth.de>
30273         * sim/ucsim/z80.src/inst_r2k.cc:
30274           Fix signed multiplication to use two's complement instead of sign-magnitude, 3rd attempt.
30276 2011-10-04 Philipp Klaus Krause <pkk AT spth.de>
30278         * sim/ucsim/z80.src/inst_r2k.cc:
30279           Fix signed multiplication to use two's complement instead of sign-magnitude, 2nd attempt.
30281 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30283         * sim/ucsim/z80.src/inst_r2k.cc,
30284           sim/ucsim/z80.src/r2k.cc,
30285           sim/ucsim/z80.src/z80cl.h,
30286           sim/ucsim/z80.src/inst_ed_r2k.cc,
30287           sim/ucsim/z80.src/inst_xd.cc,
30288           sim/ucsim/z80.src/r2kcl.h,
30289           sim/ucsim/z80.src/glob.cc:
30290           Leland Morrison's support for some more r2k-specific instructions.
30292 2011-10-04 Philipp Klaus Krause <pkk AT spth.de>
30294         * sim/ucsim/z80.src/inst_r2k.cc:
30295           Fix signed multiplication to use two's complement instead of sign-magnitude.
30297 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30299         * sim/ucsim/z80.src/r2k.cc,
30300           sim/ucsim/z80.src/r2kcl.h:
30301           Forgotten files from Leland Morrison's Rabbit 2000 ucsim port.
30303 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30305         * src/z80/gen.c,
30306           sim/ucsim/z80.src/inst_r2k.cc:
30307           Fixed multiplication using r2k mul instruction.
30309 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30311         * sdas/asrab/rabbitmch.c:
30312           Leland Morrison's support for ld iy, hl.
30314 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30316         * sim/ucsim/z80.src/inst_r2k.cc,
30317           sim/ucsim/z80.src/glob_r2k.cc,
30318           sim/ucsim/z80.src/inst_ed_r2k.cc:
30319           Forgotten files from Leland Morrison's Rabbit 2000 ucsim port, support for r2k mul and ld iy, hl instructions in ucsim.
30321 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30323         * src/z80/peep.c:
30324           Handle r2k mul instruction in code size calculation.
30326 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30328         * sim/ucsim/z80.src/Makefile.in,
30329           sim/ucsim/z80.src/z80cl.h,
30330           sim/ucsim/z80.src/regsz80.h,
30331           sim/ucsim/z80.src/sz80.cc,
30332           sim/ucsim/z80.src/z80mac.h,
30333           sim/ucsim/z80.src/inst_xd.cc,
30334           sim/ucsim/z80.src/z80.cc,
30335           sim/ucsim/z80.src/glob.cc,
30336           sim/ucsim/z80.src/inst_dd.cc,
30337           sim/ucsim/z80.src/glob.h,
30338           sim/ucsim/z80.src/inst_fd.cc,
30339           sim/ucsim/z80.src/simz80.cc,
30340           sim/ucsim/stypes.h,
30341           sim/ucsim/sim.src/uc.cc,
30342           sim/ucsim/globals.cc:
30343           Leland Morrison's Rabbit 2000 ucsim port.
30345 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30347         * src/z80/gen.c:
30348           Use add sp, #n in function entry in r2k port.
30350 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30352         * src/z80/gen.c:
30353           Use Rabbit-specific instructions in and, multiplication and assignment for r2k port.
30355 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30357         * src/z80/gen.c,
30358           src/z80/peep.c:
30359           Preparations for use of add sp, #n in function entry in r2k port.
30361 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30363         * support/regression/tests/bug1115321.c
30364           support/regression/Makefile.in
30365           support/regression/fwk/include/testfwk.h
30366           support/regression/ports/ucr2k
30367           Leland Morrison's Rabbit 2000 regression test port.
30369 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30371         * src/SDCCmain.c:
30372           Fix library path. r2k port works now.
30374 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30376         * device/include/stdint.h:
30377           Enable 64 bit integer types for r2k port.
30379 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30381         * device/include/asm/r2k,
30382           device/include/asm/r2k/features.h,
30383           device/lib/r2k/Makefile.in,
30384           Makefile.in,
30385           src/SDCCmain.c,
30386           src/z80/gen.c,
30387           src/z80/main.c,
30388           device/lib/Makefile.in,
30389           configure.in,
30390           device/lib/r2k/Makefile.in,
30391           device/lib/r2k/strlen.s:
30392           r2k library cleanup.
30394 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30396         * device/lib/r2k,
30397           device/include/sdcc-lib.h,
30398           device/include/math.h,
30399           device/include/stdarg.h:
30400           Leland Morrison's Rabbit 2000 library port.
30402 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30404         * configure.in:
30405           Add r2k port.
30406         * src/port.h,
30407           src/z80/gen.c
30408           src/z80/main.c
30409           src/z80/z80.h:
30410           Code cleanup.
30411         * src/z80/peep.c:
30412           Fix code size for ex (sp), hl in r2k port.
30414 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30416         * src/SDCCralloc.hpp,
30417           src/SDCCmain.c,
30418           src/SDCCglue.c,
30419           src/port.h,
30420           src/z80/peeph-r2k.def,
30421           src/z80/gen.c,
30422           src/z80/mappings.i,
30423           src/z80/main.c,
30424           src/z80/z80.h,
30425           src/z80/peep.c:
30426           Leland Morrison's Rabbit 2000 compiler port.
30428 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30430         * sdas/asrab,
30431           sdas/asrab/Makefile.in,
30432           sdas/asrab/rabbitext.c,
30433           sdas/asrab/clean.mk,
30434           sdas/asrab/rabbit.h,
30435           sdas/asrab/rabbitadr.c,
30436           sdas/asrab/rabbitpst.c,
30437           sdas/asrab/rabbitmch.c:
30438           Leland Morrison's assembler for Rabbit 2000 and Rabbit 4000.
30440 2011-10-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30442         * sim/ucsim/hc08.src/glob.cc: add HCS08 instructions to disassembler
30443         * src/SDCCval.c: fixed constant to avoid unintended long long literal
30445 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30447         * device/include/stdint.h:
30448           Added typedefs for 64-bit integer types.
30450 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30452         * src/SDCCerr.h,
30453           src/SDCCerr.c,
30454           src/SDCCval.c:
30455           Error for invalid integer suffix, as in 1ullul.
30457 2011-10-01 Raphael Neider <rneider AT web.de>
30459         * device/non-free/include/pic14/pic12f1822.h,
30460           device/non-free/lib/pic14/libdev/pic12f1822.c,
30461           device/include/pic14/pic14devices.txt,
30462           device/lib/pic14/libdev/devices.txt:
30463           Add support for 12f1822 devices, requires --enable-new-pics to be
30464           passed to configure, closes #3416092.
30466         * device/non-free/lib/pic14/libdev/Makefile.in,
30467           device/non-free/lib/pic14/configure.in:
30468           Add --enable-new-pics switch to build device libs for devices added
30469           to gputils only after the 0.13.7 release; by default, only libs for
30470           devices that are supported in gputils 0.13.7 are built to avoid build
30471           failures.
30473         * device/non-free/lib/pic14/configure:
30474           Regenerated.
30476 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30478         * src/SDCCopt.c:
30479           Slightly more informative error message when attempting to multiply, etc long long.
30481 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30483         * src/z80/gen.c:
30484           Reorganized pointer access functions, fixed the remaining warning in the z80 port.
30486 2011-10-01 Borut Razem <borut.razem AT gmail.com>
30488         * src/SDCCerr.c, src/SDCCerr.h, src/SDCC.lex:
30489           SDCCerr code cleanup
30491 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30493         * src/z80/gen.c:
30494           Reorganized pointer access functions, fixed the remaining warning in the z80 port.
30496 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30498         * src/SDCCsymt.c:
30499           Enable long long for gbz80 and z180 ports.
30500         * src/pic14/gen.c:
30501           Fixed use of pic16 functions in pic14 port.
30503 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30505         * src/src/izt/tlcs900h.c,
30506           src/izt/i186.c,
30507           src/z80/main.c:
30508           Added missing long long type size entries.
30510 2011-10-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30512         * src/ds390/main.c: added missing long long type size entries
30514 2011-10-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30516         * sim/ucsim/z80.src/sz80.cc: enable sz80 -H option
30517         * sim/ucsim/globals.cc,
30518         * sim/ucsim/globals.h,
30519         * sim/ucsim/stypes.h,
30520         * sim/ucsim/hc08.src/shc08.cc,
30521         * sim/ucsim/hc08.src/hc08.cc,
30522         * sim/ucsim/hc08.src/hc08cl.h,
30523         * sum/ucsim/hc08.src/inst.cc,
30524         * sum/ucsim/hc08.src/instcl.h,
30525         * sum/ucsim/hc08.src/hc08mac.h: Add support for HCS08 instructions
30527 2011-09-30 Philipp Klaus Krause <pkk AT spth.de>
30529         * src/xa51/main.c
30530           src/mcs51/main.c
30531           src/SDCCsymt.c
30532           src/SDCCsymt.h
30533           src/avr/main.c
30534           src/port.h
30535           src/pic14/main.c
30536           src/z80/gen.c
30537           src/z80/ralloc.c
30538           src/z80/main.c
30539           src/pic16/main.c
30540           src/SDCCglobl.h
30541           src/hc08/main.c
30542           src/ds390/main.c:
30543           Very basic (no multiplication/division/shift/return) support for long long for the Z80.
30545 2011-09-30 Philipp Klaus Krause <pkk AT spth.de>
30547         * src/SDCCerr.h,
30548           src/SDCCerr.c,
30549           src/SDCCsymt.c:
30550           Drop support for declarations like "long short short long short int x;".
30552 2011-09-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30554         * configure.in,
30555           configure: create device/lib/z180/Makefile during configuration
30557 2011-09-28 Philipp Klaus Krause <pkk AT spth.de>
30559         * src/z80/ralloc2.cc,
30560           src/z80/gen.c:
30561           Handle the trivial casts more like assignments, allow hl in operands for unary minus.
30563 2011-09-28 Philipp Klaus Krause <pkk AT spth.de>
30565         * ChangeLog:
30566           Reconstruct ChangeLog entries lost during the z180 branch merge.
30568 2011-09-25 Philipp Klaus Krause <pkk AT spth.de>
30570         * src/z80/main.c:
30571           Always use native multiplication for Z80 and Z180 when the result is 8 bits.
30573 2011-09-25 Philipp Klaus Krause <pkk AT spth.de>
30575         * src/z80/gen.c:
30576           Always use of Z180 mlt instruction for unsigned 8x8 multiplication,
30577           fixed bug in register-to-register cast.
30579 2011-09-24 Philipp Klaus Krause <pkk AT spth.de>
30581         * src/z80/peep.c:
30582           Handle Z180 mlt instruction in peephole optimizer.
30584 2011-09-24 Philipp Klaus Krause <pkk AT spth.de>
30586         * Merged z180 branch.
30588 2011-09-24 Maarten Brock <sourceforge.brock AT dse.nl>
30590         * device/lib/printf_large.c: accept int modifiers
30592 2011-09-24 Philipp Klaus Krause <pkk AT spth.de>
30594         * sim/ucsim/globals.cc,
30595           sim/ucsim/z80.src/inst_ed.cc:
30596           Report mlt instructions as invalid in simulator when running in Z80 mode.
30598 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30600         * src/SDCCglue.c,
30601           src/z80/gen.c,
30602           src/z80/main.c,
30603           sim/ucsim/z80.src/inst_ed.cc:
30604           Enable use of Z180 multiplication instructions.
30606 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30608         * support/regression/tests/bug1115321.c:
30609           Fix last remaining ucz180 regression test failure.
30611 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30613         * device/include/string.h,
30614           device/include/sdcc-lib.h,
30615           device/include/math.h,
30616           device/include/stdarg.h,
30617           device/lib/_malloc.c,
30618           device/lib/_realloc.c,
30619           device/lib/_free.c,
30620           device/lib/Makefile.in,
30621           sim/ucsim/z80.src/z80cl.h,
30622           sim/ucsim/z80.src/z80.cc,
30623           sim/ucsim/z80.src/simz80.cc,
30624           sim/ucsim/stypes.h,
30625           sim/ucsim/globals.cc,
30626           sim/ucsim/globals.h,
30627           sdas/linksrc/lkarea.c,
30628           sdas/linksrc/sdld.c,
30629           sdas/linksrc/sdld.h,
30630           sdas/linksrc/lkrloc.c,
30631           support/regression/Makefile.in,
30632           support/regression/fwk/include/testfwk.h,
30633           device/include/asm/z180,
30634           device/include/asm/z180/features.h,
30635           device/lib/z180,
30636           device/lib/z180/divunsigned.s,
30637           device/lib/z180/Makefile.in,
30638           device/lib/z180/crtcall.s,
30639           device/lib/z180/mulchar.s,
30640           device/lib/z180/README,
30641           device/lib/z180/mul.s,
30642           device/lib/z180/stubs.s,
30643           device/lib/z180/setjmp.s,
30644           device/lib/z180/abs.s,
30645           device/lib/z180/memmove.s,
30646           device/lib/z180/fstubs.s,
30647           device/lib/z180/modmixed.s,
30648           device/lib/z180/putchar.s,
30649           device/lib/z180/strlen.s,
30650           device/lib/z180/crt0.s,
30651           device/lib/z180/divmixed.s,
30652           device/lib/z180/modsigned.s,
30653           device/lib/z180/crt0_rle.s,
30654           device/lib/z180/Makefile,
30655           device/lib/z180/modunsigned.s,
30656           device/lib/z180/divsigned.s,
30657           device/lib/z180/heap.s,
30658           device/lib/z180/shift.s,
30659           support/regression/ports/ucz180,
30660           support/regression/ports/ucz180/spec.mk,
30661           support/regression/ports/ucz180/uCsim.cmd,
30662           support/regression/ports/ucz180/support.asm:
30663           Z180 port passes all regression tests except for one.
30665 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30667         * src/SDCCicode.c,
30668           support/regression/tests/bug2942247.c:
30669           Fixed bug #2942247.
30671 2011-09-22 Maarten Brock <sourceforge.brock AT dse.nl>
30673         * src/SDCC.y (abstract_declarator2): fixed bug 3190029
30674         * support/regression/tests/bug3190029.c: new, added
30676 2011-09-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30678         * src/pic16/gen.c,
30679           src/pic14/gen.c,
30680           device/include/stdbool.h,
30681           support/regression/bool.c,
30682           src/SDCCsymt.c,
30683           src/SDCCast.c:
30684           _Bool support for the pics.
30686 2011-09-19 Raphael Neider <rneider AT web.de>
30688         * device/lib/pic16/libio/adc/adcopen.c:
30689           suppress 'pcfg unused' compiler warning
30691         * device/lib/pic16/Makefile.common
30692           device/non-free/lib/pic16/Makefile.common:
30693           move -Ipath to AM_CPPFLAGS for use by depmod
30695         * device/lib/pic16/configure.ac,
30696           device/non-free/lib/pic16/configure.ac:
30697           add --enable-new-pics switch to build support libs for devices added
30698           to gputils only after the 0.13.7 release; by default, only libs for
30699           devices that are supported in gputils 0.13.7 are built to avoid build
30700           failures
30702         * device/lib/pic16/libio/Makefile.am,
30703           device/non-free/lib/pic16/libdev/Makefile.am:
30704           honor --enable-new-pics switch to include/exclude certain devices
30706         * doc/sdccman.lyx:
30707           document the new configure switch
30709         * device/lib/pic16/Makefile.in,
30710         * device/lib/pic16/aclocal.m4,
30711         * device/lib/pic16/configure,
30712         * device/lib/pic16/debug/Makefile.in,
30713         * device/lib/pic16/libc/Makefile.in,
30714         * device/lib/pic16/libio/Makefile.in,
30715         * device/lib/pic16/libm/Makefile.in,
30716         * device/lib/pic16/libsdcc/Makefile.in,
30717         * device/lib/pic16/startup/Makefile.in,
30718         * device/non-free/lib/pic16/Makefile.in,
30719         * device/non-free/lib/pic16/aclocal.m4,
30720         * device/non-free/lib/pic16/configure,
30721         * device/non-free/lib/pic16/libdev/Makefile.in:
30722           regenerated
30724 2011-09-18 Maarten Brock <sourceforge.brock AT dse.nl>
30726         * src/ds390/gen.c (genFunction),
30727         * src/mcs51/gen.c (genFunction): handle function pointers, fixed bug 3410620
30728         * src/SDCCsymt.c (compareFuncType): check regbank for non-isr,
30729           (dbuf_printTypeChain): print reentrancy, register bank & bankswitching
30730         * src/SDCCsymt.h: removed unused & buggy IFFUNC_RBANK
30731         * support/Util/dbuf.c (dbuf_set_length): auto-init dbuf
30732         * support/regression/tests/bug3410620.c: new, added
30734 2011-09-18 Philipp Klaus Krause <pkk AT spth.de>
30736         * src/SDCCralloc.hpp,
30737           support/regression/tests/bug3410878.c:
30738           Fixed bug #3410878.
30740 2011-09-18 Maarten Brock <sourceforge.brock AT dse.nl>
30742         * src/SDCCast.c (processParms): fixed bugs 3166064 and 3394118
30743         * support/regression/tests/bug3166064.c: new, added
30744         * .version,
30745         * doc/sdccman.lyx: bumped version to 3.0.5
30747 2011-09-15 Maarten Brock <sourceforge.brock AT dse.nl>
30749         * src/SDCCval.c (getNelements): fixed bug 3135551
30750         * support/regression/tests/bug3135551.c: new, added
30751         * src/ds390/gen.c (genInline),
30752         * src/hc08/gen.c (genInline),
30753         * src/mcs51/gen.c (genInline),
30754         * src/pic14/gen.c (genInline),
30755         * src/pic16/gen.c (genInline),
30756         * src/z80/gen.c (genInline),
30757         * support/cpp/c-ppoutput.c (scan_translation_unit),
30758         * support/cpp/libcpp/lex.c (cpp_output_line): replaced character by '\x87'
30760 2011-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
30762         * src/ds390/gen.c (genInline),
30763         * src/hc08/gen.c (genInline),
30764         * src/mcs51/gen.c (genInline),
30765         * src/pic14/gen.c (genInline),
30766         * src/pic16/gen.c (genInline),
30767         * src/z80/gen.c (genInline): convert (0x87) to newline
30768         * support/cpp/libcpp/include/cpplib.h: removed IN_ASM, added ENTER_ASM and
30769           EXIT_ASM
30770         * support/cpp/c-ppoutput.c (scan_translation_unit),
30771         * support/cpp/libcpp/lex.c (_cpp_process_line_notes, _cpp_lex_direct,
30772           cpp_output_token, cpp_output_line): fixed bugs 3407198 and 3407279 by
30773           inserting (0x87) for newlines
30774         * support/regression/tests/bug1505956.c: added tests
30776 2011-09-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30778         * src/z80/gen.c,
30779           support/regression/tests/bug3401973.c:
30780           Fixed bug #3401973.
30782 2011-09-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30784         * src/SDCCopt.c,
30785           support/regression/bug3407632.c:
30786           Fixed bug #3407632.
30788 2011-09-10 Maarten Brock <sourceforge.brock AT dse.nl>
30790         * sdas/linksrc/aslink.h: added pcb & rterr, modified lkglist
30791         * sdas/linksrc/lkarea.c (find_empty_space, allocate_space): changed warnings
30792         * sdas/linksrc/lkdata.c: added pcb & rterr
30793         * sdas/linksrc/lkeval.c (eval, expr, term): no signed arithmetic,
30794           (term): accept closing quotes
30795         * sdas/linksrc/lklist.c: sync with ASxxxx 5
30796         * sdas/linksrc/lkmain.c (link_main): reset a_bytes and hilo to defaults 2,0
30797           fixes bug 3305824
30798         * sdas/linksrc/lkrloc.c (relr): set default pcb
30800 2011-09-09 Borut Razem <borut.razem AT gmail.com>
30802         * support/cpp/md5.h:
30803           included stdint.h for uintptr_t declaration
30805 2011-09-08 Borut Razem <borut.razem AT gmail.com>
30807         * support/cpp/md5.h:
30808           fixed WIN64 warning: cast from pointer to integer of different size
30810 2011-09-07 Borut Razem <borut.razem AT gmail.com>
30812         * support/cpp/version.c: updated version to 4.6.1
30814 2011-09-06 Borut Razem <borut.razem AT gmail.com>
30816         * debugger/mcs51/sdcdb.h, src/SDCCsystem.c, src/pic14/glue.c:
30817           fixed WIN64 warnings: cast from pointer to integer of different size
30818         * src/SDCCsystem.c: fixed WIN64 TRUE and FALSE redefinition
30819         * src/SDCCglobal.c: fixed stack overflow
30821 2011-09-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30823         * src/SDCCralloc.hpp:
30824           Connect unconnected live-ranges instead of just spilling.
30826 2011-09-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30828         * src/z80/gen.c:
30829           Minor cleanup from the stack-compact branch.
30831 2011-09-05 Maarten Brock <sourceforge.brock AT dse.nl>
30833         * device/lib/sincoshf.c: fixed bug 3326853
30835 2011-09-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30837         * support/regression/tests/bug1723128.c: fixed bug 3403038
30839 2011-09-04 Philipp Klaus Krause <pkk AT spth.de>
30841         * src/SDCCsymt.h,
30842           support/regression/tests/bug3404101.c:
30843           Fixed bug #3404101.
30845 2011-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
30847         * Makefile.in: added some dependencies to fix bug 3148465
30848         * src/mcs51/gen.c (gencjneshort,genOr): small optimizations
30849         * src/SDCCicode.h,
30850         * src/SDCCicode.c (operandType): fixed warning
30851         * src/SDCCsymt.h: cosmetics
30852         * src/z80/gen.c: fixed warnings
30853         * support/cpp/sdcpp-opts.c (sdcpp_common_init): return true on success
30855 2011-09-04 Borut Razem <borut.razem AT gmail.com>
30857         * support/scripts/sdcc.nsi: include readline5.dll in 64bit package
30859 2011-09-03 Maarten Brock <sourceforge.brock AT dse.nl>
30861         * support/regression/tests/bug3368945.c,
30862         * support/regression/tests/bug3381400.c,
30863         * support/regression/tests/bug3397636.c: fixed line endings and svn props
30864         * support/regression/tests/bug3401973.c: put large struct in large memory
30865         * support/regression/tests/bug3403429.c: fixed warnings, explained bug
30867 2011-09-03 Philipp Klaus Krause <pkk AT spth.de>
30869         * src/SDCCmain.c:
30870           Basic working z180 port.
30872 2011-09-03 Philipp Klaus Krause <pkk AT spth.de>
30874         * configure.in,
30875           configure,
30876           sdccconf_in.h,
30877           src/SDCCmain.c,
30878           src/SDCCglue.c,
30879           src/SDCCopt.c,
30880           src/port.h,
30881           src/SDCCopt.c,
30882           src/SDCCralloc.hpp,
30883           src/z80/z80.h,
30884           src/z80/main.c,
30885           src/z80/gen.c,
30886           src/z80/ralloc.c:
30887           Basic infrastructure for z180 port.
30889 2011-09-02 Philipp Klaus Krause <pkk AT spth.de>
30891         * tests/bug3403429.c:
30892           Regression test for bug 3403429.
30894 2011-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30896         * src/z80/gen.c:
30897           Use res instead of and to clear sign bit.
30899 2011-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
30901         * device/lib/_fsgt.c,
30902         * device/lib/_fslt.c: test for -0.0
30903         * src/ds390/gen.c (toBoolean),
30904         * src/hc08/gen.c (asmopToBool),
30905         * src/mcs51/gen.c (toBoolean),
30906         * src/z80/gen.c (_toBoolean): ignore sign of float,
30907           (aopDump): disabled unused code
30908         * support/regression/tests/float_single.c: enabled floorf(1.0-0.000001),
30909           added NEG
30910         * support/regression/tests/bug3183823.c: new, added
30912 2011-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30914         * support/regression/tests/bug3401973.c:
30915           Regression test for bug 3401973.
30917 2011-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30919         * support/regression/tests/bug1723128.c:
30920           Disable failing regression test for hc08.
30922 2011-09-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30924         * src/SDCCsymt.c,
30925           src/hc08/gen.c,
30926           src/SDCCast.c,
30927           device/include/stdbool.h:
30928           _Bool / bool for hc08.
30930 2011-09-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30932         * src/SDCCsymt.c,
30933           src/SDCCpeeph.c:
30934           Minor code cleanup.
30936 2011-09-01 Borut Razem <borut.razem AT gmail.com>
30938         * support/scripts/sdcc.nsi:
30939           don't include readline5.dll in 64bit package;
30940           remove libgcc_s_sjlj-1.dll and libstdc++-6.dll on uninstallation;
30941           don't install 64 bit version on 32 bit Windows;
30942           use proper Program Files and registry for 64 bit installation
30943         * support/regression/ports/pic14/spec.mk,
30944           support/regression/ports/pic16/spec.mk,
30945           support/regression/ports/hc08/spec.mk,
30946           support/regression/ports/ds390/spec.mk,
30947           support/regression/ports/ucz80/spec.mk,
30948           support/regression/ports/mcs51-common/spec.mk:
30949           configurable $(WINE)
30951 2011-08-31 Borut Razem <borut.razem AT gmail.com>
30953         * support/scripts/sdcc.nsi: introduced WIN64 for 64bit dlls inclusion
30955 2011-08-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30957         * src/SDCCralloc.hpp:
30958           Construct conflict graph again instead of trusting the one from sdcc.
30960 2011-08-30 Philipp Klaus Krause <pkk AT spth.de>
30962         * device/lib/tancotf.c,
30963           device/lib/acosf.c,
30964           device/lib/sinf.c,
30965           device/lib/asincosf.c,
30966           device/lib/_fsadd.c,
30967           device/lib/asinf.c,
30968           device/lib/printf_large.c,
30969           device/lib/_divulong.c,
30970           device/lib/_atof.c,
30971           device/lib/cotf.c,
30972           device/lib/expf.c,
30973           device/lib/sincosf.c,
30974           device/lib/tanf.c,
30975           device/lib/sincoshf.c,
30976           device/lib/cosf.c:
30977           Use BOOL or _Bool.
30979 2011-08-30 Borut Razem <borut.razem AT gmail.com>
30981         * support/cpp/libcpp/lex.c:
30982           reverted to revision r6084 (before sdcpp 4.6.1 synchronization),
30983           partialy re-synchronized with sdcpp 4.6.1
30984         * support/cpp/libcpp/macro.c: fixed naked hash handling
30985         * support/regression/test/bitfields.c:
30986           fixed a regtest failure on i386 and x86_64 host architectures with
30987           gcc 4.6 by turning off the -O2 optimization
30989 2011-08-29 Borut Razem <borut.razem AT gmail.com>
30991         * support/cpp/libiberty/getpwd.c: reverted; it was committed by mistake
30992         * support/cpp/libcpp/lex.c: disable fast scanner using SSE due to
30993           bug #3400132: fatal error: ../gcc/config/i386/cpuid.h
30995 2011-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
30997         * device/lib/ds390/Makefile.in: added gptr_cmp.rel
30999 2011-08-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31001         * device/include/stdbool.h,
31002           support/regression/tests/bool.c:
31003           Fixed bug #2939485.
31005 2011-08-28 Maarten Brock <sourceforge.brock AT dse.nl>
31007         * device/lib/ds390/gptr_cmp.c: new, added
31008         * src/ds390/gen.c (loadDptrFromOperand): factored out,
31009           (genFarPointerGet, genCodePointerGet, genGenPointerGet, genFarPointerSet,
31010            genGenPointerSet): use loadDptrFromOperand
31011           (genCmp, gencjneshort): fixed generic pointer comparison
31012         * support/regression/tests/genptrs.c: expanded and enabled tests for ds390
31014 2011-08-28 Borut Razem <borut.razem AT gmail.com>
31016         * src/SDCCicode.c:
31017           applied patch #3285611: Workaround gcc 4.6.0 bug with sdcc 3.0.0,
31018           thanks Roy Rankin
31019         * support/cpp/libiberty/concat.c, support/cpp/libiberty/filenames.h,
31020           support/cpp/libiberty/hashtab.c, support/cpp/libiberty/vasprintf.c,
31021           support/cpp/libiberty/xmemdup.c, support/cpp/libiberty/hashtab.h,
31022           support/cpp/libiberty/splay-tree.c, support/cpp/libiberty/lbasename.c,
31023           support/cpp/libiberty/splay-tree.h, support/cpp/libiberty/getpwd.c,
31024           support/cpp/libiberty/fopen_unlocked.c, support/cpp/libcpp/directives.c,
31025           support/cpp/libcpp/macro.c, support/cpp/libcpp/files.c,
31026           support/cpp/libcpp/include/cpplib.h, support/cpp/libcpp/include/symtab.h,
31027           support/cpp/libcpp/include/line-map.h, support/cpp/libcpp/init.c,
31028           support/cpp/libcpp/errors.c, support/cpp/libcpp/expr.c,
31029           support/cpp/libcpp/internal.h, support/cpp/libcpp/lex.c,
31030           support/cpp/libcpp/system.h, support/cpp/libcpp/charset.c,
31031           support/cpp/sdcpp-diagnostic.c, support/cpp/sdcpp.h,
31032           support/cpp/sdcpp-opts.c:
31033           SDCPP synchronized with GCC CPP release version 4.6.1
31035 2011-08-27 Philipp Klaus Krause <pkk AT spth.de>
31037         * src/SDCCsymt.h,
31038           src/SDCCsymt.c,
31039           src/SDCCicode.c,
31040           src/SDCCopt.c,
31041           support/regression/tests/bool.c:
31042           Fixed bug #3031197.
31044 2011-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
31046         * src/mcs51/gen.c,
31047         * src/ds390/gen.c: synced all shift functions
31049 2011-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
31051         * src/mcs51/gen.c: use !tlabeldef and #!constbyte,
31052           merged Push into emitpush,
31053           changed many aopGet(dname=TRUE) to FALSE
31054           (aopForRemat): do not warn for intermediate generic pointers,
31055           (aopPut): use static dbuf_s,
31056           (loadDptrFromOperand): optimized for AOP_DPTR,
31057           (pointToEnd, findLabelBackwards, old adjustArithmeticResult): removed,
31058         * src/mcs51/gen.h: cosmetics
31059         * src/ds390/gen.c: synchronized with mcs51, removed genArrayInit
31060         * src/ds390/gen.h: cosmetics
31061         * src/SDCCcse.c (algebraicOpts CAST): handle generic pointers
31062         * src/SDCCglue.c (aopLiteralLong): handle size=3 for ds390 dptr,
31063           (initPointer): no warning for castable pointers
31064         * src/SDCCicode.c (operandOperation EQ_OP): handle literal pointers,
31065           (getPtrType): removed
31066           (geniCodeCast): removed strange hidden cast after cse fix
31067           (geniCodeAddressOf): removed op->isaddr check for operandFromOperand
31068         * src/z80/gen.c (aopForRemat): synced with mcs51 for CAST,
31069           (regMove): fixed warnings
31070         * support/regression/tests/bug3389647.c: new, added
31072 2011-08-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31074         * src/z80/ralloc2.cc,
31075           support/regression/tests/bug3397636.c:
31076           Fixed bug #3397636.
31078 2011-08-25 Borut Razem <borut.razem AT gmail.com>
31080         * src/pic14/pcodepeep.c, src/pic16/pcodepeep.c:
31081           fixed name clash with mingw_w64: _DLL renamed to DLList
31082         * src/SDCCutil.c: added MINGW64 build environment detection
31083         * debugger/mcs51/simi.c, debugger/mcs51/cmd.c, debugger/mcs51/sdcdb.c,
31084           debugger/mcs51/break.c:
31085           fixed name clash with mingw_w64 objidl.h: undefine DATADIR
31086         * debugger/mcs51/sdcdb.c(escapeQuotes): expand buffer if necessary
31088 2011-08-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31090         * src/z80/gen.c:
31091           Fixed bug #3396441.
31093 2011-08-17 Borut Razem <borut.razem AT gmail.com>
31095         * device/non-free/lib/pic16/libdev/Makefile.in:
31096           regenerated to include support for pic18f2xk22/pic18f4xk22 family
31098 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31100         * doc/sdccman.lyx:
31101           Redid documentation change, in LyX 1.6 format this time.
31103 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31105         * doc/sdccman.lyx:
31106           Reverted documentation change, to avoid LyX version incompability.
31108 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31110         * doc/sdccman.lyx:
31111           Document --reserve-regs-iy option and __smallc calling convention.
31113 2011-08-15 Maarten Brock <sourceforge.brock AT dse.nl>
31115         * src/SDCCast.c(decorateType, EQ_OP NE_OP): fixed floatFromVal bug on big
31116           endian host for pointers
31118 2011-08-14 Borut Razem <borut.razem AT gmail.com>
31120         * src/SDCC.y, src/SDCC.lex, src/pic14/ralloc.c, src/pic16/ralloc.c:
31121           fixed clash with i586-mingw32msvc/include/windef.h
31123 2011-08-12 Maarten Brock <sourceforge.brock AT dse.nl>
31125         * device/lib/mcs51/gptr_cmp.asm: new, added
31126         * device/lib/mcs51/Makefile.in: added gptr_cmp.rel
31127         * src/mcs51/gen.c(aopGet AOP_LIT): fixed generic pointer type
31128           (toBoolean, genCmp, gencjneshort): fixed generic pointer comparison
31129         * src/SDCCast.c(checkPtrCast): no warning for banked function pointers,
31130           (decorateType, EQ_OP NE_OP): optimize ifx(0==op) and null pointers
31131         * src/SDCCglue.c(aopLiteralGptr): added,
31132           (printIvalCharPtr): fixed generic pointers
31133         * support/regression/tests/genptrs.c: new, added
31134         * support/regression/tests/bug3366711.c: fixed warning
31135         * support/regression/tests/inline.c: split #ifdef for readability
31137 2011-08-09 Borut Razem <borut.razem AT gmail.com>
31139         * support/regression/Makefile.in: fixed dependency checking using vpath
31141 2011-08-07 Borut Razem <borut.razem AT gmail.com>
31143         * src/SDCCopt.c: fixed bug #3387421: Incorrect code in revision 6723,
31144           optimize '>' and '>=' also in case when the following instruction
31145           is not IFX
31146         * support/regression/test/compare_2_n.c:
31147           added test cases for bug #3387421 and for 0x0000 and 0xffff
31149 2011-08-06 Borut Razem <borut.razem AT gmail.com>
31151         * doc/Makefile.in: applied patch #3387171:
31152           Binary build fails due to documentation cleanup,
31153           thanks Strobl Anton
31154         * src/SDCCopt.c: further enhancements & fixes of patch #2702889:
31155           added <= and >= optimizations, optimize > only if IFX
31156         * support/regression/test/compare_2_n.c: added test cases without IFX
31158 2011-08-05 Philipp Klaus Krause <pkk AT spth.de>
31160         * src/z80/gen.c,
31161           support/regression/tests/bug3368945.c:
31162           Fixed bug #3386945.
31164 2011-08-05 Philipp Klaus Krause <pkk AT spth.de>
31166         * src/z80/gen.c:
31167           Fixed bitfield unpacking bug #3386784.
31169 2011-08-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31171         * src/z80/peeph-z80.def:
31172           Minor peephole improvements.
31173         * src/z80/gen.c:
31174           Removed incorrect comment regarding arithmetic right shift.
31176 2011-08-04 Philipp Klaus Krause <pkk AT spth.de>
31178         * src/z80/peep.c:
31179           Handle cp, improve accuracy of checking for hl reads in notUsed().
31180         * src/z80/peeph-z80.def:
31181           Minor peephole improvements.
31182         * src/z80/ralloc2.c:
31183           Allow accumulator arguments in bitwise complement.
31185 2011-08-04 Philipp Klaus Krause <pkk AT spth.de>
31187         * src/z80/ralloc2.cc:
31188           Fixed bug #3385978.
31190 2011-08-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31192         * support/regression/tests/bug3381400.c:
31193           Don't try to compile the sfr stuff on host.
31195 2011-08-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31197         * src/z80/gen.c:
31198           Minor improvement in 8-bit by literal multiplication.
31200 2011-08-03 Borut Razem <borut.razem AT gmail.com>
31202         * sdcc development documentation moved from doc to sdcc wiki:
31203         * doc/builtins.txt: removed,
31204           published as Developer Documentation on SDCC wiki at
31205           http://sourceforge.net/apps/trac/sdcc/wiki/Builtins
31206         * doc/macro-sys-design.txt: removed,
31207           published as Developer Documentation on SDCC wiki at
31208           http://sourceforge.net/apps/trac/sdcc/wiki/Macro%20system%20design
31209         * doc/random-notes.txt: removed,
31210           published as Developer Documentation on SDCC wiki at
31211           http://sourceforge.net/apps/trac/sdcc/wiki/Random%20notes%20about%20sdcc%20and%20how%20it%20works
31212         * doc/cdbfileformat.lyx: removed,
31213           published as Developer Documentation on SDCC wiki at
31214           https://sourceforge.net/apps/trac/sdcc/wiki/CDB%20File%20Format
31215         * doc/test_suite_spec.lyx: removed,
31216           published as an Obsolete document on SDCC wiki at
31217           http://sourceforge.net/apps/trac/sdcc/wiki/Proposed%20Test%20Suite%20Design
31218         * doc/avr/avr_design.txt: removed,
31219           published as an Obsolete document on SDCC wiki at
31220           http://sourceforge.net/apps/trac/sdcc/wiki/Design%20Document%20for%20AVR%20Port
31221         * doc/z80/combined_i186_z80_design.tex, doc/z80/*: removed,
31222           published as an Obsolete document on SDCC wiki at
31223           http://sourceforge.net/apps/trac/sdcc/wiki/Combined%20i186/Z80%20backend%20design
31224         * doc/choices.txt: removed,
31225           published as an Obsolete document on SDCC wiki at
31226           http://sourceforge.net/apps/trac/sdcc/wiki/Some%20of%20the%20implementation%20choices
31227         * doc/libdoc.txt: removed,
31228           published as an Obsolete document on SDCC wiki at
31229           http://sourceforge.net/apps/trac/sdcc/wiki/List%20of%20the%20SDCC%20library
31230         * doc/figures/ddd_example.png, doc/figures/ddd_example.eps: removed,
31231           pucure inserted into page "Visually debug for 8051 under Windows using DDD/SDCDB/S51" at
31232           http://sourceforge.net/apps/trac/sdcc/wiki/Visually%20debug%20for%208051%20under%20Windows%20using%20DDD/SDCDB/S51
31234 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31236         * src/z80/gen.c,
31237           src/z80/peeph-z80.def:
31238           Fixed code generation bug in 8-bit multiplication with operands and e (hl).
31240 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31242         * src/z80/peeph-z80.def:
31243           Minor peephole improvement.
31245 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31247         * src/SDCCralloc.hpp:
31248           Fixed SIGSEGV that occured for extremly low values of --max-allocs-per-node.
31250 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31252         * src/z80/gen.c,
31253           support/regression/tests/bug3381400.c:
31254           Fixed bug #3381400.
31256 2011-08-03 Borut Razem <borut.razem AT gmail.com>
31258         * support/regression/Makefile.in,
31259           support/regression/ports/ds390/spec.mk:
31260           added m4 preprocessing of .m4 regtest files
31261         * support/regression/tests/compare_2_n.m4:
31262           adopted for m4 preprocessing, renamed to .m4
31263         * support/regression/m4include/*: added
31265 2011-08-01 Borut Razem <borut.razem AT gmail.com>
31267         * support/regression/tests/inline.c:
31268           excluded failing regression test case on Mac OS X GCC 4.0.1
31270 2011-07-31 Maarten Brock <sourceforge.brock AT dse.nl>
31272         * src/mcs51/gen.c(genEndFunction): added mov PSW removal based on patch
31273           2702889 by Hubert Sack
31274         * src/mcs51/ralloc.c: added findAllBankregs, mcs51_allBankregs
31275         * src/mcs51/ralloc.h: added mcs51_allBankregs
31277 2011-07-30 Maarten Brock <sourceforge.brock AT dse.nl>
31279         * device/lib/_setjmp.c: fixed mcs51 stack-auto and xstack implementations
31280         * src/SDCCopt.c(miscOpt): added my doubts
31281         * support/regression/tests/bug3379723.c: disabled for hc08 which has no sfr
31282         * support/regression/tests/setjmp.c: test only on supported targets
31283         * support/regression/tests/bug3361290.c,
31284         * support/regression/tests/bug3366711.c,
31285         * support/regression/tests/bug3379723.c: set native eolstyle property
31287 2011-07-28 Philipp Klaus Krause <pkk AT spth.de>
31289         * device/include/setjmp.h,
31290           device/lib/z80/Makefile.in,
31291           device/lib/z80/setjmp.s,
31292           support/regression/tests/setjmp.c:
31293           setjmp() and longjmp() for the Z80.
31295 2011-07-28 Philipp Klaus Krause <pkk AT spth.de>
31297         * device/include/setjmp.h,
31298           device/lib/_setjmp.c,
31299           support/regression/tests/setjmp.c:
31300           Fixed some setjmp() / longjmp() bugs.
31301         * support/regression/tests/bug3379723.c:
31302           Do not compile on host.
31304 2011-07-27 Borut Razem <borut.razem AT gmail.com>
31306         * src/SDCCopt.c: fixed bug
31307           #3378933: Regression test compare_2_n.c fails on sparc machines
31308         * support/regression/test/compare_2_n.c:
31309           reenabled bug #3378933 test case
31311 2011-07-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31313         * src/z80/gen.c,
31314           support/regression/tests/bug3379732.c:
31315           Bitwise-op cleanup, fixed bug #3379732.
31317 2011-07-26 Borut Razem <borut.razem AT gmail.com>
31319         * support/regression/test/literalop.c:
31320           disabled failing test on i386 and sparc64 NetBSD gcc 4.1
31321         * support/regression/test/compare_2_n.c:
31322           excluded failing test on NetBSD sparc64 and Solaris sparc machines
31323           for all targets;
31324           see bug #3378933: Regression test compare_2_n.c fails on sparc machines
31326 2011-07-24 Borut Razem <borut.razem AT gmail.com>
31328         * support/regression/test/bitfields.c:
31329           fixed a regtest failure on Solaris i386 host with gcc 4.6
31330           by turning off the -O2 optimization
31331         * support/regression/tests/compare_2_n.c:
31332           added test for unsigned long type
31334 2011-07-23 Borut Razem <borut.razem AT gmail.com>
31336         * debugger/mcs51/acinclude.m4, debugger/mcs51/configure: fix for solaris
31337         * support/regression/test/bitfields.c:
31338           fixed a strange failure on Solaris i386 host with gcc 4.6
31340 2011-07-22 Borut Razem <borut.razem AT gmail.com>
31342         * src/SDCCmem.c, src/SDCCopt.c: applied 2nd and 3rd part of patch
31343           #2702889 - Summary of all uncommitted changes I applied on "my" SDCC
31344           thanks Hubert Sack
31345         * support/regression/tests/compare_2_n.c: added
31347 2011-07-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31349         * src/SDCCmain.c:
31350           Reduce default value for --max-allocs-per-node to reduce compiler runtime.
31352 2011-07-19 Borut Razem <borut.razem AT gmail.com>
31354         * src/z80/gen.c: fixed MSVC 2010 compilation
31356 2011-07-16 Borut Razem <borut.razem AT gmail.com>
31358         * debugger/mcs51/simi.c:
31359           define BSD_COMP on Solaris so that gcc includes <sys/filio.h>
31360           which defines FIONBIO
31362 2011-07-15 Borut Razem <borut.razem AT gmail.com>
31364         * support/regression/tests/bug1665511.c:
31365           fixed host regression test bus error crash on sparc Solaris
31367 2011-07-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31369         * src/z80/gen.c,
31370           src/z80/peeph-z80.def:
31371           Optimized jumptable generation.
31373 2011-07-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31375         * src/SDCCpeep.c:
31376           labelJTInRange() fix, to ensure that jp by jr replacement is correct in jumptables.
31378 2011-07-14 Borut Razem <borut.razem AT gmail.com>
31380         * device/include/pic16/pic18fregs.h,
31381           device/include/pic16/pic16devices.txt,
31382           device/include/pic16/adc.h,
31383           device/lib/pic16/libio/adc/adcsetch.c,
31384           device/lib/pic16/libio/adc/adcopen.c,
31385           device/lib/pic16/libio/adc/adcbusy.c,
31386           device/lib/pic16/libio/Makefile.am,
31387           device/non-free/include/pic16/pic18fam.h,
31388           device/non-free/lib/pic16/libdev/Makefile.am,
31389           device/non-free/lib/pic16/pics.all,
31390           support/scripts/pic18fam-h-gen.pl,
31391           device/non-free/include/pic16/pic18f26k22.h,
31392           device/non-free/include/pic16/pic18f46k22.h,
31393           device/non-free/include/pic16/pic18f23k22.h,
31394           device/non-free/include/pic16/pic18f43k22.h,
31395           device/non-free/include/pic16/pic18f24k22.h,
31396           device/non-free/include/pic16/pic18f44k22.h,
31397           device/non-free/include/pic16/pic18f25k22.h,
31398           device/non-free/include/pic16/pic18f45k22.h,
31399           device/non-free/lib/pic16/libdev/pic18f26k22.c,
31400           device/non-free/lib/pic16/libdev/pic18f46k22.c,
31401           device/non-free/lib/pic16/libdev/pic18f23k22.c,
31402           device/non-free/lib/pic16/libdev/pic18f43k22.c,
31403           device/non-free/lib/pic16/libdev/pic18f24k22.c,
31404           device/non-free/lib/pic16/libdev/pic18f44k22.c,
31405           device/non-free/lib/pic16/libdev/pic18f25k22.c,
31406           device/non-free/lib/pic16/libdev/pic18f45k22.c:
31407           applied patch #3311538 - Add new pic18f2xk22/pic18f4xk22 family,
31408           thanks Strobl Anton
31409         * doc/sdccman.lyx: added support for pic18f2xk22/pic18f4xk22 family
31411 2011-07-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31413         * src/z80/ralloc.c,
31414           support/regression/tests/bug3366711.c:
31415           Fixed bug #3366711.
31417 2011-07-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31419         * src/z80/gen.c:
31420           Refactored register shuffling code, fixing a memcpy() bug.
31422 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31424         * src/SDCCpeeph.c,
31425           support/regression/tests/bug3361290.c:
31426           Fixed bug #3361290.
31428 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31430         * src/z80/gen.c:
31431           Fixed bug #3361280.
31433 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31435         * device/include/string.h,
31436           device/lib/strxfrm.c,
31437           device/lib/incl.mk:
31438           Added missing strxfrm() and strcoll() functions.
31440 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31442         * src/SDCCast.c:
31443           Fixed bug #3107180.
31445 2011-06-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31447         * src/z80/peeph-z80.def:
31448           Peephole typo.
31450 2011-06-29 Philipp Klaus Krause <pkk@spth.de>
31452         * src/SDCCpeeph.c:
31453           Character and string handling in C sucks.
31455 2011-06-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31457         * src/z80/peeph-z80.def:
31458           Minor peephole improvement.
31460 2011-06-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31462         * src/SDCCpeeph.c:
31463           Improve accuracy of label reference counting.
31465 2011-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31467         * src/SDCCpeeph.c,
31468           src/z80/peeph-z80.def:
31469           Fixed #2970351, reenabling basic tail-call optimization.
31471 2011-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31473         * src/z80/mappings.i,
31474           src/z80/main.c,
31475           src/z80/gen.c,
31476           src/z80/ralloc2.cc:
31477           Fix --fomit-frame-pointer for z80.
31479 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31481         * src/z80/peeph-z80.def:
31482           Minor peephole improvement.
31484 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31486         * src/z80/peeph-z80.def:
31487           Peephole renumbering.
31489 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31491         * src/z80/peeph-z80.def:
31492           Remove unused (sdcc lib, regr. tests, contiki OS, libcv, my own programs) peepholes.
31494 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31496         * src/SDCCmain.c:
31497           Fixed #3324913.
31499 2011-06-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31501         * src/z80/gen.c:
31502           Fixed broken use of large return values.
31504 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31506         * src/z80/gen.c:
31507           Restore RFE #3284870, which was lost during the optralloc merge.
31509 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31511         * src/z80/ralloc2.cc:
31512           Disallow use of h or l operand in addition when result in true symop.
31514 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31516         * src/z80/ralloc.h,
31517           src/z80/ralloc.c,
31518           src/z80/ralloc2.cc,
31519           src/SDCCralloc.hpp,
31520           src/SDCClabel.c:
31521           Fixed bug #3325223.
31523 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31525         * src/SDCCMain.c:
31526           Disable labelIfx() optimization when using --nolabelopt.
31528 2011-06-22 Maarten Brock <sourceforge.brock AT dse.nl>
31530         * src/ds390/ralloc.c(packRegsDPTRnuse): fixed bug 1665511
31531         * support/regression/tests/bug1665511.c: new, added
31533 2011-06-19 Borut Razem <borut.razem AT gmail.com>
31535         * doc/sdccman.lyx: fixed bug #3322383 - Spelling mistakes
31536         * .version, doc/sdccman.lyx: changed sdcc version to 3.0.4
31538 2011-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
31540         * support/regression/tests/bug1962613.c: fixed clash with Bessel functions
31541         * support/regression/tests/strtok.c: disabled test for GCC on Solaris
31543 2011-06-15 Philipp Klaus Krause <pkk AT spth.de>
31545         * sim/ucsim/z80.src/inst_xd.cc:
31546           Fixed bug #3315215.
31548 2011-06-11 Philipp Klaus Krause <pkk AT spth.de>
31550         * src/SDCCmain.c,
31551           src/z80/gen.c:
31552           Fixed bug #3315124.
31554 2011-06-11 Maarten Brock <sourceforge.brock AT dse.nl>
31556         * support/regression/tests/bug3299577.c: fixed warnings
31557         * support/regression/tests/abs.c,
31558           support/regression/tests/bool.c,
31559           support/regression/tests/bug-1292721.c,
31560           support/regression/tests/bug-2646174.c,
31561           support/regression/tests/bug-2890326.c,
31562           support/regression/tests/bug-2982135.c,
31563           support/regression/tests/bug-3034585.c,
31564           support/regression/tests/bug-3117729.c,
31565           support/regression/tests/bug-3184920.c,
31566           support/regression/tests/bug1477149.c,
31567           support/regression/tests/bug1536762.c,
31568           support/regression/tests/bug1838000.c,
31569           support/regression/tests/bug2084206.c,
31570           support/regression/tests/bug2729218.c,
31571           support/regression/tests/bug2862650.c,
31572           support/regression/tests/bug3029630.c,
31573           support/regression/tests/bug3130806.c,
31574           support/regression/tests/bug3166208.c,
31575           support/regression/tests/bug3303325.c,
31576           support/regression/tests/bugs-1596270-1736867.c,
31577           support/regression/tests/interrupt.c,
31578           support/regression/tests/memory.c,
31579           support/regression/tests/strcmp.c,
31580           support/regression/tests/strcpy.c,
31581           support/regression/tests/strncmp.c,
31582           support/regression/tests/strpbrk.c,
31583           support/regression/tests/strspn.c: changed svn eol-style
31585 2011-06-10 Philipp Klaus Krause <pkk AT spth.de>
31587         * Merge the optralloc branch.
31589 2011-06-10 Philipp Klaus Krause <pkk AT spth.de>
31591         * src/z80/gen.c:
31592           Fixed register-assignment-related multiplication bug.
31594 2011-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
31596         * src/SDCCcse.c(cseBBlock): fixed the fix
31598 2011-06-09 Philipp Klaus Krause <pkk AT spth.de>
31600         * src/SDCC.lex,
31601           src/SDCC.y,
31602           src/SDCCsymt.h,
31603           src/SDCCopt.c:
31604           Rename __optlink to __smallc.
31606 2011-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
31608         * src/SDCCcse.c(cseBBlock): fixed cse bug 2729218 reading pointer for result
31609         * src/SDCCdflow.c: cosmetics
31610         * src/SDCCicode.c(operandOperation): fixed fatal error for literal pointer
31611         * src/SDCCmain.c(linkEdit): only use -M for mcs51 and ds390
31612         * src/SDCCopt.c: fixed warnings
31613         * src/SDCCval.c(floatFromVal, ulFromVal): handle structs
31614         * support/regression/tests/bug2729218.c: new, added
31615         * src/SDCCcse.c(cseBBlock): fixed the fix
31617 2011-06-08 Philipp Klaus Krause <pkk AT spth.de>
31619         * Merge from trunk.
31621 2011-06-05 Philipp Klaus Krause <pkk AT spth.de>
31623         * src/SDCCralloc.hpp,
31624           src/z80/gen.c:
31625           Ensure that SEND iCodes, except for the first in each chain are deactivated for cost function calculation.
31627 2011-06-05 Philipp Klaus Krause <pkk AT spth.de>
31629         * src/z80/gen.c:
31630           Fixed use of arbitrary register combinations as return value.
31632 2011-06-01 Philipp Klaus Krause <pkk AT spth.de>
31634         * src/z80/ralloc2.cc,
31635           src/z80/gen.c,
31636           src/z80/gen.h:
31637           Emit info about the register assignment being optimal when using --fverbose-asm.
31639 2011-05-27 Philipp Klaus Krause <pkk AT spth.de>
31641         * Merge from trunk.
31643 2011-05-27 Philipp Klaus Krause <pkk AT spth.de>
31645         * src/SDCCtree_dec.hpp,
31646           src/z80/ralloc2.cc:
31647           Workarounds for compiler warnings.
31649 2011-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
31651         * src/hc08/main.c(hc08_dwarfRegNum): fixed interface
31652         * src/mcs51/gen.c: fixed MSVC errors by changing snprintf to SNPRINTF
31653         * src/port.h: fixed regNum and getRegName function pointer definitions
31654         * src/z80/gen.c(genJumpTab): fixed warning
31656 2011-05-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31658         * src/z80/gen.c:
31659           Workarounds for compiler warnings.
31661 2011-05-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31663         * Merge from trunk.
31665 2011-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31667         * src/SDCCicode.c,
31668           src/z80/gen.c,
31669           src/z80/ralloc2.cc:
31670           Exact cost for builtin function calls.
31672 2011-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31674         * src/SDCCtree_dec.hpp,
31675           src/SDCCralloc.hpp,
31676           src/z80/ralloc2.cc:
31677           Fixed bug in Thorup heuristic, that resulted in much higher width of tree-decomposition.
31679 2011-05-21 Philipp Klaus Krause <pkk AT spth.de>
31681         * Merge from trunk.
31683 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31685         * src/z80/gen.c:
31686           Remove unnecessary statement, debug message cleanup.
31688 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31690         * src/SDCCtree_dec.hpp,
31691           src/SDCCralloc.hpp,
31692           src/z80/rallo2.cc:
31693           Debug message cleanup.
31695 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31697         * src/z80/gen.c:
31698           Ported reorganization of cast to bool from trunk.
31700 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31702         * Merge from trunk.
31704 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31706         * src/z80/gen.c,
31707           support/regression/tests/bug3303325.c:
31708           Merge from trunk: Fixed bug #3303325.
31710 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31712         * src/z80/gen.c:
31713           Code cleanup wrt. temporary labels.
31715 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31717         * configure.in:
31718           Give an error when boost is not detected.
31720 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31722         * Merge from trunk.
31724 2011-05-16 Philipp Klaus Krause <pkk@spth.de>
31726         * src/z80/gen.c:
31727           Fixed crash when running on cygwin.
31729 2011-05-15 Philipp Klaus Krause <pkk@spth.de>
31731         * Merge from trunk.
31733 2011-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
31735         * sdas/linksrc/aslink.vcxproj,
31736         * sdas/linksrc/aslink.vcxproj.filters: added lkbank.c
31737         * src/z80/ralloc.c: moved z80_init_asmops prototype
31739 2011-05-13 Philipp Klaus Krause <pkk@spth.de>
31741         * Merge from trunk.
31743 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31745         * src/SDCCralloc.hpp,
31746           configure.in:
31747           Make STX library optional and detect it in configure script.
31749 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31751         * src/z80/gen.c:
31752           Minor code cleanup and cost function accuracy improvement.
31754 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31756         * Merge from trunk.
31758 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31760         * src/z80/peeph-z80.def:
31761           Fixed some bit-manipulation peepholes for immediate operands.
31762         * src/z80/gen.c:
31763           Fixed operand loading in complement.
31765 2011-05-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31767         * Merge from trunk.
31769 2011-05-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31771         * src/z80/z80.h,
31772           src/z80/main.c,
31773           src/z80/ralloc.c:
31774           Reintegrated old register allocator (option --oldralloc).
31776 2011-05-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31778         * src/SDCCralloc.hpp,
31779           src/z80/ralloc2.cc:
31780           Handle the check for result bytes overwriting operand bytes in the conflict graph instead of the cost function.
31782 2011-05-08 Philipp Klaus Krause <pkk@spth.de>
31784         * src/z80/ralloc2.cc
31785           Fixed over-eager early HLinst_OK() use.
31787 2011-05-08 Philipp Klaus Krause <pkk@spth.de>
31789         * Merge from trunk.
31791 2011-05-06 Philipp Klaus Krause <pkk@spth.de>
31793         * src/z80/gen.c:
31794           Remove some leftover debug stuff.
31795         * src/z80/peeph-z80.def:
31796           Generalize optimization of bit setting and resetting.
31798 2011-05-06 Philipp Klaus Krause <pkk@spth.de>
31800         * Merge everything except src/z80/gen.c from trunk,
31801           but mark gen.c as merged, so that further changes in gen.c
31802           will be merged.
31804 2011-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31806         * src/SDCCralloc.hpp,
31807           src/z80/ralloc2.cc
31808           Improved performance, reduced memory usage.
31810 2011-05-02 Borut Razem <borut.razem AT gmail.com>
31812         * configure.in, configure:
31813           don't use "-pipe" on x86 Solaris g++, since src/z80/ralloc2.cc dies
31815 2011-04-29 Philipp Klaus Krause <pkk@spth.de>
31817         * Merge everything except src/z80/gen.c from trunk.
31819 2011-04-29 Philipp Klaus Krause <pkk@spth.de>
31821         * src/SDCCralloc.hpp,
31822           src/z80/ralloc2.cc
31823           Some performance improvements.
31825 2011-04-25 Philipp Klaus Krause <pkk@spth.de>
31827         * Merge everything except src/z80/gen.c from trunk.
31829 2011-04-25 Maarten Brock <sourceforge.brock AT dse.nl>
31831         * debugger/mcs51/cmd.c,
31832         * debugger/mcs51/symtab.c,
31833         * src/z80/ralloc2.cc: fixed some warnings
31834         * sdas/linksrc/aslink.vcxproj,
31835         * sdas/linksrc/aslink.vcxproj.filters: added lksdcdb.c
31836         * src/src.vcxproj,
31837         * src/src.vcxproj.filters,
31838         * sdcc.sln: added dependencies on config, removed avr & xa51
31839         * sdcc_vc_in.h: set OPT_DISABLE_AVR & OPT_DISABLE_XA51
31840         * src/pic14/ralloc.h: fixed rename of struct regs to reg_info
31841         * src/z80/gen.c: replaced true/false with TRUE/FALSE
31843 2011-04-21 Philipp Klaus Krause <pkk@spth.de>
31845         * src/SDCCdebug.h,
31846           src/mcs51/gen.c,
31847           src/mcs51/ralloc.c,
31848           src/mcs51/gen.h,
31849           src/mcs51/ralloc.h,
31850           src/mcs51/main.c,
31851           src/mcs51/rtrack.c,
31852           src/SDCCsymt.h,
31853           src/SDCCdwarf2.c,
31854           src/port.h,
31855           src/pic14/pcode.h,
31856           src/pic14/pcodepeep.c,
31857           src/pic14/pcoderegs.c,
31858           src/pic14/ralloc.c,
31859           src/pic14/gen.h,
31860           src/pic14/ralloc.h,
31861           src/pic14/main.c,
31862           src/pic14/pcode.c,
31863           src/pic14/glue.c,
31864           src/z80/ralloc.c,
31865           src/z80/gen.h,
31866           src/z80/ralloc.h,
31867           src/z80/main.c,
31868           src/pic16/pcode.h,
31869           src/pic16/device.c,
31870           src/pic16/device.h,
31871           src/pic16/gen.c,
31872           src/pic16/pcoderegs.c,
31873           src/pic16/ralloc.c,
31874           src/pic16/gen.h,
31875           src/pic16/ralloc.h,
31876           src/pic16/main.c,
31877           src/pic16/main.h,
31878           src/pic16/pcode.c,
31879           src/pic16/glue.c,
31880           src/hc08/gen.h,
31881           src/hc08/ralloc.h,
31882           src/hc08/main.c,
31883           src/hc08/gen.c,
31884           src/hc08/ralloc.c,
31885           src/ds390/gen.h,
31886           src/ds390/ralloc.h,
31887           src/ds390/main.c,
31888           src/ds390/gen.c,
31889           src/ds390/ralloc.c,
31890           src/cdbFile.c:
31891           Renamed regs struct to reg_info, since g++ pollutes the global namespace with "regs" on OpenSolaris, even when using --std=c++98.
31893 2011-04-21 Philipp Klaus Krause <pkk@spth.de>
31895         * Merge everything except src/z80/gen.c from trunk.
31897 2011-04-20 Philipp Klaus Krause <pkk@spth.de>
31899         * src/z80/gen.c:
31900           Fixed bug in assignments to bitfields of size < 8.
31902 2011-04-20 Philipp Klaus Krause <pkk@spth.de>
31904         * src/SDCCralloc.hpp:
31905           Allow extremly low values of --max-allocs-per-node.
31907 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31909         * src/z80/gen.c:
31910           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).
31912 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31914         * src/z80/peeph-z80.def:
31915           Added some peephole rules to better optimize shifting and dead loads.
31917 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31919         * Merge everything except src/z80/gen.c from trunk.
31921 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31923         * src/z80/gen.c:
31924           Fixed result assignment bug in addition.
31926 2011-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31928         * src/z80/gen.c,
31929           src/z80/ralloc.c,
31930           src/z80/main.c,
31931           src/z80/z80.h:
31932           Added --optralloc-remat option for handling rematerialization in the new allocator,
31933           fixed cost function bug when reading beyond the size of operands,
31934           removed option for the use of an exact cost function and made the exact cost function the default,
31935           improved code generation for addition.
31937 2011-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31939         * src/z80/gen.c:
31940           Fixed a bug triggered by assigning rematerializeable variables to register A or IY.
31942 2011-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31944         * Merge everything except src/z80/gen.c from trunk.
31946 2011-04-17 Philipp Klaus Krause <pkk AT spth.de>
31948         * src/z80/gen.c:
31949           Fixed bug in bitfield reading that occoured when reading from (HL) and writing the result to L.
31951 2011-04-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31953         * Merge everything except src/z80/gen.c from trunk.
31955 2011-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31957         * Merge everything except src/z80/gen.c from trunk.
31959 2011-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31961         * src/z80/gen.c:
31962           Some optimizations for using a pointer to a bitfield in iy,
31963           improve pushing of 4-byte parameters.
31965 2011-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31967         * src/z80/gen.c:
31968           Fixed genAssign to be able to handle arbitrary register-to-register assignments.
31970 2011-04-11 Philipp Klaus Krause <pkk AT spth.de>
31972         * src/z80/gen.c:
31973           Fixed another genPointerGet() bug.
31975 2011-04-10 Borut Razem <borut.razem AT gmail.com>
31977         * src/z80/gen.c: dbuf-ized
31978         * src/SDCCglobl.h: sync with trunk
31980 2011-04-10 Philipp Klaus Krause <pkk AT spth.de>
31982         * src/z80/gen.c:
31983           Cleaned up some leftover debug messages,
31984           fixed assignment of lh to hl,
31985           implemented exact cost for EXSTK to SFR assignment,
31986           fixed genPointerGet() bug that made simplefloat regression tests fail.
31988 2011-04-09 Philipp Klaus Krause <pkk AT spth.de>
31990         * src/z80/gen.c:
31991           Added warning in commitPair() for lh to hl assignment.
31993 2011-04-09 Philipp Klaus Krause <pkk AT spth.de>
31995         * src/z80/gen.c:
31996           Fixed bug that could result in slightly wrong cost function.
31998 2011-04-09 Borut Razem <borut.razem AT gmail.com>
32000         * Merge from trunk
32001         * support/regression/tests/bug3166208.c: sync with trunk
32003 2011-04-09 Borut Razem <borut.razem AT gmail.com>
32005         * src/z80/gen.c, src/z80/ralloc2.cc:
32006           changed with the Philipp's version from his private
32007           sdcc-or-2011-4-8 branch; fixed MSVC 2010 compilation
32008         * src/SDCCicode.c: dbuf_detach() replaced with dbuf_destroy()
32009         * support/regression/ports/ucz80/spec.mk:
32010           added --optralloc-exact-cost to SDCCFLAGS
32012 2011-04-09 Borut Razem <borut.razem AT gmail.com>
32014         * sim/ucsim/cmd.src/cmdpars.y: removed warnings
32015         * support/regression/tests/logic.c, src/SDCCpeeph.c, src/SDCCasm.c,
32016           src/SDCCicode.c, src/SDCCglobl.h, src/SDCCsystem.c:
32017           sync with optralloc branch
32019 2011-04-08 Philipp Klaus Krause <pkk AT spth.de>
32021         * src/z80/ralloc.c:
32022           Fixed bug that allowed old register allocator to use IY even when the new one does, too,
32023           which led to conflicts in the assignment.
32025 2011-04-07 Philipp Klaus Krause <pkk AT spth.de>
32027         * src/port.h,
32028           src/SDCCpeeph.c,
32029           src/z80/main.c,
32030           src/z80/peep.h,
32031           src/z80/peep.c,
32032           src/z80/peeph-z80.def:
32033           Added new peephole function notUsedFrom() to check for variable uses starting from label,
32034           added it as condition in peepholes where appropriate, modified notUsed()
32035           peephole function to not rely on first argument being constant or %1.
32037 2011-04-07 Philipp Klaus Krause <pkk AT spth.de>
32039         * src/z80/gen.c:
32040           Fixed SIGSEGV crash due to incorrect register pair cache spilling.
32042 2011-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
32044         * device/lib/mcs51/Makefile.in,
32045         * device/lib/mcs51/crtxpopbits.asm, device/lib/mcs51/crtxpopr0.asm: renamed
32046         * device/lib/mcs51/crtxpop.asm,
32047         * device/lib/mcs51/crtxpush.asm,
32048         * device/lib/mcs51/crtxpushr0.asm,
32049         * src/mcs51/gen.c (xstackRegisters, saveRegisters, unsaveRegisters,
32050           genSend): fixed for new register order
32052 2011-04-06 Philipp Klaus Krause <pkk AT spth.de>
32054         * src/z80/peep.c:
32055           Give warning instead of crashing when failing to parse ex line node.
32057 2011-04-05 Borut Razem <borut.razem AT gmail.com>
32059         * src/src.vcxproj, src/src.vcxproj.filters, src/z80/gen.c:
32060           fixed MSVC 2010 compilation
32061         * src/SDCCasm.c, src/SDCCasm.h:
32062           removed tsprintf(), dbuf_tprintf() is used instead
32063         * src/z80/gen.c: fixed bug in fetchLitPair()
32065 2011-04-05 Philipp Klaus Krause <pkk AT spth.de>
32067         * src/z80/ralloc2.cc:
32068           Avoid assignments where the result overwrites operands in some unary operations.
32069         * src/z80/gen.c:
32070           Avoid unnecessary saving of iy in builtin memcpy().
32072 2011-04-05 Philipp Klaus Krause <pkk AT spth.de>
32074         * src/z80/ralloc2.cc:
32075           Avoid assignments where the result overwrites operands in subtraction, addition, bitwise and, xor;
32076           get correct cost for bitwise or.
32077         * src/z80/gen.c:
32078           Remove workaround for result overwritings operands in addition; fixed commitPair() for swapped bytes in target.
32080 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32082         * src/z80/gen.c:
32083           Fixed broken or when result is sfr.
32084         * src/z80/peeph-z80.def:
32085           Fixed broken peephole for combining additions next to pushes.
32087 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32089         * src/z80/ralloc2.cc,
32090           src/z80/gen.c:
32091           Allow iy as operand to left shift and decrement.
32093 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32095         * src/z80/ralloc2.cc:
32096           Fixed broken caching of values in hl during pointer assignment.
32098 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32100         * src/z80/ralloc2.cc:
32101           Do not allocate operands to hl when the code generator will use (hl) for the result in addition.
32103 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32105         * src/z80/gen.c:
32106           Fix for restoring of register iy when other register pairs are restored as well.
32108 2011-03-31 Philipp Klaus Krause <pkk AT spth.de>
32110         * src/z80/peeph-z80.def:
32111           Fix peephole 76' so it doesn't overwrite accumulator during multibyte addition.
32113 2011-03-31 Philipp Klaus Krause <pkk AT spth.de>
32115         * src/z80/gen.c:
32116           Fix for genPointerGet when result is lh.
32118 2011-03-31 Philipp Klaus Krause <pkk AT spth.de>
32120         * src/z80/gen.c:
32121           Fix for addition with literal when right operand is partially in hl.
32123 2011-03-31 Maarten Brock <sourceforge.brock AT dse.nl>
32125         * src/mcs51/ralloc.c (regs8051, serialRegAssign),
32126         * src/mcs51/ralloc.h: prefer to use adjacent ascending registers
32128 2011-03-30 Maarten Brock <sourceforge.brock AT dse.nl>
32130         * sdas/linksrc/lklex.c,
32131         * src/SDCCast.c: small fixes
32133 2011-03-29 Borut Razem <borut.razem AT gmail.com>
32135         * Partially merge from trunk
32137 2011-03-29 Philipp Klaus Krause <pkk AT spth.de>
32139         * src/z80/z80.h,
32140           src/z80/gen.c,
32141           src/z80/ralloc2.cc,
32142           src/z80/peeph-z80.def:
32143           Handle IY in the new allocator.
32145 2011-03-28 Philipp Klaus Krause <pkk AT spth.de>
32147         * src/SDCCralloc.hpp,
32148           src/z80/ralloc2.cc,
32149           src/z80/gen.c,
32150           src/z80/ralloc.c,
32151           src/z80/z80.h:
32152           Preparations for handling IY in the new allocator.
32154 2011-03-28 Philipp Klaus Krause <pkk AT spth.de>
32156         * src/z80/ralloc2.cc,
32157           src/z80/gen.c,
32158           src/z80/ralloc.c,
32159           Fixes for the exact cost function.
32161 2011-03-28 Maarten Brock <sourceforge.brock AT dse.nl>
32163         * sdas/linksrc/lklex.c,
32164         * src/SDCCast.c: small fixes
32166 2011-03-28 Borut Razem <borut.razem AT gmail.com>
32168         * src/z80/gen.c: fixed bug, introduced during code cleaning
32170 2011-03-28 Philipp Klaus Krause <pkk AT spth.de>
32172         * src/SDCCerr.c,
32173           src/SDCCerr.h,
32174           src/SDCCval.c,
32175           src/SDCCval.h,
32176           src/SDCC.y,
32177           src/SDCCglue.c,
32178           src/pic14/glue.c,
32179           src/pic16/glue.c,
32180           src/SDCCast.c:
32181           Support for designated initializers, thanks C. Scott and R. Quattlebaum.
32183 2011-03-27 Maarten Brock <sourceforge.brock AT dse.nl>
32185         * sdas/as6808/m08mch.c,  sdas/as6808/m08pst.c,
32186         * sdas/as8051/i51mch.c,  sdas/as8051/i51pst.c,
32187         * sdas/asgb/gbmch.c,     sdas/asgb/gbpst.c,
32188         * sdas/asz80/z80mch.c,   sdas/asz80/z80pst.c,
32189         * sdas/asxxsrc/asdata.c, sdas/asxxsrc/asexpr.c,
32190         * sdas/asxxsrc/aslist.c, sdas/asxxsrc/asmain.c,
32191         * sdas/asxxsrc/asout.c,  sdas/asxxsrc/asxxxx.h,
32192         * sdas/linksrc/aslink.h, sdas/linksrc/lkaomf51.c,
32193         * sdas/linksrc/lkar.c,   sdas/linksrc/lkarea.c,
32194         * sdas/linksrc/lkdata.c, sdas/linksrc/lkelf.c,
32195         * sdas/linksrc/lkeval.c, sdas/linksrc/lkhead.c,
32196         * sdas/linksrc/lkihx.c,  sdas/linksrc/lklex.c,
32197         * sdas/linksrc/lklib.c,  sdas/linksrc/lklibr.c,
32198         * sdas/linksrc/lklist.c, sdas/linksrc/lkmain.c,
32199         * sdas/linksrc/lkmem.c,  sdas/linksrc/lkrloc.c,
32200         * sdas/linksrc/lksym.c,  sdas/linksrc/lksdcclib.c: first steps towards ASxxxx 5
32202 2011-03-27 Borut Razem <borut.razem AT gmail.com>
32204         * src/z80/main.c, src/z80/gen.c, src/z80/gen.h,
32205           src/z80/ralloc.c, src/z80/ralloc.h,
32206           src/mcs51/gen.c, src/ds390/gen.c:
32207           dbuf-ized, get rid of global buffer, code cleaning
32208         * src/SDCCasm.c, src/SDCCasm.h:
32209           removed tsprintf()
32210         * support/Util/dbuf.c, support/Util/dbuf.h:
32211           added dbuf_is_initialized()
32213 2011-03-26 Borut Razem <borut.razem AT gmail.com>
32215         * src/mcs51/gen.c, src/mcs51/gen.h,
32216           src/mcs51/ralloc.c, src/mcs51/ralloc.h,
32217           src/ds390/gen.c, src/ds390/ralloc.c:
32218           dbuf-ized, get rid of global buffer, code cleaning
32220 2011-05-26 Philipp Klaus Krause <pkk AT spth.de>
32222         * src/SDCCcse.c (boolCast):
32223           Fully reenabled boolCast, and fixed my stupid typo that triggered bug 3223041.
32225 2011-03-25 Maarten Brock <sourceforge.brock AT dse.nl>
32227         * src/hc08/gen.c: cosmetics
32228         * src/hc08/ralloc.c (packRegsForAssign): fixed bug 1477149 & SINHF,
32229           throughout synced with mcs51/ralloc.c
32230         * support/regression/tests/float_single.c: enabled SINHF
32232 2011-03-25 Philipp Klaus Krause <pkk AT spth.de>
32234         * src/SDCCcse.c (boolCast, cseBBlock):
32235           Reenabled boolCast except for the one case that triggers bug 3223041.
32237 2011-03-24 Philipp Klaus Krause <pkk AT spth.de>
32239         * src/z80/ralloc.c,
32240           src/z80/gen.c,
32241           src/z80/ralloc2.cc:
32242           gbz80 fixes.
32244 2011-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
32246         * src/SDCCsymt.h: added IS_BOOLEAN
32247         * src/SDCCast.c (getResultTypeFromType),
32248         * src/SDCCicode.c (geniCodeLogic, geniCodeLogicAndOr, ast2iCode),
32249         * src/SDCCsymt.c (computeTypeOr, computeType, compareType),
32250         * src/SDCCval.c (checkConstantRange): use IS_BOOLEAN
32251         * src/SDCCcse.c (boolCast, cseBBlock): disabled boolCast fixed bug 3223041
32252         * src/z80/gen.c (_toBoolean): added parameter needflag,
32253           (_castBoolean, genCast): castBoolean factored out of genCast
32254         * support/regression/tests/bug3223041.c: modified for hc08 without _Bool
32256 2011-03-24 Borut Razem <borut.razem AT gmail.com>
32258         * src/SDCCglue.c, src/ds390/gen.c, src/ds390/gen.h,
32259           src/ds390/ralloc.c, src/ds390/ralloc.h, src/SDCCptropt.c,
32260           src/SDCCptropt.h, src/SDCCicode.c, src/SDCCicode.h:
32261           dbuf-ized, get rid of global buffer, code cleaning,
32262           use dbuf_tprintf() instead of tsprintf()
32264 2011-03-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32266         * src/SDCCralloc.hpp,
32267           src/SDCCicode.h,
32268           src/z80/ralloc2.cc:
32269           Make sdcc the best compiler for the Z80.
32271 2011-03-22 Philipp Klaus Krause <pkk AT spth.de>
32273         * src/z80/gen.c:
32274           sfr fixes for accurate cost function.
32276 2011-03-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32278         * src/z80/gen.c,
32279           src/SDCCralloc.hpp,
32280           src/z80/ralloc2.cc:
32281           Code reorganization for a more accurate cost function.
32284 2011-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
32286         * support/regression/ports/ds390/spec.mk,
32287         * support/regression/ports/hc08/spec.mk,
32288         * support/regression/ports/ucz80/spec.mk: fixed output
32290 2011-03-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32292         * src/z80/ralloc2.cc,
32293           src/z80/gen.c:
32294           Code reorganization for a more accurate cost function.
32296 2011-03-21 Borut Razem <borut.razem AT gmail.com>
32298         * src/SDCCmacro.c: fixed bug, introduced 2011-03-20:
32299           call dbuf_vprintf() instead dbuf_printf() in mvsprintf()
32301 2011-03-21 Maarten Brock <sourceforge.brock AT dse.nl>
32303         * src/ds390/gen.c (genRet): forgot the _endLazyDPSEvaluation
32304         * support/regression/compact-results.py: new, added
32305         * support/regression/Makefile.in: print test name and compact results after
32306           running the test for better progress insight with make -j
32308 2011-03-21 Borut Razem <borut.razem AT gmail.com>
32310         * src/SDCCval.c, src/SDCCval.h, src/SDCCast.c: dbuf-ized
32312 2011-03-20 Philipp Klaus Krause <pkk AT spth.de>
32314         * src/SDCCralloc.hpp,
32315           src/z80/z80.h,
32316           src/z80/ralloc2.cc,
32317           src/z80/gen.c:
32318           Code reorganization for a more accurate cost function.
32320 2011-03-20 Philipp Klaus Krause <pkk AT spth.de>
32322         * src/z80/z80.h,
32323           src/z80/main.c:
32324           Register allocator option cleanup.
32326 2011-03-20 Borut Razem <borut.razem AT gmail.com>
32328         * src/SDCCicode.c, src/SDCCicode.h, src/SDCCsymt.c, src/SDCCsymt.h,
32329           src/port.h, src/SDCCast.c, src/SDCCast.h, src/SDCCBBlock.c,
32330           src/SDCCBBlock.h, src/z80/main.c, src/pic16/main.c:
32331           dbuf-ized, get rid of global buffer, code cleaning
32332         * src/SDCCmacro.c, src/SDCCmain.c, support/Util/NewAlloc.c,
32333           support/Util/newalloc.h: introduced Safe_strndup()
32335 2011-03-20 Maarten Brock <sourceforge.brock AT dse.nl>
32337         * src/ds390/gen.c (movc, toCarry): replaced movc with toCarry,
32338           (genNot, genSend, genRet): used toCarry,
32339           (genAnd, genOr, genXor): fixed bug 3223041
32340         * src/mcs51/gen.c (toCarry): handle IS_OP_ACCUSE,
32341           (genCmpEq, genAnd, genOr, genXor): fixed bug 3223041
32342         * support/regression/tests/bug3223041.c: new, added
32344 2011-03-20 Borut Razem <borut.razem AT gmail.com>
32346         * src/SDCCmain.c, src/SDCCmacro.c, src/SDCCmacro.h, src/SDCCutil.c,
32347           src/SDCCutil.h: dbuf-ized SDCCmacro.c
32348         * src/SDCCutil.c, src/SDCCutil.h, src/SDCCmain.c, src/ds390/main.c, src/z80/main.c:
32349           dbuf-ized buildCmdLine(), moved to SDCCutil
32350         * src/SDCCbuild_cmd.[ch]: deleted
32352 2011-03-20 Borut Razem <borut.razem AT gmail.com>
32354         * src/SDCCmain.c, src/SDCCmacro.c, src/SDCCmacro.h, src/SDCCutil.c,
32355           src/SDCCutil.h: dbuf-ized SDCCmacro.c
32356         * src/SDCCutil.c, src/SDCCutil.h, src/SDCCmain.c, src/ds390/main.c, src/z80/main.c:
32357           dbuf-ized buildCmdLine(), moved to SDCCutil
32358         * src/SDCCbuild_cmd.[ch]: deleted
32360 2011-03-19 Borut Razem <borut.razem AT gmail.com>
32362         * src/SDCCmain.c, src/SDCCutil.c, src/SDCCutil.h, src/SDCCmacro.c,
32363           src/SDCCmacro.h:
32364           fixed bug #3152525:
32365           sdcc doesn't pass double-quotes from -D option to sdcpp
32366         * debugger/mcs51/simi.c:
32367           call ioctl(sock, FIONBIO, &iMode)
32368           replaced with fcntl(sock, F_SETFL, FNONBLOCK | FASYNC) on *nix
32370 2011-03-19 Maarten Brock <sourceforge.brock AT dse.nl>
32372         * sdas/asxxsrc/asmain.c (main): fixed warning
32373         * sdas/linksrc/lkaomf51.c (OutputAOEMF51): fixed bug 1630751
32374           (ParseRegisters, CollectInfoFromCDB): get address for ascending registers
32375         * src/cdbFile.c: cosmetics
32376         * support/regression/fwk/lib/statics.c,
32377         * support/regression/tests/bug1477149.c: fixed for type float
32378         * sdas/linksrc/lkaomf51.c: disabled DODUMP
32380 2011-03-18 Borut Razem <borut.razem AT gmail.com>
32382         * sdas/asxxsrc/asmain.c:
32383           reverted incorrect fix for bug #3195019:
32384           option -o just instructs sdas to generate an object file,
32385           it doesn't take an object output file name as argument
32386         * sdas/asxxsrc/asmain.c:
32387           hopefully properly fixed bug #3195019
32389 2011-03-18 Maarten Brock <sourceforge.brock AT dse.nl>
32391         * src/cdbFile.c (cdbWriteBasicSymbol),
32392         * src/SDCCglue.c (emitDebugSym),
32393         * debugger/mcs51/symtab.c (gc_strcat, symLookup): concatenate module and
32394           function name seperated by . for locals to fix bug 1477149 with --debug
32395         * sdas/linksrc/lkaomf51.c (CollectInfoFromCDB): split S:L and L:L locals,
32396           F:F are static, check modules for L:F and L:X
32397         * src/SDCCdebug.c: cosmetics
32398         * src/SDCCglue.c (emitOverlay): fixed bug 1477149
32399         * support/regression/fwk/lib/statics.c,
32400         * support/regression/ports/ds390/fwk.lib,
32401         * support/regression/ports/gbz80/fwk.lib,
32402         * support/regression/ports/hc08/fwk.lib,
32403         * support/regression/ports/ucz80/fwk.lib,
32404         * support/regression/tests/bug1477149.c: new, added
32405         * support/regression/ports/ds390/spec.mk,
32406         * support/regression/ports/hc08/spec.mk,
32407         * support/regression/ports/mcs51-common/spec.mk
32408         * support/regression/ports/ucz80/spec.mk: added FWKLIB and statics.rel
32409         * support/regression/ports/host/spec.mk.in: added statics.o
32410         * support/regression/ports/mcs51-common/fwk.lib: added statics.rel
32411         * .version: bumped to 3.0.2
32412         * src/cdbFile.c (cdbWriteBasicSymbol): applied patch from bug 1627975,
32413           thanks sandra-l
32415 2011-03-17 Borut Razem <borut.razem AT gmail.com>
32417         * src/SDCCloop.c, src/SDCCsymt.c, src/SDCCast.c:
32418           fixed empty statement warnings
32419         * sdas/asxxsrc/asmain.c:
32420           fixed bug #3195019: sdcc generates .rel instead of .o
32421         * src/Makefile.in:
32422           removed -O2 from CPPFLAFS
32424 2011-03-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32426         * src/z80/ralloc2.cc,
32427           src/z80/gen.c,
32428           src/z80/ralloc.c,
32429           src/z80/main.c:
32430           Code reorganization for a more accurate cost function.
32432 2011-03-16 Philipp Klaus Krause <pkk AT spth.de>
32434         * src/SDCCralloc.hpp,
32435           src/z80/z80.h:
32436           Solaris fix.
32438 2011-03-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32440         * src/z80/ralloc2.cc,
32441           src/z80/gen.c,
32442           src/z80/gen.h,
32443           src/z80/z80.h:
32444           Code reorganization for a more accurate cost function.
32446 2011-03-15 Borut Razem <borut.razem AT gmail.com>
32448         * debugger/mcs51/configure.in, debugger/mcs51/configure:
32449           added C99_FLAG to CFLAGS and MAKEDEP for SunPro C compiler
32450         * debugger/mcs51/simi.c: include <sys/filio.h> in Solaris
32452 2011-03-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32454         * src/z80/main.c,
32455           src/z80/gen.h,
32456           src/z80/ralloc2.cc,
32457           src/z80/gen.c:
32458           Code reorganization for a more accurate cost function.
32460 2011-03-14 Maarten Brock <sourceforge.brock AT dse.nl>
32462         * src/SDCCglue.c (pointerTypeToGPByte),
32463         * src/ds390/gen.c (genCast): ds390 function pointer is no CPOINTER
32465 2011-03-14 Borut Razem <borut.razem AT gmail.com>
32467         * configure, configure.in: don't use C99_FLAG in CXXFLAGS
32468           for SunPro C++ compiler
32470 2011-03-13 Maarten Brock <sourceforge.brock AT dse.nl>
32472         * src/SDCCast.c (processParms): fixed bug 2084206,
32473           (getLeftResultType): return RESULT_TYPE_GPTR for generic pointers,
32474           (decorateType, CAST): don't change function pointer to CPOINTER
32475           when resulttype is generic pointer, necessary for varargs
32476         * support/regression/tests/bug2084206.c: new, added
32478 2011-03-13 Borut Razem <borut.razem AT gmail.com>
32480         * src/SDCCglobl.h: don't incude stdbool.h if compiled with c++
32482 2011-03-13 Philipp Klaus Krause <pkk AT spth.de>
32484         * src/z80/ralloc2.cc:
32485           Preparations for rematerialization support in new allocator.
32486         * src/z80/ralloc.c:
32487           Old register allocator cleanup.
32488         * src/z80/gen.c:
32489           Code reorganization for a more accurate cost function.
32491 2011-03-09 Philipp Klaus Krause <pkk AT spth.de>
32493         * src/SDCCopt.c,
32494           support/regression/tests/memory.c:
32495           Completed fix for #3188357.
32497 2011-03-07 Borut Razem <borut.razem AT gmail.com>
32499         * configure, configure.in, src/Makefile.in: CXXFLAGS fixes
32501 2011-03-06 Borut Razem <borut.razem AT gmail.com>
32503         * sim/ucsim/cmd.src/Makefile.in:
32504           fixed for bison, byacc and flex version 2.5.4
32506 2011-03-05 Philipp Klaus Krause <pkk AT spth.de>
32508         * src/SDCCopt.c:
32509           Partial fix for #3188357.
32511 2011-03-05 Borut Razem <borut.razem AT gmail.com>
32513         * sim/ucsim/configure, sim/ucsim/cmd.src/cmdlexcl.h,
32514           sim/ucsim/cmd.src/Makefile.in, sim/ucsim/cmd.src/newcmd.cc,
32515           sim/ucsim/cmd.src/cmdset.cc, sim/ucsim/cmd.src/cmdlex.l,
32516           sim/ucsim/cmd.src/newcmdposix.cc, sim/ucsim/cmd.src/newcmdwin32.cc,
32517           sim/ucsim/cmd.src/cmdpars.y, sim/ucsim/configure.in:
32518           use bison instead of unsupported bison++
32519         * sim/ucsim/cmd.src/flex_lexer.h, sim/ucsim/cmd.src/cmdpars.cc,
32520           sim/ucsim/cmd.src/cmdpars.h, sim/ucsim/cmd.src/FlexLexer.h,
32521           sim/ucsim/cmd.src/cmdlex.cc: deleted
32523 2011-03-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32525         * sim/ucsim/z80.src/inst_cb.cc:
32526           Fixed broken res b, a instruction.
32528 2011-03-02 Borut Razem <borut.razem AT gmail.com>
32530         * src/SDCCmain.c, doc/sdccman.lyx:
32531           fixed use of SDCC_LIB environment variable:
32532           first search in $SDCC_LIB/<model>
32533           then search in $SDCC_LIB
32535 2011-03-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32537         * src/z80/ralloc2.cc:
32538           Improved coalescing.
32539         * src/z80/gen.c,
32540           src/z80/peeph-z80.def:
32541           Minor improvements.
32543 2011-02-27 Philipp Klaus Krause <pkk AT spth.de>
32545         * src/z80/ralloc2.cc,
32546           src/z80/gen.c,
32547           src/z80/main.c,
32548           src/z80/peep.c,
32549           src/z80/peeph-z80.def:
32550           Various minor improvements.
32552 2011-02-26 Philipp Klaus Krause <pkk AT spth.de>
32554         * src/z80/peeph-z80.def
32555           Minor peephole improvements.
32557 2011-02-24 Borut Razem <borut.razem AT gmail.com>
32559         * doc/sdccman.lyx: fixed bug #3191324: PIC instructions in documentation
32561 2011-02-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32563         * src/mcs51/gen.c,
32564           src/z80/peeph-z80.def:
32565           Merge from trunk.
32567 2011-02-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32569         * src/z80/ralloc2.cc,
32570           src/z80/gen.c,
32571           src/z80/peeph-z80.def:
32572           Improvements for --optralloc-all.
32574 2011-02-20 Philipp Klaus Krause <pkk AT spth.de>
32576         * src/z80/main.c,
32577           src/z80/gen.c,
32578           src/z80/ralloc2.cc:
32579           Fixes for --fomit-frame-pointer.
32580         * src/mcs51/gen.c:
32581           Merge from trunk.
32583 2011-02-19 Philipp Klaus Krause <pkk AT spth.de>
32585         * src/SDCCralloc.hpp,
32586           src/z80/ralloc2.cc:
32587           Liverange fix.
32588         * src/z80/peep.c,
32589           src/z80/gen.c:
32590           Fixes for --reserve-regs-iy.
32591         * support/regression/tests/bug-3184920.c:
32592           Merge from trunk.
32594 2011-02-19 Maarten Brock <sourceforge.brock AT dse.nl>
32596         * debugger/mcs51/cmd.c,
32597         * debugger/mcs51/sdcdb.c,
32598         * debugger/mcs51/simi.c,
32599         * debugger/mcs51/symtab.c,
32600         * src/SDCCargs.h,
32601         * src/version.awk: cosmetic changes
32602         * src/pic14/gen.c (genDataPointerSet),
32603         * src/pic14/glue.c (emitIvals),
32604         * src/SDCCsystem.c: fixed warnings
32605         * src/SDCCerr.c (setWarningDisabled): check errNum
32606         * src/SDCCpeeph.c: added optimizeReturn
32607         * src/mcs51/peeph.def: disabled 237.x, fixed bug 1653651
32608         * src/SDCCglobl.h: added options.peepReturn
32609         * src/SDCCmain.c (parseCmdLine): added --peep-return & --no-peep-return
32610         * support/scripts/resource.rc: replaced include "winres.h" with "winresrc.h"
32611         * support/scripts/winres.h: deleted
32613 2011-01-18 Philipp Klaus Krause <pkk AT spth.de>
32615         * src/z80/peeph-z80.def,
32616           support/regression/tests/bug-3184920.c:
32617           Fix for #3184920 from trunk.
32619 2011-02-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32621         * support/scripts/sdcc.nsi:
32622           Merge from trunk.
32623         * src/z80/ralloc2.cc:
32624           Fix for --optralloc-all.
32625         * src/z80/gen.c:
32626           Fix for --reserve-regs-iy.
32628 2011-02-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32630         * src/SDCCralloc.hpp,
32631           src/z80/ralloc2.cc:
32632           Improved heuristics wrt. junction nodes.
32633         * src/version.awk,
32634           src/src.dsp,
32635           support/scripts/resource.rc:
32636           Merge from trunk.
32637         * src/z80/gen.c:
32638           Improved addition by increment.
32640 2011-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32642         * src/SDCCralloc.hpp,
32643           src/z80/ralloc2.cc:
32644           Early elimination of some impossible assignments.
32646 2011-02-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32648         * src/z80/ralloc2.cc,
32649           src/z80/gen.c:
32650           Avoid result overwriting operand bug in |.
32652 2011-02-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32654         * src/SDCCtree_dec.hpp,
32655           src/SDCCralloc.hpp,
32656           src/z80/ralloc2.cc:
32657           Changed style from Allman to GNU.
32659 2011-02-07 Borut Razem <borut.razem AT gmail.com>
32661         * Merged from trunk
32663 2011-02-06 Maarten Brock <sourceforge.brock AT dse.nl>
32665         * all.vcxproj: fixed missing ;'s
32666         * all.vcxproj.filters: added sdld6808, sdldgb, sdldz80
32668 2011-02-05 Philipp Klaus Krause <pkk AT spth.de>
32670         * src/SDCCicode.c (setOperandType),
32671           support/regression/tests/bug-221168.c,
32672           support/regression/tests/bug3166208.c:
32673           Maarten's fix of #3166208 from trunk.
32675 2011-02-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32677         * src/mcs51/gen.h,
32678           src/mcs51/gen.c,
32679           sdas/linksrc/Makefile.in,
32680           support/makebin/makebin.c,
32681           support/regression/tests/bug3130806.c:
32682           Fixes from trunk.
32684 2011-02-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32686         * sim/ucsim/z80.src/inst_cb.cc:
32687           Fixed #3166058.
32689 2011-01-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32691         * src/z80/ralloc2.cc:
32692           Improved handling of HL.
32694 2011-01-26 Philipp Klaus Krause <pkk AT spth.de>
32696         * src/z80/ralloc2.cc:
32697           Improved handling of HL.
32699 2011-01-26 Philipp Klaus Krause <pkk AT spth.de>
32701         * src/z80/ralloc2.cc,
32702           src/z80/peeph-z80.def:
32703           Improved handling of A and HL.
32705 2011-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32707         * Makefile.common.in,
32708           src/z80/ralloc2.cc,
32709           src/z80/gen.c,
32710           src/z80/peeph-z80.def:
32711           Improved handling of A and HL.
32713 2011-01-25 Borut Razem <borut.razem AT gmail.com>
32715         * src/z80/gen.c:
32716           removed MSCV 2010 warning C4018: '<' : signed/unsigned mismatch
32717         * src/SDCCsysytem.c, src/SDCCutil.c: removed MSCV 2010 warnings
32719 2011-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32721         * src/SDCCralloc.hpp,
32722           src/z80/ralloc2.cc:
32723           Improved handling of A and HL.
32725 2011-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32727         * src/SDCCglobl.h,
32728           src/SDCCralloc.hpp,
32729           std/SDCCmain.c,
32730           src/z80/z80.h,
32731           src/z80/main.c:
32732           Modified fix for MSVC 2010 warnings, changed handling of --max-allocs-per-node option.
32734 2011-01-24 Borut Razem <borut.razem AT gmail.com>
32736         * src/SDCCralloc.hpp, src/z80/main.c, src/z80/ralloc2.cc,
32737           src/z80/z80.h, src/z80/z80.vcxproj: fixed msvc 2010 warnings
32739 2011-01-24 Philipp Klaus Krause <pkk AT spth.de>
32741         * src/z80/ralloc2.cc,
32742           src/z80/gen.c:
32743           Improved handling of HL in the new allocator.
32745 2011-01-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32747         * src/z80/ralloc2.cc:
32748           Fixed bug in handling of register A.
32750 2011-01-24 Philipp Klaus Krause <pkk AT spth.de>
32752         * src/SDCCralloc.hpp,
32753           src/z80/ralloc2.cc,
32754           src/z80/z80.h,
32755           src/z80/main.c,
32756           src/z80/gen.c:
32757           Improved handling of A in the new register allocator and made it the default.
32759 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32761         * src/z80/z80.h,
32762           src/z80/main.c,
32763           src/z80/ralloc.c:
32764           Added option to handle hl, but not a (or iy) by new allocator.
32766 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32768         * src/z80/z80.h,
32769           src/SDCCtree_dec.hpp,
32770           src/z80/ralloc.c,
32771           src/z80/ralloc2.cc:
32772           Feature enable macro cleanup.
32774 2011-01-23 Borut Razem <borut.razem AT gmail.com>
32776         * sdcc.sln, */*.vcxproj: MSVC 2010 project files cleaning
32777         * */*.vcxproj.filters: added to svn
32778         * debugger/mcs51/simi.c:
32779           fixed warning C4273: '_environ' : inconsistent dll linkage
32780         * Merged from trunk
32782 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32784         * src/SDCCtree_dec.hpp,
32785           src/SDCCralloc.hpp,
32786           src/z80/ralloc2.cc:
32787           Re-rooting of the tree-decomposition.
32789 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32791         * src/SDCCtree_dec.hpp,
32792           src/SDCCralloc.hpp,
32793           src/z80/ralloc2.cc:
32794           Fixed MSVC++ compilation problem, preparations for re-rooting the tree decomposition.
32796 2011-01-23 Borut Razem <borut.razem AT gmail.com>
32798         * src/avr/avr.vcxproj, src/ds390/ds390.vcxproj, src/hc08/hc08.vcxproj,
32799           src/mcs51/mcs51.vcxproj, src/pic14/pic14.vcxproj,
32800           src/pic16/pic16.vcxproj, src/xa51/xa51.vcxproj, src/z80/z80.vcxproj:
32801           remove /Zm1000 command line option from all projects
32803 2011-01-22 Borut Razem <borut.razem AT gmail.com>
32805         * all.vcxproj, config.vcxproj, sdas/linksrc/sdld_all.vcxproj,
32806           src/avr/avra.vcxproj, src/ds390/ds390a.vcxproj,
32807           src/hc08/hc08a.vcxproj, src/mcs51/mcs51a.vcxproj,
32808           src/pic14/pic14a.vcxproj, src/pic16/pic16a.vcxproj,
32809           src/src.vcxproj, src/xa51/xa51a.vcxproj, src/yacc.vcxproj,
32810           src/z80/z80a.vcxproj, support/cpp/sdcppa.vcxproj:
32811           fixed Custom Builds
32813 2011-01-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32815         * src/SDCCtree_dec.hpp,
32816           src/SDCCralloc.hpp,
32817           src/z80/ralloc2.cc:
32818           Simplified allocation algorithm by requiring leafs of the tree decomposition to be empty.
32820 2011-01-22 Borut Razem <borut.razem AT gmail.com>
32822         * src/z80/main.c(598):
32823           fixed error C2065: 'false' : undeclared identifier
32825 2011-01-22 Philipp Klaus Krause <pkk AT spth.de>
32827         * src/SDCCtree_dec.hpp:
32828           Fixed vertex iterator / descriptor problem that caused errors in MSVC++.
32830 2011-01-22 Philipp Klaus Krause <pkk AT spth.de>
32832         * src/SDCCralloc.hpp,
32833           src/z80/main.c:
32834           Disabled forgotten debug message.
32836 2011-01-22 Philipp Klaus Krause <pkk AT spth.de>
32838         * src/Makefile.in,
32839           src/SDCCralloc.hpp,
32840           src/z80/z80.h,
32841           src/z80/main.c,
32842           src/z80/ralloc.c,
32843           src/z80/ralloc2.cc:
32844           Added option to enable experimental support for A and HL.
32846 2011-01-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32848         * src/SDCCtree_dec.hpp:
32849           Added missing boost:: prefix.
32851 2011-01-21 Maarten Brock <sourceforge.brock AT dse.nl>
32853         * sdcc.sln,
32854         * [*].vcxproj: added project files for Microsoft Visual C++ Express 2010
32856 2011-01-21 Maarten Brock <sourceforge.brock AT dse.nl>
32858         * sdas/linksrc/sdld_all.dsp: renamed dldgb.exe to sdldgb.exe
32859         * src/avr/gen.c,
32860         * src/ds390/gen.c,
32861         * src/ds390/ralloc.c,
32862         * src/hc08/gen.c,
32863         * src/mcs51/gen.c,
32864         * src/pic14/gen.c,
32865         * src/pic14/ralloc.c,
32866         * src/pic16/gen.c,
32867         * src/pic16/genutils.c,
32868         * src/SDCCicode.c,
32869         * src/SDCCicode.h,
32870         * src/SDCClrange.c,
32871         * src/xa51/ralloc.c,
32872         * src/z80/gen.c,
32873         * src/z80/ralloc.c,
32874         * src/z80/ralloc2.cc: renamed union operand to union svt,
32875           added OP_KEY and OP_TYPE, use OP_xxx macros more often
32877 2011-01-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32879         * src/SDCCralloc.hpp,
32880           src/z80/ralloc.h,
32881           src/z80/ralloc.c,
32882           src/z80/ralloc2.cc:
32883           Handle A in new register allocator.
32885 2011-01-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32887         * src/z80ralloc2.cc:
32888           Reg name cleanup.
32890 2011-01-18 Philipp Klaus Krause <pkk AT spth.de>
32892         * src/z80ralloc2.cc:
32893           Preparaton for use of a and hl in the new allocator.
32895 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32897         * src/SDCCtree_dec.hpp:
32898           Fixed const-correctness of iterators.
32900 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32902         * src/ralloc2.cc:
32903           Fixed confusion of std::map/std::multimap iterators.
32905 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32907         * src/SDCCtree_dec.hpp
32908           Fixed std::vector<bool> active initalization in tree_decomposition_from_elimination_ordering()
32910 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32912         * src/SDCCralloc.hpp,
32913           src/z80/ralloc2.cc:
32914           Made operands in assign_cost() const.
32916 2011-01-17 Maarten Brock <sourceforge.brock AT dse.nl>
32918         * src/SDCCralloc.hpp: do not include "sdccconf.h" directly, it does not
32919           exist when building with MSVC. Let it come through SDCCglobl.h
32921 2011-01-17 Borut Razem <borut.razem AT gmail.com>
32923         * Merged from trunk
32925 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32927         * src/SDCCicode.h,
32928           src/SDCCicode.c,
32929           src/SDCCralloc.hpp,
32930           src/z80/ralloc2.cc:
32931           Split validateOpType() into const and non-const version.
32933 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32935         * src/SDCCralloc.hpp:
32936           Some documenting comments.
32938 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32940         * src/z80/ralloc2.cc:
32941           Fixed some forgotten debug statements.
32943 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32945         * src/SDCCralloc.hpp,
32946           src/z80/ralloc2.cc:
32947           Fixed the allocator for gbz80.
32949 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32951         * src/SDCCtree_dec.hpp,
32952           src/z80/tree_dec.hh,
32953           src/SDCCralloc.hpp,
32954           src/z80/ralloc2.cc:
32955           Moved some generic parts of the new allocator out of the z80 directory.
32957 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32959         * src/z80/ralloc2.cc:
32960           Type fixes.
32962 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32964         * src/z80/ralloc2.cc:
32965           Preparations for the use of a better cost function and handling a, hl and iy in the new allocator.
32967 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32969         * src/SDCCsymt.h,
32970           src/z80/ralloc.c,
32971           src/z80/ralloc2.cc:
32972           Improved variable handling and C++ standard conformance.
32974 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32976         * src/z80/ralloc2.cc:
32977           Removed local assignment map.
32979 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32981         * configure.in,
32982           configure,
32983           Makefile.common.in,
32984           src/Makefile.in,
32985           src/port.mk,
32986           src/SDCCsymt.h,
32987           src/SDCCsymt.c,
32988           src/z80/z80.h,
32989           src/z80/main.c,
32990           src/z80/ralloc.h,
32991           src/z80/ralloc.c,
32992           src/z80/tree_dec.hh,
32993           src/z80/ralloc2.cc:
32994           Initial import of the new register allocator.
32996 2011-01-16 Borut Razem <borut.razem AT gmail.com>
32998         * Created Optimal Register allocator (optralloc) branch
33000 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
33002         * SDCClrange.h,
33003           SDCClrange.c:
33004           Comment on the effects of dead code on live ranges.
33006 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
33008         * src/SDCCicode.h,
33009           src/SDCCicode.c:
33010           Make argument to validateOpType const.
33012 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
33014         * src/z80/peeph-z80.def:
33015           Two new peephole rules, optimizing code frequently generated by the new allocator.
33017 2011-01-16 Borut Razem <borut.razem AT gmail.com>
33019         * support/regression/collate-results.py: count invalid instructions
33020         * sim/ucsim/z80.src/inst_xxcb.cc (inst_XXcb_set): fixed SET and RES handling
33022 2011-01-15 Borut Razem <borut.razem AT gmail.com>
33024         * src/SDCCmain.c, src/SDCCdwarf2.c, src/SDCCdwarf2.h, src/z80/gen.c,
33025           src/SDCCglobl.h, src/pic16/pcode.h, src/pic16/pcode.c,
33026           src/SDCCsystem.c, src/SDCC.lex:
33027           code cleaning: removed warnings, use const char *
33028         * src/pic14/glue.c (emitIvals): removed empty line generation
33030 2011-01-15 Philipp Klaus Krause <pkk AT spth.de>
33032         * SDCCglobl.h:
33033           Use Maarten's better bool scheme.
33035 2011-01-15 Philipp Klaus Krause <pkk AT spth.de>
33037         * configure,
33038           configure.in,
33039           src/Makefile.in,
33040           Makefile.common.in,
33041           src/port.mk,
33042           src/SDCCsymt.h,
33043           src/SDCCsymt.c,
33044           src/SDCClrange.c,
33045           src/z80/z80.h,
33046           src/z80/main.c,
33047           src/z80/ralloc.h,
33048           src/z80/ralloc.c,
33049           src/z80/tree_dec.hh,
33050           src/z80/ralloc2.cc,
33051           src/z80/peeph-z80.def:
33052           Reverted to old register allocator.
33054 2011-01-15 Philipp Klaus Krause <pkk AT spth.de>
33056         * src/z80/ralloc2.cc:
33057           Small change for MSVC compability:
33059 2011-01-14 Philipp Klaus Krause <pkk AT spth.de>
33061         * src/z80/tree_dec.hh,
33062           src/z80/ralloc2.cc:
33063           Added GPLv2 or later license text.
33065 2011-01-14 Philipp Klaus Krause <pkk AT spth.de>
33067         * src/z80/ralloc.c:
33068           Remove some no longer used remains of the old register allocator.
33070 2011-01-14 Philipp Klaus Krause <pkk AT spth.de>
33072         * src/z80/main.c:
33073           Enable new register allocator options for the GBZ80.
33075 2011-01-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33077         * src/z80/ralloc.c,
33078           src/z80/ralloc2.cc:
33079           Use new register allocator for the GBZ80.
33081 2011-01-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33083         * configure,
33084           configure.in,
33085           src/Makefile.in,
33086           Makefile.common.in,
33087           src/port.mk,
33088           src/SDCCsymt.h,
33089           src/SDCCsymt.c,
33090           src/SDCClrange.c,
33091           src/z80/z80.h,
33092           src/z80/main.c,
33093           src/z80/ralloc.h,
33094           src/z80/ralloc.c,
33095           src/z80/tree_dec.hh,
33096           src/z80/ralloc2.cc,
33097           src/z80/peeph-z80.def:
33098           New register allocator for the Z80.
33100 2011-01-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33102         * src/SDCCglobl.h:
33103           Use bool from stdbool.h, except for MSVC, where unsigned char is used. For #3150686.
33105 2011-01-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33107         * src/SDCCsymt.h,
33108           src/SDCCval.c,
33109           src/SDCCsymt.c:
33110           Changed class to xclass in sym_link for C++ compability, for #3150686.
33112 2011-01-11 Maarten Brock <sourceforge.brock AT dse.nl>
33114         * src/SDCCicode.c (geniCodeAdd): fixed bug 3153956
33115         * support/regression/tests/bug3037889.c: added test for bug 3153956
33117 2010-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
33119         * debugger/mcs51/simi.c (waitForSim): implemented timeout,
33120           (openSimulator): use non-blocking socket mode
33122 2010-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
33124         * debugger/mcs51/cmd.c (commonSetUserBp): fixed bug 1185014
33126 2010-12-19 Borut Razem <borut.razem AT siol.net>
33128         * src/ds390/main.c, src/Makefile.in, src/SDCCbuild_cmd.c,
33129           src/SDCCbuild_cmd.h, src/SDCCmain.c, src/src.dsp, src/z80/main.c:
33130           support/Util/BuildCmd.[ch] moved / renamed to src/SDCCbuild_cmd.[ch]
33132 2010-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
33134         * debugger/mcs51/cmd.c (printOrSetSymValue),
33135         * debugger/mcs51/simi.h (memcache_t),
33136         * debugger/mcs51/simi.c (getMemCache, getMemString, simSetValue,
33137           simGetValue): made size unsigned
33138           (init_winsock): fixed uninitialized iResult,
33139           (openSimulator): removed intptr_t cast
33140         * debugger/mcs51/sdcdb.c: include <direct.h> for chdir(),
33141           (parseCmdLine): access() is not portable, replaced with fopen/fclose,
33142           (main): fixed bug 3137466
33143         * debugger/mcs51/sdcdb.h: include sdcc_vc.h or sdcccon.h
33144         * debugger/mcs51/sdcdb.dsp: new, added
33145         * sdcc.dsw: added sdcdb.dsp
33146         * sdas/asxxsrc/asmain.c (asmbl): error only if is_sdas()
33147         * debugger/mcs51/sdcdb.c (searchDirsFname): retry with '_' replaced
33148           with '.'
33150 2010-12-18 Maarten Brock <sourceforge.brock AT dse.nl>
33152         * sdas/as8051/i51adr.c,
33153         * sdas/as8051/i51ext.c,
33154         * sdas/as8051/i51mch.c,
33155         * sdas/as8051/i51pst.c,
33156         * sdas/as8051/i8051.h,
33157         * sdas/asxxsrc/asdata.c,
33158         * sdas/asxxsrc/asdbg.c,
33159         * sdas/asxxsrc/aslex.c,
33160         * sdas/asxxsrc/aslist.c,
33161         * sdas/asxxsrc/asout.c,
33162         * sdas/asxxsrc/assubr.c,
33163         * sdas/asxxsrc/assym.c,
33164         * sdas/asxxsrc/asxxxx.h,
33165         * sdas/asxxsrc/sdas.c,
33166         * sdas/asxxsrc/strcmpi.c: cosmetic, replaced tabs with spaces
33167         * sdas/asxxsrc/asmain.c (asmbl): error on multiple mnemonics on one line
33168         * support/cpp/libcpp/include/cpplib.h: added PREV_NL
33169         * support/cpp/libcpp/lex.c (_cpp_process_line_notes, cpp_output_line),
33170         * support/cpp/c-ppoutput.c (scan_translation_unit): fix macros w/o __asm
33171         * support/regression/tests/bug1505956.c: new, added
33173 2010-12-16 Maarten Brock <sourceforge.brock AT dse.nl>
33175         * support/cpp/c-ppoutput.c (scan_translation_unit): fix bug 1505956/1406219
33176         * support/cpp/libcpp/include/cpplib.h: added IN_ASM
33177         * support/cpp/libcpp/internal.h: added n__endasm to spec_nodes
33178         * support/cpp/libcpp/lex.c (_cpp_process_line_notes): return int in_asm on
33179           continued inline asm lines,
33180           (_cpp_lex_direct): set/reset in_asm flag,
33181           (cpp_output_line): insert __endasm; __asm to fix bug 1505956/1406219
33182         * support/cpp/libcpp/macro.c (macro_real_token_count): fixed warning
33183         * support/cpp/sdcpp.c (sdcpp_init_options): init n__endasm
33185 2010-12-14 Borut Razem <borut.razem AT siol.net>
33187         * src/SDCCdwarf2.c, src/SDCCset.c, src/pic16/pcode.c:
33188           fixed some defects, reported by Wipro DeepCheck static analysis tool
33190 2010-12-13 Borut Razem <borut.razem AT siol.net>
33192         * src/pic14/main.c, src/pic16/main.c:
33193           fixed bug #3113082: Filenames with spaces fail on pic backend
33195 2010-12-11 Borut Razem <borut.razem AT siol.net>
33197         * src/pic14/main.c:
33198           fixed bug #3135245: --use-non-free set the wrong dir for the lib
33200 2010-12-10 Philipp Klaus Krause <pkk AT spth.de>
33202         * src/z80/gen.c:
33203           Fixed signed comparison for gbz80.
33205 2010-12-06 Philipp Klaus Krause <pkk AT spth.de>
33207         * src/SDCCsymt.c:
33208           Optimized boolean ternary operator.
33210 2010-12-06 Borut Razem <borut.razem AT siol.net>
33212         * src/Makefile.in, src/SDCCmain.c, src/src.dsp,
33213           src/pic14/main.c, src/z80/main.c, src/pic16/main.c,
33214           src/ds390/main.c, src/SDCCsystem.c, src/SDCCsystem.h:
33215           support/Util/MySystem.[ch] moved / renamed src/SDCCsystem.[ch]
33216         * src/SDCCargs.h, src/SDCCasm.h, src/SDCCast.h:
33217           cosmetic changes
33219 2010-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
33221         * device/include/stdio.h,
33222         * device/lib/printf_fast.c,
33223         * device/lib/printf_tiny.c: fixed bug 3108582
33225 2010-12-05 Maarten Brock <sourceforge.brock AT dse.nl>
33227         * src/z80/peep.c (z80instructionSize): fixed warning
33228         * support/regression/tests/bug-3117729.c: fixed and enabled for mcs51
33230 2010-12-05 Borut Razem <borut.razem AT siol.net>
33232         * Makefile.in:
33233           fixed bug #312815: Top level Makefile variable is mis-spelled
33235 2010-12-02 Philipp Klaus Krause <pkk AT spth.de>
33237         * support/regression/tests/bug-3117729.c:
33238           Disabled test for mcs51.
33240 2010-11-29 Philipp Klaus Krause <pkk AT spth.de>
33242         * support/regression/tests/bug-3117729.c:
33243           Added bug description.
33245 2010-11-28 Philipp Klaus Krause <pkk AT spth.de>
33247         * src/z80/peeph-z80.def,
33248           support/regression/tests/bug-3117729.c:
33249           Fixed #3117729, minor peephole improvements.
33251 2010-11-28 Philipp Klaus Krause <pkk AT spth.de>
33253         * src/SDCCpeeph.c,
33254           src/z80/peep.c:
33255           Fixed #3117748, improved fix for #3109557.
33257 2010-11-26 Raphael Neider <rneider AT web.de>
33259         * src/pic14/glue.c (emitIvals): end retlw instruction with newline,
33260           fixes #3119071.
33262 2010-11-21 Philipp Klaus Krause <pkk AT spth.de>
33264         * src/z80/peep.c,
33265           src/SDCCpeeph.c:
33266           Fixed #3109557.
33268 2010-11-21 Philipp Klaus Krause <pkk AT spth.de>
33270         * src/z80/peeph-z80.def:
33271           Minor peephole fix.
33273 2010-11-15 Maarten Brock <sourceforge.brock AT dse.nl>
33275         * src/ds390/main.c (_ds390_genIVT, _ds390_genInitStartup): keep flat24 mode
33276           off before _sdcc_external_startup is called
33277         * device/lib/ds390/tinibios.c (_sdcc_external_startup): pop 16 bit address,
33278           push 24 bit, don't call anything before the changeover to flat24 mode
33279         * support/regression/ports/ds390/spec.mk: start uCsim in 16 bit mode
33281 2010-11-07 Borut Razem <borut.razem AT siol.net>
33283         * Makefile.common.in, sdcc_vc_in.h, sdccconf_in.h, src/pic14/main.c,
33284           src/port.h, src/SDCCast.c, src/SDCCmain.c, src/SDCCopt.c,
33285           src/SDCCpeeph.c, src/SDCCsymt.c:
33286           TARGET_ID_PIC1 renamed to TARGET_ID_PIC14,
33287           TARGET_IS_PIC renamed to TARGET_IS_PIC14
33288           OPT_DISABLE_PIC renamed to OPT_DISABLE_PIC14
33289         * support/Util/dbuf.c, support/Util/dbuf.h: added function dbuf_detach_c_str()
33291 2010-11-06 Borut Razem <borut.razem AT siol.net>
33293         * support/Util/MySystem.c: use native WIN32 API calls in sdcc_pclose()
33295 2010-11-05 Borut Razem <borut.razem AT siol.net>
33297         * support/Util/MySystem.c: use native WIN32 sdcc_popen and sdcc_pclose
33298           solution due to a bug in wine msvrct.dll popen implementation
33299         * support/Util/MySystem.c, support/Util/MySystem.h,  src/SDCCmain.c,
33300           src/ds390/main.c, src/pic14/main.c, src/pic16/main.c, src/z80/main.c:
33301           my_xxxx() renamed to sdcc_xxxx()
33303 2010-11-05 Philipp Klaus Krause <pkk AT spth.de>
33305         * src/SDCCcse.c:
33306           Optimization for & on booleans.
33307         * src/z80/gen.c,
33308           src/z80/peeph-z80.def,
33309           support/regression/tests/bitopcse.c:
33310           Fixes for z80 using --reserve-regs-iy and gbz80.
33312 2010-11-05 Raphael Neider <rneider AT web.de>
33314         * sdas/as8051/Makefile.in,
33315           sdas/asz80/Makefile.in,
33316           sdas/as6808/Makefile.in,
33317           sdas/asgb/Makefile.in: fix order of linking with -lm
33319 2010-11-03 Philipp Klaus Krause <pkk AT spth.de>
33321         * src/z80/gen.c,
33322           src/z80/peep.c:
33323           Improvements relating to the use of hl as an alternative to iy.
33325 2010-11-03 Philipp Klaus Krause <pkk AT spth.de>
33327         * src/SDCCpeeph.h,
33328           src/z80/gen.c,
33329           src/z80/ralloc.c,
33330           src/z80/main.c,
33331           src/z80/z80.h,
33332           src/z80/peeph-z80.def:
33333           Some steps towards implementing #3074318, and minor gbz80 fixes.
33335 2010-11-03 Philipp Klaus Krause <pkk AT spth.de>
33337         * src/z80/gen.c,
33338           src/z80/peep.c:
33339           Fixed #3093447.
33341 2010-11-03 Maarten Brock <sourceforge.brock AT dse.nl>
33343         * src/SDCCmain.c (setIncludePath): fixed uninitialized target
33345 2010-11-03 Borut Razem <borut.razem AT siol.net>
33347         * device/include/pic14/sdcc-lib.h:
33348           directories */pic renamed to */pic14
33350 2010-11-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
33352         * src/mcs51/peeph.def: added peepholes 248.n to 248.p
33353           optimizing and/or/xor to xdata arrays
33355 2010-11-02 Borut Razem <borut.razem AT siol.net>
33357         * device/include/Makefile.in, device/non-free/include/Makefile.in,
33358           device/lib/Makefile.in, device/lib/pic14/configure,
33359           device/lib/pic14/configure.in, device/lib/pic14/Makefile.common.in,
33360           device/lib/pic16/aclocal.m4, device/lib/pic16/configure,
33361           device/lib/pic16/configure.ac, device/non-free/lib/Makefile.in,
33362           device/non-free/lib/pic14/configure,
33363           device/non-free/lib/pic14/configure.in,
33364           device/non-free/lib/pic14/libdev/Makefile.in,
33365           device/non-free/lib/pic14/libdev/mkall.sh,
33366           device/non-free/lib/pic14/Makefile.common.in,
33367           device/non-free/lib/pic16/configure,
33368           device/non-free/lib/pic16/configure.ac:
33369           directories */pic renamed to */pic14
33371 2010-11-01 Borut Razem <borut.razem AT siol.net>
33373         * Small Device C Compiler 3.0.0 released
33374         * .version, doc/sdccman.lyx: changed sdcc version to 3.0.1
33375         * device/include/pic, device/include/asm/pic, device/lib/pic,
33376           device/non-free/include/pic, device/non-free/lib/pic,
33377           sdcc/src/pic: renamed to */pic14
33378         * configure, configure.in, regression/Makefile, src/SDCCmain.c,
33379           device/include/Makefile.in, device/non-free/include/Makefile.in,
33380           support/regression/ports/pic14/spec.mk, support/scripts/sdcc.nsi,
33381           device/non-free/lib/Makefile.in, device/lib/Makefile.in,
33382           sdcc.dsw, src/pic14/pic14.dsp, src/pic14/pic14a.dsp, src/src.dsp:
33383           directories */pic renamed to */pic14
33384         * src/pic16/gen.c: _naked renamed to __naked
33385         * support/scripts/repack_release.sh:
33386           fix if the packages are not in current directory
33388 2010-10-23 Borut Razem <borut.razem AT siol.net>
33390         * device/lib/pic/libsdcc/fs2ulong.c, device/lib/pic/libsdcc/fslt.c,
33391           device/lib/pic/libsdcc/fseq.c, device/lib/pic/libsdcc/ulong2fs.c,
33392           device/lib/pic/libsdcc/fsgt.c, device/lib/pic/libsdcc/fsdiv.c,
33393           device/lib/pic/libsdcc/fsneq.c, device/lib/pic/libsdcc/fsadd.c,
33394           device/lib/pic/libsdcc/fssub.c, device/lib/pic/libsdcc/fsmul.c,
33395           device/lib/ds400/ds400rom.c:
33396           sdcc library license changed to GPL+LE
33397         * support/scripts/sdcc.nsi:
33398           no need to copy readline5.dll
33400 2010-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
33402         * doc/sdccman.lyx: documented --model-huge and other small updates
33404 2010-10-17 Borut Razem <borut.razem AT siol.net>
33406         * support/cpp/sdcpp-opts.c:
33407           fixed bug #3088672: -M (& -MM) not suppressing warnings
33408         * doc/sdccman.lyx: small cosmetic changes
33410 2010-10-16 Maarten Brock <sourceforge.brock AT dse.nl>
33412         * device/include/mcs51/C8051F920.h: patch 3088689, thanks Steven Borley
33414 2010-10-16 Raphael Neider <rneider AT web.de>
33416         * device/lib/Makefile.in, device/non-free/lib/Makefile.in:
33417           fix parallel make on cygwin by preventing multiple rules
33418           from generating the same library files
33420 2010-10-14 Raphael Neider <rneider AT web.de>
33422         * device/lib/pic/configure.in,
33423           device/lib/pic16/configure.ac,
33424           device/non-free/lib/pic/configure.in,
33425           device/non-free/lib/pic16/configure.ac: abort configure if gputils
33426           are unavailable while the pic14 or pic16 port is enabled
33427         * device/lib/pic/configure,
33428           device/lib/pic16/configure,
33429           device/non-free/lib/pic/configure,
33430           device/non-free/lib/pic16/configure: regenerated
33431         * device/non-free/lib/Makefile.in: avoid trying to install from
33432           non-existing BUILDDIR (if both pic ports are disabled)
33433         * doc/sdccman.lyx: fix supported pic14 devices (16hv616 and 16hv785)
33434         * src/SDCCmain.c (setIncludePath): do not use 'target' uninitialized
33436 2010-10-12 Raphael Neider <rneider AT web.de>
33438         * src/SDCCmain.c (setIncludePath): handle special case of pic14 paths
33439         * src/pic/main.c (__pic14_initPaths): removed, handled in SDCCmain.c
33441 2010-10-12 Borut Razem <borut.razem AT siol.net>
33443         * device/lib/pic/Makefile.in, device/non-free/lib/pic/Makefile.in:
33444           fixed target "all" if gputils not found
33446 2010-10-11 Borut Razem <borut.razem AT siol.net>
33448         * doc/sdccman.lyx: fixes proposed by Sebastien Lorquet
33450 2010-10-10 Borut Razem <borut.razem AT siol.net>
33452         * support/cpp/sdcpp-diagnostic.c, support/cpp/sdcpp.h:
33453           define inhibit_warnings
33454         * src/SDCCmain.c: removed readCfgFile() call
33455         * support/scripts/sdcc.nsi:
33456           added include/ds390/*.h and include/ds400/*.h to the package
33457         * src/regression/Makefile, src/regression/inline.c,
33458           src/regression/string1.c: added non-free search path,
33459           fixed deprecated keyword warnings
33460         * device/lib/Makefile.in device/non-free/lib/Makefile.in:
33461           fixed bug #3084827:
33462           Building fails at non-free when disabling PIC/PIC16
33464 2010-10-09 Borut Razem <borut.razem AT siol.net>
33466         * support/cpp/auto-host_vc_in.h, support/cpp/libcpp/include/cpplib.h,
33467           support/cpp/sdcpp-diagnostic.c:
33468           fixed bug #3080422: #error not working as expected
33469         * src/SDCCmain.c, src/SDCCglobl.h:
33470           --non-free and SDCC_NON_FREE changed to --use-non-free and
33471           SDCC_USE_NON_FREE
33472         * doc/sdccman.lyx: documented --non-free
33473         * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
33474           changed sdcc version to 3.0.0
33475         * src/SDCCmain.c: removed function readCfgFile()
33476         * support/scripts/repack_release.sh:
33477           fixed typo
33479 2010-10-08 Borut Razem <borut.razem AT siol.net>
33481         * sim/ucsim/s51.src/Makefile.in:
33482           fixed bug 3082829: S51 is not installed in recent SDCC versions
33484 2010-10-06 Borut Razem <borut.razem AT siol.net>
33486         * sdcc/configure, sdcc/configure.in:
33487           show non-free search paths
33488         * support/scripts/sdcc_mingw32, support/scripts/sdcc_cygwin_mingw32:
33489           define non_free_include_dir_suffix and non_free_lib_dir_suffix
33490         * support/scripts/sdcc.nsi:
33491           remove non-free directory on uninstall
33492         * support/regression/ports/pic14/spec.mk,
33493           support/regression/ports/pic16/spec.mk:
33494           add --non-free option for pic* regression tests
33496 2010-10-05 Borut Razem <borut.razem AT siol.net>
33498         * support/scripts/sdcc.nsi:
33499           added non-free/lib/pic*/*.lib files to the win32 setup package,
33500           remove non-free directory on uninstall
33502 2010-10-04 Borut Razem <borut.razem AT siol.net>
33504         * src/SDCCmain.c: defined symbol SDCC_NON_FREE when --non-free command
33505           line option is used
33506         * configure.in, configure, Makefile.in, device/lib/pic/configure.in,
33507           device/lib/pic/configure, device/lib/pic/Makefile.in,
33508           device/lib/pic/Makefile.common.in, device/lib/pic16/configure.ac,
33509           device/lib/pic16/configure, device/lib/pic16/Makefile.am,
33510           device/lib/pic16/Makefile.in,
33511           device/lib/pic16/Makefile.common,
33512           device/lib/pic16/libm/Makefile.in,
33513           device/lib/pic16/debug/Makefile.in,
33514           device/lib/pic16/libio/Makefile.in,
33515           device/lib/pic16/startup/Makefile.in,
33516           device/lib/pic16/libsdcc/Makefile.in,
33517           device/lib/pic16/libc/Makefile.in,
33518           support/scripts/sdcc.nsi:
33519           pic* device files moved to non-free
33520         * device/include/pic/*.h: moved to device/non-free/include/pic
33521         * device/include/pic16/*.h: moved to device/non-free/include/pic16
33522         * device/lib/pic/libdev/*.c, device/lib/pic/libdev/mkall.sh:
33523           moved to device/non-freelib/pic/libdev
33524         * device/lib/pic16/libdev/*.c, device/lib/pic16/libdev/mkmk.sh,
33525           device/lib/pic16/libdev/Makefile.am,
33526           device/lib/pic16/libdev/Makefile.in:
33527           moved to device/non-free/lib/pic16/libdev
33528         * device/lib/pic16/pics.all: moved to device/non-free/lib/pic16
33529         * device/non-free/include/Makefile.in,
33530           device/non-free/include/clean.mk,
33531           device/non-free/lib/pic16/config.h.in,
33532           device/non-free/lib/pic16/configure,
33533           device/non-free/lib/pic16/Makefile.in,
33534           device/non-free/lib/pic16/configure.ac,
33535           device/non-free/lib/pic16/Makefile.common,
33536           device/non-free/lib/pic16/bootstrap.sh,
33537           device/non-free/lib/pic16/depcomp,
33538           device/non-free/lib/pic16/Makefile.am,
33539           device/non-free/lib/pic16/missing,
33540           device/non-free/lib/pic16/aclocal.m4,
33541           device/non-free/lib/pic16/install-sh,
33542           device/non-free/lib/Makefile.in,
33543           device/non-free/lib/clean.mk,
33544           device/non-free/lib/pic/configure,
33545           device/non-free/lib/pic/Makefile.in,
33546           device/non-free/lib/pic/Makefile.subdir,
33547           device/non-free/lib/pic/configure.in,
33548           device/non-free/lib/pic/Makefile.rules,
33549           device/non-free/lib/pic/Makefile.common.in,
33550           device/non-free/lib/incl.mk: added
33552 2010-10-03 Borut Razem <borut.razem AT siol.net>
33554         * device/include/mcs51/ser_ir.h, device/lib/ser_ir_cts_rts.c,
33555           device/lib/ser_ir.c, device/include/pic16/pic18fregs.h:
33556           sdcc library license changed to GPL+LE
33557         * configure.in, configure, sdccconf_in.h, sdcc_vc_in.h:
33558           introduced NON_FREE_INCLUDE_DIR_SUFFIX and NON_FREE_LIB_DIR_SUFFIX
33559         * src/SDCCmain.c, src/SDCCglobl.h:
33560           search / include non-free libraries and header files
33561         * .version, doc/sdccman.lyx: bumped version to 2.9.8
33563 2010-10-02 Maarten Brock <sourceforge.brock AT dse.nl>
33565         * device/include/stdlib.h,
33566         * device/lib/_atof.c,
33567         * device/lib/_atoi.c,
33568         * device/lib/_atol.c: fixed const in prototypes
33570 2010-09-28 Philipp Klaus Krause <pkk AT spth.de>
33572         * src/SDCCsymt.c,
33573           support/regression/tests/bug-3034585.c:
33574           Fixed #3034585.
33576 2010-09-27 Maarten Brock <sourceforge.brock AT dse.nl>
33578         * src/SDCCerr.c,
33579         * src/SDCCerr.h: added W_DEPRECATED_OPTION
33580         * src/ds390/main.c,
33581         * src/mcs51/main.c,
33582         * src/SDCCmain.c (linkEdit): deprecated --no-pack-iram
33584 2010-09-26 Philipp Klaus Krause <pkk AT spth.de>
33586         * src/hc08/peeph.def:
33587           Fixed #1715020.
33588         * src/SDCCerr.h,
33589           src/z80/gen.c,
33590           src/SDCCast.c:
33591           Minor spelling corrections in comments.
33593 2010-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
33595         * src/SDCCicode.c (geniCodeStruct): fixed bug 3029630
33596         * support/regression/tests/bug3029630.c: new, added
33598 2010-09-24 Borut Razem <borut.razem AT siol.net>
33600         * device/include/mcs51/XC866.h: fixed copy & paste error in the comment
33602 2010-09-22 Borut Razem <borut.razem AT siol.net>
33604         * device/include/mcs51/XC866.h, device/include/mcs51/reg764.h,
33605           device/include/mcs51/at89s8253.h:
33606           sdcc library license changed to GPL+LE
33608 2010-09-20 Philipp Klaus Krause <pkk AT spth.de>
33610         * src/doc/sdccman.lyx:
33611           Fixed #3071726.
33613 2010-09-19 Borut Razem <borut.razem AT siol.net>
33615         * support/regression/ports/pic14/spec.mk,
33616           support/regression/ports/pic16/spec.mk,
33617           support/regression/ports/ds390/spec.mk,
33618           support/regression/ports/hc08/spec.mk,
33619           support/regression/ports/ucz80/spec.mk,
33620           support/regression/ports/mcs51-common/spec.mk:
33621           fixed mingw32 cross compiled regression tests:
33622           include top source directory when cross compiling,
33623           launch win32 native simulator with wine,
33624           removed wrong quotes, call build machine native timeout utility
33625         * src/SDCCmain.c, src/ds390/main.c:
33626           ds390 default library path was wrong
33627         * src/SDCC.lex: implemented punctuators, as defined in
33628           ISO/IEC 9899:1999, chapter 6.4.6#3
33629           support/regression/tests/preproc.c: punctuators regression test
33631 2010-09-19 Maarten Brock <sourceforge.brock AT dse.nl>
33633         * src/SDCCicode.c (geniCodeJumpTable): fixed bug 3069862
33634         * support/regression/tests/bug2947189.c: new, added
33636 2010-09-18 Borut Razem <borut.razem AT siol.net>
33638         * debugger/mcs51/cmd.c:
33639           fixed warning: suggest explicit braces to avoid ambiguous 'else'
33641 2010-09-18 Philipp Klaus Krause <pkk AT spth.de>
33643         * src/doc/sdccman.lyx:
33644           Minor update in ANSI conformance section.
33646 2010-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
33648         * src/SDCCast.c (ast_print): fixed for MSVC
33649         * src/SDCCicode.c (geniCodeJumpTable): fixed bug 2947189
33650         * support/librarian/sdcclib.c: test return values of system and fgets
33652 2010-09-13 Borut Razem <borut.razem AT siol.net>
33654         * device/lib/_divulong.c, device/lib/_decdptr.c, device/lib/_divuint.c,
33655           device/lib/pic16/libsdcc/long/divulong.c,
33656           device/lib/pic16/libsdcc/int/divuint.c,
33657           device/lib/pic16/libsdcc/char/divuchar.c,
33658           device/lib/hc08/_divuint.c, device/lib/hc08/_divulong.c,
33659           device/lib/hc08/_mullong.c:
33660           sdcc library license changed to GPL+LE
33662 2010-09-13 Raphael Neider <rneider AT web.de>
33664         * configure.in, custom_in.h:
33665           revive support for big-endian machines, broken since r5954
33666         * sim/ucsim/configure.in, sim/ucsim/custom.h, sim/ucsim/custom_in.h:
33667           have configure create custom.h next to ddconfig.h in the build tree
33668           so that CPP will find it
33669         * configure, sdccconf_in.h, sim/ucsim/configure,
33670           sim/ucsim/ddconfig_in.h: regenerated
33672 2010-09-13 Borut Razem <borut.razem AT siol.net>
33674         * device/lib/pic16/libc/utils/cvtdec.S,
33675           device/lib/pic16/libc/stdlib/g_ftoa.S:
33676           sdcc library license changed to GPL+LE
33678 2010-09-12 Borut Razem <borut.razem AT siol.net>
33680         * debugger/mcs51/cmd.c, src/SDCCpeeph.c, src/SDCChasht.c,
33681           src/SDCCval.c, src/SDCCicode.c, src/SDCCset.c, src/SDCCglue.c,
33682           src/z80/gen.c, src/pic16/pcodepeep.c, src/pic16/pcoderegs.c,
33683           src/pic16/pcode.c, src/SDCCast.c, sdas/asranlib/asranlib.c,
33684           support/makebin/makebin.c, support/Util/findme.c:
33685           fixed defects, reported by Wipro DeepCheck static analysis tool
33686           src/SDCCerr.h, src/SDCCglobl.h, src/common.h:
33687           introduced sdcc style assert
33688         * ../asxxxx: removed copy of asxxxx v2.0 sources from sdcc source tree:
33689           asxxxx v3.0 sources are availeble at
33690           http://shop-pdp.kent.edu/ashtml/asxarc.htm
33692 2010-09-11 Borut Razem <borut.razem AT siol.net>
33694         * debugger/mcs51/cmd.c, src/SDCCbitv.c, sdas/asranlib/asranlib.c:
33695           fixed defects, reported by Wipro Static Analysis Report On SDCC
33696         * src/SDCCsymt.c: fixed redundant variable in SDCCsymt.c: getSpec(),
33697           thanks to Jan Waclawek
33699 2010-09-11 Maarten Brock <sourceforge.brock AT dse.nl>
33701         * src/mcs51/gen.c (genFunction, genEndFunction): use bitVectIsZero,
33702          (genLiteralAssign): factored out of genAssign,
33703          (litPut): new helper function for genDataPointerSet,
33704          (genDataPointerSet, genAssign): use genLiteralAssign instead of patch
33705           1490145 for consistency
33707 2010-09-07 Philipp Klaus Krause <pkk AT spth.de>
33709         * src/z80/gen.c,
33710           src/z80/peeph-z80.def:
33711           Minor comments.
33712         * sim/ucsim/z80.src/inst.cc:
33713           Fixed #3061455.
33715 2010-09-06 Raphael Neider <rneider AT web.de>
33717         * configure.in, debugger/mcs51/configure.in,
33718           device/lib/pic/configure.in, device/lib/pic16/configure.ac,
33719           sim/ucsim/configure.in, sim/ucsim/custom.h,
33720           sim/ucsim/ddconfig_in.h, support/packihx/configure.in:
33721           updated build system to allow autoreconf -fi to set up the project,
33722           regenerated files
33724 2010-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
33726         * device/include/mcs51/AT89C513xA.h: new, added, thanks Anirban Brahmachari
33728 2010-08-26 Philipp Klaus Krause <pkk AT spth.de>
33730         * src/z80/peeph-z80.def:
33731           Fixed #3052514.
33733 2010-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
33735         * src/ds390/gen.c (genCast): fixed bug with ruonly src and dest downcast,
33736           (AOP_IS_STR): replaced thoughout with IS_OP_RUONLY,
33737           synced with mcs51,
33738           (genDjnz): fixed bug 2995824
33739         * src/mcs51/gen.c (continueIfTrue, jumpIfTrue, jmpTrueOrFalse, genAnd,
33740           genOr, genXor, genDjnz): fixed bugs 2989562 and 2995824
33741         * src/ds390/ralloc.c,
33742         * src/SDCC.lex: cosmetic changes
33743         * support/regression/tests/bug2686159.c: disabled segfaulting test on host
33744         * support/regression/tests/bug2989562.c: new, added
33746 2010-08-24 Maarten Brock <sourceforge.brock AT dse.nl>
33748         * src/SDCCcse.c (cseBBlock): fixed bug 2686159 with part of patch by Robert
33749           Larice, thanks
33750         * src/SDCCBBlock.c,
33751         * src/SDCCglobl.h: cosmetic changes
33752         * support/regression/tests/bug2686159.c: new, added
33754 2010-08-23 Maarten Brock <sourceforge.brock AT dse.nl>
33756         * src/mcs51/gen.c (genAnd, genOr, genXor): fixed bug 2944399
33757         * src/mcs51/ralloc.c (packRegsForAccUse): disabled strange exception
33758         * support/regression/tests/bug2944399.c: new, added
33760 2010-08-22 Borut Razem <borut.razem AT siol.net>
33762         * device/include/mcs51/msc1210.h:
33763           sdcc library license changed to GPL+LE
33765 2010-08-20 Raphael Neider <rneider AT web.de>
33767         * device/include/pic16/adc.h,
33768         * device/include/pic16/pic18fam.h,
33769         * device/include/pic16/usart.h,
33770         * device/lib/pic16/libio/adc/*.c,
33771         * device/lib/pic16/libio/usart/*.c
33772         * doc/sdccman.lyx,
33773         * support/scripts/inc2h-pic16.pl,
33774         * support/scripts/pic18fam-h-gen.pl: automatized device I/O style
33775           classification, provide USART initialization for more devices,
33776           addresses item 2 from #1631532.
33778 2010-08-18 Borut Razem <borut.razem AT siol.net>
33780         * sdas/asxxsrc/asdbg.c:
33781           cosmetic change
33782         * device/include/malloc.h, device/include/mcs51/serial.h,
33783           device/lib/serial.c: sdcc library license changed to GPL+LE
33785 2010-08-17 Maarten Brock <sourceforge.brock AT dse.nl>
33787         * sdas/as6808/as_hc08.dsp,
33788         * sdas/as8051/asx8051.dsp,
33789         * sdas/asgb/asgb.dsp,
33790         * sdas/asz80/as_z80.dsp: asnoice.c renamed to asdbg.c (sync with asxxxx)
33792 2010-08-17 Borut Razem <borut.razem AT siol.net>
33794         * sdas/as8051/Makefile.in, sdas/asz80/Makefile.in,
33795           sdas/as6808/Makefile.in, sdas/asgb/Makefile.in:
33796           asnoice.c renamed to asdbg.c (sync with asxxxx)
33797         * sdas/asxxsrc/asxxxx.h:
33798           reverted fix for bug 3041470,
33799           DefineCDB_Line() renamed to DefineSDCC_Line() (sync with asxxxx)
33800         * sdas/asxxsrc/asmain.c:
33801           DefineCDB_Line() renamed to DefineSDCC_Line() (sync with asxxxx)
33802         * sdas/asxxsrc/asdbg.c: renamed from asxxsrc/asnoice.c,
33803           use dbuf to dynamically allocate debug symbol
33804         * sdas/linksrc/aslink.h:
33805           changed NCPS to PATH_MAX - quick & dirty fix for asld part of
33806           bug 3041470; proper solution would be support of arbitrary identifier
33807           lenght using dynamic buffers
33809 2010-08-16 Raphael Neider <rneider AT web.de>
33811         * src/pic16/glue.c (pic16emitStaticSeg): allow extern declarations with
33812           incomplete types, fixes #3041150
33814 2010-08-15 Maarten Brock <sourceforge.brock AT dse.nl>
33816         * sdas/asxxsrc/asxxxx.h: changed NCPS to PATH_MAX to fix bug 3041470
33818 2010-08-15 Borut Razem <borut.razem AT siol.net>
33820         * support/regression/tests/bug3037889.c:
33821           testBug3037889() renamed to Bug3037889()
33822           so that the function is compiled but not executed
33823         * src/pic/ralloc.c:
33824           fixed bug #3038483: running make of revision 5905 produces warnings
33826 2010-08-13 Borut Razem <borut.razem AT siol.net>
33828         * device/lib/pic16/libc/stdio/fprintf.c,
33829           device/lib/pic16/libc/stdio/printf.c,
33830           device/lib/pic16/libc/stdio/printf_small.c,
33831           device/lib/pic16/libc/stdio/printf_tiny.c,
33832           device/lib/pic16/libc/stdio/putchar.c,
33833           device/lib/pic16/libc/stdio/sprintf.c,
33834           device/lib/pic16/libc/stdio/streams.c,
33835           device/lib/pic16/libc/stdio/strmgpsim.c,
33836           device/lib/pic16/libc/stdio/strmmssp.c,
33837           device/lib/pic16/libc/stdio/strmputchar.c,
33838           device/lib/pic16/libc/stdio/strmusart.c,
33839           device/lib/pic16/libc/stdio/vfprintf.c,
33840           device/lib/pic16/libc/stdio/vprintf.c,
33841           device/lib/pic16/libc/stdio/vsprintf.c:
33842           sdcc library license changed to GPL+LE
33844 2010-08-12 Maarten Brock <sourceforge.brock AT dse.nl>
33846         * src/SDCCloop.c (basicInduction): fixed bug 3034976 with patch 3043854,
33847           thanks Ruud van Silfhout
33848         * support/regression/tests/bug3037889.c: added test for bug 3034976
33850 2010-08-10 Maarten Brock <sourceforge.brock AT dse.nl>
33852         * src/ds390/gen.c: fixed by applying patch from bug 3037889, thanks Patrik
33853           Persson
33854         * src/SDCCerr.h,
33855         * src/SDCCerr.c (vwerror, werror, werrorfl): return if warning was printed
33856         * src/SDCCast.c (checkPtrCast): only print from and to types when warning
33857           or error was printed
33858         * support/regression/tests/bug3037889.c: new, added
33860 2010-08-09 Maarten Brock <sourceforge.brock AT dse.nl>
33862         * support/regression/tests/bug1757671.c: fixed for 64 bit arch
33863         * src/SDCCval.c (valMinus): applied new patch from bug 3037889,
33864           thanks Patrik Persson
33866 2010-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
33868         * src/SDCCval.c (valMinus): applied patch from bug 3037889 though not fixed,
33869           thanks Patrik Persson
33870         * src/z80/gen.c (genCmp): fixed bug 3041519
33872 2010-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
33874         * sim/ucsim/z80.src/inst.cc (inst_add): moved add_HL_Word to z80mac.h,
33875           (inst_daa, inst_scf, inst_ccf, inst_sub): fixed flags
33876           (inst_jp): fixed JP PO/PE
33877         * sim/ucsim/z80.src/inst_ed.cc (inst_ed): fixed flags
33878         * sim/ucsim/z80.src/inst_xd.cc (inst_Xd_add): moved add_IX_Word to z80mac.h
33879         * sim/ucsim/z80.src/instcl.h: cosmetics
33880         * sim/ucsim/z80.src/z80.cc (print_regs): print N flag
33881         * sim/ucsim/z80.src/z80mac.h: fixed flags
33882         * src/z80/gen.c (genIfxJump): simplified
33883           (genCmp): fixed bug 1757671
33884         * device/include/stdbool.h: __SDCC_WEIRD_BOOL==2 for hc08/pic14/pic16
33885         * support/regression/tests/bool.c: run test only once,
33886           run half the cases for __bit
33887         * support/regression/tests/bug1757671.c: new, added
33889 2010-08-07 Philipp Klaus Krause <pkk AT spth.de>
33891         * src/SDCCicode.c,
33892           support/regression/tests/bool.c:
33893           Fixed #3040914.
33895 2010-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
33897         * src/SDCCerr.c,
33898         * src/SDCCerr.h: added E_INCOMPLETE_FIELD
33899         * src/SDCCsymt.c (checkStructFlexArray, compStructSize): fixed bug 1518279
33901 2010-08-05 Borut Razem <borut.razem AT siol.net>
33903         * device/include/mcs51at89S8252.h, device/include/mcs51/at89c55.h,
33904           device/include/mcs51/at89x51.h, sdcc/device/include/mcs51/at89x52.h,
33905           device/include/mcs51/ser.h, device/lib/_ser.c:
33906           sdcc library license changed to GPL+LE
33908 2010-08-04 Borut Razem <borut.razem AT siol.net>
33910         * sim/ucsim/cmd.src/cmdlex.cc: regenerated,
33911           fix for patch #3038644: Fix for GCC-4.4 compile error
33912         * device/include/z80/z180.h, device/include/hc08/mc68hc908apxx.h,
33913           sdcc/device/include/hc08/mc68hc908jkjl.h:
33914           sdcc library license changed to GPL+LE
33916 2010-08-04 Maarten Brock <sourceforge.brock AT dse.nl>
33918         * src/ds390/gen.c (genCmpGt, genCmpLt),
33919         * src/mcs51/gen.c (genCmpGt, genCmpLt): fixed bug 1994062 part 1
33920           (genCmp): use optimization from bug 1994062
33921         * src/SDCCast.c (decorateType '['):  fixed bug 1994062 part 2
33922         * src/SDCCset.c: cosmetic changes
33923         * support/regression/tests/bug1994062.c: new, added
33925 2010-08-03 Raphael Neider <rneider AT web.de>
33927         * device/include/pic16/stdio.h,
33928         * device/lib/pic16/libc/stdio/putchar.c: resurrect PUTCHAR macro,
33929           fixes #3038656
33931 2010-08-03 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
33933         * src/mcs51/peeph.def: fixed bug #3038728 (consecutive &=
33934           on volatile variable)
33936 2010-08-03 Raphael Neider <rneider AT web.de>
33938         * src/pic/gen.c (genDataPointerSet): properly determine operand size,
33939           fixes #3038372
33941 2010-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
33943         * src/ds390/gen.c (genCast),
33944         * src/mcs51/gen.c (genCast): always copy the pointer
33945         * src/hc08/gen.c: cosmetic changes
33946         * src/SDCCast.h: added checkPtrCast
33947         * src/SDCCicode.c (geniCodeCast),
33948         * src/SDCCast.c (checkPtrCast): factored out of geniCodeCast,
33949           (decorateType CAST): check pointer casts
33950         * src/SDCCerr.c,
33951         * src/SDCCerr.h: changed error E_CANNOT_USE_GENERIC_POINTER to warning
33952           W_USING_GENERIC_POINTER
33953         * src/SDCCglue.c (aopLiteralLong): moved check to decorateType,
33954           (pointerTypeToGPByte): exit on internal error, return -1 for GPTR warning
33955           (_printPointerType): handle 4 byte pointers,
33956           (printGPointerType): copy whole generic pointer when warned
33957         * support/regression/tests/bug3027957.c (correct): added for bug 3034400
33959 2010-08-02 Philipp Klaus Krause <pkk AT spth.de>
33961         * sim/ucsim/z80.src/inst.cc:
33962           Fixed #2801879.
33963         * support/regression/tests/bug2862650.c:
33964           Improved redundancy.
33966 2010-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
33968         * src/SDCCicode.c (ast2iCode): fixed bug 1962613
33969         * support/regression/tests/bug1962613.c: new, added
33970         * src/SDCCsymt.c (compareTypeExact): fixed the fix for bug 1929140
33971         * support/regression/tests/bug1115321.c: fixed next problem on solaris
33973 2010-08-01 Philipp Klaus Krause <pkk AT spth.de>
33975         * support/regression/tests/bug2862650.c:
33976           Redundant regression test for #2862650.
33978 2010-08-01 Borut Razem <borut.razem AT siol.net>
33980         * device/include/ds80c390.h, device/include/tinibios.h,
33981           device/include/time.h, device/include/ds390/serial390.h,
33982           device/lib/time.c, device/lib/gets.c, device/lib/ds390/lcd390.c,
33983           device/lib/ds390/tinibios.c, device/lib/ds390/rtc390.c,
33984           device/lib/ds390/i2c390.c, device/lib/ds400/tinibios.c:
33985           sdcc library license changed to GPL+LE
33987 2010-07-30 Borut Razem <borut.razem AT siol.net>
33989         * device/lib/printf_large.c, device/lib/sprintf.c,
33990           device/lib/vprintf.c:
33991           sdcc library license changed to GPL+LE
33993 2010-07-30 Maarten Brock <sourceforge.brock AT dse.nl>
33995         * src/SDCC.y: fixed bug 1579664
33996         * support/regression/tests/bug1579664.c: new, added
33997         * src/SDCCsymt.c (compareTypeExact): fixed bug 1929140
33998         * support/regression/tests/bug1929140.c: new, added
34000 2010-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
34002         * src/SDCCerr.c,
34003         * src/SDCCerr.h
34004         * src/SDCCglue.c (printIvalCharPtr),
34005         * src/SDCCicode.c (geniCodeCast): changed E_LITERAL_GENERIC and
34006           E_NONPTR2_GENPTR to warnings
34007         * support/regression/tests/bug1115321.c: fixed problem on solaris
34008         * support/regression/tests/literalop.c: only test char overflow on SDCC
34010 2010-07-29 Borut Razem <borut.razem AT siol.net>
34012         * support/regression/tests/literalop.c:
34013           fixed regresssion test failure on host target (gcc -O2):
34014           the test result was udefined according to C standard 6.5 #5 and
34015           implementation dependent, so it was removed.
34016           Thanks to Jan Waclawek for the explanation that it is not a gcc bug.
34018 2010-07-28 Maarten Brock <sourceforge.brock AT dse.nl>
34020         * device/lib/printf_large.c: small optimization
34021         * src/hc08/gen.c (transferRegReg, genPointerGet): fixed bug 1115321
34022         * src/hc08/ralloc.c: cosmetic changes
34023         * src/pic16/glue.c (pic16emitStaticSeg),
34024         * src/SDCCglue.c (emitStaticSeg): fixed bug 1474589
34025         * src/z80/gen.c: fixed some warnings
34026         * support/regression/tests/bug1115321.c: new, added
34028 2010-07-26 Borut Razem <borut.razem AT siol.net>
34030         * src/SDCCutil.c:
34031           applied patch #3034715: Report correct host for x86_64 Macs,
34032           thanks to Patrik Persson
34034 2010-07-26 Philipp Klaus Krause <pkk AT spth.de>
34036         * src/z80/gen.c,
34037           src/z80/main.c,
34038           support/regression/tests/float_single.c:
34039           Fixed #2862650.
34041 2010-07-25 Philipp Klaus Krause <pkk AT spth.de>
34043         * src/z80/gen.c:
34044           Fixed #3027961.
34046 2010-07-25 Borut Razem <borut.razem AT siol.net>
34048         * src/SDCCerr.c, src/SDCCerr.h, src/SDCC.y, src/SDCC.lex,
34049           src/SDCCast.c, src/SDCCast.h, device/include/stddef.h,
34050           device/include/pic16/stddef.h, support/regression/tests/zeropad.c,
34051           support/regression/tests/offsetof.c:
34052           applied patch #2801126: __builtin_offsetof implementation,
34053           thanks to Robert Larice
34054         * support/regression/ports/pic16/spec.mk,
34055           support/regression/ports/pic16/support.c:
34056           _asm and _endasm changed to __asm and __endasm, reentrant changed to __reentrant
34057         * device/include/pic16/stdlib.h: added declarations of abs() and labs()
34059 2010-07-24 Borut Razem <borut.razem AT siol.net>
34061         * device/lib/pic16/libm/*, device/lib/pic16/libio/adc/*,
34062           device/lib/pic16/libio/i2c/*, device/lib/pic16/libio/usart/*,
34063           device/lib/pic16/libsdcc/long/*,
34064           device/lib/pic16/libsdcc/fixed16x16/*,
34065           device/lib/pic16/libsdcc/stack/*, device/lib/pic16/libsdcc/lregs/*,
34066           device/lib/pic16/libsdcc/char/*:
34067           sdcc library license changed to GPL+LE
34069 2010-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
34071         * src/mcs51/ralloc.c,
34072         * src/SDCCicode.c: cosmetic changes
34073         * src/mcs51/gen.c (genPointerGet, genPointerSet),
34074         * src/SDCCglue.c (aopLiteralLong),
34075         * src/SDCCsymt.c (computeType),
34076         * src/SDCCval.c (valPlus),
34077         * src/z80/ralloc.c (serialRegAssign, packRegisters): fixed bug 3027957
34078         * support/regression/tests/bug3027957.c: new, added
34079         * support/regression/fwk/include/testfwk.h: removed flaky NULL definition
34080         * support/regression/tests/absolute.c,
34081         * support/regression/tests/bug-2982135.c,
34082         * support/regression/tests/bug-524691.c,
34083         * support/regression/tests/bug1496419.c,
34084         * support/regression/tests/bug2817646.c,
34085         * support/regression/tests/driverstruct.c: include <stddef.h> for NULL
34087 2010-07-18 Maarten Brock <sourceforge.brock AT dse.nl>
34089         * src/SDCCast.c (decorateType CAST): fixed bug 2941749
34090         * src/SDCCBBlock.c,
34091         * src/SDCCcse.c: cosmetic changes
34092         * src/SDCCglue.c (printIvalPtr): added names
34093         * support/regression/ports/ds390/spec.mk,
34094         * support/regression/ports/hc08/spec.mk,
34095         * support/regression/ports/mcs51-common/spec.mk,
34096         * support/regression/ports/ucz80/spec.mk: added .PRECIOUS for using -j
34097         * support/regression/tests/absolute.c: added test for bug 2941749
34099 2010-07-17 Maarten Brock <sourceforge.brock AT dse.nl>
34101         * src/SDCCcse.c,
34102         * src/SDCCopt.c,
34103         * src/SDCCicode.c: cosmetic changes
34104         * src/SDCCloop.c (loopInduction): fixed bug 2889032
34105         * support/regression/tests/bug2889032.c: new, added
34107 2010-07-15 Borut Razem <borut.razem AT siol.net>
34109         * sdas/as8051/Makefile.in, sdas/asz80/Makefile.in,
34110           sdas/linksrc/Makefile.in, sdas/as6808/Makefile.in,
34111           sdcc/sdas/asgb/Makefile.in:
34112           fixed bug #3030113: assembler Makefile.in missing trailing '@' on
34113           MAKEPDEP= stmt
34115 2010-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
34117         * src/SDCCsymt.h: added IS_SMALL_PTR
34118         * src/mcs51/ralloc.c (packRegsForOneuse): check for small pointers, check
34119             all subsequent params to fix bug 3004918
34120         * support/regression/tests/bug3004918.c: new, added
34121         * src/SDCCloop.c: cosmetic changes
34122         * src/mcs51/main.c (_mcs51_keywords): removed duplicate keywords,
34123           (get_model): fixed bug 3018737
34125 2010-07-10 Maarten Brock <sourceforge.brock AT dse.nl>
34127         * src/SDCCast.c (processParms): fixed bug 3002698
34128         * src/SDCCast.h: cosmetic changes
34130 2010-07-05 Borut Razem <borut.razem AT siol.net>
34132         * support/regression/ports/pic14/spec.mk,
34133           support/regression/ports/pic16/spec.mk,
34134           support/regression/ports/ds390/spec.mk,
34135           support/regression/ports/hc08/spec.mk,
34136           support/regression/ports/ucz80/spec.mk,
34137           support/regression/ports/mcs51-common/spec.mk:
34138           mingw build cross reggression testing with wine
34140 2010-07-03 Philipp Klaus Krause <pkk AT spth.de>
34142         * support/scripts/sdcc.nsi: removed unix2dos conversion
34144 2010-06-28 Philipp Klaus Krause <pkk AT spth.de>
34146         * device/lib/z80/modmixed.s:
34147           Fixed missing line.
34149 2010-06-25 Borut Razem <borut.razem AT siol.net>
34151         * device/lib/pic16/libsdcc/float/*, device/lib/pic16/startup/*:
34152           sdcc library license changed to GPL+LE
34154 2010-06-25 Philipp Klaus Krause <pkk AT spth.de>
34156         * device/lib/z80/mod.s,
34157           device/lib/z80/Makefile.in,
34158           device/lib/z80/modmixed.s,
34159           device/lib/z80/modsigned.s,
34160           device/lib/z80/divmixed.s,
34161           device/lib/z80/divsigned.s,
34162           device/lib/z80/modunsigned.s:
34163           Z80 division library reorganization.
34165 2010-06-23 Philipp Klaus Krause <pkk AT spth.de>
34167         * device/lib/z80/divsigned.s:
34168           Minor cleanup
34169         * src/SDCCpeeph.c,
34170           src/z80/peep.h,
34171           src/z80/main.c,
34172           src/z80/peep.c,
34173           src/z80/peeph-z80.def,
34174           Implemented correct instruction size calculation, replacing estimate.
34176 2010-06-20 Borut Razem <borut.razem AT siol.net>
34178         * src/SDCCmain.c, src/pic/main.c, src/pic16/main.c:
34179           fixed bug #3015137: -c -o not working as expected (caused by fix for
34180           #2951083)
34181         * device/lib/pic16/libc/string/*, device/lib/pic16/libc/utils/cnvint.S,
34182           device/lib/pic16/libc/utils/cnvfrac.S:
34183           sdcc library license changed to GPL+LE
34185 2010-06-19 Borut Razem <borut.razem AT siol.net>
34187         * device/include/pic/pic14devices.txt,
34188           device/include/pic16/pic16devices.txt:
34189           license changed to GPL - files are not part of sdcc library
34190         * device/lib/z80/divunsigned.s, device/lib/pic16/debug/gstack/gstack.c,
34191           device/lib/pic16/libsdcc/int/*, device/lib/pic16/libc/stdlib/*:
34192           sdcc library license changed to GPL+LE
34194 2010-06-15 Philipp Klaus Krause <pkk AT spth.de>
34196         * device/lib/z80/abs.s,
34197           device/lib/z80/Makefile.in:
34198           Z80-specific abs().
34200 2010-06-14 Philipp Klaus Krause <pkk AT spth.de>
34202         * src/SDCCpeeph.c,
34203           src/SDCCpeeph.h,
34204           src/port.h,
34205           src/mcs51/peeph.def,
34206           src/ds390/peeph.def,
34207           src/avr/peeph.def,
34208           src/z80/peep.h,
34209           src/z80/peep.c,
34210           src/z80/peeph-z80.def,
34211           src/z80/peeph-gbz80.def:
34212           Peephole cleanup.
34214 2010-06-13 Maarten Brock <sourceforge.brock AT dse.nl>
34216         * sdas/linksrc/lksym.c,
34217         * src/ds390/main.c,
34218         * src/SDCCast.c: cosmetic changes
34219         * src/SDCC.y: removed type_specifier2, moved AT into type_specifier,
34220             fixed bug 29979999
34221         * src/SDCCsymt.c (addDecl): fixed char* __code __at(N) bug
34222         * support/regression/tests/absolute.c: added test for bug 29979999
34224 2010-06-12 Borut Razem <borut.razem AT siol.net>
34226         * device/include/asm/pic/features.h, device/include/pic/*.h,
34227           device/include/pic/p16f_common.inc:
34228           sdcc library license changed to GPL+LE
34230 2010-06-10 Philipp Klaus Krause <pkk AT spth.de>
34232         * src/SDCCpeeph.c,
34233           src/z80/peep.c:
34234           Improved canAssign().
34236 2010-06-07 Philipp Klaus Krause <pkk AT spth.de>
34238         * src/port.h,
34239           src/SDCCpeeph.c,
34240           src/mcs51/main.c,
34241           src/pic/main.c,
34242           src/z80/peep.h,
34243           src/z80/main.c,
34244           src/z80/peep.c,
34245           src/z80/peeph-z80.def,
34246           src/pic16/main.c,
34247           src/hc08/main.c,
34248           src/ds390/main.c:
34249           Added canAssign() for use in peepholes.
34251 2010-06-07 Philipp Klaus Krause <pkk AT spth.de>
34253         * src/z80/gen.c,
34254           src/z80/mappings.i,
34255           src/z80/peeph-gbz80.def:
34256           Move generation of short jumps into peepholes.
34258 2010-06-05 Borut Razem <borut.razem AT siol.net>
34260         * device/include/asm/pic16/features.h, device/include/pic16/*.h,
34261           device/include/pic16/pic16devices.txt,
34262           device/include/pic16/p18fxxx.inc, device/lib/pic16/libsdcc/*.c:
34263           sdcc library license changed to GPL+LE
34265 2010-06-05 Maarten Brock <sourceforge.brock AT dse.nl>
34267         * sdas/asranlib/asranlib.c (do_ranlib): fixed text output
34268         * src/SDCCerr.c,
34269         * src/SDCCerr.h,
34270         * src/SDCC.y: changed E_STORAGE_CLASS_SPECIFIED_FOR_PARAMETER to
34271             E_STORAGE_CLASS_FOR_PARAMETER
34272         * src/SDCCcse.c,
34273         * src/SDCCdflow.c,
34274         * src/SDCCval.c: cosmetic changes
34275         * src/SDCCopt.c,
34276         * src/SDCCsymt.c,
34277         * src/SDCCsymt.h: removed double underscores from function names,
34278             fixed bug 3005305
34280 2010-06-03 Philipp Klaus Krause <pkk AT spth.de>
34282         * device/lib/_memcpy,
34283           device/lib/_memmove.c:
34284           Library cleanup.
34286 2010-06-02 Borut Razem <borut.razem AT siol.net>
34288         * doc/sdccman.lyx: corrected z80 assembler name, corrected revision
34289           date format
34291 2010-06-01 Philipp Klaus Krause <pkk AT spth.de>
34293         * src/z80/gen.c:
34294           Optimization of multibyte comparison.
34295         * src/SDCCpeeph.c,
34296           src/SDCCpeeph.h,
34297           src/z80/peeph-z80.def:
34298           Peephole barriers, fixes #1677178.
34300 2010-05-31 Borut Razem <borut.razem AT siol.net>
34302         * debugger/mcs51/simi.c, debugger/mcs51/cmd.c, debugger/mcs51/sdcdb.c,
34303           debugger/mcs51/sdcdb.h: enhanced help text formating, added usage
34304           (-h, -?, --help) and verbose (-v) command line options, SDCDB_VERSION
34305           bumped to 0.9
34306         * doc/sdccman.lyx: asxxxx and aslink renamed to sdas and sdld
34308 2010-05-30 Philipp Klaus Krause <pkk AT spth.de>
34310         * src/z80/peeph-z80.def:
34311           Minor peephole improvement.
34313 2010-05-25 Philipp Klaus Krause <pkk AT spth.de>
34315         * src/SDCCcse.c:
34316           Simplified division optimization.
34317         * src/z80/gen.c:
34318           Fixed comment alignment.
34319         * src/z80/peep.c,
34320           src/z80/peeph-z80.def:
34321           Peephole improvements, mostly negation.
34323 2010-05-24 Borut Razem <borut.razem AT siol.net>
34325         * src/SDCC.y, src/SDCCsymt.h: test if the parameter is a valid storage
34326           class specifier
34327         * src/hc08/gen.c, support/regression/tests/bug1875933.c:
34328           fixed bug #3006063: xor broken
34330 2010-05-23 Philipp Klaus Krause <pkk AT spth.de>
34332         * support/regression/tests/bug1875933.c:
34333           Disabled recently introduced regression test on hc08, since it never worked there.
34335 2010-05-23 Philipp Klaus Krause <pkk AT spth.de>
34337         * src/z80/peep.c,
34338           src/z80/peeph-z80.def:
34339           Minor peephole improvements.
34341 2010-05-23 Borut Razem <borut.razem AT siol.net>
34343         * src/SDCCerr.c, src/SDCCerr.h, src/SDCCsymt.h, src/SDCC.y:
34344           fixed bug #2811521: sdcc doesn't accept register storage class
34345           specifier in func
34347 2010-05-21 Philipp Klaus Krause <pkk AT spth.de>
34349         * src/mcs51/gen.c,
34350           src/z80/gen.c,
34351           src/hc08/gen.c,
34352           src/ds390/gen.c,
34353           support/regression/tests/bug1875933.c:
34354           Completed fix for #1875933 applying #2892763.
34356 2010-05-21 Philipp Klaus Krause <pkk AT spth.de>
34358         * src/SDCCopt.c,
34359           src/z80/gen.c,
34360           support/regression/tests/memory.c:
34361           Fixed bug #2995398.
34363 2010-05-16 Philipp Klaus Krause <pkk AT spth.de>
34365         * src/z80/main.c:
34366           A tiny step toward implementing #1921061.
34368 2010-05-16 Philipp Klaus Krause <pkk AT spth.de>
34370         * src/z80/peeph-z80.def:
34371           Minor peephole improvements.
34373 2010-05-13 Borut Razem <borut.razem AT siol.net>
34375         * sdas/asxxsrc/asmain.c: fixed bug #2914707: as-z80 segmentation fault
34377 2010-05-10 Borut Razem <borut.razem AT siol.net>
34379         * src/Makefile.in: added -Wall
34380         * sdas/linksrc/lkarea.c: fixed bug #2999446: ds390 xram limit at 0x400000
34381         * asxxsrc/asmain.c: fixed compiler warning
34383 2010-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
34385         * support/cpp/sdcpp.dsp: added sdcpp-diagnostic.c
34387 2010-05-06 Maarten Brock <sourceforge.brock AT dse.nl>
34389         * device/lib/_strtok.c: cosmetic changes
34390         * sdas/linksrc/aslink.dsp: removed lkgb.c
34391         * src/SDCCast.c (gatherImplicitVariables): fixed bug 2956580, const iTemp
34392         * src/z80/peeph-gbz80.def (rule 16): fixed non-existent operandsNotSame bug
34393         * support/regression/tests/bug2956580.c: new, added
34395 2010-05-05 Borut Razem <borut.razem AT siol.net>
34397         * support/cpp/sdcpp.opt: fixed bug #2996806: Werror broken
34399 2010-05-04 Borut Razem <borut.razem AT siol.net>
34401         * debugger/mcs51/sdcdb.c: fixed compiler warnings
34403 2010-05-03 Borut Razem <borut.razem AT siol.net>
34405         * support/cpp/Makefile.in, support/cpp/sdcpp-diagnostic.c,
34406           support/cpp/sdcpp.h, support/cpp/sdcpp-opts.c:
34407           added c_cpp_error diagnostic callback function
34409 2010-05-01 Maarten Brock <sourceforge.brock AT dse.nl>
34411         * device/include/mcs51/C8051F330.h,
34412         * device/include/mcs51/C8051F336.h,
34413         * device/include/mcs51/C8051F350.h,
34414         * device/include/mcs51/C8051F410.h,
34415         * device/include/mcs51/C8051T630.h: applied patch 2994867, thanks Steven Borley
34417 2010-04-22 Borut Razem <borut.razem AT siol.net>
34419         * support/cpp/libcpp/charset.c, support/cpp/libcpp/directives.c,
34420           support/cpp/libcpp/errors.c, support/cpp/libcpp/expr.c,
34421           support/cpp/libcpp/files.c, support/cpp/libcpp/identifiers.c,
34422           support/cpp/libcpp/include/cpp-id-data.h,
34423           support/cpp/libcpp/include/cpplib.h,
34424           support/cpp/libcpp/include/line-map.h,
34425           support/cpp/libcpp/include/symtab.h, support/cpp/libcpp/init.c,
34426           support/cpp/libcpp/internal.h, support/cpp/libcpp/lex.c,
34427           support/cpp/libcpp/line-map.c, support/cpp/libcpp/macro.c,
34428           support/cpp/libcpp/mkdeps.c, support/cpp/libcpp/symtab.c,
34429           support/cpp/libcpp/traditional.c, support/cpp/libiberty/filenames.h,
34430           support/cpp/libiberty/hashtab.c, support/cpp/libiberty/hashtab.h,
34431           support/cpp/libiberty/obstack.h, support/cpp/libiberty/safe-ctype.h,
34432           support/cpp/libiberty/splay-tree.h, support/cpp/sdcpp.c,
34433           support/cpp/sdcpp.h, support/cpp/sdcpp-opts.c:
34434           SDCPP synchronized with GCC CPP release version 4.5.0
34436 2010-04-14 Borut Razem <borut.razem AT siol.net>
34438         * sim/ucsim/configure, sim/ucsim/configure.in, sim/ucsim/ddconfig_in.h:
34439           fixed bug #2986676: ucz80 fails to run z80 regtests on Solaris
34440           SPARC platform
34441         * sdccconf_in.h: corrected endianness detection on solaris
34442         * debugger/mcs51/symtab.c, debugger/mcs51/configure,
34443           debugger/mcs51/Makefile.in, debugger/mcs51/simi.c,
34444           debugger/mcs51/cmd.c, debugger/mcs51/symtab.h,
34445           debugger/mcs51/configure.in, debugger/mcs51/sdcdb.c,
34446           debugger/mcs51/config.h.in, debugger/mcs51/break.c:
34447           code cleaning: removed warnings, added -Wall c compiler flag, ...
34449 2010-04-12 Borut Razem <borut.razem AT siol.net>
34451         * device/lib/pic/libsdcc/*.[cS], device/lib/pic/*.[cS]:
34452           sdcc library license changed to GPL+LE
34454 2010-04-11 Borut Razem <borut.razem AT siol.net>
34456         * sim/ucsim/configure.in:
34457           define CXXFLAGS
34458         * device/lib/pic/libm/expf.c:
34459           corrected typo
34460         * device/include/mcs51/uPSD32xx.h:
34461           sdcc library license changed to GPL+LE
34463 2010-04-10 Borut Razem <borut.razem AT siol.net>
34465         * support/regression/ports/host/spec.mk.in:
34466           reverted change made 2010-04-08, since the include is needed by
34467           the libmullong.c regression test
34468         * device/lib/pic/libm/*.c:
34469           sdcc library license changed to GPL+LE
34471 2010-04-09 Borut Razem <borut.razem AT siol.net>
34473         * device/include/mcs51/msm8xc154s.h:
34474           sdcc library license changed to GPL+LE
34476 2010-04-08 Philipp Klaus Krause <pkk AT spth.de>
34477         * support/regression/tests/bug-2982135.c:
34478           Fixed a stupid mistake.
34480 2010-04-08 Borut Razem <borut.razem AT siol.net>
34482         * support/regressuin/test/bitvars.c:
34483           fixed failing test on on Solaris i386 SunPro C compiler;
34484           it behaves differently if -xO2 option is set or not
34485         * src/SDCCast.c, src/SDCCast.h:
34486           fixed SunPro C warning: anonymous struct declaration
34487         * device/include/mcs51/C8051F336.h, device/include/mcs51/C8051T610.h,
34488           device/include/mcs51/p89lpc938.h, device/include/mcs51/C8051F920.h,
34489           device/include/mcs51/C8051T600.h, device/include/mcs51/C8051T630.h,
34490           sdcc/device/include/hc08/mc68hc908qy.h, device/include/hc08/mc68hc908gp32.h:
34491           sdcc library license changed to GPL+LE
34492         * support/regression/ports/host/spec.mk.in: removed unneeded include
34493         * sim/ucsim/cmd.src/Makefile.in:
34494           sh test doesn't understand -e option
34495         * sim/ucsim/cmd.src/FlexLexer.h:
34496           fixed warning about missing newline at last line
34498 2010-04-07 Philipp Klaus Krause <pkk AT spth.de>
34499         * src/z80/ralloc.c,
34500           support/regression/tests/bug-2982135.c:
34501           Fixed bug #2982135.
34503 2010-04-06 Philipp Klaus Krause <pkk AT spth.de>
34504         * src/z80/gen.c,
34505           src/z80/peeph-z80.def
34506           Minor improvements, workaround for bug #2970351.
34507         * device/lib/z80/divunsigned.s,
34508           device/lib/z80/Makefile.in,
34509           device/lib/z80/div.s,
34510           device/lib/z80/divmixed.s
34511           device/lib/z80/divsigned.s:
34512           Division library reorganization.
34514 2010-04-05 Borut Razem <borut.razem AT siol.net>
34516         * sdcc/sim/ucsim/gui.src/Makefile.in:
34517           fixed for Solaris if CURSES_PKGS is empty
34518         * sdcc/device/include/mcs51/at89c51snd1c.h:
34519           sdcc library license changed to GPL+LE
34521 2010-04-04 Borut Razem <borut.razem AT siol.net>
34523         * device/include/hc08/mc68hc908jb8.h:
34524           sdcc library license changed to GPL+LE
34525         * sdas/linksrc/Makefile.in: Solaris make (GNU Make 3.81) doesn't like
34526           $$() syntax; converted to ``
34528 2010-04-03 Borut Razem <borut.razem AT siol.net>
34530         * device/include/mcs51/p89lpc933_4.h, device/include/mcs51/p89lpc935_6.h,
34531           device/include/mcs51/p89v66x.h, device/include/mcs51/p89c66x.h,
34532           device/include/mcs51/at89Sx051.h: sdcc library license changed to GPL+LE
34534 2010-04-03 Philipp Klaus Krause <pkk AT spth.de>
34535         * src/z80/gen.c:
34536           Fixed bug #2977331.
34538 2010-04-01 Borut Razem <borut.razem AT siol.net>
34540         * support/regression/ports/host/spec.mk.in:
34541           fixed execution of host regression tests on Mac OS X
34543 2010-03-28 Borut Razem <borut.razem AT siol.net>
34545         * device/include/ds400/ds400rom.h, device/include/asm/gbz80/features.h,
34546           device/lib/z80/crt0.s, device/lib/gbz80/stubs.s,
34547           device/lib/gbz80/div.s, device/lib/gbz80/fstubs.s,
34548           device/lib/gbz80/putchar.s, device/lib/gbz80/crt0.s,
34549           device/lib/gbz80/crt0_rle.s, device/lib/gbz80/heap.s,
34550           device/lib/gbz80/mul.s, device/lib/gbz80/shift.s,
34551           device/lib/ds400/memcpyx.c, device/lib/hc08/_mulint.c,
34552           device/lib/hc08/_ret.c, device/lib/hc08/_mullong.c,
34553           device/lib/mcs51/crtpagesfr.asm, device/lib/mcs51/crtxpush.asm,
34554           device/lib/mcs51/crtxpopbits.asm, device/lib/mcs51/crtxpushr0.asm,
34555           device/lib/mcs51/crtbank.asm, device/lib/mcs51/crtcall.asm,
34556           device/lib/mcs51/crtxinit.asm, device/lib/mcs51/crtstart.asm,
34557           device/lib/mcs51/crtxstack.asm, device/lib/mcs51/crtxclear.asm,
34558           device/lib/mcs51/crtclear.asm, device/lib/mcs51/crtxpop.asm,
34559         * device/include/asm/mcs51/features.h, device/include/mcs51/*.h:
34560           sdcc library license changed to GPL+LE
34562 2010-03-25 Borut Razem <borut.razem AT siol.net>
34564         * sdcc/configure, sdcc/configure.in, sdcc/sdccconf_in.h,
34565           sdcc/sim/ucsim/configure, sdcc/sim/ucsim/configure.in,
34566           sdcc/sim/ucsim/ddconfig_in.h:
34567           fixed endianness detection, enabled NetBSD build
34568         * sim/ucsim/cmd.src/cmdpars.cc:
34569           fixed alloca detection on Solaris x86. This is actually bison++ bug.
34570         * support/regression/tests/bitfields.c,
34571           support/regression/tests/literalop.c,
34572           support/regression/tests/bitwise.c,
34573           support/regression/tests/swap.c:
34574           fixed host regression tests on NetBSD sparc64
34576 2010-03-23 Borut Razem <borut.razem AT siol.net>
34578         * device/include/*.h, device/include/asm/z80/features.h,
34579           device/include/asm/default/features.h, device/include/z80/*.h,
34580           device/lib/z80/*.s, device/include/asm/ds390/features.h,
34581           device/lib/ds390/memcpyx.c, device/lib/ds390/putchar.c:
34582           sdcc library license changed to GPL+LE
34584 2010-03-20 Borut Razem <borut.razem AT siol.net>
34586         * main_in.mk, configure, debugger/mcs51/configure,
34587           debugger/mcs51/Makefile.in, debugger/mcs51/configure.in,
34588           configure.in, src/Makefile.in, src/port.mk, sim/ucsim/configure,
34589           sim/ucsim/cmd.src/Makefile.in, , sim/ucsim/xa.src/Makefile.in,
34590           sim/ucsim/z80.src/Makefile.in, sim/ucsim/gui.src/Makefile.in,
34591           sim/ucsim/gui.src/serio.src/Makefile.in,
34592           sim/ucsim/gui.src/obsolete/portmon.src/Makefile.in,
34593           sim/ucsim/sim.src/Makefile.in, sim/ucsim/main_in.mk,
34594           sim/ucsim/configure.in, sim/ucsim/hc08.src/Makefile.in:
34595           introduced MAKEDEP
34597 2010-03-20 Borut Razem <borut.razem AT siol.net>
34599         * configure.in, configure, support/regression/tests/bitfields.c,
34600           support/regression/tests/bug-1981238.c,
34601           support/regression/tests/preproc.c,
34602           support/regression/tests/strtok.c,
34603           support/regression/tests/structflexarray.c,
34604           support/regression/tests/malloc.c:
34605           regression test fixed for SunPro C compiler
34606         * support/regression/ports/host/spec.mk:
34607           adapted for SunPro C compiler & renamed to spec.mk.in
34608         * support/regression/Makefile.in:
34609           include ./ports/$(PORT)/spec.mk if exists
34610         * device/lib/Makefile.in:
34611           Solaris make (GNU Make 3.81) doesn't like $$() syntax;
34612           converted to ``
34614 2010-03-19 Borut Razem <borut.razem AT siol.net>
34616         * configure.in, configure, device/lib/z80/Makefile.in,
34617           device/lib/gbz80/Makefile.in, device/lib/ds390/Makefile.in,
34618           device/lib/Makefile.in, device/lib/ds400/Makefile.in,
34619           device/lib/mcs51/Makefile.in, device/lib/hc08/Makefile.in:
34620           autoconf test if ar accepts -S (GNU ar does, BSD ar does not)
34621         * src/pic/ralloc.c: Solaris SunPro C compiler doesn't like (void)0
34623 2010-03-18 Borut Razem <borut.razem AT siol.net>
34625         * sim/ucsim/ddconfig_in.h:
34626           fixed endianness detection, so that it works on Solaris
34628 2010-03-17 Borut Razem <borut.razem AT siol.net>
34630         * configure.in, configure, debugger/mcs51/configure.in,
34631           debugger/mcs51/configure, sim/ucsim/configure.in,
34632           sim/ucsim/configure, sim/ucsim/aclocal.m4, src/SDCCutil.c:
34633           preparations for *BSD and Solaris ports
34634         * configure, debugger/mcs51/configure, debugger/mcs51/configure.in,
34635           configure.in, sim/ucsim/configure, sim/ucsim/cmd.src/Makefile.in,
34636           sim/ucsim/xa.src/Makefile.in, sim/ucsim/z80.src/Makefile.in,
34637           sim/ucsim/gui.src/Makefile.in,
34638           sim/ucsim/gui.src/serio.src/Makefile.in,
34639           sim/ucsim/gui.src/obsolete/portmon.src/Makefile.in,
34640           sim/ucsim/sim.src/Makefile.in, sim/ucsim/configure.in,
34641           sim/ucsim/hc08.src/Makefile.in, sim/ucsim/s51.src/Makefile.in,
34642           sim/ucsim/avr.src/Makefile.in, sdas/as8051/Makefile.in,
34643           sdas/asz80/Makefile.in, sdas/linksrc/Makefile.in,
34644           sim/ucsim/main_in.mk: portable -Wall
34645         * support/cpp/Makefile.in, support/cpp/libiberty/alloca.c:
34646           added alloca.c
34648 2010-03-15 Borut Razem <borut.razem AT siol.net>
34650         * device/lib/*.c: sdcc library license changed to GPL+LE
34652 2010-03-13 Borut Razem <borut.razem AT siol.net>
34654         * support/scripts/sdcc.nsi: removed lib/src/z80/*.c from the package
34655         * src/z80/gen.c: fixed warning: suggest parentheses around assignment
34656           used as truth value
34657         * sdas/asxxsrc/sdas.c, sdas/linksrc/sdld.c:
34658           fixed warning: implicit declaration of function 'tolower'
34659         * sdas/asxxsrc/asmain.c: fixed warning: variable not initialized
34660         * device/include/limits.h, device/include/stdint.h,
34661           device/include/float.h, device/include/typeof.h,
34662           device/include/stddef.h, device/include/sdcc-lib.h,
34663           device/include/stdlib.h, device/include/stdio.h,
34664           device/include/math.h, device/include/asm/default/features.h,
34665           device/include/assert.h, device/include/setjmp.h,
34666           device/include/stdbool.h, device/include/ctype.h,
34667           device/include/stdarg.h, device/include/errno.h:
34668           sdcc library license changed to GPL+LE
34670 2009-03-11 Raphael Neider <rneider AT web.de>
34672         * device/include/pic/pic16f616.h,
34673           device/include/pic/pic16hv616.h,
34674           device/lib/pic/libdev/devices.txt,
34675           device/lib/pic/libdev/pic16f616.c,
34676           device/lib/pic/libdev/pic16hv616.c:
34677           add support for 16f616 and 16hv616 devices
34679 2010-03-09 Philipp Klaus Krause <pkk AT spth.de>
34680         * device/lib/gbz80/Makefile.in,
34681           device/lib/gbz80/printf.c:
34682           Made gbz80 port use the generic printf routine family.
34684 2010-03-07 Philipp Klaus Krause <pkk AT spth.de>
34685         * src/z80/gen.c,
34686           support/regression/tests/float_single.c:
34687           gbz80 port regression test fixes.
34689 2010-03-06 Borut Razem <borut.razem AT siol.net>
34691         * src/hc08/main.c: fixed hc08 target:
34692           reintroduced MODAL_SMALL and MODEL_LARGE
34694 2010-03-04 Borut Razem <borut.razem AT siol.net>
34696         * src/SDCCmain.c, src/port.h, src/avr/main.c, src/ds390/main.c,
34697           src/hc08/main.c, src/mcs51/main.c, src/pic16/main.c, src/pic/main.c,
34698           src/xa51/main.c, src/z80/main.c: get_model() moved to the traget
34699         * src/mcs51/rtrack.c: removed MSVC warnings:
34700           integral size mismatch in argument; conversion supplied
34701         * src/SDCCglobl.h: introduced NO_MODEL
34703 2010-03-03 Borut Razem <borut.razem AT siol.net>
34705         * all.dsp: added makebin to project
34706         * src/SDCCmain.c: fixed lib suffix,
34707           get_lib_suffix() renamed to get_model(),
34708           added pic* handling to get_model()
34710 2010-03-02 Borut Razem <borut.razem AT siol.net>
34712         * src/SDCCmain.c, src/pic/main.c, src/pic16/main.c:
34713           lib suffix is a part of lib dir set
34714         * support/scripts/Makefile.in, support/scripts/clean.mk:
34715           added clean Makefile target for scripts
34717 2010-03-02 Maarten Brock <sourceforge.brock AT dse.nl>
34719         * src/SDCCmain.c(get_lib_suffix): added huge model
34721 2010-02-26 Borut Razem <borut.razem AT siol.net>
34723         * sdcc/support/scripts/as2gbmap.py:
34724           use pre-python 2.6 exceptin handling syntax
34726 2010-02-25 Borut Razem <borut.razem AT siol.net>
34728         * configure.in, configure, Makefile.in, support/scripts/Makefile.in:
34729           "compile" as2gbmap.py: copy it to bin/as2gbmap and make it executable
34730         * support/scripts/sdcc.nsi: include bin/as2gbmap.cmd to the package
34732 2010-02-24 Borut Razem <borut.razem AT siol.net>
34734         * sdcc/support/scripts/as2gbmap.py:
34735           sort symbols by value for rrgb outout,
34736           handle file open errors
34737         * doc/sdccman.lyx: documented changed library format to ar in 2.9.0;
34738           documented makebin and as2gbmap.py
34740 2010-02-23 Borut Razem <borut.razem AT siol.net>
34742         * src/SDCCmain.c, src/z80/main.c, sdas/linksrc/lkdata.c,
34743           sdas/linksrc/lklist.c, sdas/linksrc/lkmain.c, sdas/linksrc/lkrloc.c,
34744           sdas/linksrc/aslink.h:
34745           removed geneneration of no$gmb symbol file and rrgb map file
34746         * sdas/linksrc/Makefile.in: removed compilation of lkgb.c
34747         * sdcc/support/scripts/as2gbmap.py:
34748           added option -j to convert from asxxxx to no$gmb symbol file format
34749         * sdas/linksrc/lkgb.c, sdas/linksrc/lkgg.c: deleted from svn
34751 2010-02-21 Borut Razem <borut.razem AT siol.net>
34753         * support/makebin/makebin.c:
34754           check if fopen() succeeded
34755         * support/regression/ports/gbz80/spec.mk:
34756           sdlsgb now creates .ihx file and makebin converts it to .gb;
34757           removed -m (Load map file) rrgb command line option, since sdlsgb
34758           doesn't generate a rrgb compatible map file
34759         * src/SDCCmain.c: search C runtime initialization object files
34760           crt0.rel in system library directories, then in user defined
34761           library directories - third try
34762         * support/scripts/as2gbmap.py: converter from asxxxx to rrgb map
34763           file format
34765 2010-02-21 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34767         * src/mcs51/rt rack.c: fixed two warnings reported in #2955971
34768           by Hubert Sack. (2nd warning found a bug)
34770 2010-02-20 Philipp Klaus Krause <pkk AT spth.de>
34771         * device/lib/gbz80/mul.s,
34772           device/lib/gbz80/Makefile.in:
34773           Fixed multiplication in gbz80 port.
34775 2010-02-20 Philipp Klaus Krause <pkk AT spth.de>
34776         * device/lib/gbz80/div.s:
34777           Fixed mixed-sign division and modulo in gbz80 port.
34779 2010-02-20 Borut Razem <borut.razem AT siol.net>
34781         * support/makebin/makebin.c: added support for GameBoy binary file format,
34782           added optional input and output file names arguments,
34783           making it (hopefully) more robust, ...
34784         * all.dsp, sdcc.dsw, support/makebin/makebin.dsp:
34785           added makebin to the MSVC project
34786         * src/SDCCmain.c: fixed bug #2955614 - Regression - Warning: Couldn't find
34788 2010-02-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34790         * src/mcs51/rtrack.h,
34791           src/mcs51/rtrack.c,
34792           src/mcs51/ralloc.h,
34793           src/mcs51/gen.c: Implemented tracking of symbols and dptr.
34794           Set environment variable SDCC_REGTRACK if you want to enable
34795           register tracking. If you want diagnostic output use option
34796           --fverbose-asm and additionally set SDCC_REGTRACK_VERBOSE
34798 2010-02-18 Borut Razem <borut.razem AT siol.net>
34800         * src/SDCCmain.c: search C runtime initialization object files
34801           crt0.rel in system library directories, then in user defined
34802           library directories
34804 2010-02-16 Borut Razem <borut.razem AT siol.net>
34806         * support/scripts/sdcc.nsi: remove crt0.rel for z80 and gb
34807         * src/SDCCmain.c:
34808           fixed the fist part of bug #2951083: -o not working as expected:
34809           rename the linker output file name to -o binary file name
34810         * sdas/linksrc/lkaomf51.c:
34811           fixed the second part of bug #2951083: -o not working as expected:
34812           remove the file extension in any case
34814 2010-02-16 Philipp Klaus Krause <pkk AT spth.de>
34816         * src/z80/peeph-gbz80.def,
34817           device/include/asm/z80/features.h,
34818           device/lib/gbz80/Makefile.in,
34819           device/lib/gbz80/div.s,
34820           device/lib/gbz80/mul.s,
34821           support/regression/ports/gbz80/spec.mk:
34822           Made gbz80 regression tests compile again.
34824 2010-02-11 Borut Razem <borut.razem AT siol.net>
34826         * sdas/linksrc/lkmain.c: removed unneeded gb linker initialization
34828 2010-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
34830         * device/lib/clean.mk: also clean huge library
34832 2010-02-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34834         * src/mcs51/gen.c: (genAssign literal) loading via accumulator if it
34835           pays off. Could eventually also be enabled for assigning to registers
34837 2010-02-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34839         * src/mcs51/peeph.def: added rules 105.b and 114.x improving parameter
34840           passing for models large and huge.
34841           Regression test suite is about 1% smaller for model large
34843 2010-02-09 Borut Razem <borut.razem AT siol.net>
34845         * sdas/asxxsrc/sdas.c, sdas/linksrc/sdld.c:
34846           convert parogram name to lower case since on Win 9x program names
34847           in argv[0] are always upper case;
34848           added diagnostic if SDAS_DIAG and/or SDLD_DIAG environment
34849           variables are set
34851 2010-02-08 Borut Razem <borut.razem AT siol.net>
34853         * src/avr/gen.c, src/avr/gen.h, src/cdbFile.c, src/ds390/gen.c,
34854           src/ds390/gen.h, src/hc08/gen.c, src/hc08/gen.h, src/mcs51/gen.c,
34855           src/mcs51/gen.h, src/mcs51/main.c, src/pic16/gen.c, src/pic16/gen.h,
34856           src/pic16/main.c, src/pic/gen.c, src/pic/gen.h, src/port.h,
34857           src/SDCCBBlock.c, src/SDCCdebug.c, src/SDCCdebug.h, src/SDCCdwarf2.c,
34858           src/SDCCdwarf2.h, src/SDCCglobl.h, src/SDCCglue.c, src/SDCCmain.c,
34859           src/xa51/gen.c, src/xa51/gen.h, src/xa51/main.c, src/z80/gen.c,
34860           src/z80/gen.h, src/z80/main.c:
34861           get rid of scratchFileName, const string pointers
34862         * src/SDCCmain.c, src/xa51/main.c, src/mcs51/main.c, sdcc_vc_in.h:
34863           fixed bug #2947712: SDCC completely broken in multiple ways
34864         * sdas/linksrc/lklist.c, sdas/linksrc/lkmain.c:
34865           reintroduced gameboy map file format, required by rrgb simulator,
34866           reenabled gameboy regression tests
34868 2010-02-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34870         * src/mcs51/peeph.def: added rules 272.x helping literal left shifts
34872 2010-02-07 Borut Razem <borut.razem AT siol.net>
34874         * src/SDCCmain.c, src/SDCCglobl.h, src/z80/main.c, src/hc08/main.c,
34875           sdas/linksrc/lkmain.c, sdas/linksrc/lkar.c, sdas/linksrc/lkrloc.c:
34876           fixed output file format handling
34877         * src/SDCCmain.c, src/port.h, src/xa51/main.c, src/mcs51/main.c,
34878           src/z80/main.c, src/ds390/main.c, src/hc08/main.c:
34879           list of standard library files moved to port structure,
34880           defined for each target
34881         * sdas/linksrc/lkmain.c: re-added the gb version of map()
34883 2010-02-06 Maarten Brock <sourceforge.brock AT dse.nl>
34885         * device/lib/_setjmp.c: fixed --stack-auto for model-huge
34886         * support/regression/Makefile.in: keep the hex-file
34888 2010-02-05 Philipp Klaus Krause <pkk AT spth.de>
34890         * src/z80/gen.c,
34891           src/z80/mappings.i,
34892           src/z80/peeph-z80.def:
34893           Decompose multiline macros, fixing #1570701, #1921731.
34895 2010-02-04 Borut Razem <borut.razem AT siol.net>
34897         * src/mcs51/main.c, src/z80/main.c, src/ds390/main.c, src/hc08/main.c,
34898           src/xa51/main.c, src/SDCCmain.c, src/port.h:
34899           list of C runtime initialization object files crt0.rel moved to port
34900           structure, defined for each target
34902 2010-02-02 Philipp Klaus Krause <pkk AT spth.de>
34904         * src/z80/peeph-gbz80.def,
34905           src/z80/mappings.i:
34906           Fixed gbz80 port to work with new assembler.
34908 2010-02-02 Maarten Brock <sourceforge.brock AT dse.nl>
34910         * src/SDCCsymt.c(addSymChain): fixed --xstack float support in model-huge
34912 2010-02-01 Maarten Brock <sourceforge.brock AT dse.nl>
34914         * src/SDCCmain.c(assemble): don't destroy asmName twice
34916 2010-02-01 Maarten Brock <sourceforge.brock AT dse.nl>
34918         * src/ds390/ralloc.c (packRegsDPTRuse): fixed bug 2938110
34919         * support/regression/tests/bug2938110.c: new, added
34921 2010-02-01 Borut Razem <borut.razem AT siol.net>
34923         * sdas/linksrc/lkar.c, sdas/linksrc/lksdcclib.c:
34924           detection of asxxxx v3.0 and higher rel files
34926 2010-01-31 Philipp Klaus Krause <pkk AT spth.de>
34928         * src/z80/peeph-z80.def:
34929           Minor peephole.
34931 2010-01-30 Maarten Brock <sourceforge.brock AT dse.nl>
34933         * configure,
34934         * configure.in: added device/lib/huge/Makefile
34936 2010-01-30 Maarten Brock <sourceforge.brock AT dse.nl>
34938         * device/include/asm/mcs51/features.h: added _RETURN
34939         * device/include/setjmp.h: adapted for model-huge
34940         * device/lib/_setjmp.c: adapted for xstack and model-huge
34941         * device/lib/_decdptr.c(_decdptr): __naked
34942         * device/lib/_logexpf.c (_fs_cordic_rshift_r765_unsigned): __naked
34943         * device/lib/_mullong.c: use _AUTOMEM from sdcc-lib.h
34944         * device/lib/_startup.c (_sdcc_external_startup): __nonbanked
34945         * device/lib/_strlen.c,
34946         * device/lib/abs.c,
34947         * device/lib/labs.c: use _RETURN
34948         * device/lib/cotf.c,
34949         * device/lib/tanf.c,
34950         * device/lib/tancotf.c (tancotf): changed iscotan to BOOL
34951         * device/lib/expf.c,
34952         * device/lib/logf.c: adapted for model-huge
34953         * device/lib/printf_large.c: set USE_FLOATS for ds390, xstack, model-huge
34954         * device/lib/huge: added directory
34955         * device/lib/huge/Makefile.in: new, added
34956         * src/mcs51/gen.c (aopPut, Push): factored out Push,
34957           (getFreePtr): save R0 in B for PCALL,
34958           (opIsGptr): also true for banked function pointers,
34959           (saveRegisters, unsaveRegisters): always save for banked functions,
34960             don't kill R0,
34961           (genCall, genPcall, genEndFunction): even static functions are banked in
34962             model-huge, address could be taken,
34963           (genPcall): don't kill R0-R2 before genSend
34964         * src/mcs51/main.c (_mcs51_keywords): added nonbanked,
34965           (_mcs51_finaliseOptions): added MODEL_HUGE,
34966             xstack float lib is not reentrant,
34967           (mcs51_port): added MODEL_HUGE, fixed banked_overhead bug
34968         * src/mcs51/peep.c (termScanAtFunc): always abort for banked call and R0-R2
34969         * src/SDCC.y: remoed warning W_BANKED_WITH_STATIC
34970         * src/SDCCast.c (funcOfType): all C support routines are nonbanked,
34971           (processParms): fixed banked function pointer is no codepointer,
34972           (createFunction): fixed banked_overhead bug
34973         * src/SDCCerr.c: W_BANKED_WITH_STATIC no longer used
34974         * src/SDCCglue.c (_printPointerType): added size parameter,
34975           (printIvalFuncPtr): adapted for banked function pointer,
34976           (glue): added MODEL_HUGE
34977         * src/SDCCmain.c (optionsTable, parseCmdLine, preProcess): added
34978             MODEL_HUGE, --model-huge and OPTION_HUGE_MODEL
34979         * src/SDCCmem.c (allocParms): moved banked_overhead to createFunction
34980         * src/SDCCsymt.c (getSize): adapted for model-huge,
34981           (checkFunction): merge banked/nonbanked from prototype into definition,
34982           (initCSupport):  all C support routines are made nonbanked in funcOfType
34983         * src/SDCCsymt.h: added BANKED_FUNCTIONS, adapted IFFUNC_ISBANKEDCALL
34984         * src/z80/gen.c (emitCall):  even static functions are banked in
34985             model-large and model-medium, address could be taken
34986         * support/regression/Makefile.in: added target test-mcs51-huge
34987         * support/regression/ports/mcs51-common/support.c: added PSBANK,
34988           (_sdcc_external_startup): must be nonbanked
34989         * support/regression/ports/mcs51-xstack-auto/spec.mk: moved USE_FLOATS to
34990             printf_large.c
34991         * support/regression/ports/mcs51-huge: added directory
34992         * support/regression/ports/mcs51-huge/spec.mk: new, added
34993         * support/regression/tests/bug1678803.c,
34994         * support/regression/tests/bug1712928.c: adapted for model-huge
34995         * support/regression/tests/float_single.c: added putchar for debugging
34996         * support/regression/tests/snprintf.c: adapted for model-huge
34998 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
35000         * src/z80/gen.c:
35001           Minor comment.
35003 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
35005         * src/z80/gen.c:
35006           Minor comment.
35008 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
35010         * src/SDCCsymt.h:
35011           Minor fix.
35013 2010-01-29 Borut Razem <borut.razem AT siol.net>
35015         * sdcc/src/xa51/main.c, sdcc/src/mcs51/main.c, sdcc/src/SDCCmain.c,
35016           sdcc/src/z80/main.c, sdcc/src/ds390/main.c, sdcc/src/hc08/main.c,
35017           sdcc/sdas/asxxsrc/asmain.c:
35018           fixed bug #2925290: SDCC assemblers do not process "-o" option correctly
35019           The sdas command line syntax is now compatible with asxxxx v5.0
35021 2010-01-24 Philipp Klaus Krause <pkk AT spth.de>
35022         * support/regression/tests/bool.c,
35023           support/regression/tests/bitopcse.c,
35024           device/include/stdbool.h:
35025           Added test for bool.
35027 2010-01-24 Borut Razem <borut.razem AT siol.net>
35029         * src/z80/gen.c:
35030           fixed declaration in the middle of the block
35031         * support/cpp/ansidecl.h, support/cpp/libcpp/directives.c,
35032           support/cpp/libcpp/errors.c, support/cpp/libcpp/init.c,
35033           support/cpp/libcpp/internal.h, support/cpp/libcpp/lex.c,
35034           support/cpp/libiberty.h, support/cpp/libiberty/hex.c,
35035           support/cpp/libiberty/md5.c, support/cpp/libiberty/splay-tree.c,
35036           support/cpp/md5.h:
35037           SDCPP synchronized with GCC CPP release version 4.4.3
35039 2010-01-24 Philipp Klaus Krause <pkk AT spth.de>
35040         * src/SDCCcse.c,
35041           src/SDCCval.c,
35042           src/SDCCicode.c,
35043           src/SDCCsymt.c,
35044           src/SDCCsymt.h,
35045           src/SDCC.y,
35046           src/SDCCdwarf2.c,
35047           src/SDCCglue.c,
35048           src/z80/gen.c,
35049           src/z80/main.c,
35050           src/z80/peep.c,
35051           src/z80/peeph-z80.def,
35052           src/SDCCglobl.h,
35053           src/SDCC.lex,
35054           src/SDCCast.c,
35055           device/include/stdbool.h,
35056           support/regression/tests/bug1546986.c,
35057           support/regression/tests/constantRange.c,
35058           support/regression/tests/bug2805333.c,
35059           support/regression/tests/bug1337835.c,
35060           support/regression/tests/bitopcse.c,
35061           support/regression/tests/bug1723128.c,
35062           support/regression/tests/bug-908454.c,
35063           support/regression/tests/bug1734654.c,
35064           support/regression/tests/bug1745717.c,
35065           support/regression/tests/bug2719592.c,
35066           support/regression/tests/bug1738367.c,
35067           support/regression/tests/funptrs.c,
35068           support/regression/tests/bug1509084.c,
35069           support/regression/tests/bug1788177.c,
35070           support/regression/tests/bitvars.c:
35071           Finally implemented true _Bool support.
35072         * src/SDCCpeeph.c,
35073           doc/random-notes.txt:
35074           Generic cleanup.
35076 2010-01-24 Borut Razem <borut.razem AT siol.net>
35078         * sdas/as8051/i51adr.c, sdas/as8051/i51pst.c, sdas/asz80/z80pst.c,
35079           sdas/asz80/z80adr.c, sdas/linksrc/lkdata.c, sdas/linksrc/lkmain.c,
35080           sdas/linksrc/aslink.h, sdas/as6808/m08adr.c, sdas/as6808/m08pst.c,
35081           sdas/asxxsrc/asmain.c, sdas/asxxsrc/asxxxx.h, sdas/asxxsrc/aslex.c,
35082           sdas/asxxsrc/asdata.c, sdas/asgb/gbadr.c, sdas/asgb/gbpst.c:
35083           optimized .optsdcc handling
35085 2010-01-23 Borut Razem <borut.razem AT siol.net>
35087         * src/SDCCicode.c, src/SDCCast.c, src/SDCCast.h:
35088           fixed bug #1767885: Parameters lost from scope of intermediate inline function
35089           applied patches from Pavel Pisa; tahks Pavel
35090         * support/regression/tests/inline.c:
35091           merged inline regression tests bug1717305.c, bug1864577.c and bug 1767885
35093 2010-01-18 Borut Razem <borut.razem AT siol.net>
35095         * src/SDCCmain.c, sdas/linksrc/lkmain.c, sdas/linksrc/aslink.h:
35096           fixed bug #2933892 - Weird default ouput location for linker - regression
35097           The sdld command line syntax is now compatible with asxxxx v5.0
35099 2010-01-18 Philipp Klaus Krause <pkk AT spth.de>
35101         * src/SDCCast.c:
35102           Taking the address of _Bool works on the z80 and gbz80 ports.
35104 2010-01-17 Philipp Klaus Krause <pkk AT spth.de>
35106         * src/SDCCcse.c,
35107           src/SDCCicode.c,
35108           src/SDCCglue.c,
35109           src/z80/gen.c,
35110           src/z80/main.c,
35111           src/z80/peep.c,
35112           src/z80/peeph-z80.def,
35113           device/include/stdbool.h,
35114           device/lib/z80/crt0.s:
35115           Support for bool on the Z80 (RFE #1751355).
35116         * device/lib/z80/asm_strings.s,
35117           device/lib/z80/mulchar.s,
35118           device/lib/z80/stubs.s,
35119           device/lib/z80/fstubs.s,
35120           device/lib/z80/heap.s,
35121           device/lib/gbz80/stubs.s,
35122           device/lib/gbz80/fstubs.s,
35123           device/lib/gbz80/asm_strings.s,
35124           device/lib/gbz80/heap.s:
35125           Z80 library cleanup.
35126         * src/SDCCpeeph.c:
35127           Enable jump-to-jump optimizations for jump table entries.
35129 2010-01-16 Borut Razem <borut.razem AT siol.net>
35131         * doc/sdccman.lyx: sfr at to __sfr __at
35133 2010-01-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35135         * src/SDCCmain.c: added ReadcfgFile() - get options from
35136           a sdcc.cfg file.
35138 2010-01-15 Borut Razem <borut.razem AT siol.net>
35140         * support/regression/ports/hc08/support.c,
35141           support/regression/ports/pic14/support.c,
35142           support/regression/ports/pic16/support.c,
35143           support/regression/ports/xa51/support.c,
35144           support/regression/tests/macro.c:
35145           _asm and _endasm changed to __asm and __endasm
35147 2010-01-15 Philipp Klaus Krause <pkk AT spth.de>
35149         * device/lib/gbz80/string.c:
35150           Removed unused gbz80-specific string routines.
35152 2010-01-14 Borut Razem <borut.razem AT siol.net>
35154         * src/SDCCerr.c, src/SDCCerr.h, src/SDCC.lex, doc/sdccman.lyx,
35155           device/include/mcs51/mcs51reg.h,
35156           support/regression/tests/bug2817646.c,
35157           support/regression/tests/driverstruct.c,
35158           support/regression/tests/nullstring.c,
35159           support/regression/tests/bug1546986.c,
35160           support/regression/tests/bug-1981238.c,
35161           support/regression/tests/array.c,
35162           support/regression/tests/bug-1699804.c,
35163           support/regression/tests/bug-221100.c,
35164           support/regression/tests/bug1839277.c,
35165           support/regression/tests/bug-460010.c,
35166           support/regression/tests/bug1921073.c,
35167           support/regression/tests/bug1839321.c,
35168           support/regression/tests/float.c,
35169           support/regression/tests/simplefloat.c,
35170           support/regression/tests/bug2783061.c,
35171           support/regression/tests/critical.c,
35172           support/regression/tests/bug1551947.c,
35173           support/regression/tests/bug663539.c,
35174           support/regression/tests/absolute.c,
35175           support/regression/tests/bug-221168.c,
35176           support/regression/tests/bug-716242.c,
35177           support/regression/tests/bug1348008.c,
35178           support/regression/tests/bug1928022.c,
35179           support/regression/tests/bug1938300.c,
35180           support/regression/tests/bug-880197.c,
35181           support/regression/tests/bug1536762.c,
35182           support/regression/tests/bug1198642.c,
35183           support/regression/tests/bug1749275.c,
35184           support/regression/tests/bitopcse.c,
35185           support/regression/tests/bug1535242.c,
35186           support/regression/tests/bug-868103.c,
35187           support/regression/tests/using.c,
35188           support/regression/tests/bug1723128.c,
35189           support/regression/tests/bug1750318.c,
35190           support/regression/tests/bug1409955.c,
35191           support/regression/tests/bug1856409.c,
35192           support/regression/tests/regtrack.c,
35193           support/regression/tests/setjmp.c,
35194           support/regression/tests/bug1618050.c,
35195           support/regression/tests/float_single.c,
35196           support/regression/tests/malloc.c,
35197           support/regression/tests/bug-524691.c,
35198           support/regression/tests/bug1908493.c,
35199           support/regression/tests/bug2761883.c,
35200           support/regression/tests/sfr16.c,
35201           support/regression/tests/zeropad.c,
35202           support/regression/tests/staticinit.c,
35203           support/regression/tests/bug2655200.c,
35204           support/regression/tests/bug2435941.c,
35205           support/regression/fwk/include/testfwk.h,
35206           support/regression/fwk/lib/testfwk.c,
35207           support/regression/ports/pic14/spec.mk,
35208           support/regression/ports/ds390/spec.mk,
35209           support/regression/ports/ds390/support.c,
35210           support/regression/ports/hc08/spec.mk,
35211           support/regression/ports/ucz80/spec.mk,
35212           support/regression/ports/mcs51-common/spec.mk,
35213           support/regression/ports/mcs51-common/T2_isr.c,
35214           support/regression/ports/mcs51-common/support.c,
35215           support/regression/generate-cases.py:
35216           implemented RFE #2931693: deprecate warnings for sdcc specific keyword
35217         * configure.in, configure:
35218           implemented RFE #2932327: remove unsupported and broken targets xa51 and avr
35219         * .version, doc/sdccman.lyx: bumped version to 2.9.7
35221 2010-01-11 Borut Razem <borut.razem AT siol.net>
35223         * configure.in, configure, Makefile.in, sdcc.dsw,
35224           sdas/asranlib/asranlib.dsp, sdas/asranlib/Makefile.in:
35225           sdas/aslink renamed to sdas/linksrc
35227 2009-01-10 Raphael Neider <rneider AT web.de>
35229         * src/pic/gen.c (genCmp): do not clobber CARRY when storing the
35230           result of the comparison (fixes #2929477), cosmetic changes
35232 2010-01-10 Borut Razem <borut.razem AT siol.net>
35234         * configure.in, configure, Makefile.in, sdas/*/Makefile.in,
35235           sdcc/sdcc.dsw, sdas/asranlib/asranlib.dsp, config.dsp:
35236           as renamed to sdas, as/link renamed to sdas/aslink,
35237           as/z80 renamed to sdac/asz80, as/mcs51 renamed to sdas/as8051,
35238           as/hc80 renamed to sdcc/sdas/as6808
35239         * debugger/mcs51/cmd.c, sim/ucsim/utils.cc, sdcc/sdas/aslink/lklibr.c,
35240           support/cpp/libcpp/macro.c: fixed compiler warnings
35242 2010-01-09 Borut Razem <borut.razem AT siol.net>
35244         * as/*/conf.mk: removed
35245           as/conf.mk: added
35246           as/*/Makefile.in: use common as/conf.mk
35247           as/*/clean.in: unified
35248         * src/SDCCmain.c, src/z80/main.c,
35249           device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in,
35250           as/asxxsrc/asmain.c, as/link/aslink.h,
35251           support/regression/Makefile.in,
35252           support/regression/ports/ucz80/spec.mk:
35253           object file extension for z80 and gb targets changed from .o to .rel
35254         * .version, doc/sdccman.lyx: bumped version to 2.9.6
35256 2010-01-04 Borut Razem <borut.razem AT siol.net>
35258         * doc/sdccman.lyx, support/cpp/libcpp/internal.h,
35259           support/cpp/libcpp/lex.c, support/cpp/sdcpp.c:
35260           fixed bug #2919991: #Pragma preproc_asm cannot be used by -- std-c99.
35261         * support/cpp/libcpp/macro.c, support/cpp/version.c:
35262           SDCPP synchronized with GCC CPP release version 4.4.2
35263         * as/link/lklist.c: fixed NULL pointer dereference
35264         * as/link/lkmain.c: do not complaint when opening optional adb files
35266 2009-12-31 Borut Razem <borut.razem AT siol.net>
35268         * as/link/lkarea.c, as/link/lkdata.c, as/link/lklist.c,
35269           as/link/lks19.c, as/link/lkmain.c, as/link/lkeval.c,
35270           as/link/lklibr.c, as/link/lkaomf51.c, as/link/lkhead.c,
35271           as/link/lklex.c, as/link/lkrloc.c, as/link/aslink.h:
35272           sync with aslink 2.0
35273         * as/link/lks19.c: include "sdld.c"
35274         * as/link/aslink.dsp: cleaning
35275         * as/link/aslink.h: changed the type Character Type Definitions to char
35277 2009-12-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
35279         * src/hc08/gen.c: fixed bug 2912013
35281 2009-12-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35283         * as/link/aslink.dsp, as/link/sdld_all.dsp: fixed destination path of
35284         sdld.exe, sdldz80.exe, sdldgb.exe, and sdld6808.exe
35286 2009-12-21 Borut Razem <borut.razem AT siol.net>
35288         * Makefile.in: fixed hc08
35289         * Makefile.in, as/link/Makefile.in: fixed installation
35291 2009-12-20 Borut Razem <borut.razem AT siol.net>
35293         * as/link/lkmain.c, as/link/lksdcclib.c,
35294           as/link/lklib.c, as/link/lklex.c, as/link/aslink.h:
35295           fixed "o" file extension for z80 and gb targets
35297 2009-12-19 Borut Razem <borut.razem AT siol.net>
35299         * configure, Makefile.in, configure.in, as/link/Makefile.in,
35300           all.dsp, as/link/aslink.dsp, as/link/sdld_all.dsp,
35301           as/link/lkmain.c, as/link/lkgb.c, as/link/lkihx.c,
35302           as/link/sdld.c, as/link/sdld.h, as/link/lkmem.c,
35303           as/link/clean.mk, as/link/lkrloc.c: modified
35304           as/link/lkarea.c, as/link/readme.390, conf.mk, aslink.dsp:
35305           moved from as/link/mcs51,
35306           as/link/z80, as/link/mcs51, as/link/hc08: removed,
35307           unification of lkarea.c, one polymorphic sdld
35308         * as/asxxsrc/sdas.h, as/asxxsrc/sdas.c:
35309           renamed TRAGET_IS_XXXX to TARGET_ID_XXXX
35310         * .version, doc/sdccman.lyx: bumped version to 2.9.5
35312 2009-12-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
35314         * device/lib/abs.c, device/lib/labs.c: assembler version
35315           for mcs51, other targets slightly shorter too
35316         * support/regression/tests/abs.c: added regression test
35318 2009-12-17 Indy Sams < drift_solutions AT users.sourceforge.net >
35320         * device/lib/_strpbrk.c: fixed bug #2908537 (svn commit by Frieder)
35322 2009-12-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
35324         * support/regression/tests/strpbrk.c: added regression test
35326 2009-12-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35328         * device/include/mcs51/w7100.h: added.
35330 2009-12-16 Borut Razem <borut.razem AT siol.net>
35332         * as/link/lkihx.c,
35333           as/link/z80/Makefile.in, as/link/z80/linkz80.dsp,
35334           as/link/z80/linkgbz80.dsp,
35335           as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
35336           as/link/hc08/Makefile.in, as/link/hc08/link_hc08.dsp,
35337           as/link/z80/lkihx.c, as/link/hc08/lkihx.c
35338           as/link/mcs51/lkihx.c: unification of lkihx.c
35340 2009-12-14 Raphael Neider <rneider AT web.de>
35342         * device/include/pic16/pic16devices.txt:
35343           mask _XINST for 18f97j60 family, fix configword locations
35344         * device/include/pic16/pic18f24j50.h,
35345           device/include/pic16/pic18f25j50.h,
35346           device/include/pic16/pic18f44j50.h,
35347           device/include/pic16/pic18f45j50.h,
35348           device/include/pic16/pic18f46j50.h,
35349           device/include/pic16/pic18f66j60.h,
35350           device/include/pic16/pic18f66j65.h,
35351           device/include/pic16/pic18f67j60.h,
35352           device/include/pic16/pic18f86j60.h,
35353           device/include/pic16/pic18f86j65.h,
35354           device/include/pic16/pic18f87j60.h,
35355           device/include/pic16/pic18f96j60.h,
35356           device/include/pic16/pic18f96j65.h,
35357           device/include/pic16/pic18f97j60.h:
35358           add symbolic addresses to configuration bits
35359         * device/include/pic16/pic18fregs.h: add __CONFIG() macro
35361 2009-12-14 Borut Razem <borut.razem AT siol.net>
35363         * src/SDCCmain.c: fixed crashing if -o option is not defined,
35364           bug #2913769: sdcc crashes on cygwin
35365         * as/link/lkgb.c, as/link/z80/lkihx.c, as/link/lkrloc.c,
35366           as/link/z80/Makefile.in, as/link/z80/linkz80.dsp,
35367           as/link/z80/linkgbz80.dsp,
35368           as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
35369           as/link/hc08/Makefile.in, as/link/hc08/link_hc08.dsp,
35370           as/link/z80/lkrloc.c, as/link/hc08/lkrloc.c
35371           as/link/mcs51/lkrloc.c:
35372           unification of lkrloc.c
35374 2009-12-13 Borut Razem <borut.razem AT siol.net>
35376         * as/link/aslink.h. as/link/lksym.c, as/link/lkstore.c:
35377           StrStore() replaced with strsto(), removed as/link/lkstore.c
35378         * as/link/lkgb.c, as/link/lkgg.c, as/link/z80/lkgb.c,
35379           as/link/z80/lkgg.c, as/link/z80/Makefile.in,
35380           as/link/z80/linkz80.dsp, as/link/z80/linkgbz80.dsp,
35381           as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
35382           as/link/hc08/Makefile.in, as/link/hc08/link_hc08.dsp:
35383           as/link/z80/lkgb.c and as/link/z80/lkgg.c moved to as/link
35384         * as/link/lkelf.c: added casts to new()
35385         * as/link/lkmem.c: fixed code asld6808 crash
35386         * all.dsp, as/link/z80/linkz80.dsp, as/link/z80/linkgbz80.dsp:
35387           fixed for new sdld names
35388         * src/SDCCmain.c: fixed cygwin compilation
35390 2009-12-12 Borut Razem <borut.razem AT siol.net>
35392         * as/link/z80/lkmain.c: removed
35393         * as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
35394           as/link/z80/Makefile.in: use as/link/lkmain.c
35395         * as/link/lkmain.c: fixed command line option handling
35396         * src/port.h, src/SDCCmain.c, src/z80/main.c:
35397           fixed crt object file handling with asld, ...
35398         * as/link/lkdata.c, as/link/mcs51/lkarea.c,
35399           as/link/aslink.h, as/link/hc08/Makefile.in,
35400           as/link/mcs51/Makefile.in, as/link/z80/Makefile.in,
35401           as/link/z80/linkz80.dsp, as/link/z80/linkgbz80.dsp,
35402           as/link/mcs51/aslink.dsp, as/link/hc08/link_hc08.dsp:
35403           modified
35404           as/link/z80/lks19.c, as/link/z80/lkmem.c,
35405           as/link/mcs51/lks19.c, as/link/mcs51/lkmem.c,
35406           as/link/hc08/lks19.c, as/link/hc08/lkmem.c,
35407           as/link/hc08/lkelf.c: moved to as/link
35408           unification of lkelf.c, lks19.c and lkmem.c
35410 2009-12-10 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35412         * all.dsp, as/link/hc08/link_hc08.dsp, as/link/mcs51/aslink.dsp:
35413          renamed linker executables.
35415 2009-12-04 Borut Razem <borut.razem AT siol.net>
35417         * support/scripts/sdcc.nsi: renamed liker executables
35418         * as/link/mcs51/Makefile.in, as/link/hc08/Makefile.in:
35419           fixed installation linker executable name
35421 2009-12-03 Borut Razem <borut.razem AT siol.net>
35423         * device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in,
35424           device/lib/ds390/Makefile.in, device/lib/Makefile.in,
35425           device/lib/ds400/Makefile.in, device/lib/mcs51/Makefile.in,
35426           device/lib/hc08/Makefile.in:
35427           fixed bug #2907642: version of make > 3.80 required to build SDCC
35428         * as/asxxsrc/asxxxx.h: fixed typo
35430 2009-12-02 Borut Razem <borut.razem AT siol.net>
35432         * as/link/hc08/link_hc08.dsp, as/link/mcs51/aslink.dsp,
35433           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
35434           as/link/lkmain.c: re-enabled msvc build
35436 2009-12-01 Borut Razem <borut.razem AT siol.net>
35438         * as/link/aslink.h, as/link/lkmain.c, as/link/z80/Makefile.in,
35439           as/link/z80/lkmain.c:
35440           temporarily re-added special lkmain.c for z80 and gb targets
35442 2009-11-29 Borut Razem <borut.razem AT siol.net>
35444         * src/mcs51/main.c, src/z80/main.c, src/hc08/main.c, src/ds390/main.c,
35445           as/asxxsrc/sdas.c, as/link/Makefile.in, as/link/lkmain.c,
35446           as/link/z80/Makefile.in, as/link/mcs51/Makefile.in,
35447           as/link/hc08/Makefile.in, as/link/aslink.h, as/link/sdlink.[ch],
35448           as/link/sdld.[ch], as/asxxsrc/sdas.c, as/link/lkdata.c,
35449           as/link/lkmain.c:
35450           fixed bug in target detection, sdlink renamed to sdld
35452 2009-11-28 Borut Razem <borut.razem AT siol.net>
35454         * as/asxxsrc/asdata.c, as/asxxsrc/asmain.c, as/asxxsrc/asxxxx.h:
35455           mark sdas specifics
35456         * as/asxxsrc/sdas.c, as/asxxsrc/sdas.h, as/link/aslink.h,
35457           as/link/hc08/lkarea.c, as/link/hc08/lkmain.c, as/link/hc08/lkmem.c,
35458           as/link/hc08/Makefile.aslink, as/link/hc08/Makefile.in,
35459           as/link/lkmain.c, as/link/Makefile.in, as/link/mcs51/lkmain.c,
35460           as/link/mcs51/Makefile.aslink, as/link/mcs51/Makefile.in,
35461           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
35462           as/link/z80/lkarea.c, as/link/z80/lkgb.c, as/link/z80/lkmain.c,
35463           as/link/z80/lkmem.c, as/link/z80/Makefile.in, src/ds390/main.c,
35464           src/hc08/main.c, src/mcs51/main.c, src/z80/main.c,
35465           as/link/sdlink.[ch]:
35466           lkmain.c unification; linkers renamed to sdlinkXXXX
35468 2009-11-27 Borut Razem <borut.razem AT siol.net>
35470         * sim/ucsim/config.guess, sim/ucsim/ltmain.sh, sim/ucsim/config.sub:
35471           upgraded to libtool 2.2.5,
35472           fixed dug #2897829: ancient-libtool sim/ucsim/ltmain.sh 1.4.2
35474 2009-11-06 Raphael Neider <rneider AT web.de>
35476         * src/pic/gen.c (pic14_getDataSize): use true size of generic
35477           pointers to fix assignment of the result of pointer arithmetics
35479 2009-11-05 Raphael Neider <rneider AT web.de>
35481         * src/pic/gen.c (genUnpackBits): setup FSR before using it, fixes
35482           "[Sdcc-user] The damned loop from hell"; plus cosmetic changes
35484 2009-11-04 Maarten Brock <sourceforge.brock AT dse.nl>
35486         * src/SDCCmem.c(defaultOClass, allocDefault): refactored
35487         * src/SDCCmem.h: added defaultOClass
35488         * src/SDCCsymt.c(processFuncArgs): use defaultOClass to support storage
35489           class in parameters, fixes bug 2761883
35490         * support/regression/tests/bug2761883.c: new, added
35491         * doc/sdccman.lyx: removed warning about ignored storage class in params
35493 2009-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
35495         * src/SDCCast.c(constExprTree): struct fields have a constant offset
35497 2009-11-01 Maarten Brock <sourceforge.brock AT dse.nl>
35499         * src/SDCCglue.c(initValPointer): fixed bug 1503239
35500         * support/regression/tests/bug1928022.c: added test cases
35502 2009-11-01 Philipp Klaus Krause <pkk AT spth.de>
35504         * src/SDCCpeeph.c,
35505         * src/mcs51/peeph.def,
35506         * src/avr/peeph.def,
35507         * src/z80/peeph-z80.def,
35508         * src/ds390/peeph.def,
35509         * support/regression/tests/bug-2890326.c:
35510           Fixed bug #2890326.
35512 2009-11-01 Maarten Brock <sourceforge.brock AT dse.nl>
35514         * src/SDCCsymt.c(addSymChain, checkDecl): fixed bug 1470790
35515         * support/regression/tests/zeropad.c: added test
35517 2009-11-01 Maarten Brock <sourceforge.brock AT dse.nl>
35519         * src/SDCCast.c(decorateType,CAST): fold literal pointers
35520         * src/SDCCdflow.c(usedInRemaining),
35521         * src/SDCCicode.c(geniCodeCall): fix for non-symbol values
35522         * src/SDCCsymt.c(isConstant): reverted, make literals const instead
35523         * src/SDCCval.c(constFloatVal, constFixed16x16Val, constVal, constCharVal,
35524           strVal): make literals const
35525           (valForArray),
35526           (valForStructElem): fixed bug 1928022 with folded literal pointers
35527         * src/ds390/gen.c(genCall),
35528         * src/hc08/gen.c(genCall),
35529         * src/mcs51/gen.c(genCall),
35530         * src/z80/gen.c(emitCall): handle literal function pointers
35531         * support/regression/tests/bug1928022.c: new, added
35533 2009-10-30 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35535         * device/include/mcs51/P89LPC922.h, device/include/mcs51/P89LPC932.h,
35536           device/include/mcs51/p89lpc938.h: fixed bug 2889428, double definition
35537           for CMP1 and CMP2.
35538         * device/include/mcs51/p89lpc925.h: for consistency with the other lpc
35539           files, renamed CMP1b and CMP2b to CMP_1 and CMP_2.
35541 2009-10-28 Maarten Brock <sourceforge.brock AT dse.nl>
35543         * src/SDCCast.c(newIfxNode): fixed bug 2887512
35544           (decorateType, '='): use different error for function pointers
35545         * src/SDCCglue.c(printIvalFuncPtr): fixed bug 2806238, don't throw away
35546           function pointer value just like that
35547           (printIval): use different error for function pointers
35548         * src/SDCCsymt.c(compareFuncType, compareType): new function to compare
35549           function pointer types
35550           (isConstant): treat literals as constant too to warn before bug 2887512
35552 2009-10-26 Borut Razem <borut.razem AT siol.net>
35554         * doc/cdbfileformat.lyx, doc/sdccman.lyx, doc/test_suite_spec.lyx:
35555           converted to LyX 1.6.4 (\lyxformat 345) format
35557 2009-10-25 Maarten Brock <sourceforge.brock AT dse.nl>
35559         * as/link/mcs51/lkarea.c(lnkarea2): fixed bug 2839083
35561 2009-10-24 Maarten Brock <sourceforge.brock AT dse.nl>
35563         * src/SDCCast.c(decorateType): also set OCLS for PTR_OP, fixed bug 2823963
35564         * src/SDCCast.h: cosmetic changes
35565         * src/SDCCicode.c,
35566         * src/SDCCicode.h: moved setOClass prototype
35567         * support/regression/tests/bug2823963.c: new, added
35569 2009-10-22 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35571         * device/include/mcs51/p89lpc9321.h, device/include/mcs51/p89lpc9331.h,
35572           device/include/mcs51/p89lpc9351.h: added
35574 2009-10-21 Maarten Brock <sourceforge.brock AT dse.nl>
35576         * src/SDCCast.c(createIvalPtr),
35577         * src/SDCCglue.c(printIvalFuncPtr): fixed bug 2881971
35578         * support/regression/tests/zeropad.c: added test
35580 2009-10-18 Borut Razem <borut.razem AT siol.net>
35582         * support/scripts/sdcc.nsi: assemblers renamed to sdasxxxx
35584 2009-10-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35586         * src/mcs51/gen.c: Fixed bug 2880909
35587         * all.dsp, device/lib/make51lib.bat: renamed assemblers to sdasxxxx
35589 2009-10-17 Borut Razem <borut.razem AT siol.net>
35591         * as/asgb/asgb.dsp, as/asgb/Makefile.in, as/asxxsrc/asexpr.c,
35592           as/asxxsrc/asmain.c, as/asxxsrc/asout.c, as/asxxsrc/sdas.c,
35593           as/asxxsrc/sdas.h, as/hc08/as_hc08.dsp, as/hc08/Makefile.in,
35594           as/mcs51/asx8051.dsp, as/mcs51/Makefile.in, as/z80/as_z80.dsp,
35595           as/z80/Makefile.in, device/lib/gbz80/Makefile.in,
35596           device/lib/hc08/Makefile.in, device/lib/mcs51/Makefile.in,
35597           device/lib/z80/Makefile.in, src/ds390/main.c, src/hc08/main.c,
35598           src/mcs51/main.c, src/z80/main.c,
35599           support/regression/ports/gbz80/spec.mk,
35600           support/regression/ports/hc08/spec.mk,
35601           support/regression/ports/ucz80/spec.mk,
35602           support/regression/ports/z80/spec.mk:
35603           assemblers renamed to sdasxxxx:
35604             as-gbz80 -> sdasgb,
35605             as-hc08 -> sdas6808
35606             asx8051 -> sdas8051
35607             as-z80 -> sdasz80
35608         * .version, doc/sdccman.lyx: bumped version to 2.9.4
35610 2009-10-12 Maarten Brock <sourceforge.brock AT dse.nl>
35612         * device/lib/_fsadd.c: optimized (for mcs51-xstack) and enhanced precision
35613           to fix some float_single regression tests
35614         * device/lib/_fssub.c: optimized
35615         * device/lib/asinf.c,
35616         * device/lib/acosf.c,
35617         * device/lib/asincosf.c: optimized
35618         * device/lib/mcs51/crtxpop.asm,
35619         * device/lib/mcs51/crtxpopbits.asm,
35620         * device/lib/mcs51/crtxpush.asm,
35621         * device/lib/mcs51/crtxpushr0.asm: new (slow) helper functions for xstack
35622         * device/lib/mcs51/Makefile.in: added crtxpush... and crtxpop...
35623         * src/mcs51/gen.c(aopForSym): optimized stack access
35624           (xstackRegisters): new, calculates bitmask
35625           (saveRegisters, unsaveRegisters): use (slow) crtxpush/pop to save memory
35626           (genFunction): optimized stack access
35627         * src/mcs51/peep.c(removeDeadMove): removed unused parm
35628         * support/regression/tests/float_single.c: enabled now passing tests
35630 2009-10-12 Borut Razem <borut.razem AT siol.net>
35632         * as/link/aslink.h, as/link/hc08/lkarea.c, as/link/hc08/lkmain.c,
35633           as/link/lkdata.c, as/link/lksym.c, as/link/mcs51/lkarea.c,
35634           as/link/mcs51/lkmain.c, as/link/z80/lkarea.c, as/link/z80/lkmain.c:
35635           itroduced zflag for case senditivity; zflag is forced to 1
35637 2009-10-10 Borut Razem <borut.razem AT siol.net>
35639         * as/asgb/Makefile.in, as/z80/Makefile.in: added -lm to LDFLAGS
35641 2009-10-10 Borut Razem <borut.razem AT siol.net>
35643         * as/hc08/m08adr.c, as/hc08/m08mch.c, as/hc08/m6808.h,
35644           as/mcs51/i51adr.c, as/mcs51/i51mch.c, as/mcs51/i51pst.c,
35645           as/mcs51/i8051.h, as/z80/z80.h, as/z80/z80adr.c, as/z80/z80mch.c:
35646           targets synced with asxxxx v2.0 and later
35647         * as/asgb/asgb.dsp, as/asgb/clean.mk, as/asgb/conf.mk, as/asgb/gb.h,
35648           as/asgb/gbadr.c, as/asgb/gbext.c, as/asgb/gbmch.c, as/asgb/gbpst.c,
35649           as/asgb/Makefile.in,
35650           as/Makefile.in, as/z80/as_gbz80.dsp,
35651           as/mcs51/i51ext.c, as/z80/Makefile.in, as/z80/z80.h, as/z80/z80adr.c,
35652           as/z80/z80ext.c, as/z80/z80mch.c, as/z80/z80pst.c,
35653           configure, configure.in, Makefile.in, sdcc.dsw:
35654           split asz80 and asgb
35655         * as/asgb/gb.h, as/asgb/gbmch.c, as/asxxsrc/asdata.c,
35656           as/asxxsrc/asexpr.c, as/asxxsrc/aslex.c, as/asxxsrc/asmain.c,
35657           as/asxxsrc/asxxxx.h, as/hc08/m08adr.c, as/hc08/m08mch.c,
35658           as/hc08/m6808.h, as/link/aslink.h, as/link/hc08/lkarea.c,
35659           as/link/hc08/lkelf.c, as/link/hc08/lkihx.c, as/link/hc08/lkmain.c,
35660           as/link/hc08/lkrloc.c, as/link/hc08/lks19.c, as/link/lkdata.c,
35661           as/link/lkeval.c, as/link/lkhead.c. as/link/lklist.c,
35662           as/link/lknoice.c, as/link/lksym.c, as/link/mcs51/lkarea.c,
35663           as/link/mcs51/lkihx.c, as/link/mcs51/lkmain.c,
35664           as/link/mcs51/lkrloc.c, as/link/mcs51/lks19.c, as/link/z80/lkarea.c,
35665           as/link/z80/lkihx.c, as/link/z80/lkmain.c, as/link/z80/lkrloc.c,
35666           as/link/z80/lks19.c, as/mcs51/i51mch.c, as/mcs51/i8051.h,
35667           as/z80/z80.h, as/z80/z80mch.c: type Addr_T renamed to a_uint,
35668           function comma() moved to aslex.c
35670 2009-10-09 Maarten Brock <sourceforge.brock AT dse.nl>
35672         * src/SDCC.y,
35673         * src/SDCCsymt.c(mergeDeclSpec): fixed bug 1376285
35675 2009-10-08 Maarten Brock <sourceforge.brock AT dse.nl>
35677         * src/SDCCerr.c,
35678         * src/SDCCerr.h: changed W_STRUCT_AS_ARG to error E_STRUCT_AS_ARG
35679         * src/SDCCsymt.c(aggregateToPointer),
35680         * src/SDCCast.c(processParms): throw error for struct parameters,
35681           fixes bug 2874687
35683 2009-10-07 Maarten Brock <sourceforge.brock AT dse.nl>
35685         * src/SDCCglue.c(initValPointer, initPointer): fixed bug 2166213
35687 2009-10-05 Borut Razem <borut.razem AT siol.net>
35689         * as/asxxsrc/asmain.c:
35690           removed forced wide listing format for symbol table and
35691           removed forced enable case sensitivity for symbols in case of sdas
35693 2009-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
35695         * as/asxxsrc/assubr.c: include sdas.h
35696         * as/asxxsrc/assym.c(symeq): type of n is size_t
35697         * src/SDCCglue.c(initPointer): fixed bug 2655200 by using oclass->ptrType
35698         * support/regression/tests/bug2655200.c: enabled --model-medium
35700 2009-10-04 Borut Razem <borut.razem AT siol.net>
35702         * as/asxxsrc/asdata.c, as/asxxsrc/aslex.c, as/asxxsrc/assubr.c,
35703           as/asxxsrc/assym.c, as/asxxsrc/asxxxx.h:
35704           partially synced with asxxxx v2.0
35705         * src/ds390/main.c, src/hc08/main.c, src/mcs51/main.c, src/z80/main.c:
35706           added -z and -w option to assembler invocation
35708 2009-10-04 Maarten Brock <sourceforge.brock AT dse.nl>
35710         * device/include/string.h,
35711         * device/lib/_strlen.c: return size_t
35712         * device/lib/_memchr.c,
35713         * device/lib/_strcspn.c: cosmetic changes
35714         * device/lib/sincosf.c,
35715         * device/lib/cosf.c,
35716         * device/lib/sinf.c: use BOOL instead of larger int
35717         * src/z80/gen.c,
35718         * src/z80/mappings.i: cosmetic changes
35719         * src/SDCCsymt.c (pointerTypes, mergeDeclSpec, checkSClass): fixed bug 2817646
35720           (checkFunction): disabled __naked
35721           (dbuf_printTypeChain): more like RFE 2824498, print C-ish
35722           (isRestrict): added
35723         * src/SDCCsymt.h: added IS_RESTRICT, mergeDeclSpec, isRestrict
35724         * src/SDCC.y: use mergeDeclSpec to fix bug 2817646
35725         * src/SDCCicode.c (checkPtrQualifiers, checkTypes, geniCodeAssign,
35726           geniCodeParms, geniCodeCall): fixed bug 1302048
35727         * src/SDCCerr.c,
35728         * src/SDCCerr.h: added warning W_TARGET_LOST_QUALIFIER
35729         * support/regression/tests/bug-136564.c,
35730         * support/regression/tests/bug-223113.c,
35731         * support/regression/tests/bug1839277.c,
35732         * support/regression/tests/bug2655200.c: added necessary const keywords
35733         * support/regression/tests/strtok.c: removed incorrect const keyword
35734         * support/regression/tests/bug2817646.c: new, added
35735         * .version,
35736         * doc/sdccman.lyx: bumped version to 2.9.3
35738 2009-10-03 Philipp Klaus Krause <pkk AT spth.de>
35739         * src/z80/z80-peeph.def:
35740           Reenabled unproblematic peephole changes.
35742 2009-10-03 Philipp Klaus Krause <pkk AT spth.de>
35743         * src/z80/z80-peeph.def:
35744           Reverted recent peephole changes.
35746 2009-09-30 Philipp Klaus Krause <pkk AT spth.de>
35747         * src/SDCCcse.c:
35748           A step towards #1923898.
35750 2009-09-29 Philipp Klaus Krause <pkk AT spth.de>
35751         * src/z80/gen.c,
35752           Minor 16-bit addition improvement.
35754 2009-09-28 Philipp Klaus Krause <pkk AT spth.de>
35755         * src/z80/ralloc.c,
35756         * src/z80/peeph-z80.def:
35757           Improved usage of accumulator as inter-i-code temporary.
35759 2009-09-28 Philipp Klaus Krause <pkk AT spth.de>
35760         * src/SDCCOpt.c:
35761           Burn the corpses to fight necromancy.
35763 2009-09-27 Philipp Klaus Krause <pkk AT spth.de>
35764         * src/z80/gen.c,
35765         * src/z80/ralloc.c,
35766         * src/z80/peeph-z80.def
35767           Improved usage of accumulator as inter-i-code temporary.
35769 2009-09-26 Philipp Klaus Krause <pkk AT spth.de>
35770         * src/z80/peeph-z80.def:
35771           Minor peephole improvement.
35773 2009-09-26 Philipp Klaus Krause <pkk AT spth.de>
35774         * src/SDCCpeeph.c,
35775           src/z80/peeph-z80.def:
35776           Fixed #2867572.
35778 2009-09-20 Philipp Klaus Krause <pkk AT spth.de>
35779         * device/include/string.h,
35780           device/lib/_strspn.c,
35781           device/lib/incl.mk,
35782           device/lib/_memchr.c,
35783           device/lib/_strcspn.c,
35784           device/lib/_memcmp.c:
35785           Minor string library improvements, including #772292.
35787 2009-09-20 Philipp Klaus Krause <pkk AT spth.de>
35788         * src/SDCCmain.c:
35789           Fixed #2819835 applying #2853488.
35791 2009-09-20 Philipp Klaus Krause <pkk AT spth.de>
35792         * debugger/mcs51/sdcdb.c,
35793           src/SDCCerr.c,
35794           src/z80/gen.c,
35795           src/z80/mappings.i,
35796           src/pic16/gen.c,
35797           src/pic16/pcode.c,
35798           support/librarian/sdcclib.c:
35799           Applied spelling patch #2862563.
35801 2009-09-15 Maarten Brock <sourceforge.brock AT dse.nl>
35803         * device/include/mcs51/at89Sx051.h: new, added, applied patch 2858106,
35804           thanks Ben Boeckel
35806 2009-09-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35808         * device/include/mcs51/p89v51rd2.h: Watchdog Timer Control sfr is
35809           bit addressable.
35811 2009-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
35813         * src/mcs51/gen.c (genAnd, genOr): applied patch for bug 2719592,
35814           thanks to Robert Larice
35815         * support/regression/tests/bug2719592.c: new, added
35817 2009-09-02 Borut Razem <borut.razem AT siol.net>
35819         * support/regression/ports/gbz80/spec.mk,
35820           support/regression/ports/ucz80/spec.mk,
35821           support/regression/ports/z80/spec.mk: fixed *z80 regression test if
35822           built ran directly from sdcc source directory
35824 2009-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
35826         * as/asxxsrc/asmain.c,
35827         * as/asxxsrc/asxxxx.h: fixed warning, main should return int
35828         * as/hc08/Makefile.in,
35829         * as/mcs51/Makefile.in: added -lm to LDFLAGS
35831 2009-08-31 Raphael Neider <rneider AT web.de>
35833         * device/lib/_fsmul.c, device/lib/pic/libsdcc/fsmul.c,
35834           device/lib/pic16/libsdcc/float/fsmul.c: fix overflow during rounding
35835         * support/regression/tests/float.c: add testcase for the fix
35837 2009-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
35839         * src/mcs51/gen.c (aopGet): applied patch 2837100 to fix bug 2805333
35840         * support/regression/tests/bug2805333.c: new, added,
35841           thanks Ruud van Silfhout
35843 2009-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
35845         * device/include/ctype.h: removed _REENTRANT as they are already with
35846           --stack-auto, optimized _tolower and _toupper with char casts
35847         * device/include/string.h,
35848         * device/lib/_strcat.c,
35849         * device/lib/_strchr.c,
35850         * device/lib/_strcmp.c,
35851         * device/lib/_strcpy.c,
35852         * device/lib/_strcspn.c,
35853         * device/lib/_strlen.c,
35854         * device/lib/_strncat.c,
35855         * device/lib/_strncmp.c,
35856         * device/lib/_strncpy.c,
35857         * device/lib/_strpbrk.c,
35858         * device/lib/_strrchr.c,
35859         * device/lib/_strspn.c,
35860         * device/lib/_strstr.c,
35861         * device/lib/_strtok.c,
35862         * device/lib/pic16/libc/stdio/printf_small.c,
35863         * device/lib/pic16/libc/stdio/printf_tiny.c,
35864         * device/lib/pic16/libc/stdio/vfprintf.c,
35865         * device/lib/printf_large.c,
35866         * device/lib/time.c: added required const keywords to pointers
35867         * device/lib/pic16/debug/Makefile.in: changed ommitFramePtr to omitFramePtr
35868         * support/regression/tests/bug-716242.c,
35869         * support/regression/tests/nullstring.c,
35870         * support/regression/tests/strstr.c,
35871         * support/regression/tests/strtok.c: added const and set svn-properties
35872         * support/regression/tests/bug1908493.c: added cast
35873         * support/regression/tests/float_single.c: fixed check for result=0.0
35875 2009-08-28 Borut Razem <borut.razem AT siol.net>
35877         * as/asxxsrc/asout.c: as/mcs51/asout.c moved to as/asxxsrc/asout.c
35878         * as/mcs51/asout.c, as/hc08/asout.c, as/z80/asout.c: removed
35879         * as/asxxsrc/sdas.c, as/asxxsrc/sdas.h:
35880           added function is_sdas_target_mcs51_like()
35881         * as/z80/as_gbz80.dsp, as/hc08/as_hc08.dsp, as/z80/as_z80.dsp,
35882           as/mcs51/asx8051.dsp, as/hc08/Makefile.in, as/mcs51/Makefile.in,
35883           as/z80/Makefile.in: updated project files
35884         * as/asxxsrc/asexpr.c: as/mcs51/asexpr.c moved to as/asxxsrc/asexpr.c
35885         * as/mcs51/asexpr.c, as/hc08/asexpr.c, as/z80/asexpr.c: removed
35886         * as/z80/as_gbz80.dsp, as/hc08/as_hc08.dsp, as/z80/as_z80.dsp,
35887           as/mcs51/asx8051.dsp, as/hc08/Makefile.in, as/mcs51/Makefile.in,
35888           as/z80/Makefile.in: updated project files
35889         * support/regression/ports/z80/spec.mk:
35890           unified as-z80 and as-gbz80 call convention with other assemblers
35892 2009-08-27 Borut Razem <borut.razem AT siol.net>
35894         * as/asxxsrc/asmain.c:
35895           HUGE changed to ASXXXX_HUGE due to redefinition in math.h
35896         * support/regression/ports/gbz80/spec.mk,
35897           support/regression/ports/ucz80/spec.mk,
35898           support/regression/ports/z80/spec.mk:
35899           unified as-z80 and as-gbz80 call convention with other assemblers
35901 2009-08-26 Borut Razem <borut.razem AT siol.net>
35903         * as/asxxsrc/sdas.c, as/asxxsrc/sdas.h: added
35904         * as/asxxsrc/asmain.c: calls sdas
35905         * src/z80/main.c: unified as-z80 and as-gbz80 call convention with
35906           other assemblers
35907         * as/hc08/Makefile.in, as/mcs51/Makefile.in, as/z80/Makefile.in,
35908           as/hc08/as_hc08.dsp, as/mcs51/asx8051.dsp, as/z80/as_gbz80.dsp,
35909           as/z80/as_z80.dsp: updated project files
35910         * device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in:
35911           unified call convention, sync with device/lib/z80/Makefile.in
35912         * as/asxxsrc/aslist.c: as/mcs51/aslist.c moved to as/asxxsrc/aslist.c
35913         * as/asxxsrc/asxxxx.h, as/z80/asout.c, as/mcs51/asout.c,
35914           as/hc08/asout.c:
35915           HUGE changed to ASXXXX_HUGE due to redefinition in math.h
35916         * as/asxxsrc/asmain.c: forced wflag and zflag
35917         * as/z80/aslist.c, as/mcs51/aslist.c, as/hc08/aslist.c: removed
35919 2009-08-25 Borut Razem <borut.razem AT siol.net>
35921         * as/hc08/Makefile.in, as/mcs51/Makefile.in, as/z80/Makefile.in:
35922           removed duplicated asdata.c
35923         * as/hc08/aslist.c, as/hc08/asmain.c, as/hc08/asout.c,
35924           as/mcs51/aslist.c, as/mcs51/asmain.c, as/mcs51/asout.c:
35925           fixed copy&paste problem in S_ORG
35926         * as/asxxsrc/asmain.c, as/hc08/Makefile.in, as/mcs51/Makefile.in,
35927           as/z80/Makefile.in,
35928         * as/mcs51/asx8051.dsp, as/z80/as_z80.dsp, as/hc08/as_hc08.dsp,
35929           as/z80/as_gbz80.dsp: as/mcs51/asmain.c moved to s/asxxsrc/asmain.c
35930         * as/hc08/asmain.c, as/z80/asmain.c: removed
35931         * as/asxxsrc/asmain.c, as/asxxsrc/asdata.c, as/asxxsrc/asxxxx.h:
35932           added wflag and zflag
35933         * as/hc08/aslist.c, as/hc08/asout.c, as/mcs51/aslist.c,
35934           as/mcs51/asout.c: fixed compiler wrning about unused variables
35936 2009-08-24 Borut Razem <borut.razem AT siol.net>
35938         * as/asxxsrc/asdata.c, as/asxxsrc/asxxxx.h, as/asxxsrc/aslex.c,
35939           as/asxxsrc/asnoice.c, as/asxxsrc/assubr.c, as/asxxsrc/assym.c,
35940           as/hc08/asexpr.c, as/hc08/aslist.c, as/hc08/asmain.c,
35941           as/hc08/asout.c, as/hc08/m08adr.c, as/hc08/m08ext.c,
35942           as/hc08/m08mch.c, as/hc08/m08pst.c, as/mcs51/asexpr.c,
35943           as/mcs51/aslist.c, as/mcs51/asmain.c, as/mcs51/asout.c,
35944           as/mcs51/i51adr.c, as/mcs51/i51ext.c, as/mcs51/i51mch.c,
35945           as/mcs51/i51pst.c, as/z80/asexpr.c, as/z80/aslist.c,
35946           as/z80/asmain.c, as/z80/asout.c, as/z80/z80adr.c,
35947           as/z80/z80ext.c, as/z80/z80mch.c, as/z80/z80pst.c,
35948           as/hc08/as_hc08.dsp, as/mcs51/asx8051.dsp, as/z80/as_gbz80.dsp,
35949           as/z80/as_z80.dsp,
35950           as/hc08/Makefile.in, as/mcs51/Makefile.in, as/z80/Makefile.in:
35951           as/mcs51/asdata.c moved to as/asxxsrc/asdata.c,
35952           as/mcs51/asm.h moved to as/asxxsrc/asxxxx.h
35953         * as/hc08/asdata.c, as/mcs51/asdata.c, as/z80/asdata.c,
35954           as/hc08/asm.h, as/mcs51/asm.h, as/z80/asm.h: removed
35956 2009-08-10 Borut Razem <borut.razem AT siol.net>
35958         * as/asxxsrc/assubr.c, as/hc08/asm.h, as/hc08/asmain.c,
35959           as/mcs51/asm.h, as/mcs51/asmain.c, as/z80/asm.h:
35960           increnemt aserr only on fatal errors
35962 2009-08-09 Borut Razem <borut.razem AT siol.net>
35964         * as/asxxsrc/assubr.c: moved and mergerd from as/mcs51/assubr.c
35965           as/hc08/assubr.c, as/mcs51/assubr.c, as/z80/assubr.c: deleted
35966           as/hc08/asmain.c, as/mcs51/asmain.c: removed variable fatalError
35967         * as/z80/as_gbz80.dsp, as/hc08/as_hc08.dsp,
35968           as/z80/as_z80.dsp, as/mcs51/asx8051.dsp: assubr.c moved to as/asxxsrc
35969         * as/hc08/Makefile.as_hc08, as/mcs51/Makefile.asx8051,
35970           as/hc08/Makefile.bcc, as/link/hc08/Makefile.bcc,
35971           as/link/mcs51/Makefile.bcc, as/mcs51/Makefile.bcc,
35972           as/z80/Makefile.bcc, device/examples/ds390/tinitalk/Makefile.bcc,
35973           Makefile.bcc, src/avr/Makefile.bcc, src/ds390/Makefile.bcc,
35974           src/hc08/Makefile.bcc, src/izt/Makefile.bcc, src/Makefile.bcc,
35975           src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/pic/Makefile.bcc,
35976           src/xa51/Makefile.bcc, src/z80/Makefile.bcc, Bcc.inc
35977           support/cpp/Makefile.bcc, support/librarian/Makefile.bcc,
35978           support/packihx/Makefile.bcc: removed unmaintained makefiles,
35979           implemented RFE #2786753: Remove Borland C support
35980         * support/Util/dbuf_string.h: include stdio.h
35982 2009-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
35984         * device/lib/pic16/libc/Makefile.in,
35985         * device/lib/pic16/libdev/Makefile.in,
35986         * device/lib/pic16/libio/Makefile.in,
35987         * device/lib/pic16/libm/Makefile.in,
35988         * device/lib/pic16/libsdcc/Makefile.in,
35989         * device/lib/pic16/startup/Makefile.in,
35990         * device/lib/pic16/Makefile.common,
35991         * device/lib/pic16/Makefile.in,
35992         * src/hc08/main.c (_hc08_setDefaultOptions),
35993         * src/pic16/gen.c (genFunction, genEndFunction),
35994         * src/pic16/NOTES,
35995         * src/SDCCglobl.h,
35996         * src/SDCCmain.c,
35997         * src/z80/gen.c (genFunction),
35998         * doc/sdccman.lyx: changed ommitFramePtr to omitFramePtr
35999         * src/mcs51/main.c (_mcs51_finaliseOptions),
36000         * src/SDCCmain.c (parseCmdLine): moved mcs51 specific code for float_rent
36001         * src/SDCCast.h,
36002         * src/SDCCast.c (decorateType): removed incorrect fix for bug 1372851 which
36003            caused bug 1458678
36004           (CodePtrPointsToConst),
36005         * src/SDCCicode.c (isOperandVolatile),
36006         * src/SDCCsymt.h (IS_CONSTANT, IS_VOLATILE),
36007         * src/SDCCsymt.c (structElemType, checkSClass, isConstant, isVolatile)
36008         * src/SDCCglue.c (emitRegularMap, initPointer),
36009         * src/pic16/glue.c (pic16_initPointer): skip arrays when setting/checking
36010            const/volatile, fixes bugs 1372851 and 1458678
36011         * src/SDCCbitv.c (bitVectnBitsOn): made mask const
36012         * src/SDCCicode.c (opFromOpWithDU),
36013         * src/SDCCopt.c (replaceRegEqv): use OPDEFS and OP_USES
36014         * src/SDCCptropt.c: cosmetic changes
36015         * src/z80/gen.c (isRegString, isConstantString): renamed isConstant and
36016           made them static
36017         * support/regression/tests/bug1458678.c: new, added
36019 2009-08-06 Philipp Klaus Krause <pkk AT spth.de>
36021         * src/SDCCpepph.c:
36022           Fixed #1947081.
36023         * src/z80/peeph-z80.def:
36024           Fixed #1703943.
36026 2009-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
36028         * as/link/lksym.c (newsym): only allow redefinition in ABS area
36029           fixes bug 1057171
36030         * src/hc08/main.c,
36031         * src/mcs51/main.c,
36032         * src/z80/main.c: made RSEG absolute
36033         * src/SDCCglue.c (emitDebugSym): new, factored out
36034           (emitRegularMap): add org 0x0000 to SFR/SBIT,
36035           (emitRegularMap, emitStaticSeg) fixed bug for absolute debug symbols
36036         * src/SDCCmem.h,
36037         * src/SDCCsymt.h: cosmetic changes
36038         * src/SDCCsymt.c (dbuf_printTypeChain): implemented RFE 2824498
36040 2009-07-26 Borut Razem <borut.razem AT siol.net>
36042         * support/regression/Makefile.in,
36043           support/regression/ports/pic14/spec.mk,
36044           support/regression/ports/z80/spec.mk,
36045           support/regression/ports/pic16/spec.mk,
36046           support/regression/ports/gbz80/spec.mk,
36047           support/regression/ports/ds390/spec.mk,
36048           support/regression/ports/hc08/spec.mk,
36049           support/regression/ports/ucz80/spec.mk,
36050           support/regression/ports/host/spec.mk,
36051           support/regression/ports/mcs51-common/spec.mk,
36052           support/regression/ports/xa51/spec.mk:
36053           preparations for running WIN32 regression test on Linux / wine
36055 2009-07-22 Borut Razem <borut.razem AT siol.net>
36057         * support/scripts/sdcc.nsi: add SDCC bin directory to path if silent mode
36059 2009-07-20 Maarten Brock <sourceforge.brock AT dse.nl>
36061         * as/asranlib/asranlib.dsp: removed all windows library dependencies
36062         * as/mcs51/asx8051.dsp: no debugging for Release build
36063         * src/SDCCast.h,
36064         * src/SDCCast.c (createRMW): IS_DEREF now also checks for PTR_OP
36065         * src/SDCCicode.c (geniCodeStruct): added assert for really being a struct,
36066           (ast2iCode): IS_DEREF now also checks for PTR_OP, fixes bug 2821333
36067         * src/SDCCptropt.c: changed all TAB's to spaces
36068         * support/regression/tests/float_single.c,
36069         * device/lib/asincosf.c: removed unnecessary macros, const on global always
36070           means 'put it in code memory', and 'reentrant' is predefined in testfwk.h
36072 2009-07-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36074         * doc/sdccman.lyx: various changes
36075         * src/SDCCmain.c: fix typo in help text
36077 2009-07-19 Borut Razem <borut.razem AT siol.net>
36079         * src/SDCCast.c: removed check for "unanticipated opcode in tree",
36080           introduced with patch #2802510
36082 2009-07-18 Borut Razem <borut.razem AT siol.net>
36084         * src/SDCCmain.c: RFE #1204438 - make SDCC a multicall binary,
36085           fixed for WIN32
36086         * as/link/lkar.c: fixed bug 2817508 - double free or memory corruption
36087           in aslink
36088         * src/SDCCast.c, support/regression/tests/bug2740884.c:
36089           applied patch #2802510 - fix for bug #2740884,
36090           fixed bug #2740884 - Incorrect assignment in array of structs,
36091           thanks to Robert Larice
36092         * as/hc08/clean.mk, as/link/clean.mk, as/link/hc08/clean.mk,
36093           as/link/mcs51/clean.mk, as/link/z80/clean.mk, as/mcs51/clean.mk,
36094           as/z80/clean.mk, device/lib/clean.mk, device/lib/large/Makefile.in,
36095           device/lib/Makefile.in, device/lib/mcs51/Makefile.in,
36096           device/lib/medium/Makefile.in, device/lib/pic/Makefile.in,
36097           device/lib/small/Makefile.in, support/cpp/Makefile.in:
36098           applied patch #2801385 - make clean and distclean,
36099           fixed bug #2799101 - make clean does not remove .obj in /as,
36100           fixed bug #2783160 - "make distclean" fails to clean properly,
36101           thanks to Robert Larice
36102         * .version, doc/sdccman.lyx: changed sdcc version to 2.9.2
36104 2009-07-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36106         * src/SDCCmain.c: make SDCC a multicall binary, RFE #1204438,
36107           allows choosing the port by renaming the sdcc binary
36108           (to f.e. z80-sdcc) or by calling SDCC from a suitable link
36109           (parameter -m takes precedence)
36110         * src/SDCCglue.c: be more verbose about constants in code space
36112 2009-07-07 Raphael Neider <rneider AT web.de>
36114         * src/pic16/device.c (find_in_list): ignore case during device
36115           selection, fixes #2816817
36117 2009-06-24 Raphael Neider <rneider AT web.de>
36119         * src/pic/ralloc.c (pic14_assignRegisters): avoid incorrect register
36120           reuse among functions (fixes #2810015), cosmetic changes
36122 2009-06-22 Raphael Neider <rneider AT web.de>
36124         * device/include/pic16/adc.h,
36125           device/include/pic16/pic16devices.txt,
36126           device/include/pic16/pic18f1[34]k50.h,
36127           device/include/pic16/pic18f[24][456]j50.h,
36128           device/include/pic16/pic18f[68][56]27.h,
36129           device/include/pic16/pic18f[68][67]22.h,
36130           device/include/pic16/pic18fregs.h,
36131           device/lib/pic16/libdev/Makefile.am,
36132           device/lib/pic16/libdev/pic18f1[34]k50.c,
36133           device/lib/pic16/libdev/pic18f[24][456]j50.c,
36134           device/lib/pic16/libdev/pic18f[68][56]27.c,
36135           device/lib/pic16/libdev/pic18f[68][67]22.c,
36136           device/lib/pic16/libio/Makefile.am,
36137           device/lib/pic16/libio/adc/adcbusy.c,
36138           device/lib/pic16/libio/adc/adcopen.c,
36139           device/lib/pic16/libio/adc/adcsetch.c,
36140           device/lib/pic16/libio/i2c/i2copen.c,
36141           device/lib/pic16/pics.all,
36142           doc/sdccman.lyx: added families 18f1[34]k50 (#2783178),
36143             18f[24][456]j50 (#2794505), and 18f[68][56]27/18f[68][67]22
36144         * device/lib/pic16/aclocal.m4,
36145           device/lib/pic16/configure,
36146           device/lib/pic16/Makefile.in,
36147           device/lib/pic16/debug/Makefile.in,
36148           device/lib/pic16/libc/Makefile.in,
36149           device/lib/pic16/libdev/Makefile.in,
36150           device/lib/pic16/libio/Makefile.in,
36151           device/lib/pic16/libm/Makefile.in,
36152           device/lib/pic16/libsdcc/Makefile.in,
36153           device/lib/pic16/startup/Makefile.in: regenerated
36155 2009-06-13 Borut Razem <borut.razem AT siol.net>
36157         * src/SDCCasm.c: fixed bug #2805536: Assembly code comment cause Internal Error
36158         * support/regression/tests/macro.c: new, added
36160 2009-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
36162         * src/SDCC.y,
36163         * src/SDCCsymt.c (finalizeSpec),
36164         * src/SDCCsymt.h: applied patch for bug 2798646, thanks Robert Larice
36165         * src/SDCCsymt.c (initCSupport): also handle --funsigned-char for floating
36166           point support routines
36167         * src/z80/ralloc.c (regTypeNum): fixed warning
36168         * device/lib/_atof.c,
36169         * support/regression/tests/args.c,
36170         * support/regression/tests/arithcse.c,
36171         * support/regression/tests/bitvars.c,
36172         * support/regression/tests/compare.c,
36173         * support/regression/tests/onebyte.c,
36174         * support/regression/tests/shifts.c,
36175         * support/regression/tests/uminus.c,
36176         * support/regression/tests/vaargs.c: fixed for --funsigned-char
36178 2009-05-30 Borut Razem <borut.razem AT siol.net>
36180         * device/include/mcs51/80c51xa.h: moved to device/include/xa51
36181           device/include/mcs51/ds400rom.h: moved to device/include/ds400
36182           device/include/mcs51/serial390.h: moved to device/include/ds390
36183           device/include/mcs51/ds80c390.h, device/include/mcs51/tinibios.h:
36184           moved back to device/include, since they are used also by ds400
36185           device/include/Makefile.in: new include directories ds390, ds400
36186           and xa51
36187         * device/include/stdlib.h: coorected types for _itoa and _ltoa
36188         * device/lib/ds400/Makefile.in: added include serch path include/ds400
36190 2009-05-25 Philipp Klaus Krause <pkk AT spth.de>
36191         * src/z80/gen.c:
36192           Fixed an ancient, but difficult to reproduce and detect bug, that
36193           led to stack corruption under certain conditions.
36195 2009-05-25 Borut Razem <borut.razem AT siol.net>
36197         * device/include/80c51xa.h, device/include/ds400rom.h,
36198           device/include/ds80c390.h, device/include/ser.h,
36199           device/include/ser_ir.h, device/include/serial.h,
36200           device/include/serial390.h, device/include/tinibios.h:
36201           moved to device/include/mcs51/
36202           device/include/z180.h:
36203           moved to device/include/z80/
36204           implemented RFE #1930974: Some device specific header files are not
36205           in their folders
36207 2009-05-24 Philipp Klaus Krause <pkk AT spth.de>
36209         * src/z80/ralloc.c,
36210           src/z80/peeph-z80.def,
36211           src/SDCCasm.c:
36212           Propagate rematerializability over addition of constants.
36214 2009-05-24 Philipp Klaus Krause <pkk AT spth.de>
36216         * src/z80/ralloc.c:
36217           Improved use of hl as inter-i-code temporary.
36219 2009-05-24 Philipp Klaus Krause <pkk AT spth.de>
36221         * src/z80/gen.c:
36222           Fixed bug #2795942.
36224 2009-05-22 Raphael Neider <rneider AT web.de>
36226         * src/pic16/gen.c (genGenericShift): do not overwrite the shift count
36227           for `val = 1 << val', fixes bug #2795131
36229 2009-05-18 Maarten Brock <sourceforge.brock AT dse.nl>
36231         * src/SDCCglue.c (printIvalBitFields): cleaned up
36232         * src/pic16/glue.c (pic16_printIvalBitFields): same fix for bug 2791782
36234 2009-05-17 Maarten Brock <sourceforge.brock AT dse.nl>
36236         * device/lib/_iscntrl.c,
36237         * device/lib/_isdigit.c,
36238         * device/lib/_isgraph.c,
36239         * device/lib/_islower.c,
36240         * device/lib/_isprint.c,
36241         * device/lib/_ispunct.c,
36242         * device/lib/_isspace.c,
36243         * device/lib/_isupper.c,
36244         * device/lib/_isxdigit.c,
36245         * device/lib/_ltoa.c,
36246         * device/lib/pic16/libc/ctype/iscntrl.c,
36247         * device/lib/pic16/libc/ctype/isdigit.c,
36248         * device/lib/pic16/libc/ctype/isgraph.c,
36249         * device/lib/pic16/libc/ctype/islower.c,
36250         * device/lib/pic16/libc/ctype/isprint.c,
36251         * device/lib/pic16/libc/ctype/ispunct.c,
36252         * device/lib/pic16/libc/ctype/isspace.c,
36253         * device/lib/pic16/libc/ctype/isupper.c,
36254         * device/lib/pic16/libc/ctype/isxdigit.c,
36255         * device/lib/pic16/libc/stdlib/ltoa.c: fixed warnings after patch 2704189
36256         * src/SDCCglue.c (printIvalBitFields): fixed bug 2791782, a bug with
36257           bitfields in next integer and an endianness bug for hc08
36258         * support/regression/tests/bitfields.c: added testcase for these bugs
36260 2009-05-09 Philipp Klaus Krause <pkk AT spth.de>
36262         * src/z80/ralloc.c,
36263           src/z80/gen.c,
36264           support/regression/test/bug-2646174.c:
36265           Fixed bug #2646174.
36267 2009-05-09 Philipp Klaus Krause <pkk AT spth.de>
36269         * src/z80/peeph-z80.def:
36270           Fixed bug #1924707.
36272 2009-05-09 Borut Razem <borut.razem AT siol.net>
36274         * doc/sdccman.lyx: implemented RFE #2786753: Remove Borland C support
36276 2009-05-09 Maarten Brock <sourceforge.brock AT dse.nl>
36278         * device/include/mcs51/uPSD32xx.h: added, thanks G.H.J. Morsink
36279         * device/include/mcs51/C8051F920.h: added, from patch 2486338,
36280           thanks Steven Borley
36282 2009-05-07 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
36284         * support/librarian/sdcclib.c: fixed bugs in GetNameFromPath() and
36285           ChangeExtension().  Thanks to Jon Nall for pointed the bug out and
36286           patch #2788108.
36288 2009-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
36290         * doc/sdccman.lyx: documented pointer casting for vararg function params
36292 2009-05-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
36294         * as/link/hc08/link_hc08.dsp, as/link/mcs51/aslink.dsp,
36295           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp: replaced getline.c
36296           with lk_readnl.c.
36298 2009-05-04 Borut Razem <borut.razem AT siol.net>
36300         * support/cpp/sdcpp.c, support/cpp/version.c: fixed crash due to
36301           missing initialization of line_table,
36302           corrected sdcpp version to 4.4.0
36304 2009-04-19 Philipp Klaus Krause <pkk AT spth.de>
36306         * device/lib/z80/div.s:
36307           Applied patch #2764475 from Marco Bodrato to speed up Z80 division.
36309 2009-05-03 Borut Razem <borut.razem AT siol.net>
36311         * as/link/hc08/Makefile.in, as/link/mcs51/Makefile.in,
36312           as/link/z80/Makefile.in, as/link/lk_readnl.c, as/link/lk_readnl.h,
36313           as/link/lklib.c, as/link/lkrel.c, as/link/lksdcclib.c:
36314           getline renamed to lk_readln to prevent conflicts with Fedora 11
36315           glibc-2.9.90-19 getline;
36316           see https://bugzilla.redhat.com/show_bug.cgi?id=488217
36318 2009-05-01 Maarten Brock <sourceforge.brock AT dse.nl>
36320         * src/SDCCast.c (processParms): fixed bug 2783061 by applying patch from
36321           Keith Packard, thanks
36322         * support/regression/tests/bug2783061.c: new, added
36324 2009-04-28 Borut Razem <borut.razem AT siol.net>
36326         * support/cpp/output.h, support/cpp/opts-common.c,
36327           support/cpp/c-ppoutput.c, support/cpp/cppdefault.c,
36328           support/cpp/system.h, support/cpp/cppdefault.h,
36329           support/cpp/prefix.c, support/cpp/except.h, support/cpp/hwint.h,
36330           support/cpp/prefix.h, support/cpp/libiberty/safe-ctype.h,
36331           support/cpp/libiberty/filenames.h, support/cpp/libiberty/xstrdup.c,
36332           support/cpp/libiberty/md5.c, support/cpp/libiberty/obstack.h,
36333           support/cpp/sdcpp.c, support/cpp/intl.h, support/cpp/sdcpp.h
36334           support/cpp/libcpp/symtab.c, support/cpp/libcpp/directives.c,
36335           support/cpp/libcpp/macro.c, support/cpp/libcpp/include/cpplib.h,
36336           support/cpp/libcpp/include/symtab.h,
36337           support/cpp/libcpp/include/line-map.h,
36338           support/cpp/libcpp/include/cpp-id-data.h,
36339           support/cpp/libcpp/include/mkdeps.h, support/cpp/libcpp/files.c,
36340           support/cpp/libcpp/line-map.c, support/cpp/libcpp/init.c,
36341           support/cpp/libcpp/identifiers.c, support/cpp/libcpp/ucnid.h,
36342           support/cpp/libcpp/traditional.c, support/cpp/libcpp/errors.c,
36343           support/cpp/libcpp/expr.c, support/cpp/libcpp/internal.h,
36344           support/cpp/libcpp/mkdeps.c, support/cpp/libcpp/lex.c,
36345           support/cpp/libcpp/system.h, support/cpp/libcpp/charset.c,
36346           support/cpp/opts.h, support/cpp/sdcpp-opts.c:
36347           SDCPP synchronized with GCC CPP release version 4.4.0.
36348           SDCPP license changed to GPL version 3 or later.
36350 2009-04-28 Borut Razem <borut.razem AT siol.net>
36352         * fixed GCC 4.4.0 mingw compilation:
36353           sim/ucsim/cmd.src/cmdlex.cc: regenerated - added #include <stdio.h>
36354         * src/SDCCsymt.c: fixed warning:
36355           suggest parentheses around operand of '!' or change '&' to '&&' or
36356           '!' to '~'
36357         * support/scripts/sdcc_mingw32: sync with sdcc-build
36359 2009-04-27 Raphael Neider <rneider AT web.de>
36361         * src/pic16/gen.c (genNearPointerGet): fix double indirect
36362           access to bitfields (#2782405)
36364 2009-04-27 Borut Razem <borut.razem AT siol.net>
36366         * fixed GCC 4.4.0 mingw compilation:
36367         * sim/ucsim/cmd.src/cmdlex.l: added #include <stdio.h>
36368         * support/cpp/sdcpp-opts.c: fixed warning:
36369           unknown conversion type character 'm' in format,
36370           use strerror(errno) instead of %m glibc extension format specifier
36371         * src/SDCCsymt.c: fixed warning:
36372           suggest parentheses around operand of '!' or change '&' to '&&' or
36373           '!' to '~'
36374         * src/pic16/pcode.c, src/pic16/glue.c: fixed warning:
36375           unknown conversion type character 'h' in format,
36376           replaced hh printf format specifier with parameter casting to
36377           unsigned char
36379 2009-04-19 Philipp Klaus Krause <pkk AT spth.de>
36381         * device/lib/z80/shift.s,
36382           device/lib/z80/memmove.s,
36383           device/lib/z80/mul.s,
36384           device/lib/z80/mulchar.s,
36385           device/lib/z80/div.s,
36386           device/lib/z80/mod.s:
36387           Applied patch #2762516 from Marco Bodrato containing minor
36388           improvements of many Z80 asm routines.
36390 2009-04-19 Philipp Klaus Krause <pkk AT spth.de>
36392         * support/regression/tests/strtok.c,
36393           support/regression/tests/strstr.c,
36394           support/regression/tests/strspn.c,
36395           support/regression/tests/strncmp.c,
36396           support/regression/tests/strcpy.c,
36397           support/regression/tests/strcmp.c:
36398           Added some regression tests by Ruud van Silfhout from patch #2321830.
36400 2009-04-13 Borut Razem <borut.razem AT siol.net>
36402         * device/lib/Makefile.in, device/lib/ds390/Makefile.in,
36403           device/lib/ds400/Makefile.in, device/lib/gbz80/Makefile.in,
36404           device/lib/hc08/Makefile.in, device/lib/mcs51/Makefile.in,
36405           device/lib/z80/Makefile.in: override PORTDIR in sub-makefiles
36407 2009-04-13 Raphael Neider <rneider AT web.de>
36409         * device/lib/pic16/bootstrap.sh: avoid symlinks
36410         * device/lib/pic16/configure.ac,
36411           device/lib/pic16/configure.gnu: removed obsolete configure-wrapper
36413 2009-04-13 Borut Razem <borut.razem AT siol.net>
36415         * device/lib/Makefile.in: remove abspath for PORTDIR, introduced in
36416           svn revision #5341, since it makes asranlib to fail on cygming and
36417           mingw builds: win32 native asranlib doesn't understand cygwin paths.
36419 2009-04-10 Raphael Neider <rneider AT web.de>
36421         * device/lib/pic/libsdcc/fs2ulong.c, device/lib/pic/libsdcc/fsadd.c,
36422           device/lib/pic/libsdcc/fsdiv.c, device/lib/pic/libsdcc/fseq.c,
36423           device/lib/pic/libsdcc/fsgt.c, device/lib/pic/libsdcc/fslt.c,
36424           device/lib/pic/libsdcc/fsmul.c, device/lib/pic/libsdcc/fsneq.c,
36425           device/lib/pic/libsdcc/fssub.c, device/lib/pic/libsdcc/ulong2fs.c,
36426           device/lib/pic16/libsdcc/float/fs2ulong.c,
36427           device/lib/pic16/libsdcc/float/fsadd.c,
36428           device/lib/pic16/libsdcc/float/fsdiv.c,
36429           device/lib/pic16/libsdcc/float/fsmul.c: fixed pic14 libraries, merge
36430           changes from the pic16 port, minor code cleanup
36431         * src/pic/gen.c: implemented genUminusFloat(), fixed warning and style
36433 2009-04-09 Philipp Klaus Krause <pkk AT spth.de>
36435         * device/lib/z80/mod.s,
36436           device/lib/z80/Makefile.in,
36437           device/lib/z80/div.s,
36438           device/lib/z80/modsigned.s,
36439           device/lib/z80/divsigned.s:
36440           Applied patch #2741451 from Marco Bodrato
36441           and moved functions for signed modulo into
36442           separate file.
36444 2009-04-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36446         * src/mcs51/peeph.def: disabled rule 270, fixing bug #2736282
36448 2009-04-04 Philipp Klaus Krause <pkk AT spth.de>
36450         * src/z80/gen.c,
36451           src/z80/peeph-z80.def:
36452           Improved caching of pointers in hl and iy.
36453           device/lib/z80/div.s:
36454           Applied patch #2727917 from Marco Bodrato.
36456 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36458         * src/z80/ralloc.c:
36459           Enabled use of hl as inter-i-code temporary.
36461 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36463         * src/z80/peeph-z80.def:
36464           Reenabled peephole 0t.
36466 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36468         * src/z80/gen.c:
36469           Fixed bugs #2728224, #2728218.
36470           src/z80/peeph-z80.def:
36471           Workaround for bug #2728445.
36472           support/regression/tests/memory.c:
36473           Added test for memcmp().
36475 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36477         * device/lib/z80/mul.s,
36478           device/lib/z80/memmove.s,
36479           device/lib/z80/strlen.s:
36480           Minor improvements, code cleanup and license clarification.
36482 2009-04-01 Philipp Klaus Krause <pkk AT spth.de>
36484         * device/lib/z80/mul.s:
36485           Minor improvement in Z80 16x16 bit multiplication.
36487 2009-03-23 Borut Razem <borut.razem AT siol.net>
36489         * src/SDCCval.c, src/SDCCmain.c, device/include/limits.h,
36490           device/include/pic/limits.h, device/include/pic16/limits.h,
36491           device/lib/_fs2schar.c, device/lib/pic/libsdcc/fs2schar.c,
36492           device/lib/pic16/libsdcc/float/fs2schar.c, doc/sdccman.lyx,
36493           support/regression/tests/funsigned-char.c:
36494           applied patch 2704189: character constant sign fix
36495           thanks to Robert Larice
36497 2009-03-22 Borut Razem <borut.razem AT siol.net>
36499         * Small Device C Compiler 2.9.0 released
36500         * .version, doc/sdccman.lyx: changed sdcc version to 2.9.1
36502 2009-03-15 Borut Razem <borut.razem AT siol.net>
36504         * support/scripts/repack_release.sh: added
36506 2009-03-13 Borut Razem <borut.razem AT siol.net>
36508         * doc/sdccman.lyx: "freeware" replaced with "free open source"
36510 2009-03-12 Borut Razem <borut.razem AT siol.net>
36512         * src/z80/peep.c: #2652979: --debug crashes sdcc
36514 2009-03-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36516         * src/SDCCglue.c,
36517           support/regression/tests/bug2655200.c:
36518           applied modified patch from Robert Larice <larice AT vidisys.de>
36519           fixing original report of bug #2655200: pointer to pdata memory
36520           not correctly initialized
36522 2009-03-11 Borut Razem <borut.razem AT siol.net>
36524         * as/asranlib/asranlib.c: retain the original file mode
36526 2009-03-10 Borut Razem <borut.razem AT siol.net>
36528         * src/mcs51/gen.c, src/z80/gen.c, src/hc08/gen.c, src/ds390/gen.c,
36529           support/regression/tests/bug1875933.c:
36530           fixed bug #1875933: Evelyn jumps into the void
36531           thanks to Robert Larice
36533 2009-03-10 Raphael Neider <rneider AT web.de>
36535         * src/pic16/pcode.c (LinkFlow): fix invalid cast from pCodeLabel
36536           to pCodeInstruction to avoid a segmentation fault
36538 2009-03-03 Borut Razem <borut.razem AT siol.net>
36540         * device/lib/printf_large.c: fixed bug #2656821: bug in printf
36542 2009-03-03 Raphael Neider <rneider AT web.de>
36544         * device/lib/pic/libdev/Makefile.in: build device-specific
36545           libraries for the correct processor, fixes #2654585
36547 2009-03-01 Raphael Neider <rneider AT web.de>
36549         * device/lib/Makefile.in: fixed parallel builds (i.e., make -jN, N>1)
36551 2009-03-01 Borut Razem <borut.razem AT siol.net>
36553         * src/z80/peep.c: fixed bug #2648964: --i-code-in-asm crashes sdcc
36554         * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
36555           changed sdcc version to 2.9.0
36557 2009-03-01 Maarten Brock <sourceforge.brock AT dse.nl>
36559         * src/mcs51/ralloc.c (spillThis, spilSomething): fixed bug 2435941
36560           (serialRegAssign): do not spil bit registers
36561           throughout cosmetic changes
36562         * support/regression/tests/bug2435941.c: new, added
36564 2009-02-28 Raphael Neider <rneider AT web.de>
36566         * src/regression/compare10.c,
36567           src/regression/compare7.c,
36568           src/regression/compare8.c,
36569           src/regression/compare9.c: reset watchdog timer in time
36570         * src/regression/configword.c: apply patch from #2488150
36571         * src/pic/glue.c (pic14createInterruptVect): pin RESET vector
36572           handler to 0x0000 as the linker no longer knows STARTUP sections
36573         * src/pic/pcode.c (register_reassign, ReuseReg): applied modified
36574           patch #2512926 to (mostly) fix #1762626, cosmetic changes
36575         * src/pic/pcodepeep.c: remove reference to nonexisting function
36577 2009-02-28 Raphael Neider <rneider AT web.de>
36579         * device/include/pic16/signal.h: avoid multiline inline
36580           assembler statements in macros, addresses #2644965
36582 2009-02-27 Raphael Neider <rneider AT web.de>
36584         * device/include/pic16/pic18f[24][3456]k20.h,
36585           device/include/pic16/pic18f[68][567]j50.h,
36586           device/include/pic16/pic18f[68]6j55.h,
36587           device/lib/pic16/libdev/pic18f[24][3456]k20.c,
36588           device/lib/pic16/libdev/pic18f[68][567]j50.c,
36589           device/lib/pic16/libdev/pic18f[68]6j55.c,
36590           device/include/pic16/pic18fregs.h,
36591           device/include/pic16/pic16devices.txt,
36592           device/lib/pic16/pics.all,
36593           device/lib/pic16/libdev/Makefile.am,
36594           device/lib/pic16/libio/Makefile.am: added/re-enabled many device
36595           families (87j50 family contributed by Robert Wuest)
36597         * device/include/pic16/adc.h,
36598           device/lib/pic16/libio/adc/adcbusy.c,
36599           device/lib/pic16/libio/adc/adcclose.c,
36600           device/lib/pic16/libio/adc/adcconv.c,
36601           device/lib/pic16/libio/adc/adcopen.c,
36602           device/lib/pic16/libio/adc/adcsetch.c: added 65j50-style ADC
36604         * doc/sdccman.lyx: updated list of supported devices, fixed typo
36605         * device/lib/pic16/Makefile.common: do not suppress assembler warnings
36607         * device/lib/pic16/Makefile.in,
36608           device/lib/pic16/libm/Makefile.in,
36609           device/lib/pic16/debug/Makefile.in,
36610           device/lib/pic16/libio/Makefile.in,
36611           device/lib/pic16/startup/Makefile.in,
36612           device/lib/pic16/libsdcc/Makefile.in,
36613           device/lib/pic16/libdev/Makefile.in,
36614           device/lib/pic16/libc/Makefile.in: regenerated
36616 2009-02-27 Borut Razem <borut.razem AT siol.net>
36618         * as/z80/asexpr.c, as/z80/z80mch.c: re-fixed bugs
36619           #1829678 and #1704376 in the way proposed by Alan Baldwin
36621 2009-02-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
36623         * device/include/mcs51/at89c51ed2.h: Fixed address of SFR P5. Thanks
36624           to Steve Qu for the fix.
36626 2009-02-23 Borut Razem <borut.razem AT siol.net>
36628         * as/z80/asexpr.c: fixed bug #1829678: Z-80 CP A,<xxx> assembly
36629           it is already fixed for mcs51 and hc08 targets
36630         * as/z80/z80mch.c: fixed bug #1704376: missing as-z80 errors
36632 2009-02-22 Borut Razem <borut.razem AT siol.net>
36634         * device/lib/Makefile.in: fixed parenthesis error
36635         * doc/sdccman.lyx: fixed webdocs bug #2071421: error in the manual,
36636           fixed webdocs bug #1967920: --version
36638 2009-02-18 Maarten Brock <sourceforge.brock AT dse.nl>
36640         * device/include/mcs51/at89c51ed2.h: fixed bug #2071949 bitmask RBCK wrong
36642 2009-02-17 Maarten Brock <sourceforge.brock AT dse.nl>
36644         * as/link/mcs51/lkihx.c (hexRecord): bugfix do not insert extended address
36645           when addresses are unsorted
36647 2009-02-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36649         * device/include/mcs51/p89v66x.h: added ENBOOT thanks
36650           Gudjon Gudjonsson <gudjon AT gudjon.org>
36651         * device/include/mcs51/p89c66x.h: fixed some defines
36652         * device/include/mcs51/p89v66x.h: fixed some sbit addresses
36653         * doc/sdccman.lyx: added <NO FLOAT> to index, try to reanimate
36654           svn keywords
36656 2009-02-14 Borut Razem <borut.razem AT siol.net>
36658         * doc/sdccman.lyx: corrected cpp info
36660 2009-02-13 Borut Razem <borut.razem AT siol.net>
36662         * as/Makefile.in: *.doc renamed to *.txt
36664 2009-02-11 Borut Razem <borut.razem AT siol.net>
36666         * as/doc/aslnk.doc, as/doc/abstra.doc: renamed to *.txt
36667         * as/doc/aslnk.txt, as/doc/asxhtml.html: changed licens to GPLv3
36669 2009-02-11 Borut Razem <borut.razem AT siol.net>
36671         * doc/sdccman.lyx: documented ar format libraries
36673 2009-02-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36675         * support/regression/tests/float_single.c: added regression
36676           test. Some testpoints for probably rarely used functions
36677           (acosf, sinhf, tanf, expf) disabled for some targets
36679 2009-02-10 Raphael Neider <rneider AT web.de>
36681         * src/pic16/gen.c (pic16_freeAsmop): avoid NULL pointer dereference,
36682           (genAssign): fixed for operands on the stack
36684         * device/lib/pic16/libc/stdio/vfprintf.c,
36685           device/lib/pic16/configure.ac,
36686           device/lib/pic16/Makefile.common: add configurable support for
36687           printing floats via ./configure --enable-floats
36688         * device/lib/pic16/configure,
36689           device/lib/pic16/Makefile.in,
36690           device/lib/pic16/libm/Makefile.in,
36691           device/lib/pic16/debug/Makefile.in,
36692           device/lib/pic16/libio/Makefile.in,
36693           device/lib/pic16/startup/Makefile.in,
36694           device/lib/pic16/libsdcc/Makefile.in,
36695           device/lib/pic16/libdev/Makefile.in,
36696           device/lib/pic16/libc/Makefile.in: regenerated
36697         * doc/sdccman.lyx: documented float support and how to get it
36698         * doc/Makefile.in: fixed race condition on parallel builds
36700         * device/lib/pic16/libc/stdio/sprintf.c,
36701           device/lib/pic16/libc/stdio/vsprintf.c: do not mess up the user's
36702           pointer to the string buffer, enlarge buffer for x_ftoa()
36704 2009-02-10 Borut Razem <borut.razem AT siol.net>
36706         * device/lib/printf_tiny.c: replaced non-C89 comments '//' with '/* */'
36708 2009-02-10 Raphael Neider <rneider AT web.de>
36710         * device/include/pic16/pic18f*.h: add bit aliases in INTCONbits_t
36712 2009-02-09 Raphael Neider <rneider AT web.de>
36714         * src/pic16/pcode.c (assignToSameBank): add force argument to ignore
36715           artificial bank size limits for compound data (structs, arrays),
36716           avoids assert if --obanksel=N, N > 1, is given
36718 2009-02-09 Borut Razem <borut.razem AT siol.net>
36720         * as/asranlib/asranlib.c, link/lkar.c: don't check the padding bytes since
36721           the openSUSE GNU ar (GNU Binutils; openSUSE 11.0) 2.18.50.20080409-11.1
36722           uses '`' character instead '\n' for padding
36723         * as/asranlib/asranlib.c: made it more robust
36725 2009-02-08 Borut Razem <borut.razem AT siol.net>
36727         * as/COPYING3: added
36728         * support/scripts/sdcc.nsi: added COPYING3.txt to the package
36729         * device/lib/Makefile.in: reenable floating point in model-xstack-auto
36730           libraries
36732 2009-02-07 Borut Razem <borut.razem AT siol.net>
36734         * as/asranlib/asranlib.c: fixed BSD header length calculation
36735         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.9
36736           due sdcc asxxxx license change to GPLv3
36738 2009-02-05 Borut Razem <borut.razem AT siol.net>
36740         * as/asranlib/asranlib.c, link/lkar.h, link/lkar.c:
36741           added support for BSD (Mac OS X) ar format
36742         * as/asxxsrc/aslex.c, as/as/asxxsrc/asnoice.c, as/as/asxxsrc/assym.c,
36743           as/as/hc08/asdata.c, as/hc08/asexpr.c, as/hc08/aslist.c,
36744           as/hc08/asm.h, as/hc08/asmain.c, as/hc08/asout.c, as/hc08/assubr.c,
36745           as/hc08/m08adr.c, as/hc08/m08ext.c, as/hc08/m08mch.c,
36746           as/hc08/m08pst.c, as/hc08/m6808.h, as/link/aslink.h,
36747           as/link/hc08/lkarea.c, as/link/hc08/lkelf.c, as/link/hc08/lkihx.c,
36748           as/link/hc08/lkmain.c, as/link/hc08/lkmem.c, as/link/hc08/lkrloc.c,
36749           as/link/hc08/lks19.c, as/link/lkaomf51.c, as/link/lkdata.c,
36750           as/link/lkeval.c, as/link/lkhead.c, as/link/lklex.c, as/link/lklib.c,
36751           as/link/lklibr.c, as/link/lklibr.h, as/link/lklist.c,
36752           as/link/lknoice.c, as/link/lkrel.c, as/link/lkrel.h,
36753           as/link/lksdcclib.c, as/link/lkstore.c, as/link/lksym.c,
36754           as/link/mcs51/lkarea.c, as/link/mcs51/lkihx.c,
36755           as/link/mcs51/lkmain.c, as/link/mcs51/lkmem.c,
36756           as/link/mcs51/lkrloc.c, as/link/mcs51/lks19.c, as/link/z80/lkarea.c,
36757           as/link/z80/lkgb.c, as/link/z80/lkgg.c, as/link/z80/lkihx.c,
36758           as/link/z80/lkmain.c, as/link/z80/lkrloc.c, as/link/z80/lks19.c,
36759           as/mcs51/asdata.c, as/mcs51/asexpr.c, as/mcs51/aslist.c,
36760           as/mcs51/asm.h, as/mcs51/asmain.c, as/mcs51/asout.c,
36761           as/mcs51/assubr.c, as/mcs51/i51adr.c, as/mcs51/i51ext.c,
36762           as/mcs51/i51mch.c, as/mcs51/i51pst.c, as/mcs51/i8051.h,
36763           as/xa51/xa_link.c, as/xa51/xa_main.c, as/xa51/xa_main.h,
36764           as/xa51/xa_rasm.l, as/xa51/xa_rasm.y, as/xa51/xa_version.h,
36765           as/z80/asdata.c, as/z80/asexpr.c, as/z80/aslist.c, as/z80/asm.h,
36766           as/z80/asmain.c, as/z80/asout.c, as/z80/assubr.c, as/z80/z80.h,
36767           as/z80/z80adr.c, as/z80/z80ext.c, as/z80/z80mch.c, as/z80/z80pst.c:
36768           changed license to GPL either version 3, or (at your option) any
36769           later version
36771 2009-02-05 Borut Razem <borut.razem AT siol.net>
36773         * as/asranlib/asranlib.c, link/lkar.h, link/lkar.c:
36774           added support for BSD (Mac OS X) ar format
36776 2009-02-02 Borut Razem <borut.razem AT siol.net>
36778         * device/lib/gbz80/Makefile.in, device/lib/hc08/Makefile.in,
36779           device/lib/z80/Makefile.in:
36780           chose source files in the PORT directory if they are available
36782 2009-02-01 Raphael Neider <rneider AT web.de>
36784         * device/lib/pic16/libdev/pic18f1220.c,
36785         * device/lib/pic16/libdev/pic18f4450.c:
36786           define SSPBUF to allow use of printf
36788 2009-02-01 Borut Razem <borut.razem AT siol.net>
36790         * device/lib/Makefile.in, device/lib/gbz80/Makefile.in,
36791           device/lib/hc08/Makefile.in, device/lib/incl.mk,
36792           device/lib/z80/Makefile.in:
36793           don't remake libraries
36794         * support/regression/tests/snprintf.c:
36795           reenable floating point in small-xstack-auto library
36797 2009-01-26 Raphael Neider <rneider AT web.de>
36799         * src/pic16/ralloc.c (packForPush): disabled to fix #2496919
36801 2009-01-25 Raphael Neider <rneider AT web.de>
36803         * src/pic16/main.c (_pic16_linkEdit): prepend -L paths to linker
36804           search path instead of appending them
36806 2009-01-24 Borut Razem <borut.razem AT siol.net>
36808         * as/asranlib/asranlib.h: changed type of offset to unsigned int to
36809           make it work on ppc Mac OS X (off_t is 64 bit and is not converted
36810           to 32 bit unsigned int when calling sputl() since it is a macro
36811         * as/link/lkar.c: changed the initialization of This->loaded
36813 2009-01-23 Borut Razem <borut.razem AT siol.net>
36815         * as/link/lkar.h: changed type of ar_size to size_t to make it work on
36816           ppc Mac OS X (off_t is 64 bit and is not converted to 32 bit
36817           unsigned int when calling new(), since asxxxx doesn't use function
36818           prototypes)
36820 2009-01-21 Borut Razem <borut.razem AT siol.net>
36822         * as/link/lkar.h: sgetl and sputl are independent of endianness
36823         * as/link/sdxxxx_config.h.in: removed endianness detection
36825 2009-01-20 Borut Razem <borut.razem AT siol.net>
36827         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.8
36828           due creation of ar format libraries
36829         * support/scripts/sdcc.nsi:
36830           don't add nonexistent object files to the package
36832 2009-01-19 Borut Razem <borut.razem AT siol.net>
36834         * Makefile.in, configure.in, configure,
36835           device/lib/Makefile.in, device/lib/ds390/Makefile.in,
36836           device/lib/ds400/Makefile.in, device/lib/gbz80/Makefile.in,
36837           device/lib/hc08/Makefile.in, device/lib/large/Makefile.in,
36838           device/lib/mcs51/Makefile.in, device/lib/medium/Makefile.in,
36839           device/lib/small/Makefile.in,
36840           device/lib/z80/Makefile.in: create ar format libraries
36841         * support/regression/ports/mcs51-xstack-auto/spec.mk:
36842           use device/lib/Makefile to create library
36843         * support/regression/tests/snprintf.c:
36844           floating point is not enabled in small-xstack-auto library
36845         * device/lib/libfloat.lib, device/lib/libint.lib,
36846           device/lib/liblong.lib, device/lib/libsdcc.lib: removed
36848 2009-01-18 Borut Razem <borut.razem AT siol.net>
36850         * support/cpp/auto-host.h: fixed warning: "__STDC__" redefined,
36851           warning: extra tokens at end of #endif directive
36853 2009-01-11 Borut Razem <borut.razem AT siol.net>
36855         * Makefile.in: added SDCC_ASRANLIB to PKGS
36857 2009-01-10 Borut Razem <borut.razem AT siol.net>
36859         * support/scripts/sdcc.nsi: added asranlib.exe to the install package
36860         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.7
36861           due added support for ar format libraries
36863 2009-01-09 Borut Razem <borut.razem AT siol.net>
36865         * as/asranlib/Makefile.in, as/asranlib/asranlib.dsp,
36866           as/asranlib/asranlib.c: added asranlib
36867         * as/link/lkar.c, as/link/lkar.h: added support for ar format libraries
36868         * Makefile.in, as/link/hc08/Makefile.in,
36869           as/link/hc08/link_hc08.dsp, as/link/lklib.c, as/link/lklibr.c,
36870           as/link/lklibr.h, as/link/lkrel.c, as/link/lkrel.h,
36871           as/link/lksdcclib.c, as/link/mcs51/Makefile.in,
36872           as/link/mcs51/aslink.dsp, as/link/z80/Makefile.in,
36873           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp, configure,
36874           configure.in, sdcc.dsw: modified to support ar format libraries
36876 2009-01-08 Maarten Brock <sourceforge.brock AT dse.nl>
36878         * src/SDCCast.c (decorateType RETURN): use RESULT_TYPE_GPTR for generic
36879           pointer return
36881 2009-01-05 Philipp Klaus Krause <pkk AT spth.de>
36883         * sim/ucsim/z80.src/inst_ed.cc:
36884           Fixed bug #2488074, which made regression tests fail.
36886 2009-01-05 Philipp Klaus Krause <pkk AT spth.de>
36888         * device/lib/z80/mod.s,
36889           device/lib/z80/div.s,
36890           device/lib/z80/mulchar.s,
36891           device/lib/z80/mul.s,
36892           device/lib/z80/divsigned.s,
36893           device/lib/z80/Makefile.in:
36894           Implemented RFE #1702376.
36896 2009-01-05 Borut Razem <borut.razem AT siol.net>
36898         * as/link/lksdcclib.c:
36899           fixed linker hanging in INDEXLIB is not defined (hc08)
36901 2009-01-04 Philipp Klaus Krause <pkk AT spth.de>
36903         * src/z80/gen.c:
36904           Implemented RFE #2485684, and some further improvements of HL caching
36905           including a bugfix.
36906         * src/z80/peeph-z80.def:
36907           Fixed a bug exposed by implementing RFE #2485684.
36909 2009-01-04 Philipp Klaus Krause <pkk AT spth.de>
36911         * src/z80/peeph-z80.def:
36912           Peephole improvements.
36913         * src/z80/gen.c,
36914           src/z80/main.c,
36915           device/include/string.h,
36916           device/lib/z80/memmove.s:
36917           Minor code cleanup.
36918         * device/lib/z80/Makefile.in,
36919           device/lib/Makefile.in,
36920           support/regression/tests/memory.c,
36921           device/lib/z80/strlen.s:
36922           Partially implemented RFE #2471534.
36924 2009-01-04 Borut Razem <borut.razem AT siol.net>
36926         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.6
36927           due changes in sdcc asxxxx linkers - it sholud be done 2 days ago :(
36928         * doc/README.txt: updated John Hartman's e-mail address
36929         * as/link/lkrel.c, as/link/lksdcclib.c:
36930           fixed bug #2484677: Linker hangs
36931         * src/z80/peep.c: fixed msvc warning C4047:
36932           'return' : 'int ' differs in levels of indirection from 'char *'
36933         * config.dsp: as/lib corrected to as/link
36935 2009-01-04 Philipp Klaus Krause <pkk AT spth.de>
36937         * src/z80/peep.c:
36938           Implemented RFE #2484693.
36939         * src/z80/peeph-z80.def:
36940           Some peephole improvements.
36942 2009-01-03 Borut Razem <borut.razem AT siol.net>
36944         * as/link/lklibr.c:
36945           fixed warning: 'ret' may be used uninitialized in this function
36947 2009-01-02 Borut Razem <borut.razem AT siol.net>
36949         * as/link/lklib.c, as/link/lksdcclib.c, as/link/lklibr.h,
36950           as/link/getline.[ch], as/link/lkrel.[ch]: added,
36951           made support for differnet library formats more flexible,
36952           preparation for support of ar format
36953         * as/link/lklibr.c, as/link/z80/Makefile.in,
36954           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
36955           as/link/hc08/link_hc08.dsp, as/link/hc08/Makefile.in,
36956           as/link/mcs51/aslink.dsp, as/link/mcs51/Makefile.in,
36957           as/link/hc08/lkelf.c, as/link/aslink.h:
36958           made support for differnet library formats more flexible,
36959           preparation for support of ar format
36961 2009-01-01 Borut Razem <borut.razem AT siol.net>
36963         * as/link/asxxxx_config.h.in:
36964           fixed warning: extra tokens at end of #endif directive
36965         * src/z80/peep.c:
36966           fixed warning: suggest parentheses around && within ||
36967         * device/lib/Makefile.in: allow whitespaces at the end of lines in
36968           ports.build, in order to make it work on cygwin - it seems to be a
36969           bug in cygwin grep: CR is not treated as part of end-of-line
36971 2008-12-31 Borut Razem <borut.razem AT siol.net>
36973         * configure, configure.in, config.dsp, config_vc.awk,
36974           as/link/asxxxx_config.h.in, as/link/hc08/lkelf.c, as/link/aslink.h,
36975           as/link/hc08/Makefile.in, as/link/mcs51/Makefile.in:
36976           introduced asxxxx_config.h.in
36978 2008-12-30 Philipp Klaus Krause <pkk AT spth.de>
36980         * src/z80/gen.c,
36981           src/z80/peeph-z80.def:
36982           Minor addition improvement.
36984 2008-12-30 Raphael Neider <rneider AT web.de>
36986         * as/link/hc08/lkelf.c, as/link/lkaomf51.c, as/link/lklibr.c,
36987           as/link/z80/lkgb.c, debugger/mcs51/cmd.c, sim/ucsim/utils.cc,
36988           src/SDCCasm.c, support/Util/dbuf_string.c, support/cpp/c-ppoutput.c,
36989           support/cpp/libcpp/lex.c, support/cpp/libcpp/macro.c,
36990           support/librarian/sdcclib.c, support/makebin/makebin.c:
36991           partially revert changes from r5293..r5295
36993 2008-12-29 Philipp Klaus Krause <pkk AT spth.de>
36995         * src/z80/peeph-z80.def:
36996           Minor peephole improvement.
36998 2008-12-29 Raphael Neider <rneider AT web.de>
37000         * src/pic/pcode.c (insertBankSel, FixRegisterBanking): emit
37001           incorrectly discarded BANKSELs
37003 2008-12-29 Philipp Klaus Krause <pkk AT spth.de>
37005         * support/regression/tests/memory.c:
37006           Added simple test for memset(), memcpy() and memmove()
37008 2008-12-29 Borut Razem <borut.razem AT siol.net>
37010         * sdcc/support/scripts/sdcc.nsi: removed $INSTDIR\lib\src\z80\*.c
37012 2008-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
37014         * src/mcs51/peeph.def (177.e): replaced notVolatile(%3) with
37015           operandsNotRelated(%1 %3), had to change (a)r%1 to (a)%1 for this to work
37016           (177.j): added new rule
37017         * src/SDCCsymt.h: added RESULT_TYPE_GPTR
37018         * src/SDCCast.c (processParms): use RESULT_TYPE_GPTR for generic ptr parms,
37019           (decorateType CAST): propagate storage class to generic pointer results
37021 2008-12-27 Philipp Klaus Krause <pkk AT spth.de>
37023         * device/lib/z80/string.c,
37024           device/lib/z80/printf.c,
37025           device/lib/z80/mul.s:
37026           z80 library cleanup
37027         * src/z80/gen.c:
37028           Fixed code generation bug exposed by builtin memcpy().
37030 2008-12-27 Philipp Klaus Krause <pkk AT spth.de>
37032         * device/lib/_memcpy.c:
37033           fixed conflict with builtin memcpy()
37035 2008-12-26 Borut Razem <borut.razem AT siol.net>
37037         * support/librarian/sdcclib.c:
37038           fixed bug 2466950: "sdcclib broken"
37039           by removing fgets return value check
37041 2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
37042         * src/z80/main.c,
37043           src/z80/gen.c,
37044           device/include/string.h: Implemented RFE #1914254
37046 2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
37047         * device/lib/z80/Makefile.in,
37048           device/lib/Makefile.in,
37049           device/lib/z80/memmove.s: Implemented RFE #1914256
37051 2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
37053         * src/z80/peeph-z80.def: fixed a bug in peephole 0zf
37054         * src/z80/peep.c: improved checks for unused data
37055         * src/z80/gen.c,
37056           src/z80/main.c: Implemented RFE #1899189
37058 2008-12-25 Borut Razem <borut.razem AT siol.net>
37060         * support/regression/Makefile.in:
37061           add -I$(INC_DIR) to SDCCFLAGS only if INC_DIR is defined
37063 2008-12-25 Philipp Klaus Krause <pkk AT spth.de>
37065         * src/z80/peeph-z80.def: minor peephole improvements
37067 2008-12-21 Borut Razem <borut.razem AT siol.net>
37069         * support/librarian/sdcclib.c: fixed build failure on Mac OS X
37070           due to redefinition of symbol __assert
37071           sdcclib.c:53:1:warning: "__assert" redefined
37072           /Xcode2.5/SDKs/MacOSX10.4u.sdk/usr/include/assert.h:80:1:
37073           warning: this is the location of the previous definition
37075 2008-12-20 Raphael Neider <rneider AT web.de>
37077         * debugger/mcs51/break.c, debugger/mcs51/cmd.c,
37078           debugger/mcs51/simi.c, debugger/mcs51/symtab.c,
37079           support/cpp/libcpp/macro.c: fix format string errors
37081         * sim/ucsim/s51.src/timer2.cc: add clarifying parens
37083         * src/pic/device.c: partial rewrite using strtok,
37084           quieten compiler warnings, adopt SDCC coding style
37086         * as/link/hc08/lkelf.c, as/link/lkaomf51.c, as/link/lklibr.c,
37087           as/link/z80/lkgb.c, as/z80/asout.c, debugger/mcs51/cmd.c,
37088           sim/ucsim/utils.cc, src/SDCCasm.c, support/Util/dbuf_string.c,
37089           support/cpp/c-ppoutput.c, support/cpp/libcpp/lex.c,
37090           support/librarian/sdcclib.c, support/makebin/makebin.c:
37091           quieten most compiler warnings
37093         * sim/ucsim/avr.src/arith_inst.cc: quieten compiler warnings,
37094           probably fix operator precedence bug
37096         * doc/clean.mk: quieten rm if no .lyx is present
37098 2008-12-19 Borut Razem <borut.razem AT siol.net>
37100         * doc/sdccman.lyx, doc/random-notes.txt, doc/avr/avr_design.txt,
37101           doc/TININative.txt, doc/macro-sys-design.txt, doc/libdoc.txt,
37102           doc/README.txt, doc/test_suite_spec.lyx:
37103           applied patch 2446381: Dcoumentation spelling correcitons
37104           thanks to Steven Borley
37106 2008-12-16 Raphael Neider <rneider AT web.de>
37108         * device/include/pic/pic12f629.h,
37109           device/include/pic/pic12f675.h,
37110           device/lib/pic/libdev/pic12f629.c,
37111           device/lib/pic/libdev/pic12f675.c: consolidated, added TRISIO bits
37113 2008-12-14 Borut Razem <borut.razem AT siol.net>
37115         * doc/sdccman.lyx, cdbfileformat.lyx, test_suite_spec.lyx:
37116           converted to LyX 1.5.7 (\lyxformat 276) format
37118 2008-12-07 Borut Razem <borut.razem AT siol.net>
37120         * support/regression/tests/bitfields.c:
37121           added test case for bug #2366757
37123 2008-12-07 Raphael Neider <rneider AT web.de>
37125         * src/pic16/glue.c (pic16_printIvalBitFields): prevent
37126           NULL pointer dereference, closes #2366757
37128 2008-11-25 Raphael Neider <rneider AT web.de>
37130         * device/include/pic16/pic16devices.txt,
37131           sdcc/src/pic16/device.c,
37132           sdcc/src/pic16/device.h: implicitly disable XINST
37133           whenever CONFIG4L is set via an additional optional
37134           argument to the configword directive in pic16devices.txt
37136 2008-11-24 Raphael Neider <rneider AT web.de>
37138         * device/lib/pic16/configure.ac,
37139           device/lib/pic16/Makefile.common: fixed quoting issues
37141         * device/lib/pic16/configure,
37142           device/lib/pic16/debug/Makefile.in,
37143           device/lib/pic16/libc/Makefile.in,
37144           device/lib/pic16/libdev/Makefile.in,
37145           device/lib/pic16/libio/Makefile.in,
37146           device/lib/pic16/libm/Makefile.in,
37147           device/lib/pic16/libsdcc/Makefile.in,
37148           device/lib/pic16/Makefile.in,
37149           device/lib/pic16/startup/Makefile.in: regenerated
37151         * src/pic16/main.c (_pic16_finaliseOptions): revert to
37152           variant of r5216
37154 2008-11-24 Raphael Neider <rneider AT web.de>
37156         * src/pic16/main.c (_pic16_finaliseOptions): do not quote the
37157           argument of --asm= or --link= to allow for
37158           --asm="sh script --options", the user can double quote the
37159           argument if needed: --asm="'c:/program files/gpasm' -q",
37160           also fix some potential buffer overflows
37162 2008-11-19 Borut Razem <borut.razem AT siol.net>
37164         * doc/sdccman.lyx:
37165           fixed 2314467: sdccman.lyx: fix "--" in command line parameters
37166           thanks Mauro Giachero
37168 2008-11-16 Borut Razem <borut.razem AT siol.net>
37170         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.5
37171         * doc/sdccman.lyx: documented fixed unnamed bit-field initialization
37173 2008-11-15 Borut Razem <borut.razem AT siol.net>
37175         * src/pic16/glue.c, src/SDCC.y, src/SDCCast.c, src/SDCCglue.c,
37176           src/SDCCsymt.c, src/SDCCsymt.h:
37177           fixed RFE #2291335 : Unnamed bit-field initialization
37178         * support/regression/tests/bitfields.c:
37179           added test case for RFE #2291335
37180         * support/regression/tests/bug-1981238.c:
37181           don't initialize unnamed bit-fields
37183 2008-11-11 Raphael Neider <rneider AT web.de>
37185         * device/include/pic16/pic18f25j10.h,
37186           device/include/pic16/pic18f45j10.h: remove useless boilerplate
37188         * device/include/pic16/adc.h,
37189           device/lib/pic16/libio/adc/adcbusy.c,
37190           device/lib/pic16/libio/adc/adcclose.c,
37191           device/lib/pic16/libio/adc/adcconv.c,
37192           device/lib/pic16/libio/adc/adcopen.c,
37193           device/lib/pic16/libio/adc/adcread.c,
37194           device/lib/pic16/libio/adc/adcsetch.c: generalized, documented,
37195           and fixed ADC routines to work for more target devices,
37196           incorporates patch #2036130 by Nick Materer
37198 2008-11-10 Steven Borley <steven.borley AT partnerelectronics.com>
37200         * device/include/ctype.h,
37201         * device/include/ds400rom.h,
37202         * device/include/ds80c390.h,
37203         * device/include/float.h,
37204         * device/include/math.h,
37205         * device/include/serial.h,
37206         * device/include/stdbool.h,
37207         * device/include/tinibios.h: replaced non-C89 '//' with '/* */',
37208           patch 2195343
37209         * device/include/mcs51/C8051F336.h,
37210         * device/include/mcs51/C8051T600.h,
37211         * device/include/mcs51/C8051T610.h,
37212         * device/include/mcs51/C8051T630.h: new, added, patch 2183334
37213           (svn commit by Maarten Brock <sourceforge.brock AT dse.nl>)
37215 2008-11-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
37217         * device/include/mcs51/P89LPC922.h: fixed #2255989, thanks kubi57
37219 2008-11-10 Raphael Neider <rneider AT web.de>
37221         * device/lib/pic16/libdev/mkmk.sh: obey pics.all
37222         * device/lib/pic16/libio/mkmk.sh: properly match whole lines in
37223           .ignore files, fixes IO libs for 18f242, 18f252, 18f442, and 18f452
37224           (patch by Nick Materer, #2253980)
37226         * device/lib/pic16/libio/adc.ignore,
37227           device/lib/pic16/libio/i2c.ignore,
37228           device/lib/pic16/libio/usart.ignore,
37229           device/lib/pic16/pics.all: updated to build more device libs
37231         * device/lib/pic16/libdev/Makefile.am,
37232           device/lib/pic16/libdev/Makefile.in,
37233           device/lib/pic16/libio/Makefile.am,
37234           device/lib/pic16/libio/Makefile.in: regenerated
37236         * src/pic16/device.c (pic16_dump_usection): fixed output of multiple
37237           names per memory location, applied SDCC style to more functions
37239 2008-11-09 Gudjon I. Gudjonsson <gudjon AT gudjon.org>
37241         * device/include/mcs51/p89lpc933_4.h: new NXP header file
37242         * device/include/mcs51/p89lpc935_6.h: new NXP header file
37243         * device/include/mcs51/p89v66x.h: minor changes
37244           (svn commit by Frieder Ferlemann <Frieder.Ferlemann AT web.de>)
37246 2008-11-09 Raphael Neider <rneider AT web.de>
37248         * device/include/pic/pic14devices.txt: fixed memory description for
37249           12f629 and 12f675, closes #2236240
37251 2008-11-06 Borut Razem <borut.razem AT siol.net>
37253         * src/SDCCmain.c: fixed bug #2224960: sdcc -MM no working correctly
37254           pass system include paths with -isystem to sdcpp
37255         * src/SDCCglue.c, src/pic/glue.c, src/pic16/glue.c: removed unneeded
37256           functions (closePipes), (closeTmpFiles) and (rmTmpFiles)
37258 2008-11-02 Raphael Neider <rneider AT web.de>
37260         * doc/sdccman.lyx: updated the sections on the library build process
37261           and on how to add support for new devices, and documented known
37262           problems with the extended instruction set including a workaround
37264 2008-11-01 Raphael Neider <rneider AT web.de>
37266         * device/include/pic16/adc.h,
37267           device/include/pic16/pic16devices.txt,
37268           device/include/pic16/pic18f2410.h,
37269           device/include/pic16/pic18f2510.h,
37270           device/include/pic16/pic18f2515.h,
37271           device/include/pic16/pic18f2610.h,
37272           device/include/pic16/pic18f4410.h,
37273           device/include/pic16/pic18f4510.h,
37274           device/include/pic16/pic18f4515.h,
37275           device/include/pic16/pic18f4610.h,
37276           device/include/pic16/pic18fregs.h,
37277           device/lib/pic16/libdev/Makefile.am,
37278           device/lib/pic16/libdev/Makefile.in,
37279           device/lib/pic16/libdev/pic18f2410.c,
37280           device/lib/pic16/libdev/pic18f2510.c,
37281           device/lib/pic16/libdev/pic18f2515.c,
37282           device/lib/pic16/libdev/pic18f2610.c,
37283           device/lib/pic16/libdev/pic18f4410.c,
37284           device/lib/pic16/libdev/pic18f4510.c,
37285           device/lib/pic16/libdev/pic18f4515.c,
37286           device/lib/pic16/libdev/pic18f4610.c,
37287           device/lib/pic16/libio/Makefile.am,
37288           device/lib/pic16/libio/Makefile.in,
37289           device/lib/pic16/pics.all: added support for 18f[24][456]10
37290           and 18f[24]515 devices
37291         * doc/sdccman.lyx: updated list of supported PIC16 devices
37293         * src/pic/glue.c, src/pic/pcode.c, src/pic/pcodeflow.c,
37294           src/pic16/glue.c, src/pic16/pcode.c, src/pic16/pcodeflow.c,
37295           src/xa51/gen.c: avoid compiler warnings
37296         * support/scripts/inc2h-pic16.pl: removed trailing whitespace
37298 2008-10-22 Gudjon I. Gudjonsson <gudjon AT gudjon.org>
37300         * device/include/mcs51/p89v66x.h: NXP header file
37301         * device/include/mcs51/p89c66x.h: fixed an SBIT definition
37302           (svn commit by Frieder Ferlemann <Frieder.Ferlemann AT web.de>)
37304 2008-10-14 Raphael Neider <rneider AT web.de>
37306         * device/lib/pic16/libdev/Makefile.am,
37307           device/lib/pic16/libio/Makefile.am: enable building libraries for
37308           18f2321, 18f4321, 18f2523, 18f4620, 18f66j60, 18f66j65, 18f67j60,
37309           18f86j60, 18f86j65, 18f87j60, 18f96j60, 18f96j65, and 18f97j60
37310         * device/lib/pic16/libdev/Makefile.in,
37311           device/lib/pic16/libio/Makefile.in: regenerated
37313 2008-10-14 Raphael Neider <rneider AT web.de>
37315         * device/include/pic16/pic18f2450.h,
37316           device/include/pic16/pic18f4450.h,
37317           device/lib/pic16/libdev/pic18f2450.c,
37318           device/lib/pic16/libdev/pic18f4450.c,
37319           device/include/pic16/adc.h,
37320           device/include/pic16/pic16devices.txt,
37321           device/include/pic16/pic18fregs.h,
37322           device/lib/pic16/libdev/Makefile.am,
37323           device/lib/pic16/libdev/Makefile.in,
37324           device/lib/pic16/libio/Makefile.am,
37325           device/lib/pic16/libio/Makefile.in,
37326           device/lib/pic16/pics.all: added 18f2450 and 18f4450, closes #1844525
37328         * device/lib/pic16/libsdcc/stack/stack.S: there is no need to pin the
37329           stack to a fixed location, relax it to automatically work with all
37330           but the smallest devices (256 byte RAM devices need #pragma stack)
37332 2008-10-09 Maarten Brock <sourceforge.brock AT dse.nl>
37334         * debugger/mcs51/break.c: bugfix from patch 1989966, thanks Risto Huotari
37335         * debugger/mcs51/simi.c: bugfix from patch 1989972, thanks Risto Huotari
37336         * device/lib/_strcspn.c: fixed bug 2140931
37338 2008-10-06 Raphael Neider <rneider AT web.de>
37340         * device/include/pic16/stdio.h,
37341           device/lib/pic16/libc/stdio/putchar.c: putchar should not be
37342           declared __naked for convenience, named all arguments
37343         * device/lib/pic16/libc/stdio/strmgpsim.c,
37344           device/lib/pic16/libc/stdio/strmmssp.c,
37345           device/lib/pic16/libc/stdio/strmusart.c: cosmetic changes
37347         * src/pic16/pcode.c (createReachingDefinitions): avoid segfault on
37348           empty __naked functions,
37349         * (pCodeLabelDestruct, pic16_unlinkpCode, pic16_pCodeUnlink): fix
37350           corner cases (unlink first/last pCode in list), reuse more code
37352 2008-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
37354         * src/ds390/main.c (_ds390_genInitStartup): added
37355         * src/SDCCpeeph.c (getPatternVar): new, added,
37356           (labelInRange): fixed bug 2115959
37357         * src/mcs51/peeph.def (rules 193.x to 198.x): check for labelInRange
37358         * src/SDCCicode.h: added newiTempOperand
37359         * src/SDCCcse.c (algebraicOpts): fixed bug for x*-1,
37360           added optimizations for 0/x and x/-1, see also patch 2142900
37361         * support/regression/tests/onebyte.c (testMul): added test cases
37363 2008-09-20 Borut Razem <borut.razem AT siol.net>
37365         * src/pic16/glue.c:
37366           definition of absolute address symbols without initial value,
37367           fixed SDCC crash "do not know how to intialize symbol"
37369 2008-09-16 Maarten Brock <sourceforge.brock AT dse.nl>
37371         * device/lib/z80/mul.s (__mulsuchar_rrx_s, __muluschar_rrx_s),
37372         * device/lib/z80/div.s (__divsuchar_rrx_s, __modsuchar_rrx_s,
37373           __divuschar_rrx_s, __moduschar_rrx_s): added mixed signedness versions
37374         * device/lib/z80/stubs.s: added stubs for above functions
37375         * src/SDCCopt.c (convilong),
37376         * src/SDCCsymt.c (initCSupport): fixed bug 1900961
37377         * src/SDCCsymt.h (__muldiv): enlarged for mixed signedness
37378         * src/z80/main.c (_hasNativeMulFor): fixed bug, I think
37379         * support/regression/tests/onebyte.c: enabled all tests for z80
37381 2008-09-15 Borut Razem <borut.razem AT siol.net>
37383         * device/include/pic16/stdio.h, device/lib/pic16/libc/stdio/streams.c,
37384           device/lib/pic16/libc/stdio/printf.c,
37385           device/lib/pic16/libc/stdio/strmusart.c,
37386           device/lib/pic16/libc/stdio/printf_tiny.c,
37387           device/lib/pic16/libc/stdio/sprintf.c,
37388           device/lib/pic16/libc/stdio/strmgpsim.c,
37389           device/lib/pic16/libc/stdio/putchar.c,
37390           device/lib/pic16/libc/stdio/fprintf.c,
37391           device/lib/pic16/libc/stdio/strmmssp.c,
37392           device/device/lib/pic16/libc/stdio/vprintf.c,
37393           device/lib/pic16/libc/stdio/printf_small.c,
37394           device/lib/pic16/libc/stdio/vsprintf.c,
37395           device/lib/pic16/libc/stdio/strmputchar.c,
37396           device/lib/pic16/libc/Makefile.am,
37397           device/lib/pic16/libc/Makefile.in:
37398           *printf now returns int, puchar.c moved from stdlib to stdio,
37399           *printf format parameter type changed from char * to const char *,
37400           added GNU link excetion text to library source files,
37401           applyed GNU coding style, removed useless svn ids,
37402           added BINARY_SPECIFIER macro re-enables the use of the removed 'b'
37403           binary specifier: "%b", "%hb" and "%lb"
37404         * device/lib/pic16/libc/stdio/vfprintf.c:
37405           applied patch #2044424: PIC16: vfprintf
37406           thanks Mauro Giachero
37407         * support/regression/tests/bug1057979.c:
37408           removed old pic16 sprintf specifics
37409         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.4
37410         * doc/sdccman.lyx: documented 'b' binary format specifier removal
37412 2008-09-15 Raphael Neider <rneider AT web.de>
37414         * src/pic16/device.c (pic16_dump_usection): force udata sections
37415           into the addressable range (0..0xFFF), workaround for a gpsim
37416           bug preventing simulation of regtest bug1750318
37417         * src/pic16/ralloc.c (deassignLRs): cosmetic changes,
37418           (serialRegAssign): fixed regtest bug-971834,
37419           (pic16_packRegisters): avoid null-pointer dereference
37421 2008-09-14 Raphael Neider <rneider AT web.de>
37423         * src/pic16/gen.c, src/pic16/ralloc.c: use
37424           SYM_SPIL_LOC/SPIL_LOC macros, no functional changes
37425         * src/pic16/ralloc.c (rematStr): reimplemented, fixes #1818857
37427 2008-09-12 Borut Razem <borut.razem AT siol.net>
37429         * support/regression/fwk/testfwk.h:
37430           define pdata as data for pic16 target
37431           thanks Mauro Giachero
37433 2008-09-11 Borut Razem <borut.razem AT siol.net>
37435         * support/regression/tests/bug-221100.c, support/regression/shifts.c,
37436           support/regression/absolute.c:
37437           applied patch #2105615: Some PIC16 testcase fixlets
37438           thanks Mauro Giachero
37440 2008-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
37442         * src/z80/gen.c (genCmpGt, genCmpLt): fixed bug 2094505
37443         * support/regression/tests/bug2094505.c: new, added
37445 2008-09-07 Borut Razem <borut.razem AT siol.net>
37447         * src/SDCCglue.c, src/SDCCast.c:
37448           fixed throw of "excess elements" warning for char arrays
37449         * support/regression/tests/nullstring.c:
37450           disable warning about excess elements in array of chars initializer
37452 2008-09-07 Maarten Brock <sourceforge.brock AT dse.nl>
37454         * as/z80/aslist.c (lstsym): changed old K&R to ANSI
37455         * src/SDCCicode.c (geniCodeCritical): fixed bug for hc08
37456         * src/z80/gen.c (genCritical, genEndCritical): fixed bug 2077267
37457         * support/regression/tests/bug2077267.c: new, added
37459 2008-09-05 Raphael Neider <rneider AT web.de>
37461         * configure.in, Makefile.common.in: add support for ccache,
37462           remove spurious $VERSION output, detect doc-tools even without
37463           --enable-doc to facilitate later manual doc-builds, minor cleanup
37464         * configure: regenerated
37466         * doc/Makefile.in: quieten pdflatex, makeindex, and latex2html,
37467           avoid races in parallel VPATH builds
37468         * doc/clean.mk: remove .lyx files in the builddir for VPATH builds
37469         * doc/sdccman.lyx: mention --without-ccache configure option
37471 2008-09-01 Raphael Neider <rneider AT web.de>
37473         * src/pic16/gen.c (pic16_derefPtr): handle CPOINTERs as well
37474         * (genConstPointerGet): fix reading bitfields from __code space
37475         * src/pic16/glue.c (pic16_printIvalBitFields): correctly mask
37476           bitfield initializers (fix regression test bug1856409.c)
37477         * (pic16_printIvalCharPtr,pic16_printIvalPtr): generalized to support
37478           arbitrary sizes
37480 2008-08-31 Raphael Neider <rneider AT web.de>
37482         * src/pic16/gen.c (genAssign): removed useless compiler output
37483         * (genPointerGet,genPointerSet,genCast),
37484           src/pic16/glue.c (pic16_printGPointerType):
37485           also handle PPOINTERs just to avoid spurious asserts
37486         * (pic16_printIvalType,pic16_printIvalBitFields):
37487           generalized to arbitrary type/bitfield sizes, allows compilation of
37488           regression test bug-1981238.c
37489         * (pic16_printIvalChar): fix regression test structflexarray.c
37490         * (pic16_printIvalArray): avoid SIGSEGV on uninitialized strings
37491           in initialized structs and fix #1843745
37492         * (pic16_printIvalStruct): always output initializers for all fields,
37493           even those not explicitly given, fixes zeropad.c regression test
37494         * (pic16_printIvalUnion): fix union initializers (bug1426356.c,
37495           #2073635, #1567098, and #1485812)
37496         * src/pic16/main.c (_pic16_keywords): remove unsupported 'pdata'
37498 2008-08-31 Borut Razem <borut.razem AT siol.net>
37500         * support/regression/tests/bug-895992.c,
37501           support/regression/tests/onebyte.c:
37502           enabled pic16 regression testing since the bugs
37503           1511794: pic16: regression test bug-895992.c fails
37504           1444425: onebyte.c regression tes fails on pic16
37505           are fixed, probably by fixing
37506           2048464: PIC16: fix genUminus - addresses not.c regression test
37507         * src/SDCCsymt.c, src/SDCCglue.c,
37508           support/regression/tests/bug-1981238.c:
37509           applied patch 2076664: fix #1981238 + SIGSEGV in SDCCGlue.c
37510           thanks to RvS
37512 2008-08-30 Borut Razem <borut.razem AT siol.net>
37514         * support/cpp/libcpp/files.c: SDCPP synchronized with GCC CPP
37515           release version 4.3.2
37517 2008-08-24 Raphael Neider <rneider AT web.de>
37519         * device/lib/pic16/configure, device/lib/pic16/configure.ac:
37520           always use the sdcc from the current build tree (ignore $CC from
37521           the environment, fixes compile farm builds)
37522         * device/lib/Makefile.in: rename .a into .lib for compatibility,
37523           remove more build products from install directory
37524         * sdcc/src/pic16/main.c (_pic16_linkEdit,_pic16_finaliseOptions)
37525         * sdcc/support/scripts/sdcc.nsi: revert to .lib extension for libs
37527 2008-08-24 Borut Razem <borut.razem AT siol.net>
37529         * src/SDCC.y: applied patch
37530           2050245: Fix # 1963382
37531           for bug
37532           1963382: Listing File - C file comment is incorrect
37533           thanks to RvS
37535 2008-08-23 Borut Razem <borut.razem AT siol.net>
37537         * src/pic16/gen.c: applied patch
37538           2048464: PIC16: fix genUminus - addresses not.c regression test
37539           thanks Mauro Giachero
37541 2008-08-22 Borut Razem <borut.razem AT siol.net>
37543         * device/lib/pic16/configure, device/lib/pic16/configure.ac,
37544           src/pic16/main.c: allow spaces in gpasm and gplink paths
37546 2008-08-15 Philipp Klaus Krause <pkk AT spth.de>
37548         * src/z80/peep.c,
37549         * src/z80/peeph-z80.def: minor peephole improvement
37551 2008-08-15 Raphael Neider <rneider AT web.de>
37553         * src/z80/gen.c (_vemit2): suppress compiler warning
37555         * src/pic/*.[ch]: make proper use of header files and avoid
37556           ad-hoc extern declarations, mark module-local helpers 'static',
37557           removed dead/replaced code, no functional changes
37558         * src/pic16/pcode.c: disentangled from pic14 backend
37560 2008-08-14 Philipp Klaus Krause <pkk AT spth.de>
37562         * src/z80/gen.c: fixed #2051348
37563         * support/regression/tests/bug-2051348.c: regression test for #2051348
37565 2008-08-10 Raphael Neider <rneider AT web.de>
37567         * configure.in,
37568         * Makefile.common.in: export PACKAGE for $docdir,
37569           fixes #1957036, avoid some "underquoted definition" warnings
37570         * configure: regenerated
37572 2008-08-10 Raphael Neider <rneider AT web.de>
37574         * device/lib/pic16/**: build pic16 library using autotools for
37575           improved dependency tracking
37577         * device/lib/Makefile.in,
37578         * src/pic16/main.c,
37579         * support/scripts/sdcc.nsi: adapt to changes in filenames (s/.lib/.a/)
37581 2008-08-10 Raphael Neider <rneider AT web.de>
37583         * src/pic/pcode.c (ReuseReg): do not overlay the registers used for
37584           local variables if --nooverlay is given, workaround for #2023121
37586 2008-08-08 Raphael Neider <rneider AT web.de>
37588         * src/pic16/genarith.c (genAddLit): fix structure access (#1888004)
37590 2008-08-08 Raphael Neider <rneider AT web.de>
37592         * src/pic/pcoderegs.c,
37593         * src/pic/pcode.c,
37594         * src/pic16/pcode.c: replace own SAFE_snprintf with common SNPRINTF
37596 2008-08-07 Borut Razem <borut.razem AT siol.net>
37598         * src/SDCCval.c, src/SDCCmain.c, src/SDCC.lex,
37599           device/lib/pic/Makefile.rules, device/lib/ds390/Makefile.in,
37600           device/lib/ds400/Makefile.in, device/lib/hc08/Makefile.in,
37601           support/cpp/libcpp/lex.c,  doc/sdccman.lyx:
37602           applied modified patch 2038174: Add support for binary constants v2
37603           thanks Mauro Giachero
37604         * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.3
37606 2008-08-04 Raphael Neider <rneider AT web.de>
37608         * doc/sdccman.lyx,
37609         * src/pic16/device.h,
37610         * src/pic16/glue.c,
37611         * src/pic16/main.c: enable --optimize-goto by default
37613         * device/lib/pic16/Makefile.common.in: suppress removed option
37615         * src/pic16/gen.c,
37616         * src/pic16/genutils.c: avoid too long relative branches (#2031890)
37618 2008-07-30 Borut Razem <borut.razem AT siol.net>
37620         * src/pic16/device.c, src/pic16/glue.c, src/pic16/pcode.c:
37621           applied patch 22032433: PIC16: fix constant strings,
37622           thanks Mauro Giachero
37624 2008-07-29 Borut Razem <borut.razem AT siol.net>
37626         * src/pic16/gen.c: applied patches:
37627           2030306: [1/3] PIC16: fix failing rotate.c tests on 16-bit variables,
37628           2030307: [2/3] PIC16: fix failing rotate.c tests for 32-bit var (1),
37629           2030310: [3/3] PIC16: fix failing rotate.c tests for 32-bit var (2),
37630           thanks Mauro Giachero
37632 2008-07-13 Philipp Klaus Krause <pkk AT spth.de>
37634         * src/port.h: Fixed typo in comment
37636 2008-07-12 Philipp Klaus Krause <pkk AT spth.de>
37638         * src/z80/mappings.i: Implemented RFE #1919415
37639         * src/z80/peeph-z80.def: Implemented RFE #1919415, #1861376,
37640           #1880202, #1914434, prepared for RFE #1703943
37642 2008-07-12 Philipp Klaus Krause <pkk AT spth.de>
37644         * src/z80/peeph.def,
37645         * src/z80/peeph-z80.def,
37646         * src/z80/peeph-gbz80.def: separate Z80 from GBZ80 peepholes in
37647           preparation for Z80 peephole improvements
37649 2008-06-21 Raphael Neider <rneider AT web.de>
37651         * device/include/pic16/pic18f66j60.h,
37652         * device/include/pic16/pic18f66j65.h,
37653         * device/include/pic16/pic18f67j60.h,
37654         * device/include/pic16/pic18f86j60.h,
37655         * device/include/pic16/pic18f86j65.h,
37656         * device/include/pic16/pic18f87j60.h,
37657         * device/include/pic16/pic18f96j60.h,
37658         * device/include/pic16/pic18f96j65.h,
37659         * device/include/pic16/pic18f97j60.h,
37660         * device/lib/pic16/libdev/pic18f66j60.c,
37661         * device/lib/pic16/libdev/pic18f66j65.c,
37662         * device/lib/pic16/libdev/pic18f67j60.c,
37663         * device/lib/pic16/libdev/pic18f86j60.c,
37664         * device/lib/pic16/libdev/pic18f86j65.c,
37665         * device/lib/pic16/libdev/pic18f87j60.c,
37666         * device/lib/pic16/libdev/pic18f96j60.c,
37667         * device/lib/pic16/libdev/pic18f96j65.c,
37668         * device/lib/pic16/libdev/pic18f97j60.c,
37669         * device/include/pic16/pic16devices.txt,
37670         * device/include/pic16/pic18fregs.h,
37671         * device/lib/pic16/pics.all: added new devices
37673         * device/include/pic16/adc.h,
37674         * device/lib/pic16/libio/adc/adcbusy.c,
37675         * device/lib/pic16/libio/adc/adcopen.c,
37676         * device/lib/pic16/libio/adc/adcsetch.c,
37677         * device/lib/pic16/libio/i2c/i2copen.c,
37678         * device/lib/pic16/libio/usart/uopen.c: adapted to new devices,
37679           all changes from a patch by Anton Strobl
37681 2008-06-12 Borut Razem <borut.razem AT siol.net>
37683         * sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/bp.cc,
37684           sim/ucsim/xa.src/xa.cc, sim/ucsim/xa.src/xacl.h,
37685           sim/ucsim/z80.src/z80cl.h, sim/ucsim/z80.src/z80.cc,
37686           sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
37687           sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
37688           sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/uc390.cc,
37689           sim/ucsim/s51.src/uc51.cc, sim/ucsim/s51.src/uc390cl.h,
37690           sim/ucsim/avr.src/avrcl.h, sim/ucsim/avr.src/avr.cc:
37691           fixed bug 1990586: s51 simulator, uc::disass() unimplemented
37692           by applying the modified patch from Risto Huotari
37694 2008-06-04 Maarten Brock <sourceforge.brock AT dse.nl>
37696         * .version,
37697         * doc/sdccman.lyx: bumped sdcc version to 2.8.2
37698         * src/ds390/gen.c (aopPutUsesAcc, genAddrOf): fixed bug 1015185
37699         * src/mcs51/gen.c (genNearPointerGet, genNearPointerSet): fixed bug 1938300
37700         * support/regression/tests/bug1938300.c: new, added
37702 2008-06-03 Maarten Brock <sourceforge.brock AT dse.nl>
37704         * device/include/asm/ds390/features.h,
37705         * device/include/asm/mcs51/features.h,
37706         * device/include/mcs51/regc515c.h: inserted LGPL notice
37708 2008-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
37710         * device/lib/gbz80/div.s,
37711         * device/lib/z80/div.s: fixed bug 1904314 by applying a modified part of
37712           patch 1597883, Thanks Robert Ramey
37714 2008-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
37716         * src/SDCCast.c (createIvalType, createIvalStruct, createIvalArray,
37717           createIvalCharPtr, createIvalPtr, createIval),
37718         * src/SDCCval.h
37719         * src/SDCCval.c (convertIListToConstList, list2expr): handle incomplete
37720           initializers for local auto variables
37721         * support/regression/tests/zeropad.c: added testcase for auto initializers
37723 2008-05-26 Raphael Neider <rneider AT web.de>
37725         * device/lib/pic16/startup/crt0.c,
37726         * device/lib/pic16/startup/crt0i.c,
37727         * device/lib/pic16/startup/crt0iz.c: clean up, make use of access bank
37728           explicit, fixed curr_entry loop for >= 256 initializer records,
37729           removed debug code (write to 0xf7e)
37731 2008-05-25 Raphael Neider <rneider AT web.de>
37733         * device/include/pic/pic16f627a.h,
37734         * device/include/pic/pic16f628a.h,
37735         * device/include/pic/pic16f648a.h: added missing ports
37737 2008-05-20 Maarten Brock <sourceforge.brock AT dse.nl>
37739         * device/include/float.h: added __INFINITY
37740         * device/lib/_fsadd.c: handle overflows
37741         * device/lib/_fsmul.c,
37742         * device/lib/_fsdiv.c: use __INFINITY
37743         * device/lib/_fseq.c,
37744         * device/lib/_fsneq.c: handle -0.0
37745         * sim/ucsim/s51.src/uc89c51r.cc,
37746         * sim/ucsim/s51.src/uc89c51rcl.h: fixed bug 1385430
37747         * sim/ucsim/sim.src/hwcl.h: */* confuses VC
37748         * src/mcs51/gen.c (genSend): fixed bug with --xstack
37749         * support/regression/ports/mcs51-xstack-auto/spec.mk: print floats
37750         * support/regression/tests/snprintf.c: test bug with --xstack
37752 2008-05-19  Philipp Klaus Krause <pkk AT spth.de>
37754         * src/SDCCpeeph.c (callFuncByName):
37755           Support nested parenthesis in peephole function arguments (#1967300)
37757 2008-05-19 Raphael Neider <rneider AT web.de>
37759         * src/pic16/gen.c (pic16_emitpLabel,pic16_emitpLabelFORCE):
37760           fixed duplicate labels (#1911325)
37762 2008-05-19 Raphael Neider <rneider AT web.de>
37764         * src/regression/empty.c: suppress warning
37765         * src/regression/pointer1.c: enabled index_by_pointer()
37766         * src/regression/inline.c: now works for pic16 as well
37768         * src/pic16/device.c: include dbuf declarations
37769         * src/pic16/device.h: removed obsolete prototypes
37771         * src/pic16/gen.c, src/pic16/gen.h: moved generic pointer tags
37772         * src/pic16/glue.c: made purely local functions static,
37773           (pic16_printGPointerType, pic16_printIvalCharPtr,
37774           pic16_printIvalFuncPtr, pic16_printIvalPtr): fixed initialized
37775           generic pointers' tags (#1961866)
37777         * src/pic16/pcode.c (assignValnums): optimize literal assignments
37779 2008-05-19 Borut Razem <borut.razem AT siol.net>
37781         * support/scripts/sdcc.nsi: remove uninstall.exe after uninstallation,
37782           fixed typo, uninstall include/pic16/pic16devices.txt
37784 2008-05-18 Borut Razem <borut.razem AT siol.net>
37786         * support/Utils/dbuf_string.[ch]: added dbuf_chomp(),
37787           the buffer is null terminated
37788         * src/device/pic16.c:
37789           applied modified patch 1965676: Patch for Win32 16 bit PIC
37790         * sdcc_vc_in.h: defined YY_NO_UNISTD_H
37792 2008-05-16 Maarten Brock <sourceforge.brock AT dse.nl>
37794         * src/SDCC.lex (check_type),
37795         * src/SDCC.y (type_specifier2 TYPE_NAME): fixed bug 1925942
37796         * as/hc08/clean.mk,
37797         * as/mcs51/clean.mk,
37798         * as/z80/clean.mk: also clean *.dep
37799         * device/lib/pic16/libsdcc/stack/Makefile,
37800         * sim/ucsim/libtool: removed as they are rebuild by configure
37801         * src/clean.mk: removed izt, so Makefile is not deleted for distclean
37803 2008-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
37805         * src/SDCCast.c (fixupInline, createFunction): save currBlockno in
37806           fixupInline instead of createFunction to fix bug 1864577
37807           (inlineFindMaxBlockno): removed, use global blockNo
37808         * src/SDCCglobl.h: added blockNo
37809         * src/z80/peep.c,
37810         * src/z80/peep.h: modified properties
37811         * support/regression/tests/bug1864577.c: new, added
37813 2008-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
37815         * as/mcs51/asdata.c,
37816         * as/mcs51/asm.h: added org_cnt
37817         * as/mcs51/asmain.c (main, asmbl): fixed bug 1957716, changed old K&R to ANSI
37818         * as/mcs51/asout.c: changed old K&R to ANSI
37819         * as/mcs51/Makefile.in: use common identifiers
37820         * as/hc08/asdata.c,
37821         * as/hc08/asexpr.c,
37822         * as/hc08/asm.h,
37823         * as/hc08/asmain.c,
37824         * as/hc08/asout.c,
37825         * as/hc08/Makefile.bcc,
37826         * as/hc08/Makefile.in: synchronized with as/mcs51/*
37827         * sdcc_vc_in.h: added define __func__
37828         * src/SDCCast.c (expandInlineFuncs): applied patch 1957148 to fix bug 1717305,
37829           Thanks Ruud van Silfhout
37830         * support/regression/tests/bug1717305.c: new, added
37832 2008-05-05 Borut Razem <borut.razem AT siol.net>
37834         * support/regression/Makefile.in,
37835           support/regression/ports/ds390/spec.mk,
37836           support/regression/ports/hc08/spec.mk,
37837           support/regression/ports/mcs51-common/spec.mk,
37838           support/regression/ports/pic14/spec.mk,
37839           support/regression/ports/pic16/spec.mk,
37840           support/regression/ports/ucz80/spec.mk,
37841           support/regression/ports/z80/spec.mk:
37842           added INC_DIR and LIBDIR paths
37843         * src/ds390/gen.c: removed duplicated selicolon
37845 2008-05-04 Borut Razem <borut.razem AT siol.net>
37847         * support/regression/Makefile.in,
37848           support/regression/fwk/lib/testfwk.c,
37849           support/regression/ports/ds390/spec.mk,
37850           support/regression/ports/hc08/spec.mk,
37851           support/regression/ports/mcs51-common/spec.mk,
37852           support/regression/ports/mcs51-large/spec.mk,
37853           support/regression/ports/mcs51-medium/spec.mk,
37854           support/regression/ports/mcs51-small/spec.mk,
37855           support/regression/ports/mcs51-stack-auto/spec.mk,
37856           support/regression/ports/mcs51-xstack-auto/spec.mk,
37857           support/regression/ports/pic14/spec.mk,
37858           support/regression/ports/pic16/spec.mk,
37859           support/regression/ports/ucz80/spec.mk:
37860           added possibility to define the sdcc binary directory SDCC_BIN_PATH
37861           used to run regeression tests
37863 2008-05-01 Raphael Neider <rneider AT web.de>
37865         * doc/sdccman.lyx, support/scripts/inc2h-pic16.pl: updated list of
37866           supported devices and instructions to add new ones
37868 2008-05-01 Raphael Neider <rneider AT web.de>
37870         * device/include/pic16/adc.h,
37871           device/lib/pic16/libio/adc/adcbusy.c,
37872           device/lib/pic16/libio/adc/adcopen.c,
37873           device/lib/pic16/libio/adc/adcsetch.c: support old 18f242 and new
37874           18f2455 style ADC devices, based on patch #1776197
37875         * device/lib/pic16/libio/adc/adcclose.c,
37876           device/lib/pic16/libio/adc/adcconv.c,
37877           device/lib/pic16/libio/adc/adcread.c: cosmetic changes
37878         * device/include/pic16/{pic18f2331.h,pic18f2431.h},
37879           device/lib/pic16/libdev/{pic18f2331.c,pic18f2431.c}: reuse 18f4331
37880         * device/include/pic16/pic18f4431.h,
37881           device/lib/pic16/libdev/pic18f4431.c: remove outdated comments
37882         * device/lib/pic16/libio/adc.ignore: forbid unhandled devices
37884 2008-05-01 Raphael Neider <rneider AT web.de>
37886         * src/pic16/device.h: removed unused field PIC16_device.sfrRange,
37887           moved xinst flag into pic16_options_t
37888         * src/pic16/device.c (default_device, pic16_list_devices,
37889           pic16_find_device): removed references to sfrrange
37890         * src/pic16/gen.c (genFunction),
37891           src/pic16/glue.c (pic16initialComments),
37892           src/pic16/main.c (pic16_optionsTable),
37893           src/pic16/ralloc.c (newReg, pic16_writeUsedRegs): updated references
37894           to xinst
37895         * device/include/pic16/pic16devices.txt: removed sfrrange lines
37897 2008-04-29 Raphael Neider <rneider AT web.de>
37899         * src/pic16/devices.inc,
37900           device/include/pic16/pic16devices.txt: replaced compiled-in list
37901           of devices with a variant parsed at runtime
37902         * src/pic16/device.c: added support for parsing pic16devices.txt,
37903           clean up
37904         * src/pic16/device.h: removed (now) unused fields from PIC_device
37905         * src/pic16/main.c: removed #pragma maxram,
37906           (_pic16_initPaths): removed bogus generation of search paths,
37907           setup the port proper only after the search paths (for
37908           pic16devices.txt) are set up,
37909           (_pic16_finaliseOptions): moved processor dependant code here
37910           from _pic16_initPaths(), clean up
37911         * src/pic16/ralloc.c (pic16_init_stack),
37912         * src/pic16/ralloc.h,
37913         * src/pic16/pcode.c: clean up
37914         * device/include/Makefile.in,
37915           support/scripts/sdcc.nsi: also install/package pic16devices.txt
37916         * support/scripts/inc2h-pic16.pl: updated instructions
37918 2008-04-29 Raphael Neider <rneider AT web.de>
37920         * device/include/pic16/{pic18f2480.h, pic18f2580.h, pic18f4423.h,
37921           pic18f4480.h, pic18f4523.h, pic18f4580.h, pic18f6585.h, pic18f8585.h},
37922           device/lib/pic16/libdev/{pic18f2480.c, pic18f2580.c, pic18f4423.c,
37923           pic18f4480.c, pic18f4523.c, pic18f4580.c, pic18f6585.c, pic18f8585.c}:
37924           added missing family members and 18f2480/2580/4480/4580 family
37925         * device/include/pic16/{pic18f2423.h, pic18f2523.h}: use 18f4523.h
37926         * device/include/pic16/pic18f2525.h: use 18f4620.h
37927         * device/include/pic16/pic18f6680.h: use 18f8680.h
37928         * device/include/pic16/pic18fregs.h,
37929           device/lib/pic16/pics.all,
37930           src/pic16/devices.inc: add new devices
37931         * device/lib/pic16/libdev/{pic18f2423.c, pic18f2523.c}: use 18f4523.c
37932         * device/lib/pic16/libdev/pic18f2525.c: use 18f4620.c
37933         * device/lib/pic16/libdev/pic18f6680.c: uso 18f8680.c
37934         * device/lib/pic16/libio/{adc.ignore, i2c.ignore, usart.ignore}:
37935           prevent attempting to build the libio for some new devices
37937 2008-04-29 Raphael Neider <rneider AT web.de>
37939         * debugger/mcs51/Makefile.in: fixed paths to sources
37941 2008-04-25 Borut Razem <borut.razem AT siol.net>
37943         * as/link/lklibr.c: moved from as/link/z80/lklibr.c
37944         * as/link/hc08/lklibr.c, as/link/mcs51/lklibr.c: deleted
37945         * as/link/hc08/Makefile.bcc, as/link/hc08/Makefile.in,
37946         * as/link/hc08/link_hc08.dsp, as/link/mcs51/Makefile.bcc,
37947           as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
37948           as/link/z80/Makefile.in, as/link/z80/linkgbz80.dsp,
37949           as/link/z80/linkz80.dsp: lklibr.c moved
37950         * doc/INSTALL.txt: binary archives in bz2 format
37951         * support/cpp/auto-host_vc_in.h: CPP2 replaced with CPP
37953 2008-04-23 Maarten Brock <sourceforge.brock AT dse.nl>
37955         * src/SDCCglue.c (printIvalType, printIvalBitFields): fixed bug 1856409
37956         * support/regression/tests/bug1856409.c: new, added
37958 2008-04-20 Maarten Brock <sourceforge.brock AT dse.nl>
37960         * src/z80/peep.c,
37961         * src/mcs51/peep.c: Use werror for error messages.
37962         * src/SDCCicode.c (geniCodeConditional),
37963         * src/SDCCsymt.c (structElemType): fixed bug 1839321
37964         * src/z80/Makefile.bcc,
37965         * src/z80/z80.dsp: added src/z80/peep.c/h
37966         * support/regression/tests/bug1839321.c: new, added
37968 2008-04-20 Raphael Neider <rneider AT web.de>
37970         * device/include/pic16/pic18f2455.h: added bitfields for port C
37972 2008-04-20 Philipp Klaus Krause <pkk AT spth.de>
37974         * src/z80/peep.c: Use werror for error messages.
37976 2008-04-19 Philipp Klaus Krause <pkk AT spth.de>
37978         * src/z80/peep.h (declaration of notUsed()),
37979         * src/z80/main.c (enabled notUsed() for z80 port, documented z80_port
37980           struct),
37981         * src/z80/z80.h (added dependency on peep.h),
37982         * src/z80/peep.c (definition of notUsed()): Implemented RFE #1880202
37983           for Z80.
37985 2008-04-19 Philipp Klaus Krause <pkk AT spth.de>
37987         * src/SDCCpeeph.c (added support for notUsed()),
37988         * src/mcs51/main.c (added dependency on peep.h, documented mcs51_port
37989           struct),
37990         * src/port.h (removed dependency on mcs51/peep.h, added declaration
37991           for notUsed()): Implemented generic (that is not port-specific) part
37992           of RFE #1880202.
37994 2008-04-17 Maarten Brock <sourceforge.brock AT dse.nl>
37996         * as/link/mcs51/lkmem.c (summary2): fixed bug 1796077
37997         * device/lib/libsdcc.lib,
37998         * device/lib/Makefile.in,
37999         * support/regression/ports/mcs51-xstack-auto/spec.mk,
38000         * device/lib/calloc.c: renamed to _calloc.c
38001         * device/lib/free.c: renamed to _free.c
38002         * device/lib/malloc.c: renamed to _malloc.c
38003         * device/lib/realloc.c: renamed to _realloc.c
38004         * src/ds390/gen.c (aopGet, aopPut, genPlusBits, genDataPointerSet,
38005           genNearPointerSet, genPagedPointerSet): synchronized with mcs51/gen.c
38006         * src/ds390/gen.c (popForBranch, genIfxJump, genCmp, genCmpEq, ifxForOp,
38007           genAnd, genOr, genXor, genIfx, gen390Code): fixed bug 1509084
38008         * src/mcs51/gen.c (popForBranch, genIfxJump, genCmp, genCmpEq,
38009           ifxForOp, genAnd, genOr, genXor, genNearPointerGet,
38010           genPagedPointerGet, genFarPointerGet, genCodePointerGet,
38011           genGenPointerGet, genIfx, gen51Code): fixed bug 1509084
38012         * src/ds390/gen.c,
38013         * src/mcs51/gen.c: throughout cosmetic changes for syncing both
38014         * src/SDCCsymt.h: updated IS_OP_RUONLY, IS_OP_ACCUSE
38015         * support/regression/tests/bug1509084.c: new, added
38017 2008-04-14 Maarten Brock <sourceforge.brock AT dse.nl>
38019         * device/include/mcs51/cc2510fx.h: added _XPAGE
38020         * device/include/mcs51/compiler.h: cosmetic changes
38022 2008-03-31 Maarten Brock <sourceforge.brock AT dse.nl>
38024         * sdcc.dsw: adapted for moved cpp2, added dependency for as_z80 on
38025           config
38027 2008-03-31 Borut Razem <borut.razem AT siol.net>
38029         * support/cpp2 renamed to support/cpp
38030         * support/cpp2/libiberty/filenames.h, support/cpp2/libiberty/hex.c,
38031           support/cpp2/libiberty/splay-tree.c,
38032           support/cpp2/libiberty/splay-tree.h, support/cpp2/libcpp/macro.c,
38033           support/cpp2/libcpp/directives.c,
38034           support/cpp2/libcpp/include/cpplib.h,
38035           support/cpp2/libcpp/include/symtab.h,
38036           support/cpp2/libcpp/include/line-map.h,
38037           support/cpp2/libcpp/line-map.c, support/cpp2/libcpp/files.c,
38038           support/cpp2/libcpp/init.c, support/cpp2/libcpp/traditional.c,
38039           support/cpp2/libcpp/expr.c, support/cpp2/libcpp/internal.h,
38040           support/cpp2/libcpp/lex.c, support/cpp2/libcpp/system.h,
38041           support/cpp2/libcpp/charset.c: SDCPP synchronized with GCC CPP
38042           release version 4.3.0
38043         * configure.in, configure, Makefile.in, Makefile.bcc:
38044           adapted for moved cpp2
38046 2008-03-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38048         * device/include/hc08/mc68hc908jkjl.h: committed fix for bug #1929739,
38049           thanks Alejandro Pustowka <alejo_pustowka AT yahoo.com.mx>
38051 2008-03-30 Maarten Brock <sourceforge.brock AT dse.nl>
38053         * src/SDCCloop.c (loopInvariants): applied fix for bug 1717943, thanks
38054           Robert Larice
38055         * support/regression/tests/bug1717943.c: new, added
38057 2008-03-30 Philipp Klaus Krause <pkk AT spth.de>
38059         * src/z80/gen.c (assignResultValue): Reverted reversal of order of
38060           bytewise return value assignments introduced in last commit.
38062 2008-03-30 Philipp Klaus Krause <pkk AT spth.de>
38064         * src/z80/gen.c (emitDebug, assignResultValue, genPlus, genMinus,
38065           genMult, genJumpTab):
38066           Use 16-bit instructions for addition in some additional cases,
38067           implemented RFEs #1914251, #1914245, #1922090, #1921382, #1918323.
38069 2008-03-30 Philipp Klaus Krause <pkk AT spth.de>
38071         * src/z80/ralloc.c (serialRegAssign, allocReg, tryAllocatingRegPair):
38072           Implemented RFE #1921450, changed some debug messages.
38074 2008-03-30 Borut Razem <borut.razem AT siol.net>
38076         * Small Device C Compiler 2.8.0 released
38077         * .version, doc/sdccman.lyx: changed sdcc version to 2.8.1
38078         * support/scripts/sdcc.nsi: added finish page; this version
38079           was used for 2.8.0 release
38080         * doc/knownbugs.html: removed; magically generated by the build
38081           process using gen_known_bugs.pl from now on
38083 2008-03-23 Borut Razem <borut.razem AT siol.net>
38085         * src/pic/gen.h: Q&D solution for the bug, found by Jim Paris
38086           and reverted it, since it was already fixed by Raphael ;-)
38087         * doc/knownbugs.html: updated for RC2
38089 2008-03-22 Raphael Neider <rneider AT web.de>
38091         * src/SDCCicode.c (getPtrType): avoid unnecessary extra assignments
38092           for PIC16 targets
38094 2008-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
38096         * src/mcs51/gen.c (adjustArithmeticResult): fixed bug 1839299
38097         * support/regression/tests/bug1839277.c: added related testBug1839299
38099 2008-03-21 Maarten Brock <sourceforge.brock AT dse.nl>
38101         * src/ds390/gen.c (opIsGptr, adjustArithmeticResult, genAddrOf, genAssign),
38102         * src/mcs51/gen.c (opIsGptr, adjustArithmeticResult, genAddrOf, genAssign):
38103           fixed bug 1839277
38104         * src/mcs51/gen.c: throughout only output hex constants
38105         * src/SDCCicode.c (getPtrType, geniCodeCast): fixed code size regression
38106         * support/regression/tests/bug1839277.c: new, added
38108 2008-03-21 Philipp Klaus Krause <pkk AT spth.de>
38110         * src/z80/ralloc.c (callFuncByName): Used // instead of /**/ to fix
38111           compilation warning about nested comments.
38113 2008-03-20 Maarten Brock <sourceforge.brock AT dse.nl>
38115         * src/SDCCsymt.c (comparePtrType): fixed bug 1921073
38116         * support/regression/tests/bug1921073.c: new, added
38118 2008-03-17 Philipp Klaus Krause <pkk AT spth.de>
38120         * src/z80/SDCCpeeph.c.c (callFuncByName):
38121           Commented function parameters.
38123 2008-03-17 Philipp Klaus Krause <pkk AT spth.de>
38125         * src/z80/ralloc.c (packRegsForAccUse2):
38126           disabled a broken accumulator packing optimization (fixed #1292721).
38127         * support/regression/tests/bug-1292721: Regression test for #1292721.
38129 2008-03-16 Raphael Neider <rneider AT web.de>
38131         * src/pic/gen.c (SetIrp,genNearPointerGet,genNearPointerSet):
38132           fixed code bloat regression using a variant of patch #1915618
38134 2008-03-16 Borut Razem <borut.razem AT siol.net>
38136         * support/scripts/sdcc.nsi: added section debugging macros, added SDCC
38137           icon, changed startup menu for release distribution, code cleaning,
38138           create url files instead links in startup menu
38140 2008-03-16 Maarten Brock <sourceforge.brock AT dse.nl>
38142         * src/SDCCcse.c (algebraicOpts): fixed bug 1579949
38143         * support/regression/tests/bug1579949.c: new, added
38145 2008-03-14 Paul Stoffregen <paul AT pjrc.com>
38147         * device/lib/printf_fast.c: fixed bug 1255403
38149 2008-03-14 Maarten Brock <sourceforge.brock AT dse.nl>
38151         * doc/sdccman.lyx: enhanced paragraph about bankswitching for mcs51
38152         * src/cdbFile.c (cdbWriteBasicSymbol): fixed bug 1909409 for locals
38154 2008-03-14 Borut Razem <borut.razem AT siol.net>
38156         * as/doc/asmlnk.doc, as/doc/asxhtm.html: updated link-xx and aslink
38157           command line options
38158         * as/link/hc08/lkmain.c: converted tabs to spaces so that the usage
38159           is correctly displayed
38160         * as/link/z80/lkmain.c: usage line commented out
38162 2008-03-13 Borut Razem <borut.razem AT siol.net>
38164         * doc/sdccman.lyx: corrected to be able to convert to PDF,
38165           updated the list pf supported pic14 devices
38167 2008-03-12 Maarten Brock <sourceforge.brock AT dse.nl>
38169         * doc/sdccman.lyx: added paragraph about bankswitching for mcs51
38171 2008-03-12 Borut Razem <borut.razem AT siol.net>
38173         * as/doc/asmlnk.doc, as/doc/asxhtm.html: updated command line options,
38174           fixed documentation request #1718191
38175         * as/hc80/asmain.c, as/mcs51/asmain.c: added option -c to usage
38176         * doc/sdccman.lyx: added description of --no-std-crt0 gbz80
38177           command line option
38179 2008-03-10 Maarten Brock <sourceforge.brock AT dse.nl>
38181         * src/SDCCast.c (isConformingBody): fixed bug 1505811, thanks Robert Larice
38182         * support/regression/tests/bug1505811.c: new, added
38184 2008-03-09 Raphael Neider <rneider AT web.de>
38186         * device/include/pic16/pic18f2620.h,
38187         * device/include/pic16/pic18f4620.h,
38188         * device/lib/pic16/libdev/pic18f2620.c,
38189         * device/lib/pic16/libdev/pic18f4525.c,
38190         * device/lib/pic16/libdev/pic18f4620.c: merged 18f2525/2620/4525/4620
38191           family to consistently use pic18f4620.[ch], fixes #1832562
38193 2008-03-09 Borut Razem <borut.razem AT siol.net>
38195         * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
38196           changed sdcc version to 2.8.0
38197         * knownbugs.html: regenerated
38198         * support/scripts/gen_known_bugs.pl: added number of open bugs
38200 2008-03-09 Raphael Neider <rneider AT web.de>
38202         * src/pic16/gen.c (pic16_mov2w_volatile): NEW, read volatile operands,
38203           (genOr): read volatile operand even if the result is known,
38204           closes #1511838
38205           (genOr,genXor): removed unused legacy code,
38206           (genDummyRead): use pic16_mov2w_volatile()
38208 2008-03-08 Borut Razem <borut.razem AT siol.net>
38210         * src/SDCCglue.c: fixed bug #1864582: multiple definition of char
38211           cons w. --model-large
38212         * support/regression/staticinit.c: added regression test for bug
38213           #1864582
38215 2008-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
38217         * src/ds390/gen.c (pushSide, genPcall),
38218         * src/hc08/gen.c (pushSide, genPcall): synchronized with mcs51
38219         * src/mcs51/gen.c: cosmetic changes
38220         * support/regression/fwk/include/testfwk.h: added macro reentrant
38221         * support/regression/tests/bug1908493.c: new, added
38223 2008-03-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
38225         * src/SDCCdebug.c:, as/link/lkaomf51.c: Fixed bug 1909409: Pdata in OMF file
38227 2008-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
38229         * src/mcs51/gen.c (pushSide, genPcall): fixed bug 1908493
38230         * src/SDCCmain.c (preProcess): removed -DSDCC_PARMS_IN_BANK1 because it is
38231           already set in ds390/main.c and mcs51/main.c
38233 2008-03-07 Raphael Neider <rneider AT web.de>
38235         * src/regression/init0.c: new test for initialized arrays of function
38236           pointers
38237         * src/regression/Makefile: made a bit more flexible, added init0.c
38238         * src/pic/glue.c (emitIvals): hacky fix for initializing from function
38239           pointers, closes #1427663
38241 2008-03-05 Borut Razem <borut.razem AT siol.net>
38243         * dos/sdccman.lyx: docummented predefined macros SDCC_REVISION,
38244           SDCC_PARMS_IN_BANK1, SDCC_FLOAT_REENT and SDCC_INT_LONG_REENT
38246 2008-03-05 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
38248         * support/librarian/sdcclib.c:Added feature request 1908061:
38249           Synchronise sdcclib commands with ar.
38251 2008-03-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38253         * src/SDCCmain.c: added predefined macros SDCC_REVISION (RFE #1907229),
38254           and (depending on corresponding compiler option) SDCC_PARMS_IN_BANK1,
38255           SDCC_FLOAT_REENT, SDCC_INT_LONG_REENT
38256         * device/include/mcs51/compiler.h: removed umlauts, added double
38257           underscore
38259 2008-03-04 Maarten Brock <sourceforge.brock AT dse.nl>
38261         * src/SDCCptropt.c (ptrPseudoSymConvert): fixed bug 1536762
38262         * support/regression/tests/bug1536762.c: new, added
38263         * src/SDCCutil.c,
38264         * src/SDCCutil.h: added getBuildDate()
38265         * src/SDCCmain.c (printVersionInfo),
38266         * src/SDCCglue.c (initialComments): use getBuildDate() instead of
38267           __DATE__
38268         * src/*/ralloc.c: removed IS_OP_RUONLY macro
38269         * src/ds390/ralloc.c (packRegisters),
38270         * src/mcs51/ralloc.c (packRegisters),
38271         * src/z80/ralloc.c (packRegisters): applied fix for bug 1618050, thanks
38272           Robert Larice
38273         * support/regression/tests/bug1618050.c: new, added
38274         * src/SDCCsymt.h: fixed typo in DECLSPEC2TXT
38275         * support/regression/fwk/include/testfwk.h,
38276         * support/regression/tests/bug1838000.c: moved _AUTOMEM and _STATMEM to
38277           testfwk.h
38279 2008-03-04 Raphael Neider <rneider AT web.de>
38281         * src/pic/gen.c: removed unused prototypes, prevent internal errors
38282           on accessing OP_SYM_TYPE(op)
38283         * src/pic/gen.h: removed unused prototype of genMinusDec()
38284         * src/pic/genarith.c (genMinus): cosmetic changes, rewritten to
38285           fix #1876953 (invalid subtraction code), removed unused code
38287 2008-03-03 Raphael Neider <rneider AT web.de>
38289         * src/pic/gen.c,
38290         * src/pic/gen.h,
38291         * src/pic/genarith.c,
38292         * src/pic/ralloc.c,
38293         * src/pic/ralloc.h: removed AOP_R0, AOP_R1, AOP_DPTR, AOP_DPTR2,
38294           AOP_ACC, and *_IDX and adjusted code, removed unused legacy code
38296 2008-03-03 Raphael Neider <rneider AT web.de>
38298         * src/pic/device.c (find_device): search user-specified paths first
38299           for pic14devices.txt, fixes #1900827
38301 2008-03-02 Borut Razem <borut.razem AT siol.net>
38303         * support/scripts/sdcc.nsi: fixed bug in IsNT, LogicLib-isation of
38304           AddToPath and RemoveFromPath
38306 2008-03-01 Borut Razem <borut.razem AT siol.net>
38308         * support/scripts/sdcc.nsi: reverted MULTIUSER page since it didn't
38309           work correctly, added debugging support if -DSDCC.DEBUG command line
38310           option is defined
38312 2008-02-28 Borut Razem <borut.razem AT siol.net>
38314         * doc/sdccman.lyx: cosmetic changes
38316 2008-02-28 Maarten Brock <sourceforge.brock AT dse.nl>
38318         * src/mcs51/ralloc.c (fillGaps): fixed bug 1839671
38319         * doc/sdccman.lyx: fixed unmeant removal of spaces
38321 2008-02-27 Borut Razem <borut.razem AT siol.net>
38323         * support/scripts/sdcc.nsi: corrected installation directory for
38324           current user installation mode
38325         * doc/README.txt: added Philipp Klaus Krause to the developers list
38327 2008-02-27 Maarten Brock <sourceforge.brock AT dse.nl>
38329         * src/mcs51/gen.c (genUnpackBits): don't generate ifxJump, instead
38330           return ifx condition
38331           (genNearPointerGet, genPagedPointerGet, genFarPointerGet,
38332           genCodePointerGet, genGenPointerGet): cleanup aop before generating
38333             ifxJump to fix bug 1838000
38334         * src/SDCCsymt.c (aggregateToPointer): fix problem for xstack
38335         * support/regression/tests/bug1838000.c: new, added
38336         * device/include/mcs51/cc1110.h: new, added, thanks to Pravin Angolkar
38338 2008-02-26 Borut Razem <borut.razem AT siol.net>
38340         * src/SDCCast.c, doc/sdccman.lyx: fixed RFE #1901171: integer promotion
38341           of casted varargs
38342         * support/scripts/sdcc.nsi: added MULTIUSER page,
38343           NSIS upgraded to version 2.35
38345 2008-02-25 Maarten Brock <sourceforge.brock AT dse.nl>
38347         * src/mcs51/ralloc.c (isSpiltOnStack): fixed bug 1565152
38348         * support/regression/tests/bug1565152.c: new, added
38350 2008-02-25 Maarten Brock <sourceforge.brock AT dse.nl>
38352         * src/mcs51/gen.c (genPagedPointerSet): fixed bug 1670148
38353         * support/regression/ports/mcs51-xstack-auto/spec.mk: added expf.c
38354         * support/regression/tests/bug1670148.c: new, added
38356 2008-02-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
38358         * device/include/mcs51/at89c51ed2.h: fixed bug 1901469.
38360 2008-02-24 Borut Razem <borut.razem AT siol.net>
38362         * src/SDCCast.c, src/SDCCast.h: fixed bug #1874922: explicit typecast
38363           is ineffective for unsigned char parameter
38365 2008-02-24 Maarten Brock <sourceforge.brock AT dse.nl>
38367         * src/SDCCast.c (expandInlineFuncs): fixed bug 1875869
38368         * src/SDCCglue.c (printIvalBitFields): fixed bug 1806631
38369         * support/regression/tests/bitopcse.c: removed hc08 exception, see testfwk.h
38370         * support/Util/MySystem.c (my_system): output errorcode when verbose
38372 2008-02-22 Philipp Klaus Krause <pkk AT spth.de>
38374         * src/z80/gen.c (genMult): Rewrote 8-bit multiplication by constant,
38375           implements #1898231
38377 2008-02-22 Philipp Klaus Krause <pkk AT spth.de>
38379         * device/lib/z80/mul.s: Rewrote __muluchar_rrx_s, to improve 8-bit mult.,
38380           implements #1896290
38382 2008-02-22 Maarten Brock <sourceforge.brock AT dse.nl>
38384         * src/SDCCast.c (createIvalStruct): fixed bug 1466761
38386 2008-02-21 Borut Razem <borut.razem AT siol.net>
38388         * support/regression/Makefile.in,
38389           support/regression/ports/ds390/spec.mk,
38390           support/regression/ports/hc08/spec.mk,
38391           support/regression/ports/mcs51-common/spec.mk,
38392           support/regression/ports/pic14/spec.mk,
38393           support/regression/ports/pic16/spec.mk,
38394           support/regression/ports/ucz80/spec.mk,
38395           support/regression/ports/xa51/spec.mk:
38396           added CFLAGS when compiling timeout
38398 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38400         * support/regression/tests/bugs-1596270-1736867.c: Regression test for
38401           #1596270, #1736867
38403 2008-02-20 Maarten Brock <sourceforge.brock AT dse.nl>
38405         * src/SDCClrange.c (findPrevUse): fixed bug 1888147
38406         * support/regression/tests/bug1888147.c: new, added
38408 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38410         * src/z80/gen.c: fixed bugs #1596270, #1736867
38412 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38414         * src/z80/gen.c: fixed bug in register pair loading when swapping register
38415           contents, mostly fixes #1596270
38417 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38419         * src/z80/peeph.def,
38420         * src/z80/peeph-z80.def: moved peephole that breaks gbz80 to z80-specific
38421           peepholes, fixes #1806565
38423 2008-02-20 Maarten Brock <sourceforge.brock AT dse.nl>
38425         * src/SDCCpeeph.c (operandBaseName): added check for @Ri
38426         * src/mcs51/peeph.def (rule 177.c): added operandsNotRelated(%1 %3)
38427           fixes bug 1739475, thanks Robert Larice
38428           (rule 271): new, added
38430 2008-02-18 Borut Razem <borut.razem AT siol.net>
38432         * sim/ucsim/s51.src/Makefile.in: fixed error made in previous commit
38434 2008-02-17 Maarten Brock <sourceforge.brock AT dse.nl>
38436         * src/SDCCmain.c (linkEdit): emit -z when using --debug for z80
38438 2008-02-17 Raphael Neider <rneider AT web.de>
38440         * src/pic16/genarith.c,
38441         * src/pic16/gen.c,
38442         * src/pic16/gen.h,
38443         * src/pic16/genutils.c: removed unused legacy code,
38444           removed unused fields from struct asmop and struct _G
38446 2008-02-17 Raphael Neider <rneider AT web.de>
38448         * src/pic16/gen.c (AccRsh): cosmetic changes,
38449           (shiftR1Left2ResultSigned,shiftR1Left2Result,shiftL1Left2Result,
38450           genRightShiftLiteral): fixed to work with SFRs as result by
38451           assigning only once to result,
38452           removed a lot of unused/excluded code fragments
38454 2008-02-17 Raphael Neider <rneider AT web.de>
38456         * device/include/pic/pic16f88.h,
38457         * device/include/pic/pic16f886.h,
38458         * device/include/pic/pic16f887.h: added TRISA6 and TRISA7
38460 2008-02-17 Borut Razem <borut.razem AT siol.net>
38462         * src/z80/peeph.def: applied patch
38463           #1893626: Optimize tail calls on Z80, thanks to Philipp Krause
38464         * src/z80/gen.c, src/z80/peeph.def: applied patch
38465           #1893510: Improve logical left shift on Z80, thanks to Philipp Krause
38466         * sim/ucsim/avr.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
38467           sim/ucsim/s51.src/Makefile.in, sim/ucsim/sim.src/Makefile.in,
38468           sim/ucsim/xa.src/Makefile.in, sim/ucsim/z80.src/Makefile.in,
38469           sim/ucsim/main_in.mk: renamed libutil.a to libucsimutil.a in order to
38470           enable compilation on Mac OS X 10.5 (Leopard) and XCode v3.0
38472 2008-02-16 Maarten Brock <sourceforge.brock AT dse.nl>
38474         * as/link/mcs51/aslink.dsp: removed SDK define
38475         * as/link/z80/clean.mk: brought in sync with other ports
38476         * as/link/z80/lklibr.c (SdccLib, fndsym): handle the dflag here too
38477         * as/hc08/Makefile.bcc,
38478         * as/mcs51/Makefile.bcc,
38479         * as/z80/Makefile.bcc: noice.c was moved to as/asxxsrc/
38480         * src/z80/main.c (_setValues): use the now capitalized -Z,
38481           (z80_port, gbz80_port): generate debug information when asked
38483 2008-02-16 Borut Razem <borut.razem AT siol.net>
38485         * as/z80/asmain.c, as/z80/asm.h, as/z80/asdata.c,
38486           as/link/z80/lkmain.c, as/z80/as_gbz80.dsp, as/z80/as_z80.dsp,
38487           as/z80/Makefile.in. as/z80/Makefile.bcc:
38488           applied patch #1893393: patch for as-z80 and link-z80 to generate
38489           cdb, thanks to Armin Diehl
38490         * as/*/asnoice.c, as/hc08/as_hc08.dsp, as/hc08/Makefile.in,
38491           as/mcs51/asx8051.dsp, as/mcs51/Makefile.in:
38492           asnoice.c moved to as/asxxsrc/asnoice.c
38493         * src/z80/peeph-gbz80.def: applied patch
38494           #1880235: Z80 return peephole, thanks to Philipp Krause
38496 2008-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
38498         * .version,
38499         * doc/sdccman.lyx: bumped version to 2.7.5
38500         * src/SDCCsymt.c (compareType, comparePtrType): fixed bug 1281583
38502 2008-02-13 Maarten Brock <sourceforge.brock AT dse.nl>
38504         * device/include/pic16/stdlib.h,
38505         * device/lib/pic16/libc/stdlib/ltoa.c,
38506         * device/lib/pic16/libc/stdio/vfprintf.c: ascii strings are char*
38508 2008-02-13 Borut Razem <borut.razem AT siol.net>
38510         * src/SDCCmain.c, src/SDCCglue.c: fixed --c1mode
38511         * src/pic16/glue.c, src/SDCCast.c, src/SDCCast.h, src/SDCCBBlock.c,
38512           src/SDCCcse.c, src/SDCCglue.c, src/SDCCicode.c, src/SDCCloop.c,
38513           src/SDCCopt.c,  src/SDCCval.c:
38514           fixed bug #1890273: SDCC Warning 154 shows wrong filename
38516 2008-02-12 Maarten Brock <sourceforge.brock AT dse.nl>
38518         * src/SDCCsymt.c (compareType): fixed bug 1309013
38520 2008-02-09 Borut Razem <borut.razem AT siol.net>
38522         * src/SDCCval.c, src/SDCCval.h:
38523           code cleaning, added function constChrVal()
38524         * src/SDCCglue.c, src/pic/glue.c, src/pic16/glue.c, src/SDCCast.c, src/SDCC.y:
38525           call constChrVal() instead constVal()
38527 2008-02-01 Maarten Brock <sourceforge.brock AT dse.nl>
38529         * src/SDCCast.c (resolveSymbols): added reentrancy check for parameters
38530           of function pointer
38531         * src/SDCCerr.h,
38532         * src/SDCCerr.c: changed warning W_NONRENT_ARGS to error E_NONRENT_ARGS
38533         * support/regression/tests/absolute.c: added TestStruct TestVar (see also
38534           bug 1859853)
38536 2008-02-01 Raphael Neider <rneider AT web.de>
38538         * device/include/pic/pic16f886.h,
38539         * device/include/pic/pic16f887.h: added RA6 and RA7
38541 2008-01-24 Raphael Neider <rneider AT web.de>
38543         * device/include/pic/pic16f88.h: added RA6 and RA7
38544         * device/lib/pic/libdev/disabled_pic16f886.c,
38545         * device/lib/pic/libdev/disabled_pic16f887.c: renamed and enabled
38547         * src/pic16/devices.inc,
38548         * device/include/pic16/pic18f2423.h,
38549         * device/include/pic16/pic18f2523.h,
38550         * device/include/pic16/pic18fregs.h,
38551         * device/lib/pic16/pics.all
38552         * device/lib/pic16/libdev/pic18f2423.c,
38553         * device/lib/pic16/libdev/pic18f2523.c: added 18f2423 and 18f2523
38554         * device/lib/pic16/libio/i2c.ignore,
38555         * device/lib/pic16/libio/usart.ignore,
38556         * device/lib/pic16/libio/adc.ignore: ignore new devices
38558 2008-01-23 Maarten Brock <sourceforge.brock AT dse.nl>
38560         * src/SDCCast.c (createRMW): fixed bug 1582651
38562 2008-01-20 Borut Razem <borut.razem AT siol.net>
38564         * src/SDCCcse.c: partially fixed enhancement request
38565           #1793872 - multiply by -1 not collapsed
38566         * support/regression/tests/arithcsi.c: added regression test
38568 2008-01-19 Maarten Brock <sourceforge.brock AT dse.nl>
38570         * as/mcs51/asx8051.dsp: removed define SDK
38571         * as/mcs51/i51mch.c (machine): fixed bug 1865114
38572         * device/include/asm/ds390/features.h: fixed bug with ds390 & stack-auto
38573         * as/link/lklex.c,
38574         * as/link/mcs51/lkmain.c: used LKDIRSEP, LKDIRSEPSTR and LKOBJEXT,
38575           cosmetic changes, brought more in sync, changed old K&R to ANSI
38577 2008-01-13 Borut Razem <borut.razem AT siol.net>
38579         * support/scripts/sdcc.nsi: added Uninstall/reinstall page, ...
38580         * src/SDCCicode.c: fixed bug #1870216 - Error 122: dividing by zero
38582 2007-12-30 Borut Razem <borut.razem AT siol.net>
38584         * src/pic16/gen.c: fixed implementation of bitwise operations for
38585           pic16 target
38586         * support/regression/tests/bitwise.c: added test cases
38588 2007-12-29 Borut Razem <borut.razem AT siol.net>
38590         * src/SDCCasm.[ch]: renamed from asm[ch], use dbuf_getline(), ...
38591         * src/src.dsp, src/Makefile.bcc, src/Makefile.in, src/common.h,
38592           src/SDCCglue.c, src/xa51/main.c: asm.[ch] renamed to SDCCasm.[ch]
38593         * support/Util/dbuf_string.[ch]: added function dbuf_getline()
38594         * src/ds390/gen.c, src/hc08/gen.c, src/mcs51/gen.c, src/pic16/gen.c,
38595           src/pic/gen.c, src/z80/gen.c, src/xa51/gen.c, src/pic16/ralloc.c,
38596           src/pic16/pcode.[ch]: added const qualifier
38597         * as/hc08/Makefile.bcc, as/hc08/Makefile.in, as/hc08/as_hc08.dsp,
38598           as/mcs51/Makefile.bcc, as/mcs51/Makefile.in, as/mcs51/asx8051.dsp,
38599           as/z80/Makefile.bcc, as/z80/Makefile.in, as/z80/as_gbz80.dsp,
38600           as/z80/as_z80.dsp: added dbuf.[ch] and dbuf_string[ch] to project
38601         * as/asxxsrc/aslex.c: use dbuf_getline()
38602         * as/hc08/asdata.c, as/hc08/asexpr.c, as/hc08/asm.h, as/hc08/m08adr.c,
38603           as/mcs51/asdata.c, as/mcs51/asexpr.c, as/mcs51/asm.h,
38604           as/mcs51/i51adr.c, as/z80/asdata.c, as/z80/asexpr.c, as/z80/aslist.c,
38605           as/z80/asm.h, as/z80/z80adr.c:
38606           changed type of ib and ip to const char *
38608 2007-12-28 Borut Razem <borut.razem AT siol.net>
38610         * as/asxxsrc/aslex.c: moved from as/mcs51/aslex.c;
38611           introduced (readlin) - long lines are turuncated
38612         * as/hc08/as_hc08.dsp, as/mcs51/asx8051.dsp, as/z80/as_gbz80.dsp,
38613           as/z80/as_z80.dsp, as/hc08/Makefile.in, as/mcs51/Makefile.in,
38614           as/z80/Makefile.in: moved aslex.c to asxxsrc
38615         * as/hc08/aslex.c, as/z80/aslex.c: deleted
38616         * as/hc08/asmain.c, as/mcs51/asmain.c:
38617           added missing initialization of a_addr field
38618         * support/regression/tests/long_asm_line.c: added regtest for long
38619           assembler line
38621 2007-12-22 Borut Razem <borut.razem AT siol.net>
38623         * src/SDCC.lex: fixed bug #1852894: # character hangs the compiler
38625 2007-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
38627         * src/SDCCsymt.c (computeType): fixed bug, thanks Fan Weiguang
38629 2007-12-16 Borut Razem <borut.razem AT siol.net>
38631         * device/include/pic16/stdbool.h: removed, since already exists in
38632          device/include/; this also fixes bitopcse.c regression test for pic16
38633          target
38634         * support/regression/fwk/inclusw/testfwk.h: added macro ASSERT_FAILED
38635         * src/pic16/glue.c: fixed bug #1851855: generic static pointer
38636           dereference doesn't work; covered by regression test bug1399290
38638 2007-12-05 Borut Razem <borut.razem AT siol.net>
38640         * doc/sdccman.lyx: fixed bug #1844509 - Correction to Manual 4.6.9
38641           Adding new PIC16
38643 2007-12-01 Borut Razem <borut.razem AT siol.net>
38645         * sim/ucsim/cmd.src/cmdmem.cc, sim/ucsim/cmd.src/mem.cc:
38646           corrected handling of the highest_valid_address
38648 2007-11-17 Raphael Neider <rneider AT web.de>
38650         * src/pic/main.c (_asmCmd): include debug arguments (-g as $3)
38651         * src/pic/glue.c (picglue): emit .file if --debug is given
38653 2007-11-17 Raphael Neider <rneider AT web.de>
38655         * src/pic16/genarith.c (pic16_genPlus, pic16_genMinus): take special
38656         care when left or right operand resides in result, fixes #1830220
38658 2007-11-17 Borut Razem <borut.razem AT siol.net>
38660         * src/SDCCglue.c, src/pic16/glue.c: reverted fix for bug
38661           #983491 - "Merge duplicate strings function is ineffective"
38662         * support/regression/tests/bug-983491.c: regtest disabled
38663         * as/asxxsrc: created
38664           as/asxxsrc/assym.c, as/asxxsrc/strcmpi.c: moved
38665           as/hc08/assym.c, as/mcs51/assym.c, as/strcmpi.c,
38666           as/z80/assym.c, as/hc08/asstore.c, as/mcs51/asstore.c: deleted
38667           as/hc08/Makefile.bcc, as/hc08/Makefile.in, as/hc08/as_hc08.dsp,
38668           as/hc08/asm.h, as/link/hc08/Makefile.bcc, as/link/hc08/Makefile.in,
38669           as/link/hc08/link_hc08.dsp, as/link/mcs51/Makefile.bcc,
38670           as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
38671           as/link/z80/Makefile.in, as/link/z80/linkgbz80.dsp,
38672           as/link/z80/linkz80.dsp, as/mcs51/Makefile.bcc, as/mcs51/Makefile.in,
38673           as/mcs51/asm.h, as/mcs51/asx8051.dsp, as/z80/Makefile.bcc,
38674           as/z80/Makefile.in, as/z80/as_gbz80.dsp, as/z80/as_z80.dsp,
38675           as/z80/Makefile.as_hc08, as/mcs51/Makefile.asx8051: modified
38676           created as/asxxsrc directory, assym.c and strcpi.c moved into it
38678 2007-11-15 Maarten Brock <sourceforge.brock AT dse.nl>
38680         * device/include/stdarg.h: added and removed some casts
38681         * src/SDCCsymt.c (compareType): Fully check types between generic and
38682           non-generic pointers, also accept ptr-ptr to void-ptr assignments
38684 2007-11-13 Borut Razem <borut.razem AT siol.net>
38686         * support/regression/tests/bug-1817005.c:
38687           added regtest for bug #1817005 - as-z80 chokes on long labels
38689 2007-11-12 Borut Razem <borut.razem AT siol.net>
38691         * as/z80/asmain.c, as/z80/asm.h, as/z80/assym.c, as/z80/asdata.c,
38692           as/z80/asout.c, as/z80/aslist.c:
38693           fixed bug #1817005 - as-z80 chokes on long labels
38695 2007-11-11 Maarten Brock <sourceforge.brock AT dse.nl>
38697         * as/hc08/asmain.c,
38698         * as/z80/asmain.c: cosmetic changes
38699         * as/hc08/alloc.h,
38700         * as/mcs51/alloc.h,
38701         * as/z80/alloc.h: removed
38702         * as/hc08/assym.c,
38703         * as/mcs51/assym.c: replaced alloc.h with stdlib.h
38704         * as/link/aslink.h: added LKDIRSEP and, LKDIRSEPSTR
38705         * as/link/hc08/Makefile.in,
38706         * as/link/mcs51/Makefile.in,
38707         * as/link/z80/Makefile.in: added -DUNIX to CFLAGS
38708         * as/link/lklex.c,
38709         * as/link/mcs51/lkarea.c,
38710         * as/link/mcs51/lkmain.c: cosmetic changes
38711         * as/link/hc08/lklibr.c,
38712         * as/link/z80/lklibr.c,
38713         * as/link/mcs51/lklibr.c: used LKDIRSEP, LKDIRSEPSTR and LKOBJEXT,
38714           used cygwin_conv_to_full_posix_path,
38715           added warnings, cosmetic changes, brought more in sync
38716           changed old K&R into ANSI function declarations
38717         * as/link/z80/lklibr.c (loadAdb): added
38718         * as/link/z80/lkmain.c: removed -- option from usage text
38720 2007-11-03 Maarten Brock <sourceforge.brock AT dse.nl>
38722         * src/mcs51/gen.c (outBitC): optimized for no result
38724 2007-10-31 Borut Razem <borut.razem AT siol.net>
38726         * src/SDCCsymt.c: fixed (hopeful properly) bug
38727           #1805702 - order of extern matters
38728         * support/regression/tests/bug-1805702.c: enabled regtest for bug
38729           #1805702
38731 2007-10-29 Borut Razem <borut.razem AT siol.net>
38733         * src/SDCCsymt.c: reverted bad fixed of bug #1805702
38734           - order of extern matters
38735         * support/regression/tests/bug-1805702.c: disabled regtest for bug
38736           #1805702
38738 2007-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
38740         * src/ds390/peeph.def: replaced 24bitModeAndPortDS390 by
38741           24bitMode, portIsDS390
38742         * src/mcs51/gen.c (genOr): optimized for RFE 1750727
38743         * src/SDCCpeeph.c (flat24bitModeAndPortDS390): removed
38744           (notVolatileVariable): also check sloc names,
38745           (callFuncByName): moved ftab[] out of function and sorted it by use
38747 2007-10-28 Maarten Brock <sourceforge.brock AT dse.nl>
38749         * device/include/stdarg.h: fixed bug in va_start macro for --xstack
38750         * src/hc08/gen.c (aopForRemat): aop->aopu.aop_immd.from_cast_remat not set,
38751           aop->aopu.aop_immd.aop_immd2 not filled with (generic) pointer type
38752         * src/SDCCicode.c (geniCodeCast): fixed bug 880197
38753         * support/regression/tests/bug-880197.c: new, added
38755 2007-10-28 Borut Razem <borut.razem AT siol.net>
38757         * support/regression/Makefile.in,
38758           support/regression/ports/mcs51-large/spec.mk,
38759           support/regression/ports/mcs51-xstack-auto/spec.mk,
38760           support/regression/ports/mcs51-stack-auto/spec.mk,
38761           support/regression/ports/mcs51-medium/spec.mk,
38762           support/regression/ports/mcs51-common/spec.mk,
38763           support/regression/ports/mcs51-common/*,
38764           support/regression/ports/mcs51-small/*:
38765           mcs51 renamed to mcs51-common, created mcs51-small
38766         * src/SDCCsymt.c: fixed bug #1805702 - order of extern matters
38767         * support/regression/tests/bug-1805702.c: added regtest for bug
38768           #1805702
38770 2007-10-26 Maarten Brock <sourceforge.brock AT dse.nl>
38772         * src/mcs51/peeph.def: moved rules 257.x to 253.x and re-enabled 253.b,
38773           added new rules 265 - 270
38774         * support/regression/tests/bug1721024.c:new, added
38775         * support/regression/Makefile.in: renamed test-mcs51 to test-mcs51-small,
38776           introduced new test-mcs51 to run all mcs51 tests
38778 2007-10-25 Maarten Brock <sourceforge.brock AT dse.nl>
38780         * support/regression/tests/bug1816470.c: new, added
38782 2007-10-21 Maarten Brock <sourceforge.brock AT dse.nl>
38784         * src/SDCCast.c (resultTypePropagate): do propagate for LEFT_OP, do not
38785           propagate for *,+,- with float, fixed bug 1816470
38786           (decorateType): cast to resultTypeProp instead of resultType
38788 2007-10-19 Borut Razem <borut.razem AT siol.net>
38790         * src/pic16/glue.c: fixed bug #983491 - "Merge duplicate strings
38791           function is ineffective" for pic16 tareget
38792         * support/scripts/listerr.c: corrected include path
38793         * device/lib/_itoa.c: fixed bug #1806402 - _itoa and _uitoa leak to
38794           adjacent memory
38796 2007-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
38798         * support/regression/tests/using.c: new, added
38799         * support/regression/tests/vaargs.c: fixed and enabled test
38801 2007-10-18 Borut Razem <borut.razem AT siol.net>
38803         * src/SDCCglue.c: fixed bug #983491 - Merge duplicate strings function
38804           is ineffective
38805         * support/regression/tests/bug-983491.c: added regtest for bug #983491
38807 2007-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
38809         * doc/sdccman.lyx: documented option --Werror
38810         * src/SDCCsymt.c (checkFunction): fixed bug 1815418 by setting
38811           RegBankUsed[] earlier
38813 2007-10-14 Maarten Brock <sourceforge.brock AT dse.nl>
38815         * device/include/mcs51/p89lpc938.h: new, added, thanks Kyle Guinn
38816         * src/pic/glue.c,
38817         * src/SDCCval.c,
38818         * src/SDCCast.c,
38819         * src/SDCCast.h: replaced AST_LIT_VALUE with AST_FLOAT_VALUE and
38820           AST_ULONG_VALUE
38821         * src/SDCCast.c (decorateType): improved optimization of tri-op
38822         * src/SDCCerr.c (vwerror, setWError),
38823         * src/SDCCerr.h,
38824         * src/SDCCmain.c (parseCmdLine): added option --Werror to treat all
38825           warnings as errors, thanks Stas Sergeev for PATCH 1813211
38827 2007-10-13 Maarten Brock <sourceforge.brock AT dse.nl>
38829         * src/mcs51/gen.c (leftRightUseAcc): use macro IS_OP_ACCUSE
38830         * src/SDCCast.c (decorateType): optimize bit=cond?1:0, RFE 1738430
38831         * support/regression/tests/bug-223113.c,
38832         * support/regression/tests/bug-426632.c,
38833         * support/regression/tests/bug-468811.c,
38834         * support/regression/tests/bug-477835.c,
38835         * support/regression/tests/bug-478094.c,
38836         * support/regression/tests/bug-499644.c,
38837         * support/regression/tests/bug-524209.c,
38838         * support/regression/tests/bug-524211.c,
38839         * support/regression/tests/packcast.c,
38840         * support/regression/tests/structidx.c: added empty tests
38841         * support/regression/tests/bug-607243.c: enabled test
38843 2007-10-06 Borut Razem <borut.razem AT siol.net>
38845         * .version, doc/sdccman.lyx: bumped version to 2.7.4 to indicate the full
38846            support of universal binaries on Mac OS X
38848 2007-10-02 Borut Razem <borut.razem AT siol.net>
38850         * src/SDCCval.h: unified double2ul macro for all platforms
38851         * src/SDCCval.c: fixed bug #1777758 - applied Maarten's patch
38852         * support/regression/tests/bitwise.c: added regtest for bug #1777758
38854 2007-09-30 Borut Razem <borut.razem AT siol.net>
38856         * src/SDCCval.h: fixed bug #1739860 - sdcc does not work correctly on some
38857           platforms
38858         * sdcc_vc_in.h: enabled warnings
38859         * src/hc08/gen.c: fixed MSVC warning C4146: unary minus operator applied to
38860           unsigned type, result still unsigned
38861         * src/mcs51/peep.c: fixed gcc warning: suggest parentheses around && within ||
38863 2007-09-28 Raphael Neider <rneider AT web.de>
38865         * src/pic/device.c (find_device): prevent buffer underflow error
38866         * src/pic/pcoderegs.c (OptimizeRegUsage): avoid dereferencing
38867           the just destroyed list entry
38869 2007-09-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38871         * doc/sdccman.lyx: there's a dedicated wiki page for cmake and sdcc, thanks
38872           Alexander Neundorf
38874 2007-09-18 Borut Razem <borut.razem AT siol.net>
38876         * src/SDCCval.c: fixed MSVC warning C4146: unary minus operator
38877          applied to unsigned type, result still unsigned
38879 2007-09-17 Borut Razem <borut.razem AT siol.net>
38881         * src/SDCC.y, src/SDCCast.c, src/SDCCcse.c, src/SDCCglue.c,
38882           src/SDCCicode.c, src/SDCCopt.c, src/SDCCsymt.c, src/SDCCval.c,
38883           src/SDCCval.h, src/hc08/gen.c, src/avr/gen.c, src/ds390/gen.c,
38884           src/mcs51/gen.c, src/pic/gen.c, src/pic/genarith.c, src/pic/glue.c,
38885           src/pic/ralloc.c, src/pic16/gen.c, src/pic16/genarith.c,
38886           src/pic16/genutils.c, src/pic16/glue.c, src/pic16/main.c,
38887           src/z80/gen.c, src/z80/ralloc.c:
38888           fixed bug #1739860 - sdcc does not work correctly on some platforms
38889           (not finished)
38890           introduced and used ulFromVal(), double2ul(), used strtod() instead sscanf()
38892 2007-09-17 Raphael Neider <rneider AT web.de>
38894         * src/pic16/device.c: reverted to previous version
38895         * device/lib/pic16/Makefile.common.in: quieten gpasm via -Wa,-q
38897 2007-09-16 Raphael Neider <rneider AT web.de>
38899         * src/pic16/device.c (pic16_dump_usection): do not reserve 0 bytes,
38900           as this raises a ton of gpasm warnings, just emit a second label
38901         * src/pic16/devices.inc,
38902         * device/lib/pic16/pics.all,
38903         * device/lib/pic16/libdev/pic18f2585.c,
38904         * device/lib/pic16/libdev/pic18f2680.c,
38905         * device/lib/pic16/libdev/pic18f2682.c,
38906         * device/lib/pic16/libdev/pic18f2685.c,
38907         * device/lib/pic16/libdev/pic18f4585.c,
38908         * device/lib/pic16/libdev/pic18f4680.c,
38909         * device/lib/pic16/libdev/pic18f4682.c,
38910         * device/lib/pic16/libdev/pic18f4685.c,
38911         * device/include/pic16/pic18f2585.h,
38912         * device/include/pic16/pic18f2680.h,
38913         * device/include/pic16/pic18f2682.h,
38914         * device/include/pic16/pic18f2685.h,
38915         * device/include/pic16/pic18f4585.h,
38916         * device/include/pic16/pic18f4680.h,
38917         * device/include/pic16/pic18f4682.h,
38918         * device/include/pic16/pic18f4685.h,
38919         * device/include/pic16/pic18fregs.h: added 18f2585, 18f2680,
38920           18f2682, 18f2685, 18f4585, 18f4680, 18f4682, 18f4685,
38921           patch contributed by Anton Strobl, applied with changes
38923 2007-09-16 Raphael Neider <rneider AT web.de>
38925         * device/include/pic16/pic18f2431.h,
38926         * device/include/pic16/pic18f25j10.h,
38927         * device/include/pic16/pic18f4431.h,
38928         * device/include/pic16/pic18f45j10.h: adopted common include style
38929         * device/include/pic16/pic18f1320.h,
38930         * device/include/pic16/pic18f2320.h,
38931         * device/include/pic16/pic18f2525.h,
38932         * device/include/pic16/pic18f4320.h,
38933         * device/include/pic16/pic18f4525.h: NEW, just include proper .h file
38934         * device/include/pic16/pic18fregs.h: prepared for automatic include
38935           file selection by having DEVICE.h for every DEVICE
38936         * device/lib/pic16/libdev/pic18f2320.c,
38937         * device/lib/pic16/libdev/pic18f4320.c: just include proper .c file
38939         * device/lib/pic16/configure.in,
38940         * device/lib/pic16/configure: use rm -rf instead of rmdir
38941         * device/lib/pic16/Makefile.in: use RMDIR to remove build directories
38942         * device/lib/pic16/libc/stdlib/free.c: avoid warning on pointer cast
38944 2007-09-09 Borut Razem <borut.razem AT siol.net>
38946         * src/SDCCmain.c, src/SDCCutil.c: print newline after printVersionInfo(),
38947           distingush between i386 and ppc Mac OS X versions
38949 2007-09-05 Maarten Brock <sourceforge.brock AT dse.nl>
38951         * src/mcs51/gen.c (genReceive): fixed bug 1788177
38952         * support/regression/tests/bug1788177.c: new, added
38954 2007-09-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38956         * doc/sdccman.lyx: mentioned d52 and cmake, customizing startup code
38957         * device/include/mcs51/lint.h added keyword __naked
38959 2007-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
38961         * src/pic16/glue.c,
38962         * src/pic/glue.c,
38963         * src/SDCCmem.h: removed maxRegBank
38964         * src/SDCCmem.c (allocVariables): removed maxRegBank and moved setting
38965           RegBankUsed[] to checkFunction() in SDCCsymt.c to fix bug 1759839
38966         * src/SDCCsymt.c (checkFunction): set RegBankUsed[] here
38967         * src/mcs51/peep.c (isCallerSaveFunc, termScanAtFunc): changed function
38968           name and behaviour to handle banked functions
38969           (scan4op): and use it to fix bug 1786213
38971 2007-09-03 Raphael Neider <rneider AT web.de>
38973         * device/include/pic16/pic18f248.h,
38974         * device/include/pic16/pic18f258.h,
38975         * device/include/pic16/pic18f448.h,
38976         * device/lib/pic16/libdev/pic18f248.c,
38977         * device/lib/pic16/libdev/pic18f258.c,
38978         * device/lib/pic16/libdev/pic18f448.c: fixed TRISEbits,
38979           added T0CONbits, fixes #1786891
38981 2007-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
38983         * src/ds390/gen.c (genFarPointerSet),
38984         * src/hc08/ralloc.c (packRegisters),
38985         * src/mcs51/ralloc.c (packRegisters),
38986         * src/SDCCcse.c (cseBBlock): check if result is a symbol first to fix
38987           bug 1750318
38988         * src/SDCCicode.h: POINTER_SET can be true for literals too
38989         * support/regression/tests/bug1750318.c: new, added
38991 2007-08-23 Borut Razem <borut.razem AT siol.net>
38993         * debugger/mcs51/sdcdb.c: fixed compilation with older readline
38994           library versions without the completition functionality
38996 2007-08-22 Raphael Neider <rneider AT web.de>
38998         * device/include/pic16/pic18f1220.h,
38999         * device/lib/pic16/libdev/pic18f1220.c: applied patch #1776191
39001 2007-08-12 Borut Razem <borut.razem AT siol.net>
39003         * debugger/mcs51/Makefile.in: support/Util/SDCCerr.[ch] moved to src
39005 2007-08-11 Borut Razem <borut.razem AT siol.net>
39007         * support/Util/SDCCerr.c, support/Util/SDCCerr.h, src/src.dsp,
39008           src/Makefile.in, src/Makefile.bcc, support/scripts/listerr.c:
39009           support/Util/SDCCerr.[ch] moved to src
39010         * as/hc08/as_hc08.dsp, as/link/hc08/link_hc08.dsp,
39011           as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
39012           device/examples/ds390/tinitalk/tinitalk.dsp,
39013           device/examples/serialcomm/windows/serialcomm.dsp,
39014           support/librarian/librarian.dsp:
39015           removed linking of unused odbc32.lib and odbccp32.lib
39016         * support/scripts/winres.h:
39017           added for compilation with Visual C++ 2005 Express Edition
39019 2007-08-09 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39021         * device/include/mcs51/at89c51ed.h: Fixed typo in declarations of CKCON0
39022           and CKCON1.
39024 2007-08-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39026         * sdccconf_in.h: update the endian test so that SPARC Solaris
39027           does not throw syntax errors
39029 2007-08-06 Borut Razem <borut.razem AT siol.net>
39031         * doc/sdccman.lyx: removed two index entries which prevented the
39032           generation of sdcc doc archive
39034 2007-08-05 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39036         * doc/sdccman.lyx: Same changes made 2007-07-28 but using lyx 1.4.4
39037           instead of lyx 1.5.0.
39039 2007-07-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39041         * device/include/hc08/mc68hc908apxx.h: new header contributed by
39042           Lucas Loizaga, with minor modifications. Thanks!
39044 2007-07-28 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39046         * doc/sdccman.lyx: Documented --acall-ajmp and described new features
39047           in sdcclib.
39049 2007-07-28 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39051         * src/SDCCglobl.h, src/SDCCpeeph.c, src/SDCCglue.c, src/mcs51/main.c,
39052           src/mcs51/peeph.def: Added option --acall-ajmp: replaces lcall/ljmp
39053           with acall/ajmp.
39055 2007-07-22 Borut Razem <borut.razem AT siol.net>
39057         * configure.in, configure: re-introduced .version
39058         * sdcc.spec, doc/INSTALL.txt: they are used only for releases;
39059           the version reverted to 2.7.0
39061 2007-07-18 Maarten Brock <sourceforge.brock AT dse.nl>
39063         * configure.in,
39064         * doc/sdccman.lyx: bumped version to 2.7.3
39065         * device/include/mcs51/compiler.h: fixed elif->else
39066         * src/mcs51/gen.c (genAnd, genOr): handle accuse for pure bit operands
39067         * src/mcs51/ralloc.c (createStackSpil): fixed SCLS bug with sloc for sbit,
39068           (operandUsesAcc, packRegsForAccUse): added parameter allowBitspace to
39069            enable accuse for bit operands
39070         * src/SDCCmain.c (printVersionInfo),
39071         * src/SDCCutil.c (getBuildEnvironment): factored out creation of build
39072           environment descriptor
39073         * src/SDCCutil.h: added getBuildEnvironment
39074         * src/SDCCglue.c (initialComments): use getBuildEnvironment
39075         * support/regression/tests/bug1464657.c: enabled test test_Peephole251
39076         * support/regression/tests/bug-408972.c: enabled test leftShiftLong
39077         * support/regression/tests/bug1348008.c,
39078         * support/regression/tests/bug1496419.c,
39079         * support/regression/tests/bug1503067.c,
39080         * support/regression/tests/preproc.c: added empty tests
39082 2007-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
39084         * support/regression/tests/bug1678803.c: new, added
39086 2007-07-14 Maarten Brock <sourceforge.brock AT dse.nl>
39088         * as/link/aslink.h,
39089         * as/link/hc08/lkihx.c,
39090         * as/link/hc08/lkrloc.c,
39091         * as/link/mcs51/lkihx.c,
39092         * as/link/mcs51/lkrloc.c: renamed ihxEntendedLinearAddress to
39093           ihxExtendedLinearAddress
39094         * as/link/mcs51/lkrloc.c (relr),
39095         * as/mcs51/asout.c (outr11, outr19): handle absolute destination for
39096           acall/ajmp, see bug 830513
39098 2007-07-13 Maarten Brock <sourceforge.brock AT dse.nl>
39100         * src/SDCCcse.c (replaceAllSymBySym): renamed siaddr to isaddr,
39101           (cseBBlock): remember aggr2ptr has been used
39102         * src/SDCCicode.c (operandSize): added function to handle aggr2ptr,
39103           (geniCodeAssign): fixed bug 868103
39104         * src/SDCCicode.h: made operand.aggr2ptr 2 bits wide,
39105           added operandSize prototype
39106         * src/mcs51/gen.c (aopOp): use operandSize to fix bug 868103,
39107           (genDataPointerSet): use max of size of right and result,
39108           (gencjne): added parameter useCarry for optimization,
39109           (genCmpEq): use carry if appropriate,
39110           (genXor): check if operand already in carry
39111         * support/regression/tests/bug-868103.c: enabled test
39113 2007-07-12 Raphael Neider <rneider AT web.de>
39115         * src/pic16/gen.c (genNearPointerSet): fixed handling of literals
39117 2007-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
39119         * src/SDCCsymt.c (compareType): fixed bugs 1738367 and 1745717 with patch
39120           from Robert Larice, thanks
39121         * support/regression/tests/bitopcse.c,
39122         * support/regression/tests/bitvars.c,
39123         * support/regression/tests/bug-908454.c: use <stdbool.h> for the bit types
39124         * support/regression/tests/bug-927659.c: enabled test for z80
39125         * support/regression/tests/bug1738367.c: added extra tests by Frieder
39126         * support/regression/tests/bug1745717.c: new, added
39127         * support/regression/tests/literalop.c,
39128         * support/regression/tests/nullstring.c: removed storage definitions that
39129           are now in testfwk.h
39131 2007-07-10 Maarten Brock <sourceforge.brock AT dse.nl>
39133         * device/include/stdbool.h: do not define __bool_true_false_are_defined
39134           and bool for targets that do not fully support it.
39135         * support/regression/tests/bug1546986.c,
39136         * support/regression/tests/bug1723128.c,
39137         * support/regression/tests/bug1734654.c,
39138         * support/regression/tests/bug1738367.c,
39139         * support/regression/tests/constantRange.c: only use bool if allowed
39141 2007-07-09 Maarten Brock <sourceforge.brock AT dse.nl>
39143         * src/mcs51/peep.c (isCallerSaveFunc): fixed bug 1749275, thanks Robert
39144           Larice, also handle function pointers
39145         * support/regression/tests/bug1749275.c: new, added
39147 2007-07-03 Borut Razem <borut.razem AT siol.net>
39149         * src/mcs51/gen.c, src/avr/gen.c, src/pic/gen.c, src/z80/gen.c,
39150           src/pic16/gen.c, src/hc08/gen.c, src/ds390/gen.c: fixed RFE
39151           #1746528: SDCC should ignore ':' in inline assembler comments
39152         * device/include/typeof.h: fixed bug #1747142: typeof.h needs fixing
39154 2007-07-02 Maarten Brock <sourceforge.brock AT dse.nl>
39156         * device/include/mcs51/C8051F360.h: fixed bug #1746410, thanks Chris Jones
39157         * device/lib/mcs51/crtxclear.asm: do not set __XPAGE unconditionally
39159 2007-06-29 Borut Razem <borut.razem AT siol.net>
39161         * src/SDCCmain.c: fixed bug
39162           #1744746: SDCC #4867: broken option --xram-size
39164 2007-06-28 Borut Razem <borut.razem AT siol.net>
39166         * sim/ucsim/configure.in, sim/ucsim/configure, sim/ucsim/ddconfig_in.h:
39167           find out the endianess of host machine for ucsim
39169 2007-06-27 Borut Razem <borut.razem AT siol.net>
39171         * support/regression/generate-cases.py: corrected the file name
39172           in warning
39173         * configure.in, configure, sdccconf_in.h: find out the endianess of
39174           host machine
39175         * src/SDCC.y: fixed bug #1744146: Crash when compiling array of
39176           negative size
39178 2007-06-27 Gudjon I. Gudjonsson <gudjon AT gudjon.org>
39180         * device/include/mcs51/p89c66x.h: NXP header file, OK to change licence
39182 2007-06-26 Borut Razem <borut.razem AT siol.net>
39184         * support/regression/generate-cases.py: display warning if function
39185           list is empty; implemented more flexible rule for detection of
39186           testing functions, allowing return type 'void' in the same line as
39187           the function name in the function definition
39188         * support/regression/tests/bug-1654060.c: corrected test
39189         * support/librarian/sdcclib.c: fixed warning:
39190           format '%s' expects type 'char *', but argument 2 has type 'int'
39192 2007-06-25 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39194         * support/librarian/sdcclib.c: Added feature Requests [1510635]
39195           Multiple infiles for sdcclib.
39197 2007-06-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39199         * src/SDCCast.c (inlineFindMaxBlockno, createFunction): fixed
39200           bug 1731741
39202 2007-06-18 Borut Razem <borut.razem AT siol.net>
39204         * src/SDCCmain.c: removed option -C since SDCC compiler doesn't know
39205           how to handle comments, so they have to be removed by the
39206           preprocessor; fixed bug #1738926:SDCC #4852: broken option -V
39207         * src/SDCCmain.c, src/SDCCargs.h, src/ds390/main.c, src/mcs15/main.c,
39208           src/pic16/main.c, src/pic/main.c, src/z80/main.c,
39209           support/Util/SDCCerr.c, support/Util/SDCCerr.h:
39210           table driven option hadling
39212 2007-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
39214         * src/SDCCast.c (decorateType),
39215         * src/SDCCicode.c (geniCodeConditional): moved optimization for '?' from
39216           iCode to ast level to fix bug 1738367
39217         * support/regression/tests/bug1738367.c: new, added
39219 2007-06-15 Raphael Neider <rneider AT web.de>
39221         * src/pic16/devices.inc,
39222         * device/lib/pic16/pics.all,
39223         * device/include/pic16/pic18fregs.h,
39224         * device/include/pic16/pic18f[24][45]20.h,
39225         * device/lib/pic16/libdev/pic18f[24][45]20.c: added support for
39226           18f2420, 18f2520, and 18f4420 devices, updated 18f4520 definitions
39227         * device/lib/pic16/Makefile.in: faster cleanup
39229 2007-06-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39231         * src/mcs51/peeph.def: added 177.i (mov from a is slightly cheaper)
39233 2007-06-13 Raphael Neider <rneider AT web.de>
39235         * src/SDCCmain.c: prevent NULL pointer dereference, avoid warning
39237 2007-06-12 Raphael Neider <rneider AT web.de>
39239         * support/scripts/inc2h.pl: conditionally emit defines for SFR bits,
39240           suppress bit defines if NO_BIT_DEFINES is #define'd
39241         * device/include/pic/pic*.h: recreated all headers to include
39242           conditional bit defines
39243         * device/include/pic/pic16f886.h,
39244         * device/include/pic/pic16f887.h: fixed based on newer .inc file
39245         * device/include/pic/recreate.sh: script to recreate the complete
39246           device library files based on the currently supported devices
39248 2007-06-12 Borut Razem <borut.razem AT siol.net>
39250         * src/pic16/main.c, src/SDCCargs.h, SDCCmain.c,
39251           support/regression/Makefile.in, support/scripts/build.mak,
39252           support/scripts/Makefile.snapshot:
39253           use new svn URL scheme
39254         * doc/sdccman.lyx: SDCC Wiki moved to
39255           http://sdcc.wiki.sourceforge.net/
39257 2007-06-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39259         * src/mcs51/peeph.def: disabled rule 132.d to fix #1734654
39260         * support/regression/tests/bug1734654.c: added
39262 2007-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
39264         * src/SDCCast.c (decorateType): optimized '?' for equal operands
39265         * src/SDCCicode.c (geniCodeConditional): optimization for bit result
39266           with literal operands
39268 2007-06-10 Borut Razem <borut.razem AT siol.net>
39270         * as/link/z80/lklibr.c: fixed mingw build warning
39271           lklibr.c:575: warning: implicit declaration of function 'tolower'
39272         * src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c,
39273           src/z80/main.c: move target specific options from src/SDCCmain.c
39274           to src/<target>/main.c
39276 2007-06-09 Borut Razem <borut.razem AT siol.net>
39278         * src/z80/gen.c: fixed bug #1294691: nested ifs make compiler crash;
39279           removed unused swap_sense; removed outBitCLong, replaced with outBitC
39280         * support/regression/tests/bug-1294691.c: added
39282 2007-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
39284         * src/SDCCmem.c (allocDefault): removed check sym->level==0 for SPEC_ABSA,
39285           can also be static, fixes bug 1733438
39286         * src/SDCCsymt.c (checkSClass): static local vars in reentrant funcs can
39287           have absolute address too
39288           (computeType): added optimization for 'cond ? true : false'
39289         * support/regression/tests/absolute.c: added test for static absolute var
39291 2007-06-08 Raphael Neider <rneider AT web.de>
39293         * src/regression/Makefile: suppress parallel builds, allow easy
39294           switching between pic14/pic16 ports
39295         * src/regression/picregs.h: added pic14/16 header file switch
39296         * src/regression/{compare7.c,compare8.c,compare9.c,compare10.c,
39297           inline.c,nestfor.c,string1.c}: include "picregs.h"
39299 2007-06-07 Borut Razem <borut.razem AT siol.net>
39301         * sim/ucsim/*.[ch], sim/ucsim/configure, sim/ucsim/configure.in:
39302           permanent solution to suppress GCC 4.2.0 c++ warning:
39303           deprecated conversion from string constant to `char *'
39304           use 'const char *' where ever required
39305         * support/regression/generate-cases.py: implemented more flexible rule
39306           for detection of testing functions, allowing white-spaces surrounding
39307           the function name and the 'void' parameter.
39308         * support/regression/tests/constantRange.c,
39309           support/regression/tests/scott-compare3.c: fixed failing regression
39310           tests, uncovered by implementation of more flexible rule for detection
39311           of testing functions
39313 2007-06-04 Maarten Brock <sourceforge.brock AT dse.nl>
39315         * src/SDCCast.c(decorateType): better optimize '!!' and comparisons
39317 2007-06-04 Borut Razem <borut.razem AT siol.net>
39319         * configure.in, configure, config_vc.awk: sdcc version number is now
39320           stored in configure.in; removed .version
39321         * configure.in, configure, sdcc.spec, doc/sdccman.lyx, doc/sdccman.lyx,
39322           doc/INSTALL.txt: version bumped to 2.7.2
39323         * sim/ucsim/configure.in, sim/ucsim/configure:
39324           use "read" to read from .version
39326 2007-06-03 Borut Razem <borut.razem AT siol.net>
39328         * */Makefile.in: removed annoying warning:
39329           Makefile:xx: Makefile.dep: No such file or directory
39331 2007-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
39333         * src/mcs51/gen.c (outBitC, genRet): used IS_OP_RUONLY,
39334           (genNot, genXor): used toCarry, also fixes a bug for c = bit ^ val
39335         * src/mcs51/ralloc.c: removed IS_OP_RUONLY + some cosmetic changes
39336         * src/SDCCast.c (resultTypePropagate): propagate for '!',
39337           (decorateType): also optimize comparisons with RESULT_TYPE_BIT,
39338           bugfix: only use newBoolLink for bit result type
39339         * src/SDCCicode.c (geniCodeLogic): added param tree,
39340           bugfix: use newBoolLink if tree is bit type, bug appears when ruonly,
39341           (geniCodeLogicAndOr): use IS_BIT,
39342           (geniCodeJumpTable, geniCodeSwitch): added NULL param to geniCodeLogic,
39343           (ast2iCode): added tree param to geniCodeLogic for comparisons
39344         * src/SDCCsymt.h: added IS_OP_RUONLY and IS_OP_ACCUSE
39345         * support/regression/tests/bug1723128.c: added test NotZero
39347 2007-06-01 Borut Razem <borut.razem AT siol.net>
39349         * SDCPP synchronized with GCC CPP release version 4.2.0,
39350           currently the latest release:
39351         * support/cpp2/c-incpath.c, support/cpp2/c-incpath.h,
39352           support/cpp2/c-ppoutput.c, support/cpp2/cppdefault.c,
39353           support/cpp2/cppdefault.h, support/cpp2/except.h,
39354           support/cpp2/libcpp/directives.c, support/cpp2/libcpp/expr.c,
39355           support/cpp2/libcpp/files.c, support/cpp2/libcpp/include/cpplib.h,
39356           support/cpp2/libcpp/init.c, support/cpp2/libcpp/internal.h,
39357           support/cpp2/libcpp/lex.c, support/cpp2/libcpp/macro.c,
39358           support/cpp2/libcpp/mkdeps.c, support/cpp2/libiberty/getpwd.c,
39359           support/cpp2/libiberty/hashtab.c, support/cpp2/optc-gen.awk,
39360           support/cpp2/opth-gen.awk, support/cpp2/opts.c,
39361           support/cpp2/opts.h, support/cpp2/output.h,
39362           support/cpp2/prefix.c, support/cpp2/sdcpp-opts.c,
39363           support/cpp2/sdcpp.dsp, support/cpp2/sdcpp.opt,
39364           support/cpp2/system.h, support/cpp2/version.c,
39365           support/cpp2/Makefile.in: modified
39366         * support/cpp2/opts-common.c: added
39367         * device/lib/pic16/libdev/pic18f[24][45]j10.c: fixed svn atrributes
39368         * device/lib/pic16/libdev/pic18f[24]5j10.c:
39369           search for included source file in local directory
39370         * sim/ucsim/configure, sim/ucsim/configure.in:
39371           temporary solution to suppress GCC 4.2.0 c++ warning:
39372           deprecated conversion from string constant to `char *'
39374 2007-06-01 Raphael Neider <rneider AT web.de>
39376         * device/lib/pic/libdev/pic12f683.c,
39377         * device/include/pic/pic12f683.h: added GPIO bits
39379 2007-06-01 Raphael Neider <rneider AT web.de>
39381         * doc/sdccman.lyx: added --disable-pic16-port, fixed some `--' and
39382           quotation marks, clarified role of PIC14 vs. PIC16 ports
39383         * src/pic16/devices.inc,
39384         * device/include/pic16/pic18fregs.h,
39385         * device/include/pic16/pic18f[24][45]j10.h,
39386         * device/lib/pic16/pics.all,
39387         * device/lib/pic16/libdev/pic18f[24][45]j10.c: added support for
39388           18f24j10, 18f25j10, 18f44j10, and 18f45j10
39389         * device/lib/pic16/libio/{i2c,adc,usart}.ignore: do not build IO libs
39390           for new devices as they are not yet supported by gputils
39392 2007-05-31 Borut Razem <borut.razem AT siol.net>
39394         * Small Device C Compiler 2.7.0 released
39395         * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
39396           changed sdcc version to 2.7.1
39397         * support/scripts/sdcc.nsi: added How to create WIN32 release
39398           setup.exe package
39400 2007-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
39402         * doc/sdccman.lyx: documented initialization and allocation of absolute
39403           variables, bit parameter passing, the need for function pointers to be
39404           reentrant and alpha quality support of inline and retrict
39406 2007-05-26 Borut Razem <borut.razem AT siol.net>
39408         * support/regression/tests/bug1057979.c, support/regression/tests/malloc.c,
39409           support/regression/fwk/include/testfwk.h: fixed compilation on Mac OS x
39410         * docs/knownbugs.html: updated
39412 2007-05-25 Maarten Brock <sourceforge.brock AT dse.nl>
39414         * doc/sdccman.lyx: inserted footnotes about inline assembler labels,
39415           thanks Jan Waclawek
39416         * src/mcs51/gen.c (aopPut): fixed part of bug 1723128 when result is
39417           AOP_CRY and ruonly
39418           (gencjneshort): optimized when left is AOP_DIR
39419         * src/SDCCglue.c (printIvalStruct): fixed other part of bug 1723128 for
39420           initializing unions in a struct/array
39421         * support/regression/fwk/include/testfwk.h: added defines for data, near
39422           and far for host and z80
39423         * support/regression/tests/bug1723128.c: new, added
39425 2007-05-22 Borut Razem <borut.razem AT siol.net>
39427         * doc/knownbugs.html: updated
39429 2007-05-21 Raphael Neider <rneider AT web.de>
39431         * src/pic16/glue.c (pic16_initPointer): avoid assertion, emit better
39432           error message instead
39433         * src/pic/pcoderegs.c (pCodeOptime2pCodes): keep register state intact
39435 2007-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
39437         * src/mcs51/peeph.def (257.b): disabled to fix bug 1721024
39439 2007-05-21 Raphael Neider <rneider AT web.de>
39441         * src/pic/pcoderegs.c (pCodeOptime2pCodes): fixed bogus optimization,
39442           closes #1722392
39443         * src/regression/gpsim_assert.h,
39444         * src/regression/Makefile,
39445         * src/regression/pcodeopt.c: regression test for the above fix
39447 2007-05-11 Maarten Brock <sourceforge.brock AT dse.nl>
39449         * src/SDCCpeeph.c (labelIsUncondJump): ignore identical labels for
39450           jumps to self, fixed bug 1717281
39452 2007-05-10 Borut Razem <borut.razem AT siol.net>
39454         * support/scripts/gen_known_bugs.pl: cosmetic fix
39455         * doc/knownbugs.html: generated by gen_known_bugs.pl
39457 2007-05-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39459         * src/SDCCast.c (createFunction): also generate non-inlined version of
39460           function for functions declared as "static inline"
39461         * src/SDCCast.c (fixupInline, inlineAddDecl): reset symbol state so
39462           function can be inlined after non-inlined version generated.
39464 2007-05-10 Borut Razem <borut.razem AT siol.net>
39466         * support/scripts/gen_known_bugs.pl: added script
39467           which generates knownbugs.html
39469 2007-05-09 Maarten Brock <sourceforge.brock AT dse.nl>
39471         * doc/knownbugs.html: updated for release 2.7.0
39473 2007-05-09 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39475         * device/include/mcs51/uPSD33xx.h: Added patch by Jan Waclawek.
39477 2007-05-08 Maarten Brock <sourceforge.brock AT dse.nl>
39479         * src/ds390/gen.c (emitcode): don't change properties of previous lines,
39480           (throughout): updated generating comments
39481         * src/mcs51/gen.c (emitcode): don't change properties of previous lines,
39482           (throughout): updated generating comments
39483         * src/SDCCpeeph.c (peepHole): continue searching at the first replaced
39484           rule instead of at the second, or it might skip lines when removing the
39485           complete match
39486         * support/regression/tests/bug1714204.c: changed test to foo
39488 2007-05-08 Borut Razem <borut.razem AT siol.net>
39490         * doc/sdccman.lyx: changed sdcc version to 2.7.0,
39491           thanks to SDCC Distributed Compile Farm members,
39492           added Z80 and GBZ80 command line options
39493         * .version, doc/INSTALL.txt, sdcc.spec: changed sdcc version to 2.7.0
39495 2007-05-08 Maarten Brock <sourceforge.brock AT dse.nl>
39497         * device/lib/mcs51/crtxinit.asm: added disabled version for dual dptr
39498         * device/include/mcs51/uPSD33xx.h: added sfr DPS as alias for DPTC
39499         * support/regression/tests/longlit.c: modified to be tested at all and
39500           to pass the actual test
39502 2007-05-07 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39504         * device/include/mcs51/uPSD33xx.h: Added.
39506 2007-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
39508         * device/lib/_gptrput.c,
39509         * device/lib/_gptrget.c: removed old code,
39510          (_gptrgetWord),
39511         * src/ds390/gen.c (genGenPointerGet): fixed bug 1714204
39512         * support/regression/tests/bug1714204.c: new, added
39514 2007-05-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39516         * support/regression/tests/regtrack.c: test was never executed
39517           because of the regression test being picky about white spaces.
39518         * device/lib/mcs51/crtclear.asm: added comment
39520 2007-05-06 Raphael Neider <rneider AT web.de>
39522         * device/lib/pic/Makefile.rules,
39523         * device/lib/pic16/Makefile.rules: make sure *.ignore file exists,
39524           made "&> /dev/null" redirection sh-safe ("> /dev/null 2>&1")
39526 2007-05-06 Raphael Neider <rneider AT web.de>
39528         * src/pic16/device.h,
39529         * src/pic16/main.h,
39530         * src/pic16/main.c (pic16_optionsTable,_pic16_parseOptions,
39531           _pic16_setDefaultOptions): removed/reordered command-line args
39532         * doc/sdccman.lyx: updated PIC14 and PIC16 documentation (supported
39533           devices, regrouped command line args, environment variables),
39534           clarified sone points, added sections on how to add devices to the
39535           PIC14/PIC16 ports
39537 2007-05-06 Maarten Brock <sourceforge.brock AT dse.nl>
39539         * src/z80/peeph.def: fixed bug in rule 2
39541 2007-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
39543         * src/port.h: added TARGET_MCS51_LIKE
39544         * src/SDCCpeeph.c (labelIsUncondJump): new, added, other targets could
39545           take advantage of it too
39546         * src/z80/gen.c (genIpush): push b, d or h directly instead of using a,
39547           (shiftR2Left2Result): Optimized: don't check shifting by 0
39548         * src/z80/peeph-z80.def,
39549         * src/z80/peeph.def: whole set of new rules by Philipp Krause with some
39550           modifications, see patch 1700823
39551         * src/mcs51/peep.c (): fixed bug 1712928
39552         * support/regression/tests/bug1712928.c: new, added
39554 2007-05-05 Borut Razem <borut.razem AT siol.net>
39556         * device/lib/pic16/Makefile.common.in,
39557           device/lib/pic/Makefile.common.in, sim/ucsim/cmd.src/Makefile.in:
39558           removed bash dependencies
39560 2007-05-01 Borut Razem <borut.razem AT siol.net>
39562         * src/SDCCicode.c:
39563           fixed bug #1710507: --i-code-in-asm makes compile fail
39564           all iCode comments are now one liners
39565         * src/mcs51/gen.c: fixed memory leak
39567 2007-05-01 Raphael Neider <rneider AT web.de>
39569         * device/lib/pic/libdev/*.c
39570         * device/include/pic/*.h: regenerated all device libs from updated
39571           .inc files
39572         * support/scripts/inc2h.pl: documented usage, now uses strict to
39573           catch more bugs
39575 2007-04-30 Borut Razem <borut.razem AT siol.net>
39577         * doc/sdccman.lyx:
39578           fixed bug #1669175: Problem with space in output paths
39579           documented how to use paths with spaces for Windows users
39581 2007-04-29 Borut Razem <borut.razem AT siol.net>
39583         * Fixed svn:eol-style and svn:keywords properties
39584         * src/SDCCval.c: fixed bug
39585           #1592871: Segfault with "large" const arrays of characters
39586           replaced recursion with iteration
39587         * Removed svn:executable property from non-executable files
39589 2007-04-29 Maarten Brock <sourceforge.brock AT dse.nl>
39591         * src/mcs51/gen.c (genRet): fixed bug 1707003
39593 2007-04-27 Raphael Neider <rneider AT web.de>
39595         * src/pic16/pcode.c (pBlockRemoveUnusedLabels,pic16_pBlockAddInval,
39596           createReachingDefinitions,assignValnums,pic16_destructDF,
39597           pic16_createDF,pic16_vcg_dumpedges,pic16_vcg_dump_default):
39598           prevent NULL pointer dereferences
39599         * device/lib/pic/libdev/pic16f886.c,
39600         * device/lib/pic/libdev/pic16f887.c: svn mv'ed to disabled_* to
39601           prevent building them, gputils do not really support them yet
39603 2007-04-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39605         * device/lib/_ltoa.c: 36 bytes less __data mem. This really
39606           helps printf_small. 32 bytes more __idata mem.
39608 2007-04-27 Raphael Neider <rneider AT web.de>
39610         * src/pic/pcode.c (addpCode2pBlock,LinkFlow,pBlockRemoveUnusedLabels):
39611           return early when pb or pb->pcHead is NULL (patch #1708427)
39612         * src/regression/empty.c,
39613         * src/regression/Makefile: added test with empty functions
39614         * support/Util/SDCCerr.c: fixed typo in E_INIT_STRUCT message
39616 2007-04-27 Borut Razem <borut.razem AT siol.net>
39618         * src/SDCCast.c: fixed feature request
39619           #1547512: Redundant strings linked when using sizeof("abc")
39621 2007-04-23 Borut Razem <borut.razem AT siol.net>
39623         * doc/sdccman.lyx, src/SDCCmain.c:
39624           peep-hole comments are generated only if --fverbose-asm option is
39625           specified and --no-peep-comments is not, as proposed by Frieder.
39626         * support/regression/Makefile.in: compile regression tests with
39627           --fverbose-asm option so one can "grep" whether a new (or an old)
39628           peephole is (still) applied; requested by Frieder.
39630 2007-04-23 Kevin Buettner <kevin AT buettner.to>
39632         * device/include/pic/pic16f886.h,
39633         * device/include/pic/pic16f887.h,
39634         * device/lib/pic/libdev/pic16f886.c,
39635         * device/lib/pic/libdev/pic16f887.c,
39636         * device/include/pic/pic14devices.txt,
39637         * device/lib/pic/libdev/devices.txt: Add 16f886 and 16f887.
39639 2007-04-23 Kevin Buettner <kevin AT buettner.to>
39641         * device/lib/pic/libsdcc/idata.c: PAGESEL _main before going there,
39642           fixes #1704666
39644 2007-04-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39646         * device/lib/_memset.c: assembler version for mcs51
39648 2007-04-22 Borut Razem <borut.razem AT siol.net>
39650         * support/scripts/listerr.c: program to create the list of errors and
39651           warnings list from - added
39652         * doc/sdccman.lyx: removed the note
39653           "For list of warnings and corresponding codes, see err_warn.txt"
39654         * src/SDCCsymt.c: fixed bug #1699804:
39655           Bug with some uses of sizeof(static local array) (MCS51)
39656         * support/regression/tests/bug-1699804.c: added
39658 2007-04-20 Maarten Brock <sourceforge.brock AT dse.nl>
39660         * as/mcs51/asmain.c (search_path_append, search_path_fopen): new, added,
39661           (main): added option -i,
39662           (asmbl, case S_INCL): use search_path_fopen,
39663           mostly from patch 1579668 by Peter Miller, thanks
39664         * src/z80/main.c: fixed typo --callee-saves-bc
39665         * device/include/mcs51/compiler.h: added sfrword for Tasking
39667 2007-04-20 Borut Razem <borut.razem AT siol.net>
39669         * src/z80/main.c: replaced reserved keyword asm with asmblr
39671 2007-04-19 Borut Razem <borut.razem AT siol.net>
39673         * src/port.h: use const pointers to strings
39674         * src/SDCCargs.h: declared getStringArg() and getIntArg()
39675         * src/pic16/main.c: include SDCCargs.h
39676         * src/SDCCglobl.h: code_seg and const_seg are not pointers to
39677           const char, since the strings are dynamically allocated
39678         * src/SDCCmain.c: options.code_seg and options.const_seg are
39679           dynamically allocated; check port specific command line options
39680           before the general ones
39681         * src/z80/main.c: fixed bug #1631895: codeseg/constseg #pragma fail
39683 2007-04-18 Maarten Brock <sourceforge.brock AT dse.nl>
39685         * device/include/ds400rom.h,
39686         * device/lib/ds390/lcd390.c,
39687         * device/lib/ds390/memcpyx.c,
39688         * device/lib/ds390/rtc390.c,
39689         * device/lib/ds400/ds400rom.c,
39690         * device/lib/ds400/memcpyx.c,
39691         * device/lib/hc08/_ret.c: more replacements of keywords with their
39692           double underscore equivalents
39693         * device/lib/ds390/Makefile.in,
39694         * device/lib/ds400/Makefile.in,
39695         * device/lib/gbz80/Makefile.in,
39696         * device/lib/hc08/Makefile.in,
39697         * device/lib/mcs51/Makefile.in,
39698         * device/lib/z80/Makefile.in: added --std-c89 to CFLAGS
39700 2007-04-17 Borut Razem <borut.razem AT siol.net>
39702         * doc/sdccman.lyx, src/SDCCmain.c, src/SDCCglobal.h, src/ds390/gen.c,
39703           src/hc08/gen.c, src/mcs51/gen.c, src/mcs51/rtrack.c:
39704           fixed #1493816: option --no-gen-comments: --no-gen-comments renamed
39705           to --fverbose-asm, to be gcc'ish
39707 2007-04-17 Maarten Brock <sourceforge.brock AT dse.nl>
39709         * src/mcs51/gen.c (aopOp): set size to 1 for ruonly, fixes bug 1699455
39711 2007-04-17 Borut Razem <borut.razem AT siol.net>
39713         * doc/sdccman.lyx: fixed #1701874: Mac OSX references in SDCC manual
39714         * device/lib/ds400/tinibios.c, device/lib/hc08/_divuint.c,
39715           device/lib/hc08/_divulong.c: replaced _asm and _endasm keywords
39716           with their double underscore equivalent
39718 2007-04-14 Borut Razem <borut.razem AT siol.net>
39720         * doc/sdccman.lyx: some additional "freeware" replaced with "free open
39721           source"
39723 2007-04-13 Borut Razem <borut.razem AT siol.net>
39725         * doc/sdccman.lyx: -pedantic-parse-number is not in conformance with
39726           C99 standard
39727         * device/examples/serialcomm/windows/serial.[ch],
39728           device/examples/serialcomm/windows/test_serialcomm.cpp:
39729           updated by Bela Torok
39730         * device/examples/serialcomm/windows/serialcomm.dsw,
39731           device/examples/serialcomm/windows/serialcomm.dsp: added
39733 2007-04-13 Jan Waclawek <wek AT efton.sk>
39735         * doc/sdccman.lyx: additions and changes at various places
39736           (submitted as #1697136).
39737           (svn commit by Frieder Ferlemann <Frieder.Ferlemann AT web.de>)
39739 2007-04-10 Borut Razem <borut.razem AT siol.net>
39741         * doc/cdbfileformat.lyx, doc/sdccman.lyx, doc/test_suite_spec.lyx:
39742           LyX file format changed to 245
39743         * doc/sdccman.lyx, doc/README.txt, sdc/SDCC.lex, src/SDCCglue.c:
39744           "FreeWare" replaced with "free open source"
39746 2007-04-10 Maarten Brock <sourceforge.brock AT dse.nl>
39748         * device/include/mcs51/C8051F120.h: added some defines for bits in RSTSRC
39750 2007-04-08 Maarten Brock <sourceforge.brock AT dse.nl>
39752         * device/include/pic16/pic18fregs.h,
39753         * device/lib/_bp.c,
39754         * device/lib/_decdptr.c,
39755         * device/lib/_divsint.c,
39756         * device/lib/_divslong.c,
39757         * device/lib/_divuint.c,
39758         * device/lib/_divulong.c,
39759         * device/lib/_fs2schar.c,
39760         * device/lib/_fs2sint.c,
39761         * device/lib/_fs2slong.c,
39762         * device/lib/_fs2uchar.c,
39763         * device/lib/_fs2uint.c,
39764         * device/lib/_fs2ulong.c,
39765         * device/lib/_fsadd.c,
39766         * device/lib/_fscmp.c,
39767         * device/lib/_fsdiv.c,
39768         * device/lib/_fseq.c,
39769         * device/lib/_fsget1arg.c,
39770         * device/lib/_fsget2args.c,
39771         * device/lib/_fsgt.c,
39772         * device/lib/_fslt.c,
39773         * device/lib/_fsmul.c,
39774         * device/lib/_fsneq.c,
39775         * device/lib/_fsnormalize.c,
39776         * device/lib/_fsreturnval.c,
39777         * device/lib/_fsrshift.c,
39778         * device/lib/_fssub.c,
39779         * device/lib/_fsswapargs.c,
39780         * device/lib/_gptrget.c,
39781         * device/lib/_gptrgetc.c,
39782         * device/lib/_gptrput.c,
39783         * device/lib/_logexpf.c,
39784         * device/lib/_modsint.c,
39785         * device/lib/_modslong.c,
39786         * device/lib/_moduint.c,
39787         * device/lib/_modulong.c,
39788         * device/lib/_mulint.c,
39789         * device/lib/_mullong.c,
39790         * device/lib/_schar2fs.c,
39791         * device/lib/_ser.c,
39792         * device/lib/_setjmp.c,
39793         * device/lib/_sint2fs.c,
39794         * device/lib/_slong2fs.c,
39795         * device/lib/_spx.c,
39796         * device/lib/_uchar2fs.c,
39797         * device/lib/_uint2fs.c,
39798         * device/lib/_ulong2fs.c,
39799         * device/lib/asincosf.c,
39800         * device/lib/atanf.c,
39801         * device/lib/calloc.c,
39802         * device/lib/ds390/tinibios.c,
39803         * device/lib/ds400/tinibios.c,
39804         * device/lib/expf.c,
39805         * device/lib/free.c,
39806         * device/lib/hc08/_mulint.c,
39807         * device/lib/logf.c,
39808         * device/lib/malloc.c,
39809         * device/lib/printf_fast.c,
39810         * device/lib/printf_tiny.c,
39811         * device/lib/printfl.c,
39812         * device/lib/realloc.c,
39813         * device/lib/ser_ir.c,
39814         * device/lib/serial.c,
39815         * support/regression/tests/libmullong.c: replaced all special keywords
39816           with their double underscore equivalent
39817         * support/regression/ports/mcs51-xstack-auto/spec.mk,
39818         * device/lib/Makefile.in: compile libs with --std-c99 instead of
39819           --std-sdcc99
39820         * src/mcs51/gen.c (outBitC): don't store if result is return-use-only,
39821           (genRet): if the bit-symbol is ruonly it already is in the carry
39822         * src/mcs51/ralloc.c (regTypeNum): make regType REG_CND for ruonly bit
39823         * src/SDCCast.c (createFunction): applied patch 887171 by Stas Sergeev
39824         * src/SDCCicode.c (ast2iCode): '!', GETHBIT, GETABIT: only set operand
39825           type UCHAR if dest is not bit
39827 2007-04-03 Maarten Brock <sourceforge.brock AT dse.nl>
39829         * device/include/math.h,
39830         * device/lib/cotf.c,
39831         * device/lib/expf.c,
39832         * device/lib/sincoshf.c: changed XMAX to C99 HUGE_VALF
39834 2007-04-01 Borut Razem <borut.razem AT siol.net>
39836         * src/SDCC.lex, src/SDCCmain.c, support/cpp2/sdcpp.c:
39837           fixed bug #1692042: input buffer overflow...scanner uses REJECT
39838         * support/cpp2/sdcpp.c: fixed recursion bug - internal_error() called
39839           gcc_unreachable() called internal_error()...
39841 2007-03-30 Raphael Neider <rneider AT web.de>
39843         * src/pic/ralloc.c (isData): suppress garbage debug output
39845 2007-03-28 Borut Razem <borut.razem AT siol.net>
39847         * doc/sdccman.lyx:
39848           "Nightly Snapshots" replaced with "Snapshot Builds", since the SDCC
39849           is developed, built and used worldwide, and the word "night" doesn't
39850           make any sense.
39852 2007-03-28 Maarten Brock <sourceforge.brock AT dse.nl>
39854         * device/include/mcs51/C8051F360.h: new, added
39855         * device/include/mcs51/C8051F520.h: fixed buggy sbit addresses SPI0CN
39857 2007-03-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39859         * src/SDCC.y (declaration_specifiers, function_specifier),
39860         * support/Util/SDCCerr.c,
39861         * support/Util/SDCCerr.h,
39862         * src/SDCCsymt.h,
39863         * src/SDCCsymt.c (mergeSpec, checkFunction): Parse and validate the
39864           inline keyword
39865         * src/SDCCmem.c (deallocParms),
39866         * src/SDCCast.c: support for function inlining, not quite complete
39867         * src/SDCCsymt.c (printTypeChain, printTypeChainRaw): display
39868           'restrict' qualifier
39870 2007-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
39872         * src/mcs51/gen.c (saveRegisters, unsaveRegisters): free some bitVects,
39873           (saveRBank, unsaveRBank): don't save bits,
39874           (genFunction, genEndFunction): save bits exactly once, fix bug 1535242
39875         * support/regression/tests/bug1535242.c: new, added
39876         * device/include/assert.h: applied patch 1686533 to fix bug 1686528,
39877           thanks Alexey Shamrin <shamrin AT gmail.com>,
39878           made assert.h header ANSI compliant (added a check for NDEBUG macro,
39879           removed header guard)
39880         * .version,
39881         * sdcc.spec: bumped version to 2.6.5
39882         * src/SDCCmain.c(parseCmdLine): fixed bug 1677144
39884 2007-03-22 Borut Razem <borut.razem AT siol.net>
39886         * debugger/mcs51/cmd.c, debugger/mcs51/sdcdb.c:
39887           fixed bug #1653671: sdcdb integration into ddd is broken
39889 2007-03-22 Raphael Neider <rneider AT web.de>
39891         * src/pic/gen.c (popGetExternal): augmented to also create references
39892           to external variables (not only labels),
39893           (genCall): comment on plan to reduce PAGESEL overhead,
39894           (genFunction, genEndFunction): also save/restore FSR around interrupt
39895           handling code, removed lots of unused code
39896           (genDivOneByte): release acquired temp register
39897         * src/pic/glue.c (pic14createInterruptVect): adapt to new signature
39898           of popGetExternal
39899         * device/lib/pic/libsdcc/shadowregs.c: NEW, provide storage location
39900           for registers that need to be saved during interrupts (FSR, STATUS,
39901           PCLATH; W needs special handling), currently only FSR is used
39903 2007-03-22 Raphael Neider <rneider AT web.de>
39905         * device/include/pic/pic14devices.txt: 16f688 has only one config word
39907 2007-03-19 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39909         * /as/link/mcs51/aslink.dsp: Object extension for mcs51 is 'rel' not 'o'.
39911 2007-03-17 Maarten Brock <sourceforge.brock AT dse.nl>
39913         * src/mcs51/peeph.def (263.x): fixed bug for volatile variables
39915 2007-03-14 Maarten Brock <sourceforge.brock AT dse.nl>
39917         * as/link/aslink.h: added LKOBJEXT
39918         * as/link/hc08/link_hc08.dsp,
39919         * as/link/hc08/Makefile.bcc,
39920         * as/link/hc08/Makefile.in,
39921         * as/link/mcs51/aslink.dsp,
39922         * as/link/mcs51/Makefile.bcc,
39923         * as/link/mcs51/Makefile.in: moved lkamof51.c and lkdata.c
39924         * as/link/hc08/lkaomf51.c, as/link/mcs51/lkaomf51.c,
39925         * as/link/lkaomf51.c: merged and moved
39926         * as/link/hc08/lkdata.c, as/link/mcs51/lkdata.c,
39927         * as/link/z80/lkdata.c,
39928         * as/link/lkdata.c: merged and moved
39929         * as/link/hc08/lkmain.c,
39930         * as/link/mcs51/lkmain.c: cosmetic changes
39931         * as/link/z80/lkeval.c, as/link/lkeval.c: merged
39932         * as/link/lklex.c: use LKOBJEXT
39933         * as/link/z80/lklist.c, as/link/lklist.c: merged,
39934           ANSI-fied functions, removed bubble-sorts
39935         * as/link/z80/lksym.c, as/link/lksym.c: merged,
39936           ANSI-fied functions
39937         * as/link/z80/linkgbz80.dsp,
39938         * as/link/z80/linkz80.dsp,
39939         * as/link/z80/Makefile.in: added lkaomf51.c and lknoice.c,
39940           moved lkdata.c, lkeval.c, lkhead.c, lklex.x, lklist.c, lksym.c
39941         * as/link/z80/lkhead.c,
39942         * as/link/z80/lklex.c: deleted
39943         * as/link/z80/lklibr.c: moved LKOBJEXT to aslink.h
39944         * as/link/z80/lkmain.c: added copyfile()
39946 2007-03-13 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39948         * device/include/mcs51/P89LPC925.h: Added missing P1_6 and P1_7.
39950 2007-03-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39952         * device/lib/_strlen.c: assembler version for mcs51
39954 2007-03-13 Raphael Neider <rneider AT web.de>
39956         * device/include/pic16/pic18f2221.h,
39957         * device/include/pic16/pic18f2321.h,
39958         * device/include/pic16/pic18f2331.h,
39959         * device/include/pic16/pic18f4221.h,
39960         * device/include/pic16/pic18f4321.h,
39961         * device/include/pic16/pic18f4331.h: fixed config byte location names
39962         * support/scripts/inc2h-pic16.pl: removed debug output, emit
39963           consistently named config byte locations
39965 2007-03-13 Borut Razem <borut.razem AT siol.net>
39967         * src/Makefile.in, sim/ucsim/avr.src/Makefile.in,
39968           sim/ucsim/hc08.src/Makefile.in, sim/ucsim/s51.src/Makefile.in,
39969           sim/ucsim/xa.src/Makefile.in, sim/ucsim/z80.src/Makefile.in,
39970           as/link/z80/Makefile.in, as/z80/Makefile.in:
39971           introduced LDFLAGS
39973 2007-03-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39975         * device/lib/printfl.c: 13 bytes less __data mem (12 more __idata)
39976         * device/lib/printf_large.c: pointer was converted to generic
39977         pointer for mcs51 models other than model-small (Maarten noticed)
39979 2007-03-10 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39981         * device/include/mcs51/ADuC84x.h: Added.
39983 2007-03-10 Borut Razem <borut.razem AT siol.net>
39985         * src/SDCC.lex, src/SDCCutil.[ch], src/SDCCval:
39986           fixed RFE #1624219: double backslashes in filenames;
39987           functions hexEscape(), octalEscape() and copyStr() moved from
39988           SDCCval.c to SDCCutil.c and made them glovbally available
39990 2007-03-09 Borut Razem <borut.razem AT siol.net>
39992         * src/SDCC.lex, src/SDCCast.c. src/SDCCglobl.c, src/SDCCsymt.c,
39993           src/SDCCval.c: fixed bugs #1676768: Wrong line number reported and
39994           1673361: Missaligned comments in output files
39996 2007-03-09 Raphael Neider <rneider AT web.de>
39998         * device/include/pic/pic14devices.txt: fixed confsiz of 16f91[3467]
40000 2007-03-09 Raphael Neider <rneider AT web.de>
40002         * src/pic/gen.c,
40003         * src/pic/glue.c,
40004         * src/pic/ralloc.c: suppress undesired debug output
40005         * src/SDCCmain.c (linkEdit): initialize c to quieten compiler
40007 2007-03-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40009         * device/lib/printf_large.c: 6 bytes less __data mem (6 more __idata)
40011 2007-03-07 Borut Razem <borut.razem AT siol.net>
40013         * device/lib/pic16/libdev/pic18f[24][34]31.c:
40014           search include files in the current directory
40016 2007-03-04 Maarten Brock <sourceforge.brock AT dse.nl>
40018         * src/SDCCglue.c (emitMaps, glue),
40019         * src/SDCCmem.c (initMem, allocDefault): added x_abs for initialized
40020           absolute xdata
40021         * support/regression/tests/absolute.c: added xdata test
40023 2007-03-03 Maarten Brock <sourceforge.brock AT dse.nl>
40025         * src/SDCCmain.c (parseCmdLine): only set options.xstack_loc for mcs51,
40026           added condition to macro, fixes bug 1666080
40028 2007-03-02 Raphael Neider <rneider AT web.de>
40030         * src/pic/gen.c (genGenPointerSet): removed bogus assertion
40032 2007-02-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40034         * device/lib/mcs51/crtxclear.asm: pdata segment of 256 byte would not
40035         be cleared. Unconditionally set __XPAGE
40036         * src/hc08/gen.c: --no-gen-comments (RFE #1493816) for hc08
40038 2007-02-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40040         * src/SDCCglobl.h,
40041         * src/SDCCmain.c,
40042         * src/mcs51/gen.c,
40043         * src/mcs51/rtrack.c,
40044         * src/ds390/gen.c,
40045         * doc/sdccman.lyx: added --no-gen-comments
40046         * src/mcs51/peeph.def: added 192.b, disabled 185
40048 2007-02-25 Raphael Neider <rneider AT web.de>
40050         * src/pic16/gen.c (genCast): fixed typo
40051         * device/lib/pic16/Makefile.subdir: only install existing files
40052         * device/lib/pic16/libdev/Makefile.in: build serially, avoid races
40054 2007-02-25 Maarten Brock <sourceforge.brock AT dse.nl>
40056         * device/lib/mcs51/crtcall.asm: new, added for indirect calls
40057         * device/lib/mcs51/crtclear.asm,
40058         * device/lib/mcs51/crtxclear.asm: renumbered labels
40059         * device/lib/mcs51/Makefile.in: added crtcall.asm
40060         * doc/sdccman.lyx: documented mcs51 crt* library startup code
40061         * src/mcs51/gen.c (movc): removed,
40062           (aopGet, genPlusBits): clear a after loading the carry (possibly from
40063             acc.x or psw.x),
40064           (toCarry, genSend, genRet): added function toCarry,
40065           (genPcall): use "lcall @a+dptr" for functions w/o parameters,
40066           (assignBit, genAssign, genCast): added function assignBit
40067         * src/mcs51/Makefile.bcc: added rtrack.c
40068         * src/mcs51/ralloc.h: made valueKnown a bitfield
40069         * src/mcs51/rtrack.c (getReg, rtrackUpdate): added getReg,
40070           fixed "jbc acc" and "cpl acc" bug, enhanced "cjne", "jnz" and "djnz",
40071           disabled InvalidateAllRx for lcall __gptrput, added "xch a,rn"
40072         * src/pic/pcode.c (FixRegisterBanking): fixed warning used uninitialized
40073         * src/z80/gen.c: added AOP_IS_PAIRPTR,
40074           (_pop): only pop valid pairs, see gencjneshort,
40075           (gencjneshort): return pair that still needs to be popped, restructured,
40076           (gencjne, genCmpEq): call _pop
40078 2007-02-23 Raphael Neider <rneider AT web.de>
40080         * device/include/pic/pic14devices.txt: 16f684 has only one config word
40082 2007-02-22 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40084         * device/include/mcs51/P89LPC925.h: Added.
40086 2007-02-18 Raphael Neider <rneider AT web.de>
40088         * src/pic/glue.c (emitInitVal): fixed #1659894 (SIGSEGV on arrays)
40090 2007-02-17 Borut Razem <borut.razem AT siol.net>
40092         * support/cpp2/directives.c, support/cpp2/version.c:
40093           synchronized with GCC CPP 4.1.2
40095 2007-02-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40097         * src/mcs51/rtrack.h,
40098         * src/mcs51/rtrack.c: added register tracking for the mcs51 port,
40099           by checking the strings passed by emitcode() to the assembler.
40100           Feel free to change. This in part addresses RFE #482179.
40101           Set environment variable SDCC_RTRACK to enable.
40102         * src/mcs51/gen.c: inserted hooks
40103         * src/mcs51/ralloc.h: added two members to struct regs
40104         * support/regression/tests/regtrack.c: added
40106 2007-02-14 Borut Razem <borut.razem AT siol.net>
40108         * src/SDCC.y: fixed bug #1291133: duplicate members across enum(s)
40109         * Makefile.in: applied patch from Makefile related part of
40110           #1469393: Compiler does not initialize static data
40112 2007-02-12 Maarten Brock <sourceforge.brock AT dse.nl>
40114         * src/SDCCicode.c (geniCodeAssign): return (itemp) right instead of left
40115           for better fix of bug 1273984, compiles pic16 rand.c
40117 2007-02-12 Borut Razem <borut.razem AT siol.net>
40119         * src/pic16/main.c: fixed pic16 standard library directory bug
40121 2007-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
40123         * src/hc08/gen.c (genSwap): fix swap regression test
40125 2007-02-10 Borut Razem <borut.razem AT siol.net>
40127         * src/SDCCsymt.c: fixed bug #1159134: invalid duplicate declarations
40128           with same scope
40129         * support/regression/tests/bug-1654060.c: added regression test for
40130           #1654060
40132 2007-02-09 Bernhard Held <bernhard AT bernhardheld.de>
40134         * src/mcs51/gen.c (genRet): fixed RFE 1652561: added code for bit to
40135         bit moves in return statement
40137 2007-02-09 Borut Razem <borut.razem AT siol.net>
40139         * src/SDCC.y: fixed bug #1654060 typedef within function causes
40140           syntax error
40142 2007-02-07 Maarten Brock <sourceforge.brock AT dse.nl>
40144         * src/mcs51/gen.c (aopPut): use direct name for pushing registers
40145         * src/SDCCmain.c (parseCmdLine): dbuf_s path must be initialised
40147 2007-02-07 Raphael Neider <rneider AT web.de>
40149         * src/pic16/devices.inc,
40150         * device/include/pic16/pic18fregs.h,
40151         * device/include/pic16/pic18f[24][34]31.h,
40152         * device/lib/pic16/libdev/pic18f[24][34]31.c,
40153         * device/lib/pic16/pics.all: added 18f[24][34]31 family
40154         * device/lib/pic16/libio/i2c.ignore: do not build i2c
40156 2007-02-07 Maarten Brock <sourceforge.brock AT dse.nl>
40158         * device/lib/printf_large.c (_print_format): fixed compare/assign bug, how
40159           can this have lived here for so many years?
40160         * src/SDCCicode.c (ast2iCode): return left instead of right for assignment,
40161           fixes bug 1273984, see also patch 1645121, thanks Gnther Jehle
40162         * support/regression/tests/bug1273984.c: new, added, thanks Gnther Jehle
40164 2007-02-06 Bernhard Held <bernhard AT bernhardheld.de>
40166         * src/SDCCBlock.c (addiCodeToeBBlock): fixed bug 1652207: GOTO icodes
40167         appended by loop induction must be at the very end of the eBBlock
40169 2007-02-05 Kevin Vigor
40171         * src/ds390/gen.c, src/ds390/main.c: Address bug 1469393.
40173 2007-02-05 Borut Razem <borut.razem AT siol.net>
40175         * support/regression/fwk/lib/timeout.c: native WIN32 port,
40176           implemented #1651830 Reg. tests: rewrite timeout.c to use WIN32 API
40178 2007-02-03 Borut Razem <borut.razem AT siol.net>
40180         * src/SDCC.y, src/SDCCmain.c, src/SDCCglobl.h, doc/sdccman.lyx:
40181           applied patch #1646602 option to set default signedness of char to
40182           unsigned, added -funsigned-char command line option,
40183           thanks to Gunther Jehle
40184         * device/lib/Makefile.in: added the -f option to rm so it doesn't
40185           prompt for file deletion a few hundred times (especially the
40186           subversion files, which have ro permissions so it asks for
40187           confirmation), thanks to Simon McAuliffe;
40188           added {} + option to find in order to remove multiple files from a
40189           single rm commad
40191 2007-02-02 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40193         * device/include/mcs51/SST89x5xRDx.h: Added.
40195 2007-02-02 Raphael Neider <rneider AT web.de>
40197         * src/pic/glue.c (emitSymbolSet): check sym->etype before use
40198         * src/regression/Makefile: use --no-pcode-opt, ignore failing tests
40200 2007-02-01 Raphael Neider <rneider AT web.de>
40202         * src/pic/glue.c (picglue,emitSymbolSet,showAllMemmaps): emit the
40203           config words again
40205 2007-01-31 Borut Razem <borut.razem AT siol.net>
40207         * support/Util/dbuf_string.h: added ATTRIBUTE_PRINTF to dbuf_printf()
40208           if compiled with GCC. Thanks to Raphael Neider
40210 2007-01-31 Raphael Neider <rneider AT web.de>
40212         * src/pic/pcode.c (isValidIdChar,bankCompare): fuzzy matching of
40213             operand names, handles name and (name + n) for all n,
40214           (sameBank): restructured, also check bank allocation policy,
40215         * src/pic/glue.c (emitPseudoStack): fixed printf arguments,
40216           (pic14_operandsAllocatedInSameBank): check whether to operands
40217             will be allocated into the same bank (i.e., section) to reduce
40218             BANKSEL overhead, queried from pcode.c:sameBank,
40219           (pic14printLocals): reintroduced clustering registers into a single
40220             section: all compiler generated symbols will now reside in one
40221             bank (per file), reducing BANKSEL overhead and code size,
40222           (showAllMemmaps): use local dbuf where possible
40224 2007-01-29 Raphael Neider <rneider AT web.de>
40226         * src/pic/gen.c (popGetExternal): simplified, mark symbol as used,
40227           (call_libraryfunc): retrieve/create symbol and mark as used,
40228           (genFunction): mark defined functions as non-extern and add again
40229            to code memmap for later output
40230         * src/pic/glue.c (emitPseudoStack): put into own subroutine,
40231           (pic14printLocals): reworked for new symbol emission,
40232           (emitIfNew,pic14_constructAbsMap,emitIvalLabel,emitIvals,emitInitVal,
40233           showAllMemmaps): reworked symbol output using dbufs, added handling
40234             of string literals (still incomplete),
40235           (picglue): removed symbol emission, moved into showAllMemmaps,
40236           (emitSymbolSet): new workhorse for symbol output,
40237           (pic14emitMaps,pic14printPublics,pic14printExterns): commented out
40239 2007-01-29 Borut Razem <borut.razem AT siol.net>
40241         * src/SDCCmain.c, src/SDCCutil.c: dbuf_splitFile: file extension
40242           component contains the extension separator.
40244 2007-01-28 Borut Razem <borut.razem AT siol.net>
40246         * sim/ucsim/cmd.src/cmdutil.cc: NUL device is detected as CG_FILE type
40247           on WIN32
40248         * src/SDCCdwarf2.c, src/SDCCglobl.h, src/SDCCmain.c, src/SDCCutil.c,
40249           src/SDCCutil.h, src/avr/gen.c, src/ds390/gen.c, src/hc08/gen.c,
40250           src/mcs51/gen.c, src/pic/device.c, src/pic/gen.c, src/pic/pcode.c,
40251           src/pic/pcodepeep.c, src/pic/ralloc.c, src/pic16/device.h,
40252           src/pic16/gen.c, src/pic16/main.c, src/pic16/pcode.c,
40253           src/pic16/pcodepeep.c, src/pic16/ralloc.c, src/xa51/gen.c,
40254           src/z80/gen.c, support/Util/MySystem.c:
40255           accept slash and backslash as directory separator on WIN32 and
40256           Cygwin ports
40258 2007-01-28 Raphael Neider <rneider AT web.de>
40260         * src/pic16/devices.inc,
40261         * device/include/pic16/pic18f[24][23]21.h,
40262         * device/include/pic16/pic18fregs.h,
40263         * device/lib/pic16/libdev/pic18f[24][23]21.c,
40264         * device/lib/pic16/pics.all: added support for the 18f[24][23]21 family
40265         * device/lib/pic16/libio/adc.ignore,
40266         * device/lib/pic16/libio/i2c.ignore,
40267         * device/lib/pic16/libio/usart.ignore: do not build I/O lib for new
40268           family, as gputils do not yet support the devices
40269         * device/lib/pic16/Makefile.subdir: ignore errors on install
40270         * support/scripts/inc2h-pic16.pl: script to generate pic16 device
40271           headers and libraries from gputils .inc files
40273 2007-01-26 Paul Stoffregen <paul AT pjrc.com>
40275         * doc/sdccman.lyx: add printf_fast_f precision limitation note
40277 2007-01-26 Paul Stoffregen <paul AT pjrc.com>
40279         * doc/sdccman.lyx: add printf benchmarks
40281 2007-01-25 Paul Stoffregen <paul AT pjrc.com>
40283         * device/lib/printf_fast.c: fix %c, char promoted to int
40284         * device/lib/printf_tiny.c: fix %c, char promoted to int
40286 2007-01-25 Paul Stoffregen <paul AT pjrc.com>
40288         * device/lib/printf_fast.c: fix float overflow check, bug #1525093
40290 2007-01-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40292         * support/regression/tests/swap.c: 64 bit hosts failed
40293         * doc/sdccman.lyx: added preliminary mcs51 printf feature matrix
40295 2007-01-25 Raphael Neider <rneider AT web.de>
40297         * src/pic/pcode.c (sameBank,FixRegisterBanking): optimize banksels
40298           based on absolute register address, patch by Alex Blond
40300 2007-01-22 Raphael Neider <rneider AT web.de>
40302         * src/pic/glue.c (pic14emitRegularMap): mark initialized symbols as
40303           emitted, do not emit them again...
40305 2007-01-22 Raphael Neider <rneider AT web.de>
40307         * src/regression/bank1.c, src/regression/compare6.c,
40308           src/regression/add.c: cosmetic changes
40309         * src/pic/pcode.h: moved GPTRTAG_* here from gen.c
40310         * src/pic/gen.c: fixed global zero and one,
40311           (aopForSym): removed unued code,
40312           (aopGet): assert aop is defined, check and use `index' of
40313             pCodeImmd operands (fixes #1630908),
40314         * src/pic/pcode.c (get_op): added output of generic pointer tag,
40315           (register_reassign): prevent accidental register unification,
40316           (ReuseReg): cosmetic changes (also above)
40317         * src/pic/glue.c (pic14_constructAbsMap,pic14emitRegularMap,
40318           pic14emitStaticSeg): do not emit initialized data,
40319           (printIval*): replaced with working versions,
40320           (pic14createInterruptVect,picglue): use idata for initialized data,
40321             now init data should work in all modules (not only main()),
40322         * device/lib/pic/libsdcc/idata.c: NEW, handle initialized data
40324 2007-01-21 Borut Razem <borut.razem AT siol.net>
40326         * sim/ucsim/configure.in: introduced macro DD_COPT_NO_IGNORE,
40327           use -fPIC or -fpic if they are supported and not ignored
40328         * src/SDCCval.c: fixed bug introduced by me in rev. #4577
40329         * support/cpp2/libcpp/lex.c: fixed gcc 4.1.1 warnings
40331 2007-01-20 Borut Razem <borut.razem AT siol.net>
40333         * src/SDCC.lex, src/SDCCmain.c, sdc/SDCCglobl.h, doc/sdccman.lyx:
40334           implemented RFE #1470316: allow "$" in variable names
40336 2007-01-20 Raphael Neider <rneider AT web.de>
40338         * device/include/pic/pic14regs.h: reverted accidental wipe of the file
40340 2007-01-20 Raphael Neider <rneider AT web.de>
40342         * device/lib/pic/libdev/devices.txt: device list for mkall.sh
40343         * device/lib/pic/libdev/mkall.sh: script to rebuild all device libs
40344         * device/lib/pic/libdev/pic14ports.txt: device PORT specifications
40345         * support/scripts/inc2h.pl: fixed major .inc parsing bugs,
40346           applied patch from Robert Tate (#1629249) to add PORTs and TRISs
40347         * device/lib/pic/libdev/pic*.c,
40348         * device/include/pic/pic*.h: regenerated with enhanced inc2h.pl
40349         * device/lib/pic/libdev/Makefile.in: show progress
40351 2007-01-19 Bernhard Held <bernhard AT bernhardheld.de>
40353         * doc/sdccman.lyx: updated "configure options" for autoconf 2.6
40354         * support/scripts/sdcc_cygwin_mingw32,
40355         * support/scripts/sdcc_mingw32,
40356         * support/scripts/build.mak: replaced --datadir by --datarootdir for
40357         conformance with autoconf 2.6
40359 2007-01-19 Raphael Neider <rneider AT web.de>
40361         * src/pic/device.c (register_map): fixed list construction
40362         * src/pic/gen.c (genDivOneByte,genModOneByte): accept result > 1 byte,
40363           (genMod): removed case for genModbits,
40364           (genModbits): removed as now unused/unimplemented
40365         * src/pic/glue.c (picglue): prevent name clash with sources 'init.c'
40367 2007-01-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40369         * support/regression/tests/swap.c: added in response to #1638622
40370         * doc/sdccman.lyx: synced version, minor changes
40372 2007-01-18 Borut Razem <borut.razem AT siol.net>
40374         * SDCClabel.c: fixed bug #1638651: wrong linenumber presented in warning,
40375           thanks to Gunther Jehle
40376         * src/asm.c: don't die if the file drfined in #line couldn't be opened
40377         * src/SDCC.lex, src/SDCCglobal.h, src/SDCCicode.c, src/SDCCsymt.c,
40378           src/SDCCval.c: removed redundant definitions of currFname and mylineno;
40379           use filename in lineno instead.
40380         * SDCCast.c: removed MSVC warning C4018: '==' : signed/unsigned mismatch,
40381           print the file name in ast_print()
40383 2007-01-18 Borut Razem <borut.razem AT siol.net>
40385         * support/Util/dbuf_string.c: removed (PTR) cast since it is not
40386           defined in MSVC
40387         * src/SDCC.lex: stringLiteral() returns const char pointer,
40388           EOF detection in stringLiteral(), fixed asmbuf memory leak,
40389           fixed column counting
40390         * src/SDCCval.[ch]: constVal(), value *strVal() and charVal()
40391           accept const char pointer as parameter
40392         * src/SDCCdwarf2.c: corrected buffer size
40394 2007-01-17 Borut Razem <borut.razem AT siol.net>
40396         * support/Util/dbuf_string.c: fixed for amd64
40398 2007-01-15 Borut Razem <borut.razem AT siol.net>
40400         * src/pic16/ralloc.c, src/pic/ralloc.c, src/SDCC.y:
40401           removed terminal symbol ELIPSIS, since it was never generated by the
40402           lexer and it was wrongly used in parameter_identifier_list rule
40404 2007-01-15 Raphael Neider <rneider AT web.de>
40406         * doc/sdccman.lyx: updated PIC14/16 command line args, updated PIC14
40407             code page and data banking description
40408         * src/pic/genarith.c,
40409         * src/pic/gen.h: removed bit arithmetic functions,
40410             updated exit(1) to exit(EXIT_FAILURE)
40411         * device/lib/pic16/libsdcc/stack/stack.S: default to 256 byte stack
40412         * device/include/pic16/pic18f2455.h,
40413         * device/lib/pic16/libdev/pic18f2455.c: added PORTD, LATD, LATE,
40414             TRISD and TRISE, fixed/added some bit names
40415         * device/lib/pic16/libdev/pic18f{2550,4550,4455}.c,
40416         * device/include/pic16/pic18f{2550,4550,4455}.h: simply include
40417             updated pic18f2455.{c,h} instead of duplicating them
40419 2007-01-14 Borut Razem <borut.razem AT siol.net>
40421         * as/mcs51/asnoice.c, as/hc08/asnoice.c: fixed bug #1447412:
40422           Cannot debug files that contain spaces in the path name
40423           by converting spaces in asm file name to underscores
40425 2007-01-13 Borut Razem <borut.razem AT siol.net>
40427         * doc/sdccman.lyx: fixed format errors
40429 2007-01-10 Borut Razem <borut.razem AT siol.net>
40431         * src/SDCC.lex, src/SDCCmain.c: fixed bug #1631895:
40432           codeseg/constseg #pragma fail
40433         * suppoprt/cpp2/Makefile.bcc: reenable Borland C compilation
40434         * suppoprt/cpp2/configure.in, suppoprt/cpp2/libcpp/lex.c,
40435           suppoprt/cpp2/Makefile.in, suppoprt/cpp2/sdcpp-opts,
40436           suppoprt/cpp2/sdcpp.[ch]: house cleaning
40438 2007-01-09 Borut Razem <borut.razem AT siol.net>
40440         * get rid of diagnistic.[ch], pretty-print.[ch],
40441           c-pretty-print.[ch], ... used just for error, warning, ...
40442           message formatting
40443         * suppoprt/cpp2/pretty-print.[ch], suppoprt/cpp2/diagnostic.[ch],
40444           suppoprt/cpp2/diagnostic.def, suppoprt/cpp2/input.h,
40445           suppoprt/cpp2/pretty-print.[ch]:
40446           removed
40447         * suppoprt/cpp2/Makefile.in, suppoprt/cpp2/opts.c,
40448           suppoprt/cpp2/sdcpp-opts.c, suppoprt/cpp2/sdcpp.[ch],
40449           suppoprt/cpp2/sdcpp.dsp:
40450           changed
40452 2007-01-08 Maarten Brock <sourceforge.brock AT dse.nl>
40454         * device/lib/printf_large.c (output_float): removed recursion,
40455           use smaller buffer on stack for mcs51,
40456           fixed bug printing 1.96
40457         * support/regression/tests/snprintf.c: added test
40459 2007-01-07 Borut Razem <borut.razem AT siol.net>
40461         * use dynamic memory buffers instead temporary files
40462         * support/Util/dbuf_string.c, support/Util/dbuf_string.h:
40463           added
40464         * src/Makefile.in, src/SDCC.lex, src/SDCCast.c, src/SDCCast.h,
40465           src/SDCCcse.c, src/SDCCglobl.h, src/SDCCglue.c, src/SDCCglue.h,
40466           src/SDCCicode.c, src/SDCCicode.h, src/SDCCmain.c, src/SDCCmem.c,
40467           src/SDCCmem.h, src/SDCCpeeph.c, src/SDCCpeeph.h, src/SDCCsymt.c,
40468           src/SDCCsymt.h, src/SDCCutil.c, src/asm.c, src/asm.h, src/avr/gen.c,
40469           src/avr/main.c, src/ds390/gen.c, src/ds390/main.c, src/hc08/gen.c,
40470           src/hc08/main.c, src/izt/gen.c, src/mcs51/gen.c, src/mcs51/main.c,
40471           src/pic/device.c, src/pic/gen.c, src/pic/glue.c, src/pic/main.c,
40472           src/pic/ralloc.c, src/pic16/gen.c, src/pic16/glue.c,
40473           src/pic16/main.c, src/pic16/ralloc.c, src/port.h, src/src.dsp,
40474           src/xa51/gen.c, src/xa51/main.c, src/z80/gen.c, src/z80/main.c,
40475           support/Util/dbuf.c, support/Util/dbuf.h:
40476           modified
40477         * .version, sdcc.spec: bumped version to 2.6.4
40479 2007-01-07 Maarten Brock <sourceforge.brock AT dse.nl>
40481         * src/port.h: added TARGET_Z80_LIKE macro
40482         * src/SDCCmain.c (linkEdit): use TARGET_Z80_LIKE,
40483           output PSEG location if --xram-loc or --xstack-loc was used
40484         * as/link/mcs51/lkarea.c (lnksect2): set segment address afterwards
40486 2007-01-07 Maarten Brock <sourceforge.brock AT dse.nl>
40488         * as/as_gbz80.dsp, as/z80/as_gbz80.dsp,
40489         * as/as_z80.dsp,   as/z80/as_z80.dsp,
40490         * as/asx8051.dsp,  as/mcs51/asx8051.dsp,
40491         * sdcc.dsw: moved project files into subdir
40492         * as/hc08/as_hc08.dsp,
40493         * as/hc08/Makefile.bcc,
40494         * as/hc08/Makefile.in,
40495         * as/mcs51/Makefile.bcc,
40496         * as/mcs51/Makefile.in,
40497         * as/z80/Makefile.bcc,
40498         * as/z80/Makefile.in,
40499         * as/link/mcs51/Makefile.bcc: use as/strcmpi.c
40500         * as/hc08/asm.h,
40501         * as/mcs51/asm.h,
40502         * as/z80/asm.h: added as_strcmpi() and as_strncmpi() prototypes
40503         * as/hc08/asmain.c,
40504         * as/hc08/assym.c,
40505         * as/mcs51/asmain.c,
40506         * as/mcs51/assym.c,
40507         * as/z80/assym.c: removed include "strcmpi.h"
40508         * as/hc08/strcmpi.c,
40509         * as/hc08/strcmpi.h,
40510         * as/mcs51/strcmpi.c,
40511         * as/mcs51/strcmpi.h,
40512         * support/Util/strcmpi.c,
40513         * support/Util/strcmpi.h: removed files
40514         * as/strcmpi.c: added as_strncmpi()
40516 2007-01-05 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40518         * sdcc.dsw: Added some dependencies on project config.dsp
40520 2007-01-05 Maarten Brock <sourceforge.brock AT dse.nl>
40522         * as/link/mcs51/lkarea.c (lnkarea2, lnksect2): replaced [di]seg_ap->a_addr
40523           with [di]ram_start to fix a regresion
40525 2007-01-03 Bernhard Held <bernhard AT bernhardheld.de>
40527         * configure.in: added missing mcs51 in status output
40528         * Makefile.in: add support/regression to SDCC_EXTRA to distclean this
40529         directory
40530         * debugger/mcs51/clean.mk (distclean): remove config.h
40531         * src/clean.mk (clean): remove SDCCy.c, SDCCy.h, SDCClex.c
40532         * support/cpp2/Makefile.in (clean): remove s-options, optionlist,
40533         options.h, s-options-h and options.c
40534         * support/cpp2/clean.mk: unused, removed
40535         * Makefile.common.in,
40536         * main_in.mk,
40537         * as/Makefile.in,
40538         * as/hc08/Makefile.in,
40539         * as/hc08/clean.mk,
40540         * as/mcs51/Makefile.in,
40541         * as/mcs51/clean.mk,
40542         * as/z80/clean.mk,
40543         * as/z80/conf.mk,
40544         * as/z80/Makefile.in,
40545         * as/z80/clean.mk,
40546         * as/link/Makefile.in,
40547         * as/link/hc08/Makefile.in,
40548         * as/link/hc08/clean.mk,
40549         * as/link/mcs51/Makefile.in,
40550         * as/link/mcs51/clean.mk,
40551         * as/link/z80/Makefile.in,
40552         * as/link/z80/clean.mk,
40553         * as/link/z80/conf.mk,
40554         * debugger/mcs51/Makefile.in,
40555         * debugger/mcs51/clean.mk,
40556         * device/include/Makefile.in,
40557         * device/lib/Makefile.in,
40558         * device/lib/mcs51/Makefile.in,
40559         * device/lib/pic/Makefile.in,
40560         * device/lib/pic/Makefile.common.in,
40561         * device/lib/pic/Makefile.subdir,
40562         * device/lib/pic/Makefile.rules,
40563         * device/lib/pic16/libio/Makefile.in,
40564         * device/lib/pic16/Makefile.subdir,
40565         * device/lib/pic16/libdev/Makefile.in,
40566         * device/lib/pic16/Makefile.rules,
40567         * device/lib/pic16/Makefile.common.in,
40568         * sim/ucsim/avr.src/Makefile.in,
40569         * sim/ucsim/main_in.mk,
40570         * sim/ucsim/cmd.src/Makefile.in,
40571         * sim/ucsim/doc/Makefile.in,
40572         * sim/ucsim/gui.src/Makefile.in,
40573         * sim/ucsim/gui.src/obsolete/portmon.src/Makefile.in,
40574         * sim/ucsim/gui.src/serio.src/Makefile.in,
40575         * sim/ucsim/hc08.src/Makefile.in,
40576         * sim/ucsim/libltdl/Makefile.in,
40577         * sim/ucsim/s51.src/Makefile.in,
40578         * sim/ucsim/sim.src/Makefile.in,
40579         * sim/ucsim/sim.src/conf.mk,
40580         * sim/ucsim/xa.src/Makefile.in,
40581         * sim/ucsim/z80.src/Makefile.in,
40582         * src/Makefile.in,
40583         * src/clean.mk,
40584         * src/port.mk,
40585         * support/cpp2/Makefile.in,
40586         * support/librarian/Makefile.in,
40587         * support/librarian/clean.mk,
40588         * support/makebin/Makefile.in,
40589         * support/makebin/clean.mk,
40590         * support/packihx/Makefile.in,
40591         * support/regression/Makefile.in,
40592         * support/regression/ports/ds390/spec.mk,
40593         * support/regression/ports/gbz80/spec.mk,
40594         * support/regression/ports/hc08/spec.mk,
40595         * support/regression/ports/mcs51/spec.mk,
40596         * support/regression/ports/mcs51-large/spec.mk,
40597         * support/regression/ports/mcs51-medium/spec.mk,
40598         * support/regression/ports/mcs51-xstack-auto/spec.mk,
40599         * support/regression/ports/pic14/spec.mk,
40600         * support/regression/ports/pic16/spec.mk,
40601         * support/regression/ports/mcs51-stack-auto/spec.mk,
40602         * support/regression/ports/ucz80/spec.mk,
40603         * support/regression/ports/xa51/spec.mk,
40604         * support/regression/ports/z80/spec.mk: fixed for autoconf 2.6x by
40605         adding a slash after $(top_builddir) and/or adding @datarootdir@
40606         * configure.in,
40607         * debugger/mcs51/configure.in,
40608         * device/lib/pic/configure.in,
40609         * device/lib/pic16/configure.in,
40610         * sim/ucsim/configure.in,
40611         * support/cpp2/configure.in,
40612         * support/packihx/configure.in: changed AC_PREREQ to 2.60
40613         * configure,
40614         * debugger/mcs51/configure,
40615         * device/lib/pic/configure,
40616         * device/lib/pic16/configure,
40617         * sim/ucsim/configure,
40618         * support/cpp2/configure,
40619         * support/packihx/configure: generated with autoconf 2.60
40621 2007-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
40623         * as/link/hc08/lkihx.c (newArea),
40624         * as/link/hc08/lkrloc.c: renamed newArea() to ihxNewArea()
40626 2007-01-02 Borut Razem <borut.razem AT siol.net>
40628         * doc/sdccman.lyx: documented #pragma sdcc_hash
40629         * support/cpp2/sdcpp.c: allow_naked_hash (value of #pragma sdcc_hash)
40630           initialized to 0
40631         * support/cpp2/c-ppoutput.c: fixed warning: no newline at end of file
40633 2007-01-01 Bernhard Held <bernhard AT bernhardheld.de>
40635         * src/SDCCast.c (createDo): backPatchLabels() needs falseLabel in
40636         empty 'while'-loop to work correctly, see regression test 'while.c'
40637         * support/regression/tests/while.c: added
40639 2007-01-01 Borut Razem <borut.razem AT siol.net>
40641         * support/cpp2/libcpp/directives.c, support/cpp2/libcpp/identifiers.c,
40642           support/cpp2/libcpp/init.c, support/cpp2/libcpp/sdcpp-opts.c,
40643           support/cpp2/libcpp/sdcpp.c:
40644           sdcpp specific pragma/directive/option handling moved to sdcpp.c
40645         * doc/sdccman.lyx: reference to the GCC 4.1.1 CPP Manual
40646         * support/cpp2/libcpp/mkdeps.c: synchronized with GCC CPP 4.1.1
40648 2006-12-31 Borut Razem <borut.razem AT siol.net>
40650         * SDCPP synchronized with GCC CPP release version 4.1.1,
40651           currently the latest release:
40652         * support/cpp2/libcpp, support/cpp2/libcpp/include,
40653           support/cpp2/libcpp/include/cpp-id-data.h
40654           support/cpp2/libiberty/fopen_unlocked.c
40655           support/cpp2/libiberty/md5.c
40656           support/cpp2/md5.h
40657           support/cpp2/opt-functions.awk
40658           support/cpp2/opt-gather.awk
40659           support/cpp2/optc-gen.awk
40660           support/cpp2/opth-gen.awk:
40661           added
40662         * support/cpp2/Makefile.in, support/cpp2/auto-host_vc_in.h,
40663           support/cpp2/c-incpath.c, support/cpp2/c-incpath.h,
40664           support/cpp2/c-ppoutput.c, support/cpp2/c-pretty-print.c,
40665           support/cpp2/c-pretty-print.h, support/cpp2/cppdefault.c,
40666           support/cpp2/cppdefault.h, support/cpp2/diagnostic.c,
40667           support/cpp2/diagnostic.h, support/cpp2/except.h,
40668           support/cpp2/hwint.h, support/cpp2/input.h,
40669           support/cpp2/intl.h, support/cpp2/move-if-change,
40670           support/cpp2/opts.c, support/cpp2/opts.h,
40671           support/cpp2/output.h, support/cpp2/prefix.c,
40672           support/cpp2/prefix.h, support/cpp2/pretty-print.c,
40673           support/cpp2/pretty-print.h, support/cpp2/sdcpp-opts.c,
40674           support/cpp2/sdcpp.c, support/cpp2/sdcpp.dsp,
40675           support/cpp2/sdcpp.h, support/cpp2/sdcpp.opt,
40676           support/cpp2/sdcppa.dsp, support/cpp2/symcat.h,
40677           support/cpp2/version.c:
40678           modified
40679         * support/cpp2/libcpp/charset.c, support/cpp2/libcpp/directives.c,
40680           support/cpp2/libcpp/errors.c, support/cpp2/libcpp/expr.c,
40681           support/cpp2/libcpp/files.c, support/cpp2/libcpp/identifiers.c,
40682           support/cpp2/libcpp/include/cpplib.h, support/cpp2/libcpp/include/line-map.h,
40683           support/cpp2/libcpp/include/mkdeps.h, support/cpp2/libcpp/include/symtab.h,
40684           support/cpp2/libcpp/init.c, support/cpp2/libcpp/internal.h,
40685           support/cpp2/libcpp/lex.c, support/cpp2/libcpp/line-map.c,
40686           support/cpp2/libcpp/macro.c, support/cpp2/libcpp/mkdeps.c,
40687           support/cpp2/libcpp/symtab.c, support/cpp2/libcpp/system.h,
40688           support/cpp2/libcpp/traditional.c, support/cpp2/libcpp/ucnid.h,
40689           support/cpp2/libiberty/hashtab.c, support/cpp2/libiberty/hashtab.h:
40690           moved
40691         * support/cpp2/cppcharset.c, support/cpp2/cpperror.c,
40692           support/cpp2/cppexp.c, support/cpp2/cppfiles.c,
40693           support/cpp2/cpphash.c, support/cpp2/cpphash.h,
40694           support/cpp2/cppinit.c, support/cpp2/cpplex.c,
40695           support/cpp2/cpplib.c, support/cpp2/cpplib.h,
40696           support/cpp2/cppmacro.c, support/cpp2/cpptrad.c,
40697           support/cpp2/cppucnid.h, support/cpp2/hashtab.c,
40698           support/cpp2/hashtab.h, support/cpp2/hashtable.c,
40699           support/cpp2/hashtable.h, support/cpp2/line-map.c,
40700           support/cpp2/line-map.h, support/cpp2/mkdeps.c,
40701           support/cpp2/mkdeps.h, support/cpp2/options_vc_in.c,
40702           support/cpp2/options_vc_in.h, support/cpp2/opts.sh,
40703           support/cpp2/system.h:
40704           deleted / moved
40706 2006-12-31 Borut Razem <borut.razem AT siol.net>
40708         * configure.in, configure: fixed bug #1538756: configure dies if bison
40709           and flex are not installed, 2nd try
40711 2006-12-30 Bernhard Held <bernhard AT bernhardheld.de>
40713         * src/mcs51/peeph.def: renamed rule 400 to 500, moved rule 253.x to
40714         400.x for better code in RFE 899102
40716 2006-12-30 Bernhard Held <bernhard AT bernhardheld.de>
40718         * src/SDCCpeeph.c (deadMove),
40719         * src/port.h,
40720         * src/mcs51/peep.h: renamed 'op' by 'reg'
40721         * src/mcs51/peep.c (isFunc, isCallerSaveFunc): added,
40722         (scan4op): small change for removeDeadMove(), added support for
40723         'callee saves' and/or PACLL function calls,
40724         (removeDeadMove): added, removes superflous 'mov r%1,%2',
40725         (removeDeadPopPush): renamed from mcs51DeadMove(), common parts
40726         left in new dispatcher mcs51DeadMove()
40727         (mcs51DeadMove): dispatcher for removeDeadPopPush() and new
40728         removeDeadMove()
40729         * src/mcs51/peeph.def: added rule 301 removing superflous 'mov r%1,%2'
40731 2006-12-30 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40733         * support/cpp2/options_vc_in.h, support/cpp2/options_vc_in.c,
40734           support/cpp2/sdcppa.dsp: create 'options.h' and 'options.c' under MSVC.
40736 2006-12-30 Borut Razem <borut.razem AT siol.net>
40738         * support/cpp2/spacs.h: deleted from svn
40739         * configure.in, configure: fixed bug #1538756: configure dies if bison
40740           and flex are not installed
40742 2006-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
40744         * src/z80/gen.c (assignResultValue): fixed bug when registers overlap,
40745           with this z80 passes printf float test when enabled
40746         * support/regression/tests/bug1057979.c: typo disabled ds390 float test
40748 2006-12-28 Borut Razem <borut.razem AT siol.net>
40750         * support/cpp2/config.in, support/cpp2/configure.in,
40751           support/cpp2/configure, support/cpp2/Makefile.in:
40752           fix for the solaris build
40754 2006-12-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
40756         * src/SDCC.y (type_specifier2, pointer),
40757         * src/SDCCsymt.h,
40758         * src/SDCCsymt.c (mergeSpec, checkSClass),
40759         * support/Util/SDCCerr.c,
40760         * support/Util/SDCCerr.h: Parse and validate the restrict keyword
40761         * support/valdiag/valdiag.py: Allow test cases to specify
40762           required language standard
40763         * support/valdiag/tests/restrict.c: New file to test restrict keyword
40764         * support/valdiag/tests/tentdecl.c: Supress empty source file error
40766 2006-12-27 Borut Razem <borut.razem AT siol.net>
40768         * support/cpp2/cppmain.c, support/cpp2/mbchar.[ch]: removed
40769         * support/cpp2/libiberty/Makefile.in, support/cpp2/libiberty/sdcpp.dsp:
40770           mbchar removed
40771         * support/cpp2/libiberty/getpwd.c, support/cpp2/sdcpp.h:
40772           fixed for borland C
40773         * support/cpp2/libiberty/Makefile.bcc: updated
40774         * src/pic16/main.c: fixed #pragma udata handling
40775         * src/mcs51/mcs51.dsp: added peep.[ch] to the project
40777 2006-12-26 Bernhard Held <bernhard AT bernhardheld.de>
40779         * src/SDCCpeeph.c: made labelHashEntry global,
40780         made pcDistance, FBYNAME static,
40781         (pcDistance): made static, use isComment and isLabel,
40782         (deadMove): added,
40783         (getLabelRef): added, extracted from labelRefCount(),
40784         (labelRefCount): use new getLabelRef(),
40785         (callFuncByName): made static, added deadMove,
40786         use isComment and isLabel,
40787         (newPeepRule): made static, set isLabel,
40788         (isLabelDefinition): added parameter isPeepRule to allow '%' in
40789         labels from peephole rules,
40790         (buildLabelRefCountHash): speed up by running isLabelDefinition() only
40791         when isComment or isLabel is set
40792         * src/SDCCpeeph.h: added "isLabel" and "visited" to struct lineNode,
40793         added labelHashEntry, isLabelDefinition, labelHash and getLabelRef
40794         to make them global
40795         * src/mcs51/peep.h: added
40796         * src/mcs51/peep.c: added, implements mcs51DeadMove()
40797         * src/port.h: added peep->deadMove to port structure
40798         * src/mcs51/main.c: initialize peep->deadMove with mcs51DeadMove
40799         * src/mcs51/peeph.def: renumbered rule 300 to 400, added new rule 300
40800         deadMove, finally removed no. 1 and 2
40801         * src/mcs51/gen.c,
40802         * src/pic/gen.c,
40803         * src/z80/gen.c,
40804         * src/z80/ralloc.c,
40805         * src/pic16/gen.c,
40806         * src/ds390/gen.c,
40807         * src/hc08/gen.c: mark lines with isComment or isLabel
40808         * sim/ucsim/s51.src/uc390hw.cc: don't waist 65535 ticks before CKRDY
40809         * .version,
40810         * sdcc.spec: bumped version to 2.6.3
40812 2006-12-26 Borut Razem <borut.razem AT siol.net>
40814         * support/cpp2/Makefile.in: added dependency on options.h
40815         * configure: regenerated
40816         * support/cpp2/sdcpp.opt, support/cpp2/move-if-change: svn:eol-style native
40817         * support/cpp2/Makefile.in: added vasprintf.c
40819 2006-12-25 Borut Razem <borut.razem AT siol.net>
40821         * SDCPP synchronized with GCC CPP release version 3.4.6,
40822           the latest release before 4.x:
40823         * support/cpp2/Makefile.in, support/cpp2/config.h,
40824           support/cpp2/configure, support/cpp2/configure.in,
40825           support/cpp2/cppdefault.c, support/cpp2/cppdefault.h,
40826           support/cpp2/cpperror.c, support/cpp2/cppexp.c,
40827           support/cpp2/cppfiles.c, support/cpp2/cpphash.c,
40828           support/cpp2/cpphash.h, support/cpp2/cppinit.c,
40829           support/cpp2/cpplex.c, support/cpp2/cpplib.c,
40830           support/cpp2/cpplib.h, support/cpp2/cppmacro.c,
40831           support/cpp2/cpptrad.c, support/cpp2/except.h,
40832           support/cpp2/hashtable.c, support/cpp2/hashtable.h,
40833           support/cpp2/hwint.h, support/cpp2/intl.h,
40834           support/cpp2/line-map.c, support/cpp2/line-map.h,
40835           support/cpp2/mkdeps.c, support/cpp2/mkdeps.h,
40836           support/cpp2/output.h, support/cpp2/prefix.c,
40837           support/cpp2/prefix.h, support/cpp2/sdcpp.dsp,
40838           support/cpp2/system.h, support/cpp2/version.c:
40839           modified
40840         * support/cpp2/c-incpath.c, support/cpp2/c-incpath.h,
40841           support/cpp2/c-ppoutput.c, support/cpp2/c-pretty-print.c,
40842           support/cpp2/c-pretty-print.h, support/cpp2/cppcharset.c,
40843           support/cpp2/cppucnid.h, support/cpp2/diagnostic.c,
40844           support/cpp2/diagnostic.def, support/cpp2/diagnostic.h,
40845           support/cpp2/hashtab.c, support/cpp2/hashtab.h,
40846           support/cpp2/input.h, support/cpp2/libiberty/getpwd.c,
40847           support/cpp2/libiberty/vasprintf.c, support/cpp2/libiberty/xmemdup.c,
40848           support/cpp2/move-if-change, support/cpp2/opts.c,
40849           support/cpp2/opts.h, support/cpp2/opts.sh,
40850           support/cpp2/pretty-print.c, support/cpp2/pretty-print.h,
40851           support/cpp2/sdcpp.opt, support/cpp2/sdcpp-opts.c,
40852           support/cpp2/win32, support/cpp2/win32/dirent.c,
40853           support/cpp2/win32/dirent.h:
40854           added
40855         * support/cpp2/sdcpp.c: renamed from sdcppmain.c
40856         * support/cpp2/sdcpp.h: renamed from sdcc.h
40857         * sdcppinit.c: deleted
40859 2006-12-23 Borut Razem <borut.razem AT siol.net>
40861         * support/cpp2/cpphash.h, support/cpp2/cpplex.c,
40862           support/cpp2/cpplib.[ch], support/cpp2/sdcppinit.c, doc/sdccman.lyx,
40863           preproc.c: an other try to fix bug #982435: introduced
40864           -pedantic-parse-number command line option and pedantic_parse_number
40865           pragma
40867 2006-12-21 Maarten Brock <sourceforge.brock AT dse.nl>
40869         * as/link/mcs51/lkarea.c (lnkarea2): handle absolute areas, restructured
40870            BSEG handling,
40871           (lnksect2): use --data-loc and --idata-loc as lower bound for ramstart,
40872            corrected overlayed areax addresses, warn about memory overlaps
40873         * as/mcs51/asmain.c (asmbl): create a new area for every .org directive
40874         * src/avr/main.c,
40875         * src/ds390/main.c,
40876         * src/hc08/main.c,
40877         * src/mcs51/main.c,
40878         * src/pic16/main.c,
40879         * src/pic/main.c,
40880         * src/xa51/main.c,
40881         * src/z80/main.c,
40882         * src/port.h: added xabs_name and iabs_name
40883         * src/SDCCglue.c (emitRegularMap): allocate for absolutes with initializer
40884           (glue, emitMaps): create and emit maps d_abs and i_abs
40885         * src/SDCCglue.h: cosmetic changes
40886         * src/SDCCmain.c (setDefaultOptions): idata can start below 0x80
40887         * src/SDCCmem.h,
40888         * src/SDCCmem.c (initMem): added x_abs, i_abs and d_abs
40889           (allocDefault): put absolute, initialized globals in them
40890         * support/regression/tests/absolute.c: added absolute bdata test
40891         * device/lib/printf_large.c (output_float): moved fpBuffer to stack/xdata
40893 2006-12-20 Borut Razem <borut.razem AT siol.net>
40895         * support/cpp2/cpphash.h, support/cpp2/cpplex.c: fixed bug #982435
40896         * support/regression/tests/preproc.c: renamed from bug-1351710.c,
40897           added regression test for bug #982435
40899 2006-12-18 Borut Razem <borut.razem AT siol.net>
40901         * src/SDCCutil.c: fixed a bug in (get_pragma_token)
40902         * src/pic16/main.c, src/SDCC.lex, src/z80/main.c:
40903           small cosmetic changes
40904         * src/SDCC.lex: (stringLiteral) fixed bug #1351710
40905         * support/regression/tests/bug-1351710.c: added regression test
40907 2006-12-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40909         * doc/sdccman.lyx: added the long missed iCode table
40910           "<where is figure II?>", added links to wiki
40912 2006-12-17 Borut Razem <borut.razem AT siol.net>
40914         * doc/sdccman.lyx, src/pic16/main.c, src/pic/main.c, src/port.h,
40915           src/SDCC.lex, src/SDCCutil.[ch], src/z80/main.c,
40916           support/Util/SDCCerr.[ch]: removed deprecated pragmas,
40917           unified table driven pragma handling, pragma argument type checking
40918         * support/Util/dbuf.c: (dbuf_set_size) allow to set size equal to the
40919           current one - version 1.1.3
40920         * src/SDCCmain.c: (setParseWithComma) substituted brain damaged strtok
40922 2006-12-13 Raphael Neider <rneider AT web.de>
40924         * src/pic/device.h: removed AssignedMemory structure and macros
40925         * src/pic/device.c: removed global finalMapping (linker assigns
40926             memory locations),
40927           (register_map): add SFRs to remembered memRanges
40928           (addMemRange,isSFR,dump_map,dump_sfr,mapRegister,assignRegister,
40929           assignFixedRegisters,assignRelocatableRegisters): removed,
40930           (setMaxRAM,validAddress): adapted accordingly,
40931           (pic14_hasSharebank,pic14_getSharedStack): only report and use
40932             reasonably sized sharebanks,
40933         * src/pic/ralloc.c (writeUsedRegs): stripped down (remove?),
40934           (allDefsOutOfRange): removed unused code,
40935         * src/pic/main.c (_process_pragma): removed memmap/maxram pragma
40936             handling
40937         * src/pic/pcode.c (register_reassign): removed recursion warning,
40938             fired far too often,
40939         * src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap): modified
40940             to use existing pic14_stringInSet() to avoid duplicate symbols,
40941             tidied up the code a bit,
40942           (pic14printLocals): added in symmetry to printExterns, replaces
40943             writeUsedRegs more or less,
40944           (picglue): call new pic14_printLocals(),
40945         * device/include/pic/pic*.h: removed #pragma memmap directives,
40946             information gathered from include/pic/pic14devices.txt
40947         * support/scripts/inc2h.pl: do not emit #pragma memmap lines
40949 2006-12-10 Maarten Brock <sourceforge.brock AT dse.nl>
40951         * device/include/mcs51/C8051F520.h: fixed buggy CPT0MX
40953 2006-12-11 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40955         * device/include/mcs51/cc2430.h: fixed missing ';'
40957 2006-12-10 Raphael Neider <rneider AT web.de>
40959         * device/lib/pic16/libc/stdio/vfprintf.c,
40960         * device/lib/pic16/libc/stdio/printf_small.c,
40961         * device/lib/pic16/libc/stdio/printf_timy.c: pop int from stack for
40962           char arguments, as char varargs are cast to int by the caller,
40963           hopefully fixes #1604915 (other device libraries are still affected)
40965 2006-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
40967         * src/mcs51/ralloc.c (packRegsForAssign),
40968         * src/hc08/ralloc.c (packRegsForAssign): fixed bug #1605880
40970 2006-12-10 Maarten Brock <sourceforge.brock AT dse.nl>
40972         * device/include/malloc.h: removed init_dynamic_memory
40973         * device/lib/malloc.c: made init_dynamic_memory static and automatically
40974           call it once from malloc. Also use _sdcc_heap[] from _heap.c
40975         * device/lib/_heap.c: new, added, contains _sdcc_heap[]
40976         * device/lib/libsdcc.lib,
40977         * device/lib/Makefile.in,
40978         * support/regression/ports/mcs51-xstack-auto/spec.mk: added _heap.c
40979         * doc/sdccman.lyx: documented use of new _heap.c
40980         * support/regression/tests/malloc.c: removed init_dynamic_memory
40981         * src/cdbFile.c(spacesToUnderscores): new function,
40982           (cdbWriteEndFunction, cdbWriteCLine): use spacesToUnderscores, fixes bug
40983           1068030
40984         * device/include/tinibios.h: removed defines for putchar and getchar
40985         * device/lib/ds390/Makefile.in: added putchar.c
40986         * device/lib/ds390/putchar.c: new, added, fixes bug 1465671
40988 2006-12-09 Borut Razem <borut.razem AT siol.net>
40990         * support/cpp2/sdcc.h: prevent multiple inclusion
40991         * support/cpp2/options.h: deleted
40993 2006-12-08 Borut Razem <borut.razem AT siol.net>
40995         * support/cpp2/sdcc.h: removed x*alloc() macros
40996         * support/cpp2/libiberty.h: uncommented out x*alloc() declarations
40997         * support/cpp2/Makefile.bcc, support/cpp2/Makefile.in,
40998           support/cpp2/sdcpp.sdc: x*alloc files added to the project
40999         * support/cpp2/system.h: moved #include "sdcc.h"
41000         * support/cpp2/libiberty/xexit.c, support/cpp2/libiberty/xmalloc.c,
41001           support/cpp2/libiberty/xstrdup.c, support/cpp2/libiberty/xstrerror.c:
41002           added
41003         * support/cpp2/sdcppinit.c: added -isysroot, -fsigned-char,
41004           -funsigned-char options
41005         * support/cpp2/sdcppmain.c: fixed bug 1611411
41007 2006-12-07 Borut Razem <borut.razem AT siol.net>
41009         * support/cpp2/cpplib.c: reverted sdcpp special handling of _Pragma()
41010           directive
41012 2006-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
41014         * src/SDCCsymt.c (addDecl): fixed bug 1609244
41015         * src/SDCCmain.c (linkEdit): fixed bug 1609279
41016         * doc/sdccman.lyx,
41017         * .version: bumped to 2.6.2 because a) it's been a while
41018           b) the linker sources have moved c) the preprocessor is upgraded
41020 2006-12-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41022         * support/regression/tests/snprintf.c: some checks
41023         * lib/src/printf_large.c: %bc: read char instead of int from stack
41025 2006-12-03 Maarten Brock <sourceforge.brock AT dse.nl>
41027         * device/include/mcs51/cc2430.h: inserted _XPAGE
41029 2006-12-02 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41031         * device/include/mcs51/cc2430.h: added
41033 2006-12-02 Maarten Brock <sourceforge.brock AT dse.nl>
41035         * device/include/asm/default/features.h,
41036         * device/include/asm/ds390/features.h,
41037         * device/include/mcs51/at89s53.h,
41038         * device/include/ser.h,
41039         * device/include/ser_ir.h,
41040         * device/include/serial.h: changed keywords to double underscore variants,
41041           fixes bug 1590261 some more, thanks Steven Borley
41043 2006-12-01 Raphael Neider <rneider AT web.de>
41045         * src/pic/pcode.c (register_reassign): do not crash on recursive code
41046           but emit warning (recursion is not supported for pic14)
41048 2006-11-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41050         * src/mcs51/peeph.def: added 101.a,b (moves to int/long xdata)
41051         * doc/sdccman.lyx: various small changes, acknowledged Sourceforge
41053 2006-11-30 Raphael Neider <rneider AT web.de>
41055         * src/pic/device.c (dump_sfr): always emit symbols
41056         * src/pic/glue.c (pic14printPublics): fixed typo
41058 2006-11-30 Raphael Neider <rneider AT web.de>
41060         * src/pic/device.c (create_pic,ram_map): add memRange entries to PIC
41061           (pic14_getSharebankSize, pic14_getSharebankAddress): replaced with
41062           (pic14_hasSharebank,pic14_isShared,pic14_allRAMShared,
41063            pic14_getSharedStack): NEW, evaluate the memRange entries to locate
41064            a sharebank, use a non-shared bank for the stack if none available
41065         * src/pic/device.h (struct memRange): added linked list next field,
41066           added prototypes for above functions
41067         * src/pic/ralloc.c (initStack): handle shared and banked stacks,
41068           (typeRegWithIdx): accept fixed and unfixed stack registers
41069         * src/pic/pcode.c (pCodeInitRegisters): use new functions to create
41070           the stack, handle shared and banked stack (except for WSAVE),
41071           (insertBankSel): removed useless optimization (will never fire),
41072           (FixRegisterBanking): added optimization for devices with only one
41073           possibly aliased bank of memory, like 16f84
41074         * src/pic/glue.c (pic14_constructAbsMap): back to udata_ovr, as some
41075           devices have no SHAREBANK in the linker script
41076         * device/include/pic/pic14devices.txt: documented memmap
41077         * device/lib/pic/libdev/Makefile.in: removed --stack-loc again
41079 2006-11-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
41081         * src/hc08/gen.c (transferRegReg, loadRegFromAop, forceStackedAop,
41082           storeRegToAop, freeAsmop, genPlusIncr, genPlus, genPointerGetSetOfs,
41083           genAnd, genOr, genXor, genLeftShiftLiteral, genRightShiftLiteral,
41084           genhc08Code): switched most of the D (debug) macros to DD (detailed
41085           debug) macros to better control clutter in the generated .asm file.
41086         * src/hc08/gen.c: (forceStackedAop, genUminus, genLeftShift,
41087           genRightShift): fixed bug with non-constant bit shift stored to
41088           a volatile result (SF Open Discussion forum thread #1616749).
41089           Single byte case is not yet optimized.
41091 2006-11-28 Maarten Brock <sourceforge.brock AT dse.nl>
41093         * device/include/asm/mcs51/features.h,
41094         * device/include/malloc.h,
41095         * device/include/stdio.h: changed keywords to double underscore variants,
41096           fixes bug 1590261
41098 2006-11-27 Borut Razem <borut.razem AT siol.net>
41100         * support/cpp2/cppexp.c, support/cpp2/hashtable.h,
41101           support/cpp2/Makefile.in, support/cpp2/cppfiles.c,
41102           support/cpp2/output.h, support/cpp2/cppinit.c,
41103           support/cpp2/cpplib.c, support/cpp2/cpplib.h,
41104           support/cpp2/Makefile.bcc, support/cpp2/cpphash.c,
41105           support/cpp2/cppdefault.c, support/cpp2/system.h,
41106           support/cpp2/cpphash.h, support/cpp2/cpplex.c,
41107           support/cpp2/cppdefault.h, support/cpp2/mbchar.c,
41108           support/cpp2/prefix.c, support/cpp2/except.h,
41109           support/cpp2/hwint.h, support/cpp2/cppmacro.c,
41110           support/cpp2/line-map.h, support/cpp2/sdcpp.dsp,
41111           support/cpp2/sdcc.h, support/cpp2/mkdeps.c,
41112           support/cpp2/version.c, support/cpp2/cppmain.c,
41113           support/cpp2/version.h, support/cpp2/hashtable.c,
41114           support/cpp2/cpperror.c:
41115           synchronized with GCC CPP release version 3.3.6,
41116           the latest where cppmain.c still exists.
41117         * support/cpp2/cpptrad.c, support/cpp2/sdcppmain.c,
41118           support/cpp2/sdcppinit.c: added
41120 2006-11-27 Borut Razem <borut.razem AT siol.net>
41122         * support/cpp2/cpplex.c:
41123           fixed _asm ... _endasm handling bug, introduce with GCC CPP
41124           synchronization
41125         * support/cpp2/cpplib.c: removed definitions of unused variables
41127 2006-11-26 Borut Razem <borut.razem AT siol.net>
41129         * support/cpp2/libiberty.h: commented out x*alloc() declarations
41130           since they are redefined by macros in support/cpp2/sdcc.h
41131         * support/cpp2/sdcc.h: x*alloc macro redefinition
41133 2006-11-25 Borut Razem <borut.razem AT siol.net>
41135         * support/cpp2/cppexp.c, support/cpp2/hashtable.h,
41136           support/cpp2/configure, support/cpp2/Makefile.in,
41137           support/cpp2/cppfiles.c, support/cpp2/output.h,
41138           support/cpp2/cppinit.c, support/cpp2/cpplib.c,
41139           support/cpp2/config.h, support/cpp2/cpplib.h,
41140           support/cpp2/Makefile.bcc, support/cpp2/cpphash.c,
41141           support/cpp2/cppdefault.c, support/cpp2/config.in,
41142           support/cpp2/system.h, support/cpp2/cpplex.c,
41143           support/cpp2/cpphash.h, support/cpp2/mbchar.c,
41144           support/cpp2/cppdefault.h, support/cpp2/prefix.c
41145           support/cpp2/hwint.h, support/cpp2/mbchar.h,
41146           support/cpp2/prefix.h, support/cpp2/cppmacro.c,
41147           support/cpp2/configure.in, support/cpp2/intl.h,
41148           support/cpp2/sdcpp.dsp, support/cpp2/acconfig.h,
41149           support/cpp2/sdcc.h, support/cpp2/mkdeps.c,
41150           support/cpp2/version.c, support/cpp2/cppmain.c,
41151           support/cpp2/ansidecl.h, support/cpp2/libiberty.h,
41152           support/cpp2/hashtable.c, support/cpp2/aclocal.m4,
41153           support/cpp2/cpperror.c,
41154           support/cpp2/libiberty/safe-ctype.c,
41155           support/cpp2/libiberty/safe-ctype.h,
41156           support/cpp2/libiberty/splay-tree.c,
41157           support/cpp2/libiberty/obstack.c,
41158           support/cpp2/libiberty/lbasename.c,
41159           support/cpp2/libiberty/splay-tree.h,
41160           support/cpp2/libiberty/obstack.h:
41161           synchronized with GCC CPP release version 3.2.3,
41162           the latest before integration of cpp into gcc
41163         * support/cpp2/except.h, support/cpp2/line-map.c,
41164           support/cpp2/line-map.h,
41165           support/cpp2/libiberty/hex.c,
41166           support/cpp2/libiberty/concat.c,
41167           support/cpp2/libiberty/filenames.h: added
41168         * support/cpp2/intl.c: deleted
41170 2006-11-24 Borut Razem <borut.razem AT siol.net>
41172         * src/SDCC.y: enabled compilation of empty source file
41173         * support/Util/SDCCerr.[ch]: added sdcc warning 190 -
41174           "ISO C forbids an empty source file"
41175         * device/lib/_startup.c, device/lib/printf_tiny.c: disable warning 190
41176           if all the code is ifdefed out.
41178 2006-11-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
41180         * src/hc08/gen.c (genPcall): fix for bug #1601032
41182 2006-11-23 Maarten Brock <sourceforge.brock AT dse.nl>
41184         * device/include/mcs51/c8051f000.h, device/include/mcs51/C8051F000.h,
41185         * device/include/mcs51/c8051f018.h, device/include/mcs51/C8051F018.h,
41186         * device/include/mcs51/c8051f020.h, device/include/mcs51/C8051F020.h,
41187         * device/include/mcs51/c8051f040.h, device/include/mcs51/C8051F040.h,
41188         * device/include/mcs51/c8051f060.h, device/include/mcs51/C8051F060.h,
41189         * device/include/mcs51/c8051f120.h, device/include/mcs51/C8051F120.h,
41190         * device/include/mcs51/c8051f200.h, device/include/mcs51/C8051F200.h,
41191         * device/include/mcs51/c8051f300.h, device/include/mcs51/C8051F300.h,
41192         * device/include/mcs51/c8051f310.h, device/include/mcs51/C8051F310.h,
41193         * device/include/mcs51/c8051f320.h, device/include/mcs51/C8051F320.h,
41194         * device/include/mcs51/c8051f326.h, device/include/mcs51/C8051F326.h,
41195         * device/include/mcs51/c8051f330.h, device/include/mcs51/C8051F330.h,
41196         * device/include/mcs51/c8051f340.h, device/include/mcs51/C8051F340.h,
41197         * device/include/mcs51/c8051f350.h, device/include/mcs51/C8051F350.h,
41198         * device/include/mcs51/c8051f410.h, device/include/mcs51/C8051F410.h:
41199           Renamed to all upper case as per the standard set by SiLabs
41201 2006-11-23 Maarten Brock <sourceforge.brock AT dse.nl>
41203         * device/include/mcs51/C8051F520.h: new, added
41204         * device/include/mcs51/compiler.h: added link about predefined macros
41206 2006-11-23 Raphael Neider <rneider AT web.de>
41208         * src/regression/Makefile: add -L path to fresh library
41209         * src/regression/simulate: emphasize FAILED output
41210         * src/regression/create_stc: output _failures from gpsim
41211         * src/regression/compare4.c,
41212         * src/regression/rotate6.c: fixed char literals,
41213           all compile, all run =8-D
41215         * src/pic/pcode.h: added isPCASMDIR macro
41216         * src/pic/gen.c (genAnd): fixed bit offset
41217         * src/pic/ralloc.c (allocNewDirReg,allocDirReg,allocRegByName,
41218           packBits): unified register numbering schemes,
41219           (newReg): do not insert stack registers into hash table,
41220           (initStack): unpinned pseudo stack, simplified,
41221           (typeRegWithIdx): fixed retrieval of stack registers,
41222         * src/pic/pcode.c (addpCodeComment,sameBank): added,
41223           (pCodeReplace): removed invalid assertion,
41224           (insertPCodeInstruction): fixed newly added labels,
41225           (insertBankSwitch,BankSelect,IsBankChange,DoBankSelect,
41226           FixRegisterBankingInFlow,compareBankFlow,FixBankFlow,
41227           DumpFlow): removed unsed (broken?) code,
41228           (insertBankSel): prevent STATUS from being BANKSELed,
41229           (FixRegisterBanking): rewritten from scratch, implemented generic
41230             optimizations (suppress BANKSELs to same register and to registers
41231             present in all banks),
41232           (AnalyzeBanking): update flow after BANKSELection
41234         * src/pic/glue.c (pic14_constructAbsMap): emit pseudo stack in
41235             sharebank, let linker place it, mark STKxx symbols as emitted
41237 2006-11-21 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41239         * src/regression/arrays.c,
41240         * src/regression/bank1.c,
41241         * src/regression/bool2.c,
41242         * src/regression/compare7.c,
41243         * src/regression/compare8.c,
41244         * src/regression/compare9.c,
41245         * src/regression/compare10.c,
41246         * src/regression/configword.c,
41247         * src/regression/for.c,
41248         * src/regression/mult1.c,
41249         * src/regression/pointer1.c,
41250         * src/regression/rotate6.c,
41251         * src/regression/string1.c,
41252         * src/regression/struct1.c,
41253         * src/regression/Makefile: make PIC14 regression tests run again
41254           (3 fail, 6 won't compile)
41256 2006-11-21 Raphael Neider <rneider AT web.de>
41258         * device/include/pic16/pic18f4550.h,
41259         * device/include/pic16/pic18f4455.h,
41260         * device/lib/pic16/libdev/pic18f4550.c,
41261         * device/lib/pic16/libdev/pic18f4455.c: fixed #1578591 and #1595144
41262         * configure.in: removed superfluous closing bracket
41264 2006-11-21 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41266         * device/lib/expf.c: Fixed bug 1599523: result of expf(x) is
41267           always positive.
41269 2006-11-21 Raphael Neider <rneider AT web.de>
41271         * src/pic/device.{c,h}: added pic14_getPIC()
41272         * src/pic/gen.c (continueIfTrue,jumpIfTrue): added PIC code,
41273           (genAnd): added PIC code for one case, fixes #1597044
41274         * src/pic/pcode.c (BankSelect): Ohoh, added generic optimization for
41275           SFRs that are present in all banks (e.g., STATUS)
41277 2006-11-20 Raphael Neider <rneider AT web.de>
41279         * src/pic/pcode.c: changed inverted ops for DECFSZ/DECFSZW and
41280           INCFSZ/INCFSZW and declared them as changing Z bit,
41281           (insertPCodeInstruction): correctly invert the above instructions,
41282           fixes #1599333,
41283           (DoBankSelect): don't panic on po_immediates
41285 2006-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
41287         * as/link/aslink.h,
41288         * as/link/mcs51/lkihx.c (newArea),
41289         * as/link/mcs51/lkrloc.c: renamed newArea() to ihxNewArea()
41290         * as/link/mcs51/lkihx.c (ihx): output reset vector as start address
41292 2006-11-11 Raphael Neider <rneider AT web.de>
41294         * src/pic/pcode.c (newpCodeOpBit): search SymbolTab for referenced
41295           bitfield symbols, fixes #1579535 (once more...).
41297 2006-11-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41299         * support/regression/generate-cases.py,
41300         * support/regression/fwk/include/testfwk.h,
41301         * support/regression/fwk/lib/testfwk.c: used code pointers,
41302           (about 50kByte less code generated for mcs51)
41304 2006-11-06 Borut Razem <borut.razem AT siol.net>
41306         * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4,
41307           debugger/mcs51/configure: fixed failed check because the function
41308           rl_function_of_keyseq isn't in Readline 5.2. Thanks to Ilya Goldberg
41309           who submitted the patch for gpsim.
41310         * debugger/mcs51/configure.in: removed the result message
41311         * debugger/mcs51/Makefile.in: fixed the config.status warning
41312           "... seems to ignore the --datarootdir setting"
41314 2006-11-03 Maarten Brock <sourceforge.brock AT dse.nl>
41316         * device/include/mcs51/c8051f020.h,
41317         * device/include/mcs51/c8051f040.h,
41318         * device/include/mcs51/c8051f060.h,
41319         * device/include/mcs51/c8051f120.h: added PS0, fixed bug 1589279
41320         * src/z80/gen.c (gencjneshort),
41321         * src/z80/peeph.def: applied patch 1571373, thanks Philipp Krause
41323 2006-10-31 Borut Razem <borut.razem AT siol.net>
41325         * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4,
41326           debugger/mcs51/configure: get readline version
41328 2006-10-30 Borut Razem <borut.razem AT siol.net>
41330         * debugger/mcs51/sdcdb.c: replaced hardcoded "/" with DIR_SEPARATOR_STRING
41331         * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4,
41332           debugger/mcs51/configure: locate readline even when cross compiling
41333         * support/scripts/sdcc.nsi: include readline5.dll into the setup package
41335 2006-10-29 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41337         * device/include/mcs51/serial_IO.h: putchar() and getchar() using
41338           serial port.
41340 2006-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
41342         * device/include/malloc.h,
41343         * device/lib/calloc.c,
41344         * device/lib/free.c,
41345         * device/lib/malloc.c,
41346         * device/lib/realloc.c: moved definition of struct into sources
41347         * support/regression/tests/malloc.c: use void* for init_dynamic_memory()
41349 2006-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
41351         * as/asx8051.dsp: corrected output directories
41352         * as/link/hc08: new directory for hc08 linker
41353         * as/hc08/aslink.h,             as/link/aslink.h,
41354         * as/hc08/aslink.mak,           as/link/hc08/aslink.mak,
41355         * as/hc08/clean.mk,             as/link/hc08/clean.mk,
41356         * as/hc08/link_hc08.dsp,        as/link/hc08/link_hc08.dsp,
41357         * as/hc08/lkaomf51.c,           as/link/hc08/lkaomf51.c,
41358         * as/hc08/lkarea.c,             as/link/hc08/lkarea.c,
41359         * as/hc08/lkdata.c,             as/link/hc08/lkdata.c,
41360         * as/hc08/lkelf.c,              as/link/hc08/lkelf.c,
41361         * as/hc08/lkihx.c,              as/link/hc08/lkihx.c,
41362         * as/hc08/lklibr.c,             as/link/hc08/lklibr.c,
41363         * as/hc08/lkmain.c,             as/link/hc08/lkmain.c,
41364         * as/hc08/lkmem.c,              as/link/hc08/lkmem.c,
41365         * as/hc08/lkrloc.c,             as/link/hc08/lkrloc.c,
41366         * as/hc08/lks19.c,              as/link/hc08/lks19.c,
41367         * as/hc08/Makefile.aslink,      as/link/hc08/Makefile.aslink,
41368         * as/hc08/Makefile.bcc,         as/link/hc08/Makefile.bcc,
41369         * as/hc08/Makefile.in,          as/link/hc08/Makefile.in,
41370         * as/link/hc08/conf.mk,
41371         * configure,
41372         * configure.in,
41373         * Makefile.in,
41374         * sdcc.dsw: moved hc08 linker to as/link/hc08
41375         * as/hc08/lkeval.c,     as/link/mcs51/lkeval.c,     as/link/lkeval.c,
41376         * as/hc08/lkhead.c,     as/link/mcs51/lkhead.c,     as/link/lkhead.c,
41377         * as/hc08/lklex.c,      as/link/mcs51/lklex.c,      as/link/lklex.c,
41378         * as/hc08/lklist.c,     as/link/mcs51/lklist.c,     as/link/lklist.c,
41379         * as/hc08/lknoice.c,    as/link/mcs51/lknoice.c,    as/link/lknoice.c,
41380         * as/hc08/lksym.c,      as/link/mcs51/lksym.c,      as/link/lksym.c,
41381         * as/link/mcs51/aslink.dsp,
41382         * as/link/mcs51/Makefile.in: factored out the common files
41383         * as/hc08/lkstore.c: deleted, use the one already in as/link/
41384         * as/clean.mk: extra cleaning common files
41385         * as/link/mcs51/strcmpi.c,      as/strcmpi.c: moved
41386         * as/link/mcs51/strcmpi.h: deleted, moved protoype to aslink.h
41387         * as/mcs51/asm.h: include sdccconf.h or sdcc_vc.h
41389 2006-10-29 Raphael Neider <rneider AT web.de>
41391         * src/pic/ralloc.c (newReg): create aliases for registers with
41392           multiple names to fix #1579535 and #1584001,
41393           (regWithIdx,dirregWithName): resolve aliases on lookup
41394         * src/pic/pcode.c (DoBankSelect): die with error message on failing
41395           bankselect
41396         * device/lib/pic/libdev/Makefile.in: move pseudo stack down to 0x4f
41397           to prevent build errors on small devices
41399 2006-10-28 Raphael Neider <rneider AT web.de>
41401         * src/pic/gen.c (genFunction,genCall): drop "same code page"
41402           assumption within interrupt handlers, fixes #1584940
41403         * src/pic/glue.c (pic14_constructAbsMap): mark absolute symbols as
41404           "emitted" to avoid emitting them again in udata
41406 2006-10-27 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41408         * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c:
41409         Removed.
41411 2006-10-26 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41413         * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c:
41414         Initialize uart only if SM0 and SM1 are zero.  Also, use flag to turn
41415         on/off CR to CRLF conversion.
41417 2006-10-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41419         * doc/sdccman.lyx: updated IRQ section
41421 2006-10-24 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41423         * device/lib/serial_io.c: removed
41424         * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c
41425         replacements for serial_io.c
41427 2006-10-24 Maarten Brock <sourceforge.brock AT dse.nl>
41429         * src/z80/main.c (_process_pragma, _parseOptions): fixed bug 1583318
41431 2006-10-24 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41433         * device/lib/serial_io.c: Default putchar() and getchar() for
41434           mcs51 uses serial port.
41436 2006-10-23 Maarten Brock <sourceforge.brock AT dse.nl>
41438         * src/mcs51/gen.c (movc): improved check for 0 and 1, see RFE 1582704
41440 2006-10-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41442         * support/regression/ports/mcs51/support.c: smaller
41443         _sdcc_external_startup()
41444         * device/lib/mcs51/crtxclear.asm: don't check high byte of l_PSEG
41446 2006-10-20 Maarten Brock <sourceforge.brock AT dse.nl>
41448         * device/lib/gbz80/crt0.s,
41449         * device/lib/gbz80/crt0_rle.s,
41450         * device/lib/gbz80/div.s,
41451         * device/lib/gbz80/fstubs.s,
41452         * device/lib/gbz80/heap.s,
41453         * device/lib/gbz80/mul.s,
41454         * device/lib/gbz80/putchar.s,
41455         * device/lib/gbz80/stubs.s,
41456         * device/lib/z80/crt0.s,
41457         * device/lib/z80/crt0_rle.s,
41458         * device/lib/z80/div.s,
41459         * device/lib/z80/fstubs.s,
41460         * device/lib/z80/heap.s,
41461         * device/lib/z80/mul.s,
41462         * device/lib/z80/putchar.s,
41463         * device/lib/z80/stubs.s: reverted, I was mistaken
41465 2006-10-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41467         * src/mcs51/peeph.def: peephole 238.x added check for notvolatile
41468         * support/regression/ports/mcs51/support.c: removed race
41469         condition on TI in _putchar allowing to use serial port mode 0
41471 2006-10-20 Borut Razem <borut.razem AT siol.net>
41473         * debugger/mcs51/sdcdb.c: replaced isblank() with isspace()
41475 2006-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
41477         * device/lib/gbz80/crt0.s,
41478         * device/lib/gbz80/crt0_rle.s,
41479         * device/lib/gbz80/div.s,
41480         * device/lib/gbz80/fstubs.s,
41481         * device/lib/gbz80/heap.s,
41482         * device/lib/gbz80/mul.s,
41483         * device/lib/gbz80/putchar.s,
41484         * device/lib/gbz80/stubs.s,
41485         * device/lib/z80/crt0.s,
41486         * device/lib/z80/crt0_rle.s,
41487         * device/lib/z80/div.s,
41488         * device/lib/z80/fstubs.s,
41489         * device/lib/z80/heap.s,
41490         * device/lib/z80/mul.s,
41491         * device/lib/z80/putchar.s,
41492         * device/lib/z80/stubs.s: removed all leading underscores from area names
41494 2006-10-17 Maarten Brock <sourceforge.brock AT dse.nl>
41496         * support/regression/ports/mcs51/support.c: use highest baudrate so the
41497           regression tests are not waiting in the simulator for simulated
41498           transmission of debug output
41500 2006-10-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41502         * device/lib/printf_large.c: slightly smaller
41503         * doc/sdccman.lyx: do not use spaces within html links
41505 2006-10-16 Borut Razem <borut.razem AT siol.net>
41507         * configure.in, configure, sdccconf_in.h, src/SDCCglobal,
41508           debugger/mcs51/Makefile.in, debugger/mcs51/sdcdb.[ch],
41509           debugger/mcs51/aclocal.m4, debugger/mcs51/acinclide.m4,
41510           debugger/mcs51/config.h.in, debugger/mcs51/configure.in,
41511           debugger/mcs51/configure:
41512           [ 1185668 ] add gnu readline support to sdcdb - enabled
41514 2006-10-16 Raphael Neider <rneider AT web.de>
41516         * src/pic/pcode.c (BankSelect): another fix on (partial) BANKSELs,
41517           fixes #1577882, removes close to all banking optimizations
41519 2006-10-15 Maarten Brock <sourceforge.brock AT dse.nl>
41521         * src/SDCCsymt.c (checkSClass): no error for uninitialised absolute
41522           variables in code memory
41523         * support/regression/tests/absolute.c: added test for this
41525 2006-10-15 Raphael Neider <rneider AT web.de>
41527         * src/pic/pcode.c (InsertBankSel): suppress BANKSELs for one bank
41528           devices,
41529           (BankSelect): emit BANKSEL before touching linker-placed regs,
41530           fixes #1570934
41532 2006-10-10 Raphael Neider <rneider AT web.de>
41534         * src/SDCCmain.c (optionsTable): accept --stack-size for PICs,
41535         * src/pic/device.c (pic14_getSharebankSize,pic14_getSharebankAddress),
41536         * src/pic/main.c (_pic14_parseOptions),
41537         * src/pic/main.h: mostly reverted to previous state, now use results
41538             from SDCCmain.c's argument parsing
41540 2006-10-10 Borut Razem <borut.razem AT siol.net>
41542         * debugger/mcs51/break.[ch], debugger/mcs51/cmd.c,
41543           debugger/mcs51/sdcdb.[ch], debugger/mcs51/simi.c:
41544           [ 1185668 ] add gnu readline support to sdcdb -
41545           prepared for READLINE, not enabled yet,
41546           thanks to <tal.bav AT gmail.com>
41548 2006-10-10 Raphael Neider <rneider AT web.de>
41550         * src/pic16/pcode.c (pic16_pCode2str): use isACCESS_BANK macro
41551         * src/pic16/devices.inc,
41552         * device/include/pic16 (pic18f[24]620.h),
41553         * device/include/pic18fregs.h,
41554         * device/lib/pic16/pics.all,
41555         * device/lib/pic16/libdev/pic18f[24]{620,525}.c): added support for
41556             18f2620, 18f4620, 18f2525, and 18f4525 devices, thanks to
41557             Gary Plumbridge and Anton Strobl
41559 2006-10-10 Raphael Neider <rneider AT web.de>
41561         * src/pic/main.c (_pic14_parseOptions): added --stack-loc=NUM and
41562           --stack-siz=NUM options to configure the argument passing stack
41563         * src/pic/main.h: added stackLocation and stackSize to pic14_options_t
41564         * src/pic/device.c (mapRegister): catch out-of-memory SIGSEGVs,
41565           (pic14_getSharebankSize): obey --stack-siz=NUM,
41566           (pic14_getSharebankAddress): obey --stack-loc=NUM
41568 2006-10-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41570         * doc/sdccman.lyx: added to the manual
41571         * doc/figures/ddd_example.png: added (neither pdflatex nor
41572         most browsers seem to like the .eps file)
41574 2006-10-06 Bernhard Held <bernhard AT bernhardheld.de>
41576         * src/SDCCglue.c (tempfileandname): changed un*x tmp search paths
41577         to /tmp and /var/tmp acc. LSB
41578         * src/SDCCast.c (addCast): Fixed bug 1571231: promote in case of
41579         RESULT_TYPE_IFX
41580         * support/regression/tests/onebyte.c: added test
41582 2006-10-05 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41584         * src/mcs51/gen.c: emitcode for "add a,0x%02x" requires only 8 bits.
41586 2006-10-05 Borut Razem <borut.razem AT siol.net>
41588         * partially fixed [ 1570701 ] peephole - not replacing code from multiline macros,
41589           thanks to dfulab:
41590           - sdcc.dsw: changed property eol-style to CRLF
41591           - support/scripts/resource.rc: replaced references to "afxres.h" with "winres.h"
41593 2006-10-04 Raphael Neider <rneider AT web.de>
41595         * device/include/pic/{pic16f84.h,pic16f84a.h},
41596         * device/lib/pic/libdev/{pic16f84.c,pic16f84a.c}: added PORT[AB]_bits
41597           from patch #1522504, thanks to Robas Teodor
41599 2006-10-02 Maarten Brock <sourceforge.brock AT dse.nl>
41601         * as/link/z80/lkarea.c: essentially reverted lnksect() to #4380 which
41602           fixes bug 1566015
41604 2006-10-01 Maarten Brock <sourceforge.brock AT dse.nl>
41606         * src/pic16/glue.c (pic16emitMaps),
41607         * src/pic/glue.c (pic14emitMaps): hopefully fixed bug 1568779
41608         * device/lib/gets.c: fixed bug 1568829,thanks Philipp Krause
41609         * device/lib/pic16/libc/string/memcpypgm2ram.c,
41610         * device/lib/pic16/libc/string/memcpyram2ram.c: fixed bug 1568836, thanks
41611           Philipp Krause
41612         * as/mcs51/asmain.c (asmbl, newdot): fixed problems with absolute areas
41613         * as/link/mcs51/lkmem.c (summary2): reverted, do do count abs segments
41615 2006-09-30 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41617         * support/librarian/sdcclib.c: Added option -l.
41618         * as/link/mcs51/lkmem.c: don't use absolute segments to compute memory
41619           usage totals.
41620         * device/lib/make51lib.bat: added.  Allows building mcs51 libraries easily
41621           using Windows command prompt.
41623 2006-09-30 Maarten Brock <sourceforge.brock AT dse.nl>
41625         * device/lib/libsdcc.lib: added module rand
41626         * src/ds390/ralloc.c (rematStr),
41627         * src/hc08/ralloc.c (rematStr),
41628         * src/mcs51/ralloc.c (rematStr),
41629         * src/z80/ralloc.c (rematStr): made output more consistent
41630         * src/mcs51/gen.c: cosmetic changes
41632 2006-09-30 Maarten Brock <sourceforge.brock AT dse.nl>
41634         * src/port.h: added mem.cabs_name to PORT
41635         * src/ds390/main.c,
41636         * src/hc08/main.c,
41637         * src/mcs51/main.c,
41638         * src/pic16/main.c,
41639         * src/pic/main.c,
41640         * src/xa51/main.c,
41641         * src/z80/main.c: added cabs_name initializers
41642         * src/SDCCglue.c (emitStaticSeg): allocate and initialize absolute
41643           constants
41644           (emitMaps): emit absolutes in code memory into cabs_name
41645         * src/SDCCmem.c,
41646         * src/SDCCmem.h: added memory map c_abs and defined CABS_NAME
41647         * src/ds390/gen.c (genCodePointerGet): fixed bug if left is a literal
41648         * support/regression/fwk/include/testfwk.h: added define for at
41649         * support/regression/tests/absolute.c: added, new
41651 2006-09-29 Maarten Brock <sourceforge.brock AT dse.nl>
41653         * src/mcs51/gen.c (genPlusIncr, genMinusDec, genAddrOf): small
41654           optimizations, see also patch 887161 by Stas Sergeev
41655         * src/mcs51/peeph.def(104, 207, 209, 212): disabled as they do not seem
41656           to be necessary anymore,
41657           (102, 103, 104, 127): renamed all occurances of bp to _bp
41659 2006-09-27 Maarten Brock <sourceforge.brock AT dse.nl>
41661         * device/include/mcs51/at89c51snd1c.h: fixed MSK_SREQ definition
41662           thanks Weston T. Schmidt for patch 1555221
41663         * src/mcs51/peeph.def: renamed rule 257 to 257.a, added 257.b
41664         * src/SDCCicode.c(geniCodeMultiply): small optimization
41666 2006-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
41668         * device/include/stdlib.h: added rand prototypes
41669         * device/lib/rand.c: new, added
41670         * device/lib/Makefile.in: added rand.c
41671         * src/z80/peeph.def,
41672         * src/z80/peeph-gbz80.def,
41673         * src/z80/peeph-z80.def: updated conditonals, fixed bug 1565908
41675 2006-09-20 Raphael Neider <rneider AT web.de>
41677         * device/lib/pic16/libio/i2c/i2cnack.c (i2c_nack): fixed ACKDT bit
41679 2006-09-19 Maarten Brock <sourceforge.brock AT dse.nl>
41681         * as/link/aslink.h: cosmetic changes
41682         * as/link/mcs51/Makefile.in,
41683         * as/link/z80/Makefile.in: fixed build on CF where VPATH is used
41685 2006-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
41687         * as/link/aslink.h,
41688         * as/link/mcs51/aslink.h,
41689         * as/link/z80/aslink.h: merged and moved to as/link/
41690         * as/link/lkstore.c,
41691         * as/link/mcs51/lkstore.c: moved to as/link/
41692         * as/link/clean.mk: remove *.o
41693         * as/link/mcs51/alloc.h: deleted
41694         * as/link/mcs51/lkarea.c: added lnksect prototype
41695         * as/link/mcs51/lkdata.c,
41696         * as/link/mcs51/lklex.c,
41697         * as/link/mcs51/lkmain.c: renamed as_getline to lk_getline
41698         * as/link/mcs51/lkmem.c,
41699         * as/link/mcs51/lknoice.c: removed include strcmpi.h
41700         * as/link/mcs51/lksym.c: include stdlib.h instead of malloc.h or alloc.h
41701         * as/link/mcs51/aslink.dsp,
41702         * as/link/mcs51/Makefile.aslink,
41703         * as/link/mcs51/Makefile.bcc,
41704         * as/link/mcs51/Makefile.in: updated for moved files
41705         * as/link/z80/lkarea.c,
41706         * as/link/z80/lkhead.c,
41707         * as/link/z80/lklex.c,
41708         * as/link/z80/lklibr.c,
41709         * as/link/z80/lklist.c,
41710         * as/link/z80/lkmain.c,
41711         * as/link/z80/lkrloc.c,
41712         * as/link/z80/lksym.c: synced with mcs51
41713         * as/link/z80/lkdata.c,
41714         * as/link/z80/lkeval.c,
41715         * as/link/z80/lkihx.c,
41716         * as/link/z80/lks19.c: cosmetic changes
41717         * as/link/z80/Makefile.in,
41718         * as/link/z80/linkgbz80.dsp,
41719         * as/link/z80/linkz80.dsp: updated for moved files
41721 2006-09-16 Borut Razem <borut.razem AT siol.net>
41723         * debugger/mcs51/sdcdb.c: partially fixed
41724           [ 1203664 ] sdcdb fails to open files w. two "." periods
41725         * debugger/mcs51/simi.c, debugger/mcs51/symtab.c,
41726           debugger/mcs51/symtab.h: fixed indenting
41727         * configure.in, configure: up to date with latest Maarten's changes
41729 2006-09-15 Maarten Brock <sourceforge.brock AT dse.nl>
41731         as/link/mcs51
41732         as/aslink.dsp,                  as/link/mcs51/aslink.dsp,
41733         as/link/mcs51/aslink.h,         as/mcs51/aslink.h,
41734         as/link/mcs51/aslink.mak,       as/mcs51/aslink.mak,
41735         as/link/mcs51/lkaomf51.c,       as/mcs51/lkaomf51.c,
41736         as/link/mcs51/lkarea.c,         as/mcs51/lkarea.c,
41737         as/link/mcs51/lkdata.c,         as/mcs51/lkdata.c,
41738         as/link/mcs51/lkeval.c,         as/mcs51/lkeval.c,
41739         as/link/mcs51/lkhead.c,         as/mcs51/lkhead.c,
41740         as/link/mcs51/lkihx.c,          as/mcs51/lkihx.c,
41741         as/link/mcs51/lklex.c,          as/mcs51/lklex.c,
41742         as/link/mcs51/lklibr.c,         as/mcs51/lklibr.c,
41743         as/link/mcs51/lklist.c,         as/mcs51/lklist.c,
41744         as/link/mcs51/lkmain.c,         as/mcs51/lkmain.c,
41745         as/link/mcs51/lkmem.c,          as/mcs51/lkmem.c,
41746         as/link/mcs51/lknoice.c,        as/mcs51/lknoice.c,
41747         as/link/mcs51/lkrloc.c,         as/mcs51/lkrloc.c,
41748         as/link/mcs51/lks19.c,          as/mcs51/lks19.c,
41749         as/link/mcs51/lkstore.c,        as/mcs51/lkstore.c,
41750         as/link/mcs51/lksym.c,          as/mcs51/lksym.c,
41751         as/link/mcs51/Makefile.aslink,  as/mcs51/Makefile.aslink,
41752         as/link/mcs51/alloc.h,
41753         as/link/mcs51/clean.mk,
41754         as/link/mcs51/conf.mk,
41755         as/link/mcs51/Makefile.bcc,
41756         as/link/mcs51/Makefile.in,
41757         as/link/mcs51/readme.390,
41758         as/link/mcs51/strcmpi.c,
41759         as/link/mcs51/strcmpi.h,
41760         as/mcs51/clean.mk,
41761         as/mcs51/Makefile.bcc,
41762         as/mcs51/Makefile.in,
41763         configure,
41764         Makefile.in,
41765         sdcc.dsw: moved mcs51 linker to as/link/mcs51
41767 2006-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
41769         * as/link,
41770         * as/link/Makefile.in,
41771         * as/link/z80/linkgbz80.dsp,
41772         * as/link/z80/linkz80.dsp,
41773         * configure,
41774         * link,
41775         * link/clean.mk,
41776         * link/Makefile.in,
41777         * link/README,
41778         * link/z80,
41779         * link/z80/aslink.h,
41780         * link/z80/clean.mk,
41781         * link/z80/conf.mk,
41782         * link/z80/linkgbz80.dsp,
41783         * link/z80/linkz80.dsp,
41784         * link/z80/lkarea.c,
41785         * link/z80/lkdata.c,
41786         * link/z80/lkeval.c,
41787         * link/z80/lkgb.c,
41788         * link/z80/lkgg.c,
41789         * link/z80/lkhead.c,
41790         * link/z80/lkihx.c,
41791         * link/z80/lklex.c,
41792         * link/z80/lklibr.c,
41793         * link/z80/lklist.c,
41794         * link/z80/lkmain.c,
41795         * link/z80/lkrloc.c,
41796         * link/z80/lks19.c,
41797         * link/z80/lksym.c,
41798         * link/z80/Makefile.in,
41799         * Makefile.in,
41800         * sdcc.dsw: moved link/ to as/link/
41802 2006-09-11 Maarten Brock <sourceforge.brock AT dse.nl>
41804         * as/mcs51/i51mch.c (machine): fixed warning
41806 2006-09-10 Maarten Brock <sourceforge.brock AT dse.nl>
41808         * as/mcs51/i51mch.c (machine): S_DJNZ fixed bug 1554318
41810 2006-09-09 Borut Razem <borut.razem AT siol.net>
41812         * debugger/mcs51/sdcdb.c, debugger/mcs51/simi.c:
41813           sdcdb WIN32 native port
41814         * src/clean.mk: fixed
41816 2006-09-08 Borut Razem <borut.razem AT siol.net>
41818         * doc/sdccman.lyx: SDCDB and ucSim are available on Win32 platforms.
41820 2006-09-08 Raphael Neider <rneider AT web.de>
41822         * src/pic16/main.c (_pic16_linkEdit,pic16_linkCmd),
41823         * src/pic/main.c(_pic14_do_link, linkCmd): pass "-w" and "-r"
41824             to gplink to disable processor mismatch warning and to allow
41825             the use of devices with only aliased (shared) memory banks,
41826           (_pic16_genAssemblerPreamble): include pXXX.inc on --mplab-comp
41828 2006-09-07 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41830         * doc/sdccman.lyx: Some re-formating plus example on using
41831           #pragma preproc_asm +/-
41833 2006-09-07 Borut Razem <borut.razem AT siol.net>
41835         * support/scripts/sdcc.nsi: added SDCDB executables in a separate
41836           section
41838 2006-09-06 Borut Razem <borut.razem AT siol.net>
41840         * support/scripts/sdcc.nsi: fixed Error: unterminated string parsing
41841           line at sdcc.nsi:153
41842         * sdcc/debugger/mcs51/simi.c: argsToCmdLine() fixes
41844 2006-09-05 Borut Razem <borut.razem AT siol.net>
41846         * configure.in, configure: support for winsock2
41847         * debugger/mcs51/break.h, debugger/mcs51/cmd.c,
41848           debugger/mcs51/cmd.h, debugger/mcs51/sdcdb.c,
41849           debugger/mcs51/sdcdb.h, debugger/mcs51/simi.c,
41850           debugger/mcs51/simi.h, debugger/mcs51/symtab.c,
41851           debugger/mcs51/symtab.h: sdcdb WIN32 native port
41853 2006-09-05 Maarten Brock <sourceforge.brock AT dse.nl>
41855         * src/SDCCopt.c (cnvToFcall): fixed bug 1551947 by updating OP_USES
41856           and OP_DEFS
41857         * support/regression/tests/bug1551947.c: new, added
41858         * src/SDCCsymt.h: strings are char* not byte*
41860 2006-09-05 Raphael Neider <rneider AT web.de>
41862         * device/lib/pic16/libdev/pic18f4550.c,
41863           device/include/pic16/pic18f4550.h: added PORTD/TRISD
41864             declarations/definitions from patch #1520949
41866 2006-09-05 Raphael Neider <rneider AT web.de>
41868         * src/pic16/gen.c (genPackBits): fix assignment to 8-bit,
41869           byte-aligned bitfields, fixes #1539278
41871 2006-09-05 Raphael Neider <rneider AT web.de>
41873         * src/pic/gen.c (genReceive): skip unreferenced arguments,
41874           fixes #1544120
41876 2006-09-04 Borut Razem <borut.razem AT siol.net>
41878         * support/scripts/sdcc.nsi: move ucSim executables to a separate section
41879         * support/scripts/sdcc_cygwin_mingw32: don't disable ucsim,
41880           -mno-cygwin is a part of the compiler name
41881         * support/scripts/sdcc_mingw32: don't disable ucsim
41883 2006-09-03 Borut Razem <borut.razem AT siol.net>
41885         * sdcc.spec: corrected for 2.6.0. Thanks to Christer Weinigel.
41886         * device/lib/Makefile.in device/lib/clean.mk: small but essential corrections
41888 2006-09-03 Raphael Neider <rneider AT web.de>
41890         * src/pic/ralloc.c,
41891         * src/pic/pcode.c (InitReuseRegs): allocate registers with pseudo
41892           indices >= 0x1000 to disambiguate them from fixed regs __at(addr),
41893           fixes #1550049
41895 2006-09-01 Borut Razem <borut.razem AT siol.net>
41897         * sim/ucsim/cmd.src/cmdutil.cc: #include <sys/time.h> and <unistd.h>
41898           to make ppc-osx happy
41900 2006-08-31 Borut Razem <borut.razem AT siol.net>
41902         * sim/ucsim/cmd.src/newcmdposix.cc: #include <assert.h>
41903         * sim/ucsim/cmd.src/newcmd.cc: #include <ctype.h>
41904         * sim/ucsim/cmd.src/newcmd.cc: #include <ctype.h>
41905         * support/regression/ports/ds390/spec.mk,
41906           support/regression/ports/mcs51/spec.mk,
41907           support/regression/ports/xa51/spec.mk: introduced DEV_NULL variable.
41908           To run regression tests in mingw environment:
41909           make DEV_NULL=NUL CC=gcc
41911 2006-08-30 Borut Razem <borut.razem AT siol.net>
41913         * sim/ucsim/cmd.src/newcmdposix.cc, sim/ucsim/cmd.src/newcmdposixcl.h,
41914           sim/ucsim/cmd.src/newcmdwin32.cc, sim/ucsim/cmd.src/newcmdwin32cl.h,
41915           sim/ucsim/app.cc, sim/ucsim/appcl.h, sim/ucsim/configure,
41916           sim/ucsim/configure.in, sim/ucsim/ddconfig_in.h, sim/ucsim/error.cc,
41917           sim/ucsim/errorcl.h, sim/ucsim/option.cc, sim/ucsim/optioncl.h,
41918           sim/ucsim/utils.cc, sim/ucsim/utils.h, sim/ucsim/cmd.src/Makefile.in,
41919           sim/ucsim/avr.src/avr.cc, sim/ucsim/avr.src/avrcl.h,
41920           sim/ucsim/cmd.src/bp.cc, sim/ucsim/cmd.src/bpcl.h,
41921           sim/ucsim/cmd.src/cmdconf.cc, sim/ucsim/cmd.src/cmdgui.cc,
41922           sim/ucsim/cmd.src/cmdmem.cc, sim/ucsim/cmd.src/cmdset.cc,
41923           sim/ucsim/cmd.src/cmdsetcl.h, sim/ucsim/cmd.src/cmdstat.cc,
41924           sim/ucsim/cmd.src/cmduc.cc, sim/ucsim/cmd.src/cmduccl.h,
41925           sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/cmdutil.h,
41926           sim/ucsim/cmd.src/command.cc, sim/ucsim/cmd.src/commandcl.h,
41927           sim/ucsim/cmd.src/get.cc, sim/ucsim/cmd.src/getcl.h,
41928           sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/newcmd.cc,
41929           sim/ucsim/cmd.src/newcmdcl.h, sim/ucsim/cmd.src/set.cc,
41930           sim/ucsim/cmd.src/show.cc, sim/ucsim/cmd.src/timer.cc,
41931           sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
41932           sim/ucsim/s51.src/Makefile.in, sim/ucsim/s51.src/interrupt.cc,
41933           sim/ucsim/s51.src/interruptcl.h, sim/ucsim/s51.src/pca.cc,
41934           sim/ucsim/s51.src/pcacl.h, sim/ucsim/s51.src/port.cc,
41935           sim/ucsim/s51.src/portcl.h, sim/ucsim/s51.src/serial.cc,
41936           sim/ucsim/s51.src/serialcl.h, sim/ucsim/s51.src/timer0.cc,
41937           sim/ucsim/s51.src/timer0cl.h, sim/ucsim/s51.src/timer1.cc,
41938           sim/ucsim/s51.src/timer1cl.h, sim/ucsim/s51.src/timer2.cc,
41939           sim/ucsim/s51.src/timer2cl.h, sim/ucsim/s51.src/uc390.cc,
41940           sim/ucsim/s51.src/uc390cl.h, sim/ucsim/s51.src/uc390hw.cc,
41941           sim/ucsim/s51.src/uc390hwcl.h, sim/ucsim/s51.src/uc51.cc,
41942           sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/wdt.cc,
41943           sim/ucsim/s51.src/wdtcl.h, sim/ucsim/sim.src/hw.cc,
41944           sim/ucsim/sim.src/hwcl.h, sim/ucsim/sim.src/mem.cc,
41945           sim/ucsim/sim.src/memcl.h, sim/ucsim/sim.src/obsolete.cc,
41946           sim/ucsim/sim.src/obsolete.h, sim/ucsim/sim.src/sim.cc,
41947           sim/ucsim/sim.src/simcl.h, sim/ucsim/sim.src/stack.cc,
41948           sim/ucsim/sim.src/stackcl.h, sim/ucsim/sim.src/test_mem_speed.cc,
41949           sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
41950           sim/ucsim/xa.src/xa.cc, sim/ucsim/xa.src/xacl.h,
41951           sim/ucsim/z80.src/z80.cc, sim/ucsim/z80.src/z80cl.h:
41952           ucsim WIN32 native port
41954 2006-08-30 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41956         * doc/sdccman.lyx: added note on dynamic memory heap initialization
41958 2006-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
41960         * src/mcs51/gen.c (genAnd, genOr, genXor): fixed bug 1546986
41961         * src/ds390/gen.c (aopGetUsesAcc): handle AOP_DPTR2 and AOP_DPTRn too
41963 2006-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
41965         * src/ds390/gen.c (genAnd, genOr, genXor): fixed bug 1546986
41966         * support/regression/tests/bug1546986.c: new, added
41967         * as/mcs51/.cvsignore,
41968         * debugger/mcs51/.cvsignore,
41969         * src/.cvsignore: deleted
41971 2006-08-25 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41973         * device/include/mcs51/P89c51RD2.h: fixed bug 1546936 (error in sbit
41974           definitions)
41976 2006-08-20 Borut Razem <borut.razem AT siol.net>
41978         * sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/newcmdcl.h:
41979           removed cl_listen_console::match(), cl_console::match(),
41980           restructured cl_commander::proc_input()
41982 2006-08-16 Borut Razem <borut.razem AT siol.net>
41984         * sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/newcmdcl.h,
41985           sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/cmdutil.h,
41986           sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/uc.cc: code cleaning
41988 2006-08-14 Borut Razem <borut.razem AT siol.net>
41990         * support/regression/Makefile.in,
41991           support/regression/ports/pic14/gpsim.cmd,
41992           support/regression/ports/pic14/spec.mk,
41993           support/regression/ports/pic14/support.c:
41994           added pic14 regression test
41996 2006-08-14 Maarten Brock <sourceforge.brock AT dse.nl>
41998         * as/doc/asxhtm.html: documented changed ABS behaviour
41999         * as/doc/README: fixed some typos
42001 2006-08-13 Maarten Brock <sourceforge.brock AT dse.nl>
42003         * support/regression/tests/float_trans.c: disabled test if __STDC_IEC_559__
42004           not defined on host
42006 2006-08-12 Borut Razem <borut.razem AT siol.net>
42008         * support/regression/fwk/include/testfwk.h,
42009           support/regression/fwk/lib/testfwk.c,
42010           support/regression/generate-cases.py,
42011           support/regression/Makefile.in:
42012           regression test framework does not depend on function pointers and
42013           variable arguments
42015 2006-08-09 Maarten Brock <sourceforge.brock AT dse.nl>
42017         * device/include/stddef.h: c temporary hack to fix bug 1518273
42019 2006-08-09 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
42021         * device/include/mcs51/cc2510fx.h: added
42022         * src/z80/z80.dsp, src/gbz80/gbz80.dsp: added support/Util/strcmpi.ch
42023           to projects.
42025 2006-08-09 Maarten Brock <sourceforge.brock AT dse.nl>
42027         * as/z80/assym.c (mlookup): ignore case when looking up mnemonics
42028         * as/z80/Makefile.in: added strcmpi.c
42029         * as/z80/z80adr.c: added upper case registers and lower case conditionals
42030         * support/Util/strcmpi.ch: added with intention to remove from mcs51/hc08
42032 2006-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
42034         * device/lib/gbz80/asm_strings.s,
42035         * device/lib/gbz80/crt0_rle.s,
42036         * device/lib/gbz80/div.s,
42037         * device/lib/gbz80/mul.s,
42038         * device/lib/gbz80/shift.s,
42039         * device/lib/z80/asm_strings.s,
42040         * device/lib/z80/crt0_rle.s,
42041         * device/lib/z80/div.s,
42042         * device/lib/z80/mul.s,
42043         * device/lib/z80/shift.s: changed to all lower case menmonics except the
42044           flags which are all upper case
42046 2006-08-07 Maarten Brock <sourceforge.brock AT dse.nl>
42048         * as/z80/asm.h: made CASE_SENSITIVE 1
42049         * link/z80/aslink.h: made CASE_SENSITIVE 1
42050         * src/z80/gen.c (throughout): made all conditionals upper case
42051         * support/regression/tests/bug1503067.c: new
42053 2006-08-07 Maarten Brock <sourceforge.brock AT dse.nl>
42055         * src/z80/gen.c (aopPut): fixed bug !*ixy should be !*iyx,
42056           (shiftIntoPair): added case 2 for PAIR_IY,
42057           (setupToPreserveCarry): replaced parameters with iCode and check if
42058            PAIR_DE is in use to fix bug 1399290,
42059           (genPlus, genMinus): updated call to setupToPreserveCarry
42060         * support/regression/tests/bug1399290.c: new
42062 2006-08-06 Maarten Brock <sourceforge.brock AT dse.nl>
42064         * device/lib/Makefile.in (Z80SOURCES): enabled float support
42065         * sim/ucsim/z80.src/inst.cc (inst_rst): generate breakpoint on RST8,ACC==0
42066         * src/ds390/gen.c (shiftRLong),
42067         * src/hc08/gen.c (shiftLLong, shiftRLong): fixed bug 1533966
42068         * src/mcs51/gen.c (sameReg): changed to sameByte,
42069           (xch_a_aopGet): new,
42070           (shiftL2Left2Result, shiftR2Left2Result, shiftRLeftOrResult, shiftLLong,
42071            shiftRLong): fixed bug 1533966
42072         * src/z80/gen.c (shiftR2Left2Result, shiftL2Left2Result, genlshTwo,
42073           genLeftShiftLiteral, genrshTwo, genRightShiftLiteral): fixed bug 1533966
42074         * support/regression/Makefile.in: disabled z80, enabled ucz80
42075         * support/regression/tests/float_trans.c: enabled test for z80 and host
42076         * support/regression/tests/shifts2.c: new, for testing bug 1533966
42078 2006-08-01 Borut Razem <borut.razem AT siol.net>
42080         * src/mcs51/gen.c, src/dc390/gen.c: fixed warning:
42081           comparison is always false due to limited range of data type
42082           on PPC64 machine (openpower-linux1) where "char = unsigned char"
42084 2006-08-01 Maarten Brock <sourceforge.brock AT dse.nl>
42086         * sim/ucsim/hc08.src/hc08mac.h: removed faulty and unused add_u16_disp
42087         * sim/ucsim/hc08.src/hc08.cc: removed faulty and unused int8
42088         * sim/ucsim/z80.src/z80mac.h (add_u16_disp): use explicit signed char cast
42089         * sim/ucsim/z80.src/z80.cc: removed faulty and unused int8
42091 2006-07-31 Borut Razem <borut.razem AT siol.net>
42093         * sim/ucsim/configure, sim/ucsim/cmd.src/newcmdcl.h,
42094           sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/cmdutil.cc,
42095           sim/ucsim/z80.src/Makefile.in, sim/ucsim/configure.in,
42096           sim/ucsim/hc08.src/Makefile.in, sim/ucsim/hc08.src/hc08.cc,
42097           sim/ucsim/ddconfig_in.h, sim/ucsim/s51.src/Makefile.in,
42098           sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/serialcl.h,
42099           sim/ucsim/s51.src/uc51.cc, sim/ucsim/s51.src/serial.cc,
42100           sim/ucsim/app.cc, sim/ucsim/avr.src/Makefile.in:
42101           enable ucsim mingw compilation. Serial port is disabled,
42102           since it uses termios.h API, which is not available on native
42103           WIN32
42105 2006-07-31 Borut Razem <borut.razem AT siol.net>
42107         * Small Device C Compiler 2.6.0 released
42108         * support/scripts/sdcc.nsi: added FULL_DOC option
42109         * .version, doc/sdccman.lyx: changed sdcc version to 2.6.1
42111 2006-07-28 Borut Razem <borut.razem AT siol.net>
42113         * support/scripts/sdcc.nsi: remove $INSTDIR/include/asm/pic16/*.h
42114         * doc/INSTALL.txt: updated
42116 2006-07-27 Borut Razem <borut.razem AT siol.net>
42118         * device/lib/pic/Makefile.in, device/lib/pic/Makefile.subdir,
42119           device/lib/pic/libdev/Makefile.in: fixed bug
42120           [ 1438354 ] pic libsdcc: distclean doesn't work
42121         * device/lib/pic16/Makefile.in, device/lib/pic16/Makefile.subdir,
42122           device/lib/pic16/libio/Makefile.in: fixed bug
42123           [ 1438344 ] pic16 lib: clean doesn't work properly
42124         * doc/knownbugs.html removed [ 1438354 ] and [ 1438344 ] from the list
42126 2006-07-26 Maarten Brock <sourceforge.brock AT dse.nl>
42128         * device/lib/pic/libsdcc/fsdiv.c,
42129         * device/lib/pic/libsdcc/fsmul.c,
42130         * device/lib/pic16/libsdcc/float/fsdiv.c,
42131         * device/lib/pic16/libsdcc/float/fsmul.c,
42132         * device/lib/_fsdiv.c,
42133         * device/lib/_fsmul.c: bugfix, handle too large and too small numbers
42134         * support/regression/tests/bug1520966.c: added
42135         * doc/knownbugs.html: removed [ 1520966 ] from the list
42137 2006-07-25 Borut Razem <borut.razem AT siol.net>
42139         * configure.in, configure, sdccconf_in.h: fixed bug
42140           [ 1519095 ] regression test onebyte.c fails on ppc64 host
42141         * doc/knownbugs.html: removed [ 1519095 ] from the list
42143 2006-07-25 Maarten Brock <sourceforge.brock AT dse.nl>
42145         * doc/knownbugs.html: added, contains list of known bugs at release
42146         * device/include/mcs51/compiler.h: fixed SFR32 for SDCC
42148 2006-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
42150         * device/include/mcs51/compiler.h: added SFRX for xdata based special
42151           function registers and corrected defaults with additional warning
42152         * device/lib/malloc.c: cosmetic changes
42153         * device/lib/realloc.c: bugfix for bug #1496907, Thanks Efim Monyak
42154         * src/ds390/ralloc.c (getRegBitNoSpil): reenabled,
42155           (fillGaps): and used it
42157 2006-07-20 Raphael Neider <rneider AT web.de>
42159         * src/pic/device.c (addMemRange,assignRegister): suppress verbose
42160           output unless SDCCPICDEBUG is set
42161         * device/lib/pic16/Makefile.rules (%.lib target): suppress verbose
42162           output if SILENT is set
42164 2006-07-11 Borut Razem <borut.razem AT siol.net>
42166         * doc/README.txt: updated
42168 2006-07-10 Borut Razem <borut.razem AT siol.net>
42170         * support/scripts/sdcc.nsi: added device/include/asm/pic/features.h and
42171           device/lib/src/pic/libm/*.c and device/lib/src/pic16/libsdcc/stack/*.S
42172           in WIN32 installation
42173         * .version, sdcc.spec, doc/sdccman.lyx: changed sdcc version to 2.6.0 -
42174           release candidate 1
42176 2006-07-08 Maarten Brock <sourceforge.brock AT dse.nl>
42178         * device/include/mcs51/XC866.h: added sbit definitions for Px_x, P1_x, P2_x
42179         * src/pic16/glue.c (initPointer): fixed bug 1496419 for pic16
42181 2006-07-06 Maarten Brock <sourceforge.brock AT dse.nl>
42183         * src/hc08/gen.c (genAddrOf): fixed bug when offset on stack is >127
42185 2006-07-06 Borut Razem <borut.razem AT siol.net>
42187         * support/regression/tests/bitfields.c:
42188           fixed bug [ 1518322 ] regression test bitfields fails on ppc hosts
42189         * support/regression/tests/constantRange.c:
42190           fixed bug [ 1518317 ] regression test constantRange fails on alpha host
42192 2006-07-04 Borut Razem <borut.razem AT siol.net>
42194         * src/configure.in, src/configure, src/Makefile.in, as/z80/Makefile.in,
42195           src/port.mk,
42196           src/avr/Makefile.in, src/ds390/Makefile.in, src/ds400/Makefile.in,
42197           src/hc08/Makefile.in, src/mcs51/Makefile.in, src/pic16/Makefile.in,
42198           src/pic/Makefile.in, src/xa51/Makefile.in, src/z80/Makefile.in:
42199           reverted changes from 2006-07-03
42200         * Makefile.common.in: added @CPPFLAGS@ to CPPFLAGS
42201         * support/regression/Makefile.in, support/regression/ports/host/spec.mk:
42202           added CPPFLAGS, used by the host port
42204 2006-07-03 Bernhard Held <bernhard AT bernhardheld.de>
42206         * support/regression/valdiag/tests/switch.c,
42207         * support/regression/valdiag/tests/constantRange.c: adapted to gcc 4
42208         * support/regression/tests/libmullong.c: fixed for host
42209         * support/regression/ports/host/spec.mk: disable all warnings for host,
42210         SDCC runs with --less-pedantic too
42212 2006-07-03 Borut Razem <borut.razem AT siol.net>
42214         * src/configure.in, src/configure, src/Makefile.in, as/z80/Makefile.in:
42215           defined CPPFLAGS
42216         * src/port.mk: defined CPPFLAGS, renamed to src/port.mk.in
42217         * src/avr/Makefile.in, src/ds390/Makefile.in, src/ds400/Makefile.in,
42218           src/hc08/Makefile.in, src/mcs51/Makefile.in, src/pic16/Makefile.in,
42219           src/pic/Makefile.in, src/xa51/Makefile.in, src/z80/Makefile.in:
42220           include ../port.mk
42221         * sim/ucsim/main_in.mk, sim/ucsim/avr.src/Makefile.in,
42222           sim/ucsim/gui.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
42223           sim/ucsim/s52.src/Makefile.in, sim/ucsim/sim.src/Makefile.in,
42224           sim/ucsim/xa.src/Makefile.in: ignore header files for dependencies
42226 2006-07-02 Raphael Neider <rneider AT web.de>
42228         * src/pic16/devices.inc,
42229         * device/include/pic16/pic18fregs.h,
42230         * device/include/pic16/pic18f4550.h,
42231         * device/lib/pic16/pics.all,
42232         * device/lib/pic16/libdev/pic18f4550.c: added support for 18f4550
42234 2006-07-01 Bernhard Held <bernhard AT bernhardheld.de>
42236         * as/hc08/lkaomf51.c (OutputName),
42237         * as/mcs51/lkaomf51.c (OutputName),
42238         * as/z80/asmain.c (asmbl),
42239         * src/ds390/main.c (asmLineNodeFromLineNode),
42240         * src/hc08/ralloc.c (hc08_assignRegisters),
42241         * src/mcs51/main.c (asmLineNodeFromLineNode),
42242         * src/xa51/ralloc.c (checkRegMask),
42243         * src/xa51/gen.c (emitcode),
42244         * src/z80/gen.c (_emit2),
42245         * src/SDCCast.c (searchLitOp),
42246         * src/SDCCglobl.h,
42247         * support/packihx/packihx.c,
42248         * support/Util/MySystem.c (split_command): fix gcc 4 warnings
42249         * src/ds390/gen.c (aopPutUsesAcc),
42250         * src/ds390/ralloc.c (getRegBitNoSpil): unused, therefore disabled
42251         * support/regression/tests/libmullong.c (mullong_wrapper),
42252         * src/SDCCsymt.c (powof2),
42253         * src/SDCCast.c,
42254         * src/SDCCicode.c: renamed TYPE_WORD by TYPE_TARGET_INT and so on
42255         * src/SDCCsymt.h: added TYPE_TARGET_*
42256         * src/SDCCutil.c (doubleFromFixed16x16, fixed16x16FromDouble),
42257         * src/SDCCutil.h (doubleFromFixed16x16, fixed16x16FromDouble): moved to
42258         SDCCast because 1) header problems 2) this is the right place
42259         * src/SDCCast.c (doubleFromFixed16x16, fixed16x16FromDouble): added
42260         * src/SDCCval.h (doubleFromFixed16x16, fixed16x16FromDouble): added
42261         prototype
42263 2006-06-29 Bernhard Held <bernhard AT bernhardheld.de>
42265         * src/SDCCicode.h: removed buggy semicolon in unused macro
42266         * src/SDCClrange.c (findPrevUseSym, rlivePoint): fixed bug #1486853,
42267         search for previous definiton of auto symbols too,
42268         (findPrevUse): fixed logic of emitWarnings
42270 2006-06-26 Raphael Neider <rneider AT web.de>
42272         * src/pic16/gen.c (genFunction, genEndFunction): also preserve
42273           PCLATH and PCLATU on interrupts, potentially fixes #1505141
42275 2006-06-25 Raphael Neider <rneider AT web.de>
42277         * device/lib/pic/libm: NEW, added math library functions
42278         * device/lib/pic/libsdcc: NEW; added float support functions
42279         * device/lib/pic/{Makefile.in,configure.in,configure}: added libm/
42280         * device/include/pic/{limits.h,errno.h,sdcc-lib.h,float.h,math.h}:
42281           NEW, added math related headers
42282         * device/include/asm/pic/features.h: NEW
42283         * src/pic/gen.c (emitpcode_real): emit warning on NULL pCodeOp,
42284           (popGet): allow larger offsets for AOP_PCODE,
42285           (genDataPointerSet): handle literals explicitly, more debug output,
42286           (genAssign): fixed for float using aopLiteral ;-)
42287         * src/pic/glue.c (pic14createInterruptVect): inserted pagesel before
42288           GOTO initialisation routine
42289         * src/pic/pcoderegs.c (pCodeRegMapLiveRangesInFlow): set wasUsed
42290           flag on registers, fixes #1469043 (local variables do not work)
42291         * src/pic/main.c (_pic14_do_link),
42292         * src/pic16/main.c (_pic16_linkEdit): use fullDstFileName if
42293           available
42295 2006-06-25 Borut Razem <borut.razem AT siol.net>
42297         * device/lib/pic16/libc/stdio/sprintf.c: return the number of
42298           characters printed (not including the trailing '\0' used to end
42299           output to strings). Problem detected in regression test bug-927659.c.
42300           NOTE: printf() family functions should return int instead
42301           unsigned int!
42302         * device/lib/pic16/libc/stdio/vfprintf.c: "%%" prints "%", unknown
42303           specifier are printed as themselves
42304         * sdcc/support/regression/tests/bug1057979.c: pic16 printf doesn't
42305           support flags, width and precision specifiers
42307 2006-06-24 Borut Razem <borut.razem AT siol.net>
42309         * sdcc/support/regression/tests/bitvars.c: added gbz80, pic16 and pic16
42310           to the list of sdcc tagrets not supporting bit type
42311         * sdcc/support/regression/tests/bug-905992.c.c: excluded regression
42312           testfor pic16 due to bug:
42313           [ 1511794 ] pic16: regression test bug-895992.c fails
42315 2006-06-24 Maarten Brock <sourceforge.brock AT dse.nl>
42317         * src/mcs51/gen.c (genCmp): optimization for RFE 1162453
42318         * src/SDCCglue.c (initPointer), fixed bug 1496419
42319         * support/regression/tests/bug1496419.c: new, added
42321 2006-06-22 Borut Razem <borut.razem AT siol.net>
42323         * support/regression/ports/pic16/support.c: use gpsim usart module from
42324           libgpsim_modules library
42326 2006-06-21 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
42328         * device/include/mcs51/at89c51ed2.h: Fixed bug 1510144 changed
42329         IP0H to IPH0.
42331 2006-06-19 Raphael Neider <rneider AT web.de>
42333         * src/pic/glue.h,src/pic16/glue.h: added prototypes
42334         * src/pic/glue.c,src/pic16/glue.c (pic1x_stringInSet,
42335           pic1x_emitSymbolIfNew): NEW, check for a string in a set,
42336           (pic14printExterns,pic14printPublics,pic16printPublics,
42337           pic16_printExterns): use new functions to emit symbols
42338           (picglue,pic16glue): emit publics before emitting externs
42339         * src/pic/gen.c,src/pic16/gen.c (genFunction): remember the names of
42340           locally defined functions to avoid bug #1443651
42341         * support/regression/tests/bug-716242.c: removed pic16 workaround
42342         * support/regression/ports/pic16/spec.mk: ignore errors during build
42344 2006-06-19 Raphael Neider <rneider AT web.de>
42346         * src/pic/glue.h: added pic14aopLiteral prototype
42347         * src/pic/glue.c (pic14aopLiteral): return unsigned int
42348         * src/pic/gen.c: removed stdint.h dependency
42349           (aopGet): use Safe_strdup()
42350           (bitpatternFromVal): removed, replaced use with pic14aopLiteral
42351           (genDataPointerSet): use pic14aopLiteral()
42352         * src/pic16/glue.h, src/pic16/glue.c, src/pic16/gen.c: similar changes
42353           for pic16; thanks to Bernhard and Maarten
42355 2006-06-18 Borut Razem <borut.razem AT siol.net>
42357         * support/regression/tests/structflexarray.c: flexible array members
42358           not supported by gcc < 3
42359         * sim/ucsim/configure, sim/ucsim/configure.in: do not compile serio
42360           GUI tool by default
42361         * src/pic/gen.c: don't include [p]strdin.h on solaris
42362         * support/Util/pstdint.h: added svn attributes
42363         * support/regression/tests/constantRange.c,
42364           support/regression/tests/rotate.c: include inttypes.h instead
42365           stdint.h on solaris, added svn attributes
42367 2006-06-18 Raphael Neider <rneider AT web.de>
42369         * src/SDCCsymt.c (initCSupport): change return type of divschar to
42370           int for PIC16
42371         * src/pic16/genarith.c (genAddLit): sign-extend via standard routine
42372           (pic16_genMinusBits): simplified sign-extension
42373           (pic16_genUMult8XLit_8,pic16_genUMult8X8_8): renamed to
42374             pic16_genMult8XLit_n resp. pic16_genMult8X8_n, fixed and
42375             adjusted to correctly handle mixed-signed operands, disabled
42376             now unused multiplciation routines
42377         * src/pic16/gen.c (pic16_pushpCodeOp): fixed to handle literals
42378           (assignResultValue): added argument denoting the size of the result
42379             as returned by the function (fixes upcasts in assigning from
42380             function calls: char foo(); int i = foo();)
42381           (genCall,genPcall,genGenPointerGet,genReceive): pass size of
42382             function result to assignResultValue
42383           (genMult): disabled inlined multiplication code
42384           (genDiv): augmented to also handle the modulus operator, fixed to
42385             handle mixed-signed operands correctly
42386           (genMod): simply call genDiv, disabled unused code
42387           (genAssign): fixed missing (sign-)extension on result
42388         * src/pic16/main.c (_hasNativeMulFor): accept literals [-128..256) as
42389             valid char operands, allow signed operands for native code, added
42390             division and modulo operator handling
42391         * device/lib/pic16/libsdcc/char/divschar.c: divschar returns an int
42393         As a consequence, onebyte.c (if split into two files) and muldiv.c
42394         pass regression tests.
42396 2006-06-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
42398         * doc/Makefile.in: two runs of makeindex seem needed to get
42399         correct page references in the index of sdccman.pdf
42400         * doc/sdccman.lyx: mentioned cmon51, added links, small changes
42402 2006-06-17 Borut Razem <borut.razem AT siol.net>
42404         * sdcc/device/lib/Makefile.in: corrected PORTINCDIR path
42406 2006-06-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
42408         * doc/sdccman.lyx: updated, added (porting source code, debugging),
42409         mentioned ec2drv and paulmon
42411 2006-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
42413         * as/mcs51/lkarea.c (lnkarea2): clear new xdatamap, bugfix for two
42414           consecutive abs areas
42415           (find_empty_space, allocate_space): added map to handle codemap or
42416            xdatamap,
42417           (lnksect2): renamed rloc to locIndex, fixed bug 960060 by handling
42418            absolute idata and xdata
42419         * as/mcs51/lkmem.c (summary2): updated legend
42421 2006-06-16 Raphael Neider <rneider AT web.de>
42423         * src/pic16/gen.c (shiftR2Left2Result): fixed bug #1507127
42425 2006-06-13 Maarten Brock <sourceforge.brock AT dse.nl>
42427         * debugger/mcs51/cmd.c (cmdListFunctions): fixed bugs 1181163 and
42428           1208515
42429         * src/SDCClrange.c (findPrevUse): fixed bug 1294475
42431 2006-06-13 Vangelis Rokas <vrokas AT users.sourceforge.net>
42433         * src/port.h (struct PORT): added field gp_tags, to hold the tag
42434         value of generic pointers,
42435         * src/avr/main.c,
42436           src/ds390/main.c,
42437           src/hc08/main.c,
42438           src/izt/i186.c,
42439           src/izt/tlcs900h.c,
42440           src/mcs51/main.c,
42441           src/pic/main.c,
42442           src/pic16/main.c,
42443           src/xa51/main.c,
42444           src/z80/main.c: PORT structure, added elements for gp_tags field,
42445         * src/SDCCsymt.h: replaced hardwired values of GPTYPE_* macros with
42446         fields in the PORT structure of each port,
42447         * src/SDCCast.c (decorateType): allow processing of generic pointers
42448         for PIC16 port (FPTRSIZE equals GPTRSIZE), also set GPTYPE_NEAR for
42449         S_FIXED symbols
42451 2006-06-12 Maarten Brock <sourceforge.brock AT dse.nl>
42453         * link/z80/lkgb.c,
42454         * link/z80/lkgg.c,
42455         * src/pic16/gen.c,
42456         * src/pic16/main.c,
42457         * src/pic16/pcode.c,
42458         * src/pic/main.c,
42459         * src/pic/pcoderegs.c,
42460         * src/SDCCicode.c,
42461         * src/SDCCmain.c,
42462         * src/SDCCsymt.c: replaced all exit(-1) by exit(EXIT_FAILURE) to fix
42463           bug 1504689 on minGW
42465 2006-06-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
42467         * device/lib/printf_tiny.c: fixed bug #1465675 (%x format specifier)
42469 2006-06-12 Bernhard Held <bernhard AT bernhardheld.de>
42471         * src/SDCCast.c (backPatchLabels): fixed bug #1504636
42473 2006-06-11 Maarten Brock <sourceforge.brock AT dse.nl>
42475         * device/lib/printf_large.c (OUTPUT_CHAR, _output_char): added and used
42476           for optimization
42478 2006-06-11 Vangelis Rokas <vrokas AT users.sourceforge.net>
42480         * src/pic16/gen.c (genCast): fixed bug with assignment of a pointer
42481         to a char variable. Fixed bug #1504211
42482         * device/include/pic16/adc.h,
42483         device/include/lib/pic16/libio/adc/adcopen.c: applied patch #1364387
42484         and fixed bug #1364390
42486 2006-06-10 Borut Razem <borut.razem AT siol.net>
42488         * CVSROOT: removed the CVS left-over
42490 2006-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
42492         * as/hc08/asmain.c (asexit),
42493         * as/hc08/lkmain.c (lkexit),
42494         * as/mcs51/asmain.c (asexit),
42495         * as/mcs51/lkmain.c (lkexit),
42496         * src/SDCCglue.c (DEFSETFUNC),
42497         * src/SDCCmain.c (linkEdit, assemble),
42498         * support/librarian/sdcclib.c (AddRel),
42499           replaced unlink() by standard C remove()
42500         * src/SDCC.y: replaced removePostIncDecOps() by createRMW()
42501         * src/SDCCast.c (replaceAstWithTemporary, createRMW,
42502           gatherImplicitVariables): new, added to fix bug 608752,
42503           (createFunction): added gatherImplicitVariables()
42504         * src/SDCCast.h: added createRMW prototype
42505         * src/SDCCsymt.h (struct symbol): added infertype
42506         * support/regression/tests/bug608752.c: new, added
42508 2006-06-10 Raphael Neider <rneider AT web.de>
42510         * src/pic16/gen.c (pic16_aopOp): use WREG as destination even for
42511           multibyte dummy reads (fixes #1503234)
42513 2006-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
42515         * device/include/mcs51/compiler.h: new, added header file to enable
42516           creating common sfr definition header files for different compilers
42518 2006-06-05 Raphael Neider <rneider AT web.de>
42520         * src/pic16/{pcode.h,genarith.c}:
42521           introduced pCodeOp combining any two pCodeOps (previously only
42522           two register operands could be combined), removed pcop2 from
42523           pCodepReg, replaced pCodeOpReg2 with pCodeOp2, fixes #1492366
42524         * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): added case for PO_TWO_OPS
42525         * src/pic16/gen.c (pic16_popGet2,pic16_popGet2p,pic16_popCombine2):
42526           rewritten to use new PO_TWO_OPS
42527         * src/pic16/main.c (_hasNativeMulFor): cover more cases natively,
42528         * src/pic16/pcode.c (pic16_newpCodeOpImmd): initialize rIdx field,
42529           (pic16_newpCodeOp): catch invalid attempts on PO_TWO_OPS,
42530           (pic16_newpCodeOp2): NEW, create combined pCodeOp,
42531           (pic16_get_op): embraced return arg to allow #define return(x),
42532             added new case for combined opcodes
42533           (pic16_get_op2): reduced to use pic16_get_op() on second pCodeOp,
42534           (pic16_pCode2str,pic16_getRegFrompCodeOp,
42535            pic16_getRegFromInstruction2): fixed/added handling of new pCodeOp
42537 2006-06-04 Bernhard Held <bernhard AT bernhardheld.de>
42539         * src/SDCCval.c (checkConstantRange): added
42540         * src/SDCCval.h: added checkConstantRange
42541         * support/Util/SDCCerr.c,
42542         * support/Util/SDCCerr.h: replaced unused W_IF_NEVER_TRUE and
42543         W_IF_ALWAYS_TRUE by W_COMP_RANGE and W_LIT_OVERFLOW
42544         * src/SDCC.y: moved early 'condition transformations' to SDCCast.c
42545         * src/SDCCast.c (decorateType): added checkConstantRange,
42546         added 'condition transformations' from SDCC.y so that now W_COMP_RANGE
42547         can be emitted with the correct always true/false warning,
42548         added optimization for double '!';
42549         result of decorateType() must be assigned back to the tree, because
42550         decorateType() can change the tree
42551         * src/SDCCicode.c (geniCodeLogic),
42552         (geniCodeAssign): replaced new checkConstantRange, added warnings,
42553         (checkConstantRange): removed, it was only a fragment which never
42554         emitted a warning
42555         * src/SDCCsymt.c (computeType): fixed promotion for
42556         "-1 < (unsigned bit) b"
42557         * src/pic/ralloc.c (packRegsForAssign),
42558         * src/pic16/ralloc.c (packRegsForAssign),
42559         * src/hc08/ralloc.c (packRegsForAssign),
42560         * src/z80/ralloc.c (packRegsForAssign): ported fix for bug #930931
42561         from mcs51
42562         * src/mcs51/ralloc.c (packRegsForAssign): removed outcommented source
42563         * support/regression/tests/constantRange.c: added
42564         * support/valdiag/tests/constantRange.c: added
42565         * support/valdiag/valdiag.py: added -DPORT_HOST=1
42567 2006-06-02 Borut Razem <borut.razem AT siol.net>
42569         * support/regression/ports/pic16/support.c: increase stack size
42570           to 255 bytes
42571         * support/regression/Makefile.in: sort tests by name so that the
42572           resutlts can be compared on different machines / platforms
42574 2006-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
42576         * device/lib/printf_large.c (output_digit): optimized further, Tnx Frieder
42577         * src/ds390/gen.c (emitLabel): new, added,
42578           (genDjnz): fixed stack overflow bug,
42579           (throughout): cosmetic changes to sync with mcs51/gen.c,
42580           replaced emitcode("", "%05d$:", lbl->key + 100) with emitLabel(lbl)
42581         * src/mcs51/gen.c (genEndFunction): small optimization,
42582           (throughout): cosmetic changes to sync with ds390/gen.c
42584 2006-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
42586         * device/lib/printf_large.c (output_digit, calculate_digit): optimized,
42587           (_print_format): fixed printing pointers
42588         * src/mcs51/gen.c (emitLabel, movb): new, added,
42589           (genAssign): small optimization,
42590           (genDjnz): fixed stack overflow bug,
42591           (throughout): replaced sprintf with SNPRINTF,
42592           replaced mcs51_regWithIdx with REG_WITH_INDEX,
42593           replaced emitcode("mov", "b,...") with MOVB(...),
42594           replaced emitcode("", "%05d$:", lbl->key + 100) with emitLabel(lbl),
42595           replaced D(emitcode("; genXXX", "")) with D(emitcode(";", "genXXX"))
42596         * src/mcs51/peeph.def: added rules 140 and 264
42597         * src/SDCCmem.c (allocLocal): store register declared locals in DSEG/OSEG
42598           so they may get optimized into registers
42600 2006-05-30 Maarten Brock <sourceforge.brock AT dse.nl>
42602         * src/SDCCmain.c (optionsTable, parseCmdLine): handle --use-stdout
42603           immediately when encountered,
42604           (printUsage): always use stderr even on windows
42606 2006-05-30 Bernhard Held <bernhard AT bernhardheld.de>
42608         * src/SDCCast.c (isLoopCountable): fixed bug #1478316
42609         (processParms): fixed bug #1247551
42610         * src/SDCCmain.c (printVersionInfo, printOptions, printUsage,
42611         parseCmdLine, main): print '--version' to stdout,
42612         print 'help' to stdout if --help is given,
42613         print 'help' to stderr and exit with EXIT_FAILURE if no or bad
42614         arguments are given; fixed --help
42616 2006-05-27 Bernhard Held <bernhard AT bernhardheld.de>
42618         * src/SDCCcse.c (findPointerSet): fixed bug #1493710
42619         * support/regression/tests/bug-1493710.c: added
42621 2006-05-27 Borut Razem <borut.razem AT siol.net>
42623         * support/regression/fwk/lib/testfwk.c: define array in _printn() as
42624           static instead auto
42625         * support/regression/ports/pic16/support.c: increase stack size
42626           from default 64 bytes to 128 bytes
42627         * support/regression/tests/staticinit.c,
42628           support/regression/tests/float.c: regression tests fully enabled
42629           for pic16 port by putting the initialized data arrays into the code
42630           section
42631         * support/regression/ports/pic16/spec.mk: don't link default libraries.
42632           This was changed by mistake in the previous version.
42634 2006-05-28 Vangelis Rokas <vrokas AT users.sourceforge.net>
42636         * src/pic16/gen.c (genFunction, genEndFunction): some
42637         beautifications, fixed bug with falsely restoring FSR2 in large
42638         stack model, thanks to Beau E. Cox for reporting the bug
42640 2006-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
42642         * debugger/mcs51/break.c,
42643         * debugger/mcs51/cmd.c (throughout): removed unused variables and labels,
42644           use %p to print pointers, made address variables unsigned
42645         * debugger/mcs51/cmd.c (infoSymbols): added missing parameter to printf
42646         * debugger/mcs51/symtab.c (parseSymbol): must return something
42647         * src/mcs51/gen.c (aopForSym): small optimization,
42648            moved declarations mcs51_ptrRegReq and mcs51_nRegs to ralloc.h,
42649           (freeAsmop): added missing break,
42650           (aopPut): removed parameter bvolatile, determine it inside the function,
42651           (saveRegisters, unsaveRegisters): small optimization,
42652           (genIpush): removed pointless check,
42653           (throughout): replaced Safe_calloc, strcpy with Safe_strdup,
42654           replaced sprintf with SNPRINTF,
42655           replaced strcpy with strncpyz,
42656           updated aopPut calls,
42657           replaced D(emitcode("; genXXX", "")) with D(emitcode(";", "genXXX"))
42658         * src/mcs51/ralloc.h:  added declarations mcs51_ptrRegReq and mcs51_nRegs
42660 2006-05-24 Borut Razem <borut.razem AT siol.net>
42662         * support/regression/tests/bug-221100.c: fixed xdata problem caused by
42663           modification of test for the pic16 port, put the array to the code
42664           memory for pic16port; thanks to Maarten Brock and Frieder Ferlemann
42666 2006-05-23 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
42668         * src/pic/gen.c: MSC 6 does not have <stdint.h>.  Use pstdint.h instead.
42669         * support/Util/pstdint.h: added
42671 2006-05-22 Borut Razem <borut.razem AT siol.net>
42673         * src/regression/Makefile: removed bool2.c test, added -q linker option
42674         * src/regression/add2.c, src/regression/add3.c, src/regression/bool1.c,
42675           src/regression/bool3.c, src/regression/nestfor.c, src/regression/ptrfunc.c,
42676           src/regression/compare.c, src/regression/or1.c, src/regression/compare2.c,
42677           src/regression/while.c, src/regression/compare3.c, src/regression/compare4.c,
42678           src/regression/compare5.c, src/regression/sub2.c, src/regression/rotate1.c,
42679           src/regression/rotate2.c, src/regression/rotate3.c, src/regression/rotate4.c,
42680           src/regression/switch1.c, src/regression/rotate5.c, src/regression/for.c,
42681           src/regression/add.c, src/regression/sub.c, src/regression/call1.c:
42682           define SUPPORT_BIT_TYPES 0, removed unused bit variables
42684 2006-05-22 Raphael Neider <rneider AT web.de>
42686         * src/pic16/gen.c (pic16_storeForReturn): fragile fix for
42687           bug #1492360 (problematic due to generic pointers, see code)
42689 2006-05-22 Borut Razem <borut.razem AT siol.net>
42691         * support/regression/ports/pic16/specs.mk: removed stack size linker
42692           directive
42693         * support/regression/tests/array.c,
42694           support/regression/tests/bitopcse.c,
42695           support/regression/tests/bug-908454.c,
42696           support/regression/tests/malloc.c: modified for pic16 regression test
42697         * support/regression/tests/bitfields.c:
42698           pic16 - excluded bitfileds of size > 8
42699         * support/regression/tests/bp.c: pic16 - reduced data size
42700         * support/regression/tests/bug-221100.c: pic16 - reduced data size
42701         * support/regression/tests/bug-460010.c:
42702           pic16 - used the absolute address the fits in memory
42703         * support/regression/tests/bug-716242.c:
42704           bug [ 1443651 ] pic 16: redefining symbol that cannot be redefined.
42705         * support/regression/tests/float.c:
42706           pic16 - excluded - data size too big
42707         * support/regression/tests/onebyte.c:
42708           pic16 - bug [ 1444425 ] onebyte.c regression tes fails on pic16
42709         * support/regression/tests/shifts.c:
42710           pic16 - function names probably have to differ in first X characters
42711           (gpasm limitation?)
42712         * support/regression/tests/staticinit.c:
42713           pic16 - excluded some tests due error: no target memory available for
42714           section ".idata"
42716 2006-05-22 Borut Razem <borut.razem AT siol.net>
42718         * support/Util/dbuf.c: fixed bug #1489008 fix dbuf_c_str(),
42719           second try. Thanks Stas Sergeev once more.
42721 2006-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
42723         * src/hc08/gen.c (transferAopAop): aop forced to stack was not restored,
42724           (genLeftShift, genRightShift): fixed bug 1491627
42725         * src/hc08/peeph.def (rules 7, 8.x): added
42726         * support/regression/tests/shifts.c (ShiftLeftByParam,
42727           ShiftRightByParam, testShiftByParam): added to test variable shifting
42729 2006-05-20 Raphael Neider <rneider AT web.de>
42731         * src/pic/gen.c (bitpatternFromVal): fixed for 64-bit machines
42732         * src/pic16/ralloc.c (newReg): use correct name in hashtable,
42733           (allocReg): add only new registers to dynAllocRegs,
42734           (pic16_assignRegisters): do not reset dynrIdx, fixes bugs
42735             #1489055, #1445850, and probably #1483693
42737 2006-05-19 Vangelis Rokas <vrokas AT users.sourceforge.net>
42739         * src/pic16/glue.c (pic16_emitConfigRegs, pic16_emitIDRegs): fixed
42740         bug in for-loop that didn't emit the last of CONFIG and ID registers
42742 2006-05-18 Maarten Brock <sourceforge.brock AT dse.nl>
42744         * src/mcs51/gen.c (genCodePointerGet): inc dptr instead of loading acc
42745           with offset
42746         * src/mcs51/peeph.def (186.x): updated and reenabled to fix bugs
42747           1489016, 1434401 and 1490124
42748         * src/ds390/peeph.def (186.x, 227.x): updated and reenabled to fix bugs
42749           1489016, 1434401 and 1490124
42751 2006-05-17 Borut Razem <borut.razem AT siol.net>
42753         * support/Util/dbuf.c: fixed bug #1489008 fix dbuf_c_str(),
42754           thanks Stas Sergeev
42756 2006-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
42758         * device/include/mcs51/P89c51RD2.h,
42759         * device/include/mcs51/P89LPC901.h,
42760         * device/include/mcs51/P89LPC922.h,
42761         * device/include/mcs51/P89LPC932.h: added, thanks Omar Espinosa
42763 2006-05-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
42765         * device/lib/pic16/libsdcc/stack/{stack.S, Makefile.in}: add workaround
42766         to fix missing stack pragma in compiled binary object file,
42768 2006-05-14 Bernhard Held <bernhard AT bernhardheld.de>
42770         * support/packihx/configure.in,
42771         * support/packihx/configure: removed warning, autoconf >= 2.5x can
42772         determine sizeof basic types even while cross compiling
42774 2006-05-13 Bernhard Held <bernhard AT bernhardheld.de>
42776         * src/avr/gen.c (aopop),
42777         * src/ds390/gen.c (aopOp),
42778         * src/hc08/gen.c (aopOp),
42779         * src/mcs51/gen.c (aopop),
42780         * src/pic16/gen.c (pic16_aopOp),
42781         * src/pic/gen.c (aopOp),
42782         * src/z80/gen.c (aopop): fix for bug #1479882; use new, exclusive asmop
42783         if size of operand is smaller than spill location
42785 2006-05-12 Borut Razem <borut.razem AT siol.net>
42787         * *.dsw, *.dsp: changed property svn:eol-style to CRLF since they
42788           have to have CR/LF line endings even if they are checked out on *nix
42789           or on WIN32 in cygwin binmode
42791 2006-05-12 Maarten Brock <sourceforge.brock AT dse.nl>
42793         * doc/sdccman.lyx: documented numeric ranges, WEBDOC #1442369
42794         * device/include/ds80c390.h: added sfr16 definitions
42795         * src/ds390/gen.c,
42796         * src/ds390/gen.h,
42797         * src/ds390/main.c,
42798         * src/ds390/ralloc.c,
42799         * src/ds390/ralloc.h: changes all over the place to sync with mcs51
42800           fixing several bugs and adding sfr16/sfr32, reentrant bit params,
42801           bit returning functions
42802         * support/regression/tests/sfr16.c: enabled test on ds390
42804 2006-05-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
42806         * src/hc08/gen.c (asmopToBool, genIfx): fix for bug #1429722
42807         * src/hc08/gen.c (storeRegToAop): fix for bug #1439894
42809 2006-05-11 Maarten Brock <sourceforge.brock AT dse.nl>
42811         * sim/ucsim/sim.src/memcl.h: added get_decoder() to cl_address_space
42812         * sim/ucsim/sim.src/mem.cc: implemented cl_address_space::get_decoder,
42813           (cl_address_space constructor): removed expensive initialization,
42814           (cl_address_space::get_cell): extended for late initialization,
42815           (cl_address_space::*): use late initialization,
42816           (cl_address_decoder::activate): removed expensive initialization,
42817           This reduced regression test running time by 25%
42819 2006-05-11 Bernhard Held <bernhard AT bernhardheld.de>
42821         * packihx/,
42822         * configure.in,
42823         * configure,
42824         * sdcc.dsw,
42825         * Makefile.bcc,
42826         * Makefile.in,
42827         * support/packihx/Makefile.in,
42828         * support/packihx/clean.mk,
42829         * support/packihx/Makefile.bcc,
42830         * support/packihx/PackIhx.dsp: moved packihx to support/packihx
42832 2006-05-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
42834         * src/SDCCval.c (valNot): fix for regression test failure
42835           of not.c on big endian hosts
42837 2006-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
42839         * device/inlcude/mcs51/msc1210.h: new, added, thanks Philippe Latu
42841 2006-05-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
42843         * device/lib/mcs51/Makefile.in: changed string comparison operator
42844           to = for POSIX compliance; == is bash extension
42846 2006-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
42848         * device/lib/hc08/_mulint.c: applied patch 1485428, thanks
42849           kosmonaut_pirx
42851 2006-05-09 Vangelis Rokas <vrokas AT users.sourceforge.net>
42853         * src/pic16/gen.c (pic16_freeAsmop): release any temp registers
42854         allocated by aopForSym thus fixing bug #1478657 about failed testfwk.c
42855         * src/pic16/main.c (_pic16_keywords): added 'sfr16' keyword,
42856         * src/pic16/ralloc.c (pic16_allocWithIdx): also a fix for bug exposed by
42857         bug report #1478657,
42859 2006-05-05 Borut Razem <borut.razem AT siol.net>
42861         * doc/Makefile.in: remove of WARNINGS and labels.pl immediately after
42862           making the html
42864 2006-05-02 Borut Razem <borut.razem AT siol.net>
42866         * doc/Makefile.in: removed *.ind dependency since there is no rule to
42867           create *.ind, which made make to fail if invoked with -j 2
42869 2006-05-01 Maarten Brock <sourceforge.brock AT dse.nl>
42871         * src/SDCCglue.c (emitRegularMap): partial fix for bug 1477149, thanks
42872           Hubert Sack for patch 1479782
42874 2006-05-01 Vangelis Rokas <vrokas AT users.sourceforge.net>
42876         * src/pic16/glue.c (pic16_printIvalStruct): fixed bug #1445929
42878 2006-05-01 Raphael Neider <rneider AT web.de>
42880         * src/pic/device.c (sanitise_processor_name): only remove p(ic) prefix,
42881           (create_pic): store only prefix-free device name,
42882           (init_pic): check for device names with "16" prefix,
42883           (list_valid_pics),
42884         * src/pic/device.h (struct PIC_device),
42885         * src/pic/main.c (_pic14_genAssemblerPreamble): adapted to single
42886             stored device name,
42887         * device/include/pic/pic12f{635,675,629,683}.h,
42888         * device/lib/pic/libdev/pic12f{635,675,629,683}.c: NEW device libraries
42889         * device/lib/pic/libdev/Makefile.in: allow pic12* devices,
42890         * device/include/pic/pic16f505.h,
42891         * device/lib/pic/libdev/pic16f505.c: removed
42892         * device/include/pic/pic14devices.txt: added support for pic12f
42893             devices, removed unsupported non 16-bit devices
42894             [above changes provided by patch from Zik Saleeba]
42895         * src/pic/*, src/pic16/*, device/include/pic16/*,
42896           device/lib/pic/**, device/lib/pic16/**: obfuscated email address
42898 2006-05-01 Borut Razem <borut.razem AT siol.net>
42900         * configure.in, configure, doc/Makefile.in:
42901           sync with nightly build makefile - latex, dvipdf and dvips
42902           not needed any more
42904 2006-04-30 Bernhard Held <bernhard AT bernhardheld.de>
42906         * support/scripts/sdcc.nsi: removed all Readmes and Makefiles
42907         in the library source
42909 2006-04-30 Maarten Brock <sourceforge.brock AT dse.nl>
42911         * support/regression/ports/hc08/spec.mk: fixed bug 1478892
42913 2006-04-28 Raphael Neider <rneider AT web.de>
42915         * src/pic16/pcode.c (pic16_newpCodeOpLit12),
42916         * src/pic16/gen.c (pic16_popGetLit12): NEW, create 12 bit literal,
42917           (pic16_loadFSR0): handle 12 bit literals correctly, fixes #1440527
42918         * src/pic16/pcode.h: added prototype for pic16_newpCodeOpLit12()
42920 2006-04-28 Bernhard Held <bernhard AT bernhardheld.de>
42922         * device/lib/pic/libdev/Makefile.in,
42923         * device/lib/hc08/Makefile.in,
42924         * device/lib/gbz80/Makefile.in,
42925         * device/lib/z80/Makefile.in,
42926         * device/lib/ds390/Makefile.in,
42927         * device/lib/ds400/Makefile.in: added srcdir to include search path,
42928         thanks to Borut for the bug report
42929         * configure.in,
42930         * configure: always create doc/Makefile independent from --enable-doc
42931         * Makefile.in: always install from directory doc independent from
42932         --enable-doc
42933         * device/lib/pic/Makefile.in: added libdev again, it was erroneously
42934         removed
42935         * device/lib/pic/libdev/Makefile.in: fixed VPATH build
42936         * doc/Makefile.in: install *.txt if present
42937         * device/include/Makefile.in (install): added installation of pic/*.inc
42938         and pic/*.txt files again, they were erroneously removed
42940 2006-04-28 Raphael Neider <rneider AT web.de>
42942         * src/pic/{gen.c,main.h,pcode.c},
42943         * src/pic16/{gen.c,pcode.c}: quietened compiler warnings
42944             concerning signedness with casts
42946 2006-04-28 Raphael Neider <rneider AT web.de>
42948         * src/pic/gen.c (genFunction): set global pic14_hasInterrupt on
42949             definition of an interrupt handler,
42950         * src/pic/glue.c (pic14_emitInterruptHandler): moved output of
42951             interrupt handler stuff from picglue() to separate routine,
42952           (picglue): enabled definition of intr handlers in files w/o main()
42954 2006-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
42956         * support/librarian/sdcclib.c: moved include <limits.h> up to enable
42957           compilation with MSVC 2005 Express Edition (VC8)
42959 2006-04-26 Bernhard Held <bernhard AT bernhardheld.de>
42961         * device/lib/Makefile: fixed build of gbz80 lib
42963 2006-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
42965         * support/regression/tests/bug-460010.c,
42966         * support/regression/tests/bug-524691.c,
42967         * support/regression/tests/bug-716242.c: removed conditional defines
42968           that are already in testfwk.h
42970 2006-04-25 Maarten Brock <sourceforge.brock AT dse.nl>
42972         * src/ds390/gen.c (AccAXRrl1, AccAXLrl1): changed to real rotate by 1,
42973           (AccAXRsh1): added, shift right by 1,
42974           (AccAXLsh, AccAXRsh, AccAXRshS): updated for AccAXRrl1, AccAXRsh1 and
42975            AccAXLrl1
42976         * support/regression/tests/rotate.c: use <stdint.h> and enabled ds390
42978 2006-04-25 Bernhard Held <bernhard AT bernhardheld.de>
42980         * src/SDCCast.c (decorateType): partial fix for RFE 1475769,
42981         remove cast to same type
42982         * src/SDCCast.c (decorateType): fix for RFE 1475742,
42983         optimize 'ifx (op == 0)' resp. 'ifx (op != 0)'
42984         * as/z80/Makefile,
42985         * link/z80/Makefile: removed, they have moved to
42986         Makefile.in files
42987         * configure,
42988         * configure.in: replaced duplicate message about ucsim by missing sdcpp
42989         * install-sh: fix bug #1204398 by setting umask 0022
42990         * device/lib/Makefile: separate build of z80 and gbz80 lib
42992 2006-04-24 Bernhard Held <bernhard AT bernhardheld.de>
42994         Enabled VPATH feature: changed nearly all Makefiles (149 files).
42995         See sdccman.lyx '2.4.10 VPATH feature' about how to use it.
42997         One basic decision: e.g. src/clean.mk includes further files. In order
42998         to make this work there are two solutions:
42999         - rename another dozen clean.mk to clean_in.mk, add srcdir to them and
43000           run configure on them. This way they can use
43001           'include $(srcdir)/port-clean.mk'
43002         - always include clean.mk by the Makefile at the same level. To avoid
43003           that `make clean` tries to include and build Makefile.dep the
43004           MAKECMDGOALS are examined (see e.g. src/Makefile.in). This has been
43005           implemented, because now even `make uninstall` doesn't create
43006           Makefile.in. clean.mk could be eliminated by pasting it in
43007           Makefile.in.
43009         * debugger/mcs51/Makefile.in: build own objects from library sources
43010         (SLIB, SDCC) in current directory
43012         * configure, configure.in: renamed --disable-device-lib-build in
43013         --disable-device-lib; added --enable-doc, the required tools are
43014         searched by configure; added result message; the toolchain for the
43015         belonging ports are now only built, if the port is enabled.
43017         * support/regression/*: all output is written in directory gen, because
43018         the fwk and ports directories don't livet in the build tree using vpath
43020         * doc/sdccman.lyx: renamed --disable-device-lib-build to
43021         --disable-device-lib, added --enable-doc, added section VPATH
43023         * sim/ucsim/configure.in,
43024         * sim/ucsim/configure.in: hc08 couldn't be disabled, now hc08 and
43025         z80 are enabled by default
43027 2006-04-24 Raphael Neider <rneider AT web.de>
43029         * src/pic/device.c (pic14_assignConfigWordValue): remember assignments
43030             to config word, "pic14_"-prefixed some extern functions
43031           (pic14_emitConfigWord): emit __config directive(s) if assignment to
43032             config word has been found
43033         * src/pic/device.h: added prototypes
43034         * src/pic/pcode.c: added "pic14_"-prefix where needed
43035         * src/pic/ralloc.c (IS_CONFIG_ADDRESS,pic14_assignRegisters): cosmetic
43036             fixup
43037         * src/pic/glue.c (pic14_constructAbsMap): handle assignments to config
43038             words,
43039           (pic14emitRegularMap): ignore config words,
43040           (pic14createInterruptVect): moved generating __config directives away
43041           (picglue): have __config directives emitted
43043 2006-04-24 Borut Razem <borut.razem AT siol.net>
43045         * doc/Makefile: sync with nightly build makefile
43047 2006-04-24 Raphael Neider <rneider AT web.de>
43049         * src/pic/pcoderegs.c (OptimizeRegUsage): do not optimize
43050             registers that have not been assigned proper liveranges,
43051             fixes #1469504 and #1474602,
43052           (pCodeRegOptimizeRegUsage): fixed typo in comment
43054 2006-04-24 Borut Razem <borut.razem AT siol.net>
43056         * device/examples/main8051.c: deleted - it was removed from CVS
43057           24.mar.2000 and after that modified 18.feb.2001, so it reappered
43058           after the transition to Subversion
43059         * src/SDCCalloc.h: deleted - it was removed  from CVS
43060           3.feb.2001 and after that modified 18.feb.2001, so it reappered
43061           after the transition to Subversion
43062         * sim/ucsim/cpu.gif, sim/ucsim/interrupt.gif, sim/ucsim/new.gif,
43063           sim/ucsim/serial1.gif, sim/ucsim/serial2.gif,
43064           sim/ucsim/term_cpuopt.gif, sim/ucsim/timers.gif, sim/ucsim/wins.gif,
43065           sim/ucsim/post.jpg, sim/ucsim/UCsim.jpg: corrected
43067 2006-04-22 Maarten Brock <sourceforge.brock AT dse.nl>
43069         * as/asx8051.dsp: added mcs51/strcmpi.h
43070         * as/hc08/as_hc08.dsp: added asm.h, m6808.h, strcmpi.h
43071         * as/hc08/aslink.h: updated lnksect prototype
43072         * as/hc08/asm.h,
43073         * as/mcs51/asm.h: added a_addr to struct area and s_org to struct sym
43074         * as/hc08/asmain.c,
43075         * as/mcs51/asmain.c (asmbl): init dot.s_org for S_ORG,
43076           (newdot): handle A_ABS
43077         * as/hc08/asout.c,
43078         * as/mcs51/asout.c (outarea): output address
43079         * as/hc08/lkaomf51.c,
43080         * as/mcs51/lkaomf51.c: disabled unused array UsageType
43081         * as/hc08/m08pst.c,
43082         * as/mcs51/i51pst.c,
43083         * as/z80/z80pst.c: "ABS" is not A_OVR
43084         * as/hc08/lkarea.c (newarea): read a_addr,
43085           (lnkarea): added codemap array, sort absolute areas to the front,
43086            combine all GSINITx/GSFINAL,
43087           (find_empty_space, allocate_space): new functions,
43088           (lnksect): return next address, handle absolute sections
43089         * as/mcs51/lkarea.c (newarea): read a_addr,
43090           lnksect2 prototype changed,
43091           (lnkarea2): define codemap unsigned, combine all GSINITx/GSFINAL,
43092           (find_empty_space, allocate_space): new, factored out of lnksect2,
43093           (lnksect2): return next address, handle absolute sections
43094         * as/hc08/lkhead.c,
43095         * as/mcs51/lkhead.c (newhead): head is absolute but not overlay
43096         * as/hc08/lklibr.c (addfile, fndsym),
43097         * as/mcs51/lklibr.c (addfile, buildlibraryindex, fndsym): prevent
43098           index out of range and detect both '\' and '/'
43099         * device/include/mcs51/c8051f200.h: added _XPAGE, removed bad comment
43100         * device/include/stdbool.h: removed SDCC_ds390 from check to pass
43101           regression tests (ds390 cannot return bool yet)
43102         * doc/sdccman.lyx: changed version number, document changed --no-peep,
43103           document critical interrupts on z80, document changed SDCC define
43104         * src/asm.c (_asxxxx_mapping): fixed .org directive,
43105           (_a390_mapping): added .org directive
43106         * src/hc08/gen.c (transferAopAop): made bytemask log to fix warning,
43107           (genMultOneByte): fixed warnings
43108         * src/hc08/hc08.dsp: lowered warning level to 2 to suppress pedantic
43109           ones
43110         * src/pic16/device.c: removed newReg prototype, removed BYTE_IN_LONG
43111         * src/pic16/gen.c (pic16_popGetLabel): made parameter key signed,
43112           (pic16_genLeftShiftLiteral, genRightShiftLiteral): fixed warnings
43113         * src/pic16/gen.h: changed prototype for pic16_popGetLabel
43114         * src/pic16/main.c: removed newReg prototype
43115         * src/pic16/pcode.c,
43116         * src/pic16/pcode.h (pic16_emitDB): changed parameter c to int to fix
43117           warnings
43118         * src/pic16/pic16.dsp: lowered warning level to 2 to suppress pedantic
43119           ones
43120         * src/pic16/ralloc.c
43121         * src/pic16/ralloc.h (newReg): changed type to int and size to unsigned
43122           to fix warnings
43123         * src/pic/pcode.c (allocInternalRegister): changed parameter optype
43124           from short to PIC_OPTYPE
43125         * src/pic/pic.dsp: lowered warning level to 2 to suppress pedantic ones
43126         * src/pic/ralloc.c (newReg, allocInternalRegister): changed parameter
43127           optype from short to PIC_OPTYPE
43128         * src/port.h: made int_size unsigned to fix warnings
43129         * src/SDCC.y: fixed warning on MSVC
43130         * src/SDCCicode.c (getArraySizePtr): return unsigned int
43131         * src/SDCCopt.c (convertToFcall): fixed warnings
43132         * src/SDCCsymt.h: removed double prototype for genSymName
43133         * src/xa51/ralloc.c (allocReg): made size unsigned int, type int and
43134           offset int to fix warnings
43136 2006-04-22 Borut Razem <borut.razem AT siol.net>
43138         * doc/sdccman.lyx, */Makefile, */Makefile.in:
43139           references to CVS replaced with Subversion
43141 2006-04-21 Borut Razem <borut.razem AT siol.net>
43143         * doc/sdccman.lyx, */Makefile, */Makefile.in:
43144           references to CVS replaced with Subversion
43146 2006-04-19 Borut Razem <borut.razem AT siol.net>
43148         * src/version.awk: adapted for svn
43149         * /asxxxx/asxhtml/*.gif: set property svn:mime-type to image/gif
43150           sim/ucsim/doc/*.gif: set property svn:mime-type to image/gif
43151           sim/ucsim/doc/*.jpg: set property svn:mime-type to image/jpeg
43152           /binutils-avr/etc/*.vi, *.jin: removed all properties
43153           support/scripts/sdcc.ico: set property svn:mime-type to image/x-icon
43155 2006-04-19 Borut Razem <borut.razem AT siol.net>
43157         * CVS to Subversion migration completed
43159 2006-04-18 Borut Razem <borut.razem AT siol.net>
43161         * support/scripts/sdcc.nsi: removed unexisting ${DEV_ROOT}/lib/pic/*.o,
43162           ${DEV_ROOT}/lib/src/pic/libdev/*.S, ${DEV_ROOT}/lib/src/pic/libdev/*.inc
43164 2006-04-17 Borut Razem <borut.razem AT siol.net>
43166         * device/include/Makefile.in: added pic/*.inc to the installation
43168 2006-04-15 Bernhard Held <bernhard AT bernhardheld.de>
43170         * support/regression/collate-results.py: fixed output in case of
43171         a valdiag error
43172         * support/regression/generate-cases.py: fixed splitting of pathnames
43173         with dots
43174         * as/hc08/lklibr.c (addfile),
43175         * as/mcs51/lklibr.c (addfile): fixed off-by-one bug
43177 2006-04-11 Raphael Neider <rneider AT web.de>
43179         * src/pic16/gen.c (getFreePtr, pic16_popRegFromString),
43180         * src/pic16/ralloc.c (pic16_allocregWithName): removed debug output
43181         * src/pic16/pcode.c (assignValnums): fixed #1460578
43183 2006-04-11 Raphael Neider <rneider AT web.de>
43185         * device/lib/pic/libdev/*.c,
43186         * device/include/pic/*.h: replaced sfr and data with __sfr and __data,
43187           fixes #1468739, enables compilation in --std-c99 mode
43188         * support/scripts/inc2h.pl: emit __sfr/__data instead of sfr/data
43190 2006-04-11 Raphael Neider <rneider AT web.de>
43192         * src/pic/device.c (find_device): removed debug output
43193           (list_valid_pics): enabled verbose listing of supported devices
43194         * device/include/stdbool.h: define bool as char for pic14/16 as well
43196 2006-04-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43198         * src/SDCC.y: allow using brackets here: "__interrupt (1) __using (1)"
43200 2006-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
43202         * .version: bumped version to 2.5.6
43203         * src/pic/ralloc.c (newReg): MSVC doesn't support __builtin_return_address
43205 2006-04-06 Raphael Neider <rneider AT web.de>
43207         * .version: bumped version to 2.5.6 (pic14 ABI changed)
43208         * src/SDCCmain.c: add -DSDCC_PROCESSOR=<id> for pic14 port
43209         * src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap,
43210           pic14emitRegularMap,pic14emitMaps): moved output for absolute symbols to
43211             pic14_constructAbsMap
43212           (pic14printPublics): declare absolute global symbols as global
43213           (pic14createInterruptVect),
43214         * src/pic/ralloc.c (IS_CONFIG_ADDRESS): support second config word,
43215           (newReg): assume new registers unused, use correct name in
43216             hashtable (reg->name instead of name), more debugLog output
43217         * src/pic/device.h (PIC_device): added fields for verbose output
43218         * src/pic/device.c: moved device definition to pic14devices.txt,
43219             added routines for runtime parsing of pic14devices.txt,
43220             added support for second config word
43221         * src/pic/main.c (_process_pragma): removed #pragma maxram,
43222           (_pic14_keywords): no longer accept "bit" and "sbit" keywords
43223           (_pic14_initPaths): add search paths with "pic" suffix (not "pic14")
43224           (_pic14_parseOptions): moved pCodeInitRegisters here
43225           (_pic14_do_link): add "pic$(ARCH).lib" to linker arguments
43226         * src/pic/pcode.c (AnalyzeBanking): bail out on unset processor,
43227           (pCodeInitRegisters): rewrapped comments, perpared new approach to
43228             handling the pseudo stack
43229         * device/lib/Makefile.in: ignore failures in objects-pic16,
43230         * device/lib/pic/{configure,configure.in,Makefile}: added libdev/
43231         * device/lib/pic/NEWS: document new dependency on picXXX.lib
43232         * device/lib/pic/Makefile.subdir,
43233         * device/lib/pic16/Makefile.subdir: improved clean rules
43234         * device/lib/pic/libdev/: NEW, pic14 device libraries
43235         * device/lib/pic/libsdcc/_gptr{get,put}{1,2,3,4}.S: use _X not X
43236         * device/lib/pic/libsdcc/macros.inc: use _X not X, declare default SFRs
43237         * device/include/Makefile.in: create subdir and install pic14 headers
43238         * device/include/pic/p16f_common.inc: removed unused declarations
43239         * device/include/pic/pic16*.h: added header files for 100+ 14 bit
43240             PICs from inc2h.pl v1.6,
43241             replaced BIT_AT macros with struct declarations
43242         * device/include/pic/pic14devices.txt: definition of supported devices,
43243             all above improvements contributed by Zik Saleeba, thanks
43244         * support/scripts/inc2h.pl: removed BIT_AT, replaced with structs
43245         * support/scripts/sdcc.nsi: also install pic14 device libraries and
43246             headers
43248 2006-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
43250         * device/include/mcs51/c8051f410.h: added interrupt numbers,
43251         * device/include/mcs51/c8051f200.h: old SiLabs mcu completes the list,
43252           thanks to Charles Olds
43254 2006-04-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43256         * debugger/mcs51/cmd.c (infoRegisters): show return address on stack
43258 2006-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
43260         * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug 1464657
43261         * src/mcs51/gen.c (genJumpTab): fixed bug in medium model
43262         * support/regression/bug1464657.c: added, new test
43264 2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
43266         * src/SDCCmain.c (preProcess): implemented RFE 1449908, define SDCC as the
43267           version number
43269 2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
43271         * src/SDCCpeeph.c (initPeepHole): implemented RFE 1460196, when both
43272           --no-peep and --peep-file <file> are used don't use default rules but
43273           do use the <file>
43275 2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
43277         * src/mcs51/gen.c (genCall): fixed bug 1457608
43279 2006-03-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43281         * doc/sdccman.lyx: reverted to version 1.129 of december as my latest
43282         changes seem to cause (trigger?) problems with the build system.
43284 2006-03-29 Maarten Brock <sourceforge.brock AT dse.nl>
43286         * src/SDCCpeeph.c (operandsLiteral): new, added,
43287           (callFuncByName): inserted operandsLiteral
43288         * src/mcs51/peeph.def: reenabled 132.e, added extra check to 132.x
43290 2006-03-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43292         * doc/sdccman.lyx: added paragraph "Use of SDCC in Education"
43293         * src/mcs51/peeph.def: disabled rule 132.e fixing bug #1453093
43295 2006-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
43297         * src/z80/gen.c (genFunction, genEndFunction): fixed bug 1160666,
43298           implemented patch 1120823 Thanks to Willy De la Court (normal
43299           interrupts need an interrupt number now if they are made critical),
43300           and enabled nesting of critical functions though not for gbz80
43301           (genCritical, genEndCritical): added functions
43302           (genZ80Code): added cases for CRITICAL and ENDCRITICAL
43303         * src/z80/mappings.i: added "ei" to all mappings
43305 2006-03-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43307         * sim/ucsim/cmd.src/newcmdcl.h: applied patch fixing GCC 4.1 build
43308         submitted by the Debian SDCC maintainer Aurelien Jarno:
43309         "Credits goes to Martin Michlmayr, who rebuilt the whole Debian
43310         archive with gcc 4.1 on mips and wrote the patch"
43312 2006-03-16 Raphael Neider <rneider AT web.de>
43314         * src/pic16/genarith.c (genAddLit): simplified and fixed case where
43315           the left operand is shorter than the result (c* = lit-c* + int),
43316           fixes bug #1450796
43317         * src/pic16/gen.c (genRightShift): check IS_SYMOP before accessing
43318           OP_SYMBOL
43320 2006-03-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
43322         * src/.version: increased version number to 2.5.5
43323         * src/SDCCmain.c (linkEdit): do not test for PIC16 target since, PIC16
43324         linking is done manually in pic16 port's _linkEdit,
43325         * src/SDCCsymt.c (compStructSize): for target PIC16 and shell variable
43326         PIC16_PACKED_BITFIELDS, compact bitfield structures as much as possible,
43327         * src/pic16/gen.c (aopForSym): when direct register name is WREG then
43328         allocate asmop as AOP_ACC,
43329         (aopForRemat): added parameter 'bool result' in function declaration,
43330         (pic16_aopGet): return AOP_ACC when accessing WREG,
43331         (pic16_popGetTempReg): minor modification,
43332         (pic16_popRegFromIdx): first try with 'pic16_regWithIdx' then with
43333         'pic16_allocWithIdx',
43334         (genPcall): removed ftype, usage of OP_SYM_TYPE asserted error when
43335         calling function in absolute addresses,
43336         (genAssign): take into account AOP_ACC asmop,
43337         * src/pic16/pcode.c (pic16_newpCodeOpReg): minor modifications,
43338         * src/pic16/pcoderegs.c: some debug functions and lines added,
43339         * src/pic16/ralloc.c (decodeRegType): added but commented out,
43340         * (pic16_typeRegWithIdx): search 'pic16_dynInternalRegs' for given
43341         register too,
43342         * (pic16_findFreeReg, pic16_findFreeRegNext): allocate new register via
43343         call to allocReg, not by manually allocating a new one,
43344         (pic16_assignRegisters): now before going through the register
43345         allocating functions mark all registers as free. This eliminates some
43346         side effects resulting from peephole parser done earlier in the backbone
43348 2006-03-13 Maarten Brock <sourceforge.brock AT dse.nl>
43350         * src/SDCCicode.c (geniCodeLogic),
43351         * src/SDCCast.c (decorateType): applied patch by Bernhard for rfe 1422617
43353 2006-03-10 Maarten Brock <sourceforge.brock AT dse.nl>
43355         * src/mcs51/gen.c (sameReg): new, checks if two aop regs are the same,
43356           (genSend): bugfix, do not allocate and free twice,
43357           (shiftRLong): handle partially overlapping aops
43358         * support/regression/tests/bitopcse.c: fixed warning redefined idata
43360 2006-03-08 Borut Razem <borut.razem AT siol.net>
43362         * support/regression/fwk/include/testfwk.h: added defines for xdata, idata
43363           for pic16
43365 2006-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
43367         * support/regression/tests/bug1409955.c: new, added
43368         * src/mcs51/gen.h: changed asmop.freed:1 to asmop.allocated for tracking
43369         * src/mcs51/gen.c (newAsmop): set asmop.allocated to 1,
43370           (aopForSym, aopOp): increment asmop.allocated if reused,
43371           (freeAsmop): decrement asmop.allocated and check for zero instead of
43372           using asmop.freed,
43373           (freeForBranchAsmop): use asmop.allocated instead of asmop.freed,
43374           (genNot, genCpl, genUminus, genMinus, genMult, genDiv, genMod, genCmpGt,
43375            genCmpLt, genAndOp, genOrOp, genAnd, genOr, genXor, genRRC, genRLC,
43376            genGetHbit, genGetAbit, genGetByte, genGetWord, genSwap,
43377            genLeftShiftLiteral, genLeftShift, genRightShiftLiteral,
43378            genSignedRightShift, genRightShift, genDataPointerGet,
43379            genPagedPointerGet, genFarPointerGet, genCodePointerGet,
43380            genGenPointerGet, genDataPointerSet, genAssign, genCast): free asmop's
43381             in reverse order from allocation,
43382           (genPlus, genCmpEq): free asmop's in reverse order from allocation and
43383             added swappedLR to keep track
43384         * support/regression/fwk/include/testfwk.h: added defines for xdata, idata,
43385           pdata & code for GCC, z80, gbz80 & hc08
43386         * support/regression/tests/zeropad.c: moved defines to testfwk.h
43388 2006-03-08 Raphael Neider <rneider AT web.de>
43390         * src/pic16/main.c (_hasNativeMulFor): fixed bug #1444425
43392 2006-03-07 Maarten Brock <sourceforge.brock AT dse.nl>
43394         * device/include/mcs51/c8051f410.h: new SiLabs mcu
43395         * src/ds390/peeph.def: disabled 186.d and 227.a as fix for #1434401
43396         * support/regression/tests/array.c: added parenthesis, made arrays unsigned
43398 2006-03-06 Borut Razem <borut.razem AT siol.net>
43400         * support/regression/ports/pic16/spec.mk: link with libm18f.lib,
43401           made the linker quiet
43403 2006-03-06 Vangelis Rokas <vrokas AT users.sourceforge.net>
43405         * src/pic16/gen.c (genPcall): fixed bug #1443644
43406         * src/pic16/device.h (struct pic16_options_t): added 'int CATregs' flag
43407         which dumps before the function entry point a data byte which represents
43408         the number of the local variables used by the specified function, added
43409         'xinst' for initial support for Extended Instruction Support,
43410         * src/pic16/gen.c (aopForSym, pic16_aopGet): beautifications,
43411         (pic16_testStackOverflow): do not prefix GSTACK_TEST_NAME with
43412         port->fun_prefix anymore (may change later),
43413         (genFunction, genEndFunction): do not store/restore local registers for
43414         _main (this should take care the --main-return command line option in
43415         the future),
43416         (genOr): removed some legacy pic-port instructions,
43417         * src/pic16/genarith.c (genAddLit): re-enabled old code because
43418         performing operations with SFR's causes data to be written more than
43419         once to each SFR. Perhaps SFRs should be handled in special cases...
43420         * src/pic16/glue.c: macros BIG_ENDIAN and BYTE_IN_LONG are moved to
43421         pcode.h
43422         * src/pic16/main.c (_process_pragma): stack bound checking did not take
43423         into account for stack starting position,
43424         (struct OPTIONS pic16_optionsTable): added command line argument
43425         --extended or -y for Extended Instruction Support,
43426         * src/pic16/ralloc.c (pic16_decodeOp): added case for FUNCTION,
43427         (deassignLRs): *** perhaps the most important change, old 'for' code
43428         (commented out for reference), didn't account for some registers which
43429         were left marked 'not free' after a pointer operation. The change
43430         reduces register usage a lot in some cases
43432 2006-03-04 Borut Razem <borut.razem AT siol.net>
43434         * support/regression/ports/hc08/spec.mk: remove *.asm in traget
43435           _clean
43436         * support/regression/tests/bug-524697.c: decreased array size for
43437           mcs51 to fit into the internal RAM
43438         * support/regression/Makefile.in: a little bit more verbose
43440 2006-03-03 Borut Razem <borut.razem AT siol.net>
43442         * support/regression/fwk/lib/testfwk.c,
43443           support/regression/fwk/include/testfwk.h: introduced function
43444           _prints(), nonrecursive _printn(), call _initEmu() from main()
43445         * support/regression/ports/gbz80/support.asm,
43446           support/regression/ports/ucz80/support.asm,
43447           support/regression/ports/z80/support.asm,
43448           support/regression/ports/ds390/support.c,
43449           support/regression/ports/hc08/support.c,
43450           support/regression/ports/host/support.c,
43451           support/regression/ports/mcs51/support.c,
43452           support/regression/ports/xa51/support.c: added empty _initEmu()
43453           function
43454         * support/regression/ports/pic16/gpsim.cmd,
43455           support/regression/ports/pic16/spec.mk,
43456           support/regression/ports/pic16/support.c,
43457           support/regression/Makefile.in: added pic16 regression test
43459 2006-03-01 Raphael Neider <rneider AT web.de>
43461         * src/pic16/gen.c (genPcall,pic16_derefPtr,genGenPointerGet,
43462           genConstPointerGet): use safe way of generating MOVFF to cover
43463             literals as well as registers, fixes bug #1440527
43464         * src/pic16/glue.c (pic16_printIvalBitFields): prevent NULL pointer
43465             dereference
43466           (pic16_printIvalUnion,pic16_isUnion): NEW, handle initialized unions
43467             more correctly, fixes bug #1232186
43468           (pic16_printIval): use pic16_printIvalUnion() for initialized unions
43469         * src/pic16/main.c (_pic16_linkEdit): reorder linker arguments to make
43470             gplink guess the correct processor in more cases, applied patch
43471             from Till Riedel attached to and fixing bug #1436552
43473 2006-02-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43475         * support/regression/tests/array.c: added, contains check for #1434401
43476         * src/mcs51/peeph.def: disabled 186.d as temporary fix for #1434401
43478 2006-02-16 Maarten Brock <sourceforge.brock AT dse.nl>
43480         * device/include/mcs51/at89s8253.h: new, thanks to Krzysztof Polomka
43481         * device/include/mcs51/at89S8252.h: fixed, thanks to Krzysztof Polomka
43482         * device/include/mcs51/c8051f326.h,
43483         * device/include/mcs51/c8051f340.h: new SiLabs mcu's
43484         * device/include/mcs51/c8051f000.h,
43485         * device/include/mcs51/c8051f018.h,
43486         * device/include/mcs51/c8051f020.h: used () with __at, renamed IDLE,STOP to
43487           PCON_IDLE,PCON_STOP and added sfr16 definitions
43489 2006-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
43491         * src/mcs51/gen.c (genPlus, genMinus, genMult, genGetAbit, genGetByte,
43492           genGetWord): fixed bug 1409955
43494 2006-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
43496         * device/include/hc08/mc68hc908gp32.h,
43497         * device/include/hc08/mc68hc908jb8.h: removed AWUL, added PTA6 & PTA7
43499 2006-02-13 Maarten Brock <sourceforge.brock AT dse.nl>
43501         * src/SDCCast.c (constExprValue): return NULL if not a value
43502         * src/SDCCglue.c (printIvalArray): fixed bug 1225568
43503         * src/hc08/gen.c(genUnpackBits, genUnpackBitsImmed): fixed bug 1019480
43504         * support/regression/tests/bitfields.c: enabled signed bitfield for all
43506 2006-02-13 Borut Razem <borut.razem AT siol.net>
43508         * src/regression/ptrarg.c: added, fails due to bug #1430967
43509         * src/regression/Makefile: ptrarg.c added, ...
43511 2006-02-12 Maarten Brock <sourceforge.brock AT dse.nl>
43513         * src/z80/gen.c (genUnpackBits): fixed bug 1019480
43514         * support/regression/tests/bitfields.c: enabled signed bitfield for z80
43516 2006-02-11 Borut Razem <borut.razem AT siol.net>
43518         * src/SDCCmain.c: Added "sdcc: Calling linker..." if --verbose,
43519           print "Processor: xxx" message to stdout only if --verbose
43521 2006-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
43523         * src/SDCCglue.c (printIvalStruct): fixed bug 1426356 union initializer
43524         * support/regression/tests/bug1426356.c: added
43525         * support/regression/tests/bitfields.c: removed 2 tests
43527 2006-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
43529         * device/include/mcs51/at89c51snd1c.h: updated comments, see patch 1428901
43530         * device/include/mcs51/c8051f330.h,
43531         * device/include/mcs51/c8051f350.h: used () with __at, renamed IDLE,STOP to
43532           PCON_IDLE,PCON_STOP and added sfr16 definitions
43533         * device/lib/_divsint.c,
43534         * device/lib/_divuint.c,
43535         * device/lib/_divulong.c,
43536         * device/lib/_divulong.c: renamed a,b to x,y to avoid confusion, fixed
43537           register bank bug for small stackauto
43539 2006-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
43541         * support/regression/fwk/lib/timeout.c: include <stdlib.h> for exit()
43543 2006-02-08 Maarten Brock <sourceforge.brock AT dse.nl>
43545         * support/regression/ports/mcs51-xstack-auto/spec.mk: forgot -I(...)/mcs51
43546         * all.dsp: corrected several bin paths
43547         * device/include/mcs51/c8051f120.h,
43548         * device/include/mcs51/c8051f300.h,
43549         * device/include/mcs51/c8051f310.h: used () with __at and renamed IDLE,STOP
43550           to PCON_IDLE,PCON_STOP
43551         * device/include/mcs51/c8051f320.h: see above, also added sfr16 definitions
43552         * device/lib/printf_large.c (output_float): fixed bug 1388703
43553         * support/regression/tests/bug1057979.c: added test for bug 1388703
43555 2006-02-08 Raphael Neider <rneider AT web.de>
43557         * src/pic/pcode.c (pciTRIS): fixed typo,
43558           (BuildFlow,LinkFlow_pCode): added (disabled) debug output,
43559           (LinkFlow): fixed handling of flows that end in a call,
43560           (ReuseReg): perform safety check earlier
43561         * src/pic/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed
43562             to work with flows at the beginning of a pBlock,
43563             fixes #1426557 (Symbol not previously defined),
43564           (pic14_ReMapLiveRanges): NEW, destroy and rebuild register
43565             usage information
43566           (RemoveUnusedRegisters): update register usage info
43567         * src/pic/ralloc.c (newReg): prevent duplicate registers from being
43568             created, reuse existing ones instead
43569         * src/pic/gen.c (genPcall): fixed #1424719
43571 2006-02-07 Bernhard Held <bernhard AT bernhardheld.de>
43573         * link/z80/lkmain.c,
43574         * link/z80/lklex.c,
43575         * link/z80/lkdata.c,
43576         * link/z80/aslink.h: fixed build on current cygwin:
43577         replaced getline() by lk_getline()
43579 2006-02-01 Borut Razem <borut.razem AT siol.net>
43581         * src/regression/add.c, src/regression/add2.c, src/regression/add3.c,
43582           src/regression/add4.c, src/regression/and1.c, src/regression/and2.c,
43583           src/regression/arrays.c, src/regression/b.c, src/regression/bank1.c,
43584           src/regression/bool1.c, src/regression/bool2.c,
43585           src/regression/bool3.c, src/regression/call1.c,
43586           src/regression/compare.c, src/regression/compare10.c,
43587           src/regression/compare2.c, src/regression/compare3.c,
43588           src/regression/compare4.c, src/regression/compare5.c,
43589           src/regression/compare6.c, src/regression/compare7.c,
43590           src/regression/compare8.c, src/regression/compare9.c,
43591           src/regression/configword.c, src/regression/for.c,
43592           src/regression/inline.c, src/regression/mult1.c,
43593           src/regression/nestfor.c, src/regression/or1.c,
43594           src/regression/pointer1.c, src/regression/ptrfunc.c,
43595           src/regression/rotate1.c, src/regression/rotate2.c,
43596           src/regression/rotate3.c, src/regression/rotate4.c,
43597           src/regression/rotate5.c, src/regression/rotate6.c,
43598           src/regression/rotate7.c, src/regression/string1.c,
43599           src/regression/struct1.c, src/regression/sub.c,
43600           src/regression/sub2.c, src/regression/switch1.c,
43601           src/regression/while.c, src/regression/xor.c,
43602           src/regression/create_stc, src/regression/simulate,
43603           src/regression/rt.sh, src/regression/Makefile: reenabled Scott's PIC14
43604           regression tests
43605         * src/regression/gpsim_assert.h: added
43607 2006-01-28 Bernhard Held <bernhard AT bernhardheld.de>
43609         * src/ds390/gen.c (unsaveRegisters): fixed literal function pointer
43610         ((void (code *) (void)) 0) ();
43611         * as/hc08/aslex.c,
43612         * as/hc08/aslink.h,
43613         * as/hc08/asm.h,
43614         * as/hc08/asmain.c,
43615         * as/hc08/lkdata.c,
43616         * as/hc08/lklex.c,
43617         * as/hc08/lkmain.c,
43618         * as/mcs51/aslex.c,
43619         * as/mcs51/aslink.h,
43620         * as/mcs51/asm.h,
43621         * as/mcs51/asmain.c,
43622         * as/mcs51/lkdata.c,
43623         * as/mcs51/lklex.c,
43624         * as/mcs51/lkmain.c,
43625         * as/z80/aslex.c,
43626         * as/z80/asm.h,
43627         * as/z80/asmain.c: fixed build on current cygwin:
43628         replaced getline() by as_getline()
43630 2006-01-27 Bernhard Held <bernhard AT bernhardheld.de>
43632         * src/SDCC.y: fixed bug #716242, exchanged pointer and function
43633         declarator in the symbol chain
43634         * src/SDCCsymt.h,
43635         * src/SDCCsymt.c (processFuncPtrArgs): added, removes "(void)"
43636         parameter list for function pointers
43637         * src/SDCCast.c (decorateType): added call of processFuncPtrArgs()
43638         * support/regression/tests/bug-716242.c: added
43640 2006-01-20 Bernhard Held <bernhard AT bernhardheld.de>
43642         * src/SDCCicode.c (geniCodeAdd, geniCodeArray): use char for array
43643         offset if possible
43644         * src/SDCCast.c (getLeftResultType): 255 fits in char, not 256
43646 2006-01-18 Bernhard Held <bernhard AT bernhardheld.de>
43648         * src/SDCCast.c (backPatchLabels): fixed bug #1408066: made it
43649         inifinitely recurseable, added static
43650         * support/regression/tests/bug-1408066.c: added
43652 2006-01-17 Bernhard Held <bernhard AT bernhardheld.de>
43654         * src/SDCCicode.h,
43655         * src/SDCCicode.c (newiTempPreheaderLabel, newiTempLoopHeaderLabel):
43656         renamed, added possibility to create "postLoopLbl"-labels
43657         * src/SDCCBBlock.c (iCodeBreakDown): renamed newiTempPreheaderLabel to
43658         newiTempLoopHeaderLabel
43659         * src/SDCCloop.c (newInduction, newRegion, backEdges, insertIntoLoop,
43660         isNotInBlocks, addToExitsMarkDepth, createLoop, dominatedBy,
43661         addDefInExprs, assignmentsToSym, isOperandInvariant, pointerAssigned,
43662         hasNonPtrUse, loopInvariants, addressTaken, findInduction,
43663         findDefInRegion, mergeRegions, ifMerged, mergeInnerLoops): made static,
43664         (pinduction, pregion, hasIncomingDefs, findLoopEndSeq): disabled,
43665         (basicInduction): fixed bug #136564, made static,
43666         (loopInduction): changed parameter of basicInduction, made static,
43667         (addPostLoopBlock): added
43668         * src/SDCCloop.h: removed backEdges, pregion, pinduction,
43669         loopOptimizations, addressTaken, findDefInRegion, hasIncomingDefs,
43670         findLoopEndSeq
43671         * support/regression/tests/bug-136564.c: added
43672         * support/regression/ports/mcs51-xstack-auto/spec.mk: added
43673         --std-sdcc99 to LIBSDCCFLAGS
43675 2006-01-16 Bernhard Held <bernhard AT bernhardheld.de>
43677         * src/SDCCicode.c (geniCodeIfx): fix bug 1406131: always false
43678         while loop
43679         * support/regression/tests/bug-1406131.c: added
43681 2005-12-31 Bernhard Held <bernhard AT bernhardheld.de>
43683         * src/SDCCast.c (decorateType): fix promotion of unary minus
43684         * src/SDCCsymt.c (computeType): beautified
43685         * src/SDCCval.c (cheapestVal): beautified, old non-Ansi version removed,
43686         (valUnaryPM, valComplement): fix sign and promotion,
43687         (valNot): ANSI: result type is int (SDCC: unsigned char)
43688         * support/regression/tests/uminus.c: speedup by removing superflous
43689         test case 'int'
43690         * support/regression/tests/onebyte.c: added promotion and signedness
43691         tests for unary minus
43692         * support/regressions/tests/bug-477927.c: disable warning about
43693         uninitialized variables
43694         * support/regression/tests/not.c: added
43696 2005-12-28 Bernhard Held <bernhard AT bernhardheld.de>
43698         * device/lib/Makefile.in: added --std-sdcc99 to CFLAGS
43699         * src/mcs51/gen.c (gen51Code): show final register usage after
43700         fillGaps in asm with --i-code-in-asm
43701         * src/SDCClrange.c (sequenceiCode, setLiveFrom, setLiveTo,
43702         markLiveRanges, markAlive, findNextUseSym, findNextUse, unvisitBlocks,
43703         incUsed, rliveClear, adjustIChain): made static,
43704         (setFromRange): excluded because it's unused,
43705         (findPrevUseSym, markWholeLoop): added,
43706         (findPrevUse): rewritten; fixes bug 895992; now a complete search
43707         through all branches of predecessors enables sdcc to emit the warning
43708         W_LOCAL_NOINIT, marking of outermost loop was incomplete,
43709         (rlivePoint): made static, added parameter emitWarnings which is only
43710         true during the first run out of two,
43711         (findRecursiveSucc, findRecursivePred): removed,
43712         (computeLiveRanges): made static, added parameter emitWarnings,
43713         (dumpIcRlive): added for debugging only
43714         * src/SDCClrange.h: added boolean parameter to computeLiveRanges(),
43715         removed prototype of setFromRange()
43716         * src/SDCCopt.c (eBBlockFromiCode): added new parameter emitWarnings
43717         in call of computeLiveRanges()
43718         * support/regression/tests/bug-895992.c: added
43719         * support/regression/tests/bug-971834.c: added
43720         * support/valdiag/tests/bug-895992.c: added
43721         * support/valdiag/tests/bug-971834.c: added
43723 2005-12-18 Raphael Neider <rneider AT web.de>
43725         * src/pic16/gen.c: added IS_DIRECT macro for "direct" operands,
43726           (genUnpackBits): improved code for direct operands,
43727           (genPackBits): improved code for literal assignment to bitfields
43728             and for direct destination operands (no FSR indirection),
43729             prevented redundant AND, fixes #1362800,
43730           (AccLsh): added parameter to disable masking of the result
43731         * src/pic16/pcode.c (pic16_safepCodeUnlink): fixed to work with
43732           skip instructions with side-effects (like incfsz),
43733           (pic16_pCodeIsAlive): suppress verbose output unless pcode_verbose,
43734         * src/pic16/pcoderegs.c (RemoveRegsFromSet): removed annoying warning
43735         * device/lib/pic16/Makefile.common.in: added --asm=@GPASM@ to CC,
43736           fixes #1375263
43738 2005-12-11 Bernhard Held <bernhard AT bernhardheld.de>
43740         * src/SDCCicode.c (geniCodeAssign): fixed bug 11369874, don't use
43741         volatile variables as spill location
43743 2005-12-10 Bernhard Held <bernhard AT bernhardheld.de>
43745         * src/SDCCcse.c (findCheaperOp): fixed bug 1376320, copy signedness to
43746         replacing literals
43747         * support/regression/tests/bug-1376320.c: added
43749 2005-12-08 Raphael Neider <rneider AT web.de>
43751         * src/pic/device.c: renamed is_shared to pic14_is_shared
43752         * src/pic/gen.c (genIfx): re-enabled handling of sbits
43753         * src/pic/glue.c (emitSymbolToFile): added workaround for sbits,
43754           (is_valid_identifier): added for above workaround
43756 2005-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
43758         * device/lib/Makefile.in: fixed to enable port-specific-objects
43759         * device/lib/ds390/i2c390.c (BitOutI2C): optimized by making bout unsigned
43760           char, thanks Hubert Sack
43761         * doc/sdccman.lyx: documented --xstack-loc,
43762           elaborated a bit more on interrupts and pitfalls,
43763           removed "setjmp/longjmp unsupported",
43764           documented some unsupported C99 features
43765         * src/SDCCmain.c (linkEdit): adapted default lib path for --stack-auto
43766         * src/SDCCpeeph.c (readRules): inserted patch 1367130 for finding missing
43767           if, thanks Hubert Sack
43768         * src/mcs51/gen.c (genEndFunction): enabled "pop psw" for regbank 0 isr
43769         * support/regression/Makefile.in: test-mcs51-stack-auto no longer needs to
43770           make make_library
43771         * support/regression/get_ticks.py: new, get cpu cycles and code size, so
43772           regression tests can report resource usage (rfe 700441)
43773         * support/regression/collate-results.py: report resource usage
43774         * support/regression/ports/ds390/spec.mk,
43775         * support/regression/ports/hc08/spec.mk,
43776         * support/regression/ports/mcs51/spec.mk,
43777         * support/regression/ports/ucz80/spec.mk: run sim output through get_ticks
43778         * support/regression/ports/ds390/uCsim.cmd,
43779         * support/regression/ports/hc08/uCsim.cmd,
43780         * support/regression/ports/mcs51/uCsim.cmd,
43781         * support/regression/ports/ucz80/uCsim.cmd: inserted "state" to report time
43782         * support/regression/ports/mcs51-stack-auto/spec.mk: no need to build the
43783           library, use the default one
43784         * support/regression/ports/mcs51-xstack-auto/spec.mk: inserted rules for
43785           building the library
43787 2005-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
43789         * config.dsp: added dependency on .version and configure_vc.awk
43790         * device/include/setjmp.h: updated for --stack-auto and --xstack
43791         * device/include/mcs51/at89c51snd1c.h: corrected line endings
43792         * device/include/mcs51/XC866.h: added, thanks Llewellyn van Zyl
43793         * device/lib/_setjmp.c: updated for --stack-auto and --xstack
43794         * device/lib/libsdcc.lib: added _setjmp
43795         * src/SDCCast.c (createIvalCharPtr): fixed warnings,
43796           (decorateType): fixed bug 1372851,
43797           (optimizeGetHbit): fixed warning
43798         * src/SDCCglue.c (printIvalChar, printIvalArray): adapted for flexible
43799           array initialisation
43800         * support/regression/tests/bug1057979.c: added test for bug 1358192
43801         * support/regression/tests/setjmp.c: added, test for setjmp/longjmp
43803 2005-12-03 Borut Razem <borut.razem AT siol.net>
43805         * support/scripts/sdcc.nsi: added /SOLID option to "SetCompressor lzma"
43806           command since the NSIS was upgraded to version 2.11 on CF x86-linux2
43808 2005-11-29 Bernhard Held <bernhard AT bernhardheld.de>
43810         * src/SDCCast.c (createIvalStruct, createIvalArray, createIvalPtr,
43811         createIval): implement symbol independant "flexible array member",
43812         (createIvalCharPtr): implemented flexible array initialisation with a
43813         string
43814         * src/SDCCsymt.c (copyStruct): removed,
43815         (getSize): fixed misleading comment,
43816         (getAllocSize): removed, the additional allocation size is now in
43817         sym->flexArrayLength,
43818         (checkStructFlexArray): new, syntax checks for flexible array members,
43819         (compStructSize): added syntax checks for "flexible array members"
43820         (copyStruct): removed,
43821         (copyLinkChain): removed inefficient fix for bug 770487
43822         * src/SDCCglue.c (emitRegularMap): getAllocSize has been removed
43823         * src/SDCCsymt.h: added structdef.b_flexArrayMember and
43824         symbol->flexArrayLength
43825         * src/SDCCerr.c,
43826         * src/SDCCerr.h: added W_INVALID_FLEXARRAY, W_C89_NO_FLEXARRAY,
43827         E_FLEXARRAY_NOTATEND and E_FLEXARRAY_INEMPTYSTRCT
43828         * support/regression/tests/structflexarray.c: added
43829         * support/valdiag/tests/structflexiblearray.c: added
43831 2005-11-29 Bernhard Held <bernhard AT bernhardheld.de>
43833         * src/SDCCast.c (decorateType): fixed bug 1368489
43834         * support/Util/SDCCerr.c,
43835         * support/Util/SDCCerr.h: added warning W_CMP_SU_CHAR
43837 2005-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43839         * device/include/mcs51/at89c51snd1c.h: added file submitted by
43840           Weston T. Schmidt <schmidtw AT users.sourceforge.net>, patch #1368001
43842 2005-11-27 Borut Razem <borut.razem AT siol.net>
43844         * support/cpp2/cppinit.c, support/cpp2/cpplib.h, support/cpp2/mkdeps.c,
43845           support/cpp2/mkdeps.h: added command line option
43846           -obj-ext=<extension> to SDCPP to define object file externion, used
43847           for generation of make dependencies (-M)
43848         * src/SDCCmain.c: pass -obj-ext=<extension> to SDCPP
43850 2005-11-26 Borut Razem <borut.razem AT siol.net>
43852         * support/scripts/sdcc.nsi: added small-stack-auto libraries,
43853           added missing device/lib/mcs51/crt*.asm, pic and pic16 sources,
43854           added pic and pic16 libraries
43856 2005-11-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43858         * device/include/float.h: Corrected typo in prototype of __fsgt
43860 2005-11-25 Borut Razem <borut.razem AT siol.net>
43862         * sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
43863           added creation of model-mcs51-stack-auto libraries
43865 2005-11-24 Bernhard Held <bernhard AT bernhardheld.de>
43867         * src/SDCCsymt.c (copyLinkChain): fixed bug 770487, copy structdef
43868         and fields-list too
43869         * src/SDCCast.c (createIvalArray): removed obsolete comment
43871 2005-11-24 Borut Razem <borut.razem AT siol.net>
43873         * sdcc/device/lib/Makefile.in: remove all unnecessary files, 2nd try...,
43874           added missing device/lib/mcs51/crt*.asm sources
43876 2005-11-23 Bernhard Held <bernhard AT bernhardheld.de>
43878         * src/SDCCast.c (createIvalCharPtr): fixed bug 1348271
43880 2005-11-22 Maarten Brock <sourceforge.brock AT dse.nl>
43882         * device/lib/_fs2schar.c,
43883         * device/lib/_fs2sint.c,
43884         * device/lib/_fs2slong.c: optimized inline asm
43886 2005-11-21 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43888         * device/lib/_fs2slong.c, device/lib/_fs2sint.c, device/lib/_fs2char.c:
43889           Better handling of floats between -1.0 and 0.0.
43891 2005-11-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43893         * src/mcs51/peeph.def: added missing "if"s as noted by Hubert Sack.
43894           (the missing "if"s prohibited removal of redundant labels)
43896 2005-11-19 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43898         * device/lib/_fs2slong.c, device/lib/_fs2sint.c, device/lib/_fs2char.c:
43899           Properly convert floats between -1.0 and 0.0 to long, int, and char
43900           types (max integer value of negative floats tends to zero).
43901         * device/lib/modff.c, device/lib/ceilf.c, device/lib/floorf.c:
43902           Removed changes made so to work properly with floats between
43903           -1.0 and 0.0, as the problem is fixed in _fs2slong.c, _fs2sint.c,
43904           and _fs2char.c
43906 2005-11-18 Bernhard Held <bernhard AT bernhardheld.de>
43908         * src/SDCCcse.c (ReplaceOpWithCheaperOp): minor fix for debugging only
43909         * src/mcs51/gen.c (genUnpackBits): better code and a fix,
43910         (genCast) cosmetic change
43911         * src/ds390/gen.c (genUnpackBits, ): ported from mcs51
43912         * src/ds390/ralloc.c (packRegsForAssign): ported fix for bitfields
43913         from mcs51
43914         * support/regression/tests/bitfields (testSignedBitfields): added
43916 2005-11-18 Borut Razem <borut.razem AT siol.net>
43918         * sdcc/device/lib/Makefile.in: remove all unnecessary files
43919         * device/lib/pic/Makefile.rules, device/lib/pic16/Makefile.subdir:
43920           introduced SILENT option to make building of pic16 libraries less
43922 2005-11-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43924         * device/lib/modff.c, device/lib/ceilf.c, device/lib/floorf.c:
43925           Now they work properly with floats between -1.0 and 0.0
43926         * device/lib/printf_large.c: Removed temporary patch for bug 1358192
43928 2005-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
43930         * src/SDCCicode.c (printOperand): added missing else
43932 2005-11-18 Bernhard Held <bernhard AT bernhardheld.de>
43934         * src/SDCCsymt.c (computeType): fixed bug 1358192: added missing else,
43935         reformatted for better readability
43936         * src/mcs51/gen.c (genUnpackBits): initial, incomplete support for
43937         signed bitfields
43939 2005-11-17 Borut Razem <borut.razem AT siol.net>
43941         * device/lib/pic16/Makefile.rules, device/lib/pic16/Makefile.subdir:
43942           introduced SILENT option to make building of pic16 libraries less
43943           verbose - used for nightly snapshot build
43944         * doc/sdccman.lyx: documented that SDCDB and ucSim are currently not
43945           available on Win32 platforms.
43946         * sdcc/device/lib/Makefile.in: added library sources for mcs51, small,
43947           medium, large, pic and pic16
43949 2005-11-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43951         * device/lib/printf_large.c: Temporary patch for bug 1358192:
43952           printf("%f"...) sets fraction to zero.
43954 2005-11-16 Raphael Neider <rneider AT web.de>
43956         * src/pic/pcode.c (LinkFlow): handle empty flows correctly,
43957           fixes #1357221
43958         * src/pic/gen.c (genIfx): implemented for CARRY bit
43959         * src/pic16/gen.c (genAssign,genCast): fixed assigning/casting
43960           to generic pointers, fixes #1357332,
43961           (pic16_movLit2f): NEW,
43962           (pic16_storeForReturn,genDataPointerSet): use pic16_movLit2f
43964 2005-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
43966         * src/SDCCmain.c (parseCmdLine): fixed bug 1356800, thanks rsudjian
43968 2005-11-11 Raphael Neider <rneider AT web.de>
43970         * src/pic/gen.c: handle FPOINTERS like POINTERS everywhere
43971         * src/pic16/gen.c (pic16_derefPtr): now works for non-pointers as well,
43972           compute pointer's type from operand,
43973           (genUnpackBits,genPackBits): handle FPOINTERS correctly, re-indented,
43974           improved single bit reads, fixes bug #1353379
43976 2005-11-09 Borut Razem <borut.razem AT siol.net>
43978         * support/scripts/sdcc.nsi: added lib/pic to the package
43980 2005-11-08 Maarten Brock <sourceforge.brock AT dse.nl>
43982         * src/SDCCval.c (valUnaryPM): fixed bug 1350699
43984 2005-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
43986         * support/regression/tests/bug1348008.c: added
43987         * src/mcs51/gen.c (saveRBank, unsaveRBank): fixed bug 1348008
43988         * support/regression/tests/bug1337835.c: updated comment
43990 2005-11-06 Borut Razem <borut.razem AT siol.net>
43992         * sim/ucsim/error.cc, sim/ucsim/errorcl.h,
43993           sim/ucsim/sim.src/stack.cc, sim/ucsim/sim.src/stackcl.h,
43994           sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
43995           sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/memcl.h,
43996           sim/ucsim/cmd.src/set.cc, sim/ucsim/cmd.src/show.cc:
43997           dynamic construction of cl_error_class and derivates - 2.nd try
43999 2005-11-05 Borut Razem <borut.razem AT siol.net>
44001         * sim/ucsim/sim.src/error.cc: fixed uninitialized class member variable
44002           bug, which caused Bus Errors on sparc solaris
44004 2005-11-04 Borut Razem <borut.razem AT siol.net>
44006         * sim/ucsim/error.cc, sim/ucsim/errorcl.h,
44007           sim/ucsim/sim.src/stack.cc, sim/ucsim/sim.src/stackcl.h,
44008           sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
44009           sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/memcl.h,
44010           sim/ucsim/cmd.src/cmdconf.cc: dynamic construction of cl_error_class
44011           and derivates to resolve the initialization problem on OSX
44013 2005-11-02 Borut Razem <borut.razem AT siol.net>
44015         * sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
44016           corrected typo - #include <winsock2.h>
44018 2005-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
44020         * src/asm.c (printILine): always close tmpFile, thanks Beau E. Cox,
44021           (_asxxxx_mapping): added org directive for future enhancements
44023 2005-11-01 Borut Razem <borut.razem AT siol.net>
44025         * sim/ucsim/app.cc, sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
44026           enabled sockets on WIN32
44027         * sim/ucsim/cmd.src/newcmd.cc: fixed bug with uninitialized variables
44029 2005-10-31 Borut Razem <borut.razem AT siol.net>
44031         * support/regression/generate-cases.py: escape backslashes in {testcase}:
44032           WIN32 backslash path delimiters should be escaped when used in C strings
44033         * support/regression/tests/bitfields.c: exclude failing assertions for
44034           __CYGWIN32__ and __MINGW32__ hosts
44036 2005-10-30 Borut Razem <borut.razem AT siol.net>
44038         * src/SDCCutil.c: corrected double comparison typo
44040 2005-10-30 Maarten Brock <sourceforge.brock AT dse.nl>
44042         * device/lib/medium/Makefile: added for new memory model medium
44043         * device/include/asm/mcs51/features.h: updated for medium/pdata
44044         * device/include/mcs51/c8051f120.h: added sfr16/sfr32 definitions,
44045           added Multiply & Accumulate sbit's and MAC0_PAGE define
44046         * device/include/mcs51/c8051f300.h: added sfr16 definitions
44047         * device/include/mcs51/c8051f310.h: added sfr16 definitions
44048         * device/lib/_mullong.c: update for medium model
44049         * device/lib/incl.mk: added medium model
44050         * doc/sdccman.lyx: documented medium model
44051         * src/SDCCast.c (isBitAndPow2): simplified using updated powof2
44052         * src/SDCCicode.c (geniCodeMultiply, geniCodeDivision): use updated powof2
44053         * src/SDCCmain.c (optionsTable, linkEdit): enabled medium model
44054         * src/SDCCmem.c (allocIntoSeg): set iaccess for pdata symbols,
44055           (allocParms): set SCLS and OCLS to pdata for medium model
44056         * src/SDCCsymt.c (processFuncArgs): use default_local_map and set iaccess
44057           for pdata,
44058           (powof2): return <0 if not power of 2
44059         * src/avr/gen.c (genBitWise): use updated powof2
44060         * src/mcs51/gen.c (genMinusDec): use acc if necessary,
44061           (shiftR2Left2Result): small optimization in setup, save acc when storing,
44062           (shiftLLeftOrResult): use B if necessary
44063         * src/mcs51/main.c (_mcs51_finaliseOptions, mcs51_port): added medium model
44064         * src/mcs51/peeph.def: renamed 226 to 226.b, added 226.a
44065         * src/pic/main.c (_pic14_do_link): made void parameter list explicit
44066         * support/regression/Makefile.in: added test-mcs51-medium
44067         * support/regression/ports/mcs51-medium/spec.mk: added to test medium model
44069 2005-10-28 Bernhard Held <bernhard AT bernhardheld.de>
44071         * src/SDCCsymt.c (compStructSize): make bitfields without (un)signed
44072         specifier unsigned
44073         * device/lib/time.c (mktime): fixed bug 1334315
44075 2005-10-28 Raphael Neider <rneider AT web.de>
44077         * device/include/pic/p16f_common.inc: added common declarations
44078         * src/pic/ralloc.c (initStack): moved regs *r to block start for Alpha
44080 2005-10-27 Maarten Brock <sourceforge.brock AT dse.nl>
44082         * src/mcs51/gen.c (getTempRegs): return 0 if not enough registers found,
44083           (aopPutUsesAcc): added to predict accumulator use,
44084           (assignResultValue): save acc if necessary,
44085           (genMinusDec): store result if indirectly addressed,
44086           (genDivOneByte):  save acc if necessary,
44087           (movLeft2Result): bugfix if left already in acc,
44088           (genAnd, genOr, genXor, shiftL2Left2Result, shiftR2Left2Result): pay more
44089             attention to accumulator use (esp. pdata),
44090           (genReceive): receive pdata correctly
44091         * src/SDCCicode.c (isOperandInPagedSpace): added to detect pdata operands
44092         * src/SDCCicode.h: added isOperandInPagedSpace prototype
44094 2005-10-27 Raphael Neider <rneider AT web.de>
44096         * doc/sdccman.lyx: corrected version (should be 2.5.4 not 2.5.5)
44098 2005-10-27 Raphael Neider <rneider AT web.de>
44100         * .version: changed version to 2.5.4
44101         * doc/sdccman.lyx: changed version to 2.5.4, added some remarks to PIC14
44102         * device/lib/pic/libsdcc/{_mulint.c,_mullong.c}: use unsigned literals,
44103           (_divschar.c,divuchar.c,_mulchar.c,_modschar.c,_moduchar): NEW,
44104             arithmetics support routines
44105         * device/lib/pic/Makefile.rules: have assembler sources preprocessed
44106         * device/lib/Makefile.in: also create installdir for pic
44108         * src/SDCCopt.c (cnvToFcall): mark support routines `extern' for
44109           pic14 port as well
44110         * src/pic/device.c (dump_sfr): rewritten to delegate register
44111           placement to the linker (use `extern sym' rather than sym EQU addr),
44112           (validAddress): fixed to check last specified address
44113         * src/pic/gen.c (aopForSym): added code to deal with array (useless?),
44114           (popGetLit): truncate literal value to 8 bit,
44115           (popGet): moved assert to more appropriate place
44116           (popGetExternal): create pCode operand from and mark the according
44117             symbol as being `extern'
44118           (popGetAddr): added sanity check on immediate's offset, provide
44119             GPOINTER tag on demand
44120           (aopPut): fixed for immediates,
44121           (mov2w_op): move operand's address or contents to WREG (depending on
44122             operand type), safer variant of mov2w,
44123           (movwf,call_libraryfunc): NEW, handy abbreviations,
44124           (get_argument_pcop,get_return_val_pcop,pass_argument,
44125           get_returnvalue): interface for accessing function parameters and
44126             return values,
44127           (assignResultValuei,genRet): use new parameter/return value interface
44128           (pic14_getDataSize): back to old version handling generic pointers,
44129           (pic14_toBoolean,genNot,genCpl,genCmpEq,genOrOp): heavily rewritten,
44130             provided implementation and/or fixed old one,
44131           (genMultOneByte,genDivOneByte,genModOneByte): implemented as library
44132             calls, removed legacy 8051 reference code
44133           (AccLsh,AccRsh): rewritten and fixed to deal with signed operands
44134           (loadSignToC): NEW, move the operands sign bit to CARRY,
44135           (genGenericShift): NEW, replaces genLeftShift, genRightShift and
44136             genRightShiftSigned, accepts negative shift counts,
44137           (setup_fsr): load FSR and adjust IRP (indirect memory access),
44138           (emitPtrByteGet,emitPtrByteSet): rewritten, now works with
44139             generic pointers, __data pointers and __code pointers,
44140           (genUnpackBits,genPackBits): rewritten to work with generic pointers
44141             and signed bitfields, limit bitfields to 8 bit,
44142           (genDataPointerGet): fixed number of bytes read,
44143           (genGenPointerGet,genConstPointerGet): fixed bitfield access,
44144           (genPointerGet,genPointerSet): fixed handling of __code pointers,
44145             pointers to constant data are no longer assumed to point to __code
44146             space, removed invalid pointer types,
44147           (bitpatternFromVal): retrieve the PICs representation of an integer
44148             or float literal,
44149           (genDataPointerSet): fixed assigning to po_immediate operands,
44150           (genGenPointerSet): implemented as library call,
44151           (genIfx): fixed incorrect condition,
44152           (genAddrOf): limit generic pointers' addresses to 2 bytes,
44153             provide GPOINTER tag according to destination's storage class,
44154           (genCast): added code to handle casting to generic pointers, added
44155             sign-/zero extension of the result
44156           (aop_isLitLike,op_isLitLike): fixed handling of immediates
44157         * src/pic/gen.h: added macros to access IRP bit in STATUS register
44158         * src/pic/genarith.c (genAddLit): use min(result's,left's) size, sign
44159           extend the result
44160         * src/pic/glue.c (is_shared_address,is_shared): check whether a given
44161           address/register resides in the shared banks
44162           (emitSymbolToFile): improved to handle global and `pinned' symbols,
44163             put all variables into separate sections (have the linker arrange
44164             them)
44165           (picglue): put init code and interrupt handlers in separate sections
44166         * src/pic/main.c: added port specific options table, modified to PORT
44167           structure to make GPOINTERs 3 byte, added pic14_options
44168           (_pic14_do_link): private linking routine (update paths to libraries,
44169             add libsdcc.lib by default)
44170         * src/pic/main.h: declare pic14_options
44171         * src/pic/pcode.c: fixed instructions i/o relations,
44172           (RegCond): reverted to correct version,
44173           (newpCodeOpLit): truncate literals to 8 bit,
44174           (genericPrint): added debug output,
44175           (getRegFromInstruction): fixed for various operand types, simplified
44176           (BuildFlow): fixed broken handling of isntructions with labels
44177           (LinkFlow): start at last instruction in flow (skip trailing comments),
44178             pass the flow on to the next instruction after CALL
44179           (pCodeReplace): NEW, replace a pCode and move meta data to the new one
44180           (insertPCodeInstruction): fixed inserting after a skip instruction,
44181           (DoBankSelect): fixed for labeled instructions
44182           (OptimizepBlock): honor --nopeep switch
44183           (AnalyzeFlow,ReuseReg): prevent crash on source files with no function
44184         * src/pic/pcodepeep.c (pCodePeepMatchRule): prevent NULL pointer accesses
44185         * src/pic/pcoderegs.c (regIsLocal): NEW, check visibility of a register
44186           (pCodeOptime2pCodes): allow disabling this optimization via
44187             --no-pcode-opt due seldomly occuring bugs, fixed some conditions
44188             but is still buggy), started implementation of a dataflow based
44189             pCode optimization (CSE + dead code elimination)
44190           (pCodeRegMapLiveRangesInFlow): removed bogus inCond
44191         * src/pic/ralloc.c (initStack): renamed stack registers to STK%d, the new
44192           names are independant of the stack location and therefore portable across
44193           devices
44195 2005-10-27 Maarten Brock <sourceforge.brock AT dse.nl>
44197         * src/mcs51/ralloc.c (bitType): added to detect bit variables,
44198           (selectSpil): fixed bug 1337835 by not spilling bit variables
44199         * support/regression/tests/bug1337835.c: added test for this bug
44200         * src/mcs51/peeph.def: restart after rule 3.c,
44201           addded rules 263.x to optimize loading constants
44203 2005-10-26 Raphael Neider <rneider AT web.de>
44205         * src/SDCCsymt.c (compStructSize): allow signed bitfields for PIC ports
44206         * src/pic16/gen.c (genUnpackBits): support signed bitfields,
44207           (genAssign): emit warning when casting literals to generic pointer
44208             type, also applies when taking the address of a fixed variable,
44209           (genCast): improved casting to generic pointers
44210         * src/pic16/glue.c (pic16emitStaticSeg): fixed(?) handling of fixed
44211           extern variables, added verbose error message
44212         * device/include/pic16/{string.h,errno.h}: added #pragma library c
44214 2005-10-26 Bernhard Held <bernhard AT bernhardheld.de>
44216         * src/mcs51/gen.c (genMinus): fixed bug 1270906: reverse subtraction,
44217         carry must be complemented too
44218         * src/mcs51/peeph.def: addded rule 262 to remove double cpl c, which
44219         could be emitted by genMinus
44220         * src/SDCCval.c (constVal): fixed bug 1305065
44222 2005-10-25 Bernhard Held <bernhard AT bernhardheld.de>
44224         * src/SDCCast.c (addCast): added promotion for bit variables
44225         (decorateType): emit W_COMPLEMENT before the problem vanishes behind
44226         promotion casts + optimisation
44227         (optimizeGetWord): fix warning 'i' might be used uninitialized
44228         * src/mcs51/gen.c (genCpl): removed W_COMPLEMENT
44229         * src/ds390/gen.c (genCpl): removed W_COMPLEMENT
44231 2005-10-24 Bernhard Held <bernhard AT bernhardheld.de>
44233         * src/SDCCicode.c (ast2iCode): reverted to 1.224 because of regression:
44234         all chars are promoted to int; promotion should be handled in SDCCast.c
44236 2005-10-15 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44238         * device/lib/_strcmp.c: Fixed bug 1326457
44240 2005-10-11 Raphael Neider <rneider AT web.de>
44242         * device/lib/pic16/libio/i2c.ignore: added 1320, fixes broken builds
44243         * device/lib/pic16/libdev/pic18f1320.c: added 1320's device library
44245 2005-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
44247         * src/SDCC.y (AT): fixed bug with sfr32 addresses when built with GCC
44248         * support/regression/tests/sfr16.c: added test for the sfr32 bug
44250 2005-10-04 Raphael Neider <rneider AT web.de>
44252         * device/include/pic16/pic18fregs.h, src/pic16/devices.inc,
44253           device/lib/pic16/pics.all: added pic18f1320
44254         * src/pic16/pcode.c (mnem2key): fixed prototype's argument mismatch
44256 2005-09-30 Raphael Neider <rneider AT web.de>
44258         * src/pic16/device.c (Pics16[]): moved device descriptions to devices.inc
44259         * src/pic16/devices.inc: NEW, provides device descriptions
44260         * src/pic16/gen.c (genInline): fixed handling of ';'-comments
44262 2005-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
44264         * src/SDCCicode.c (operandOperation): added GETABIT, GETBYTE, GETWORD and
44265           GETHBIT
44267 2005-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
44269         * doc/sdccman.lyx: updated Highest Order Bit documentation,
44270           documented Any Order Bit, Higher Order Byte and Higher Order Word
44271         * src/SDCC.y: added tokens GETABIT, GETBYTE, GETWORD
44272         * src/SDCCast.c (optimizeGetHbit): updated to also accept bool=expr&(1<<n),
44273           (optimizeGetAbit): new, to get any bit, not only the high bit,
44274           (optimizeGetByte): new, to get a byte from a (long) int: expr>>(8*n),
44275           (optimizeGetWord): new, to get a word from a long int: expr>>(8*n),
44276           (isConformingBody): also check GETABIT, GETBYTE, GETWORD,
44277           (decorateType): '&': also try GETABIT, GETBYTE, GETWORD optimization,
44278             RIGHT_OP: also try GETBYTE, GETWORD optimization,
44279             GETABIT, GETBYTE, GETWORD: decorate them,
44280           (isShiftRightLitVal, isBitAndPowOf2): new helper functions,
44281           (ast_print): added GETABIT, GETBYTE, GETWORD
44282         * src/SDCCcse.c (isSignedOp): added GETABIT, GETBYTE, GETWORD
44283         * src/SDCCicode.c (codeTable): added GETABIT, GETBYTE, GETWORD,
44284           (geniCodeBinary): new generic binary icode,
44285           (ast2iCode): added GETABIT, GETBYTE, GETWORD
44286         * src/port.h: updated comment for PORT.hasExtBitOp
44287         * src/mcs51/gen.c (genGetAbit): new, to get any single bit,
44288           (genGetByte): new, to get a single byte,
44289           (genGetWord): new, to get a word from a long,
44290           (gen51Code): added GETABIT, GETBYTE, GETWORD
44291         * src/mcs51/main.c (hasExtBitOp): added GETABIT, GETBYTE, GETWORD
44293 2005-09-23 Raphael Neider <rneider AT web.de>
44295         * configure.in, configure: have device/lib/pic configured
44296         * device/lib/Makefile.in: added model-pic14
44297         * device/lib/clean.mk: added pic/ to clean rule
44298         * device/lib/pic: added rudimentary pic14 library providing support
44299           functions for multiplication/division/generic pointer access
44300         * src/SDCCopt.c (convilong): mark support functions as extern
44301           for pic14 port as well
44302         * src/pic/gen.c (genMult): added assertions,
44303           (genpic14Code): emit warning on unhandled iCodes
44304         * src/pic/main.c (_hasNativeMulFor): return true only for 8x8 bit
44305         * src/pic/pcode.c (pCodeOpCopy),
44306         * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed handling of various
44307           pCodeOpReg-subtypes (PO_{STATUS,INTCON,PCL,PCLATH,PCLATU,BSR,
44308           SFR_REGISTER}), made safe for future extensions
44309         * src/pic16/pcode.c (pic16_safepCodeUnlink): allow for removal of
44310           instructions even if preceeded by SKIP instructions (also remove
44311           them); removed unused code
44312         * src/pic16/pcode.h: added arg2 to pCodeOpLit to match pCodeOpLit2,
44313           prevents leaving parts of the structure uninitialized after copying
44315 2005-09-22 Maarten Brock <sourceforge.brock AT dse.nl>
44317         * src/mcs51/gen.c (genMinus): fix for undetected bug introduced 3 months
44318           ago by me
44319         * support/regression/tests/addsub.c: added test for the bug
44321 2005-09-21 Raphael Neider <rneider AT web.de>
44323         * device/include/pic16/pic18f1220.h,
44324           device/lib/pic16/libdev/pic18f1220.c: added ECCPAS sfr and bitfield
44325         * device/lib/pic16/Makefile.rules: added missing opening paren
44326         * src/pic16/gen.c (pic16_genNot,pic16_genCpl): removed as these
44327           are provided in genutils.c,
44328           (genUminusFloat,genUminus,genCmpEq): added asserts on different
44329           operand/result sizes,
44330           (genCmp): assert on NULL pointers first, then check deref'ed values
44331         * src/pic16/genutils.c (pic16_genCpl): fixed for different operand/
44332           result size
44334 2005-09-18 Raphael Neider <rneider AT web.de>
44336         * src/pic16/gen.c (genFarPointerGet,genFarPointerSet): removed
44337           as these are now unused,
44338           (genPointerGet,genPointerSet): handle FPOINTERs like POINTERs
44339         * src/pic16/pcode.c (pic16_symIsSpecial): assume REG_TMPs to be
44340           local, avoids uninitialized pointer dereference on r->name
44341         * src/pic16/ralloc.c (newReg): fixed indentation
44343 2005-09-13 Maarten Brock <sourceforge.brock AT dse.nl>
44345         * src/SDCCval.c (constVal): fixed bug 730366
44346         * support/Util/SDCCerr.c,
44347         * support/Util/SDCCerr.h: added warning W_INVALID_INT_CONST
44349 2005-09-10 Maarten Brock <sourceforge.brock AT dse.nl>
44351         * as/mcs51/lkmem.c (summary2): fixed report for absolute areas (bug 1210220)
44353 2005-09-09 Maarten Brock <sourceforge.brock AT dse.nl>
44355         * src/mcs51/peeph.def (241.x): fixed bug when comparing generic pointers
44357 2005-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
44359         * as/hc08/lkaomf51.c (OutputName): made name unsigned char,
44360           (hex2dec): made hex_digit unsigned char, removed ascii dependance
44361         * as/mcs51/lkaomf51.c (OutputName): made name unsigned char,
44362           (hex2dec): made hex_digit unsigned char, removed ascii dependance
44363         * as/mcs51/lkarea.c (lnkarea2): sort absolute areas to the front
44364         * packihx/packihx.c (hexDigit): made c unsigned char
44365         * as/mcs51/lklibr.c (fndsym),
44366         * link/z80/lkgb.c (gb),
44367         * link/z80/lklibr.c (fndsym),
44368         * link/z80/lkrloc.c (relr),
44369         * sim/ucsim/libltdl/ltdl.c (load_deplibs, try_dlopen),
44370         * src/SDCC.lex (checkCurrFile, process_pragma),
44371         * src/SDCCglue.c (spacesToUnderscores),
44372         * src/SDCCmain.c (setParseWithComma, processFile),
44373         * src/asm.c (tvsprintf, printCLine),
44374         * src/avr/gen.c (emitcode, aopPut),
44375         * src/ds390/gen.c (emitcode),
44376         * src/hc08/gen.c (emitcode, emitinline),
44377         * src/mcs51/gen.c (emitcode, genInline),
44378         * src/pic/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
44379           tokenizeLineNode),
44380         * src/pic/ralloc.c (debugLog),
44381         * src/pic16/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
44382           tokenizeLineNode),
44383         * src/pic16/ralloc.c (debugLog),
44384         * src/z80/main.c (_process_pragma):
44385            made all ctype.h function calls safe
44386         * src/SDCCopt.c: include math.h for fabs
44387         * src/SDCCpeeph.c: added macros ISCHARDIGIT, ISCHARSPACE and ISCHARALNUM
44388           and used them throughout the code to make ctype.h function calls safe
44389         * src/ds390/main.c (asmLineNodeFromLineNode),
44390         * src/mcs51/main.c (asmLineNodeFromLineNode): made p unsigned char*
44391         * src/pic/gen.c (DEBUGpic14_emitcode, pic14_emitcode): made lbp
44392            unsigned char*
44393         * src/pic/pcode.c (mnem2key): made mnem unsigned char*,
44394           (newpCodeAsmDir): made ctype.h function calls safe
44395         * src/pic16/gen.c (pic16_emitpcomment, DEBUGpic16_emitcode,
44396           pic16_emitcode):  made lbp unsigned char*
44397         * src/pic16/pcode.c (mnem2key): made mnem unsigned char*,
44398           (pic16_newpCodeAsmDir): made ctype.h function calls safe
44399         * src/xa51/gen.c (emitcode),
44400         * src/z80/gen.c (_emit2): made lbp unsigned char*
44401         * support/Util/MySystem.c (split_command): made cmd_line and p unsigned
44402            char*
44404 2005-09-05 Raphael Neider <rneider AT web.de>
44406         * src/pic16/ralloc.c (pic16_allocDirReg): use device specific
44407           access bank splitpoint
44409 2005-09-05 Raphael Neider <rneider AT web.de>
44411         * device/lib/pic16/libc/Makefile: added (missing) string to SUBDIRS
44413 2005-09-03 Maarten Brock <sourceforge.brock AT dse.nl>
44415         * .version: changed to version 2.5.3
44416         * doc/sdccman.lyx: changed version to 2.5.3,
44417           documented --codeseg and --constseg and pragma codeseg and constseg,
44418           documented bit parameters (reentrant) and bit returning
44419         * src/SDCCicode.c (geniCodeReceive): fixed (possible) bug generating
44420            currFunc->recvSize, but is this ok for all ports?
44421           (ast2iCode): result of ~ on unsigned char must be cast to int for
44422            bool to work
44423         * src/SDCCmem.c (allocGlobal, allocLocal): don't put bit returning
44424           function pointers in bit space
44425         * src/SDCCsymt.c (checkSClass): allow bit returning function pointers,
44426           (processFuncArgs): call port.reg_parm() with reentrancy info
44427         * src/port.h,
44428         * src/avr/main.c,
44429         * src/ds390/main.c,
44430         * src/hc08/main.c,
44431         * src/pic/main.c,
44432         * src/pic16/main.c,
44433         * src/xa51/main.c,
44434         * src/z80/main.c: port.reg_parm prototype extended with
44435           "bool reentrant" parameter
44436         * src/mcs51/main.c (_mcs51_regparm): use parameter reentrant instead of
44437           options.stackAuto for allocating bit register parameters
44438         * src/mcs51/gen.c (genNot): optimized complementing direct bit,
44439           (genSend): set BitBankUsed if it is,
44440           (selectRegBank): factored out of genCall for use in genPcall,
44441           (genCall): removed redundant dtype assignmen, use selectRegBank,
44442           (genPcall): handle returning in Carry properly, save in F0 if needed,
44443           (genReceive): handle bit register parameters
44444         * src/mcs51/ralloc.c (updateRegUsage): update BitBankUsed along the way,
44445           (mcs51_assignRegisters): enable bit registers for all reentrant
44446            functions and don't set BitBankUsed unconditionally
44447         * src/mcs51/peeph.def (177.d): fixed bug if %2==%3
44448         * support/regression/tests/bitvars.c: enable tests for SDCC_STACK_AUTO
44449         * support/regression/tests/funptrs.c: added tests for BOOL and for return
44451 2005-08-27 Borut Razem <borut.razem AT siol.net>
44453         * device/lib/Makefile.in: cp on sparc-solaris (SunOS) and on
44454         ppc-osx (Darwin) does not support -u option. It seems that it is
44455         supported only on Linux - GNU cp
44457 2005-08-25 Borut Razem <borut.razem AT siol.net>
44459         * sim/ucsim/gui.src/serio.src/Makefile.in,
44460           sim/ucsim/s51.src/Makefile.in, sim/ucsim/avr.src/Makefile.in,
44461           sim/ucsim/z80.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
44462           sim/ucsim/xa.src/Makefile.in: install -s changed to 2 steps:
44463           install and strip, since the strip at /usr/ccs/bin should be used
44464           on solaris
44466 2005-08-24 Borut Razem <borut.razem AT siol.net>
44468         * clean.mk, device/lib/clean.mk: find on sparc-solaris does not support -maxdepth option
44470 2005-08-23 Bernhard Held <bernhard AT bernhardheld.de>
44472         * src/SDCCopt.c (convertToFcall): fixed modulus with divisors 1 and
44473         ffffffffu
44475 2005-08-23 Maarten Brock <sourceforge.brock AT dse.nl>
44477         * as/mcs51/aslink.h: completed lkrloc.c prototypes
44478         * as/mcs51/lkmain.c (link_main): fixed warning
44479         * device/include/stdbool.h: ds390 has no advanced bit support yet
44480         * src/SDCC.y: use SPEC_SHORT and renamed _signed to b_signed
44481         * src/SDCCsymt.c: use SPEC_SHORT and renamed _signed to b_signed
44482         * src/SDCCsymt.h (struct specifier): renamed _xxx bitfields to b_xxx
44483           and updated their macros
44484         * src/SDCCval.c (constVal): updated comment for renamed b_long
44486 2005-08-22 Maarten Brock <sourceforge.brock AT dse.nl>
44488         * as/mcs51/asdata.c: changed ctype['['] to BINOP
44489         * as/mcs51/asexpr.c (expr): added case '[' for bit access in bdata,
44490           (term): abused bit 15 of s_addr to indicate bit-addressable bytes,
44491           (oprio): set priority for '['
44492         * as/mcs51/aslink.h: added define R_BIT, and prototypes for adb_bit
44493            and adb_24_bit
44494         * as/mcs51/asm.h: added defines R_BIT and S_BIT
44495         * as/mcs51/lkarea.c (lnksect2): use T for seg BIT_BANK and overlay it
44496         * as/mcs51/lkdata.c: changed ctype['['] to BINOP
44497         * as/mcs51/lkmain.c (Areas51): rel2 contains 12 (=C) areas now,
44498           added overlayable BIT_BANK area
44499         * as/mcs51/lkmem.c (summary): add BIT_BANK to BSEG_BYTES in the report,
44500           (summary2): explain 'T' in legenda
44501         * as/mcs51/lkrloc.c: replaced old K&R style,
44502           (relr): added R_BIT processing,
44503           (errmsg): added "Bit-addressable relocation error",
44504           (adb_bit): added for converting from byte- to bit-addressable space,
44505           (adb_24_bit): added for converting from byte- to bit-addressable space
44506         * device/include/stdbool.h: changed BOOL to __bit for mcs51 as it can be
44507            used in reentrant functions now even as return value
44508         * device/lib/_gptrput.c (_gptrput): removed obsolete code
44509         * src/SDCCast.c (resultTypePropagate): also propagate AND_OP and OR_OP,
44510           (decorateType): case '!', GETHBIT, AND_OP, OR_OP: result in bool or char
44511         * src/SDCCglobl.h: added indicator BitBankUsed
44512         * src/SDCCglue.c (glue): emit area BIT_BANK with byte 'bits' and equ's for
44513            the bit registers b0-b7
44514         * src/SDCCicode.c (operandFromSymbol): removed IS_BITVAR check,
44515           (geniCodeCast): fixed bug 1263853,
44516           (geniCodeLogicAndOr): put result in bool or char,
44517           (geniCodeReceive): added parameter func for accessing the return type,
44518           (geniCodeFunctionBody): pass func to geniCodeReceive
44519         * src/SDCCmain.c: added indicator BitBankUsed
44520         * src/SDCCmem.c (allocLocal): explicitly set sclass for V_BIT
44521         * src/SDCCsymt.c (newBoolLink): added for creating a bool/bit,
44522           (checkSClass): don't put automatic bool/bit on stack,
44523           (checkFunction): removed check on function cannot return bit
44524         * src/SDCCsymt.h: added newBoolLink prototype
44525         * src/mcs51/gen.c (rb1regs): added bit registers,
44526           (movc): created for assigning to carry,
44527           (pushReg, popReg): created for pushing registers,
44528           (sameRegs): check both AOP_REG and AOP_CRY types,
44529           (aopOp): handle bit registers,
44530           (aopPut): optimization no self-assign,
44531           (saveRegisters): push reg->base (bits) only once for bit registers,
44532            and use pushReg,
44533           (unsaveRegisters): pop reg->base only once and use popReg,
44534           (assignResultValue): added parameter func and return in carry for bits,
44535           (genIpush): optimization no reload in A if not changed,
44536           (genSend): bit parameters in reentrant functions are passed in bit
44537            registers by first assigning to bits in B, then save registers and
44538            copy B to bits,
44539           (genCall): handle returning in Carry properly, save it in F0 if needed,
44540           (genPcall): updated assignResultValue call, this is not safe yet for bit
44541            returning function !!!
44542           (genFunction): don't generate equ's for bit registers and use pushReg,
44543           (genEndFunction): take care of bit returning functions and use popReg,
44544           (genRet): return bit in Carry,
44545           (genIfx): optimize bit registers and other directly addressable bits,
44546           (genReceive): updated assignResultValue call
44547         * src/mcs51/main.c (_mcs51_reset_regparm): added regBitParmFlg,
44548           (_mcs51_regparm): allow passing of upto 8 bit parameters in bit
44549            registers when using stack-auto
44550         * src/mcs51/ralloc.c (_G): added allBitregs,
44551           (regs8051): added the bit registers,
44552           (createStackSpil): use macro IS_BIT,
44553           (getRegBit): added to allocate a bit register, else spill,
44554           (getRegBitNoSpil): added to allocate a bit register, else a gpr,
44555           (updateRegUsage): factored out to ease stepping while debugging,
44556           (serialRegAssign): use updateRegUsage, only spill bits if necessary,
44557            also allocate bit registers,
44558           (fillGaps): handle bit registers,
44559           (findAllBitregs): added to create bit vector with all bit registers,
44560           (mcs51_allBitregs): returns this bit vector,
44561           (mcs51_assignRegisters): when using stack-auto use bit registers for
44562            passing parameters and creating local variables
44563         * src/mcs51/ralloc.h: added B0_IDX..B7_IDX and prototype mcs51_allBitregs
44565 2005-08-22 Borut Razem <borut.razem AT siol.net>
44567         * device/lib/Makefile.in: replaced find option -or with -o
44568           to make it run on solaris
44570 2005-08-22 Raphael Neider <rneider AT web.de>
44572         * src/pic16/gen.c (pic16_loadFromReturn): added check for AOP_PCODE,
44573           fixes #1265442 (crash on Solaris)
44575 2005-08-20 Borut Razem <borut.razem AT siol.net>
44577         * configure, configure.in: added tests for libsocket and libnsl libraries,
44578           requred by sdcdb on sparc-solaris; generate support/regression/Makefile
44579           from support/regression/Makefile.in
44580         * support/regression/Makefile.in: added
44581         * device/lib/pic16/Makefile.common.in: force make to use bash shell
44582         * sim/ucsim/libtool: regenerated on sparc-solaris
44583         * sim/ucsim/avr.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
44584           sim/ucsim/s51.src/Makefile.in, sim/ucsim/xa.src/Makefile.in,
44585           sim/ucsim/z80.src/Makefile.in: removed GNU ld specific linker options
44586           -Wl,--start-group and -Wl,--end-group to enable ucsim compilation on
44587           sparc-solaris, which doesn't use GNU ld linker
44588         * device/lib/Makefile.in: cp on sparc-solaris (SunOS) does not support -u option
44589         * as/Makefile: find on sparc-solaris does not support -maxdepth option
44591 2005-08-19 Maarten Brock <sourceforge.brock AT dse.nl>
44593         * src/mcs51/peeph.def: updated comments
44595 2005-08-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
44597         * device/lib/_gptrget.c,
44598         * device/lib/_gptrput.c: slightly shorter
44599         * doc/sdccman.lyx: incremented version
44600         * src/mcs51/peeph.def: moved peephole comments to the line of first
44601           change to better keep line correlation, reanimated 186.e
44602         * src/mcs51/peeph.def: renamed similar peepholes by using suffixes
44604 2005-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
44606         * src/pic/pcode.c : Pasted ".line" assembly directives patch from
44607           David Saxton with quotes around file name.
44609 2005-08-15 Borut Razem <borut.razem AT siol.net>
44611         * support/regression/tests/bitfields.c, support/regression/tests/bitvars.c,
44612           support/regression/tests/bitwise.c, support/regression/tests/literalop.c,
44613           support/regression/tests/rotate.c, support/regression/tests/zeropad.c:
44614           make tests run on x86_64 platform
44616 2005-08-13 Raphael Neider <rneider AT web.de>
44618         * device/lib/pic16/Makefile.subdir: weakened clean-intermediate rule
44619           as it might be executed DURING a build (parallel make is wonderful)
44621 2005-08-13 Raphael Neider <rneider AT web.de>
44623         * device/lib/Makefile.in (port-specific-objects-pic16):
44624           revert to cp $(PORT)/bin/*.* $(PORTDIR)
44625         * device/lib/pic16/Makefile: added .PHONY targets, removed builddir
44626           dependency
44627         * device/lib/pic16/Makefile.rules: build subdirs before creating
44628           the library, removed builddir rule, create $(builddir) early in
44629           recurse rule, use empty recurse rule for leaf directories
44630         * device/lib/pic16/Makefile.subdir: added phony targets, ignore
44631           mkdir errors (race condition), removed duplicate suffix "hex"
44632           from clean rules
44633         * device/lib/pic16/libdev/Makefile: recursive make via + and $(MAKE)
44634         * device/lib/pic16/libio/Makefile: create sub-make's builddir early,
44635           prevents mkdir -p from aborting on Alpha
44637 2005-08-12 Raphael Neider <rneider AT web.de>
44639         * src/pic16/glue.c (pic16_print(G)PointerType): do not flush
44640           db-statements in order to allow for arrays of pointers in code
44641           sections to be placed without interspersed 0-padding, fixes
44642           bug #1256215
44643         * (emitStatistics): fixed division by zero for pic18f1220
44644         * src/pic16/pcode.c: buffer (up to) 12 DB directives to allow for
44645           unpadded writing of 8-bit, 16-bit, 24-bit and 32-bit values
44646         * (pic16_emitDS): respect DB_ITEMS_PER_LINE
44647         * (pic16_pCodeConstString): keep track of already emitted string
44648           literals to prevent "duplicate definitions of symbol _str_NR"
44649         * src/pic16/ralloc.c (pic16_allocRegByName): removed not so helpful
44650           debug message
44651         * device/lib/Makefile.in: ignore failing PIC16 library builds
44652         * device/lib/pic16/Makefile: do not build if gputils are missing
44653         * device/lib/pic16/Makefile.common.in: do not enforce MAKEFLAGS=-s
44655 2005-08-10 Raphael Neider <rneider AT web.de>
44657         * device/lib/Makefile.in: fixed copying pic16 libraries (broken by
44658           my last commit)
44660 2005-08-10 Raphael Neider <rneider AT web.de>
44662         * src/*.c, src/pic16/{gen.c,glue.c,main.c}: applied Vangelis
44663           Rokas' patch to add the new fixed point type "__fixed16x16"
44664         * device/lib/pic16/libsdcc/fixed16x16: added Vangelis' support
44665           functions for __fixed16x16 arithmetics
44666         * device/lib/pic16: reimplemented the build system to support
44667           a separate build directory, better handling of libio (create
44668           the library in a separate subdir for each architecture) and
44669           easier configuration (centralized in Makefile.common)
44671 2005-08-07 Raphael Neider <rneider AT web.de>
44673         * src/pic16/gen.c (genrshTwo): fixed sign extension
44674         * src/pic16/device.c: added pic18f2320, 4220 and 4320
44675         * device/include/pic16/pic18f2220.h: changed some bit definitions,
44676           added T0CONbits
44677         * device/include/pic16/pic18f4220.h: NEW, header for
44678           pic18f4220 and pic18f4320
44679         * device/include/pic16/pic18fregs.h: added new devices,
44680           embraced Nop(), ClrWdt(), Sleep() and Reset() with do {} while(0)
44681         * device/include/pic16/signal.h: resolved name clashes
44682           on bit definitions, added DEF_HANDLER2(sig1,sig2,handler)
44683           to also allow testing for interrupt enable bits, added
44684           comments on how to use the macros
44685         * device/lib/pic16/libdev/pic18f2220.c: added T0CONbits
44686         * device/lib/pic16/libdev/pic18f{2320,4220,4320}.c: NEW,
44687           register definitions for the devices
44688         * device/lib/pic16/pics.all: added new devices
44689         * device/lib/pic16/libc/stdlib/calloc.c: fixed zeroing
44690           allocated memory
44691         * device/lib/pic16/libc/stdlib/memfree: do not count
44692           the block header as free memory
44693         * device/lib/pic16/libc/stdlib/memmisc.c (_initHeap):
44694           simplified and added missing end-of-blocklist-marker
44695           (reported by Peter Onion, fixes #1252814)
44696         * (_mergeHeapBlock): fixed loop condition
44697         * device/lib/pic16/libc/stdlib/realloc.c: return NULL for
44698           len==0, restructured code
44699         * device/lib/pic16/libc/stdlib/{malloc,memfreemax}.c: cleaned
44700           up a bit, reduced bitfield accesses, prevent endless loops
44701           in case of heap corruption
44702         * device/lib/pic16/libc/stdlib/x_ftoa.c: disabled
44703           "unreferenced arguments/must return a value" warnings
44704         * device/lib/pic16/libio/usart/ubaud.c (usart_baud):
44705           replaced BAUDREG with SPBRG
44706         * device/lib/pic16/libsdcc/lregs/{lrrest.c,lrst.c},
44707           device/lib/pic16/debug/gstack/gstack.c: replaced
44708           _naked, _asm, _endasm with __naked, __asm, __endasm
44710 2005-08-05 Raphael Neider <rneider AT web.de>
44712         * src/pic16/gen.c (pic16_aopGet): fixed handling of offsets in
44713           AOP_PCODE operands, fixes multibyte union-bitfield-accesses
44715 2005-08-05 Borut Razem <borut.razem AT siol.net>
44717         * device/lib/Makefile.in: added missing ';'
44718         * configure: removed ^M characters
44720 2005-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44722         * device/include/mcs51/at89c51ed2.h, device/include/mcs51/p89v51rd2.h,
44723           device/include/mcs51/at89s53.h: changed to GNU Lesser General Public
44724           License
44726 2005-08-04 Borut Razem <borut.razem AT siol.net>
44728         * configure.in: pic16 libraries build 2nd try - enable running
44729           configure in device/lib/pic16
44730         * configure: regenerated from configure.in
44731         * device/lib/Makefile.in: create $(PORT)/bin directory
44733 2005-08-03 Raphael Neider <rneider AT web.de>
44735         * src/pic16/gen.c (pic16_derefPtr): NEW, single place
44736           to get/set values via pointers
44737         * (genUnpackBits,genPackBits): changed detection of
44738           ptr->bitfield vs. sym.bitfield, fixed access via generic
44739           pointers, removed dead (wrong) code for multibyte bitfields
44740         * (genNearPointerGet, genGenPointerGet): removed useless code,
44741           fixed bitfield detection, fixes #1250594
44742         * (genNearPointerSet): removed useless code
44743         * src/pic16/gen.h: renamed pic16_emitpcode to pic16_emitpcode_real
44744           and introduced macro pic16_emitpcode that conditionally emits
44745           the origin of the following pCode (useful for debugging SDCC)
44746         * src/pic16/pcode.c: changed (and disabled) some debug outputs
44747         * (createDefmap): fixed handling of LFSR for --optimize-df
44749 2005-08-02 Borut Razem <borut.razem AT siol.net>
44751         * device/lib/Makefile.in: pic16 libraries build enabled since
44752           gputils-0.13.2 are now localy installed at sourceforge's compile farm
44754 2005-08-02 Raphael Neider <rneider AT web.de>
44756         * src/pic16/gen.c (genPackBits): removed deprecated warning
44757         * (genGenPointerSet): fixed bitfield detection
44759 2005-08-02 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44761         * device/include/mcs51/msm8xc154s.h: Removed PT2 definition, now in 8052.h.
44763 2005-07-31 Raphael Neider <rneider AT web.de>
44765         * device/lib/pic16/libdev/pic18f458.c,
44766           device/include/pic16/pic18f458.h: added missing T0CONbits
44768 2005-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
44770         * device/include/mcs51/msm8xc154s.h: added, thanks to Matthias Arndt
44772 2005-07-28 Maarten Brock <sourceforge.brock AT dse.nl>
44774         * src/mcs51/gen.c (operandsEqu): fixed bug 1246687
44776 2005-07-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44778         * device/include/mcs51/at89c51ed2.h: added.
44780 2005-07-23 Raphael Neider <rneider AT web.de>
44782         * src/pic/gen.h: added emitpcode macro for debugging
44783         * src/pic/gen.c (emitpcode): renamed to emitpcode_real
44784           and replace by macro adding debug information on demand
44785         * (genNot): fixed to C semantics (!0 = 1; !x = 0 iff x != 0)
44786         * (gencjne): tried to fix; replaced with correct (slower) code
44787         * (gen{Unp,P}ackBits): fixed single bit access
44788         * src/pic/pcode.c (AnalyzepCode): fixed DFPRINTF argument
44789         * src/pic/pcodepeep.c (pCodeSearchCondition): fixed finding
44790           previous instruction
44791         * src/pic/pcoderegs.c (regIsSpecial): NEW, check whether a
44792           register has to be handled with care (forbidding movement
44793           of assignments/uses, removing assignments completely, ...)
44794         * (pCodeOptime2pCodes): make use of regIsSpecial
44795         * added lots of debugging output (commented out)
44796         * src/pic/rallloc.c (deassignLRs): prevent operand registers
44797           from being reused as result UNLESS it is known to work
44799 2005-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
44801         * support/Util/dbuf.h: include <stddef.h> for size_t
44802         * .version: changed to version 2.5.2
44804 2005-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
44806         * src/SDCCloop.c (loopInvariants): fixed bug #1234048
44808 2005-07-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
44810         * src/hc08/gen.c (genMinus): fixed bug #1241835,
44811           (genModOneByte): removed needless psha/pula
44813 2005-07-22 Raphael Neider <rneider AT web.de>
44815         * src/SDCCmain.c (linkEdit): initialized linkerScriptFileName,
44816           have PIC14 handled like PIC16, fixes broken pic14 linker calls
44817         * src/pic/gen.c (resolveIfx): do not "invent" labels
44818         * (genSkipc): changed to positive logic
44819         * (genSkipCond): removed as no longer needed
44820         * (pic14_mov2w_regOrLit,genCmp): NEW, replacement for buggy version,
44821           backport from PIC16
44822         * (genLeftShift): check operands are in different registers
44823         * src/pic/genarith.c (genPlus): replaced INCF with ADDLW as
44824           INCF does not update CARRY...
44825         * src/pic/main.c: fixed _linkCmd
44826         * src/pic/pcode.c (unlinkpCode): added inactive code
44827         * src/pic/ralloc.c (deassignLRs): keep arguments to shift operations
44828           alive (do not assign result and operand overlapping registers)
44830 2005-07-22 Raphael Neider <rneider AT web.de>
44832         * src/pic/device.c (dump_sfr): replaced register declaration with
44833           call to emitSymbolToFile() to avoid duplicate symbols
44834         * (assignRelocatableRegisters): do not declare external symbols
44835         * src/pic/ralloc.c (allocNewDirReg): fixed to get size of arrays
44836           right (take size of type, not etype)
44837         * (allocDirReg): fixed call to allocNewDirReg() to pass OP_SYM_TYPE
44838         * (writeUsedRegs): also dump dynDirectRegs (e.g. local variables)
44839         * (packRegsForAccUse): disabled assignment of WREG as
44840           the result reg to prevent occurence of just fixed #1235003,
44841           fixes #1242954
44842         * src/pic/glue.c (emitSymbolToFile): NEW, central place to declare
44843           symbols (avoids duplicate symbols in .asm file)
44844         * (pic14emitRegularMap): use emitSymbolToFile()
44845         * src/pic/gen.c (aopOp): fixed spillLocation handling
44846         * (gen{Unp,P}ackBits): fixed acquiring bit-operands
44847         * (genDataPointerSet): removed unneccessary variables/output
44849 2005-07-22 Maarten Brock <sourceforge.brock AT dse.nl>
44851         * as/mcs51/lkarea.c: enlarged codemap for banked memory
44852         * device/lib/mcs51/crtbank.asm: added # to 0x0F
44854 2005-07-21 Raphael Neider <rneider AT web.de>
44856         * src/pic/gen.c (aopOp): do not generate AOP_ACC operands as pic14
44857           architecture cannot handle them efficiently, fixes bug #1235003
44858         * src/pic16/device.c (pic16_dump_{u,i}section,pic16_dump_int_registers):
44859           check for empty sets before using them (fixes bug #1232190)
44861 2005-07-19 Maarten Brock <sourceforge.brock AT dse.nl>
44863         * as/mcs51/lkarea.c (lnkarea, lnkarea2): improved BSEG size calculation,
44864           (lnksect2): generate warnings for memory overlap
44865         * src/SDCC.lex (doPragma, process_pragma): added pragma's codeseg and
44866           constseg to set the name of these segments so you can instruct the linker
44867           to place them in banks
44868         * src/SDCCast.c (decorateType): use new macro IS_FUNCPTR()
44869         * src/SDCCglobl.h: added MODEL_HUGE to enum,
44870           added code_seg and const_seg to options
44871         * src/SDCCglue.c (emitMaps): use options.const_seg,
44872           (createInterruptVect): put interrupt vectors in segment HOME,
44873           (glue): put HOME before static segment and put the main glue in HOME,
44874           (glue): use options.code_seg
44875         * src/SDCCicode.c (geniCodeCall): use new macro IS_FUNCPTR()
44876         * src/SDCCmain.c: added option --codeseg and --constseg to set the name of
44877           these segments so you can instruct the linker to place them in banks
44878           (linkEdit): use code_loc for HOME segment which should be the first
44879           segment in code memory now
44880         * src/SDCCmem.c: fixed more stuff like bug 1238386
44881         * src/SDCCsymt.c (getSize): use generic pointer size for banked functions,
44882           (changePointer): don't change function pointers to code pointers for
44883           banked functions,
44884           (compareType): added exceptional check for banked function pointers
44885         * src/SDCCsymt.h: changed IFFUNC_ISBANKEDCALL, added IS_FUNCPTR
44886         * src/hc08/main.c (_hc08_genAssemblerPreamble): put HOME first, put CSEG
44887           after static in code memory
44888         * src/mcs51/gen.c: added aopLiteralLong prototype,
44889           (aopForSym): use getSize for functions,
44890           (genCall): generate banked calls over one trampoline __sdcc_banked_call
44891           in HOME with lsb of address in r0, msb in r1 and bank in r2, use
44892           -Wl-bBANKSEG=0xbbaaaa option to set the address (aaaa) and bank (bb) of
44893           the segment,
44894           (genPcall): use call for literal function pointers and generate banked
44895           calls over the one trampoline so there's only one place for the user to
44896           modify according to his/hers hardware,
44897           (genEndFunction): jump to __sdcc_banked_ret in HOME for banked functions,
44898           (genPlusIncr): moved check icount>4 beyond inc dptr optimization
44899         * src/mcs51/main.c: added keyword banked,
44900           (_mcs51_genExtraAreas): put HOME first followed by GSINIT, STATIC and CSEG
44901         * support/Util/SDCCerr.c,
44902         * support/Util/SDCCerr.h: added E_BANKED_WITH_CALLEESAVES, registers are
44903           needed for passing the bank and address to the trampoline
44904         * device/lib/mcs51/crtbank.asm: added for bankswitching
44905         * device/lib/mcs51/Makefile: added crtbank
44907 2005-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
44909         * src/SDCCcse.c (algebraicOpts): fixed loss of volatility
44910           for fields at offset 0 of a struct or union as reported
44911           on 2005-07-07 in the developer mailing list.
44913 2005-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
44915         * src/SDCCmem.c: fixed bug 1238386
44917 2005-07-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
44919         * src/mcs51/peeph.def: added labelrefcounting for peepholes
44920           (patch #1144962), added peephole 300, enabled 259.x
44921         * doc/sdccman.lyx: removed screenshot and provided link instead
44923 2005-07-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
44925         * doc/sdccman.lyx: added section about debugging with ddd
44926         * doc/figures/ddd_example.eps: screenshot of debugging session
44928 2005-07-04 Raphael Neider <rneider AT web.de>
44930         * src/pic/gen.c (genPointerGet): handle pointers to CONST values
44931           like CODE pointers, fixes #1115683
44932         * src/pic/pcode.c (DoBankSelect): forget LastRegIdx during function
44933           call, fixes bugs #1232211, #1228110,
44934           fixed wrong casts to pCodeFlow from pCodeInstructions
44936 2005-07-04 Raphael Neider <rneider AT web.de>
44938         * src/pic/gen.c (popGet): changed assert to allow for
44939           bit operands
44940         * (popGetAddr): changed signature to provide
44941           an additional index, patched all call sites
44942         * (genCmpEq): handle literal-like operands correctly
44943         * (genAddrOf): added sanity checks on __code/__data pointers
44944         * (genAssign): added handling of symbols from __code section
44945         * (gencjne): do not generate code for comparisons whose result
44946           is neither stored nor used, fixes bug #1171114
44947         * (AccLsh, AccRsh): operate on operand instead of WREG
44948         * (shift{Left,Right}_Left2ResultLit): NEW, size independant
44949           replacement for Shift{LR}{12}Left2Result; shift (byte/int/long)
44950           by known count
44951         * rewrote complete shift-by-literal logic, commented unused
44952           functions out
44953         * (genConstPointerGet): get multiple bytes (if result size > 1),
44954           fixed handling of non-immediate addresses
44955         * (genPointerGet): handle CODE pointers like CONST pointers
44956         * (genpic14Code): insert C-SRC lines as Cource-pCodes
44957         * ({aop,op}_isLitLike): NEW, single place to decide whether an
44958           operand is to be treated as a literal or not
44959         * (mov2w,genPcall,genCmpEq),
44960           src/pic/genarith.c: use aop_isLitLike() to decide between
44961           literal/register contents
44962         * (addSign): added missing offset
44963         * src/pic/gen.h: remove newline after FENTRY/FEXIT comments,
44964           only emit comment in debug-mode,
44965           use {aop,op}_isLitLike throughout the file
44966         * src/pic/glue.c: fix initializers for pointers (work in progress)
44967         * src/pic/pcode.c (get_op): honor index on _const symbols
44968         * ({reset,dump}pCodeStatistics): NEW, estimate code size
44969         * (dumppBlock): added pCode size estimation
44970         * src/pic/ralloc.c (deassignLRs,serialRegAssign,packRegisters):
44971           check for IS_SYMOP before OP_SYMBOL'ing
44972         * fixed indentation, compacted switch-statements
44973         * (allocReg): find free register and allocate it instead of
44974           allocating new registers all the time
44975         * (deassignLRs): prevent POINTER_GET's from being assigned the same
44976           registers as its operands (necessary only for multibyte GETs)
44978 2005-07-01 Raphael Neider <rneider AT web.de>
44980         * src/pic/gen.h: added prototypes emitpComment, popGetAddr and
44981           debugging .asm-output macros FENTRY + FEXIT
44982         * src/pic/gen.c (Safe_vsnprintf): NEW, is there a more generic
44983           way... I wonder...
44984         * (emitpComment): NEW, printf to pCode
44985         * (popGet): added assert on too large offsets, fixed PO_IMMEDIATE's
44986           offset handling
44987         * (popGetAddr): NEW, variant of popGet to access an immediates
44988           high(er) bytes instead of the n'th byte of memory they reference,
44989           replaced popGet with popGetAddr where neccessary
44990         * (genDataPointerGet): reactivated and fixed implementation
44991         * (genNearPointerGet): enabled call to genDataPointerGet, fixes array-
44992           accesses
44993         * (genDataPointerSet): fixed multibyte assignments
44994         * (genpic14Code): fixed --i-code-in-asm handling
44995         * src/pic/genarith.c: fixed PO_IMMEDIATE issue using popGetAddr,
44996         * (genPlus): fixed index-out-of-bounds error
44997         * src/pic/pcode.c (get_op): fixed PO_IMMEDIATE's index/offset handling
44998         * src/pic/ralloc.c: added debugging output macro FENTRY2
44999         * (spillThis): fixed indentation, enbraced for-body for clarity
45000         * (rematStr): commented out as now unused
45001         * (regTypeNum): commented out special spill case (overwrites
45002           arbitrary values)
45003         * fixes bugs #1229346, #1216476 (both arrays) and #1115667 (SIGSEGV)
45005 2005-06-30 Maarten Brock <sourceforge.brock AT dse.nl>
45007         * doc/sdccman.lyx: documented sfr16/sfr32,
45008           added example for using storage class with function pointers
45009         * src/mcs51/gen.c (genPlusIncr): optimized small offsets from dptr
45011 2005-06-28 Maarten Brock <sourceforge.brock AT dse.nl>
45013         * device/lib/_gptrget.c: also push/pop _PSBANK, added # to 0x03
45014         * device/lib/_itoa.c,
45015         * device/lib/_ltoa.c: optimized codesize
45016         * src/SDCCsymt.c (checkSClass): added sanity check for sfr at addresses,
45017           but don't know how to suppress the double warning.
45018         * src/mcs51/gen.c (genPlusIncr): fixed bug when incrementing volatile int's
45019         * support/Util/SDCCerr.c,
45020         * support/Util/SDCCerr.h: added warning W_SFR_ABSRANGE for sanity check
45022 2005-06-27 Maarten Brock <sourceforge.brock AT dse.nl>
45024         * as/mcs51/asexpr.c (expr): disabled warning "not in .flat24 mode",
45025           fixed old K&R prototypes
45026         * as/mcs51/asout.c (outrb): always output as if generating 24bit addresses
45027         * device/lib/_gptrget.c,
45028         * device/lib/_gptrgetc.c,
45029         * device/lib/_gptrput.c: changed versions for new memory indicator values,
45030           also new versions for small generic pointers and banked generic pointers
45031         * src/port.h: added const_name
45032         * src/SDCC.lex: added keywords sfr16, __sfr16, sfr32, __sfr32
45033         * src/SDCC.y: added tokens SFR16, SFR32 and their sfr_attributes
45034         * src/SDCCcse.c (findPrevIc): check all associative operators
45035         * src/SDCCglue.c (emitMaps): use CONST_NAME if defined
45036         * src/SDCCicode.h: added macro IS_ASSOCIATIVE
45037         * src/SDCCmem.c: updated comments,
45038           set far-space to 0 for pdata, results in optimized code
45039         * src/SDCCmem.h: added macro CONST_NAME
45040         * src/SDCCsymt.h: renumerated generic pointer types GPTYPE_... thereby
45041           moving the info into the highest bits, see also gptrget/gptrput
45042         * src/src.dsp: added sdcc.ico to project files
45043         * src/avr/gen.c (genCast): fixed bug 0x%d
45044         * src/avr/main.c (avr_port): added "CONST (CODE)" for const_name
45045         * src/ds390/gen.c (aopForRemat, adjustArithmeticResult): disconnected direct
45046           relation between ptr_type and DCL_TYPE,
45047           (genCast): fixed bug 0x%d
45048         * src/ds390/main.c (ds390_port, tininative_port, ds400_port): added "CONST
45049           (CODE)" for const_name
45050         * src/hc08/gen.c (genCast): fixed bug 0x%d
45051         * src/hc08/main.c (_hc08_genAssemblerPreamble): added .area ...const_name,
45052           (hc08_port): added "CONST (CODE)" for const_name
45053         * src/mcs51/gen.c (aopForSym): optimized pushing ACC,
45054           (aopForRemat, adjustArithmeticResult): disconnected direct relation
45055           between ptr_type and DCL_TYPE,
45056           (aopGetUsesAcc, aopGet, aopPut): changed first parameter from asmop* to
45057           operand* and took AOP() inside function so sfr-ness can be checked,
45058           (all over): repaired calls to aopGetUsesAcc, aopGet, aopPut to comply with
45059           new prototype,
45060           (genFunction, genEndFunction): optimized stack setup,
45061           (genMinus): optimized for literals with ending zeroes (in bytes),
45062           (genCast): fixed bug 0x%d
45063         * src/mcs51/main.c (_mcs51_keywords): added sfr16 and sfr32,
45064           (mcs51_port): added "CONST (CODE)" for const_name
45065         * src/mcs51/peeph.def: made rule 226 more generic
45066         * src/pic/main.c (pic_port): added "CONST (CODE)" for const_name
45067         * src/pic16/main.c (pic16_port): added "CONST (CODE)" for const_name
45068         * src/xa51/main.c (xa51_port): added "CONST (CODE)" for const_name
45069         * src/z80/main.c (z80_port): added NULL for const_name,
45070           (gbz80_port): added NULL for const_name
45071         * support/regression/tests/bug663539.c,
45072         * support/regression/tests/sfr16.c: new tests
45074 2005-06-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
45076         * device/include/mcs51/p89v51rd2.h, device/include/mcs51/at89s53.h: added.
45078 2005-06-24 Raphael Neider <rneider AT web.de>
45080         * device/lib/pic16/libdev/pic18f[68][567]20.c:
45081           corrected typos...
45082         * device/include/pic16/signal.h: added USBIF
45083           and SIG_USB
45085 2005-06-24 Raphael Neider <rneider AT web.de>
45087         * device/lib/pic16/libdev/pic18f2455.c,
45088           device/include/pic16/pic18f2455.h: NEW
45089         * device/include/pic16/pic18fregs.h,
45090           device/lib/pic16/pics.all,
45091           src/pic16/device.c: added 18f2455
45092         * device/lib/pic16/libdev/pic18f[68][567]20.c,
45093           device/include/pic16/{pic18f[68][567].h,usart.h}:
45094           replaced MULTIPLE_USARTS define with more relaible
45095           compatibility sfrs (for USART access)
45097 2005-06-20 Slade Rich <slade_rich AT users.sourceforge.net>
45099         * src/pic/pcode.c : Fixed problem when a string constant contains a "\r\n"
45100           and the output asm file line is printed on two lines.
45102 2005-06-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45104         * sim/ucsim/hc08.src/inst.cc (inst_condbranch): fixed simulation of
45105           BGT, BLE, BHI, and BLS instructions
45106         * src/hc08/gen.c (outAcc, outBitC, outBitNV, genCmpLt, genCmpGt,
45107           genCmpEq): removed
45108         * src/hc08/gen.c (genCmpEQorNE, genCmp, branchopCmp, nameCmp,
45109           negatedCmp, exchangedCmp, genhc08Code): rewrite of comparison handling,
45110           fixes bug #1216342
45111         * src/hc08/peeph.def: added rules 2g - 2l for new conditional branches
45113 2005-06-15 Raphael Neider <rneider AT web.de>
45115         * src/pic16/NOTES: moved Vangelis from active developers to people to contact
45116         * device/include/pic16/{6520.h,8520.h}: fixed configuration bits
45117         * src/pic16/gen.c (): prevent iTemps from being considered to be in CODESPACE,
45118           fixes bug #1221120; for symbols in CODESPACE get number of bytes to read from
45119           OP_SYM_TYPE() instead of OP_SYM_ETYPE()
45121 2005-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45123         * device/include/mcs51/reg764.h: Changed PB0 to PBO as requested by
45124           Marcel Telka in bug #1215704
45126 2005-06-02 Slade Rich <slade_rich AT users.sourceforge.net>
45128         * src/pic/pcode.c : Changed pseudo stack size to 15 to allow WSAVE to be
45129           located in shared memory bank.
45131 2005-05-31 Raphael Neider <rneider AT web.de>
45133         * src/pic16/{gen.c,genarith.c}: replaced sign-extension
45134           "CLRF, BTFSC <signbit>, DECF/COMF" with side-effect-free
45135           "CLRF, BTFSC <signbit>, SETF"; fixes "long>>9"
45137 2005-05-27 Maarten Brock <sourceforge.brock AT dse.nl>
45139         * device/lib/_strncpy.c: fixed the fix
45141 2005-05-26 Raphael Neider <rneider AT web.de>
45143         * src/pic16/glue.c (pic16_printIvalChar): fixed _constant_ string
45144           initializers with \0, bug #1208187
45145         * src/pic/glue.c (printIvalChar): fixed (non- and constant) string
45146           intializers with \0, bug #1208187
45148 2005-05-26 Raphael Neider <rneider AT web.de>
45150         * src/pic16/glue.c (pic16_printIvalChar): fixed string
45151           initializers with \0, bug #1208187
45152         * src/pic16/main.c (_process_pragma): added sanity checks
45153           for stack position and size, emit warnings when appropriate
45155 2005-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
45157         * device/lib/_strncpy.c: fixed not filling with \0
45159 2005-05-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45161         * src/SDCCast.c (funcOfType, funcOfTypeVarg, stringToSymbol,
45162           createFunction),
45163         * src/SDCC.y (external_definition, enumerator, parameter_declaration,
45164           compound_statement),
45165         * src/SDCCsymt.h,
45166         * src/SDCCsymt.c (addSymChain, processFuncArgs): fixed bug #1159134
45168 2005-05-24 Raphael Neider <rneider AT web.de>
45170         * src/pic16/glue.c (pic16_printGPointerType): fixed #1207796
45172 2005-05-24 Raphael Neider <rneider AT web.de>
45174         * device/include/pic16/pic18f{442,452,458}.h: fixed wrong
45175           TRISE definitions, closes bug #1162453
45177 2005-05-22 Raphael Neider <rneider AT web.de>
45179         * src/pic16/main.c (_process_pragma): check for missing
45180           arguments to pragmas code and udata
45181         * device/include/pic16/pic18f{2550,4331,4455,4520}.h:
45182           consistency fixes to match other headers (thanks to Jim Paris)
45183         * device/lib/pic16/libio/i2c.ignore: 18f4331 provides no I2C
45185 2005-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
45187         * src/SDCCicode.c (isOperandEqual): fixed missing ;
45189 2005-05-19 Maarten Brock <sourceforge.brock AT dse.nl>
45191         * support/regression/tests/bug1198642.c: new test
45192         * src/SDCCicode.c (isOperandEqual): fixed bug 1198642
45193         * src/SDCCcse.c (findPrevIc): added comment, please have a look
45194         * support/scripts/resource.h,
45195         * support/scripts/resource.rc,
45196         * src/src.dsp: added sdcc.ico to project as icon for sdcc.exe
45197         * support/scripts/sdcc.ico: added 32x32 icon
45199 2005-05-18 Raphael Neider <rneider AT web.de>
45201         * device/lib/pic16/libdev/pic18f*.c,
45202         * device/include/pic16/pic18f*.h: updated "sfr" and "at X"
45203           keywords to "__sfr" and "__at (X)"
45204         * device/include/pic16/pic18fregs.h: added pic18f4520
45205         * src/pic16/pcode.c (pic16_pCode2str): fixed (?) bug
45206           #1203088 (MPLAB compatibility)
45208 2005-05-17 Raphael Neider <rneider AT web.de>
45210         * device/include/pic16/pic18f{2550,4331,4455,4520}.h: NEW
45211         * device/lib/pic16/libdev/pic18f{2550,4331,4455,4520}.c: NEW
45212         * device/lib/pic16/pics.all: added new devices
45213         * src/pic16/device.c: added support for pic18f4520
45215 2005-05-16 Raphael Neider <rneider AT web.de>
45216         * src/pic16/gen.{c,h}: s/mov2f/pic16_mov2f made public
45217         * src/pic16/genarith.c (genAddLit): fixed bug 1202480
45218         * src/pic16/pcode.{c,h} (pic16_newpCodeOpBit_simple): NEW
45219           convenience function for bit access
45221 2005-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
45223         * device/lib/printf_large.c: fixed bug 1193299
45224         * support/regression/tests/bug1057979.c: added test %3.3s
45226 2005-05-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45228         * device/include/mcs51/8051.h,
45229         * device/include/mcs51/8052.h: made parseable with lint
45230         * device/include/mcs51/lint.h: added include file for (sp)lint
45231         * doc/sdccman.lyx: added doc about use of splint (syntax checking tool)
45232         * doc/cdbfileformat.lyx,
45233         * doc/test_suite_spec.lyx: hardcoded date to the date of last text change
45235 2005-05-14 Raphael Neider <rneider AT web.de>
45237         * device/lib/pic16/Makefile.common.in: add --optimize-df to OPT_FLAGS
45238         * device/lib/pic16/libc/stdlib/itoa.c (new)
45239         * device/lib/pic16/libc/stdlib/Makefile: have itoa.c built
45240         * device/lib/pic16/libio/Makefile: exclude subdir according to
45241           ${subdir}.ignore for certain PICs (lacking e.g. i2c)
45242         * device/lib/pic16/libio/i2c.ignore (new): pic18f1220 has no I2C support
45243         * src/pic16/gen.c (genFunction): prevent annoying warning
45244         * src/pic16/pcode.c: renamed stack_t to dynstack_t to prevent
45245           nameclashes on BeOS
45246         * support/cpp2/cppmain.c (cpp_output_string): new
45247         * support/cpp2/cpplib.c (_cpp_do__Pragma): fixed _Pragma(""),
45248           fixes bug 1116802
45250 2005-05-13 Borut Razem <borut.razem AT siol.net>
45252         * src/SDCCmain.c (linkEdit): fixed bug 1195202
45254 2005-05-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45256         * .version: changed to version 2.5.1; back to bleeding edge development
45258 2005-05-11 Borut Razem <borut.razem AT siol.net>
45260         * doc/sdccman.lyx doc/cdbfileformat.lyx doc/test_suite_spec.lyx:
45261           generate PDF version 1.3 documents
45263 2005-05-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45265         * .version: changed to version 2.5.0
45267 2005-04-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45269         * doc/sdccman.lyx: updated weblinks, index and smaller updates
45271 2005-04-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45273         * doc/sdccman.lyx: changed version 2.5.0, documented --std-c89,
45274         --std-sdcc89, --std-c99, --std-sdcc99, and the corresponding #pragmas, as
45275         well as many smaller updates.
45276         * .version: changed to version 2.5.0-pre1
45278 2005-04-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
45280         * src/SDCCmain.c (setIncludePath): added port->target to SDCC_INCLUDE_NAME
45282 2005-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
45284         * support/regression/tests/bug1185672.c: added
45285         * src/mcs51/gen.c (aopGetUsesAcc, genCpl, genAnd, genOr, genXor): fixed
45286           bug 1185672
45287         * src/mcs51/gen.c (genCall): added comments, made it look safer
45288         * src/mcs51/gen.c (genEndFunction): simplified
45290 2005-04-25 Maarten Brock <sourceforge.brock AT dse.nl>
45292         * src/mcs51/ralloc.c (serialRegAssign): fixed bug 1189609
45294 2005-04-14 Borut Razem <borut.razem AT siol.net>
45296         * fixed bug 1045046 - SIGSEGV with really simple code?:
45297           src/pic/pcode.c (pCodeInitRegisters)- pseudo stack size increased to 16
45298           src/pic/ralloc.c (typeRegWithIdx) - error message on pseudo stack overflow
45300 2005-04-14 Borut Razem <borut.razem AT siol.net>
45302         * src/pic16/gen.c (genInline), src/pic16/main.c (_process_pragma),
45303           src/pic16/device.h: temporarily disabled experimental #inline pragma
45304           for 2.5.0 release
45306 2005-04-14 Maarten Brock <sourceforge.brock AT dse.nl>
45308         * device/include/z80/stdio.h,
45309         * device/include/z80/string.h: removed these highly incomplete files so
45310           SDCC can use the default ones in device/include/
45312 2005-04-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45314         * src/mcs51/gen.c (genEndFunction): removed unused variable to fix
45315         gcc warning.
45316         * device/lib/Makefile.in: default PORTINCDIR to the mcs51 subdir to
45317         fix sdcpp warnings.
45319 2005-04-12 Maarten Brock <sourceforge.brock AT dse.nl>
45321         * device/include/malloc.h: removed redundant __reentrant prototypes
45322         * device/lib/_mullong.c: added working xstack variant in asm (C version
45323           doesn't pass regression tests)
45324         * device/lib/bpx.c: used __data and made bpx char for mcs51
45325         * src/SDCCast.c (decorateType): removed unused GPTYPE_IDATA,
45326           (createFunction): fixed bug with xstackPtr
45327         * src/SDCCcse.c: corrected comments
45328         * src/SDCCopt.c (convertToFcall): fixed warning in MSVC,
45329           (killDeadCode, eBBlockFromiCode): removed unused code
45330         * src/SDCCsymt.h: removed unused GPTYPE_GPTR and GPTYPE_IDATA,
45331           corrected comments
45332         * src/mcs51/gen.c (aopForSym, aopPut, toBoolean, unsaveRegisters,
45333           assignResultValue, genCall, genFunction, genEndFunction, genAnd,
45334           genOr, genXor, genAddrOf): fixed several bugs concerning xstack
45335           (genModOneByte): fixed warning in MSVC
45336         * src/mcs51/main.c (): added comments
45337         * src/mcs51/peeph.def: changed 129 to 129.a, added 129.b, 129.c & 129.d
45339 2005-04-12 Maarten Brock <sourceforge.brock AT dse.nl>
45341         * src/SDCCmain.c (linkEdit): oops, changed one line too many
45343 2005-04-11 Maarten Brock <sourceforge.brock AT dse.nl>
45345         * src/SDCCmain.c (linkEdit): fixed bug with finding crt0.o for z80
45347 2005-04-10 Vangelis Rokas <vrokas AT users.sourceforge.net>
45349         * src/pic16/glue.c (printIvalChar): fixed bug when emitting
45350         characters arrays of larger size than the declared one.
45352 2005-04-10 Borut Razem <borut.razem AT siol.net>
45354         * src/pic/gen.c (genInline),
45355           src/pic/pcode.c (newpCodeAsmDir), (pCode2str),
45356           (genericPrint), (unlinkpCodeFromBranch), (compareLabel),
45357           (findNextInstruction), (findPrevInstruction),
45358           (findInstructionUsingLabel),
45359           src/pic/pcode.h: fixed bug #1164907 - Labels not being recognized
45360         * src/pic/pcode.c (findLabel): added missing '\n'
45361         * src/src.dsp: added SDCCdwarf2.c to the project
45363 2005-04-09 Borut Razem <borut.razem AT siol.net>
45365         * support/scripts/sdcc.nsi: added include/hc08/* h to NSIS setup
45367 2005-04-08 Raphael Neider <rneider AT web.de>
45369         * src/pic16/pcode.c: added helpers defmapInsertAfter (insert a new item
45370           into the chain after a given one) and mergeDefmapSymbols (combine
45371           defmap entries for each symbol per pcode)
45372         * (createDefmap): have defmap entries merged in the end
45373         * (defmapReplaceSymRef): split defmap entries covering two accesses to
45374           a symbol before replacing one access type's symbol, merge symbols in
45375           the end (replacement symbol might already have an entry)
45376         * (assignValnums): keep reference to written WREG intact
45378 2005-04-08 Raphael Neider <rneider AT web.de>
45380         * src/pic16/pcode.c (struct defmap_s): named anonymous union (for
45381           Alpha)
45383 2005-04-08 Vangelis Rokas <vrokas AT users.sourceforge.net>
45385         * src/pic16/pcode.c (pic16_get_op2): enlarged size of array b to 128
45386         bytes
45388 2005-04-07 Raphael Neider <rneider AT web.de>
45390         * device/include/pic16/usart.h: added compatibility defines for
45391           devices with more than one USART
45392         * device/include/pic16/pic18f[68][567]20.h: activated above defines
45394 2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
45396         * device/lib/Makefile.in: updated for port specific include
45398 2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
45400         * support/regression/ports/mcs51/spec.mk: added mcs51 include
45402 2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
45404         * device/include/8051.h,
45405         * device/include/8052.h,
45406         * device/include/at89S8252.h,
45407         * device/include/at89c55.h,
45408         * device/include/at89x051.h,
45409         * device/include/at89x51.h,
45410         * device/include/at89x52.h,
45411         * device/include/mcs51reg.h,
45412         * device/include/reg51.h,
45413         * device/include/reg764.h,
45414         * device/include/regc515c.h,
45415         * device/include/sab80515.h: (re)moved these 12 files
45416         * device/include/mcs51/8051.h,
45417         * device/include/mcs51/8052.h,
45418         * device/include/mcs51/at89S8252.h,
45419         * device/include/mcs51/at89c55.h,
45420         * device/include/mcs51/at89x051.h,
45421         * device/include/mcs51/at89x51.h,
45422         * device/include/mcs51/at89x52.h,
45423         * device/include/mcs51/mcs51reg.h,
45424         * device/include/mcs51/reg51.h,
45425         * device/include/mcs51/reg764.h,
45426         * device/include/mcs51/regc515c.h,
45427         * device/include/mcs51/sab80515.h: and added them here
45429 2005-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
45431         * device/include/stdarg.h: changed SDCC specific keywords to double
45432           underlined form.
45433         * device/include/stdint.h: changed intptr_t and uintptr_t for others than
45434           mcs51 and ds390.
45435         * device/include/hc08/mc68hc908gp32.h,
45436         * device/include/hc08/mc68hc908jb8.h,
45437         * device/include/hc08/mc68hc908jkjl.h,
45438         * device/include/hc08/mc68hc908qy.h: fixed comments
45439         * device/include/mcs51/README: updated
45440         * device/include/mcs51/c8051f120.h: added PINRSF
45441         * device/lib/pic16/libc/stdlib/crc16.c: fixed comments
45442         * src/pic16/pcode.c: MSVC6 doesn't accept declaring new variables
45443           amidst code. Also inline is not supported.
45445 2005-04-06 Raphael Neider <rneider AT web.de>
45447         * src/pic16/pcode.c (pic16_pCodeReplace): also update pcflow->end
45448         * (createDefmap): fixed CALLs to depend on FSR1 and RETLW to restore
45449           callers stack/frame pointers
45451 2005-04-06 Vangelis Rokas <vrokas AT users.sourceforge.net>
45453         * device/include/pic16/usart.h: added, missing in previous commit,
45454         * device/include/pic16/adc.h: fixed typo,
45455         * device/lib/pic16/libc/utils/cvtdec.S: added missing in previous
45456         commit,
45457         * device/lib/pic16/libc/stdlib/g_ftoa.S: modified to include
45458         <p18fxxx.inc>
45459         * device/lib/pic16/libc/stdio/streams.c: leave stdin, stdout
45460         uninitialized because a bug appears with gplink
45461         * device/lib/pic16/{some makefiles}: moved $(CSTD) from CFLAGS to
45462         COMPILE_FLAGS and added CPPFLAGS with -nostdinc because sdcpp
45463         complains for unrecognised option
45465 2005-04-05 Raphael Neider <rneider AT web.de>
45467         * src/pic16/gen.c (pic16_popCopyReg): made copying work for extended
45468           structs as well (using memcpy)
45469         * (genFunction): fixed comparison, used pCodeOpLabel to reduce warning
45470           on ISRs (GOTO has no label)
45471         * src/pic16/device.h: added OF_OPTIMIZE_DF
45472         * src/pic16/main.c: added compiler switch --optimize-df to enable the
45473           new data flow analysis/optimization
45474         * src/pic16/pcode.c: added (prototypes for and implementation of)
45475           dataflow analysis functions, fixed pCodeInstructions' inCond and
45476           outCond values, made RCALL a branch instruction
45477         * (pic16_unlinkpCode): keep C line if possible
45478         * (pic16_pCodeUnlink): removed cast on left side of assignment, have
45479           C line moved if possible
45480         * (pic16_getRegFrompCodeOp): NEW, improved version of...
45481         * (pic16_getRegFromInstruction,pic16_getRegFromInstruction2): changed
45482           to use new pic16_getRegFrompCodeOp (works for more SFRs)
45483         * (pic16_BuildFlow): fixed skip instructions with label (did not start
45484           new flow)
45485         * (pic16_getJumptabpCode): NEW, needed in...
45486         * (LinkFlow): fixed handling of jumptables, calls and conditional
45487           branches
45488         * (pic16_InsertCommentAfter): NEW
45489         * (pic16_pCodeReplace): made verbose and flow preserving
45490         * (AnalyzeFlow): added call to data flow analysis
45491         * src/pic16/pcode.h: added defmaps to pCodeFlow struct
45492         * src/pic16/pcodeflow.h: added PCC_STATUS to mean all STATUS bits
45493         * src/pic16/ralloc.c (packRegsForAssign): added return 1 in the end
45495 2005-04-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45497         * src/SDCCast.c (decorateType): fixed bug #1105626
45499 2005-04-02 Vangelis Rokas <vrokas AT users.sourceforge.net>
45501         * device/include/asm/pic16/features.h,
45502         * pic18f*.h headers,
45503         * device/include/pic16/adc.h,
45504         * device/include/pic16/delay.h,
45505         * device/include/pic16/i2c.h,
45506         * device/include/pic16/malloc.h,
45507         * device/include/pic16/stdio.h,
45508         * device/include/pic16/stdlib.h,
45509         * device/include/pic16/string.h,
45510         * device/lib/pic16/libc/stdio/printf_tiny.c,
45511         * device/lib/pic16/libc/stdio/printf_small.c,
45512         * device/lib/pic16/libc/stdio/strmgpsim.c,
45513         * device/lib/pic16/libc/stdio/strmmssp.c,
45514         * device/lib/pic16/libc/stdio/strmusart.c,
45515         * device/lib/pic16/libc/stdio/vfprintf.c,
45516         * device/lib/pic16/libc/stdlib/ltoa.c,
45517         * device/lib/pic16/libc/stdlib/putchar.c,
45518         * device/lib/pic16/libc/stdlib/x_ftoa.c,
45519         * device/lib/pic16/libc/stdlib/memchrpgm.c,
45520         * device/lib/pic16/libc/stdlib/memchrram.c,
45521         * device/lib/pic16/libc/stdlib/memcpypgm2ram.c,
45522         * device/lib/pic16/libc/stdlib/memcpyram2ram.c,
45523         * device/lib/pic16/libio/adc/adcbusy.c,
45524         * device/lib/pic16/libio/adc/adcread.c,
45525         * device/lib/pic16/libio/adc/adcsetch.c,
45526         * device/lib/pic16/libio/usart/ubaud.c,
45527         * device/lib/pic16/libio/usart/ubusy.c,
45528         * device/lib/pic16/libio/usart/udrdy.c,
45529         * device/lib/pic16/libio/usart/uopen.c,
45530         * device/lib/pic16/libio/usart/uputc.c,
45531         * device/lib/pic16/libsdcc/gptr/gptrget1.c,
45532         * device/lib/pic16/libsdcc/gptr/gptrget2.c,
45533         * device/lib/pic16/libsdcc/gptr/gptrget3.c,
45534         * device/lib/pic16/libsdcc/gptr/gptrget4.c,
45535         * device/lib/pic16/libsdcc/gptr/gptrput1.c,
45536         * device/lib/pic16/libsdcc/gptr/gptrput2.c,
45537         * device/lib/pic16/libsdcc/gptr/gptrput3.c,
45538         * device/lib/pic16/libsdcc/gptr/gptrput4.c: modified all SDCC
45539         specific keywords to double underlined form,
45540         * device/lib/pic16/libc/Makefile.rules,
45541         * device/lib/pic16/libsdcc/Makefile.rules,
45542         * device/lib/pic16/libm/Makefile,
45543         * device/lib/pic16/libio/Makefile.rules: added CSTD macro in CFLAGS
45544         to compile with C standard set in Makefile.common
45545         * device/lib/pic16/libc/stdlib/Makefile: added new C sources
45546         rand.c and crc.c in compilation process,
45547         * device/lib/pic16/libsdcc/int/divuint.c,
45548         * device/lib/pic16/libsdcc/long/divulong.c: changed declaration of
45549         `c' from signed to unsigned,
45550         * device/lib/pic16/startup/crt0.c,
45551         * device/lib/pic16/startup/crt0i.c,
45552         * device/lib/pic16/startup/crt0iz.c: adopted to all SDCC specific
45553         keywords to double underlined form, bug fixes in _do_cinit function
45554         which prevented the correct initialization of the .idata segment,
45555         * src/pic16/pcoderegs.c (insideLRBlock): fixed a bug that caused the
45556         core to enter a infinite loop
45557         * device/lib/pic16/libc/stdlib/rand.c, crc.c: new files
45559 2005-04-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45561         * src/SDCCicode.c (getArraySizePtr): fixed bug #1122171
45563 2005-04-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45565         * device/include/Makefile.in: add support for hc08 subdirectory
45566         * device/include/hc08/: new subdirectory
45567         * device/include/hc08/mc68hc908jkjl.h: new header contributed by
45568         Lucas Loizaga, thanks!
45569         * device/include/hc08/mc68hc908qy.h,
45570         * device/include/hc08/mc68hc908gp32.h,
45571         * device/include/hc08/mc68hc908jb8.h: moved hc08 register defs to
45572         their own directory. Changed internal macro names to use the compiler
45573         reserved namespace. Changed SDCC specific keywords to double
45574         underlined form.
45575         * device/include/math.h,
45576         * device/include/malloc.h,
45577         * device/include/stdarg.h,
45578         * device/include/stdbool.h
45579         * device/include/string.h,
45580         * device/include/tinibios.h,
45581         * device/include/ds400rom.h,
45582         * device/include/8051.h,
45583         * device/include/8052.h,
45584         * device/include/80c51xa.h,
45585         * device/include/at89c55.h,
45586         * device/include/at89S8252.h,
45587         * device/include/at89x51.h,
45588         * device/include/at89x52.h,
45589         * device/include/ds80c390.h,
45590         * device/include/reg764.h,
45591         * device/include/regc515c.h,
45592         * device/include/sab80515.h,
45593         * device/include/mcs51/c8051f000.h,
45594         * device/include/mcs51/c8051f018.h,
45595         * device/include/mcs51/c8051f020.h,
45596         * device/include/mcs51/c8051f040.h,
45597         * device/include/mcs51/c8051f060.h,
45598         * device/include/mcs51/c8051f120.h,
45599         * device/include/mcs51/c8051f300.h,
45600         * device/include/mcs51/c8051f310.h,
45601         * device/include/mcs51/c8051f320.h,
45602         * device/include/mcs51/c8051f330.h,
45603         * device/include/mcs51/c8051f350.h,
45604         * device/include/z180.h: Changed SDCC specific keywords to double
45605         underlined form.
45607 2005-03-31 Vangelis Rokas <vrokas AT users.sourceforge.net>
45609         * src/pic16/device.c (Pics16[]): added devices 18F2550, 18F4331,
45610         18F4455,
45611         * (pic16_assignConfigWordValue): disable testing of configuration
45612         register value with config mask,
45613         * src/pic16/gen.c (pic16_testStackOverflow): prefix stack test
45614         function with port->fun_prefix,
45615         * (genFunction): when generating a naked interrupt function never
45616         create an absolute segment placed in interrupt vector address, place
45617         the actual interrupt function at IVA instead, when an interrupt
45618         function is generated with unspecified interrupt then do not create
45619         the absolute section,
45620         * (genGenPointerGet, genGenPointerSet, genPackBits): replace all
45621         code for generating a call to generic pointer get/put function with
45622         a call to function pic16_callGenericPointer(),
45623         * src/pic16/genutils.c (pic16_callGenericPointerRW): NEW, generates
45624         the call to the generic pointer get/put functions with prefixing the
45625         function name with port->fun_prefix,
45626         * src/pic16/glue.c (pic16glue): ifdef-out test of OF_LR_SUPPORT,
45627         * src/pic16/main.c (_process_pragma): prefix function with
45628         port->fun_prefix,
45629         * (_pic16_finaliseOptions): define macro __18Fxxxx macro when
45630         calling assembler, old 18Fxxxx macro is deprecated,
45631         * src/pic16/pcode.c (unlinkpCodeFromBranch): added PC_INLINE and
45632         PC_ASMDIR in while condition,
45633         * (findInstruction): add PC_ASMDIR in while condition,
45634         * (buildCallTree): prefix main with port->fun_prefix,
45635         * (pic16_pCode2str): fixed bug that didn't emit the memory access
45636         identifier for variable with banked access in instructions BTFSS,
45637         BTFSC, BCF, BSF, BTG
45638         * (AnalyzeFlow): moved call to OptimizepCode to pic16_AnalyzeBanking,
45639         * src/pic16/pcodepeep.c (pCodeOpCompare): increase size of b to 1024,
45640         * src/pic16/pcoderegs.c (pic16_pCodeRegoptimizeRegUsage): don't
45641         perform optimization when enviroment variable NO_REG_OPT is set,
45642         * (insideLRBlock): NEW, return 1 if register is inside an
45643         INF_LOCALREGS block,
45644         * (RemoveRegFromLRBlock): remove a register that is completely
45645         eliminated by register optimization, but it is still left in local
45646         register store/restore in/from stack block,
45647         * (Remove2pcodes): after removing register, check to see if it
45648         should be removed from local register store/restore in/from stack
45649         block,
45650         * src/pic16/ralloc.c (pic16_decodeOp): added decode for
45651         DUMMY_READ_VOLATILE,
45653         * device/include/pic16/adc.h: minor prototype modifications and
45654         update,
45655         * device/include/pic16/malloc.h: added GPL notice various
45656         modifications,
45657         * device/include/pic16/stdint.h: NEW, standard header for ints
45658         * device/include/pic16/delay.h: NEW, header for delay functions,
45659         delay10tcy, delay100tcy, delay1ktcy, delay10ktcy, delay100ktcy,
45660         delay1mtcy,
45661         * device/include/pic16/signal.h: NEW, header providing helper macros
45662         for implementing signal handlers,
45663         * device/include/pic16/stdio.h: added prototypes for functions,
45664         printf, vprintf, sprintf, vsprintf, fprintf, vfprintf. Added
45665         prototypes for stdin and stdout, added macro PUTCHAR to
45666         automatically implement putchar function prototype,
45667         * device/include/pic16/usart.h: modified and updated USART library,
45668         * device/lib/pic16/libio/adc/,
45669         * device/lib/pic16/libio/i2c: some modifications to improve library
45670         performance,
45671         * device/lib/pic16/libc/stdio/: modifications for the new printf*
45672         family of functions,
45673         * device/lib/pic16/libc/stdlib/: various modifications in the malloc
45674         family of functions and other sources,
45675         * device/lib/pic16/libio/usart/: NEW, c sources for the usart module
45676         of the PIC18Fxx[28] devices,
45677         * device/lib/pic16/libc/delay/: NEW, c sources for the delay functions,
45678         * device/lib/pic16/libc/utils/: minor modifications in the .S sources,
45679         * device/lib/pic16/startup/{crt0i.c, crt0iz.c}: redesign of the
45680         _do_cinit function, because the previous failed when local variables
45681         where not placed in the same memory bank,
45682         * device/lib/pic16/libsdcc/char/: various modifications to improve
45683         library performance,
45684         * doc/sdccman.lyx: some reorganization of the PIC16 part, added many
45685         information on the new functions of the c library and more...
45687 2005-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45689         * src/SDCCBBlock.c (iCodeBreakDown): fixed bug #1170212
45691 2005-03-26 Raphael Neider <rneider AT web.de>
45693         * src/pic16/gen.c (genSkipc): fixed semantics (execute branch
45694           if condition == CARRY)
45695         * (genCmp): adapted to new genSkipc semantics
45696         * src/pic16/genutils.c (pic6_genCmp_special): removed side effect
45697           on rIfx (genCmp was broken)
45699 2005-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45701         * src/SDCCmain.c (setDefaultOptions, optionsTable[], parseCmdLine),
45702         * src/z80/main.c (_keywords[]),
45703         * src/SDCCglobal.h (struct options),
45704         * src/SDCC.y,
45705         * src/SDCC.lex (isTargetKeyword, doPragma, pragma_tbl[]): new pragmas
45706         to enable/disable SDCC and C99 extensions/keywords (std_c89, std_sdcc89,
45707         std_c99, std_sdcc99). Also, equivalent command line options (--std-c89,
45708         --std-sdcc89, --std-c99, --std-sdcc99). SDCC specific keywords are
45709         always available in leading double underscore form. The C99 support is
45710         mostly missing, but it's a start.
45711         * support/regression/tests/bug-227710.c: fixed nonconforming use of
45712         reserved identifier "__data".
45714 2005-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
45716         * src/mcs51/peeph.def: fixed bug 1170013
45718 2005-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
45720         * device/include/mcs51reg.h: fixed bug 842007
45722 2005-03-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45724         * src/SDCCcflow.c (dfNumCompare): committed the wrong version of this
45725         last time.
45727 2005-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45729         * src/port.h (struct PORT),
45730         * src/avr/ralloc.c (avr_assignRegisters),
45731         * src/avr/main.c,
45732         * src/ds390/ralloc.c (ds390_assignRegisters),
45733         * src/ds390/main.c,
45734         * src/hc08/ralloc.c (hc08_assignRegisters),
45735         * src/hc08/main.c,
45736         * src/mcs51/ralloc.c (mcs51_assignRegisters),
45737         * src/mcs51/main.c,
45738         * src/pic/ralloc.c (pic14_assignRegisters),
45739         * src/pic/main.c,
45740         * src/pic16/ralloc.c (pic16_assignRegisters),
45741         * src/pic16/main.c,
45742         * src/xa51/ralloc.c (xa51_assignRegisters),
45743         * src/xa51/main.c,
45744         * src/z80/ralloc.c (z80_assignRegisters),
45745         * src/z80/ralloc.h,
45746         * src/SDCCopt.c (eBBlockFromiCode, replaceRegEqv, killDeadCode),
45747         * src/SDCCcse.c (ifxOptimize, cseBBlock, cseAllBlocks),
45748         * src/SDCCcse.h,
45749         * src/SDCCdflow.c (computeDataFlow),
45750         * src/SDCCdflow.h,
45751         * src/SDCCloop.c (addDefInExprs, loopInvariants, loopOptimizations),
45752         * src/SDCCloop.h,
45753         * src/SDCCcflow.c (*),
45754         * src/SDCCcflow.h,
45755         * src/SDCCBBlock.c (iCodeBreakDown, dumpEbbsToFileExt, eBBWithEntryLabel),
45756         * src/SDCCBBlock.h (struct ebbIndex): new struct that keeps two copies
45757         of the eBBlock list, sorted by both bbnum and dfnum. (fixes bug with
45758         immedDom() returning wrong block; probably fixes bug #1160833)
45760 2005-03-20 Borut Razem <borut.razem AT siol.net>
45762         * support/scripts/inc2h.pl: WIN32 port
45764 2005-03-19 Maarten Brock <sourceforge.brock AT dse.nl>
45766         * device/lib/makefile.in: added abs.c and labs.c
45768 2005-03-17 Maarten Brock <sourceforge.brock AT dse.nl>
45770         * device/include/stdint.h: added
45771         * device/lib/abs.c: added
45772         * device/lib/labs.c: added
45773         * device/include/stdlib.h: added abs() and labs() prototypes
45774         * device/lib/libsdcc.lib: added abs and labs
45775         * device/include/float.h,
45776         * device/lib/_fsmul.c,
45777         * device/lib/printf_fast.c,
45778         * device/lib/printf_tiny.c: updated comments
45780 2005-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45782         * src/SDCCicode.c (geniCodeSwitch, geniCodeJumpTable): fixed
45783         bug #1164313
45785 2005-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45787         * src/SDCCcse.c (cseBBlock): retain assignment to self when volatile
45788         * src/SDCCast.c (isLoopCountable): fixed bug #1161985
45790 2005-03-15 Maarten Brock <sourceforge.brock AT dse.nl>
45792         * device/lib/printf_large.c: removed inline assembly for portability and
45793           readability. Use printf_fast if speed or size are more important.
45794         * src/pic16/gen.c: removed conditions around use of DEBUGpc
45795         * src/pic16/genutils.h: added define for DEBUGpc for MSVC
45797 2005-03-15 Vangelis Rokas <vrokas AT users.sourceforge.net>
45799         * src/pic16/genutils.c (pic16_genCmp_special): initialized offs to
45800         prevent compiler warning
45802 2005-03-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
45804         * device/lib/pic16/startup/crt0i.c (_cinit): local variables where
45805         moved to level 0 and declared as static. Also they are explicit
45806         placed in access bank. This was necessery because some times they
45807         might cross memory bank boundaries. crt0iz.c is *NOT* updated!!!
45808         * src/pic16/device.h: added flag OPTIMIZE_CMP to enable some compare
45809         optimizations. Currently only compare to unsigned char is implemented,
45810         * src/pic16/gen.c: added fReturnIdx array,
45811         * (struct resolvedIfx) is moved to gen.h and made public,
45812         * (struct _G): added sregsAlloc and sregsAllocSet fields,
45813         * (aopForSym): added an optimization to directly store in stack of
45814         the operand of a SEND iCode,
45815         * (pic16_aopOp): don't return return registers as strings (AOP_STR)
45816         but as registers instead (AOP_REG) using the fReturnIdx array,
45817         * (pic16_freeAsmop): remove the freed register from the
45818         _G.sregsAlloc field,
45819         * (pic16_aopGet): in case AOP_STR, the compare to 'a' is changed to
45820         a compare of 'WREG',
45821         * (pic16_popGetTempRegCond): changed function prototype, now
45822         function takes also a bitVector argument v which holds the current
45823         set of registers that are allocated for stack access by aopForSym,
45824         registers allocated in aopForSym for accessing stack symbols are not
45825         any more part of the functions usedRegs field,
45826         * (genCall): some times aopOp is called for a stack variable to be
45827         send, aopForSym might perform the push, if this is true make sure
45828         that genCall doesn't push the variable twice by testing _G.resDirect,
45829         * (genFunction): changed testing for unspecified interrupt number
45830         from 256 to INTNO_UNSPEC,
45831         * modified selection scheme of frame pointer generation. Previously
45832         if function did use local registers a frame pointer was generated,
45833         now a frame pointer is generated only if function has arguments
45834         (that need PLUSW2 register access), or has stack arguments, or the
45835         compiler is not instructed to omit the frame pointer,
45836         * (genEndFunction): before restoring local registers that were saved
45837         in the function preamble, also restore the registers that *might*
45838         have been allocated for stack access,
45839         * (genRet): removed some old comments,
45840         * (genCmp, the active (RN's) version): added a call to the
45841         pic16_genCmp_special function to perform the compare with a more
45842         robust and optimized way,
45843         * (genInline): a feature has been added in inline code generation,
45844         which allows a wildcard variable substitution when writing inline
45845         assembly. Code is incomplete and experimental therefore undocumented,
45846         * (genCast): changed order of aopOp for result and right to allow
45847         aopForSym to directly load the result if possible,
45848         * src/pic16/genutils.c (selectCompareOp, pic16_genCmp_special): NEW,
45849         perform an optimized compare on some selected special occasions,
45850         * src/pic16/genutils.h: declaration of resolvedIfx structure from gen.c,
45851         * src/pic16/glue.c (pic16createInterrupVect): make sure we never
45852         generate an IVT any more,
45853         * src/pic16/main.c (pic16_optionsTable): added command line option
45854         --optimize-cmp,
45855         * (_pic16_initPaths): when calling C preprocessor define pic18fXXXX
45856         macro too, when calling assembler define pic18fXXXX *and* __18Fxxxx
45857         macros,
45858         * src/pic16/NOTES: Raphael Neider added in list of active developers
45859         * src/pic16/pcode.c (OPT_TYPE_STR): added strings jumptable_begin and
45860         jumptable_end to prevent bug #,
45861         * (pic16_pciADDWFC, ADDFWC, COMF, CLRF): added some missing flags in
45862         inCond and outCond fields,
45863         * src/pic16/pcoderegs.c (pCodeOptime2pCodes): add a fix for bug #,
45864         * src/pic16/ralloc.c (serialRegAssign): explicit set willCS to 0 to
45865         turn off register spilling,
45866         * (packRegsForOneUse): synced with other ports' versions although it
45867         is not used currently,
45868         * (pic16_packRegisters): added an optimization while reading
45869         structure bitfields, some registers may be saved (malloc code is
45870         decreased by 80 bytes)
45872 2005-03-12 Vangelis Rokas <vrokas AT users.sourceforge.net>
45874         * src/SDCCcse.c (cseBBlock): inside 'do operand lookup' loop test if
45875         left is a bitfield, if yes, then don't optimize assignment. Perhaps
45876         this can be optimized more?
45878 2005-03-10 Raphael Neider <rneider AT web.de>
45880         * src/pic16/gen.c (pic16_loadFSR0, genPackBits, genUnpackBits,
45881           genNearPointerGet): (hopefully) fixed access to bitfields via
45882           pointers (p->bitN = x; and x = p->bitN; failed)
45884 2005-03-09 Paul Stoffregen <paul AT pjrc.com>
45886         * device/lib/printf_fast.c: fix leading zero format, eg "%02d"
45888 2005-03-09 Raphael Neider <rneider AT web.de>
45890         * src/SDCCopt.c (killDeadCode): fixed bug #1156016
45892 2005-03-06 Maarten Brock <sourceforge.brock AT dse.nl>
45894         * src/SDCCicode.h: moved CRITICAL and ENDCRITICAL from SKIP_IC2 to SKIP_IC
45895         * src/mcs51/ralloc.c (willCauseSpill): added check for REG_BIT type,
45896           (regTypeNum): set REG_BIT type if necessary
45897         * src/mcs51/ralloc.h: added define REG_BIT, used to fix bug 1144613
45898         * support/regression/tests/critical.c: check bug 1144613
45900 2005-03-02 Raphael Neider <rneider AT web.de>
45902         * src/pic16/gen.c (genRightShiftLiteral): fixed bug #1154256
45904 2005-02-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45906         * src/avr/ralloc.c (serialRegAssign),
45907         * src/ds390/ralloc.c (serialRegAssign),
45908         * src/hc08/ralloc.c (serialRegAssign),
45909         * src/mcs51/ralloc.c (serialRegAssign),
45910         * src/pic/ralloc.c (serialRegAssign),
45911         * src/pic16/ralloc.c (serialRegAssign),
45912         * src/xa51/ralloc.c (serialRegAssign),
45913         * src/z80/ralloc.c (serialRegAssign): fixed bug #1105154
45915 2005-02-22 Maarten Brock <sourceforge.brock AT dse.nl>
45917         * src/SDCCast.c (decorateType): fixed bug 1124787
45919 2005-02-20 Hubert Sack <sack AT digiplan.de>
45920         committed by Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45922         * src/mcs51/peeph.def: added peepholes 3.h-k and 132.a-f from
45923         patch #1121755
45925 2005-02-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45927         * src/SDCCpeeph.def: new keyword "labelRefCountChange" which allows peepholes
45928         to keep the correct label reference count when adding/removing references
45929         to labels. A peephole file using this is appended to patch #1144962.
45931 2005-02-14 Raphael Neider <rneider AT web.de>
45933         * device/lib/pic16/libc/string/memccpy.c: changed 3rd argument to char
45934         * src/SDCC.lex (process_pragma): fixed to make disable_warning work for PIC16
45935         * src/pic16/gen.c (aopForSym, calls to pic16_aopOp): prevent unneccessary
45936           retrievals of result operand's value on assignment
45938 2005-02-13 Vangelis Rokas <vrokas AT otenet.gr>
45940         * device/include/pic16/string.h: modified prototype for memccpy()
45941         to memccpy(void *, void *, char, size_t)
45942         * src/pic16/gen.c (genFunction, genEndFunction): reenable if-case to
45943         check whether to omit frame pointer or not,
45944         * (genInline): convert all occurences of "\n" to LF in inline
45945         assembler blocks, this helps formatting the inline text,
45946         * (pic16_loadFSR0): modified prototype,
45947         * (genNearPointerGet, genNearPointerSet): reorganization of code,
45948         removed some 8051 legacy code,
45949         * (genPackBits): enabled handling bitfields exceeding one byte in size,
45950         * src/pic16/ralloc.c (pic16_assignRegisters): clear dynrIdx variable
45951         before allocating temporary registers in functions,
45953 2005-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
45955         * support/regression/tests/bitvars.c: corrected the "fix"
45957 2005-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
45959         * support/regression/tests/bitvars.c,
45960         * support/regression/tests/bitwise.c,
45961         * support/regression/tests/rotate.c: "fixed" problems on Alpha
45963 2005-02-10 Raphael Neider <rneider AT web.de>
45965         * src/pic16/pcode.c (assignToSameBank) : fixed cast to pointer of
45966           different size for Alpha
45967         * src/pic16/gen.c (genCmpEq) : improved compare with 0
45969 2005-02-09 Raphael Neider <rneider AT web.de>
45971         * src/SDCC.lex(doPragma) : save and restore warning options as well
45972           (also added new stack plus clone- and copyAndFreeSDCCERRG())
45973         * have #pragma less_pedantic set the errorlevel to WARNING
45974           (fixes #1117001)
45975         * (cloneOptimize) : fixed wrong malloc's size
45976         * support/Util/SDCCerr.[ch] : made SDCCERRG globally accessible to
45977           facilitate correct handling of #pragma (save|restore)
45979 2005-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
45981         * src/mcs51/gen.c: removed non-standard C nameless struct/union
45983 2005-02-04 Slade Rich <slade_rich AT users.sourceforge.net>
45985         * src/pic/gen.c : Fix for bugs #1080519 & #1115662.
45987 2005-02-03 Maarten Brock <sourceforge.brock AT dse.nl>
45989         * device/include/mcs51/c8051f120.h: added declarations for sbit port 2,3&4
45991 2005-02-02 Raphael Neider <rneider AT web.de>
45993         * src/SDCCast.c (processParms): disabled W_NONRENT_ARGS for pic16 port
45994         * src/pic16/gen.c (aopForSym): reenabled special case for function pointers
45995         * (pic16_storeForReturn): fixed to allow returning function pointers
45996         * (genPackBits): improved accessing full bytes, implemented for GPOINTERs
45997         * device/include/pic16/{stddef.h,stdbool.h}: added
45999 2005-02-02 Maarten Brock <sourceforge.brock AT dse.nl>
46001         * device/include/mcs51/c8051f040.h: added define CPT2_PAGE
46003 2005-02-01 Slade Rich <slade_rich AT users.sourceforge.net>
46005         * src/pic16/pic16.dsp : Added file graph.c to make it compile under windows
46006         * src/pic16/Makefile.bcc : Do not use this file but added file graph.c as it
46007          appeared to be required
46009 2005-01-31 Borut Razem <borut.razem AT siol.net>
46011         * support/scripts/sdcc.nsi: added include/asm/ds390, include/asm/mcs51,
46012           include/mcs51 and include/z80 directories to the package
46014 2005-01-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46016         * src/hc08/gen.c (genFunction): fixed bug #1112752
46018 2005-01-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46020         * src/mcs51/peeph.def: adapted peephole 258.x to changed gen.c (genAnd)
46022 2005-01-29 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46024         * src/mcs51/gen.c (genAnd): accessing LSB/MSB by rotating acc
46026 2005-01-29 Maarten Brock <sourceforge.brock AT dse.nl>
46028         * device/include/Makefile.in: create/copy mcs51 and z80 include subdirs
46030 2005-01-27 Maarten Brock <sourceforge.brock AT dse.nl>
46032         * device/include/c8051fxxx.h: removed these 6 files
46033         * device/include/mcs51/c8051fxxx.h: added these 11 new files
46035 2005-01-26 Raphael Neider <rneider AT web.de>
46037         * src/pic16/gen.c (genAssign): fixed assignment from longs
46038           in codespace (were cut to three bytes)
46039         * (genDummyRead): implemented (except for CODESPACE...),
46040           fixed bug #1108575
46041         * src/pic16/glue.c (emitStatistics): beautified
46042         * device/lib/pic16/libm/Makefile: added include path
46044 2005-01-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46046         * src/z80/gen.c (aopPut): fixed bug #1103902
46048 2005-01-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46050         * device/lib/expf.c: fixed bug #1095792
46052 2005-01-24 Vangelis Rokas <vrokas AT otenet.gr>
46054         * device/lib/pic16/libm: added Math library sources
46056 2005-01-24 Raphael Neider <rneider AT web.de>
46058         * src/pic16/pcode.h: added second memory operand to pCodeOpReg
46059           to enable upcast to pCodeOpReg2 (there is no type tag to
46060           differenciate the two and pic16_popGet2p cast into PCOR2)
46061         * src/pic16/main.c (_process_pragma): fixed another malloc bug
46062           (sizeof(sectNames) changed to sizeof(sectName))
46063           Both patches fix segfaults under MinGW.
46065 2005-01-23 Raphael Neider <rneider AT web.de>
46067         * src/pic16/{device.c,pcode.c}: s/free/Safe_free/g for
46068           Safe_[mc]?alloc()'ed variables
46069         * src/pic16/gen.c (pic16_aopOp,pic16_popGet): added handling
46070           of (byte sized) temporaries (assign them to WREG for now)
46071         * src/pic16/main.c (_process_pragma): fixed nasty malloc bug
46072           (used sizeof(set *sectSyms) instead of sizeof(struct sectSym)),
46073           this might fix SIGSEGVs on MinGW...
46074         * src/SDCCopt.c (killDeadCode): restored original behaviour
46075           (volatile operands might get thrown away though)
46077 2005-01-23 Vangelis Rokas <vrokas AT otenet.gr>
46079         * src/pic16/gen.c: fixed bug #1106975,
46080         * src/pic16/gen.c: fixed possible bug #1102572, now during TOS
46081         pointer update, INTCON is saved, global interrupts are disabled and
46082         restored after updateing TOS.
46083         * src/SDCC.y, src/SDCC.lex, src/SDCCsymt.c, src/SDCCsymt.h:
46084         * added function attribute 'shadowregs' to take advantage of shadow
46085         registers,
46086         * added function attribute 'wparam' as an alternative to the wparam
46087         pragma,
46088         * support/Utils/SDCCerr.[ch]: added error E_SHADOWREGS_NO_ISR when
46089         user declares a non-ISR function as 'shadowregs',
46090         * doc/sdccman.lyx: updated to reflect recent changes of pic16 port
46092 2005-01-22 Vangelis Rokas <vrokas AT otenet.gr>
46094         * .version: bumped version number to 2.4.8
46095         * device/lib/pic16/pics.all: list of PIC18F devices supported by
46096         pic16 port,
46097         * device/lib/pic16/libio/i2c/: I2C module support library,
46098         * device/include/pic16/i2c.h: I2C support library header,
46099         * device/lib/pic16/libc/stdio/: standard IO support sources,
46100         * (printf_small.c): printf_small() source, supports float print,
46101         * (printf_tiny.c): printf_tiny() source, does not support floats,
46102         * device/lib/pic16/Makefile.common.in: added OPT_FLAGS macro to
46103         enable global optimizations for entire library source, other
46104         Makefiles in the source tree are also modified to reflect this,
46105         * device/lib/pic16/libc/stdlib/putchar.c (putchar): dummy putchar()
46106         function,
46107         * doc/sdccman.lyx: updated to reflect new changes,
46108         * src/pic16/gen.c (aopForSym): don't handle sym->iaccess in
46109         sym->onStack if-case,
46110         * src/pic16/main.c (_pic16_keywords): commented out keywords bit,
46111         sbit, idata, _idata, xdata, _xdata,
46112         * added pragma library, to link an external library, (see doc),
46113         * removed command line options, --pomit-config-words, --pomit-ivt,
46114         --pleave-reset-vector,
46115         * (pic16_finaliseOptions): when define macro SDCC_MODEL_{SMALL/LARGE}
46116         when calling assembler to reflect memory model used, also define
46117         macro STACK_MODEL_{SMALL/LARGE} when compiling and assembling to
46118         reflect stack model used,
46119         * src/pic16/ralloc.c (pic16_allocDirReg): when operand is allocated
46120         on stack return NULL,
46122 2005-01-22 Daniel Winkler <post AT danielwinkler.de>
46124         * src/SDCCopt.c (killDeadCode): do not throw iCodes away if one
46125           of the operands is volatile. Fixes #1020220
46127 2005-01-22 Daniel Winkler <post AT danielwinkler.de>
46129         * src/pic16/pcoderegs.c (pCodeOptime2pCodes): reenabled optimization
46130         * (OptimizeRegUsage): make sure that there is really no other flow where
46131           the first pCode is used
46133 2005-01-22 Raphael Neider <rneider AT web.de>
46135         * src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization
46136           to fix #1106967 (pCode->seq are not set up correctly)
46138 2005-01-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46140         * src/SDCCglue.c (glue): make sure code area is declared before the
46141         static initialization area.
46143 2005-01-21 Raphael Neider <rneider AT web.de>
46145         * device/lib/Makefile.in: fixed test for pic16 install dir
46146         * device/lib/pic16/*/Makefile*: modified compile flags to enable
46147           optimizations
46148         * doc/sdccman.lyx: updated banksel optimization, removed --flr-support and
46149           added --optimize-goto compiler switch and pragma wparam documentation
46150         * src/pic16/pcode.c (pic16_OptimizeBanksel): removed statistics dump
46151         * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed copying of WREG, PRODL
46152           and PRODH closing bug #1071770 (peephole optimizer)
46154 2005-01-19 Raphael Neider <rneider AT web.de>
46156         * src/SDCCglobl.h: ensure that PATH_MAX >= 2048 to guarantee
46157           cmdLine buffers (used when calling sdcpp...) are large enough
46158           (MAX_PATH=256 truncates arguments leading to system halts when
46159           used in MinGW...)
46160         * src/pic16/gen.c (pic16_sameRegs): relaxed size criterion
46161         * (genUminus): rewritten to for efficiency
46162         * (genNearPointer[GS]et): enforce reloading of FSR0 (was still
46163           used uninitialized in some cases)
46164         * (genCast): upcasting a 16bit int to a 24bit GPOINTER may not
46165           copy the third byte from the int -- now assumes 0x80 (data memory)
46166         * src/pic16/genarith.c (pic16_genPlus): fixed bug when swapping
46167           operands (genAddLit expects the iCode's operands to swapped as
46168           well), fixed leftover bytes (crashed for short left operands)
46169         * (pic16_genMinusDec): performance improvements, removed false
46170           PIC14 emitSKPNCs
46171         * (pic16_genMinus): fixed to cope with differently sized operands
46172         * src/pic16/glue.c (pic16_glue): added new banksel optimization
46173           for --obanksel > 1
46174         * src/pic16/pcode.c: implemented (first phase of) banksel optimization
46175         * src/pic16/graph.[ch]: implementation of directed graphs, used by
46176           new banksel optimization
46177         * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): prevented
46178           analysis for temporary registers (segfaults...)
46179         * src/pic16/peeph.def: added rule
46181 2005-01-18 Vangelis Rokas <vrokas AT otenet.gr>
46183         * device/lib/pic16/libc/stdlib/x_ftoa.c: it defines x_ftoa function
46184         which converts a float number to its ASCII representation
46185         * device/lib/pic16/libc/utils/cnvfrac.S,cnvint.S: support
46186         functions to convert the fractional and integer part of a float to ASCII,
46187         * device/lib/pic16/libc/stdlib/(calloc.c,free.c, malloc.c,
46188         realloc.c): added _MALLOC_SPEC to explicit place variables in data
46189         ram
46190         * device/include/asm/pic16/features.h: added _CODE, _DATA, _AUTOMEM,
46191         _STATMEM macros,
46192         * device/include/pic16/adc.h: added GPL info,
46193         * src/pic16/gen.c (genIfxpCOpJump): perform an genIfxJump but using
46194         a pCodeOp as tested operand,
46195         * (genNearPointerGet): optimized bit testing, does not use
46196         intermediate register for bit value, test directly instead with
46197         BTFSS, BTFSC, works only for single bits,
46198         * (genpic16Code): dump the name of the iCode in the asm,
46199         * src/pic16/ralloc.c (decodeOp): removed static declaration and
46200         renamed to pic16_decodeOp,
46201         * (serialRegAssign): do not allocate a temporary register for iCode
46202         sequences that test a single bit for 1/0
46204 2005-01-12 Vangelis Rokas <vrokas AT otenet.gr>
46206         * src/pic16/pcode.[ch]: introduced pic16_stackpnt_*,
46207         pic16_framepnt_*, pic16_stack_*, pic1_frame_* pointer variables to
46208         access stack and frame pointers. They are initially assigned to
46209         point at pic16_pc_fsr1[lh] and pic16_pc_fsr2[lh] variables and other
46210         accessing SFRs. Updated all occurences of modification of stack or
46211         frame pointer in gen.c and pcode.c,
46212         * src/pic16/ralloc.c (serialRegAssign): fixed two bugs with
46213         assigning of a literal value to pointers,
46214         * src/pic16/main.c (pic16_finiliseOptions): set pre-processor define
46215         flag STACK_MODEL_SMALL or STACK_MODEL_LARGE according to the model
46216         selected
46218 2005-01-11 Vangelis Rokas <vrokas AT otenet.gr>
46220         * doc/sdccman.lyx: update documentation about stack pragma, added
46221         some info for stack memory models
46223 2005-01-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
46225         * src/pic16/gen.c (DEBUGpc): MSVC 6 does not support macro variable arguments
46227 2005-01-08 Raphael Neider <rneider AT web.de>
46229         * src/pic16/device.c (pic16_dump_usection): changed naming scheme for
46230           udata sections to fix bug #1097823
46232 2005-01-05 Raphael Neider <rneider AT web.de>
46234         * src/pic16/gen.c (genGenericShift): added handling of differently
46235           sized left operand and result
46237 2005-01-04 Raphael Neider <rneider AT web.de>
46239         * src/pic16/gen.c (genIfxJump): fixed inverted skips on CARRY
46240         * (genIfx): fixed (?) read from uninitialized SPIL_LOC (now assumes CARRY
46241           to hold the condition bit)
46242         * added new version of genCmp (old code available via #define)
46243         * added new version of genShiftLeft/genShiftRight in a generic
46244           way, now supports shifting by negative values
46245         * (genLeftShiftLiteral, genRightShiftLiteral): use absolute value of
46246           shiftCount (expected by genGenericShift)
46247         * src/pic16/genarith.c (genPlus): added code for adding CARRY+literal
46248         * src/pic16/pcode.c (pic16_OptimizeJumps): removed annoying statistics
46249           dump
46250         * (pic16_newpCodeOpLit): changed to cast to unsigned char (as e.g. -32766
46251           is an invalid literal too...)
46253 2005-01-04 Vangelis Rokas <vrokas AT otenet.gr>
46255         * src/pic16/gen.c (aopForSym, genEndFunction): applied some fixes
46256         from Raphael Neider,
46257         * src/pic16/pcode.c (pic16_newpCodeOpLit): removed casting to char
46258         for 8-bit literals. This fixes some literal operands which are sign
46259         extended to 16-bits ints when instruction needs only 8-bits.
46261 2004-12-31 Paul Stoffregen <paul AT pjrc.com>
46263         * device/lib/logf.c: added mcs51 assembly version
46264         * device/lib/expf.c: added mcs51 assembly version
46265         * device/lib/_logexpf.c: new shared asm code for expf and logf
46266         * device/include/math.h: add defines for assembly math library
46267         * device/lib/Makefile.in: build new _logexpf.c
46268         * device/lib/libfloat.lib: use new _logexpf.c
46270 2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
46272         * src/pic/device.c
46273         * src/pic/pcode.c : adjusted internal stack and pre-allocated registers for
46274           device types which have less than 0x7f registers.
46276 2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
46278         * src/pic/genarith.c : Fixed problem with subtraction where the result would not be updated when borrowing.
46280 2004-12-28 Paul Stoffregen <paul AT pjrc.com>
46282         * device/lib/printf_fast.c: only build on supported arch.
46283         * device/lib/printf_tiny.c: only build on supported arch.
46284         * device/lib/printf_fast_f.c: only build if asm float lib
46285         * device/lib/_fsget1arg.c: only build if asm float lib
46286         * device/lib/_fsget2args.c: only build if asm float lib
46287         * device/lib/_fsnormalize.c: only build if asm float lib
46288         * device/lib/_fsreturnval.c: only build if asm float lib
46289         * device/lib/_fsrshift.c: only build if asm float lib
46290         * device/lib/_fsswapargs.c: only build if asm float lib
46291         * device/include/stdio.h: don't provide print_fast,
46292           print_fast_f, print_tiny prototypes if --xstack used
46294 2004-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
46296         * device/lib/sincosf.c (sincosf): don't invert bit/bool by ~
46297         * support/regression/ports/mcs51-stack-auto/spec.mk: added new _fs.. files
46298           to the SOURCES
46300 2004-12-28 Paul Stoffregen <paul AT pjrc.com>
46302         * device/lib/printf_fast_f.c: same as printf_fast, but
46303           with floating point enabled
46304         * device/lib/printf_fast.c: minor tweaks
46305         * device/include/stdio.h: add printf_fast_f
46307 2004-12-27 Paul Stoffregen <paul AT pjrc.com>
46309         * src/SDCCmain.c: make --float-reent default for mcs51
46310         * device/lib/_fsadd.c: added mcs51 assembly version
46311         * device/lib/_fssub.c: added mcs51 assembly version
46312         * device/lib/_fsmul.c: added mcs51 assembly version
46313         * device/lib/_fsdiv.c: added mcs51 assembly version
46314         * device/lib/_fseq.c: added mcs51 assembly version
46315         * device/lib/_fsneq.c: added mcs51 assembly version
46316         * device/lib/_fsgt.c: added mcs51 assembly version
46317         * device/lib/_fslt.c: added mcs51 assembly version
46318         * device/lib/_fscmp.c: shared code for fseq,fsgt,fslt,fsneq
46319         * device/lib/Makefile.in: add _fscmp to build
46320         * device/lib/libfloat.lib: add _fscmp to build
46322 2004-12-27 Paul Stoffregen <paul AT pjrc.com>
46324         * device/lib/_fs2slong.c: added mcs51 assembly version
46325         * device/lib/_fs2sint.c: added mcs51 assembly version
46326         * device/lib/_fs2schar.c: added mcs51 assembly version
46327         * device/lib/_fs2ulong.c: added mcs51 assembly version
46328         * device/lib/_fs2uint.c: added mcs51 assembly version
46329         * device/lib/_fs2uchar.c: added mcs51 assembly version
46330         * device/lib/_slong2fs.c: added mcs51 assembly version
46331         * device/lib/_sint2fs.c: added mcs51 assembly version
46332         * device/lib/_schar2fs.c: added mcs51 assembly version
46333         * device/lib/_ulong2fs.c: added mcs51 assembly version
46334         * device/lib/_uint2fs.c: added mcs51 assembly version
46335         * device/lib/_uchar2fs.c: added mcs51 assembly version
46336         * device/include/float.h: added #define to select asm vs c
46338 2004-12-26 Paul Stoffregen <paul AT pjrc.com>
46340         * device/lib/printf_fast.c: improvements to float output
46341         * device/include/float.h: add defines for assembly float library
46342         * device/lib/_fsget1arg.c: receive 1 float arg
46343         * device/lib/_fsget2args.c: receive 2 float args (reentrant)
46344         * device/lib/_fsnormalize.c: normalize a float
46345         * device/lib/_fsreturnval.c: return float, various helper routines
46346         * device/lib/_fsrshift.c: right shift a float's mantissa
46347         * device/lib/_fsswapargs.c: swap 2 floats
46348         * device/lib/Makefile.in: build these 6 new files for mcs51
46349         * device/lib/libfloat.lib: add these 6 files to the library
46351 2004-12-26 Borut Razem <borut.razem AT siol.net>
46353         * sim/ucsim/avr.src/arith_inst.cc: fixed bug #1088372- savr is not
46354           built by gcc 3.4.2
46356 2004-12-25 Paul Stoffregen <paul AT pjrc.com>
46358         * device/lib/printf_tiny.c: printf for mcs51 in only 267 bytes,
46359           and fully reentrant and register bank neutral.
46360         * device/lib/printf_fast.c: added float (not enabled by default),
46361           added compact/slower integer (also not enabled by default),
46362           improved size/speed of fast integer code, other minor changes
46363         * device/include/stdio.h, device/lib/Makefile.in,
46364           device/lib/libsdcc.lib: integrate printf_tiny into mcs51 build
46366 2004-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
46368         * src/pic16/pcode.c: declaring variables other than at the start of a
46369           block is not supported in C by VC6.
46371 2004-12-22 Vangelis Rokas <vrokas AT otenet.gr>
46373         * applied a previous patch from Raphael Neider that wasn't included
46374         in the previous commits, which fixes infinite loops within jumptable
46375         improvements,
46376         * made some fixes that previous patches introduced
46378 2004-12-21 Vangelis Rokas <vrokas AT otenet.gr>
46380         * src/pic16/gen.c (pic16_aopGet): applied fix from Raphael Neider
46381         that fixes an issue with AOP_PCODE asmop's offset,
46382         * (pic16_popCopyReg): update instance field too,
46383         * (mov2w): modified to pic16_mov2w because it conflicts with mov2w
46384         function of pic port,
46385         * (genCmp, genAnd, genAssign),
46386         * src/pic16/genarith.c (genAddLit): some fixes from Raphael Neider,
46388 2004-12-20 Vangelis Rokas <vrokas AT otenet.gr>
46390         * src/SDCCast.c (gatherAutoInit): allow pic16 to emit static
46391         variables initial values to idata section,
46392         * src/SDCCicode.c (geniCodeCall): patch from ### to fix unreferenced
46393         variables in some functions. This utilizes parmBytes field of iCode
46394         structure to hold the offset of the variable in stack. (might be
46395         able to use the stack field too?)
46396         * applied patch from Raphael Neider # ### , # ###
46397         * src/pic16/glue.c (pic16emitRegularMap): fix to print static
46398         variable initial values in idata section,
46399         * src/pic16/ralloc.c (pic16_allocDirReg): don't allocate register
46400         for static variables with initial value
46401         * src/device/lib/pic16/libsdcc/float/ulong2fs.c (__ulong2fs):
46402         applied fix in while loop from Raphael Neider.
46404 2004-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
46406         * src/ds390/gen.c (genCpl): fixed bit=~(char/bit) bugs, added warning
46407         * src/ds390/main.c (_ds390_regparm): don't pass bit params in registers
46408         * src/ds390/ralloc.c (serialRegAssign): spill bits
46409         * src/mcs51/gen.c (genCpl): fixed bit=~(char) bugs, added warning
46410         * support/Util/SDCCerr.c,
46411         * support/Util/SDCCerr.h: added warning W_COMPLEMENT for using bit=~(bit)
46412         * support/regression/tests/bitvars.c: added tests for bitwise complement(~)
46413         * support/regression/tests/bitwise.c: added test for bitwise complement(~)
46415 2004-12-09 Maarten Brock <sourceforge.brock AT dse.nl>
46417         * device/include/sdcc-lib.h: inserted LGPL, added includes
46418           asm/ds390/features.h and asm/mcs51/features.h
46419         * device/include/asm/default/features.h,
46420         * device/include/asm/gbz80/features.h,
46421         * device/include/asm/z80/features.h: added empty _AUTOMEM
46422           and _STATMEM
46423         * device/include/asm/ds390/features.h,
46424         * device/include/asm/mcs51/features.h: added files with defines for
46425           _AUTOMEM and _STATMEM indicating automatic and static storage class
46426         * device/lib/printf_large.c (_print_format): optimized & used _AUTOMEM
46427         * doc/sdccman.lyx: version 2.4.7, updated xstack documentation
46428         * src/SDCCicode.c (geniCodeCast),
46429         * src/SDCCsymt.c (compareType): allow cast of data-ptr to idata-ptr
46430         * src/SDCCloop.c (loopInduction): removed unused variable lr
46431         * src/SDCCopt.c (convilong, convertToFcall): moved "easy special case"
46432           to convertToFcall to include char modulo (RFE 1065037), added check
46433           if left operand is unsigned and use abs of literal value
46434         * src/SDCCpeeph.c (setFromConditionArgs): removed double quotes option
46435           as it doesn't work after conversion from peephole.def to peephole.rul
46436         * src/mcs51/gen.c (toBoolean): added check for size,
46437           (genModOneByte): optimized code for signed char modulo a literal
46438           power of 2 (thanks to Hubert Sack),
46439           (genRRC): removed unnecessary "clr c",
46440           (genRLC): replaced "add a,acc" with cheaper "rlc a"
46441         * src/mcs51/peeph.def: renamed 115 to 115.a, added rule 115.b: another
46442           jump optimization,
46443           swapped rules 256.c and 256.d,
46444           extended 256.d by using new multiple checks (thanks Erik),
46445           added rules 256.e and 256.f,
46446           updated rule 261.a and 261.b to new generated code
46447         * support/regression/tests/muldiv.c: added test div/mod by a power of 2
46449 2004-12-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46451         * src/SDCCloop.c (basicInduction, loopInduction): fixed several
46452           induction related bugs, including first part of bug #1074377
46454 2004-12-05 Vangelis Rokas <vrokas AT otenet.gr>
46456         * applied patch from bug-report #1076292,
46457         * applied patches for genAnd and Goto-optimizations for Raphael
46458         Neider,
46459         * src/SDCCicode.c (printOperand): fixed !REGA source to compile and
46460         dump a less iCode information,
46461         * src/pic16/device.h (pic16_options_t): added field debgen,
46462         * src/pic16/gen.h: added macros DUMP_FUNCTION_ENTRY,
46463         DUMP_FUNCTION_EXIT, FENTRY, FENTRY2,
46464         * src/pic16/gen.c (my_powof2): renamed to pic16_my_powof2 and made
46465         puclic,
46466         * (various functions): added macros FENTRY and FENTRY2 to functions,
46467         to emit function prologue,
46468         * (various functions): fixed indentation,
46469         * (genNearPointerGet): fixed loading of FSR0,
46470         * (genPackBits): applied patch from Raphael Neider to fix updating
46471         of FSR0 and touching only the modified bits,
46472         * src/pic16/genarith.c (various functions): added macros FENTRY to
46473         emit function prologue in comments,
46474         * src/pic16/pcode.h: added functions debugf2, debugf3,
46475         * src/pic16/ralloc.c: partial fix for packForPush caused
46476         segmentation fault,
46478 2004-12-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46480         * src/mcs51/peeph.def: added 261.a,b (16 bit rotate) by Stas Sergeev
46481           <stsp AT users.sourceforge.net> with reversed byte order
46482         * support/regression/tests/rotate.c: added (ds390 skips some tests)
46484 2004-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46486         * src/z80/gen.c (genLeftShift, genRightShift): fixed second part of
46487           bug #1074377
46488         * src/hc08/gen.c (genrshFour, shiftRLong, shiftLLong),
46489         * src/mcs51/gen.c (shiftLLong): Fixed some shifting bugs Frieder found
46491 2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
46493         * src/pic/pcode.c : fixed a problem where banksel was not being inserted.
46495 2004-12-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46497         * src/SDCCpeeph.c (callFuncByName): support combined peephole rule
46498           conditions,
46499           (setFromConditionArgs): friendly operand parser for peephole rules,
46500           (operandBaseName, operandsNotRelated): new peephole condition
46501           "operandsNotRelated" -- similar to "operandsNotSame", but takes
46502           architecture specific register naming into account, handles n-way
46503           comparisons, and supports quoted literals
46504         * src/mcs51/peeph.def: restored rule 177.d with an extra condition
46506 2004-12-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46508         * src/mcs51/peeph.def: fixed bug #1076940
46510 2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
46512         * device/include/pic/pic16f877.h : added an include file for the PIC16F877 device.
46514 2004-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46516         Adding support for replacing ljmps with sjmps in jumptables
46517         generated for switch statements. For now you need to set the
46518         environment variable SDCC_SJMP_JUMPTABLE to enable this.
46519         Now 4 algorithms for mcs51 jumptable generation are used:
46520         ljmp or sjmp jumptables for up to 16 cases, stack-pushing target
46521         addresses loaded pc-relative for up to 112 cases and stack-pushing
46522         target addresses loaded with offset from dptr for up to 256 cases.
46524         * src/SDCCpeeph.c: added peephole conditional labelJTInRange
46525         * src/mcs51/main.c: adapted constants for switch table generation
46526         * src/mcs51/peeph.def: added 260.x for replacing ljmp with sjmp
46528 2004-11-26 Maarten Brock <sourceforge.brock AT dse.nl>
46530         * device/lib/printf_large.c (_print_format): fixed bug 1073386
46531         * support/regression/tests/bug1057979.c: added test for bug 1073386
46533 2004-11-25 Vangelis Rokas <vrokas AT otenet.gr>
46535         * src/pic16/pcode.c: fixed bug which may produce error in non-GNU
46536         compilers
46538 2004-11-25 Vangelis Rokas <vrokas AT otenet.gr>
46540         * src/pic16/device.h,
46541         * src/pic16/genarith.c,
46542         * src/pic16/glue.c,
46543         * src/pic16/main.c,
46544         * src/pic16/pcode.c: applied patches #1068154 and #1070213
46546 2004-11-24 Vangelis Rokas <vrokas AT otenet.gr>
46548         Large cummulative patch for pic16 port.
46549         * device/lib/pic16/gstack.h: NEW, user can specify its own handler
46550         to call when a stack overflow occurs,
46551         * (malloc.h): added CVS Id tag,
46552         * (pic18f{242,252,442,452}.h): added T0CONbits structure and
46553         variable,
46554         * added libc directory. The current version of LibC contains string
46555         functions, ctype functions and macros and some functions of the
46556         stdlib set (like malloc/free/atof/atoi etc...). All functions are to
46557         be extensively tested in the future. Standard disclaimer here.
46558         Library is not automatically build yet. But one can build it by
46559         invoking 'make' inside the libc directory.
46560         * added ADC library under libio. Preliminary version yet.
46562         * src/pic16/gen.h: added emitTOGC macro, to toggle Carry flag,
46563         * src/pic16/gen.c (aopForRemat): asmop size is filled by
46564         aopForRemat() now and not by pic16_aopOp(),
46565         * (pic16_popGetTempReg): removed warning messgae when allocating
46566         temporary registers, its a buggy feature and will be removed,
46567         * (pic16_popGet): set register instance field in AOP_CRY,
46568         * (pic16_outBitC): fixed for results in size greater than 1,
46569         * (genUminusFloat): fixed for pic16, ported code from mcs51,
46570         * (pic16_storeForReturn): optimized return of 0,
46571         * (genCmp): experimental code for new genCmp which uses PIC18's
46572         special compare&skip instructions. Initial tests fail some times
46573         with variables grater than 1 byte in size, so new code is disabled,
46574         * (genUnpackBits, genPackBits): more optimizations in reading/writing,
46575         a single bit,
46576         * (genCast): began a fix to optimize the casting of a bit to another
46577         bit, now assigning a bitfield to another bitfield will fail, sorry,
46578         * src/pic16/main.c: disabled the use of lr-support feature,
46579         * src/pic16/pcode.h: renamed PCASMDIR to PCAD,
46580         * added some function prototypes, added function _debugf prototype,
46581         * src/pic16/pcode.c: (pic16_get_op): fixed emitting operands of register
46582         bits with offset (case PO_GPR_BIT),
46583         * (genericPrint): don't emit INFO pcode when --pcode-verbose not in
46584         command line,
46585         * (isBankInstruction): modified to return 0 for no banking instruction,
46586         and 1 for banking instruction,
46587         * (pic16_isPCinFlow): check for PCAD (assembler directives) too,
46588         caused stop processing pCodes after a inline assembly block,
46589         * (pic16_popCopyGPR2Bit): updated to match bitfields with offset,
46590         * src/pic16/pcoderegs.c: fixed a bug with eliminating some temporary
46591         registers when it shouldn't,
46592         * src/pic16/ralloc.c (allocReg): add preliminary support for
46593         supporting a limited set of temporary registers,
46595 2004-11-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46597         * src/hc08/gen.c (genAssign, genPointerGetSetOfs, genDataPointerGet,
46598           genDataPointerSet): ensure assignments always copy in MSB to LSB
46599           order,
46600           (loadRegFromAop): recognize CLRH optimization,
46601           (genFunction): optimize RECEIVE iCodes in reentrant functions
46603 2004-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46605         * src/SDCCmain.c (parseCmdLine, optionsTable[]): fixed bug with
46606           --out-fmt-s19 turning into --out-fmt-elf if s19 was already
46607           selected.
46608         * src/SDCCmain.c (linkEdit): don't define SSEG for HC08
46609         * src/hc08/main.c (_hc08_setDefaultOptions): default xdata to be
46610           contiguous with data
46612 2004-11-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46614         * device/lib/_gptrget.c (_gptrget),
46615         * device/lib/_gptrgetc.c (_gptrgetc),
46616         * device/lib/_gptrput.c (_gptrput): _naked allows to use ret
46617           instead of sjmp to ret
46618         * src/mcs51/peeph.def: added peepholes 3.d-g and 177.g,h provided
46619           by Hubert Sack <hsack2002 AT arcor.de> in RFE #1067986, thanks
46621 2004-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
46623         * .version: bumped version to 2.4.7
46624         * device/lib/_gptrget.c (_gptrget): is now _naked
46625         * device/lib/_gptrgetc.c (_gptrgetc): is now _naked
46626         * device/lib/_gptrput.c (_gptrput): is now _naked
46627         * src/SDCCast.c (createBlock): removed ridiculous self-assignment,
46628           (createFunction): fixed xstack
46629         * src/SDCCglue.c (emitMaps): set allocation required for bit area
46630         * src/SDCCicode.c (geniCodeCast): don't change SPEC_OCLS for literal
46631           or bit either,
46632           (geniCodeCritical): store original interrupt state in an iTemp bit
46633           var unless stack-auto
46634         * src/SDCCicode.h: added CRITICAL and ENDCRITICAL to SKIP_IC2
46635         * src/SDCCmain.c (setIncludePath): added include/target to search path
46636         * src/SDCCmem.c (allocParms): store bit vars in bit space, not overlay
46637         * src/SDCCsymt.c (checkFunction): don't check regbank for isr's against
46638           prototype,
46639           (processFuncArgs): put bit vars in bit area
46640         * src/mcs51/gen.c (saveRegisters, unsaveRegisters, genXpush, saveRBank,
46641           unsaveRBank): fixed xstack,
46642           (genFunction): bugfix: replaced (global!) reentrant with fReentrant,
46643           (genFunction, genEndFunction): fixed xstack,
46644           (genAssign): optimization don't walk backwards through mem
46645         * src/mcs51/main.c (_mcs51_regparm): don't pass bit params in registers
46646         * src/mcs51/ralloc.c (createStackSpil): spill bits to bit area
46647         * support/regression/Makefile: also make library (for stack-auto) when
46648           making "all" and added "test-mcs51-xstack-auto"
46649         * support/regression/fwk/lib/testfwk.c: added T2_isr prototype for mcs51
46650         * support/regression/ports/mcs51/T2_isr.c: added this file as a stub
46651         * support/regression/ports/mcs51/fwk.lib: added to link T2_isr stub
46652         * support/regression/ports/mcs51/spec.mk: added rules for fwk.lib
46653         * support/regression/ports/mcs51-stack-auto/spec.mk: replaced
46654           make-library by MAKE_LIBRARY
46655         * support/regression/ports/mcs51-xstack-auto/spec.mk: file added to run
46656           regression tests for xstack
46657         * support/regression/tests/bitvars.c: test for bit vars (bug 938782)
46658         * support/regression/tests/critical.c: test for critical on mcs51
46660 2004-11-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46662         * support/regression/ports/ucz80/spec.mk: use include and lib files from
46663           built version of sdcc instead of installed version
46665 2004-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
46667         * src/mcs51/gen.c (toBoolean): fixed bug 1065458
46668         * device/lib/Makefile.in: z80 uses printf_large.c, sprintf.c and
46669           vprintf.c now
46670         * device/lib/printf_large.c (calculate_digit): fixed bug 1057979
46671         * device/lib/z80/Makefile: don't use printf.c as it fails bug 1057979
46672           WARNING: remove device/lib/build/z80/printf.o by hand when
46673           updating from previous build!
46674         * device/lib/z80/printf.c: updated comment
46675         * support/regression/tests/bug1057979.c: test all ports now
46676         * support/regression/tests/bug1065458.c: file added
46678 2004-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46680         * src/z80/gen.c (genFunction, genEndFunction): avoided generating
46681           *_start and *_end symbols for static functions
46683 2004-11-11 Maarten Brock <sourceforge.brock AT dse.nl>
46685         * src/SDCCmain.c (linkEdit): don't suppress crt0 if --nostdlib is used
46686           and search crt0.o in all library paths,
46687           (setIncludePath): proper handling of --nostdinc,
46688           (setLibPath): proper handling of --nostdlib
46689         * support/regression/Makefile,
46690         * support/regression/ports/ds390/spec.mk,
46691         * support/regression/ports/gbz80/spec.mk,
46692         * support/regression/ports/hc08/spec.mk,
46693         * support/regression/ports/mcs51/spec.mk,
46694         * support/regression/ports/mcs51-large/spec.mk,
46695         * support/regression/ports/mcs51-stack-auto/spec.mk,
46696         * support/regression/ports/z80/spec.mk: use include and lib files from
46697           built version of sdcc instead of installed version
46698         * doc/sdccman.lyx: fixed typo in --nostdinc
46700 2004-11-10 Slade Rich <slade_rich AT users.sourceforge.net>
46702         * src/pic/pcode.c,
46703         * src/pic/device.c,
46704         * src/pic/ralloc.c,
46705         * src/pic/gen.c : added support to generate code for struct bit fields.
46707 2004-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
46709         * as/xa51/xa_version.h,
46710         * device/include/errno.h,
46711         * device/include/regc515c.h,
46712         * device/lib/_itoa.c,
46713         * device/lib/_ltoa.c,
46714         * device/lib/ser_ir_cts_rts.c,
46715         * sim/ucsim/xa.src/glob.cc,
46716         * sim/ucsim/xa.src/inst_gen.cc,
46717         * sim/ucsim/xa.src/xa_bit.cc,
46718         * sim/ucsim/xa.src/xa_sfr.cc,
46719         * sim/ucsim/z80.src/inst_dd.cc,
46720         * sim/ucsim/z80.src/inst_fdcb.cc,
46721         * support/scripts/keil2sdcc.pl,
46722         * src/pic16/pic16.dsp,
46723         * src/pic16/pic16a.dsp: corrected cvs line endings
46724         * device/lib/printf_large.c: fixed bug 1057979
46725         * src/pic16/gen.c: fixed non-C standard code
46726         * src/SDCCmain.c: made --pack-iram default, added --no-pack-iram
46727         * src/SDCCglobl.h: changed pack_iram to no_pack_iram
46728         * support/regression/ports/mcs51/support.c: reload T1 asap
46729         * doc/sdccman.lyx: updated for options --pack-iram and --no-pack-iram,
46730           pdata use and clear idata startup behaviour
46731         * support/regression/tests/bug1057979.c: added
46733 2004-11-04 Maarten Brock <sourceforge.brock AT dse.nl>
46735         * device/examples/ds390/ow390/ad26.h,
46736         * device/examples/ds390/ow390/cnt1d.h,
46737         * device/examples/ds390/ow390/crcutil.c,
46738         * device/examples/ds390/ow390/ownet.h,
46739         * device/examples/ds390/ow390/owsesu.c,
46740         * device/examples/ds390/ow390/swt12.h,
46741         * device/examples/ds390/ow390/swtoper.c,
46742         * device/examples/ds390/ow390/temp10.h,
46743         * device/examples/ds390/ow390/thermodl.c,
46744         * device/examples/ds390/tinitalk/tinitalk.dsp,
46745         * device/examples/ds390/tinitalk/tinitalk.dsw,
46746         * device/examples/mcs51/clock/hw.h,
46747         * device/examples/mcs51/simple2/go.bat,
46748         * device/examples/serialcomm/windows/serial.h,
46749         * device/examples/xa51/dummy.c,
46750         * device/examples/xa51/hello.c,
46751         * device/include/80c51xa.h,
46752         * device/include/at89x051.h: corrected cvs line endings
46754 2004-11-04 Vangelis Rokas <vrokas AT otenet.gr>
46756         * src/pic16/main.c (options): added command line --gstack, to trace
46757         stack over/under flows,
46758         * added pragma 'wparam' to allow passing first byte of function
46759         parameters via WREG, syntax is #pragma wparam my_function[, func2...]
46760         * src/pic16/gen.c (pic16_testStackOverflow): function which emits a
46761         call to __gstack_test function and sets up the symbol as extern,
46762         * (pic16_pushpCodeOp, pic16_poppCodeOp, pushw, pushaop, popaopidx,
46763         * popaop): added call to pic16_testStackOverflow,
46764         * (wParamCmp, inWparamList): NEW, test existence of a symbol in
46765         wparamList list,
46766         * (genCall, genPcall): now all parameters are passed via stack
46767         except in functions that are pass to wparam pragma in which WREG is
46768         used too,
46769         * (genPcall): REENTRANT flag is checked to see if variable prototype
46770         contains reentrant keyword, don't call a non-reentrant function, via
46771         a reentrant function pointer or vice versa, functions are never
46772         passed via WREG,
46773         * (genJumpTab): applied patch from bug #1057478 by R.Neider and
46774         D.Winkler,
46775         * src/pic16/glue.c (pic16emitRegularMap): fixed bug which caused a
46776         SIGSEGV when accessing a NULL register stucture,
46777         * (pic16_printGPointerType): modified to handle UPPER modifier for
46778         function initializers, changed prototype of function to simpler one,
46779         * (pic16_printIvalFuncPtr): check to see if function is already
46780         added in externs list,
46781         * src/pic16/pcoderegs.c (pCodeOptime2pCodes): fixed bug which
46782         optimized a move from W to SFR with a move to the same register
46783         later after a CALL,
46784         * device/lib/pic16/debug: NEW directory, contains debug features
46785         which are enabled when linking with libdebug.lib, currently command
46786         line option --gstack enables stack pointer tracing for over/under
46787         flow, corresponding sources are in debug/gstack
46789 2004-10-30 Vangelis Rokas <vrokas AT otenet.gr>
46791         * doc/sdccman.lyx: updated SDCC version,
46792         * (PIC16 port): update list of command line options,
46793         * src/pic16/device.h (structure pic16_options_t): added field gstack
46794         to enable stack overflow tracing on push/pops,
46795         * src/pic16/device.c (statistics structure): added statistics
46796         structure,
46797         * (pic16_dump_access, pic16_dump_usection, pic16_dump_gsection,
46798         pic16_dump_int_registers): increase statistics counters for each
46799         * variable which is encountered
46800         * (pic16_dump_usection): emit each .udata variable to its own udata
46801         section,
46802         * src/pic16/gen.c (assignResultValue, genCall, genPcall, genFunction):
46803         when macro USE_WREG_IN_FUNC_PARAMS is set to 0 pass all function
46804         parameters via stack, otherwise use old scheme,
46805         * src/pic16/glue.c (pic16_emitStatistics): dump statistics in
46806         assembler output file,
46807         * src/pic16/main.c: added command line options --gstack to enable
46808         push/pop tracing for stack overflow,
46809         * src/pic16/pcode.c (all pCodeInstruction records for PIC18F
46810         instructions): added size of each instruction,
46811         * (pic16_countInstruction): estimate size of instructions in
46812         the_pFile list, inline assembly blocks are not counted,
46813         * (pic16_FixRegisterBanking): trace previous register usage, when
46814         banksel optimizations is greater than 0, don't emit a redudant
46815         banksel directive,
46817 2004-10-26 Slade Rich <slade_rich AT users.sourceforge.net>
46819         * src/pic/ralloc.c : fixed inefficient code produced when compiling a complimented bit operation.
46820         * src/pic16/ralloc.c : applied same fix for pic16.
46821         * src/pic/gen.c : tidied it up a little.
46823 2004-10-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46825         * src/mcs51/peeph.def: disabled 259.a,b for removing redundant ret,
46826         thanks to Martin Helmling for reporting (mail on sdcc-devel 2004-10-25)
46828 2004-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46830         * src/SDCCast.c (reverseParms): fixed bug #1040577 (part 2)
46832 2004-10-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46834         * device/lib/ser_ir_cts_rts.c: integer promotion caused a call to the
46835         non-reentrant function __modsint in the interrupt function (thus
46836         corrupting math operations during serial I/O)
46837         * device/lib/ser_ir.c: as above, changed buffersize
46838         * src/mcs51/peeph.def: added 259.a,b for removing redundant ret,
46839         256.c,d for zeroing
46840         * doc/Makefile: added option -t for rsync
46842 2004-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46844         * src/SDCCast.h (struct ast),
46845         * src/SDCCast.c (reverseParms, copyAst): fixed bug #1040577 (part 1)
46847 2004-10-20 Borut Razem <borut.razem AT siol.net>
46849         * support/scripts/sdcc.nsi: added include/pic16/*.h to the setup
46850         package
46852 2004-10-20 Vangelis Rokas <vrokas AT otenet.gr>
46854         * device/lib/pic16/libsdcc/Makefile: added lregs directory in
46855         makefile targets,
46856         * device/lib/pic16/libsdcc/lregs/{Makefile,lrst.c,lrrest.c}: NEW
46857         support functions to replace long sequences of MOVFF's from access
46858         bank registers to stack and vice versa,
46859         * src/pic16/device.h: added new field opt_flags, where optimization
46860         flags can be set to enable certain features,
46861         * src/pic16/gen.c (pic16_emitpinfo): NEW to add PC_INFO pCode in
46862         * pBlock, (genFunction, genEndFunction): surroung loop for
46863         saving/loading used registers in stack with PC_INFO pCodes,
46864         INF_LREGS. Code in between can then be optimized by pCode optimizer
46865         to support function calls,
46866         * (genDataPointerSet): fixed bug which loaded float fields in
46867         structures with corrupt data,
46868         * src/pic16/genutils.c (debugf, _debugf): macro/function which emits
46869         in a standard way debug info on stderr. Feature used for developing
46870         and debugging only,
46871         * src/pic16/glue.c (pic16glue): reformatted, deleted some old and
46872         obsolete chunks of code,
46873         * if optimization flag OF_LR_SUPPORT was set, call pic16_OptimizeLocalRegs,
46874         * src/pic16/main.c (_pic16_parseOptions): added handler for --flr-support,
46875         * pic16/src/pcode.c (pic16_newpCodeInfo,
46876         * (pic16_newpCodeOpLocalRegs),
46877         * (pic16_convertLocalRegs2Support): NEW, to support new optimization
46878         feature,
46879         * (pic16_pCodeConstString): printing of the initial value of a
46880         symbol as a comment is inhibited since parsing was already done by
46881         copyStr and output is corrupt,
46882         * (pic16_pCode2str, genericPrint): handle PC_INFO pCode,
46884 2004-10-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46886         * src/mcs51/ralloc.c (packRegisters): fixed bug #1044601
46888 2004-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
46890         * as/mcs51/lkarea.c: removed old K&R style,
46891           (lnksect): changed check on boundary error,
46892           (lnksect2): changed check on boundary error,
46893           (lnksect2): extend XSTK to end of page if size = 1
46894         * as/mcs51/lkmain.c: removed old K&R style,
46895           (Areas51): create l_IRAM symbol
46896         * as/mcs51/lkmem.c (summary2): added report on PSEG and XSTK
46897         * device/lib/Makefile.in: renamed model-mcs51-reentrant to
46898           model-mcs51-stack-auto, added model-mcs51-xstack-auto
46899         * device/lib/_mullong.c: added version to be compiled with xstack
46900         * device/lib/mcs51/crtclear.asm: clear only upto --iram-size
46901         * device/lib/mcs51/crtxclear.asm: clear pdata as well
46902         * device/lib/mcs51/crtxstack.asm: fixed comment
46903         * src/SDCCglue.c: maxInterrupts defaults to 0,
46904           (emitMaps): added pdata,
46905           (createInterruptVect): (re)moved default,
46906           (glue): added pdata,
46907           (glue): moved __start__xstack to XSTK with default size 1
46908         * src/SDCCmain.c (parseCmdLine): automatically set options.intlong_rent
46909           and options.float_rent when options.stackAuto is set,
46910           (linkEdit): only write XDATA_NAME if provided on command line
46911         * src/SDCCmem.h,
46912         * src/SDCCmem.c: added pdata
46913         * src/port.h: added pdata_name to PORT
46914         * src/mcs51/gen.c (toBoolean): fixed for Acc use of aopGet,
46915           (saveRegisters, unsaveRegisters): removed usage of B,
46916           (genMinus): fixed accumulator clash,
46917           (genJumpTab): added comment, this needs another look
46918         * src/mcs51/gen.c: added check for "B in use" paranoia,
46919           added pushB() and popB()
46920         * src/mcs51/peeph.def: restart after 177.c so 177.a can get a second
46921           chance
46922         * src/avr/main.c,
46923         * src/ds390/main.c,
46924         * src/hc08/main.c,
46925         * src/mcs51/main.c,
46926         * src/pic/main.c,
46927         * src/pic16/main.c,
46928         * src/xa51/main.c,
46929         * src/z80/main.c: (reset_regparms) made void parameter explicit and
46930           added PSEG (PAG,XDATA) or NULL to port specifier
46931         * src/ds390/main.c (_ds390_genIVT): moved implemented default in here
46932         * src/mcs51/main.c (_mcs51_genIVT): moved implemented default in here,
46933           (_mcs51_genInitStartup): removed __start__xstack equ,
46934           (mcs51_port): moved xstack from XSEG (XDATA) to XSTK (PAG,XDATA)
46935         * src/pic16/device.c (pic16_dump_usection, pic16_dump_isection),
46936         * src/z80/gen.c (_rleAppend): fixed warnings
46937         * support/regression/tests/zeropad.c: added pdata test
46938         * .version: bumped to 2.4.6
46940 2004-10-17 Borut Razem <borut.razem AT siol.net>
46942         * support/scripts/sdcc.nsi: cross compiling of WIN32 setup.exe on Linux
46943         as a part of nightly build
46945 2004-10-16 Vangelis Rokas <vrokas AT otenet.gr>
46947         * src/pic16/gen.c (struct _G): added field useWreg, is set to 1 when
46948         WREG holds the first byte function parameters,
46949         * (aopForSym): take special case for symbols which are in FARSPACE
46950         but in CODESPACE too,
46951         * (assignResultValue): modified to take into account _G.useWreg,
46952         * (genCall): don't use wreg for parameter passing when function is
46953         declared as reentrant, too, added optimization INCF to stack
46954         pointer when stack parameter count is 1,
46955         * (genFunction, genEndFunction): refurnished and fixed to not using
46956         wreg for passing parameters when function has varargs or is
46957         reentrant, fixed bug with symbol name compare for generating
46958         functions in absolute address,
46959         * (pic16_storeForReturn): refurnished,
46960         * (genCmp): began writing a new version of the function, not ready
46961         yet, therefore it is disabled,
46962         * (genAssign): do not read code memory when assigning a function to
46963         a pointer function,
46964         * src/pic16/glue.c (pic16emitStaticSeg): abSym->name is defined an
46965         array of characters, not pointer,
46966         * (pic16initialComments): in debug mode emit an .ident directive for
46967         the assembler,
46968         * (_process_pragma): emit a new warning type (internal to pic16)
46969         when setting stack to default length, emit a similar warning when
46970         placing a function at absolute address and address is not word aligned
46971         * (_pic16_parseOptions): added 'return TRUE' statement,
46972         * (_pic16_linkEdit): if compiling a source, then add the source's
46973         file object, first in the list of objects to link,
46975 2004-10-13 Slade Rich <slade_rich AT users.sourceforge.net>
46977         * src/pic/pcoderegs.c : increased count on regUsedinRange to prevent unnecessary warning.
46978         * src/pic/main.c : removed VC warning.
46979         * src/pic/gen.c : changed comment.
46981 2004-10-12 Vangelis Rokas <vrokas AT otenet.gr>
46983         * device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external
46984         reference to a deprecated symbol _GPTRREG was causing failure to
46985         link. Thanks G. M. Gallant for the info.
46987 2004-10-12 Slade Rich <slade_rich AT users.sourceforge.net>
46989         * src/pic/pcode.c : Applied a code patch supplied by Paul Ashmore in
46990         comments for Bugs item #954788.
46992 2004-10-10 Vangelis Rokas <vrokas AT otenet.gr>
46994         * src/pic16/device.c (pic16_dump_gsection,
46995         * pic16_groupRegistersInSection): handle symbols declared to be in
46996         access bank differently,
46997         * src/pic16/gen.c (struct _G): added field resDirect,
46998         * (aopForSym): if symbol on stack and iCode is '=' and result exists,
46999         send values read from stack directly to result and don't allocate
47000         temporary values,
47001         * (pic16_sameRegs): fixed bug that allowed MOVFF to move between
47002         same registers,
47003         * (pic16_sameRegsOfs): NEW,
47004         * (freeAsmop): if _G.resDirect is set then do not mark registers as
47005         free because they were not allocated from temporary pool,
47006         * pic16_popRegFromString): workaround to fix a problem with
47007         allocating variables twice or never,
47008         * (genGenPointerGet): using PRODL instead of FSR0H,
47009         * (genGenPointerSet): using POSTDEC1 (that is a stack location)
47010         instead of FSR0H,
47011         * (genAssign): take advantage of the _G.resDirect flag,
47012         * (genCast): around line 11844, use mov2f instead of directly
47013         MOVFF'ing between operands to account for literal values,
47014         * src/pic16/genutils.c: some new debug functions for gpsim have been
47015         added,
47016         * src/pic16/glue.c (pic16_printIvalType): fixed bug that initialized
47017         float with integer part only,
47018         * src/pic16/main.c (_process_pragma): handle pragma udata access to
47019         place variables in access bank
47020         * device/lib/pic16/libsdcc/gptr/gptr*.c: using BRA instead of GOTO,
47021         updated sources to reflect recent changes in gen.c
47023 2004-10-06 Vangelis Rokas <vrokas AT otenet.gr>
47025         * device/lib/pic16/libsdcc/Makefile.rules: fixed bug concerning
47026         sources that searched for headers in installation path, now the
47027         device/include/pic16 is used,
47028         * src/pic16/glue.c (pic16glue),
47029         * src/pic16/pcode.c (pCode2str, genericPrint): don't print .file or
47030         .line directives if not in debug mode, this suppresses assembler's
47031         warnings for ignored directives
47033 2004-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
47035         * src/port.h: made reset_regparms prototype void parameter explicit.
47036         * src/SDCCsymt.c (processFuncArgs): removed argument "func".
47037         * src/mcs51/ralloc.c (packRegisters): new fix for bugs 898889 & 979599.
47038         * doc/sdccman.lyx: documented warning disabling and how to use
47039           printf_large to make it print floats.
47040         * device/include/stdbool.h: NEW
47041         * device/lib/_atof.c,
47042         * device/lib/_divuint.c,
47043         * device/lib/_divulong.c,
47044         * device/lib/expf.c,
47045         * device/lib/printf_large.c,
47046         * device/lib/sincosf.c,
47047         * device/lib/sincoshf.c: used stdbool.h, all compile with stack-auto now
47048         * device/lib/Makefile.in: added target for model-mcs51-reentrant to build
47049           a completely reentrant lib.
47051 2004-10-05 Vangelis Rokas <vrokas AT otenet.gr>
47053         * device/lib/pic16/libsdcc/gptr/gptr*.c: added return statements
47054         * device/include/pic16/stdio.h: fixed bug with colon
47056 2004-10-03 Vangelis Rokas <vrokas AT otenet.gr>
47058         * device/include/pic16/stdio.h,
47059         * device/include/pic16/stdlib.h,
47060         * device/include/pic16/math.h: NEW
47061         * device/lib/pic16/libsdcc/gptr/*.c (gptrget*, gptrput*): functions
47062         declared as _naked to reduce overhead
47063         * device/lib/Makefile.in (target port-specific-objects-pic16):
47064         changed * to *.* so to ignore the CVS directory,
47065         * src/pic16/gen.c (pic16_freeAsmop): added code to store result of
47066         stacked variables back in stack,
47067         * (genEndFunction): fixed bug reported by G.M. Gallant with stack
47068         corruption
47070 2004-10-01 Vangelis Rokas <vrokas AT otenet.gr>
47072         * .version: bumped version number to 2.4.5
47073         * support/Util/SDCCerr.h: added warning W_POSSBUG2.
47074         * support/Util/SDCCerr.c (messages structure): added entry for
47075         W_POSSBUG2
47077         Large cumulative patch for pic16 port and libraries.
47078         * device/include/pic16/sdcc-lib.h,
47079         * device/include/pic16/stdarg.h,
47080         * device/include/asm/pic16/features.h,
47081         * device/include/lib/pic16/libsdcc/gptr/{*.c, Makefile}: NEW,
47082         * device/include/pic16/float.h: changes reentrant keyword with
47083         _FS_REENTRANT, added prototype for __fsneq, included sdcc-lib.h
47084         * device/lib/pic16/libsdcc/Makefile: added target directory gptr,
47085         updated target build-libraries to include objects from gptr,
47086         * device/lib/pic16/libsdcc/{char,int,long}/*.c: added macro
47087         _IL_REENTRANT to all function headings, included sdcc-lib.h header,
47088         * device/lib/pic16/libsdcc/float/*.c: added macro _FS_REENTRANT to
47089         all function headings,
47090         * src/SDCCmain.c: added global parameter userIncDirsSet,
47091         * (parseCmdLine): when option -I is encountered add directory to
47092         userIncDirsSet too,
47093         * src/version.awk: added space between control and long,
47094         * src/pic16/NOTES: added some notes for the port,
47095         * src/pic16/gen.c: added prototype for mov2fp function,
47096         * (fReturnpic16[]): properly named return value registers,
47097         * (_G structure): added fields stackRegSet, fregsUsed, stack_lat,
47098         * (aopForSym): added code to handle symbols with onStack flag set,
47099         symbols onStack are allocated PTRSIZE bytes,
47100         * (aopFreeAsmop): handles special case where asmops are stack objects,
47101         * (aopGet, pic16_popGet): adde cod to handle new asmop AOP_STA,
47102         * (pic16_popGetTempReg, pic16_popGetTempRegCond, pic16_popReleaseTempReg):
47103         added argument lock to trace flaws in allocating temporary registers
47104         when developing port,
47105         * (pic16_popGetLit, pic16_popGetLit2): changed lit from unsigned to signed
47106         * (pic16_popRegFromString): reenabled allocating a direct register
47107         from string,
47108         * (assignResultValue): various beautifications,
47109         * fixed bug #1037717 (patch from R. Neider & D. Wrinkler) with mistaken
47110         referenced function argument,
47111         * (genIpush): reenabled to allow stacked arguments, handles only
47112         ic->parmPush iCodes,
47113         * (genCall, genPcall): major changes to allow for variable argument
47114         functions, fixed a bug with falsely restoring stack pointer after
47115         returning from call,
47116         * (genFunction): pending code for critical function,
47117         * (shiftR1Left2ResultSigned, shiftR1Left2Result, shiftL2Left2Result,
47118         * (shiftR2Left2Result, shiftLLong) applied patch #1032155 from R.Neider,
47119         * (genNearPointerGet): fixed bug with indirect reading, was always
47120         reading from INDF0
47121         * (genGenPointerGet, genGenPointerSet): rewrote to support generic
47122         pointers,
47123         * (genAddrOf): rewrote code to take address of a stacked function parameter
47124         * (genCast): fixed casting to generic pointer type,
47125         * src/pic16/gen.h: added AOP_STA,
47126         * (struct asmop): added field stk,
47127         * src/pic16/genarith.c (pic16_AopType): handle AOP_STA,
47128         * (pic16_genPlusIncr): changed emitSKPNZ to emitSKPNZ,
47129         * (pic16_genAddLit, pic16_genPlus): applied patch #1034042 by tecodev,
47130         * (pic16_genMinus): fixed bug #1035119 with patch submitted by tecodev,
47131         * src/pic16/genutils.c (pic16_genNot): removed symbol *tlbl,
47132         * src/pic16/glue.c (pic16_printGPPointerType): fixed to support new
47133         generic pointers,
47134         * src/pic16/main.c (_pic16_initPaths): ignores default SDCC include
47135         and library paths,
47136         * (pic16_port structure): generic pointer size is set to 3,
47137         * src/pic16/pcode.c (pic16_newpCodeOpLit): correctly print literal integer,
47138         * (insertBankSwitch): cast to (char *) to prevent 64bit CPUs'
47139         compiler warning,
47140         * src/pic16/ralloc.c (allocReg): prevent allocating register when
47141         operand is an iTemp,
47143 2004-09-24 Martin Helmling <mh AT octo-soft.de>
47145         * debugger/mcs51/cmd.c: set PC if a symbol at pc reg is set
47146         * debugger/mcs51/simi.c: addapt new syntax of s51
47148 2004-09-23 Vangelis Rokas <vrokas AT otenet.gr>
47150         * src/pic16/genutils.c (pic16_genNot): fixed bug #1032265,
47151         * src/pic16/pcode.c: commented out some calls to free() in order to
47152         fix bug #989576,
47154 2004-09-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47156         * src/SDCCicode.h,
47157         * src/SDCCicode.c (isiCodeInFunctionCall),
47158         * src/avr/ralloc.c (selectSpil),
47159         * src/pic/ralloc.c (selectSpil),
47160         * src/pic16/ralloc.c (selectSpil),
47161         * src/ds390/ralloc.c (selectSpil),
47162         * src/hc08/ralloc.c (selectSpil),
47163         * src/xa51/ralloc.c (selectSpil),
47164         * src/mcs51/ralloc.c (selectSpil): Don't use remainSpil to spill to the
47165         stack in the middle of a function call sequence (fixes bug #1020268)
47166         * src/SDCCicode.c (geniCodeJumpTable): fixed error in computing the
47167         costs associated with the minimum switch case.
47169 2004-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47171         * src/SDCC.lex: fixed bug #1030549
47173 2004-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47175         * src/SDCCcse.h (struct cseDef),
47176         * src/SDCCcse.c (cseBBlock, newCseDef, ifFromAddrTaken): purge CSEs
47177         over a function call if the CSE is derived from a symbol whose
47178         address has been taken (fixes bug #1029883)
47179         * support/regression/tests/bug-1029883: a new regression test for
47180         this bug
47182 2004-09-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47184         * src/hc08/gen.c (emitinline): fixed bug #1029778
47185         * src/SDCC.y (assignment_expr): fixed the grammer so that assignment
47186         to a cast object is no longer a syntax error ("fixes" bug #1030006,
47187         and starts toward RFE #905167)
47189 2004-09-17 Vangelis Rokas <vrokas AT otenet.gr>
47191         * src/pic16/gen.c (mov2f): New function to move an operand to
47192         another without considering if it is a literal or a register,
47193         * (pic16_sameRegs): don't check if they are both AOP_REG,
47194         * (AccRsh): removed andmask=0 lines,
47195         * (genLeftShift): duplicated to be improved in future versions,
47196         * src/pic16/main.c (_process_pragma): emit stack default size in hex,
47197         * src/pic16/pcode.c: added POC_INFSNZW, updated inverted_op fields
47198         in POC_INCFSZ, POC_INCFSZW, POC_INFSNZ,
47199         * (pic16initMnemonics): added initialization for POC_INFSNZW,
47200         * (insertBankSwitch): fixed inserting banksel directives algorithm
47201         for instructions that follow a skip instruction, this fixes a report
47202         for broken subtraction code generation,
47203         * src/pic16/ralloc.c (deassignLRs): do not free register if current
47204         iCode is a left op, just in case result and right share the same
47205         registers
47207 2004-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47209         * src/hc08/main.c,
47210         * src/hc08/gen.c (genJumpTable): more efficient jump table, supports
47211         preservation of HX
47212         * src/hc08/gen.c (pullRegs): fixed order of HX & XA pairs
47213         * src/mcs51/ralloc.c (packRegisters): removed the patch applied
47214         on 2004-09-12; it was buggy
47216 2004-09-15 Bernhard Held <bernhard AT bernhardheld.de>
47218         * src/SDCCsymt.h: removed RESULT_CHECK
47219         * src/SDCCast.c,
47220         * src/SDCCglue.c,
47221         * src/SDCCval.c,
47222         * src/pic/glue.c,
47223         * src/pic16/glue.c: replaced RESULT_CHECK with RESULT_TYPE_NONE
47225 2004-09-15 Vangelis Rokas <vrokas AT otenet.gr>
47227         * src/SDCCicode.c (piCode): applied patch from Raphael Neider,
47228         * src/pic16/device.c (pic16_assignConfigWordValues): wrong
47229         configuration values no more rejected by compiler, they are assigned
47230         to configuration registers with a warning message instead,
47231         * src/pic16/glue.c (pic16_emitConfigRegs): added +1 at top-limit of
47232         the for-loop so last conf register is emitted too,
47233         * (_pic16_initPaths): link library libsdcc.lib by default,
47234         * (_hasNativeMulFor): modified test for multiplication according to
47235         Raphael Neider's remarks. Integer multiplication is also done with
47236         support functions,
47237         * device/include/pic16/pic18fregs.h: corrected type error in while
47238         testing and including 18f6720 header file
47240 2004-09-14 Vangelis Rokas <vrokas AT otenet.gr>
47242         * src/pic16/device.h (pic16_options): removed field use_crt,
47243         * src/pic16/gen.c (genUnpackBits): added call to pic16_loadFSR0
47244         until an optimization to handle single bits is added,
47245         * (pic16_loadFSR0): moved before genUnpackBits,
47246         * (genAnd): some white lines removed,
47247         * src/pic16/main.c (_pic16_finaliseOptions): set omit_ivt and clear
47248         leave_reset flags in pic16_options when using crt modules,
47250 2004-09-12 Maarten Brock <sourceforge.brock AT dse.nl>
47252         * src/mcs51/ralloc.c (packRegisters): applied fix by Bernhard Held
47253           for bugs 898889 & 979599. Also used some safer print instructions.
47255 2004-09-12 Vangelis Rokas <vrokas AT otenet.gr>
47257         * src/pic16/device.h (pic16_options_t): added field use_crt,
47258         crt_name, no_crt,
47259         * src/pic16/genarith.c (pic16_genPlus): added an assert(0) line to
47260         catch a probable future bug,
47261         * src/pic16/gen.c: aopIdx function commented out,
47262         * (genAssign): commented out old code which used aopIdx,
47263         * src/pic16/glue.c (pic16glue): removed some legacy fragments of
47264         code, added if conditionals to take into account the --use-crt
47265         command line options,
47266         * src/pic16/main.c (pic16_optionsTable): added new command line
47267         options, --use-crt= and --no-crt,
47268         * (_pic16_linkEdit): now the proper crt object is added in the
47269         linker command line except than when --no-crt is specified,
47270         * src/pic16/pcode.c,
47271         * src/pic16/pcode.h: added some structures and functions for a new
47272         optimization scheme to compansate for instruction overhead between
47273         same iCodes, this scheme is currently under development and is not
47274         working in any way,
47275         * src/pic16/gen.c (genAnd): added patch provided by Aaron Collwell
47276         to && operator,
47277         * device/lib/pic16/startup/crt0i.c,
47278         * device/lib/pic16/startup/crt0iz.c: added global char variable
47279         __uflags to force the generation of an idata section
47281 2004-09-12 Bernhard Held <bernhard AT bernhardheld.de>
47283         * doc/Makefile,
47284         * doc/clean.mk: added support for easy creation of sdcc-doc.tar.bz2
47285         * doc/sdccman.lyx: updated sdcc version to 2.4.4
47287 2004-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47289         * doc/sdccman.lyx: fixed a problem with my new index entries (thanks
47290         Frieder) and clarified the default code optimization mode
47292 2004-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47294         * src/SDCC.lex (doPragma, process_pragma),
47295         * src/SDCCglobl.h (struct optimize): added pragmas "opt_code_speed",
47296         "opt_code_size", and "opt_code_balanced"
47297         * src/SDCCmain.c (optionsTable[], printOptions, scanOptionsTable):
47298         regrouped options by category, added support for category headers
47299         * src/SDCCmain.c (parseCmdLine): added options "--opt-code-speed"
47300         and "--opt-code-size"
47301         * doc/sdccman.lyx: documented these new options and pragmas
47302         * src/hc08/gen.c (AccLsh, AccRsh): take speed/size optimization
47303         preference into account
47305 2004-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
47307         * src/SDCCicode.c (geniCodePostInc, geniCodePreInc, geniCodePostDec,
47308           geniCodePreDec): Fixed bug 904237 by generating a warning
47309         * src/SDCCerr.h,
47310         * src/SDCCerr.c: added warning W_SIZEOF_VOID
47312 2004-09-09 Slade Rich <slade_rich AT users.sourceforge.net>
47314         * src/pic/device.c : When no max ram set validate full memory range.
47315         * src/pic/pcode.c,
47316         * src/pic/pcodepeep.c : Copy C code comments to optimised replacement code.
47318 2004-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
47320         * device/lib/_gptrget.c,
47321         * device/lib/_gptrput.c: updated comment
47322         * device/lib/calloc.c,
47323         * device/lib/free.c,
47324         * device/lib/malloc.c,
47325         * device/lib/realloc.c: added LGPL, made them reentrant-safe
47326         * src/SDCCcse.c (cseBBlock),
47327         * src/SDCCicode.c (printOperand, geniCodeArray),
47328         * src/SDCCicode.h (struct operand): fixed bug 868103
47329         * support/regression/tests/bug-868103.c: added
47330         * src/SDCCast.c (searchLitOp),
47331         * src/SDCCcse.h (struct cseDef),
47332         * src/SDCCglue.c (printIvalArray, spacesToUnderscores),
47333         * src/SDCCicode.h (struct operand),
47334         * src/SDCCsymt.h (struct sym_link),
47335         * src/avr/gen.c (hasInc),
47336         * src/ds390/gen.c (hasInc),
47337         * src/hc08/gen.c (genPlusIncr, hasInc),
47338         * src/mcs51/gen.c (hasInc),
47339         * src/pic16/glue.c (pic16_printIvalChar),
47340         * src/pic16/ralloc.c (regWithIdx),
47341         * src/xa51/gen.c (hasInc) : removed warnings
47342         * src/SDCCast.c (createBlock): added comment ???
47343         * src/hc08/ralloc.c: updated comments
47345 2004-09-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47347         * doc/sdccman.lyx: updated section on switch statements, added
47348         section about semaphore locking
47349         * doc/Makefile: added option -info for latex2html
47350         * device/lib/_gptrget.c,
47351         * device/lib/_gptrput.c: __XPAGE instead of P2 in outcommented code
47353 2004-09-06 Slade Rich <slade_rich AT users.sourceforge.net>
47355         * src/pic/device.h,
47356         * src/pic/device.c,
47357         * src/pic/port.c : Changed PIC14 code to not set bit RP1 when
47358          maxram is less than 0x100.
47360 2004-09-06 Slade Rich <slade_rich AT users.sourceforge.net>
47362         * Bug fixes for PIC14 - signed RSHIFT problem. Patch supplied by Allen(agschrum).
47364 2004-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47366         * src/port.h,
47367         * src/mcs51/main.c,
47368         * src/ds390/main.c,
47369         * src/z80/main.c,
47370         * src/hc08/main.c,
47371         * src/pic/main.c,
47372         * src/pic16/main.c,
47373         * src/avr/main.c,
47374         * src/xa51/main.c
47375         * src/SDCCicode.c (geniCodeJumpTable): Better logic to determine if a
47376         a jump table is the best form for a switch statement, including
47377         automatic insertion of missing cases to make the case range
47378         continuous. Developed in collaboration with Frieder Ferlemann.
47380 2004-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47382         * src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for
47383         accumulator result if it needs sign extension
47385 2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
47387         * src/hc08/ralloc.c (canUseAccOperand): fixed comparison bug
47389 2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
47391         * device/lib/gbz80/printf.c,
47392         * device/lib/z80/printf.c: removed define for NULL
47394 2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
47396         * as/xa51/xa_link.c,
47397         * device/examples/ds390/ow390/ad26.c,
47398         * device/examples/ds390/ow390/cnt1d.c,
47399         * device/examples/ds390/ow390/counter.c,
47400         * device/examples/ds390/ow390/ds2480.h,
47401         * device/examples/ds390/ow390/ds2480ut.c,
47402         * device/examples/ds390/ow390/findtype.c,
47403         * device/examples/ds390/ow390/gethumd.c,
47404         * device/examples/ds390/ow390/owllu.c,
47405         * device/examples/ds390/ow390/ownetu.c,
47406         * device/examples/ds390/ow390/swt12.c,
47407         * device/examples/ds390/ow390/swtloop.c,
47408         * device/examples/ds390/ow390/temp.c,
47409         * device/examples/ds390/ow390/temp10.c,
47410         * device/examples/ds390/ow390/thermo21.c,
47411         * device/examples/ds390/ow390/tinilnk.c,
47412         * device/examples/ds390/ow390/tstfind.c,
47413         * device/examples/serialcomm/windows/serial.cpp,
47414         * device/examples/serialcomm/windows/test_serialcomm.cpp,
47415         * device/include/reg51.h: fixed line endings for cvs
47417 2004-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47419         * src/hc08/ralloc.c (canDefAccResult, canUseAccOperand,
47420         packRegsForAccUse, packRegisters): new accumulator register
47421         packing algorithm
47422         * support/regression/ports/hc08/support.c (_putchar): suppress
47423         warning of unused variable
47424         * src/SDCCicode.c: added SWAP entry to codeTable
47426 2004-09-01 Maarten Brock <sourceforge.brock AT dse.nl>
47428         * device/lib/sprintf.c: forgot to add this file before previous commit
47430 2004-09-01 Vangelis Rokas <vrokas AT otenet.gr>
47432         * src/pic16/gen.c (genPackBits): added operand right in function
47433         parameters, load result directly if p_type is POINTER (that is
47434         called by genNearPointerSet)
47435         * (genUnPackBits): added operand left in function parameters,
47436         * (genNearPointerGet, genNearPointerSet): prevent the loading of
47437         FSR0 if accessing bitfields,
47439 2004-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
47441         * device/include/stdio.h: added NULL, size_t, typedef pfn_outputchar,
47442           _print_format; updated printf, sprintf, vsprintf
47443         * device/include/asm/default/features.h: corrected comment/define
47444         * device/lib/Makefile.in: added sprintf.c
47445         * device/lib/libsdcc.lib: added sprintf module
47446         * device/lib/printf_large.c,
47447         * device/lib/vprintf.c,
47448         * device/lib/sprintf.c: totally refactored printf_large and vprintf
47449           into these 3 files
47450         * support/regression/Makefile: changed ALL_PORTS into a usefull default
47451         * support/regression/ports/mcs51-stack-auto/spec.mk: added sprintf
47452         * support/regression/tests/bug-927659.c: removed dummy putchar, enabled
47453           hc08 test
47454         * support/regression/tests/zeropad.c: define idata as data for hc08
47456 2004-08-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47458         * src/SDCCpeeph.c (labelIsReturnOnly): support hc08 rts opcode also
47459         * src/SDCCpeeph.c (buildLabelRefCountHash): assume function entry point
47460         labels are referenced at least once (even if a reference is not found)
47461         * src/hc08/gen.c (emitcode): set isComment flag for comments
47462         * src/hc08/peeph.def: added rules 5a..5f (optimize redundant immediate
47463         loads), rules 6a..6b (optimize jumps to return)
47465 2004-08-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47467         * device/lib/acosf.c (acosf),
47468         * device/lib/asinf.c (asinf),
47469         * device/lib/atanf.c (atanf),
47470         * device/lib/ceilf.c (ceilf),
47471         * device/lib/cosf.c (cosf),
47472         * device/lib/coshf.c (coshf),
47473         * device/lib/cotf.c (cotf),
47474         * device/lib/fabsf.c (fabsf),
47475         * device/lib/floorf.c (floorf),
47476         * device/lib/log10f.c (log10f),
47477         * device/lib/logf.c (logf),
47478         * device/lib/sinf.c (sinf),
47479         * device/lib/sinhf.c (sinhf),
47480         * device/lib/sqrtf.c (sqrtf),
47481         * device/lib/tanf.c (tanf),
47482         * device/lib/tanhf.c (tanhf),
47483         * device/include/math.h: defined _FLOAT_FUNC_REENTRANT macro and
47484         replaced all instances of "reentrant" in the library functions
47485         defined in math.h with this macro.
47486         * support/regression/tests/float_trans.c: reenabled test for hc08
47488 2004-08-30 Bernhard Held <bernhard AT bernhardheld.de>
47490         * device/lib/pic16/Makefile.common.in: added MODELFLAGS again, it was
47491         erroneously deleted
47493 2004-08-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47495         * src/hc08/gen.c (loadRegFromAop): better use of clra & clrx
47496         * src/hc08/gen.c (genAnd, genOr): fixed bug with conditional when
47497         multi-byte volatile operands are used
47498         * src/hc08/gen.c (shiftRLong): fixed bug with wrong rotate direction
47499         * src/hc08/main.c (_hc08_genAssemblerPreamble): moved the built-in
47500         initialization to area GSINIT0 so that it would always precede
47501         any static initializers in GSINIT
47502         * support/regression/tests/zeropad.c: fixed idata define for hc08
47503         * support/regression/tests/bug-927659.c,
47504         * support/regression/tests/float_trans.c: disabled tests for hc08
47505         pending missing library routines
47506         * .version: increased version number to 2.4.4 - hc08 port now passes
47507         regression tests
47510 2004-08-29 Bernhard Held <bernhard AT bernhardheld.de>
47512         * device/lib/pic16/Makefile.common.in: added $(MM) to fix `make clean`
47513         * Makefile.common.in,
47514         * as/Makefile,
47515         * as/hc08/Makefile.in,
47516         * as/mcs51/Makefile.in,
47517         * as/z80/Makefile.in,
47518         * debugger/mcs51/Makefile.in,
47519         * device/include/Makefile.in,
47520         * device/lib/Makefile.in,
47521         * doc/Makefile,
47522         * link/Makefile,
47523         * link/z80/Makefile.in,
47524         * packihx/Makefile.in,
47525         * sim/ucsim/main_in.mk,
47526         * sim/ucsim/avr.src/Makefile.in,
47527         * sim/ucsim/doc/Makefile.in,
47528         * sim/ucsim/gui.src/serio.src/Makefile.in,
47529         * sim/ucsim/hc08.src/Makefile.in,
47530         * sim/ucsim/s51.src/Makefile.in,
47531         * sim/ucsim/xa.src/Makefile.in,
47532         * sim/ucsim/z80.src/Makefile.in,
47533         * src/Makefile.in,
47534         * support/cpp2/Makefile.in,
47535         * support/librarian/Makefile,
47536         * support/makebin/Makefile: added DESTDIR to the install path proposed
47537         by "Maciej 'Agaran' Pijanka" <agaran AT pld-linux.org>
47538         * doc/sdccman.lyx: added DESTDIR documentation
47540 2004-08-29 Vangelis Rokas (vrokas AT otenet.gr>
47542         * src/pic16/gen.c (genFunction, genEndFunction): fixed return
47543         instruction for interrupt handlers, use fast returns when returning
47544         from high priority interrupts
47546 2004-08-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47548         * src/hc08/gen.c (genAnd, genOr, transferAopAop, rmwWithAop): optimized
47549         code generation
47550         * src/hc08/gen.c (genrshFour, genCpl): fixed bugs
47551         * src/hc08/gen.c (genMultOneByte, genDivOneByte, genModOneByte): fixed
47552         bugs, ported much of Bernhard's code from mcs51
47553         * src/mcs51/gen.c (genSend),
47554         * src/hc08/gen.c (genSend): fixed bug with lost SEND iCodes if more
47555         than one when calling a reentrant function
47556         * device/lib/_mullong.c: defined an alternate struct layout for big
47557         endian ports (hc08)
47559 2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47561         * src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression
47562         test
47564 2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47566         * src/SDCCsymt.c (processFuncArgs): make sure parameter types
47567         are sane and complete before asking the port its prefered parameter
47568         passing method (fixes bug #1017633)
47569         * device/lib/hc08/_ret.c: added "data" storage class to _ret2
47570         and _ret3
47572 2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47574         * src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset
47575         problem in bitfields >= 8 bits.
47577 2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
47579         * src/SDCCsymt.c: undid changes that were not meant to be committed
47581 2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
47583         * support/regression/ports/hc08spec.mk: REENTRANT must be reentrant
47585 2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
47587         * src/hc08/gen.c (genUminusFloat): fixed bug where only 3 bytes were
47588           copied and wrong bit got inverted
47590 2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47592         * src/hc08/gen.c (genPointerSet, genFarPointerSet): moved code from
47593         genFarPointerSet into genPointerSet; eliminated genFarPointerSet
47594         * src/hc08/gen.c (genPointerGet, genFarPointerGet): moved code from
47595         genFarPointerGet into genPointerGet; eliminated genFarPointerGet
47596         * src/hc08/gen.c (genPackBitsImmed): generate optimized code for
47597         assignments to bitfields at known addresses
47598         * src/hc08/gen.c (genUnpackBitsImmed): generate optimized code for
47599         reads from bitfields at known addresses
47600         * src/hc08/ralloc.c (packRegisters),
47601         * src/hc08/gen.c (genPointerGet, genUnpackBits, genUnpackBitsImmed,
47602         genhc08Code): optimize pointer get values used as conditionals
47603         * src/hc08/peeph.def: added rules 2e & 2f to optimize bit test
47604         and branch
47606 2004-08-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47608         * src/mcs51/gen.c (genPointerGet, genNearPointerGet, genPagedPointerGet,
47609         genFarPointerGet, genCodePointerGet, genGenPointerGet, genUnpackBits),
47610         * src/mcs51/ralloc.c (packRegisters): optimize pointer get values used
47611         as conditionals
47613 2004-08-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47615         * src/mcs51/peeph.def: peepholes 248.i-m for xdata bitfields
47617 2004-08-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47619         * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #1012650 and some
47620         related problems
47622 2004-08-21 Bernhard Held <bernhard AT bernhardheld.de>
47624         * sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists
47626 2004-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47628         * src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the
47629         mcs51 port
47631 2004-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
47633         * src/pic/gen.c: Restored fn genRet as previous fix was incorrect.
47635 2004-08-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47637         * src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch
47638         cases use more compact code.
47640 2004-08-13 Slade Rich <slade_rich AT users.sourceforge.net>
47642         * src/pic/gen.c: Fixed problem with fn returning a variable bigger than a char.
47644 2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47646         * src/SDCClrange.c (findPrevUse): fixed bug #1007371
47648 2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47650         * src/SDCCsymt.h,
47651         * src/SDCCsymt.c (changePointer, checkDecl, addSymChain): changed
47652         parameter of changePointer() from symbol* to sym_link*
47653         * src/SDCCast.c (decorateType): call changePointer() for CAST op
47654         * src/SDCCsymt.c (compareType): void* type is castable to other
47655         pointers, but not necesarily an exact match.
47656         * src/SDCCicode.c (geniCodeCast): allow void* casting here since it
47657         is no longer blindly treated as an exact match.
47658         * src/SDCCval.c (valCastLiteral): treat missing type as cast to void
47660 2004-08-12 Slade Rich <slade_rich AT users.sourceforge.net>
47662         * src/pic/glue.c: Added struct initialisation fn printIvalStruct.
47664 2004-08-11 Slade Rich <slade_rich AT users.sourceforge.net>
47666         * src/pic/gen.c,
47667         * src/pic/pcode.c,
47668         * src/pic/ralloc.h,
47669         * src/pic/ralloc.c: Printing rIdx on internal verbose debug.
47671 2004-08-10 Slade Rich <slade_rich AT users.sourceforge.net>
47673         * src/pic/device.c,
47674         * src/pic/device.h,
47675         * src/pic/device.c: Will no longer exit if #pragma maxram has not been defined.
47677 2004-08-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47679         * src/mcs51/gen.c (emitcode): fixed bug #992819
47681 2004-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
47683         * src/pic/ralloc.c (deassignLR): allthough pic port is buggy already,
47684           there's no need to make it worse
47686 2004-08-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47688         * src/mcs51/ralloc.c (deassignLR),
47689         * src/ds390/ralloc.c (deassignLR),
47690         * src/hc08/ralloc.c (deassignLR),
47691         * src/z80/ralloc.c (deassignLR),
47692         * src/pic/ralloc.c (deassignLR),
47693         * src/pic16/ralloc.c (deassignLR),
47694         * src/avr/ralloc.c (deassignLR),
47695         * src/SDCClrange.c (findRecursiveSucc, findRecursivePred, findPrevUse,
47696         rlivePoint): fixed another part of bug #971834
47698 2004-08-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47700         * src/z80/main.c: enabled "critical" keyword
47701         * src/z80/mappings.i,
47702         * src/z80/gen.c (genFunction, genEndFunction): support for interrupt
47703         functions (fixes bug #979646)
47704         * doc/sdccman.lyx: added a subsection explaining z80 interrupt support
47706 2004-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
47708         * src/mcs51/gen.c (genInline): Add \n for labels, not DOS/WIN dirs
47709           such as c:\mydir.
47711 2004-08-03 Maarten Brock <sourceforge.brock AT dse.nl>
47713         * src/SDCCloop.c (loopInvariants): fixed bug 983545, hope this
47714           doesn't disable too much optimizations
47716 2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
47718         * src/pic/glue.c Disabled "WARNING: function 'main' undefined" when -S option is used.
47720 2004-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
47722         * src/SDCClrange.c (rlivePoint): fixed bug 988568, thanks to anonymous
47724 2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
47726         * src/pic/gen.c tidied up tabs
47727         * src/pic/genarith.c tidied up tabs and fixed bug with literal multiple where same register was used for hi and low byte
47728         * src/pic/main.c tidied up tabs
47729         * src/pic/pcode.c tidied up tabs and disabled verbose code generation
47730         * src/pic/pcoderegs.c tidied up tabs
47731         * src/pic/ralloc.c tidied up tabs
47733 2004-07-30 Vangelis Rokas <vrokas AT otenet.gr>
47735         * src/SDCCmem.c (allocGlobal): don't turn S_REGISTER storage class
47736         to S_FIXED for pic16 port and when symbol is not in level 0,
47737         allocate for S_REGISTER storage class and pic16 port, too,
47738         * src/pic16/device.h: prototype for checkSym,
47739         * src/pic16/device.c (pic16_dump_access, checkSym): NEW,
47740         * (pic16_assignConfigWordValue): test the value and the mask to
47741         validate that the value is suitable for the configuration word,
47742         * src/pic16/glue.c (pic16_printIvalFuncPtr): use 'externs' to
47743         collect extern declared symbols, don't emit symbol twice, check
47744         first if symbol is in publics set first,
47745         * src/pic16/main.c (_pic16_keywords[]): added keyword 'register',
47746         * added command line '--fstack' which enables an experimental
47747         feature for stack access, too buggy to be used yet...
47748         * src/pic16/ralloc.c (pic16_accessregWithName): NEW,
47749         * (pic16_allocDirReg): when register has storage class S_REGISTER
47750         allocate in pic16_dynAccessRegs,
47751         * device/include/pic16/pic18f????.h: modified configuration word
47752         naming convention, words started as CONFIG0H but should be CONFIG1H
47754 2004-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
47756         * device/include/mcs51reg.h: fixed bug 970993
47758 2004-07-27 Maarten Brock <sourceforge.brock AT dse.nl>
47760         * added lib/calloc.c, lib/free.c, lib/realloc.c, include/stddef.h
47761         * updated lib/malloc.c, lib/libsdcc.lib, lib/Makefile.in, include/malloc.h
47762         * src/SDCC.lex (doPragma): added pragma disable_warning <nnn>
47763         * src/SDCCmain.c (parseCmdLine): added option --disable-warning <nnn>
47764         * src/ds390/gen.c (genPlusIncr): fixed bug when incrementing generic pointers
47765         * support/Util/SDCCerr.c (vwerror): suppress disabled warnings and output
47766           error/warning numbers,
47767           added function setWarningDisabled()
47768         * support/Util/SDCCerr.h: added setWarningDisabled() and MAX_ERROR_WARNING
47769         * support/regression/ports/mcs51-stack-auto/spec.mk: added dependencies
47770           _memcmp.c _memmove.c calloc.c realloc.c free.c
47771         * support/regression/tests/malloc.c: added tests for new functionality
47772         * support/regression/tests/zeropad.c: added tests for truncated initializers
47773           and initialized char arrays starting with '\x0'
47774         * src/mcs51/peeph.def: fixed regression, added peephole 177.f
47776 2004-07-26 Bernhard Held <bernhard AT bernhardheld.de>
47778         * support/valdiag/tests/overflow.c: fixed warning on (1 >> 40)
47780 2004-07-26 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47782         * doc/sdccman.lyx: updated example in section "Absolute Addressing"
47783         * src/mcs51/peeph.def: added contributed fix for "bug" #995347 as
47784         peephole 177.e. Thanks to anonymous
47786 2004-07-25 Vangelis Rokas <vrokas AT otenet.gr>
47788         * src/pic16/glue.c (pic16_printIvalFuncPtr): when an extern
47789         function isn't used in the source but referenced as a
47790         variable initializer then declare it as extern in .asm file
47792 2004-07-24 Vangelis Rokas <vrokas AT otenet.gr>
47794         * .version: increased version number to 2.4.3
47796         Adding version extension according to ChangeLog CVS revision
47797         * src/Makefile.in (target all): added dependency 'version.h'
47798         * (rule version.h): added rule to create version.h from ChangeLog,
47799         * (rule dep): added dependency version.h,
47800         * src/version.awk: AWK script to create version.h
47801         * src/SDCCdwarf2.c (dwWriteModule),
47802         * src/SDCCglue.c (initialComments),
47803         * src/SDCCmain.c (printVersionInfo): modified to write after
47804         version string the version extension number,
47805         * src/SDCCutil.c: included "version.h"
47806         * (getBuildNumber): NEW, returns SDCC's ChangeLog minor revision
47807         number,
47808         * src/SDCCutil.h: added prototype for getBuildNumber
47810         * src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
47811         includeDirsSet, too,
47812         * src/SDCCsymt.c (checkSClass): don't emit error when a variable,
47813         const char [] is found in function prototype...
47815         * src/pic16/genarith.c (pic16_genUMult8XLit_8): optimization to omit
47816         moving to WREG with source is already in WREG,
47817         * src/pic16/gen.h: added AOP_FSR0 and AOP_FSR2 in enum,
47818         * src/pic16/gen.c (getFreePtr): updated to look for FSR0 and FSR2,
47819         * (aopForSym): stack'ed symbols are partially supported, added
47820         if-clause to support symbols in FARSPACE,
47821         * (sameRegs): added test for AOP_ACC to see if registers are same,
47822         * (pic16_freeAsmop): added case for AOP_FSR0 and AOP_FSR2,
47823         * (pic16_aopGet): added case for AOP_FSR0 and AOP_FSR2,
47824         * (pic16_popRegFromString): will not allocate a new register if it
47825         doesn't find one by name, bug may have introduced...
47826         * (pic16_popGet): added case for AOP_FSR0 and AOP_FSR2,
47827         * (genIpush): revived to use pic16 port's stack,
47828         * (genAddrOf): added incomplete case for stack'ed operand,
47829         * (genCast): optimized a pair of MOVFW,MOVWF to MOVFF
47830         * src/pic16/genutils.c (pic16_genNot): almot new vesrion for NOT,
47831         can handle multibyte operands,
47832         * src/pic16/glue.c (pic16_printIval*): some debug info added,
47833         * (pic16initialComments): added message for MPLAB compatibility
47834         mode enabled,
47835         * src/pic16/main.h: prototype for pic16_mplab_comp,
47836         * src/pic16/main.c (pic16_optionsTable): new option --mplab-comp,
47837         which enabled MPLAB compatibility mode (i.e. no #LINE/#FILE, BANKED)
47838         * (_pic16_linkEdit): NEW, handles link stage, transferred here
47839         because of increased complexity of procedure,
47840         * (_process_pragma): stack pragma changed to format 'stack pos len',
47841         emit symbol '_stack_end' to conform with gplink,
47842         * src/pic16/pcode.c (pic16_newpCodeOpBit): using pic16_regWithName
47843         to search for register,
47844         * (pic16_get_op, pic16_get_op2): added case for PO_W, PO_WREG and
47845         PO_GPR_REGISTER,
47846         * (pic16_pCode2str): when in MPLAB compatibility mode, comment out
47847         #LINE directives and replace 'B' with 'BANKED' in instruction opcodes
47848         * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
47849         case for PO_GPR_REGISTER,
47850         * (pic16_AnalyzeBanking): removed the old message for inc2h.pl, past
47851         dies, the new era is ahead !...
47852         * src/pic16/ralloc.c: added hash reposits pic16_dynAllocRegNames and
47853         pic16_dynInternalRegs,
47854         * (pic16_allocregWithName, pic16_procregWithName, pic16_regWithname): NEW,
47855         * (pic16_allocDirReg): minor optimizations and bug fixes,
47856         * (pic16_allocWithIdx): when searching pic16_dynProcessorRegs use fixed,
47858         * device/lib/pic16/startup/crt0*.c: extern definition of stack_end,
47859         load stack and frame pointer with address of 'stack_end' symbol
47861 2004-07-23 Vangelis Rokas <vrokas AT otenet.gr>
47863         * src/pic16/glue.c (pic16emitStaticSeg): fixed bug with files
47864         without source code but only variable initializers
47866 2004-07-20 Vangelis Rokas <vrokas AT otenet.gr>
47868         * src/pic16/glue.c (pic16emitRegularMap): unused functions marked as
47869         external are not declared as extern to reduce overhead while linking
47871 2004-07-20 Maarten Brock <sourceforge.brock AT dse.nl>
47873         * src/SDCCast.c (decorateType): removed buggy fix for bug #979599
47875 2004-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
47877         * src/SDCCglue.c (printIvalArray): fixed bug #984229, thanks to Phuah
47878           Yee Keat for the patch
47879         * src/SDCCast.c (decorateType): fixed bug #979599
47880         * src/ds390/gen.h: removed local fReturnSizeDS390
47881         * src/ds390/gen.c: made fReturnSizeDS390 signed short to remove a warning
47882         * src/ds390/gen.c (genAnd, genOr, genXor),
47883         * src/mcs51/gen.c (genAnd, genOr, genXor): generate better optimized code
47885 2004-07-04 Vangelis Rokas <vrokas AT otenet.gr>
47887         * src/SDCCmain.c (linkEdit): modifications only for pic16 port,
47888         add relFilesSet to $3, manipulate $2 to handle linking of object
47889         files without source files in command line,
47890         * device/include/pic16 (all headers): added ID location macros,
47891         * src/pic16/device.c (struct PIC16_device Pics16[]): added field
47892         entries for ID location bytes,
47893         * (pic16_assignIdByteValue): NEW,
47894         * src/pic16/device.h: new structures idRegInfo_t and idBytesInfo_t,
47895         added field dumpcalltree to pic16_options_t,
47896         * src/pic16/gen.c (genCmp): fixed bug case so a temporary register
47897         is used instead of pic16_Gstack_base_addr, check if (ifx) before
47898         emitting rFalseIfx label after check_carry label,
47899         * src/pic16/glue.c (PIC16_IS_IDLOC_ADDRESS, PIC16_IS_HWREG_ADDRESS,
47900         pic16_emitDIRegs), NEW
47901         * (pic16glue): dump .calltree file when option --calltree found,
47902         * src/pic16/main.c (OPTION _pic16_optionsTable): new option --calltree
47903         * (_pic16_genAssemblerPreamble): emit ID locations after
47904         configuration registers,
47905         * (pic16_linkCmd): modifications of the link command,
47906         * src/pic16/pcode.c (pic16_pciMOVFF): PCC_REGISTER replaces PCC_REGISTER2
47907         * (pic16_pCodeInitRegisters): don't init stack registers,
47908         * (pic16_findPrevInstruction): fixed bug,
47909         * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): fixed
47910         bug with immediate registers,
47911         * (buildCallTree): traces stack push and pop,
47912         * (pct2): dump also stack usage for each function,
47913         * src/pic16/ralloc.c (dynrIdx): registers names start from 0x00
47914         * (pic16_allocDirReg): various modifications,
47915         * (pic16_typeRegWithIdx): when searching pic16_dynProcessorRegs set
47916         fixed to 1,
47918 2004-07-02 Vangelis Rokas <vrokas AT otenet.gr>
47920         * src/pic16/pcode.c: removed buggy double colon
47922 2004-07-01 Borut Razem <borut.razem AT siol.net>
47924         * support/scripts/sdcc.nsi: added include/pic16 to setup
47926 2004-06-30 Vangelis Rokas <vrokas AT otenet.gr>
47928         * device/lib/Makefile.in: fixed bug in target objects-pic16,
47929         * device/lib/pic16/Makefile: prefixed with dash (-) command under
47930         target 'clean',
47931         * doc/sdccman.lyx: changed version to 2.4.2 and added some port
47932         specific command line arguments. Also added sample lkr script
47933         for placing a variable at a specific memory bank.
47934         * src/pic16/device.c (pic16_dump_gsection): NEW, to dump variables
47935         at a specific memory bank,
47936         * (pic16_dump_isection): fixed bug which caused string literals to
47937         be omitted when dumping idata section,
47938         * (pic16_groupRegistersInSection): added code to handle registers
47939         in specific memory banks,
47940         * src/pic16/gen.c: labelOffset is prefixed with pic16_ and made
47941         public, all references are renamed too,
47942         * (pic16_aopGet): removed switch cases for AOP_R0,AOP_R1,AOP_DPTR,
47943         AOP_DPTR2,
47944         * (pic16_storeForReturn): added case to handle when dest is WREG,
47945         * src/pic16/genarith.c (pic16_pCodeOpSubType): NEW,
47946         * src/pic16/glue.c (pic16emitRegularMap): when adding a register in
47947         pic16_rel_udata, check to see if that register is marked as being
47948         a member of a specific memory bank,
47949         * (pic16_printIvalCharPtr): added code to add string literals either
47950         to code or the idata sections,
47951         * src/pic16/main.c (_process_pragma): added \n to WHITE constant,
47952         also accept the 'udata' pragma,
47953         * src/pic16/main.h: new structure types sectName and sectSym
47954         * src/pic16/pcode.c: added new pCodeInstruction entry for BANKSEL
47955         * (newpCodeOpBit): added PIC_OPTYPE subt in function prototype,
47956         * (pic16_findPrevInstruction): fixed, it returned nothing,
47957         * (insertBankSwitch): fixed to emit banksel/skip and skip/banksel
47958         instruction combinations,
47959         * (pic16_FixRegisterBanking): heavily reorganised,
47960         * (pic16_AnalyzeBanking): if generating banksel directives is
47961         disabled, then don't call FixRegisterBanking at all,
47962         * src/pic16/ralloc.c (bitEQUs, aliasEQUs, allDefsOutOfRange):
47963         completely removed,
47964         * (pic16_writeUsedRegisters): added call to pic16_dump_gsection
47966 2004-06-29 Bernhard Held <bernhard AT bernhardheld.de>
47968         * src/SDCCglue.c (printChar): fixed bug #973350, patch provided by
47969         Phuah Yee Keat <yk.phuah AT nestac.com>
47971 2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
47973         * src/pic16/glue.c (pic16createInterruptVect): function now emits
47974         correctly the IVT even if it is relocated to some other location
47976 2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
47978         * device/include/pic16/pic18fregs.h: added case for pic18f2220.h
47979         * device/include/pic16/pic18f2220.h: NEW,
47980         * device/lib/pic16/libdev/pic18f2220.c: NEW,
47981         * device/lib/pic16/libdev/Makefile: added 18f2220 in DEVS,
47982         * src/pic16/device.c (struct Pics16): added info for 18f2220,
47983         * src/pic16/device.h (struct pic16_options): added ivt_loc and
47984         nodefaultlibs, ivt_loc is the location of the interrupt vector
47985         table, and nodefaultlibs signs that default libraries should not be
47986         linked in link stage,
47987         * src/pic16/gen.c (genFunction): relocate interrupt vector functions
47988         according to --ivt-loc argument,
47989         * src/pic16/main.c (_process_pragma): emit '_stack' as public symbol
47990         when pragma stack is found,
47992 2004-06-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47994         * src/mcs51/peeph.def: added peepholes 182.d (return 0.0),
47995         256 (range check), 257 (do while), 258.a-f (bit banging
47996         f.e. on 3-wire SPI bus)
47998 2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48000         * src/SDCClrange.c (findNextUseSym): fixed a live range bug with
48001         variables used exclusively within a loop
48003 2004-06-21 Bernhard Held <bernhard AT bernhardheld.de>
48005         * src/mcs51/gen.c (genCpl): quick fix for bug #974835
48007 2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48009         * src/SDCClrange.c (computeClash): fixed bug #971834
48011 2004-06-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48013         * src/mcs51/gen.c (genCmp): fixed bug #975903
48014         * src/hc08/gen.c (operandsEqu),
48015         * src/ds390/gen.c (operandsEqu),
48016         * src/z80/gen.c (operandsEqu),
48017         * src/pic/gen.c (operandsEqu),
48018         * src/pic16/gen.c (operandsEqu),
48019         * src/mcs51/gen.c (operandsEqu): fixed bug #976283
48020         * src/SDCCmain.c (parseCmdLine): report --unknown-option only once
48022 2004-06-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48024         * src/SDCCcse.c (cseBBlock): fixed bug #966963
48026 2004-06-12 Vangelis Rokas <vrokas AT otenet.gr>
48028         * src/pic16/gen.c (genPointerGet): added E_INTERNAL_ERROR for
48029         default case in switch statement,
48030         * glue.c (pic16_initPointer): expr is initialised via decoarteType
48031         to eliminate problem with initialisation of pointers, but problem
48032         still exists,
48033         * (pic16_pointerTypeToGPByte): removed, no needed for pic16,
48034         * (emitStaticSegment): removed various lines emitting debug info,
48035         * src/pic16/pcode.c, src/pic16/pcode.h, src/pic16/ralloc.h:
48036         added processor registers for utilizing EEPROM,
48037         * src/pic16/pcode.c (pic16_emitDB): number of DBs emitted is not
48038         configurable and set 8
48040 2004-06-08 Vangelis Rokas <vrokas AT otenet.gr>
48042         * .version: increased version number to 2.4.2,
48044         Cumulative patch for pic16 port
48045         * src/pic16/device.c: changed scheme to dump initial values for
48046         variables in idata segment, all print_idata* functions were removed,
48047         now the pic16_printIval* will be called,
48048         * src/pic16/glue.c: (pic16_initPointer, pic16_pointerTypeToGPByte,
48049         * _pic16_printPointerType, pic16_printPointerType,
48050         * pic16_printGPointerType, pic16_printIvalArray, pic16_printIvalStruct,
48051         * pic16_printIvalBitFields, pic16_printIvalFuncPtr, pic16_printIvalPtr:
48052         NEW, similar to the respective functions in SDCCglue.c,
48053         * src/pic16/pcode.c (pic16_emitDB, pic16_flushDB): reverted to old
48054         way, emitting hex bytes,
48055         * (pic16_emitDS): NEW, emits a string for pointer initialisation,
48057 2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48059         * src/avr/ralloc.c (serialRegAssign),
48060         * src/xa51/ralloc.c (serialRegAssign),
48061         * src/pic/ralloc.c (serialRegAssign),
48062         * src/pic16/ralloc.c (serialRegAssign),
48063         * src/hc08/ralloc.c (serialRegAssign),
48064         * src/z80/ralloc.c (serialRegAssign),
48065         * src/ds390/ralloc.c (serialRegAssign),
48066         * src/mcs51/ralloc.c (serialRegAssign): fixed bug #964479
48068 2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48070         * src/SDCCicode.c (geniCodeJumpTable): fixed bug #967601
48071         * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug #966505
48073 2004-06-07 Vangelis Rokas <vrokas AT otenet.gr>
48075         Cumulative patch for pic16 port:
48076         * src/pic16/device.h (typedef PIC16_device) modified fields for
48077         defining microcontrollers,
48078         * src/pic16/device.c: added new info for all devices in Pics16 array,
48079         * src/pic16/gen.c (genPcall): fixed bug that caused the return label
48080         to be optimised out by the pCode optimiser,
48081         * src/pic16/glue.c (pic16emitRegularMap): treat implicit aggragates
48082         specially, bug reported by G.M. Gallant,
48083         * src/pic16/pcode.c (pic16_newpCodeLabelFORCE): NEW, marks a label
48084         as force'd so that cannot be optimised out by pCode optimiser,
48085         * src/pic16/pcode.c,
48086         * src/pic16/pcodepeeph.c,
48087         * src/pic16/pcoderegs.c: many modifications to re-enable peepholes,
48088         they are disabled by default, but can be enabled explicit with
48089         command argument --denable-peeps, for testing,
48090         * device/lib/pic16/startup/Makefile: added --no-peep,--pomit-config-words,
48091         --pomit-ivt in COMPILE_FLAGS
48093 2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
48095         * src/pic16/pcode.c (pic16_emitDB): removed double semicolon which fails
48096           compilation on MSVC
48098 2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
48100         * device/include/sab80515.h: added sfr P6, changed GPL to LGPL
48102 2004-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48104         device/include/sab80515.h: fixed bug #967492, DAPR is defined at adress
48105         0xd8, but the correct adress is 0xda. Thanks to anonymous for reporting
48107 2004-06-06 Vangelis Rokas <vrokas AT otenet.gr>
48109         * src/pic16/device.c (pic16_assignConfigWord): fixed bug that
48110         would only assign 0x300001 register.
48112 2004-06-05 Vangelis Rokas <vrokas AT otenet.gr>
48114         * device/lib/pic16/startup/Makefile: added $(MODELFLAGS)
48115         in COMPILE_FLAGS. Thanks to G. Gallant for report.
48117 2004-06-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48119         * doc/sdccman.lyx: minor changes, mentioned beta vendor support
48120         for ds80c400
48121         * src/mcs51/peeph.def: ran unexpand -a over peeph.def
48122         * src/mcs51/peeph.def: removed obsolete peephole 100.a,
48123         added peephole 254 (left shift), 255 (jump table)
48125 2004-06-04 Vangelis Rokas <vrokas AT otenet.gr>
48127         * device/lib/Makefile.in: removed comment line with model-pic16,
48128         * (target port-specific-objects-pic16): the libraries and objects
48129         are copied to the build directory form the device/lib/pic16/bin
48130         directory
48132         Cumulative patch concerning pic16 port:
48133         * library directory has been re-organized,
48134         * added support for PIC18F1220,
48135         * added headers and library sources for chips 18f1220,18f6520,
48136         18f6620,18f6680,18f6720,18f8520,18f8620,18f8680,18f8720
48138         * configuration registers setting has changed, now each supported
48139         device has a complete description of the registers it uses,
48140         * all initialisations are moved to idata sections, these section
48141         can be absolute or relocatable,
48142         * fixed initialisation of codespace variables,
48143         * fixed warning about PCLATU and gpsim,
48144         * src/pic16/gen.c (genCmp): now can handle partially iCodes with no ifx,
48145         * (genAssign): use table reads when assigning from variables in codespace,
48146         * src/pic16/glue.c (pic16emitStaticSeg): fixed to correctly initialise
48147         char/int variables placed in codespace,
48148         * (pic16_emitConfigRegs): NEW, emits a list with configuration
48149         registers set in .asm file, no need for --pomit-config-words anymore,
48150         * (pic16glue): some 8051 legacy segments are commented out
48151         (to be removed completely),
48152         * added support for alternative assembler and linker with --asm=
48153         and --link= command line arguments,
48154         * peepholes are disabled automatically in the port, no need to
48155         specify on command line,
48156         * port supports natively char/int/long multiplication, but converts
48157         all divisions to support functions,
48158         * main.c: pic16_linkCmd and pic16_asmCmd changed to force output
48159         to the file set in variable $2,
48160         * pcode.c (pic16_emitDB, pic16_flushDB): modified to print printable
48161         strings in ASCII format and not in hex,
48162         * ralloc.c (serialRegAssign): added a triplet of conditional calls
48163         to pic16_allocDirReg for IC_RESULT, IC_LEFT and IC_RIGHT so to
48164         allocate proper register if iCodes aren't temporary,
48166 2004-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
48168         * support/regression/tests/zeropad.c: added TEST_G macro for alpha
48170 2004-06-02 Vangelis Rokas <vrokas AT otenet.gr>
48172         * src/pic16/gen.c (genPcall): warning about gpsim and PCLATU
48173         is commented out
48175 2004-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48177         * src/hc08/gen.c (genPointerGetSetOfs): disabled optimization if
48178         computed address is reused
48179         * src/hc08/gen.c (genPackBits): fixed offsets in assignments to
48180         multi-byte bitfields
48182 2004-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
48184         * src/z80/gen.c: (genArrayInit): must check for pointers too
48186 2004-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
48188         * support/regression/tests/zeropad.c: never meant to commit the
48189           nestedstruct test: removed, added check for GCC version
48191 2004-05-31 Maarten Brock <sourceforge.brock AT dse.nl>
48193         * src/SDCCast.c (createIvalArray): fixed bug 770487 SIGSEGV
48194         * src/SDCCglue.c (emitRegularMap): fixed bug 770484 allocation problem
48195         * src/SDCCglue.c (initPointer, printIvalType, printIvalStruct,
48196           printIvalArray, printIvalFuncPtr, printIvalPtr, printIval): fixed
48197           bugs 928906 and 954082 half-empty initializers
48198         * src/SDCCsymt.h,
48199         * src/SDCCsymt.c (getAllocSize): added for above fix
48200         * src/z80/gen.c (genArrayInit): fixed bug 741044
48201         * support/regression/tests/zeropad.c: added tests
48203 2004-05-30 Vangelis Rokas <vrokas AT otenet.gr>
48205         * src/pic16/device.c (pic16_dump_section): corrected bug which
48206         caused some symbols of the libraries to be misplaced
48208 2004-05-28 Vangelis Rokas <vrokas AT otenet.gr>
48210         * src/pic16/glue.c,
48211         * src/pic16/ralloc.h,
48212         * src/pic16/ralloc.cc: prefixed IS_CONFIG_ADDRESS with PIC16_
48213         to fix conflict with pic port
48215 2004-05-28 Vangelis Rokas <vrokas AT otenet.gr>
48217         * src/pic16/glue.c (pic16emitStaticSeg): do not print as publics or
48218         externs configuration variables,
48219         * src/pic16/ralloc.h,
48220         * src/pic16/ralloc.cc: IS_CONFIG_ADDRESS is made public and added
48221         prototype in header, commented out some debug messages
48223 2004-05-26 Vangelis Rokas <vrokas AT otenet.gr>
48225         * src/pic16/glue.c,
48226         * src/pic16/main.c,
48227         * src/pic16/pcode.c: added gpasm directives #FILE/#LINE
48228         for gpasm COFF object generation. Thanks to D. Hawkins for
48229         his patch info
48231 2004-05-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48233         * src/ds390/main.c,
48234         * src/mcs51/main.c: fixed sort order of mnemonics (thanks to Maarten
48235         Brock for spotting this)
48236         * src/ds390/gen.c (genEndFunction),
48237         * src/mcs51/gen.c (genEndFunction): always save psw if function is an
48238         interrupt handler and critical. Disable push/pop optimizations when
48239         peephole optimizations disabled.
48241 2004-05-25 Vangelis Rokas <vrokas AT otenet.gr>
48243         Updated pic16 library sources and headers.
48244         * device/lib/pic16/pic18f*/ ,
48245         * device/include/pic16/*.h: modified to handle structured SFR
48246         definitions
48248 2004-05-25 Vangelis Rokas <vrokas AT otenet.gr>
48250         * src/port.h (PORT structure): added hook initPaths, now each
48251         port can declare its own default search paths,
48252         which can been seen with the --print-search-dirs option,
48253         see pic16 port for example,
48254         * src/SDCCmain.c (setBinPaths, setIncludePaths, setLibPath,
48255         setDataPaths): test to options.printSearchDirs is ifdef'ed out,
48256         * (doPrintSearchDirs): NEW, replaces in a central manner the
48257         printing of search dirs which was split in set*Paths functions,
48258         * (main): added call to port->initPaths and doPrintSearchDirs,
48259         * src/avr/main.c,
48260         * src/ds390/main.c,
48261         * src/hc08/main.c,
48262         * src/izt/i186.c,
48263         * src/izt/tlcs900h.c,
48264         * src/mcs51/main.c,
48265         * src/pic/main.c,
48266         * src/pic16/main.c: modified port structures to reflect addition of
48267         initPaths hook,
48269         * src/pic16/device.c (regCompare): registers are finally sorted by name,
48270         * (pic16_dump_section): for registers in same address reserve memory once,
48271         * src/pic16/device.h (struct PIC16_device): changed variable gen_banksel
48272         to no_banksel,
48273         * src/pic16/genarith.c (pic16_genPlus): added code to handle cases where
48274         result is greater in size than right or left,
48275         * (pic16_genUMult8X8_8): there are some cases where the result can
48276         be 16 bits size, so handle these,
48277         * src/pic16/gen.c: changed some pic16_emitpcomment to DEBUGpic16_emitcode,
48278         * (pic16_outBitC): modified to emit pcodes,
48279         * (pic16_storeForReturn): using is_LitOp to see if operand is literal
48280         or not,
48281         * (genDivOneByte): implemented algorithm to divide 8-bits,
48282         * (genCmp): uncommented goto, but issues still exist,
48283         * (genAnd): fixed a bug with variables >8bits,
48284         * (genPackBits): optimization added that uses BCF/BSF to change a
48285         single bit,
48286         * (genAssign): fixed bug when assigning floating point literals,
48287         * src/pic16/glue.c (pic16glue): added assembler directive 'code' before
48288         __sdcc_gsinit_startup label,
48289         * src/pic16/main.c (_pic16_init): removed search directory
48290         initialisations,
48291         * (_pic16_initPaths): NEW, used to initialise search directories,
48292         * (_hasNativeMulFor): support functions for all except char/int
48293         multiplication, and char division,
48294         * (PIC16_port struct): modified entry for native mul support,
48295         * src/pic16/pcode.c (insertBankSwitch): modified to support the renamed
48296         no_banksel option,
48297         * (buildCallTree): call to register_usage is ifdef'ed out,
48299 2004-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48301         * device/include/string.h: applied Stas Sergeev's patch to make this
48302         header file compatible with the preprocessor -Wundef option
48303         * src/SDCCmain.c (main): abort compilation if preprocessor reports
48304         failure (fixes bug #941458)
48306 2004-05-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48308         * src/SDCCopt.c (killDeadCode): fixed bug #907733
48309         * support/Util/SDCCerr.c: reworded E_AUTO_ASSUMED diagnostic to clarify
48310         that the variable, not the function, should be static
48311         * src/SDCCval.c (valCastLiteral): fixed bit initialization from literal
48312         to be consistent with non-literal case
48314 2004-05-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48316         * src/SDCCast.c (isConformingBody): fixed bug #949967
48317         * src/SDCCopt.c (cnvToFcall, cnvToFloatCast, cnvFromFloatCast,
48318         convilong): fixed bug #952086
48320 2004-05-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48322         * src/SDCCmem.c (allocVariables): fixed bug #955321
48324 2004-05-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48326         * src/hc08/main.c (_hc08_genAssemblerEnd),
48327         * src/SDCCdwarf2.c (dwOpenFile, dwCloseFile, dwWriteFunction,
48328         dwWriteModule, dwWriteCLine, dwWriteALine, dwarf2FinalizeFile):
48329         completely eliminated the use of a temporary file
48330         * src/SDCCdwarf2.c (dwWriteAttr): fixed bug with location list offset
48331         when more than one file linked
48332         * src/SDCCloop.c (pointerAssigned): fixed bug #954163
48334 2004-05-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48336         * src/SDCCval.c (valForArray): applied Maarten Brock's patch #947682
48337         which fixes bug #543481
48338         * support/regression/tests/bug-751703.c: fixed comments left from a
48339         cut and paste error
48340         * src/SDCCdwarf2.c (dwCloseFile): don't explicitly close a temp file
48341         * src/SDCCdwarf2.c (dwTagFromType): added bitfield support
48342         * src/SDCCdwarf2.c (dwWriteSymbolInternal): handle extern within local
48343         scopes
48344         * src/SDCCdwarf2.c (dwWriteLineNumber): line number deltas are signed
48345         * src/SDCCmain.c (processFile, parseCmdLine): non-alphanumeric chars
48346         are now changed to underscores in moduleName
48348 2004-05-15 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48350         * as/mcs51/lkmem.c: better fix for bug #954173
48352 2004-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
48353         committed by Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48355         * device/include/c8051f020.h: newly added SiLabs (Cygnal) header file
48356         * device/include/c8051f000.h,
48357         * device/include/c8051f120.h,
48358         * device/include/c8051f300.h,
48359         * device/include/c8051f310.h,
48360         * device/include/c8051f320.h: updated (added _XPAGE, CAPN, CAPP,
48361         PWM16) and detab'ed
48363 2004-05-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48365         * doc/sdccman.lyx: mentioned sourceforge's delay between web frontend
48366         and mailing lists, doc'ed --no-peep-comments, removed reference
48367         to knoppix (newest version has no LyX/LaTeX), other minor changes
48368         * src/SDCCglue.c (glue): save 2 bytes stack space with
48369         option --main-return. The ljmp could probably be avoided too
48371 2004-05-14 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48373         * as/mcs51/lkmem.c, as/mcs51/lkaomf51: fixed bug 954173
48375 2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48377         * src/SDCCsymt.h: added IS_AUTO(symbol) test macro
48378         * src/SDCCopt.c (isLocalWithoutDef),
48379         * src/SDCCicode.c (operandFromSymbol): use the IS_AUTO test macro
48380         which adds a !IS_EXTERN codition. Fixes bugs #877426 and #751703.
48381         (credit to Maarten Brock for patch #949363, on which this is based)
48382         * support/regression/tests/bug-751703.c: some test cases of extern used
48383         within inner scopes.
48385 2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48387         * src/SDCCdwarf2.c (dwMatchTypes): structs must have matching
48388         SPEC_STRUCT
48389         * src/SDCCdwarf2.c (dwTagFromType): fix to handle recursive
48390         struct definitions
48391         * src/SDCCdwarf2.c (dwWriteModule, dwNewDebugSymbol, dwWriteEndFunction,
48392         dwWriteLabel): fix to create valid debugger symbols even when
48393         the module name has non-alphanumeric symbols in it
48394         * src/SDCCdwarf2.c (dwWriteSymbolInternal): better detection for
48395         when a variable's allocation has been optimized away
48398 2004-05-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48400         * src/hc08/gen.c (hc08_emitDebuggerSymbol),
48401         * src/hc08/main.c,
48402         * src/mcs51/gen.c (mcs51_emitDebuggerSymbol),
48403         * src/mcs51/main.c,
48404         * src/ds390/gen.c (ds390_emitDebuggerSymbol),
48405         * src/ds390/main.c,
48406         * src/z80/gen.c (z80_emitDebuggerSymbol),
48407         * src/z80/main.c,
48408         * src/pic/gen.c (pic14_emitDebuggerSymbol),
48409         * src/pic/main.c,
48410         * src/pic16/gen.c (pic14_emitDebuggerSymbol),
48411         * src/pic16/main.c,
48412         * src/avr/gen.c (avr_emitDebuggerSymbol),
48413         * src/avr/main.c,
48414         * src/xa51/gen.c (xa51_emitDebuggerSymbol),
48415         * src/xa51/main.c,
48416         * src/SDCCdebug.c (emitDebuggerSymbol),
48417         * src/SDCCdebug.h,
48418         * src/port.h: added a debugger struct to the port struct. Added a
48419         callback for defining debugger symbols
48421         * src/SDCCast.c (createLabel),
48422         * src/SDCC.y (labeled_statement): mark all compiler generated labels
48423         with isitmp = 1
48424         * src/SDCCicode.h,
48425         * src/SDCCicode.c (geniCodeFunctionBody): added a link from the FUNCTION
48426         iCode back to the ast for the function
48428         * src/hc08/ralloc.c (hc08_assignRegisters),
48429         * src/hc08/ralloc.h: define a regs struct for the stack pointer. Removed
48430         unneeded fields from the regs struct.
48431         * src/hc08/gen.c (transferRegReg, genFunction, genEndFunction): use the
48432         pushReg() & pullReg() functions instead of emitcode()
48434         * src/hc08/gen.c (genLabel, genhc08Code),
48435         * src/SDCCdebug.h: Added additional debugger hooks needed for DWARF
48437         * src/cdbFile.c (cdbWriteLabel, cdbWriteScope): Added stubs for unneeded
48438         debugger hooks
48440         * src/hc08/gen.c (genEndFunction, genhc08Code),
48441         * src/hc08/gen.h,
48442         * src/mcs51/gen.c (genEndFunction, gen51Code),
48443         * src/mcs51/gen.h,
48444         * src/ds390/gen.c (genEndFunction, gen390Code),
48445         * src/ds390/gen.h,
48446         * src/z80/gen.c (genEndFunction, genZ80Code),
48447         * src/z80/gen.h,
48448         * src/z80/z80.h,
48449         * src/pic/gen.c (genEndFunction, genpic14Code),
48450         * src/pic/gen.h,
48451         * src/pic16/gen.c (genEndFunction, genpic16Code),
48452         * src/pic16/gen.h,
48453         * src/avr/gen.c (genEndFunction, genAVRCode),
48454         * src/avr/gen.h,
48455         * src/xa51/gen.c (genEndFunction, genXA51Code),
48456         * src/xa51/gen.h,
48457         * src/cdbFile.c (cdbWriteFunction, cdbWriteEndFunction): moved cdb
48458         specific code to cdbFile.c and out of the backend code generators
48460         * as/hc08/lkmain.c (main): removed OMF51 support from link-hc08
48461         * as/hc08/lkarea.c (lnkarea): areas with NOLOAD attribute default
48462         starting address is now 0
48464         * as/hc08/asm.h,
48465         * as/hc08/m08pst.c,
48466         * as/hc08/asmain.c (asmbl): implemented the .sleb128 and .uleb128
48467         assembler directive for DWARF support
48468         * as/hc08/lkelf.c (elf): only increment address when rtflg[] set
48470         * src/src.dsp,
48471         * src/Makefile.in,
48472         * src/SDCCdwarf2.c: preliminary DWARF (ver 2) debugger data generator
48474 2004-05-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48476         * src/hc08/gen.c (genJumpTab, emitcode, genhc08code): fixed stack error
48477         and inappropriate peephole optimization in jump tables
48479 2004-04-30 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48481         * as/hc08/m08pst.c,
48482         * src/SDCCglue.c: sdccopt works for the hc08 port now
48484 2004-04-27 Bernhard Held <bernhard AT bernhardheld.de>
48486         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): fixed bug #942130
48488 2004-04-27 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48490         * as/hc08/lkelf.c: sdccconf.h is not available in WIN32
48492 2004-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48494         * src/SDCCpeeph.c (replaceRule): support empty replacement peephole
48495         rules
48496         * src/SDCCmain.c,
48497         * src/SDCCglobl.h,
48498         * src/SDCCpeeph.c (getPeepLine): new option --no-peep-comments omits
48499         comments from the peephole optimizer replacement rules
48500         * src/SDCCmem.c (printAllocInfoSeg): give actual location of spilled
48501         symbols
48502         * src/SDCCcse.c (updateSpillLocation),
48503         * src/SDCCopt.c (killDeadCode, findReqv): better tracking of register
48504         equivalents
48505         * src/hc08/ralloc.c (regTypeNum): pseudo symbols must be in DATA only
48506         * src/hc08/main.c (_hc08_finaliseOptions): made pointers to stack
48507         objects far pointers
48509 2004-04-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48511         * src/SDCCsymt.h: a missing part of my last change
48512         * src/pic/ralloc.c (regTypeNum),
48513         * src/pic16/ralloc.c (regTypeNum): fixed statement/declaration order
48515 2004-04-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48517         * src/SDCCicode.h,
48518         * src/SDCCicode.c (aggrToPtrDclType),
48519         * src/SDCCptropt.h,
48520         * src/SDCCptropt.c (ptrBaseRematSym, ptrPseudoSymSafe,
48521         ptrPseudoSymConvert),
48522         * src/pic/ralloc.c (regTypeNum),
48523         * src/pic16/ralloc.c (regTypeNum),
48524         * src/hc08/ralloc.c (regTypeNum),
48525         * src/ds390/ralloc.c (regTypeNum),
48526         * src/mcs51/ralloc.c (regTypeNum): check for dependancy hazards before
48527         creating pseudo symbols (fixed bugs #777768, #930484, and #933966)
48529 2004-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48531         * link/z80/lkmain.c (afile),
48532         * as/hc08/lkmain.c (afile),
48533         * as/mcs51/lkmain.c (afile): fix suggested by Maarten Brock to
48534         prevent a pointer problem when a filename has no directory and
48535         no extension specified.
48537 2004-04-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48539         * link/z80/lkmain.c (afile): allow periods in directory names
48540         * link/z80/lkmain.c (afile),
48541         * as/mcs51/lkmain.c (afile),
48542         * as/hc08/lkmain.c (afile): allow linker script file to have an
48543         extension other than ".lnk"
48544         * link/z80/lklex.c (getfid),
48545         * link/z80/lkmain.c (parse),
48546         * as/mcs51/lklex.c (getfid),
48547         * as/mcs51/lkmain.c (parse),
48548         * as/hc08/lklex.c (getfid),
48549         * as/hc08/lkmain.c (parse): Support comments in the linker script
48550         file on lines by themselves and after filenames
48552 2004-04-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48554         * as/link_hc08.dsp: Added as/hc08/lkelf.c to project.
48556 2004-04-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48558         * src/z80/peeph-z80.def: removed some peephole rules that don't
48559         work with multibyte arithmetic (fixed bug #937126)
48560         * src/mcs51/peeph.def: fixed peephole rules 150-158 to apply only
48561         to registers and not global variables
48562         * src/SDCCicode.c (geniCodeAssign, ast2iCode, geniCodePostInc,
48563         geniCodePreInc, geniCodePostDec, geniCodePreDec,
48564         geniCodeLogicAndOr, geniCodeConditional): enforce strict lvalue
48565         checking for assignments not internally generated (fixed bug #931895)
48566         * src/SDCC.y (postfix_expr): ignore typedefs when looking for a
48567         structure member (fixed bug #930072)
48569 2004-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48571         * src/SDCCmain.c (linkEdit),
48572         * src/hc08/main.c (_hc08_parseOptions),
48573         * as/hc08/Makefile.in,
48574         * as/hc08/aslink.h,
48575         * as/hc08/asm.h,
48576         * as/hc08/m08pst.c,
48577         * as/hc08/lkrloc.c (relr, rele),
48578         * as/hc08/lkarea.c (lnkarea)
48579         * as/hc08/lkmain.c (afile, parse),
48580         * as/hc08/lkelf.c: support for ELF output
48581         * as/hc08/lks19.c (s19),
48582         * as/hc08/lkihx.c (ihx): ignore areas with the NOLOAD attribute
48584 2004-04-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48586         * as/mcs51/lkihx.c: Fixed bug #899105.
48588 2004-04-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48590         * doc/sdccman.lyx: Added instructons on how to convert MSVC .dsw and
48591         .dsp files from Unix to DOS.
48593 2004-04-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48595         * doc/sdccman.lyx: removed the ANSI-C noncompliance note regarding
48596         function pointers; we have been compliant for several months now.
48597         * src/mcs51/ralloc.c (serialRegAssign): enabled part of my 2004-04-13
48598         change that was accidently commented out
48599         * src/mcs51/gen.c (freeAsmop, getFreePtr, freeForBranchAsmop, genIfxJump,
48600         genCmpEq, jmpTrueOrFalse, genCmp, genAnd, genOr, genXor, genIfx): fixed
48601         bug #922319
48603 2004-04-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48605         * src/hc08/gen.c: output of all of the internal debugging information
48606         is now controlled by the D() macro; it is disabled by default
48608 2004-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48610         * src/mcs51/ralloc.c (serialRegAssign, fillGaps, allocThisReg): try
48611         harder to keep the same registers during a CAST iCode
48612         * src/SDCCopt.c (optimizeCastCast, eBBlockFromiCode): casts of char to
48613         long via int can be done in a single cast, if the signedness is
48614         correct.
48615         * support/regression/tests/bug-927659.c: fixed to avoid conflict with
48616         putchar() in tinibios.c in ds390's library
48618 2004-04-12 Bernhard Held <bernhard AT bernhardheld.de>
48620         * src/SDCCast.c (decorateType): fixed bug #898889,
48621         cast result of a literal complement too
48622         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #930931,
48623         fixed check for bitfields
48625 2004-04-11 Bernhard Held <bernhard AT bernhardheld.de>
48627         * src/SDCCicode.c (geniCodeLogic): made it static,
48628         (geniCodeLogicAndOr): added in order to fix bug #905492,
48629         (ast2iCode): fixed bug #905492
48630         * support/regression/tests/bug-905492.c: added
48631         * src/SDCCast.c (decorateType): don't decorate/process parms twice,
48632         (processParms): fixed bug #927659: don't copy parms, this will clear
48633         decorated flag
48634         * support/regression/tests/bug-927659.c: added
48636 2004-03-29 Bernhard Held <bernhard AT bernhardheld.de>
48638         * src/SDCCast.c (addCast): don't cast float to char
48639         * device/lib/libsdcc.lib: added _memmove
48641 2004-03-28 Bernhard Held <bernhard AT bernhardheld.de>
48643         * device/lib/large/Makefile: fixed parallel execution by
48644         replacing `make` by `$(MAKE)`
48646 2004-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48648         * src/hc08/gen.c (genPointerGetSetOfs): correctly handle 1 byte array
48649         offsets (fixes bug #923936)
48651 2004-03-26 Bernhard Held <bernhard AT bernhardheld.de>
48653         * device/lib/small/Makefile: fixed parallel execution by
48654         replacing `make` by `$(MAKE)`
48656 2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
48658         * device/lib/vprintf.c (vsprintf): minor optimization, see bug #801101
48660 2004-03-23  Scott Dattalo  <scott AT dattalo.com>
48662         * src/pic/gen.c (genCpl): multi-byte complements were not working.
48663         * src/regression/Makefile: Regression test was not running.
48665 2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
48667         * src/SDCCast.c (resultTypePropagate, decorateType): avoid promotion to int for
48668         complement if possible
48669         * src/SDCCval.c (valComplement),
48670         * src/SDCCicode.c (operandOperation): fixed complement of literal
48671         * support/regression/tests/onebyte.c (testComplement): added
48673 2004-03-22 Bernhard Held <bernhard AT bernhardheld.de>
48675         * src/SDCCast.c (processParms): fixed bug #920866; decorateType() can
48676         return an optimized tree; actually replace actParm with the new tree
48677         * src/SDCCast.h: added some parantheses to remove side effects
48678         * support/regression/tests/bug-920866.c
48680 2004-03-21  Scott Dattalo  <scott AT dattalo.com>
48681         * src/pic/gen.c, src/pic/gen.h, src/pic/genarith.c, src/pic/pcode.c:
48682         Bit operands were not being handled properly in the pic14 port.
48683         (now src/regression/add.c passes again).
48685 2004-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48687         * src/SDCC.y (labeled_statement): case and default no longer require
48688         a following statement (RFE #893037)
48690 2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48692         * src/mcs51/gen.c (pushSide, genSignedRightShift, genDjnz, geniPush):
48693         use MOVA macro to avoid "mov a,acc" when peephole optimizer is
48694         disabled (fixes bug #916294)
48695         * sim/ucsim/s51.src/mov.cc (inst_mov_a_addr): Throw an error on
48696         "mov a,acc"; patch provided by Lenny Story
48697         * device/include/mc68hc908gp32.h: header contibuted by Juan Gonzalez
48699 2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48701         * src/mcs51/gen.c (genFunction): optimize RECEIVE in reentrant
48702         functions
48703         * src/ds390/gen.c (genFunction, genEndFunction),
48704         * src/ds390/ralloc.c (ds390_assignRegisters),
48705         * src/mcs51/gen.c (genFunction, genEndFunction, mcs51_assignRegisters):
48706         * src/mcs51/ralloc.c (mcs51_assignRegisters): Skip optimizing registers
48707         pushed if there are parameters passed on the stack. Also, a cleaner
48708         way to decide if r0/r1 should be pushed/popped. (Together they fix
48709         bug #918693)
48711 2004-03-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48713         * doc/sdccman.lyx,
48714         * device/lib/mcs51/crtpagesfr.asm,
48715         * device/lib/mcs51/crtxinit.asm,
48716         * device/lib/mcs51/crtxstack.asm: Changed name of _PAGESFR to _XPAGE
48717         to avoid confusion with Si Lab's SFRPAGE register.
48719 2004-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48721         * src/SDCCglue.c (emitMaps): allow public sfr variables
48722         * src/SDCCglue.c (initialComments): include compiler build date
48723         with compiler version and put the timestamp of the generated
48724         assembly file on a serperate line to be less confusing.
48725         * src/port.h: added genInitStartup hook
48726         * src/avr/main.c,
48727         * src/ds390/main.c,
48728         * src/hc08/main.c,
48729         * src/pic/main.c,
48730         * src/pic16/main.c,
48731         * src/xa51/main.c,
48732         * src/z80/main.c: genInitStartup initialize as NULL (default to
48733         historical behaviour)
48734         * src/SDCCglue.c (glue): _sdcc_gsinit_startup is now port specific.
48735         * src/mcs51/main.c: (_mcs51_genInitStartup, _mcs51_genExtraAreas,
48736         _mcs51_genXINIT, _mcs51_genRAMCLEAR): link initialization code from the
48737         library instead of hard coding it into the compiler.
48738         * support/regression/ports/mcs51-stack-auto/spec.mk,
48739         * src/SDCCmain.c (linkEdit): added mcs51.lib to the link libraries
48740         * device/lib/mcs51/Makefile,
48741         * device/lib/small/Makefile,
48742         * device/lib/large/Makefile,
48743         * device/lib/mcs51/crtpagesfr.asm,
48744         * device/lib/mcs51/crtstart.asm,
48745         * device/lib/mcs51/crtxclear.asm,
48746         * device/lib/mcs51/crtxinit.asm,
48747         * device/lib/mcs51/crtclear.asm,
48748         * device/lib/mcs51/crtxstack.asm: move most of the mcs51 C runtime
48749         startup/initialization out of src/SDCCglue.c and src/mcs51/main.c
48750         and into user configurable files.
48751         * device/lib/clean.mk: clean mcs51 directory too
48752         * support/regression/tests/longlit.c: added static to T1 declaration
48753         * doc/sdccman.lyx: documented _PAGESFR sfr for customizing pdata
48754         accesses in the initialization code
48756 2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48758         * device/include/mc68hc908qy.h: corrected declarations of FLBPR and
48759         OSCTRIMVAL as noted in bug #916008
48761 2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48763         * src/SDCCloop.c (basicInduction): fixed bug with loop induction
48764         in loops with multiple exits (reported as incorrect registers
48765         used by Martin Helmling in Sdcc-user list)
48767 2004-03-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48769         * src/ds390/main.c (_ds390_genAssemblerPreamble): cosmetic change,
48770         made ds390 register extensions look less like error messages
48772 2004-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48774         * src/SDCCglue.c (printIvalPtr): fixed bug with pointer initializer
48775         reported by Adam Wozniak in Sdcc-user list
48777 2004-03-10 Bernhard Held <bernhard AT bernhardheld.de>
48779         * src/SDCCast.c (decorateType): fixed with bug and promotion in
48780         arithmetic optimizations, added debug output
48782 2004-03-09 Bernhard Held <bernhard AT bernhardheld.de>
48784         * device/lib/time.c (mktime): fixed bug reported by Bert Thomas
48785         * sdcc.spec: updated and split sdcc into 3 rpms
48786         * src/SDCCast.c (decorateType): &|^ don't need addCast(); addCast() is
48787         needed for literals of LEFT_OP and '+'
48788         * src/SDCCicode.c (geniCodeLogic): I must have been braindead when I
48789         introduced RESULT_TYPE_NOPROM
48790         (geniCodeMultiply): fixed logic for decision if mul is optimized to
48791         left shift
48792         * src/SDCCsymt.c (computeType): op is int; added RESULT_TYPE_OTHER;
48793         limited promotion to int only for '*'
48794         * src/SDCCsymt.h (computeType): op is int, removed RESULT_TYPE_NOPROM
48796 2004-03-09 Hans Dorn <hjdorn AT users.sourceforge.net>
48798         * src/pic16/gen.c (genSkip),
48799         (genc16bit2lit), (gencjneshort): commented out
48800         (is_LitOp): new helper function, checks operand type
48801         (genCmpEq): rewritten
48803 2004-03-08 Bernhard Held <bernhard AT bernhardheld.de>
48805         * support/regression/tests/bug-908454.c: added
48807 2004-03-07 Bernhard Held <bernhard AT bernhardheld.de>
48809         * src/SDCCast.c (addCast): fixed bug #908454 by promoting bits to char
48810         * src/SDCCicode.c (usualBinaryConversions): op needs int type
48811         (geniCodeCast): cosmetic, don't preserve bit storage class
48812         (geniCodeLeftShift): added promotion
48813         (geniCodeLogic): fixed regression
48814         * src/SDCCsymt.c (computeTypeOr): accept bits too
48815         (compareType): 2nd part of fix for bug #908454, needed for bitfields
48817 2004-03-07  Borut Razem <borut.razem AT siol.net>
48819         * support/Util/findme.c: alloca() replaced with malloc()/free() pair
48821 2004-03-06 Vangelis Rokas <vrokas AT otenet.gr>
48823         * src/pic16/ralloc.c (pic16_genPackRegisters): reverted to old
48824         version of pic16_genPackRegisters which does not check if ic is a
48825         CAST operator,
48826         * src/pic16/gen.c (ifxForOp): disabled new and untested code in
48827         function cause string1.c regression test fails
48829 2004-03-06 Bernhard Held <bernhard AT bernhardheld.de>
48831         * sim/ucsim/configure.in,
48832         * sim/ucsim/configure,
48833         * sim/ucsim/doc/Makefile.in: use docdir
48834         * src/SDCC.y: fixed sbit atrributes
48835         * src/SDCCast.c (getResultTypeFromType): added support for bitfields
48836         * src/SDCCast.c (decorateType): |^& need special promotion handling
48837         * src/SDCCast.h,
48838         * src/SDCCsymt.h: moved definition of RESULT_TYPE
48839         * src/SDCCsymt.h (computeType),
48840         * src/SDCCicode.c: computeType() needs op
48841         * src/SDCCsymt.c (checkTypeSanity),
48842         * doc/sddman.lyx: "plain" bitfields are unsigned
48843         * src/SDCCsymt.c (computeTypeOr): added
48844         * src/SDCCsymt.c (computeType): added support for bitfields, fixed
48845         |^& ops
48846         * src/SDCCval.c (val*): computeType() needs op
48847         * src/SDCCval.c (valCastLiteral): fixed casting of bitfields
48848         * support/regression/tests/onebyte.c: added tests for |^&
48850 2004-03-06 Hans Dorn <hjdorn AT users.sourceforge.net>
48852         * src/pic16/gen.c: (genpic16Code) use copy of printILine's output
48853         for writing icode into asm output.
48855 2004-03-05 Vangelis Rokas <vrokas AT otenet.gr>
48857         * src/pic16/device.c: added some debug lines enabled
48858         with macro DEBUG_CHECK,
48859         * src/pic16/genarith.c: more debug in genPlus,
48860         * (pic16_genUMult8XLit_16, pic16_genUMult8X8_16): removed,
48861         * (pic16_genUMult16X16_16, pic16_genUMult16XLit_16): NEW,
48862         * src/pic16/gen.c: added prototypes for pic16_genMult16X16_16,
48863         * (aopForSym): onStack symbols are re-placed in data memspace,
48864         and onStack flag is cleared,
48865         * (pic16_popGetTempReg, pic16_popReleaseTempReg): modified to
48866         copy temporary pcodeop,
48867         * (genPcall): added warning for not updating PCLATU,
48868         * (genFunction): removed test with IFFUNC_CALLEESAVES, its
48869         always true for pic16 port,
48870         * (genMultOneWord): NEW, supports integer multiplication,
48871         * (genMult): modified to call genMultOneWord,
48872         * (ifxForOp): added warning when return NULL,
48873         * src/pic16/glue.c (pic16emitRegularMap): symbol implicit
48874         flag is set before call to operandFromSymbol for implicit
48875         added structures,
48876         * src/pic16/main.c (_pic16_finaliseOptions): options.float_rent,
48877         options.intlong_rent are set by default,
48878         * (_hasNativeMulFor): modified to allow port generation of integer
48879         multiplication,
48880         * src/pic16/ralloc.c (pic16_allocDirReg): commented out line which
48881         set regtype to REG_SFR for all registers, restricting seting the
48882         accessBank flag for registers 0<= r < 0x80 and 0xf80<=r<=0xfff,
48884 2004-03-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48886         * src/mcs51/peephole.def: added 251.b and 253.x. 253.x are applied
48887         more than 500 times in the regression tests
48889 2004-03-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48891         * support/Util/SDCCerr.h,
48892         * support/Util/SDCCerr.c,
48893         * src/SDCC.y (struct_or_union_specifier, enum_specifier,
48894         enumerator_list),
48895         * src/SDCCsymt.c (addSymChain): show location of oriignal definition
48896         for symbol conflicts.
48897         * support/valdiags/tests/enum.c,
48898         * support/valdiags/tests/tentdecl.c,
48899         * support/valdiags/tests/struct.c: expect possible error messages
48900         referring to original symbol definitions.
48901         * src/SDCC.y (struct_or_union_specifier, struct_declarator),
48902         * src/SDCCsymt.h,
48903         * src/SDCCsymt.c (promoteAnonStructs): support anonymous struct/union
48905 2004-03-03 Hans Dorn <hjdorn AT users.sourceforge.net>
48907         * src/pic16/gen.c (gencjne): fixed for right=REG / left=LIT
48909 2004-02-03 Vangelis Rokas <vrokas AT otenet.gr>
48911         * src/pic16/ralloc.c (newReg): fixed bug #908929
48913 2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48915         * src/ds390/gen.c: added missing #include "main.h"
48917 2004-03-02 Vangelis Rokas <vrokas AT otenet.gr>
48919         * src/pic16/device.c (checkAddSym): NEW, adds a symbol to set while
48920         checking if symbol is already in set,
48921         * src/pic16/device.h: prototype for checkAddSym,
48922         * src/pic16/gen.c: (_G): added entry interruptvector,
48923         * (assignResultValue): removed some commented out lines,
48924         * (genFunction): check for ISR via sym->type, absolute section for
48925         interrupt code is created via a new pBlock, the goto instruction is
48926         placed now correctly at the interrupt vector position, changed all
48927         references from ivec to _G.interruptvector,
48928         * WREG,STATUS,BSR are not saved in stack upon an entry to interrupt
48929         is the interrupt is a high priority one, same for return from ISR,
48930         * src/pic16/glue.c: changed all calls of addSetHead for publics and
48931         externs to calls of checkAddSym,
48932         * src/pic16/pcode.c (pic16_pBlockConvert2*): emit warning when
48933         pic16_pcode_verbose flag is set,
48934         * src/pic16/pcode.h: extern to pic16_pcode_verbose,
48935         * src/pic16/pcoderegs.c: message about how many registers are saved
48936         will only be emitted if pic16_pcode_verbose flag is set,
48938 2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48940         * src/ds390/ralloc.h,
48941         * src/ds390/ralloc.c (ds390_regWithIdx),
48942         * src/ds390/gen.c (emitcode),
48943         * src/ds390/main.h,
48944         * src/ds390/main.c (instructionSize, ds390newAsmLineNode, updateOpRW,
48945         ds390opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
48946         ds390operandCompare, getRegsRead, getRegsWritten,
48947         initializeAsmLineNode): customized instruction size calculation for
48948         ds390, started basis for some register optimizations
48949         * src/ds390/gen.c (gen390Code, emitcode): associate iCodes with
48950         corresponding assembly output
48951         * src/ds390/gen.c (genFunction, genEndFunction): added case to handle
48952         missing push/pop of r0/r1. Optimized push/pops
48954 2004-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48956         * src/mcs51/main.c (instructionSize): fixed ACALL size
48957         * src/mcs51/main.c (updateOpRW): fixed bug with @dptr, @a+dptr operands
48959 2004-03-01 Vangelis Rokas <vrokas AT otenet.gr>
48961         * src/pic16/device.c (pic16_dump_section): fixed a bug that allowed
48962         the sorting of rlist with NULL elements
48963         * (print_idataType, print_idata): NEW to create idata sections
48964         * src/pic16/device.h: idataSymSet new variable
48965         * src/pic16/gen.c (genFunction): fixed some bugs in string
48966         comparing, improved the absolute section creation for ISRs,
48967         added FSR0L/FSR0H in registers that are saved in an ISR,
48968         * (genInline): fixed the processing of inline snippets,
48969         now they undergo no process by the peephole optimizer
48970         * src/pic16/glue.c (pic16emitRegularMap): symbols with initialiser
48971         are placed in idataSymSet,
48972         * (pic16emitStaticSeg): extern symbols are added in externs,
48973         * src/pic16/ralloc.c (pic16_allocDirReg): work around to reduce bank
48974         switching when aboslute variables are placed in access bank memory
48975         * (pic16_writeUsedRegs): added call to pic16_dump_idata,
48976         * (packRegsForSupport,packRegsForAccUse,packRegsForOneuse):
48977         commented out with #if,
48978         * (pic16_packRegisters): reintroduce the check for CAST because some
48979         symbols are not correctly handled,
48980         * src/pic16/pcode.h: changed the definition of pCodeAsmDir to hold a
48981         pCodeInstruction instead of pCode,
48982         * src/pic16/pcode.c (pic16_newpCodeAsmDir): modified for the new
48983         pCodeAsmDir definition,
48984         * (pic16_pCode2str, genericPrint): when an AsmDir pcode has a NULL
48985         directive, then the argument directive is emitted without the leading
48986         tab, hack for inline labels which must be in the first column,
48987         * (compareLabel,pic16_findNextInstruction),
48988         * (pic16_findPrevInstruction): added case for PO_ASMDIR,
48989         * (insertBankSwitch): modified for the new pCodeAsmDir,
48991 2004-03-01 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
48992         patch applied by Vangelis Rokas <vrokas AT otenet.gr>
48994         * src/pic16/gen.c (pic16_popGet): case PO_DIR, adds the offset to
48995         instance,
48996         * (pushSide): commented out with #if,
48997         * (assignResultValue): fixed some typos in saving
48998         registers,
48999         * (genPcall): FIXED and sync'ed with genCall,
49000         * (genDataPointerGet,genDataPointerSet): using offset not leoffset
49001         * (genNearPointerGet): fixed to handle some more cases,
49002         implementation scheme via table reads,
49003         * (genConstPointerGet): modified to access code memory correct,
49004         * (genCodePointerGet,genNearPointerSet,genGenPointerSet): modified
49005         and improved to handle some cases
49006         * glue.c (printIvalType,printIvalChar,emitStaticSeg): use "DB"
49007         instead of "RETLW" for init data
49008         * src/pic16/ralloc.c (pic16_allocDirReg): warning when a symbol is
49009         not IN_DIRSPACE, work around to reduce bank switching when aboslute
49010         variables are placed in access bank memory (<0x80 and >=0xf80),
49011         * src/pic16/pcode.c: added SFRs TBLPTR, TABLAT, added opcodes TBLRD,
49012         TBLRD_POSTINC,TBLRD_POSTDEC,TBLRD_PREINC,TBLWT,TBLWT_POSTINC,
49013         TBLWT_POSTDEC,TBLWT_PREINC
49014         * Fixed initialisation of BSR, set "alias" for SSAVE to "0"
49015         * (pic16_emitDB,pic16_flushDB): New functions to generate "DB"
49016         directives
49017         * (pic16_pCodeConstString): use "DB" instead of "RETLW"
49018         * src/pic16/pcode.h: added TBLRD*,TBLWT*, added pic16_emitDB,
49019         pic16_flushDB, made pic16_newpCodeAsmDir public, added TBLPTR, TABLAT
49020         * src/pic16/ralloc.h: added IDX_BSR,IDX_TBLPTR*,IDX_TABLAT
49022 2004-02-29  Borut Razem <borut.razem AT siol.net>
49024         * src/Makefile.in, src/SDCCutil.c, support/Util/findme.c,
49025         support/Util/findme.h, support/Util/system.h: enhance binary relative
49026         search for lib and include by using findProgramPath()
49028 2004-02-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49030         * src/SDCCpeeph.h,
49031         * src/SDCCpeeph.c (pcDistance),
49032         * src/port.h,
49033         * src/mcs51/ralloc.h,
49034         * src/mcs51/ralloc.c (mcs51_regWithIdx),
49035         * src/mcs51/main.h,
49036         * src/mcs51/main.c (instructionSize, asmLineNode, updateOpRW,
49037         mcs51opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
49038         mcs51operandCompare, getRegsRead, getRegsWritten): made instruction
49039         size calculation port specific, started basis for some register
49040         optimizations
49041         * src/mcs51/gen.c (genFunction, genEndFunction): added case to handle
49042         missing push/pop of r0/r1. Optimized push/pops
49043         * src/mcs51/ralloc.c (packregisters): fixed bug #727095
49044         * device/lib/_modsint.c (_modsint),
49045         * device/lib/_modslong.c (_modslong): fixed sign of result in non-asm
49046         and stack version so regression tests pass
49048 2004-02-26 Bernhard Held <bernhard AT bernhardheld.de>
49050         * src/Makefile.in (dep): include SLIBOBJS in dependency check
49051         * src/SDCCast.c (decorateType): catch another small optimization
49052         with '?' operator
49053         * src/SDCCsymt.c (computeType): added comments and cosmetic changes
49054         * src/SDCCval.c (valMult, valDiv, valMod, valPlus, valMinus, valShift):
49055         modified to finally use computeType() all over SDCC,
49056         see Feature Request #877103
49057         * src/SDCCval.h: cosmetic
49058         * src/SDCCicode.c (operandOperation): fixed EQ_OP bug, now same as in
49059         valCompare(); regression tested in muldiv.c
49060         * support/regression/tests/muldiv.c (testMod): mod sign follows
49061         dividend only
49063 2004-02-23 Bernhard Held <bernhard AT bernhardheld.de>
49065         * src/SDCCast.c (decorateType): fixed bug #902362
49066         * doc/INSTALL.txt: fixed install instructions for win32
49068 2004-02-21 Bernhard Held <bernhard AT bernhardheld.de>
49070         * device/include/Makefile.in (install): fixed by replacing spaces
49071         by tabs
49072         * doc/README.txt,
49073         * doc/INSTALL.txt: updated for release
49074         * doc/sdccman.lyx: added warning for --xstack being buggy
49076 2004-02-20 Bernhard Held <bernhard AT bernhardheld.de>
49078         * src/pic16/ralloc.c (packRegsForAccUse):  disabled functions with #if
49079         to eliminate build warnings.
49080         * src/pic16/gen.c (pic16_popGet): fixed for gcc 2.95.4
49082 2004-02-20 Vangelis Rokas <vrokas AT otenet.gr>
49083            Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
49085         * doc/sdccman.lyx: removed PIC16 from PIC16 Port Specific Options,
49086         removed -penable-stack, added comment for stack pragma, added
49087         warning for not initializing the stack/frame registers, removed
49088         comment at interrupts section
49090         Stack is made permanent, there is no ability to disable stack usage.
49091         * src/pic16/device.h,
49092         * src/pic16/device.c: removed all references to USE_STACK macro,
49093         * src/pic16/device.c (pic16_dump_section): when no elements in
49094         rlist, free rlist before return,
49095         * (pic16_dump_int_registers): NEW, internal registers are a new set
49096         of general purpose registers reused by each function,
49097         * (checkAddReg): returns 1 if registers is added to set,
49098         * (pic16_groupRegistersInSection): when a registers is of type
49099         PO_GPR_TEMP add it in pic16_int_regs and not in pic16_rel_udata,
49100         * src/pic16/device.h: memRange and Assigned Memory are deleted,
49101         SRCASECMP macro is moved here from device.c
49102         * src/pic16/genarith.c (pic16_pCodeOpType): added cases for
49103         PO_PCLATU, PO_PRODL, PO_PRODH,
49104         * (pic16_pCodeOpType, genMinus,
49105         changed compares to "a" register, with AOP_ACC,
49106         * (pic16_genPlus): fixed some bugs and indented properly,
49107         * (pic16_addSign): changed size to size+offset in the MOVWF
49108         instruction,
49109         * (pic16_genUMult8XLit_8): NEW, uses processor MULLW instruction to
49110         multiply 8-bit operand by literal, result is 8-bit,
49111         * (pic16_genUMult8X8_8): NEW, uses processor MULWF instruction to
49112         multiply 2 8-bit operand, result is 8-bit,
49113         * (pic16_genMult8X8_8): modified to call genUMult8X*_8 functions and not
49114         genUMult8X*_16,
49115         * src/pic16/gen.c: changed accUse to contain WREG only,
49116         * (pic16_emitcomment): renamed to pic16_emitpcomment,
49117         * (aopForSym): allocated dir register when IN_DIRSPACE(space) is,
49118         true, do not use immediate addressing any more unless sym is a
49119         pointer in codespace,
49120         * (aopForRemat): do not use immediate addressing when symbol not in
49121         codespace and when symbol's address is requested,
49122         * (aopOp): for-loop in if(sym->accUse) is modified for the new
49123         accUse size (= 1),
49124         * (aopGet): added case for AOP_ACC and don't return "accumulator
49125         bug" but WREG instead,
49126         * (popGetTempReg): pushes contents of temporary register in stack,
49127         * (popReleaseTempReg): pops contents of temporary register from
49128         stack. Use popGetTempReg/popReleaseTempReg in aligned pairs,
49129         * (pic16_popGet): separated case AOP_ACC to return register WREG
49130         from processor registers, AOP_PCODE not checks if pcop is PO_DIR
49131         or PO_IMMEDIATE and initializes their instance/offset appropriately,
49132         * The whole issue with aopForSym,aopForRemat,popGet) is to minimize
49133         the use of immediate pointers to certain cases only.
49135         * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): use pic16_popGet2p,
49136         * (pic16_loadFromReturn, pic16_storeForReturn: NEW,
49137         * (assignResultValue, genCall, genRet): modified to use the new
49138         function return value scheme with WREG,PRODL,PRODH,FSR0L and FSR0,
49139         genPcall is still broken,
49140         * (genFunction): added code to create 'A' type pBlocks when
49141         interrupt functions are generated, code not extensively tested yet,
49142         ISRs push WREG,STATUS,BSR,PRODL,PRODH,FSR0L,FSR0H registers on stack,
49143         * (genEndFunction): modified so ISRs pop stored registers from stack,
49144         * (genMultOneByte): cleanup,
49145         * (AccRsh): added flag andmask, to and result with appropriate mask,
49146         * (genUnpackBits,genPackBits): fixed and can handle bit fields,
49147         * (genDataPointerGet): fixed and reenabled its use,
49148         * (genNearDataPointerGet): bugs fixed,
49149         * (genDataPointerSet): bugs fixed,
49150         * src/pic16/genutils.c: added functions pic16_DumpValue,pic16_DumpAop,
49151         pic16_DumpSymbol, pic16_DumpOp,
49152         * src/pic16/genutils.h: function prototypes for the above functions,
49153         * src/pic16/glue.c: new flags initsfpnt, to initialize stack/frame
49154         pointers,
49155         * (pic16emitRegularMap): many many many improvements, but needs a
49156         major cleanup,
49157         * src/pic16/main.c: enable_stack in pic16_options is removed,
49158         * (_pic16_parseOptions): removed command line options -penable-stack,
49159         * (_process_pragma): emit stack symbol only when stack pragma is
49160         processed,
49161         * src/pic16/pcode.c: pic16_pc_fsr0 is removed, all operations are
49162         redirected to FSR0L/FSR0H pair,
49163         * (pic16_get_op, pic16_get_op2): modifications and improvements,
49164         * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
49165         cases PO_PRODL,PO_PRODH, pic16_getRegFromInstruction2 returns sane
49166         for immediates,
49167         * (insertBankSwitch): modified to handle cases like: (alfa + 1)
49168         * (dumpPicOptype): NEW,
49169         * src/pic16/pcode.h: added PO_PCLATU,PO_PRODL,PO_PRODH in enum,
49170         * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed bug
49171         with movff instruction,
49172         * src/pic16/ralloc.c: renamed typeRegWithIdx to pic16_typeRegWithIdx,
49173         added pic16_int_regs, some packRegsFor* functions are commented out,
49174         because produce errors,
49175         * src/pic16/NOTES: minor modifications
49177 2004-02-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49179         * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c, as/mcs51/lkmain.c,
49180         as/mcs51/lkmem.c, src/SDCCglob.h, src/SDCCmain.c: added options --stack-size and
49181         --pack-iram.
49182         * doc/sdccman.lyx: described options --stack-size and --pack-iram.
49183         * as/mcs51/lkaomf51.c: fixed bug #895763
49185 2004-02-17 Bernhard Held <bernhard AT bernhardheld.de>
49187         * device/include/c8051f320.h: added. Contributed by Maarten Brock.
49189 2004-02-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49191         * doc/sdccman.lyx: added details about the HC08 storage classes and
49192         interrupts, fixed the register usage info for z80 & gbz80
49194 2004-02-17 Vangelis Rokas <vrokas AT otenet.gr>
49196         * doc/sdccman.lyx: added more pic16 port documentation
49197         * device/include/pic16/: added header pic18fregs.h
49199 2004-02-16 Bernhard Held <bernhard AT bernhardheld.de>
49201         * doc/sdccman.lyx: added Vangelis' contribution
49203 2004-02-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49205         * src/SDCClrange.c (rlivePoint): live range of SEND operand should
49206         extend to the next CALL or PCALL, not just to the next CALL.
49208 2004-02-16 Vangelis Rokas <vrokas AT otenet.gr>
49210         * src/pic16/gen.c (genInline): fixed bug #896482 with inline assembly
49212 2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49214         * src/mcs51/ralloc.c (packRegsForAssign, reassignAliasedSym): fixed
49215         bug #895752 and a better fix for bug #716790
49217 2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49219         * src/SDCCsymt.c (processFuncArgs): fixed bug #896796
49221 2004-02-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49223         * doc/sdccman.lyx: minor changes, minor changed
49225 2004-02-13 Bernhard Held <bernhard AT bernhardheld.de>
49227         * src/SDCCicode.c (usualBinaryConversions): removed pic16 from ports
49228         which can't handle SDCC_NEWONEBYTEOPS,
49229         (geniCodeMultiply): removed conversion from mult to shift for pic14
49230         and pic16
49232 2004-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49234         * src/hc08/gen.h,
49235         * src/hc08/gen.c (storeRegToAop, aopOp, aopAdrStr, accopWithAop,
49236         rmwWithAop): Ported my 2003-10-02 fix for bug #663539 to the hc08,
49237         thus fixing bug #895406
49239 2004-02-11 Bernhard Held <bernhard AT bernhardheld.de>
49241         * device/lib/_modsint.c,
49242         * device/lib/_modslong.c: sign follows divisor only
49243         * src/hc08/gen.c (genMultOneByte): if result size is 1,
49244         signs or signedness can be ignored
49245         * src/SDCCast.c (addCast): cosmetic - added lineno to CAST
49246         * src/SDCCast.c (resultTypePropagate): added even more ops: +, - and *,
49247         added optimization for IFX,
49248         (decorateType): Mult/Div/ModOneByte ops can handle all kind of signed
49249         arguments;
49250         reenabled optimization for IFX, which was removed on 2004-01-11
49251         * src/SDCCast.h: added return type IFX
49252         * src/SDCCicode.c: Mult/Div/ModOneByte ops can handle all kind of signed
49253         arguments with 8 or 16 bit results; pic14 and pic16 ports use old
49254         promotion behaviour; env. var. SDCC_NEWONEBYTEOPS selects the new,
49255         SDCC_OLDONEBYTEOPS selects the old behaviour
49256         * src/SDCCsymt.c (computeType): type2 can be NULL (for LEFT_OP);
49257         changed again and commented promotion rule
49258         * src/SDCCval.c (valDiv): promotion no longer necessary
49259         * src/ds390/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte),
49260         * src/mcs51/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte):
49261         rewritten
49262         * support/regression/tests/onebyte.c: added
49264 2004-02-11 Vangelis Rokas <vrokas AT otenet.gr>
49266         * gen.c (genInline): reverted to old code for assemnling inline
49267         code because of bug reported James Chadd
49269 2004-02-10 Vangelis Rokas <vrokas AT otenet.gr>
49271         * ralloc.h: missing declarations from previous patch,
49272         seems that patch for ralloc.h was never applied, fixed
49274 2004-02-10 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
49275            patch committed by Vangelis Rokas <vrokas AT otenet.gr>
49277         * pcode.c,
49278         * pcode.h,
49279         * ralloc.h: added FSR0L, FSR0H and other missing PIC16 SFR's for
49280         indirect addressing. Marked FSR0 as deprecated
49281         * gen.c (pointerCode): commented out, not needed now
49282         (pic16_popGet2p): new MOVFF helper function
49283         (genGenPointerGet),
49284         (genGenPointerSet): reimplemented with MOVFF and POSTINC0
49285         (shiftRLong): removed duplicate debugging info
49287 2004-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49289         * src/ds390/gen.c (genNearPointerGet),
49290         * src/mcs51/gen.c (genNearPointerGet): allow the genDataPointerGet()
49291         optimization with bits, but not bitfields.
49292         * src/ds390/ralloc.c (packRegisters),
49293         * src/mcs51/ralloc.c (packRegisters): fixed bug #884453 & #880832
49295 2004-02-09 Bernhard Held <bernhard AT bernhardheld.de>
49297         * src/SDCCcse.c (algebraicOpts): copy operands before modification
49299 2004-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49301         * src/SDCCsymt.h,
49302         * src/SDCCicode.c (operandFromSymbol),
49303         * src/mcs51/ralloc.c (verifyRegsAssigned, serialRegAssign),
49304         * src/ds390/ralloc.c (verifyRegsAssigned, serialRegAssign),
49305         * src/z80/ralloc.c (verifyRegsAssigned, serialRegAssign),
49306         * src/hc08/ralloc.c (verifyRegsAssigned, serialRegAssign),
49307         * src/pic/ralloc.c (verifyRegsAssigned, serialRegAssign),
49308         * src/pic16/ralloc.c (verifyRegsAssigned, serialRegAssign): fixed
49309         bug #892038
49310         * src/SDCCast.c (createIvalStruct, createIvalArray, gatherAutoInit),
49311         * src/SDCCglue.c (emitRegularMap, printIvalStruct, printIvalArray,
49312         printIvalCharPtr, printIvalPtr, printIval, emitStaticSeg, emitOverlay)
49313         * src/SDCCsymt.c (newSymbol),
49314         * src/SDCC.y (struct_or_union_specifier, enum_specifier,
49315         enumerator_list),
49316         * src/SDCCval.h,
49317         * src/SDCCval.c (newiList): fixed bug #885705
49319 2004-02-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49321         * doc/sdccman.lyx: added section 3.1.4: sdcclib.
49322         * as/mcs51/lkmem.c: report the size of the stack in .mem file.
49324 2004-02-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49326         * device/include/c8051f120.h,
49327         * device/include/c8051f300.h,
49328         * device/include/c8051f310.h: added/updated header files for Silicon
49329         Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
49330         * doc/sdccman.lyx: minor changes, recommended diff -Naur and diff -u
49331         in new section Submitting patches
49333 2004-02-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49335         * src/mcs51/gen.c (genNearPointerGet, genPagedPointerGet,
49336         genFarPointerGet, genCodePointerGet, genGenPointerGet,
49337         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49338         genGenPointerSet),
49339         * src/ds390/gen.c (genNearPointerGet, genPagedPointerGet,
49340         genFarPointerGet, genCodePointerGet, genGenPointerGet,
49341         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49342         genGenPointerSet),
49343         * src/pic16/gen.c (genNearPointerGet, genPagedPointerGet,
49344         genFarPointerGet, genCodePointerGet, genGenPointerGet,
49345         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49346         genGenPointerSet),
49347         * src/pic/gen.c (genNearPointerGet, genPagedPointerGet,
49348         genFarPointerGet, genCodePointerGet, genGenPointerGet,
49349         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49350         genGenPointerSet): fixed bug #892400
49351         * src/pic16/gen.c (genSkipz, AccRol): disabled functions with #if 0
49352         to eliminate build warnings.
49353         * src/SDCCast.c (processParms),
49354         * src/SDCC.y (function_declarator2, declarator2_function_attributes):
49355         fixed bug 751859
49356         * support/valdiag/valdiag.py: added GCC to the list of defines active
49357         when compiling with gcc
49359 2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49361         * support/Util/SDCCerr.h,
49362         * support/Util/SDCCerr.c,
49363         * src/SDCCast.c (decorateType, sizeofOp): complain when sizeof is used
49364         with an incomplete type (fixed bug #883734)
49365         * src/SDCCicode.c (geniCodeCast): fixed bug #890510
49367 2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49369         * src/pic16/gen.c (genCmpEq, shiftRLong): fixed declarations
49371 2004-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49373         * src/SDCCast.c (decorateType),
49374         * src/SDCCicode.c (geniCodeParms, geniCodeCall): fixed bugs in my ANSI
49375         function pointer implementation
49376         * support/regression/tests/funptrs.c: added tests to verify both forms
49377         of function pointers work correctly. Added tests to verify parameters
49378         are passed in the correct order.
49380 2004-02-06  Vangelis Rokas <vrokas AT otenet.gr>
49382         * device.c (regCompare): registers are sorted by ascending
49383         address and increasing size,
49384         * main.c (_pic16_finaliseOptions): removed the declaration
49385         of compiler macro MCU. Now a macro of the format pic18fxxxx
49386         will be defined from the command line
49388 2004-02-06  Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
49389             patch committed by Vangelis Rokas <vrokas AT otenet.gr>
49391         * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF
49392         PCOP_RLCF was overwritten!
49393         * gen.c (genSkip): commented out calls to pic16_emitcode,
49394         * (genCmpEQ): fixed "long" compares, only high word did get compared,
49395         * (genlshTwo),
49396         * (genRRC): added debugging info,
49397         * (shiftL2Left2Result): Fixed bug, if offr > offl. Result got
49398         overwritten while shifting,
49399         * (shiftR2Left2Result): Fixed bug, if offr < offl. Result got
49400         overwritten while shifting,
49401         * (AccLsh),
49402         * (AccRsh),
49403         * (shiftLLeftOrResult),
49404         * (shiftRLeftOrResult),
49405         * (shiftRLong),
49406         * (shiftLLong): Implemented with pic16_emitpcode
49407         * (genlshFour): Replaced pic16_aopPut with pic16_emitpcode,
49408         * (genLeftShift): Fixed bug, operand for shift by variable always
49409         was "and"ed with 0x0f,
49410         * (genLeftShiftLiteral),
49411         * (genrshTwo),
49412         * (genRightShiftLiteral): added debugging info,
49413         * (genrshFour): added comment,
49414         * (genRightShift): determined signedness from operand "left"
49415         instead of "result"
49417 2004-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49419         * src/SDCCicode.c (geniCodeParms),
49420         * src/SDCCast.c (decorateType, processParms): support for ANSI-style
49421         function pointers, fixed function pointer bugs #861242 and #861896
49423 2004-01-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49425         * device/include/c8051f000.h,
49426         * device/include/c8051f120.h,
49427         * device/include/c8051f300.h: added header files for Silicon
49428         Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
49430 2004-01-31 Bernhard Held <bernhard AT bernhardheld.de>
49432         * src/SDCCast.c (processParams): added new type flow and restructured
49433         (gatherAutoInit): added new type flow
49434         (addCast): cosmetic changes
49435         (getLeftResultType): added new type flow for array indices, patch
49436         provided by Stas, see FR #877103
49437         (decorateType): SDCC_NEWTYPEFLOW removed, new type flow is now standard;
49438         array index patch by Stas
49439         * src/SDCCast.h: added prototype getResultTypeFromType()
49440         * src/SDCCval.h,
49441         * src/SDCCval.c (resolveIvalSym) (resolveIvalSym),
49442         * src/pic/glue.c (pic14emitStaticSeg),
49443         * src/pic16/glue.c (pic16emitStaticSeg),
49444         * src/SDCCglue.c (emitRegularMap) (emitStaticSeg): added new type flow
49445         for initialization of symbols
49446         * src/SDCCicode.c (geniCodeArray): removed warning W_ARRAY_BOUND
49447         * support/Util/SDCCerr.h:
49448         * support/Util/SDCCerr.c: replaced W_ARRAY_BOUND by W_IDX_OUT_OF_BOUNDS
49449         * .version: bumped version number to 2.3.8
49450         * device/include/Makefile.in (install),
49451         * doc/Makefile (install): changed to 'rm `find ...`' construct to
49452         avoid warnings
49454 2004-01-30 Bernhard Held <bernhard AT bernhardheld.de>
49456         * support/regression/tests/libmullong.c: fixed for 64 bit hosts
49457         Slade Rich fixed an optimization bug
49458         * src/pic/pcodepeep.c,
49459         * src/pic/pcoderegs.c
49460         * doc/Makefile (install): added test for directory
49462 2004-01-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49464         * src/mcs51/ralloc.c (getRegPtr, getRegGpr),
49465         * src/ds390/ralloc.c (getRegPtr, getRegGpr),
49466         * src/pic/ralloc.c (getRegPtr, getRegGpr),
49467         * src/pic16/ralloc.c (getRegPtr, getRegGpr),
49468         * src/z80/ralloc.c (getRegGpr): fixed bug #883361
49469         * as/mcs51/asexpr.c (term),
49470         * as/hc08/asexpr.c (term): fixed bug #887146
49472 2004-01-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49474         * src/z80/gen.c (genMult): handle single byte result product
49475         * src/SDCCopt.c (killDeadCode): never convert ADDRESS_OF iCode to
49476         DUMMY_READ_VOLATILE (fixed bug #886367)
49478 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
49480         * support/regression/tests/libmullong.c: fixed logic, on little endian
49481         hosts we ended without a mullong_wrapper()
49483 2004-01-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49485         * ChangeLog: changed "@" to " AT " in hopes of reducing spam and
49486         virus/worm forged address usage.
49488 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
49490         Fixed promotion, it should be done on AST level:
49491         * src/SDCCast.c (addCast): added promotion to int
49492         (decorateType): updated call to upCast()
49493         * src/SDCCicode.c (geniCodeLeftShift): removed call to
49494         usualUnaryConversions()
49496 2004-01-26  Michael Hope  <michaelh AT juju.net.nz>
49498         * support/regression/tests/literalop.c (mulWrapper): Added a
49499         wrapper to remove integer overflow warnings.
49501         * support/regression/tests/float_trans.c: Made work on host.
49503         * support/regression/ports/ucz80/spec.mk (UCZ80): Made detect the
49504         location of sz80.
49506         * support/regression/generate-cases.py (main): Changed from inline
49507         to a main method.
49509         * doc/Makefile (install): Changed to depth first to get rid of
49510         missing directory install warning.
49512         * as/Makefile (install-doc): Made work on Mac.
49514 2004-01-25 Bernhard Held <bernhard AT bernhardheld.de>
49516         * src/SDCCast.c: added an additional type flow in decorateType() of
49517         opposite direction, see feature request #860006; it's enabled at runtime
49518         by setting the environment variable SDCC_NEWTYPEFLOW
49519         * src/SDCCast.h: changed prototype of decorateType()
49520         * src/SDCCglue.c (emitRegularMap): updated call of decorateType()
49521         * src/SDCCicode.c (geniCodeDivision) (geniCodeModulus): promotion from
49522         'char' to 'int' can be omitted, if both operands are 'unsigned char';
49523         see feature request #877103
49524         * src/SDCCval.c: updated call of decorateType()
49525         (valBitwise): fixed bug #882876
49526         (valMinus): added promotion
49527         (valLogicAndOr): result is unsigned
49528         (cheapestVal) (constVal): literals from 0...255 are 'unsigned char' now
49529         * src/SDCCsymt.c (computeType),
49530         * src/mcs51/gen.c (genCmpGt) (genCmpLt): literal 'unsigned char'
49531         must not cause an unsigned operation
49532         * src/pic/glue (pic14emitRegularMap),
49533         * src/pic16/glue.c (pic16emitRegularMap): updated call of decorateType()
49535 2004-01-23 Bernhard Held <bernhard AT bernhardheld.de>
49537         * src/pic/pcode.c (PCodeID): commented out left over debug code
49539 2004-01-20 Bernhard Held <bernhard AT bernhardheld.de>
49541         * support/valdiag/tests/overflow.c: added shift tests
49542         * src/pic/device.c,
49543         * src/pic/gen.c,
49544         * src/pic/gen.h,
49545         * src/pic/glue.c,
49546         * src/pic/main.c,
49547         * src/pic/pcode.c,
49548         * src/pic/pcode.h,
49549         * src/pic/pcodepeep.c,
49550         * src/pic/pcoderegs.c,
49551         * src/pic/ralloc.c,
49552         * src/pic/ralloc.h: applied patch from Slade Rich;
49553         added support for multiple code pages and multiple RAM banks on the
49554         PIC 14 port. The ASM files now no longer simply assume all the
49555         code / RAM are in the same page / bank. This means the linker can
49556         safely allocate code/RAM of separate ASM files to different pages/banks.
49557         * doc/sdccman.lyx: added Slade's tips
49558         * src/mcs51/peeph.def: fixed bug #880768
49560 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49562         * src/hc08/ralloc.c (rematStr): fixed bug #879282
49563         * src/SDCCast.c (decorateType): fixed bug #880197
49565 2004-01-20  Michael Hope  <michaelh AT juju.net.nz>
49567         * sim/ucsim/gui.src/serio.src/main.cc: Fixed unconditional use of
49568         getopt.h.
49570         * debugger/mcs51/cmd.c (getValBasic): Changed strtof to strtod as
49571         strtof is not part of C89 and isn't included with Mac OS X.
49573 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49575         * src/hc08/gen.c (genPlusIncr, genUminus, genMinusDec, genCmp,
49576         shiftL2Left2Result): fixed bug #879326
49577         (genAnd, genOr, genXor): fixed bug when result was of type AOP_CRY
49578         (genMultOneByte): fixed bug in signed vs unsigned multiplication
49579         * sim/ucsim/hc08.src/inst.cc (inst_clr): added missing effective
49580         address fetch for clr instruction
49581         * device/lib/hc08/_mulint.c: created optimized assembly version
49582         * src/SDCCdflow.c (computeDataFlow): fixed bug #878209
49584 2004-01-19 Bernhard Held <bernhard AT bernhardheld.de>
49586         * src/SDCCicode.c (geniCodeArray): applied patch from Stas Sergeev
49587         proposed in FR #877103
49589 2004-01-18 Bernhard Held <bernhard AT bernhardheld.de>
49591         * src/SDCCval.c (cheapestVal): added missing checks
49592         * src/SDCCicode.c (usualBinaryConversions): fixed condition
49593         * src/SDCCicode.c (geniCodeAdd): fixed part of bug #877103
49595 2004-01-16 Klaus Flittner <klaus_flittner AT gmx.de>
49597         * src/ds390/gen.c (aopOp3): fixed the assignment of different dptrs to
49598         equal operands
49600 2004-01-16 Vangelis Rokas <vrokas AT otenet.gr>
49602         * src/SDCCmain.c (linkEdit): variable $3 of the linker command is
49603         loaded with the linker search paths (-L arguments) and the libraries
49604         to be linked with the current source (-l arguments). Changes
49605         currently will affect only the pic16 port.
49606         * src/pic16/main.c (_pic16_finaliseOptions): add to the linker
49607         include path the port specific paths and port specific libraries,
49608         * gplink command now contains the $3 argument,
49609         * src/pic16/device.h,
49610         * src/pic16/device.c,: structure PIC_device is made public and
49611         renamed to PIC16_device, the same for variable Pics which is renamed
49612         to Pics16. Updated all references to them.
49613         * src/pic16/glue.c (pic16glue): corrected bug with code
49614         initialization which bypassed the variable initializations block.
49616         * device/lib/pic16/Makefile.rules: removed --penable-stack from
49617         COMPILE_FLAGS and added the --nostdinc option
49619 2004-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49621         * device/include/mc68hc908jb8.h: Register defs for another member
49622         of the hc08 family. Contributed by Bjorn Bringert - thanks!
49624 2004-01-14 Vangelis Rokas <vrokas AT otenet.gr>
49626         Documenting changes from previous commits.
49627         * configure.in (version 1.56),
49628         * configure: initially I've added AC_CONFIG_SUBDIRS(device/lib/pic16)
49629         when generating output files to configure the pic16 library,
49630         but now I've commented it out, since gputils aren't installed in the
49631         SF compile farm, so library won't compile
49633         * device/lib/Makefile.in (version 1.56): initially I've added in
49634         target 'all' the prerequestive 'model-pic16' so it compiled the
49635         pic16 library, but now I've commented it out for the same reasons
49636         above,
49637         * added targets 'model-pic16' and 'objects-pic16' to compile the
49638         library
49639         * added target 'port-specific-objects-pic16' to handle the
49640         generated libraries and copy them into the build/ directory
49641         * added target 'clean-intermediate-pic16' to clean intermediate
49642         files into pic16 directory
49643         * in target 'installdirs' added line to create directory pic16 in
49644         the installation path
49646         * device/include/Makefile.in (version 1.11): in target 'install'
49647         added lines to copy all header files to installation path,
49648         * in target 'installdirs' added line create directory for pic16
49649         headers in the installation path
49651 2004-01-13 Klaus Flittner <klaus_flittner AT gmx.de>
49653         * src/ds390/gen.c (genCall): fixed a double use of acc and b after
49654          a function call
49656 2004-01-13 Bernhard Held <bernhard AT bernhardheld.de>
49658         * configure,
49659         * device/lib/configure.in,
49660         * device/lib/configure: fixed for autoconf 2.57
49662 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49664         * src/z80/main.c (_parseOptions): fixed the portmode= command line
49665         option so that it actually works. Made it specific to the z80, since
49666         the gbz80 doesn't have these kinds of I/O ports.
49668 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49670         * device/include/z180.h,
49671         * device/lib/_memcpy.c,
49672         * device/lib/_memmove.c,
49673         * device/lib/_mulint.c,
49674         * device/lib/ser_ir.c,
49675         * device/lib/ser_ir_cts_rts.c,
49676         * device/lib/_strcmp.c,
49677         * device/lib/_strtok.c: fixed pragmas to non-deprecated form
49678         * src/z80/main.c (_process_pragma): add support for pragmas bank and
49679         portmode; added deprecation warning for bank= and protmode= forms.
49680         Also, guard against buffer overflow.
49681         * src/z80/gen.c (aopGet): generate better code for sfr banked read
49683 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49685         * src/hc08/main.c (_hc08_genAssemblerPreamble): fixed bug #875487. Also
49686         changed interrupt vector table generation to only emit declared vectors.
49687         * device/include/Makefile.in: added missing backslash
49688         * device/lib/pic16/Makefile.rules: add $(MODELFLAGS) to $(CFLAGS)
49690 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
49692         Mainly changes to support compilation of the device libraries
49693         * src/pic16/device.c: stack is allocated via symbol and not
49694         via literal number. The symbol is placed in the corresponding
49695         position of the data ram
49696         * (pic16_dump_section): relocatable and absolute uninitialized
49697         data are now emitted in sorted order to reduce section naming,
49698         * src/pic16/ralloc.c (newReg): fixed bug with SFR's that
49699         weren't marked as being in the access bank,
49701 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
49703         Added portion of GNU PIC Library under the directory
49704         device/include/pic16 and device/lib/pic16. These files
49705         contain the declarations of SFRs for the PIC18Fxx2 devices.
49706         The directory is initialized via configure from toplevel.
49708 2004-01-12 Klaus Flittner <klaus_flittner AT gmx.de>
49710         * src/ds390/gen.c (operandsEqu): fixed a little typo, that prevented
49711         the spilllocations to be compared correctly
49713 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
49715         * src/SDCCast.c (decorateType): fixed bug introduced today
49717 2004-01-12  Borut Razem <borut.razem AT siol.net>
49719         * src/SDCC.lex, support/Util/SDCCerr.h, support/Util/SDCCerr.c,
49720         doc/sdccman.lyx: upper case pragmas are deprecated
49722 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
49724         * src/SDCCast.c (decorateType): replacing 'ul > 0' by  '!ul' results
49725         in simpler and even better code
49727 2004-01-11 Bernhard Held <bernhard AT bernhardheld.de>
49729         * src/SDCCicode.c (operandOperation): fixed bug #874819
49730         * src/SDCCast.c (decorateType): fixed
49731         char foo (unsigned long ul) { return ul > 0; }
49733 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49735         * doc/sdccman.lyx: Moved and added some sections, small changes
49736         all over. Telling LaTeX to be less strict with word spacing
49737         to better keep the right margin. Changed some notes about
49738         maintainance of the ports in section 3.2.1 - is it OK like this?
49740 2004-01-11 Vangelis Rokas <vrokas AT otenet.gr>
49742         SDCC source changes:
49743         * src/SDCCopt.c (cntToFcall, cnvToFloatCast, cnvFromFloatCast,
49744         convilong): modified to inform the pic16 port that builtin functions
49745         are external
49747         PIC16 PORT specific changes:
49748         * src/pic16/device.c pic16_dump_equates() added,
49749         processor registers declared internally by the port are emitted in
49750         the translation as equates,
49751         * src/pic16/gen.c: inline code is passed unprocessed to the
49752         translation,
49753         * (pic16_popGetLit2): fnuction modified to take second operand as
49754         pCodeOp pointer and not as literal,
49755         * (popRegFromIdx): prefixed with pic16_,
49756         * (pic16_popCombine2): modified to receive already allocated pCode
49757         operands,
49758         * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): added
49759         * (genFunction): initializes local stack frame and pushes on stack
49760         all the registers used by this function,
49761         * (genEndFunction): restores all registers from stack and restores
49762         stack frame,
49763         * src/pic16/glue.c (pic16emitRegularMap): various changes and
49764         improvements,
49765         * (pic16glue): changed the program startup sequence,
49766         * added new dbName code 'A' for functions placed in absolute section
49767         * src/pic16/main.c: added function attribute _naked,
49768         * added pragma 'code' to place a fnuction at an absolute address,
49769         * added command line arguments --debug-ralloc and --pcode-verbose,
49770         * (_pic16_finiliseOptions): options.all_callee_saves is set by default
49771         * src/pic16/pcode.c (pic16_pBlockConvert2Absolute) added,
49772         * (pic16_newpCodeOpLit2): modified to take the second operand as
49773         pCodeOp pointer,
49774         * (pic16_printpBlock): modified to emit each function in a separate
49775         section,
49776         * (pic16_get_op): modified to use the gpasm modifiers LOW,HIGH and
49777         UPPER for immediate operands,
49778         * src/pic16/pcodepeeph.c: added peephole support for the LFSR
49779         instruction,
49780         * src/pic16/peeph.def: all peepholes with movff are commented out,
49781         because there is a problem in the pcode peep optimizer,
49782         * src/pic16/ralloc.c: the register allocator can now reuse local
49783         function symbols for another function. This saves register usage.
49784         * src/pic16/ralloc.h: added flag isLocal in structure regs,
49786         Added file src/pic16/NOTES with information about program writing on
49787         the current port version.
49789 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49791         * src/mcs51/peephole.def: added peepholes 177.c,d (redundant moves)
49792         and peephole 252 (array access)
49794 2004-01-09  Borut Razem <borut.razem AT siol.net>
49796         * src/SDCCmain.c : fixed #872250: -l command line defined library
49797           files are scanned before standard library files
49799 2004-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49801         * src/SDCCast.c (decorateType): fixed bug #874046
49803 2004-01-09  Borut Razem <borut.razem AT siol.net>
49805         * support/scripts/sdcc.nsi: remove previous installation
49807 2004-01-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49809         * src/SDCCglue.c (createInterruptVect): don't append 7(5) padding
49810         bytes for last interrupt vector (mcs51)
49811         * sdcc.spec: fixed typo
49813 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49815         * src/mcs51/gen.c (genFunction, genEndFunction, genReceive, getTempRegs,
49816         gen51Code): more efficient parameter receive for --model-large
49817         ("bug" #845294)
49819 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49821         * src/ds390/main.c,
49822         * src/z80/main.c: added missed needLinkerScript flags (more than
49823         one port structure defined in these file)
49824         * src/ds390/gen.c (aopForSym, aopOp, operandsEqu, aopOp3): fixed
49825         bug #795325
49827 2004-01-08 Vangelis Rokas <vrokas AT otenet.gr>
49829         * src/SDCCmain.c: removed various references to DEFAULT_PORT
49830         * src/port.h: added flag needLinkerScript in port->linker
49831         structure to inform whether to create a .lnk file or not,
49832         * src/avr/main.c,
49833         * src/ds390/main.c,
49834         * src/hc08/main.c,
49835         * src/mcs51/main.c,
49836         * src/pic/main.c,
49837         * src/pic16/main.c,
49838         * src/xa51/main.c,
49839         * src/z80/main.c: changed appropriately to configure
49840         needLinkerScript flag
49841         * src/pic/gen.c,
49842         * src/pic16/gen.c (genAddrOf): fixed bug #863624
49843         * src/pic/glue.c: added variable udata_section_name to
49844         override default uninitialized data segment definition for
49845         devices only with SHAREBANK memory (reported from Erik Epetrich)
49846         * (pic14emitOverlay): modified to emit a commented overlay segment
49847         directive when no overlay data exist
49848         * (picglue): modified to emit uninitialized data segment
49849         according to udata_section_name
49850         * src/pic/main.c (_pic14_parseOptions): added command line
49851         options --udata-section-name=[name] to override default
49852         udata definition name
49853         * modified _linkCmd and _asmCmd to include compiler passed
49854         arguments via -W option
49855         * src/pic16/main.c: added $l in _asmCmd, changed extension for
49856         object file from '.rel' to '.o' in port->linker structure,
49857         changed size of fptr from 2 to 3 in port structure
49859 2004-01-07  Borut Razem <borut.razem AT siol.net>
49861         * support/scripts/sdcc.nsi: update PATH
49862         * support/scripts/sdcc.ico: craeted
49864 2004-01-07 Bernhard Held <bernhard AT bernhardheld.de>
49866         * device/include/Makefile.in: fix install
49867         * doc/Makefile: fix install
49869 2004-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49871         * src/SDCCsymt.c (processFuncArgs): fixed superflous allocation noted
49872         in bug #860505
49873         * src/SDCCmem.c (printAllocInfoSeg, printAllocInfo): minor changes to
49874         how the function variable allocation summary is displayed; also
49875         include information about variables allocated to the overlay
49876         segment
49878 2004-01-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49880         * as/mcs51/lkmain.c: Help about -Y option
49881         * as/mcs51/lkarea.c: Fixed gcc warnings
49883 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
49885         * src/SDCCval.c (valShift): changed from 16 to 32 bit shift count,
49886         fixed warning
49887         * support/valdiag/tests/overflow.c: added
49888         * src/SDCCast.c (decorateType),
49889         * src/SDCCicode.c (geniCodeLeftShift): added promotion to int for
49890         LEFT_OP (left shift)
49892 2004-01-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49894         * as/mcs51/lkmain.c: stack must be after data when option -Y is not used
49895         (default behaviour).
49897 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49899         A python script to validate compiler diagnostic messages. It can be
49900         used to verify that sdcc complains about bad c source code and
49901         gives a good location of the error.
49902         * support/valdiag/Makefile,
49903         * support/valdiag/valdiag.py,
49904         * support/valdiag/tests/*
49906 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49908         * src/SDCC.y (enum_specifier, enumerator_list, opt_assign_expr),
49909         * src/SDCCsymt.c (newEnumType),
49910         * src/SDCCsymt.h
49911         * support/Util/SDCCerr.c,
49912         * support/Util/SDCCerr.h: fixed bug #871258 and some other unreported
49913         enum related bugs.
49914         * support/regression/tests/enum.c: added test for enum values that
49915         require at least 2 bytes of storage.
49917 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
49919         * src/common.h: added ifndef/define/endif macros
49920         around the header file.
49921         Bug reported from Jesus Calvino-Fraga
49923 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
49925         * sdcc.spec: updated
49926         * device/include/Makefile.in: don't install CVS directories
49927         * device/lib/Makefile.in: added removal of CVS directories after install
49928         * doc/Makefile: fixed install, added local_icons
49929         * sim/ucsim/gui.src/Makefile.in: fixed an old typo
49930         * src/mcs51/gen.c (genRightShift): fixed bug #870788
49931         * src/ds390/gen.c (genRightShift): fixed bug #870788
49932         * src/SDCCast.c (decorateType): fixed bug #870781
49934 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
49936         PIC16 port related changes:
49937         * device.c: removed pic16_finalMapping and pic16_finalMappingSize,
49938         added variable stackPos,
49940         * gen.c: genCall, assignResultValue: added support for
49941         pushing/retrieving function parameters to/from stack,
49942         genFunction,genEndFunction: setup stack frame for the
49943         generated function,
49944         genAddrOf: will be changed according to bug 863624
49946         * added files genutils.c and genutils.h which contain gen*
49947         debugged and optimised functions extracted from gen.c
49949         * glue.c: added variable 'externs' which holds extern symbols,
49950         pic16emitRegularMap: is modified to properly handle relocatable
49951          symbols under the new scheme,
49952         pic16createInterruptVect: is modified
49953         pic16printPublics: is modified to emit 'global' assembler directives,
49954         added pic16_printExterns to print extern symbols,
49955         pic16glue: initializes stack/frame pointer in the beginning of
49956         the assembly output. Temporary hack, will be corrected later,
49957         because gplink yet does not support stack and SDCC does not
49958         yet support a type of crt0.o object to create the final binary.
49960         * Removed many lines that contain 8051 legacy code.
49961         * The code is finally placed under a 'code' directive.
49962         * Added port specific options.
49964         * _process_pragma: simplified since now we do not need *special*
49965         include file to define SFR registers. But a separate header
49966         will be needed. This will be developed later.
49967         * _pic16_parseOptions: added, parses port specific options:
49968         --pgen-banksel, --obanksel=, --pomit-config-words, --pomit-ivt,
49969         --pleave-reset-vector, --penable-stack, --pstack-model, --debug-xtra
49970         --preplace-udata-with=
49972         * _pic16_setDefaultOptions: modified to initialize section names,
49973         but hack is temporarly out of order since it needs improvement.
49974         * _pic16_genAssemblerPreamble: configuration words are emitted by
49975         their address instead of their name. This part is incomplete and
49976         supports only the 18Fxx2 devices. Other devices will emit an error
49977         during assembly since they do not contain the same set of config
49978         registers
49979         * _pic16_genIVT: is modified,
49981         * pcode.c: added definitions for some hardware registers that are needed
49982         for stack support
49983         * added flag is2LitOp and variable pci_magic in pCodeInstruction.
49984         All PCI entries are updated. Now LFSR is supported.
49985         * Removed pic16_pciTRIS is mentioned by mdubuc in source
49986         * added pic16_newpCodeOpLit2 to support instructions with
49987         two literal arguments
49988         * pic16_pCode2str: corrected code that emits assembler instructions
49989         with two literal operands and those that have an access bit modifier
49990         * genericPrint: now PC_ASMDIR pCodes, can emit a label if it exists,
49991         this fixes a bug which caused some labels to be lost, when an
49992         assembler directive was added, i.e. banksel,
49993         * pic16_FixRegisterBanking: improved logic that causes the insertion
49994         of bank switching,
49995         * InlineFunction: functions that are called once, are not any more
49996         inlined. This can be a port option in the future,
49998         * pcode.h: added pCodeOpLit2 and added variable label in pCodeAsmDir
50000         * ralloc.c: added pic16_rel_udata and pic16_fix_udata variables which
50001         hold the corresponding uninitialized symbols,
50002         * pic16_allocProcessorRegister: registers have explicit marked the
50003         accessBank field,
50004         * pic16_allocInternalRegister: registers are explicit marked as
50005         not used,
50006         * pic16_writeUsedRegs: pic16_dynDirectBitRegs was missing from the
50007         processing list, so bit registers were lost,
50008         *
50010         * ralloc.h: added field 'accessBank' and original symbol operand
50011         in register definition,
50012         * removed the field isMapped from register definition,
50014         ** Several functions have been removed from various sources:
50015         BanksUsedFlow2,BanksUsedFlow,FixBankFlow,InstructionRegBank,
50016         pic16_addMemRange,pic16_isREGinBank,pic16_dump_map,pic16_dump_cblock
50017         isSFR,validAddress,mapRegister,assignRegister,pic16_assignFixedRegisters
50018         pic16_assignRelocatableRegisters
50020         ** others have been introduced:
50021         pic16_areRegsSame,pic16_dump_section,checkAddReg,pic16_groupRegistersInSection
50022         pic16_popGetLit2,pic16_popCombine2,pushw,pushaop
50024 2004-01-05 Vangelis Rokas <vrokas AT otenet.gr>
50026         * support/scripts/inc2h.pl: changed definition of BIT_AT
50027         to emit 'sbit at' instead of 'bit at'. This was a request.
50029         PIC16 port related preliminary changes:
50030         * gen.c: prefixed function popRegFromString with
50031         pic16_ and all references to it corrected
50032         * pcode.c: all pic16_pc_* hardware registers prefixed
50033         with underscore (_),
50034         pic16_popCopyGPR2Bit(): function sets register wasUsed=1
50035         * ralloc.c: newReg(): when register is REG_SFR then
50036         set address to rIdx,
50037         pic16_allocProcessorRegister(): marks register wasUsed=0
50038         pic16_writeUsedRegs(): added a call to assign processor
50039         registers via pic16_assignFixedRegisters
50041 2004-01-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50043         * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c,
50044         as/mcs51/lkmain.c, as/mcs51/lkmem.c: 8051 linker can now pack
50045         variables in unused register banks.  Also the SSEG is placed
50046         wherever there is enough space for it, and IDATA can be anywhere
50047         in internal RAM.  For now compile using -Wl-Y[stack_size].
50048         The mem file is different for this option as well, since it
50049         makes no sense of talking about DSEG length.
50051 2004-01-02 Vangelis Rokas <vrokas AT otenet.gr>
50053         * src/SDCClrange.c: fixed bug 869095 that caused segfault
50054         in certain cases, e.g. when ROM assignment, patch provided
50055         from Albert den Haan.
50057 2004-01-01 Bernhard Held <bernhard AT bernhardheld.de>
50059         Many signedness and type propagation fixes:
50060         * src/SDCCicode.c: made geniCodeCast() static
50061         replaced SPEC_ by IS_ (cosmetic)
50062         (operandOperation): fixed div and mod operation
50063         (usualBinaryConversions): added support for promotion of char
50064         (geniCodeMultiply): replaced (unsigned long) by (TYPE_UDWORD)
50065         (geniCodeDivision): replaced (unsigned long) by (TYPE_UDWORD)
50066         (geniCodeAdd): an array index will stay unsigned, even if promoted
50067         from char to int
50068         (geniCodeArray): ditto
50069         * src/SDCCicode.h: made geniCodeCast() static: removed prototype
50070         * src/SDCCsymt.c (computeType): added more support for char;
50071         promotion of char is selectable by promoteCharToInt, fixed signedness
50072         for all cases
50073         (powof2): replaced (unsigned long) by (TYPE_UDWORD)
50074         * src/SDCCsymt.h (powof2): replaced (unsigned long) by (TYPE_UDWORD)
50075         * src/SDCCval (val*): replaced signedness calculation by
50076         computeType()
50077         rearranged if-branches (cosmetic)
50078         (valShift): added warning W_SHIFT_CHANGED
50079         (valCompare): fixed problem with different types
50080         * src/hc08/rallo.c (leastUsedLR): fixed gcc 3.3 warning
50081         * support/regression/tests/literalop.c: added many cases
50082         * support/regression/tests/ast_constant_folding.c: changed finally to
50083         'unsigned int'
50084         * .version: new year, new version: 2.3.7
50085         * src/SDCCmain.c (main): applied patch #866468
50086         * debugger/mcs51/sdcdb.c (parseCmdLine): added -k for ucsim, patch
50087         provided by Scott Bronson
50088         * doc/sdccman.lyx: updated documentation for sdcdb
50089         updated and added chapter tips
50091 2004-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50093         * src/SDCCsymt.h: missing from yesterday's commits
50095 2003-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50097         * src/SDCC.y (struct_or_union_specifier),
50098         * support/Util/SDCCerr.c,
50099         * support/Util/SDCCerr.h: verify that struct & union tags are used
50100         as declared.
50102 2003-12-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50104         * src/SDCCglobl.h: missing from yesterday's commits
50106 2003-12-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50108         * src/SDCC.y (external_definition, type_specifier2, sfr_reg_bit,
50109         sft_attributes, struct_declaration, parameter_declaration,
50110         type_name, start_block, declaration_list),
50111         * src/SDCC.lex (check_type): support redefinition of typedef names
50113 2003-12-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50115         * src/mcs51/gen.c (genPlus): added special handling for 256 byte
50116         aligned xdata arrays. Erik helped me with the if clause.
50118 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50120         * device/lib/ds390/tinibios.c (CpuSpeed): suppress unreachable code
50121         warning
50123 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50125         * src/SDCCast.h,
50126         * src/SDCCast.c (newAst_),
50127         * src/SDCCicode.h,
50128         * src/SDCCicode.c (ast2iCode, newiCode),
50129         * src/SDCCglobl.h,
50130         * src/SDCC.y (logical_and_expr, logical_or_expr, conditional_expr,
50131         expr, statement, expression_statement, selection_statement,
50132         iteration_statement, expr_opt, jump_statement): foundation for tracking
50133         sequence points
50134         * src/SDCCopt.c (killDeadCode): fixed bug #861580 (needs the sequence
50135         point code too)
50137 2003-12-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50139         * support/Util/SDCCerr.c,
50140         * src/SDCCast.h,
50141         * src/SDCCast.c (createCase, createDefault, decorateType),
50142         * src/SDCClabel.c (labelUnreach),
50143         * src/SDCC.y (labeled_statement, jump_statement): More improvements
50144         to error messages.
50145         * support/Util/SDCCerr.c (werrorfl): fixed a non-standard declaration
50146         (with thanks to Stas Sergeev)
50147         * device/include/time.h,
50148         * device/lib/time.c (CheckTime): suppress unreachable code warning
50150 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50152         * src/SDCCast.c (createIvalCharPtr),
50153         * src/SDCCglue.c (printChar): fixed bug #862241 (an error in my fix for
50154         bug #753752)
50155         * support/regression/tests/nullstring.c: tests for these two bugs
50157 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50159         * support/Util/SDCCerr.h,
50160         * support/Util/SDCCerr.c (E_NOT_ALLOWED),
50161         * src/SDCC.y (struct_declaration, struct_or_union_specifier): complain
50162         about storage class and 'at' used inside struct or union
50163         * src/SDCCBBlock.c (iCodeFromeBBlock),
50164         * src/SDCCcse.c (ifxOptimize),
50165         * src/SDCCglue.c (emitRegularMap, initPointer, printIvalStruct,
50166         printIvalArray, printiValFuncPtr, printIvalCharPtr, printIvalPtr,
50167         printIval, emitStaticSeg, emitOverlay),
50168         * src/SDCClabel.c (deleteIfx),
50169         * src/SDCCopt.c (replaceRegEqv, eBBlockFromiCode),
50170         * src/SDCCast.c (resolveSymbols, createIvalStruct, createIvalArray,
50171         gatherAutoInit, processParms),
50172         * support/Util/SDCCerr.h,
50173         * support/Util/SDCCerr.c (werrorfl): Support for better error location
50174         reporting for post-parse errors.
50176 2003-12-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50178         * src/SDCCval.c (valPlus, valMinus, valShift): fixed some problems with
50179         implicit casts via union; they don't work on big endian systems
50180         (possible fix for bug #861138)
50182 2003-12-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50184         (committed by Erik Petrich <epetrich AT ivorytower.norman.ok.us> on Frieder's behalf)
50185         * src/mcs51/main.c: fixed the fix for bug #737001
50187 2003-12-15  Borut Razem <borut.razem AT siol.net>
50189         * support/scripts/sdcc.nsi: updated for NSIS 2.0 beta 4
50191 2003-12-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50193         * support/makebin/makebin.c: put output in binary mode
50195 2003-12-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50197         * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears
50198         xdata and data memory on startup. Set the environment variable
50199         SDCC_NOGENRAMCLEAR to disable this.
50200         * src/mcs51/peephole.def,
50201         * src/ds390/peephole.def: using the atomic test and clear instruction jbc
50202         (allows non-interrupt and interrupt code to safely compete for a resource
50203         without the non-interrupt code having to disable interrupts)
50205 2003-12-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50207         * src/SDCCicode.c (geniCodeAdd),
50208         * src/SDCCast.c (decorateType): fixed bug #857753 (need to be careful
50209         with valFromType if type might be a pointer and host is big endian).
50210         * src/SDCCast.c (decorateType): unary plus compatible with all arithmetic
50211         types, not just integer types.
50212         * src/SDCCsymt.c (addSymChain): clarified error message when symbol is
50213         multiply defined with mismatching "at" address.
50215 2003-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50217         * src/ds390/main.c (PORT tininative_port): fixed bug #858416
50218         * src/SDCCglue.c (printChar, printIvalChar, emitStaticSeg),
50219         * src/SDCCast.c (createIvalCharPtr, stringToSymbol): handle strings
50220         with embedded nulls (fixed bug #753752)
50222 2003-12-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50224         * src/mcs51/main.c(_mcs51_genRAMCLEAR): using r0 instead of r1/r2.
50225         Apparently this did not see much testing (endless loop)
50227 2003-12-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50229         * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
50231 2003-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50233         * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
50234         gracefully handle NULL memmap pointers
50236 2003-12-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50238         * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
50239         instead of deleting the iCode when an operand is volatile
50240         * src/z80/gen.c (genDummyRead),
50241         * src/mcs51/gen.c (genDummyRead),
50242         * src/ds390/gen.c (genDummyRead),
50243         * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
50244         not just IC_RIGHT
50245         * src/SDCCicode.c (geniCodeCall): fixed bug #851607
50246         * src/SDCC.y: fixed bug #850420
50248 2003-12-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50250         Applied z80 i/o port patch from Peter Townson and fixed some operators
50251         to better handle operands in A register.
50252         * device/include/z180.h
50253         * src/SDCC.y
50254         * src/SDCCglue.c
50255         * src/z80/gen.c
50256         * src/z80/gen.h
50257         * src/z80/main.c
50258         * src/z80/peeph-z80.def
50259         * src/z80/peeph.def
50260         * src/z80/z80.h
50262 2003-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50264         * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
50266 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50268         * device/lib/hc08/_mullong.c: Removed extra #endif
50270 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50272         * sim/ucsim/hc08.src/inst.cc,
50273         * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
50274         carries from x to h
50275         * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
50276         * src/hc08/gen.c (XAccRsh): fixed problem with right shift
50277         * device/include/stdarg.h: fixed varargs for hc08
50278         * device/lib/Makefile.in,
50279         * device/lib/hc08/Makefile,
50280         * device/lib/hc08/_mulint.c,
50281         * device/lib/hc08/_mullong.c: fixed some endian problems
50283 2003-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50285         * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
50286         * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
50287         * device/lib/_gptrget.c,
50288         * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
50290 2003-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50292         * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
50293         * src/SDCCast.c (astErrors): fixed bug #846007
50294         * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
50296 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50298         * src/SDCCast.c (decorateType): disabled a transformation I added in
50299         revision 1.188 (access to fields of a structure at an absolute address);
50300         it breaks with bitfields, extern declarations, and gcse analysis.
50301         * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
50302         could be assigned through a pointer, so don't complain.
50303         * src/SDCCast.c (astErrors),
50304         * src/SDCCast.h,
50305         * src/SDCCglue.c (emitRegularMap): fixed bug #847813
50307 2003-11-26 Vangelis Rokas <vrokas AT otenet.gr>
50309         * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
50310         * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
50311         output of __config directives, since gpasm now supports them
50312         * src/pic16/main.c (_pic16_finaliseOptions): define MCU
50313         pre-processor macro, i.e. -DMCU=p18f452
50314         * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
50315         and modified to handle 'cast' icode similarly to '=' icode
50316         * src/pic16/device.h (typedef struct PIC_device): added field
50317         'extMIface' to indicate that chip has external memory interface
50318         * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
50319         18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
50320         18F8720
50322 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50324         * src/SDCC.y (pointer): fixed bug #846006
50325         * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
50326         * src/SDCCast.c (decorateType): fixed bug #846009
50327         * src/ds390/peeph.def,
50328         * src/ds390/gen.c (genAnd, genOr),
50329         * src/mcs51/peeph.def,
50330         * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
50332 2003-11-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50334         Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
50335         * src/SDCCdflow.c
50336         * src/SDCCcse.c
50337         * src/SDCCcse.h
50338         * src/SDCCBBlock.h
50339         * src/SDCCBBlock.c
50341 2003-11-23 Klaus Flittner <klaus_flittner AT gmx.de>
50343         fixed bug #845089
50344         * src/SDCCbitv.h,
50345         * src/SDCCbitv.c: added function to free a bitvector
50346         * src/SDCClrange.h,
50347         * src/SDCClrange.c: added function to recompute the liveranges
50348         * src/avr/ralloc.c,
50349         * src/ds390/ralloc.c,
50350         * src/hc08/ralloc.c,
50351         * src/mcs51/ralloc.c,
50352         * src/pic/ralloc.c,
50353         * src/pic16/ralloc.c,
50354         * src/xa51/ralloc.c,
50355         * src/z80/ralloc.c: recompute the liveranges after register packing
50357 2003-11-21 Klaus Flittner <klaus_flittner AT gmx.de>
50359         * src/SDCCloop.c (newInduction): fixed bug #845630
50361 2003-11-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50363         * src/SDCCsymt.c (compareTypesExact): disabled debugging output
50364         inadvertantly left behind from my 2003-11-12 change
50366 2003-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50368         Updated headers I neglected to commit yesterday.
50369         * src/SDCClrange.h,
50370         * src/SDCCicode.h
50372 2003-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50374         * src/SDCCcse.c (algebraicOpts): fixed bug #773153
50375         * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
50376         * src/SDCCopt.c (eBBlockFromiCode),
50377         * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
50378         the creation of the key hash table from the sequencing so it can be used
50379         earlier (for some GCSE bug fixes still pending)
50381 2003-11-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50383         * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
50384         * support/regression/tests/addsub.c: testing genPlus shortcut
50386 2003-11-15  Borut Razem <borut.razem AT siol.net>
50388         * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
50390 2003-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50392         * src/SDCCcse.c (cseBBlock): fixed bug #527779
50393         * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
50394         ordering is immaterial.
50395         * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
50397 2003-11-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50399         * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
50400         * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
50401         (SIGSEV) of bug #840381
50402         * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
50403         unlink new file before rename if new and old filenames are the same)
50405 2003-11-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50407         * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
50408         uninitialized variables) for the mcs51. Set environment variable
50409         SDCC_GENRAMCLEAR to test.
50410         xdata initialization slightly shorter
50412 2003-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50414         * src/SDCCsymt.h,
50415         * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
50416         #838241 & 780691 (basicly the same bug)
50417         * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
50418         * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
50420 2003-11-11 Bernhard Held <bernhard AT bernhardheld.de>
50422         * src/SDCCmain.c (linkEdit): "fix" #834252
50424 2003-11-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50426         * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
50427         * src/SDCCast.h,
50428         * src/SDCC.y: fixed bug #819403
50430 2003-11-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50432         * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
50433         the reentrant attribute.
50434         * src/hc08/gen.c (genPackBits): added missing stack readjustment
50435         * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
50436         simulation
50437         * src/SDCCast.c (decorateType): fixed bug with storage class not being
50438         updated during pointer dereference; f.e. ~(((char *)1)*) was being
50439         erroneously reduced to a literal.
50440         * src/hc08/ralloc.c (packRegisters, rematStr),
50441         * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
50442         some cases
50444 2003-11-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50446         * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
50447         * doc/sdccman.lyx: changed from 'article' to 'book'
50448         * doc/Makefile: readded test_suite_spec and cdbfileformat
50450 2003-11-08 Bernhard Held <bernhard AT bernhardheld.de>
50452         * device/include/stdlib.h: include malloc.h to comply with ANSI
50453         * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
50455 2003-11-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50457         * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
50458         * doc/clean.mk: also remove *.out files
50459         * doc/sdccman.lyx: some additions, larger top/bottom margins
50461 2003-11-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50463         * src/SDCC.y: fixed bug #837365
50464         * support/regression/tests/bitopcse.c
50465         * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
50466         a symbol (might be valop instead)
50467         * device/lib/Makefile.in: added errno.c to HC08SOURCES
50468         * device/lib/clean.mk: added hc08 to the cleaning list
50470 2003-11-04  Borut Razem <borut.razem AT siol.net>
50472         * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
50473           made 2003-11-04
50474         * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
50475           as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
50476           malloc is declared in standard stdlib.h
50478 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50480         * device/lib/hc08/Makefile: need to clean .rel not .o files
50481         * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
50483 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50485         * src/port.h,
50486         * src/hc08/main.c,
50487         * src/mcs51/main.c,
50488         * src/ds390/main.c,
50489         * src/z80/main.c,
50490         * src/avr/main.c,
50491         * src/pic/main.c,
50492         * src/pic16/main.c,
50493         * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
50494         * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
50495         tests (which uses the port's oclsExpense function)
50496         * src/SDCC.y,
50497         * src/SDCCast.c,
50498         * src/SDCCicode.c,
50499         * src/hc08/gen.c,
50500         * src/ds390/gen.c,
50501         * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
50503 2003-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50505         * src/SDCCcse.c (ifxOptimize),
50506         * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
50507         an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
50508         deleting the IFX iCode.
50509         * src/hc08/ralloc.c: reduced unneeded slocs
50510         * src/hc08/gen.c: fixed bug in asmopToBoolean
50512 2003-11-04  Borut Razem <borut.razem AT siol.net>
50514         * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
50515           support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
50516           as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
50517           transferred to configure
50519 2003-11-03 Bernhard Held <bernhard AT bernhardheld.de>
50521         Use headers defined in the C[++] standards:
50522         * sim/ucsim/gui.src/serio.src/fileio.cc
50523         * sim/ucsim/gui.src/serio.src/frontend.cc
50524         * sim/ucsim/gui.src/serio.src/main.cc
50525         * sim/ucsim/gui.src/serio.src/posix_signal.cc
50526         * support/Util/NewAlloc.c
50527         * as/hc08/lklibr.c
50528         * as/mcs51/lklibr.c
50529         * as/z80/aslist.c
50530         * as/z80/assym.c
50532 2003-11-03  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50534         * Added MSVC projects for hc08 assembler and linker:
50535         all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
50536         /as/hc08/link_hc08.dsp
50538 2003-11-03 Martin Helmling <Martin.Helmling AT octo-soft.de>
50540         * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)
50542 2003-11-02 Bernhard Held <bernhard AT bernhardheld.de>
50544         * src/SDCCmain.c (linkEdit): "fixed" again bug #833605
50546 2003-11-01 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50548         * src/mcs51/main.c: xdata initialization is 13 bytes shorter now
50550 2003-10-31  Borut Razem <borut.razem AT siol.net>
50552         * support/cpp2/cpplib.h,
50553           support/cpp2/cpplib.c,
50554           support/cpp2/cpplex.c,
50555           support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ]
50556           to switch _asm block preprocessing on / off. Default is
50557           #pragma preproc_asm +
50559 2003-10-31  Borut Razem <borut.razem AT siol.net>
50561         * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences
50562           when outputting comment blocks (when executed with -C option) and
50563           _asm (SDCPP specific) blocks
50565 2003-10-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50567         * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning
50569 2003-10-31 Klaus Flittner <klaus_flittner AT gmx.de>
50571         * src/SDCCcse.c (updateSpillLocation): fixed bug #808027
50573 2003-10-31 Bernhard Held <bernhard AT bernhardheld.de>
50575         * src/SDCCmain.c (linkEdit): "fixed" bug #833605
50576         * src/SDCCast.c (decorateType): fixed bug #832664
50578 2003-10-31  Borut Razem <borut.razem AT siol.net>
50580         * support/cpp2/cpplex.c: fixed for SDCPP:
50581           comments(when executed with -C option) and _asm blocks
50582           were included even if they where in skipped #if block.
50583           Applied solution from GCC cpp 3.3.2
50585 2003-10-31  Borut Razem <borut.razem AT siol.net>
50587         * src/SDCC.lex: sdcc now understands both formats:
50588           '# <line_number> <file_name>' and
50589           '#line <line_number> <file_name>'
50590         * support/cpp2/cppmain.c: sdcpp now generates the standard
50591           '# <line_number> <file_name>' instead of former
50592           '#line <line_number> <file_name>'
50594 2003-10-30  Borut Razem <borut.razem AT siol.net>
50596         * support/cpp2/cpphash.h,
50597         * support/cpp2/cpplib.h
50598         * support/cpp2/cpplex.c,
50599         * support/cpp2/cppmain.c,
50600         * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants
50602 2003-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50604         Fixed a number of problems revealed by bug #827883.
50605         * src/SDCCloop.c (loopInvariants): Spill location of the
50606         result operand should be recomputed if extracted from
50607         a loop. Also, don't extract assignments of an iTemp
50608         from a literal.
50609         * src/SDCCast.c (isConformingBody): loop reversal should
50610         not occur if the control variable is involved with a
50611         relational operator.
50613 2003-10-28 Bernhard Held <bernhard AT bernhardheld.de>
50615         * .version: bumped to 2.3.6 to reflect the big improvements
50616         made by Erik and Klaus. Thanks!
50618 2003-10-28 Klaus Flittner <klaus_flittner AT gmx.de>
50620         Replaced the livrange code.
50621         * src/SDCClrange.c: added new LR code
50622         * src/SDCCloop.c,
50623         * src/SDCCBBlock.h: removed remainig parts from old LR code
50624         * src/ds390/ralloc.c,
50625         * src/ds390/gen.c: minor fixes to make it work with new code
50627 2003-10-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50629         * as/hc08/asm.h,
50630         * as/hc08/lkrloc.c,
50631         * src/hc08/gen.c,
50632         * src/hc08/ralloc.c: Fix various warnings related to the hc08
50633         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717
50634         (tweaked fix for bug #818696)
50636 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50638         * src/z80/ralloc.c (joinPushes): Fixed bug #828742
50640 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50642         * src/SDCCmain.c,
50643         * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work)
50644         * src/mcs51/gen.c (gencjneshort),
50645         * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand
50646         more efficient (per Scott Bronson's suggestion)
50648 2003-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50650         Extended the semantics of the critical keyword to include
50651         individual statements. See RFE #827755 and #799831
50652         * src/SDCC.y
50653         * src/SDCCicode.c
50654         * src/SDCCopt.c
50655         * src/SDCCast.c
50656         * support/Util/SDCCerr.c
50657         * support/Util/SDCCerr.h
50658         * src/mcs51/gen.c
50659         * src/ds390/gen.c
50660         * src/hc08/gen.c
50662 2003-10-19  Borut Razem <borut.razem AT siol.net>
50664         * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31
50666 2003-10-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50668         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode):
50669         Fixed bug #818696
50670         * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement
50671         and predecrement operand is displayed
50673 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
50675         * src/SDCCval.c (valMinus): fixed bug #826041
50677 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50679         Some hc08 related updates that I missed earlier
50680         * sim/ucsim/stypes.h
50681         * support/regression/ports/hc08/spec.mk
50683 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50685         New target "hc08" for the Motorola 68hc08 family of micros
50687         * configure
50688         * configure.in
50689         * Makefile
50690         * src/hc08/*
50691         * src/SDCCmain.c
50692         * src/port.h
50693         * sim/ucsim/hc08.src/*
50694         * sim/ucsim/configure.in
50695         * src/ucsim/configure
50696         * sim/ucsim/packages_in.mk
50697         * as/hc08/*
50698         * as/Makefile
50699         * device/include/mc68hc908qy.h
50700         * device/lib/hc08/*
50701         * device/lib/Makefile.in
50702         * support/regression/ports/hc08/*
50703         * support/regression/Makefile
50705 2003-10-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50707         * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c
50708         regression test
50709         * src/ds390/gen.c (genCast): fixed bug #821957
50711 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
50713         * device/lib/logf.c: "fixed" overlay bug
50714         * support/regression/ports/host/spec.mk: added m library
50715         * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs
50716         * support/regression/tests/float_trans: added (for Eric)
50718 2003-10-12 Bernhard Held <bernhard AT bernhardheld.de>
50720         * src/mcs51/gen.c (genCpl): fixed bug
50721         http://sf.net/mailarchive/message.php?msg_id=6263915
50723 2003-10-10 Bernhard Held <bernhard AT bernhardheld.de>
50725         * src/SDCCast.c (decorateType): added extended constant folding
50726         * src/SDCCsymt.c (computeType): cleanup
50727         * src/SDCCval.c (valShift): minor optimization
50728         * support/regression/tests/ast_constant_folding.c: added
50730 2003-10-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50732         * src/SDCCmain.c: removed some unintended changes
50734 2003-10-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50736         * src/SDCCmain.c (setParseWithComma): fixed bug #816685
50737         * src/z80/gen.c: fixed part of bug #817589
50738         * src/SDCCsymt.c (checkFunction): fixed bug #817895
50740 2003-10-08 Bernhard Held <bernhard AT bernhardheld.de>
50742         Replaced cast (void **) with (void *) to avoid gcc 3 warning:
50743         * src/SDCCcflow.c
50744         * src/SDCCcse.c
50745         * src/SDCCdflow.c
50746         * src/SDCClabel.c
50747         * src/SDCClrange.c
50748         * src/SDCCmem.c
50749         * src/SDCCopt.c
50750         * src/SDCCpeeph.c
50751         * src/SDCCset.c
50752         * src/avr/ralloc.c
50753         * src/ds390/ralloc.c
50754         * src/izt/ralloc.c
50755         * src/mcs51/ralloc.c
50756         * src/pic/ralloc.c
50757         * src/pic16/ralloc.c
50758         * src/xa51/ralloc.c
50759         * src/z80/ralloc.c
50760         * src/z80/gen.c: removed unused label "release:"
50762 2003-10-06  Borut Razem <borut.razem AT siol.net>
50764         * src/SDCC.lex: removed definition of unused variables
50765           save_optimize and save_options
50767 2003-10-06 Bernhard Held <bernhard AT bernhardheld.de>
50769         * clean.mk: removed '=' in "-maxdepth=1"
50770         * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS
50771         * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS
50773 2003-10-06  Borut Razem <borut.razem AT siol.net>
50775         * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions;
50776           my_unput() replaced by unput()
50778 2003-10-05 Bernhard Held <bernhard AT bernhardheld.de>
50780         * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
50781         setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
50782         type-punned pointer will break strict-aliasing rules"
50783         Old LR behaviour is again default; Klaus' LR can be choosen by
50784         defining the environment variable LRKLAUS
50785         * src/SDCCBBlock.h
50786         * src/SDCCloop.c
50787         * src/SDCClrange.c
50788         * src/ds390/ralloc.c (spillThis): applied Klaus' patch
50789         * clean.mk: fixed removal of files in bin/CVS/
50790         * device/lib/clean.mk: fixed removal of directories small and large
50791         * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
50792         * src/SDCCicode.c,
50793         * src/SDCCval.c: removed superflous test for pedantic
50795 2003-10-05  Borut Razem <borut.razem AT siol.net>
50797         * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
50798           Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
50799           message "unmatched #pragma SAVE and #pragma RESTORE"
50801 2003-10-04  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50803         * doc/sdccman.lyx: various additions and updates (interrupts, inline
50804           assembly, critical functions, atomic, nojtbound)
50806 2003-10-04 Bernhard Held <bernhard AT bernhardheld.de>
50808         Applied liferange patch from Klaus Flittner <klaus_flittner AT gmx.de>
50809         * src/SDCCBBlock.h
50810         * src/SDCCloop.c
50811         * src/SDCCloop.h
50812         * src/SDCClrange.c
50814 2003-10-03  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50816         * src/z80/gen.h,
50817         * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
50818         * src/mcs51/gen.h
50819         * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
50820         * src/ds390/gen.h
50821         * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
50822         * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
50823         * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
50825 2003-10-02  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50827         * src/z80/gen.c (genRet): fixed bug #524753
50828         * src/z80/gen.c (genCast): fixed internal error on cast from
50829         pointer to long
50830         * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
50831         fix for bug #477835 to the z80
50832         * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
50833         for tracking iCodes in the peephole optimizer for z80
50835 2003-10-01  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50837         * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
50838         the other part of bug #814548
50839         * src/SDCCpeeph.c (labelInRange): fixed bug #814558
50841 2003-09-30  Bernhard Held <bernhard AT bernhardheld.de>
50843         * src/SDCCcse.c: fixed part of bug #814548
50845 2003-09-28  Borut Razem <borut.razem AT siol.net>
50847         * src/asm.c: rewrite of printILine() to use temporary file instead
50848           a pipe
50849         * src/xa51/main.c: commented out declaration of int rewinds
50851 2003-09-27  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50853         * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
50855 2003-09-26  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50857         * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
50858         * src/asm.c (printILine): Fixed bug #811015
50860 2003-09-22  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50862         *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
50863         freeing.
50865 2003-09-21  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50867         * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
50868         * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
50869         to correctly handle general case of AOP_PAIRPTR
50870         * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
50872 2003-09-21  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50874         * src/mcs51/ralloc.c (fillGaps),
50875         * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
50876         register positioning bug)
50878 2003-09-21  Bernhard Held <bernhard AT bernhardheld.de>
50880         * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
50882 2003-09-19  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50884         * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
50885         genCodePointerGet, genGenPointerGet, genFarPointerSet,
50886         genGenPointerSet): handle AOP_DPTR correctly when loading dptr
50887         (ralloc doesn't intentionally do this now, but perhaps later)
50888         * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
50889         * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
50890         register positioning bugs (Fixed bug #762602 and #795325)
50891         * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
50892         (Fixed bug #808779)
50893         * src/z80/gen.c: increased _vemit2's buffer[] to handle long
50894         lines that --i-code-in-asm generates
50896 2003-09-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50898         *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
50899         trying to fclose a FILE* that was already closed.
50901 2003-09-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50903         * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
50904         of const struct should be treated as if const themselves)
50906 2003-09-18  Bernhard Held <bernhard AT bernhardheld.de>
50908         * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
50910 2003-07-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50912         * support/librarian/sdcclib.c: Generate correct offsets for libraries with
50913         Unix (/n) and DOS (/r/n) line terminations.
50915 2003-09-17  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50917         * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
50918         bug #613775
50920 2003-09-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50922         * src/mcs51/gen.c (genFunction, genEndFunction),
50923         * src/ds390/gen.c (genFunction, genEndFunction): Moved save
50924         and restore of EA so that stack offsets to parameters are
50925         correct when using both critical and reentrant/stack-auto.
50926         * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
50927         size (can be triggered in error if sloc is shared between
50928         different sized objects)
50929         * device/include/float.h: fixed macros to explicitly use
50930         unsigned long where needed
50932 2003-09-15  Bernhard Held <bernhard AT bernhardheld.de>
50934         Feature req. 799831: added code to allow nesting of critical functions
50935         * src/mcs51/gen.c (genFunction, genEndFunction)
50936         * src/ds390/gen.c (genFunction, genEndFunction)
50938 2003-09-14  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50940         * src/SDCCsymt.c (sclsFromPtr),
50941         * src/SDCCsymt.h,
50942         * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
50943         support for standard C idiom of memory mapped variables; for
50944         example, *((xdata int*)0x1234) = 1 is now internally equivalent
50945         to xdata int at 0x1234 tempvar = 1.
50946         * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
50947         provided by Akiya ISHIDA
50949 2003-09-13  Bernhard Held <bernhard AT bernhardheld.de>
50951         * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
50952         * src/SDCCval.c (constVal): added reduction from int to char
50953         * src/SDCCval.c (valMult, valDiv): fixed sign handling
50954         * src/SDCCval.c (valShift): fixed after change of cheapestVal()
50955         * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
50956         to ignore the sign
50957         * support/regression/tests/shifts.c: fixed
50959 2003-09-13  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50961         * src/z80/gen.c (genXor): Fixed bug #805445
50963 2003-09-12  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50965         Fixed bug #621531 (const & volatile confusion in the type chain).
50966         DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
50967         refer to the const or volatile state of the pointer itself.
50969         * src/SDCCast.c
50970         * src/SDCCglue.c
50971         * src/SDCCicode.c
50972         * src/SDCCsymt.c
50973         * src/SDCCval.c
50974         * src/SDCC.y
50975         * src/SDCCsymt.h
50976         * src/pic/gen.c
50977         * src/pic/ralloc.c
50978         * src/pic16/gen.c
50979         * src/pic16/ralloc.c
50980         * support/regression/tests/const.c
50982 2003-09-10  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50984         When checking for duplicated modules, use absolute paths
50985         instead of relative paths.  Files changed:
50987         * as/mcs51/lklib.c
50988         * link/z80/lklib.c
50990 2003-09-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50992         * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
50994 2003-09-07  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50996         * device/include/string.h: added size_t typedef, changed
50997         prototypes to use size_t, eliminated separate reentrant and
50998         non-reentrant declarations, added _memmove declaration
50999         * device/lib/_memcpy.c: changed to use size_t instead of int,
51000         changed /4 to >>2 to avoid division library call
51001         * device/lib/_memcmp.c,
51002         * device/lib/_memset.c,
51003         * device/lib/_strncat.c,
51004         * device/lib/_strncpy.c,
51005         * device/lib/_strncmp.c: changed to use size_t instead of int
51006         * device/lib/_memmove.c: new file (fixed bug #772294)
51007         * device/lib/Makefile.in: added _memmove.c
51008         * device/lib/z80/asm_strings.s: fixed bug #772290
51009         * support/regression/tests/bitfields.c: attempt to fix host assertion
51010         failure on amd64-unknown-linux2.2
51012 2003-09-06  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51014         * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
51015         * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
51016         * as/z80/asmain.c (main): fixed bug #801766
51018 2003-09-06  Bernhard Held <bernhard AT bernhardheld.de>
51020         * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
51021         compilers
51023 2003-09-05  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51025         * src/SDCCast.c (isConformingBody): fixed loop reversal bug
51026         reported in bug #800609
51028 2003-09-04  Vangelis Rokas <vrokas AT otenet.gr>
51030         * Top header beautifications in src/pic16 directory:
51031           device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
51032           pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
51033           pcoderegs.h, ralloc.c, ralloc.h
51034         * main.c: added top header and GPL license notice
51035         * pcode.c: fixed the if-conditional warning
51037 2003-09-04  Bernhard Held <bernhard AT bernhardheld.de>
51039         * device/lib/_mullong.c: replaced int by short for gcc
51041 2003-08-31  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51043         * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
51044         and JUMPTABLE iCodes properly now (worked by accident before)
51045         * src/mcs51/gen.c (leftRightUseAcc),
51046         * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
51047         iCode properly now. Use getSize instead of nRegs since a & b
51048         aren't part of the nRegs tally.
51050 2003-08-31  Vangelis Rokas <vrokas AT otenet.gr>
51052         * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
51053         * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
51054           before instructions that use the _STATUS register
51056 2003-08-31  Bernhard Held <bernhard AT bernhardheld.de>
51058         * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
51059         * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
51060         fetching of the pointer
51061         * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
51062         copied from genNearPointerSet()
51063         * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
51064         * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
51065         If they pop r0/r1 they must be called in the opposite order than aopOp().
51066         * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
51067         (resp. --stack-auto), prepared for --xstack
51069 2003-08-28  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51071         * doc/sdccman.lyx: reverted tables to those in cvs 1.64
51073 2003-08-28  Bernhard Held <bernhard AT bernhardheld.de>
51075         * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
51076         these ports have their own __sdcc_external_start()
51078 2003-08-26  Bernhard Held <bernhard AT bernhardheld.de>
51080         pic patch provided by Slade Rich <slade_rich AT yahoo.com>
51081         * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
51082         type for bits was changed. It resulted in bit variables becoming
51083         global, which is not permitted in PIC 14 assembly output.
51085 2003-08-23  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51087         * doc/sdccman.lyx: various additions and updates. Rearranged sections
51089 2003-08-22  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51091         Z80 and MCS51 linkers complaint if a public symbol is defined
51092         in more than one library module:
51094         * as/mcs51/lklib.c
51095         * link/z80/lklib.c
51096         * as/mcs51/Makefile.in
51098 2003-08-22  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51100         A few small changes that speed up the peephole optimizer.
51102         * src/SDCCpeeph.c
51104 2003-08-22  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51106         Try to make the peephole optimizer smarter by maintaining
51107         an association between the assembly source code and the
51108         iCodes that originated them. Put this information to use
51109         with a new peephole rule condition "notVolatile" so that
51110         the rules can be aggressive yet still safe.
51112         * src/SDCCpeeph.c
51113         * src/SDCCpeeph.h
51114         * src/mcs51/gen.c
51115         * src/mcs51/peeph.def
51117 2003-08-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51119         Fixed bug #741761
51121         * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
51122         * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
51123         if the left or right operand symbols have the accuse flag set.
51125 2003-08-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51127         Changed the type of the result of the ! (NOT) operator to char;
51128         previously it returned the same type as the source. This allows
51129         us to eliminate all the genFloatNot functions (all of its target
51130         implementations were very buggy) since !float can use the same
51131         code as !long now.
51133         * src/SDCCicode.c (ast2iCode): ! returns char
51134         * src/mcs51/gen.c (genNot, genNotFloat),
51135         * src/ds390/gen.c (genNot, genNotFloat),
51136         * src/z80/gen.c (genNot, genNotFloat),
51137         * src/pic/gen.c (genNot, genNotFloat),
51138         * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
51140 2003-08-19  Bernhard Held <bernhard AT bernhardheld.de>
51142         pic patch provided by Slade Rich <slade_rich AT yahoo.com>
51143         1. Interrupt would not compile properly. Ensure PCLATH register is saved
51144            during interrupts. Ensure WSAVE is located at a shared bank address.
51145         2. Fixed page selection in some places
51146         3. Fixed BTFSS/C to where necessary use registers directly and not simply
51147            the registers name strings.
51148         4. Fixed "signed / unsigned compare" compiler warnings.
51149         5. The PIC port manages its own allocation of the general purpose
51150            registers, but makes no attempt to reuse them. As a result when
51151            compiling it soon runs out of general purpose registers. Some
51152            additional code was added to the files pcode.c and device.c to walk
51153            through the function call tree and rename the registers so that they
51154            get reused.
51156         * src/pic/device.c
51157         * src/pic/gen.c
51158         * src/pic/glue.c
51159         * src/pic/pcode.c
51160         * src/pic/pcode.h
51161         * src/pic/ralloc.c
51162         * src/pic/ralloc.h
51163         * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
51164         genPlus() & genMinus() when the result is the same as left or right
51166 2003-08-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51168         * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
51170 2003-08-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51172         Made bitfield a distinct type from bit so that bitfields
51173         convert as per ANSI C and bits retain their traditional
51174         boolean style behaviour. Implemented bitfield support in
51175         the z80 port.
51177         * src/SDCCsymt.h,
51178         * src/SDCCsymt.c,
51179         * src/SDCCast.c,
51180         * src/cdbFile.c,
51181         * src/mcs51/gen.c,
51182         * src/ds390/gen.c: bit v bitfield split
51183         * src/z80/gen.c: New support for bitfields
51184         * support/regression/tests/bitfields.c: reenabled z80,
51185         added more tests
51187 2003-08-17  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51189         Rules 246.x, 247.x relate to bitfields, the others speed up
51190         access to xdata mapped I/O devices.
51192         * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
51194 2003-08-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51196         Cleaned up genPackBits and genUnpackBits and added two helper
51197         functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
51198         for literal assignments in genPackBits (thanks to Frieder for
51199         reminding me).
51201         * src/mcs51/gen.c
51202         * src/ds390/gen.c
51204 2003-08-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51206         Fixed bug #748310 (pointer to function type mishandled when the
51207         function name is omitted). Also fixed a SIGSEGV when a function
51208         attribute (reentrant, etc) is used on a non-function or on a
51209         function but misplaced before the parameter list.
51211         * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
51212         bug #748310
51213         * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
51214         * support/Util/SDCCerr.h,
51215         * support/Util/SDCCerr.c: Added func attr misuse error msg
51217 2003-08-13  Bernhard Held <bernhard AT bernhardheld.de>
51219         Fixed bug #787649 by anonymous
51220         * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
51221         * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
51223 2003-08-14  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51225         Fixed numerous bitfield problems.
51227         * src/SDCC.y: More bitfield related error checking
51228         * src/SDCCsymt.h,
51229         * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
51230         * support/Util/SDCCerr.h,
51231         * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
51232         * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
51233         * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
51234         * support/regression/tests/bitfields.c: tests added
51236 2003-08-13  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51238         Made the constant following the "interrupt" keyword optional. If
51239         omitted, the function will not automatically be given an entry
51240         in the interrupt vector table (similar to #pragma NOIV, but
51241         less syntacticly kludgy). The interrupt number is also now
51242         range checked. Also fixed a bug in the high order bit example
51243         in the manual.
51245         * src/SDCC.y
51246         * src/SDCCmem.c
51247         * src/SDCCglue.c
51248         * src/SDCCsymt.h
51249         * support/Util/SDCCerr.c
51250         * support/Util/SDCCerr.h
51251         * doc/sdccman.lyx
51253 2003-08-13  Bernhard Held <bernhard AT bernhardheld.de>
51255         * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
51256         * src/SDCCicode.c (operandOperation): rewritten some ops
51257         (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
51258         * src/SDCCsymt.c (computeType): literals are handled the same way as any
51259         other type
51260         * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
51261         be re-activated by defining REDUCE_LITERALS)
51262         * src/SDCCval.c (constVal): fixed; hex and octal constants can be
51263         unsigned, but are signed by default
51264         * src/SDCCval.c (constVal): rearranged
51265         * src/SDCCval.c (valMod): preliminary fix
51266         * src/SDCCval.c (valCastLiteral): use TYPE_* types
51267         * support/regression/literalop.c: added, work in progress
51269 2003-08-12  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51271         Generate warnings for useless declarations like "char data;"
51272         that don't do what new users expect.
51274         * src/SDCC.y
51275         * support/Util/SDCCerr.h
51276         * support/Util/SDCCerr.c
51278 2003-08-09  Bernhard Held <bernhard AT bernhardheld.de>
51280         * src/SDCCval.c (valMult): fix overflow detection of negative int
51282 2003-08-07  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51284         * src/z80/ralloc.c (joinPushes): made compatible with new signedness
51286         Changes to support big endian targets:
51288         * src/ports.h
51289         * src/SDCCglue.c
51290         * src/avr/main.c
51291         * src/ds390/main.c
51292         * src/izt/i186.c
51293         * src/mcs51/main.c
51294         * src/pic/main.c
51295         * src/pic16/main.c
51296         * src/xa51/main.c
51297         * src/z80/main.c
51299 2003-08-06  Bernhard Held <bernhard AT bernhardheld.de>
51301         * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
51302         * device/lib/time.c: fixed warning "integer overflow in expression"
51304 2003-08-05  Bernhard Held <bernhard AT bernhardheld.de>
51306         * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
51307         * src/SDCCval.c (constVal): changed default to signed; hex and octal
51308         constants are unsigned; added recognition of "u" flag for unsigned
51309         * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
51310         * src/SDCCval.c (valDiv, valMod): fixed signdness
51311         * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
51312         signedness of modulo, left and right shift
51313         * support/Util/SDCCerr.c: added warning "integer overflow in expression"
51314         * support/Util/SDCCerr.h: added warning W_INT_OVL
51315         * src/SDCCast.c (decorateType): fixed gcc3.3 warning
51316         * src/SDCCast.c (ast_print): improved output of constants
51318 2003-08-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51320         Fixed some warnings when building with MSVC:
51322         * as/mcs51/asdata.c
51323         * as/z80/asdata.c
51324         * as/mcs51/asm.h
51325         * as/z80/asm.h
51326         * link/z80/aslink.h
51327         * link/z80/lkdata.c
51328         * link/z80/lkeval.c
51329         * link/z80/lkgb.c
51330         * link/z80/lkihx.c
51331         * link/z80/lks19.c
51332         * link/z80/lksym.c
51333         * support/cpp2/cpplib.c
51334         * src/ds390/gen.c
51335         * src/mcs51/gen.c
51337 2003-08-03  Bernhard Held <bernhard AT bernhardheld.de>
51339         * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth AT isi.edu>
51341 2003-08-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51343         * support/librarian/clean.mk: Do not remove Makefile.
51344         * support/librarian/Makefile: added.
51346 2003-08-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51348         Added librarian to MSVC build:
51349         * all.dsp
51350         * sdcc.dsw
51351         * support/librarian/librarian.dsp
51353         'configure' not needed for librarian, removed:
51354         * support/librarian/configure
51355         * support/librarian/configure.in
51356         * support/librarian/config_in.h
51357         * support/librarian/Makefile.in
51359         Hopefully these ones built the librarian and the rest of sdcc properly:
51360         * Makefile
51361         * Makefile.common.in
51363         Messed up 'configure', so revert to previous version:
51364         * configure
51365         * configure.in
51367 2003-07-31  Bernhard Held <bernhard AT bernhardheld.de>
51369         * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
51370         there, while the mantissa of a double is "only" 53 bits wide.
51372 2003-07-31  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51374         Adding sdcclib to the build.  MSVC project coming soon.
51375         Files added/changed:
51377         * support/librarian/clean.mk
51378         * support/librarian/configure
51379         * support/librarian/configure.in
51380         * support/librarian/config_in.h
51381         * support/librarian/Makefile.bcc
51382         * support/librarian/Makefile.in
51383         * support/librarian/sdcclib.c
51384         * Makefile.bcc
51385         * Makefile
51386         * Makefile.common.in
51387         * configure
51388         * configure.in
51390 2003-07-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51392         Linker now complaints if linked modules have conflicting options, for
51393         example, one compiled using --model-large and another one compiled with
51394         --model-small.  The following files were modified:
51396         * as/mcs51/asdata.c
51397         * as/mcs51/aslink.h
51398         * as/mcs51/asm.h
51399         * as/mcs51/asmain.c
51400         * as/mcs51/asout.c
51401         * as/mcs51/i51pst.c
51402         * as/mcs51/lkdata.c
51403         * as/mcs51/lklibr.c
51404         * as/mcs51/lkmain.c
51405         * as/z80/asdata.c
51406         * as/z80/asm.h
51407         * as/z80/asmain.c
51408         * as/z80/asout.c
51409         * as/z80/z80pst.c
51410         * link/z80/aslink.h
51411         * link/z80/lkdata.c
51412         * link/z80/lklibr.c
51413         * link/z80/lkmain.c
51414         * src/SDCCglue.c
51416 2003-07-28  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51418         *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
51419         as/mcs51/lklibr.c: Generate a warning when a library is not found.
51421 2003-07-28  Bernhard Held <bernhard AT bernhardheld.de>
51423         * src/z80/mappings.i: fix _mul[us][int,long] entries
51425 2003-07-26  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51427         *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
51429 2003-07-24  Bernhard Held <bernhard AT bernhardheld.de>
51431         * src/SDCCicode.c (operandOperation): really fixed problem with bitops
51432         * support/regression/tests/bitopcse.c: added
51433         fixed warning:
51434         * src/avr/gen.c:
51435         * src/pic/gen.c:
51436         * src/pic16/gen.c:
51437         * src/z80/gen.c:
51438         * src/xa51/gen.c:
51440 2003-07-24  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51442         added support for new library format to z80, gbz80 linkers:
51443         *link/z80/aslink.h
51444         *link/z80/lklex.c
51445         *link/z80/lklib.c
51446         *link/z80/lklist.c
51448 2003-07-24  Bernhard Held <bernhard AT bernhardheld.de>
51450         * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
51451         after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
51453 2003-07-23  Bernhard Held <bernhard AT bernhardheld.de>
51455         added DUMMY_READ_VOLATILE:
51456         * src/SDCC.y:
51457         * src/avr/gen.c:
51458         * src/xa51/gen.c:
51459         * src/z80/gen.c:
51460         * src/pic/gen.c:
51461         * src/pic16/gen.c:
51462         * src/mcs51/gen.c:
51463         * src/ds390/gen.c:
51464         * src/SDCCcse.c (algebraicOpts): many improvements
51465         * src/SDCCcse.h: removed algebraicOpts()
51466         * src/SDCCicode.c (picDummyRead): added
51468 2003-07-23  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51470         * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
51471         "Insufficient space in data memory".
51473 2003-07-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51475         * src/mcs51/gen.c: fixed bug #771358
51476         * src/z80/gen.c: fixed bug #759087
51478 2003-07-20  Bernhard Held <bernhard AT bernhardheld.de>
51480         * src/pic16/glue.c: minor cleanup by Vangelis
51482 2003-07-19  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51484         * device/include/regc515c.h: fixed #758477
51485         * device/lib/_gptrget.c: saving some cycles in generic pointer get
51486         * device/lib/_gptrput.c: saved a few bytes
51487         * my tab spacing is 8, yours too?)
51488         * device/lib/_ser.c: process RX bytes earlier than TX bytes
51489         * device/lib/serial.c: process RX bytes earlier than TX bytes
51490         * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
51492 2003-07-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51494         * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
51496 2003-07-17  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51498         * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
51500 2003-07-17  Bernhard Held <bernhard AT bernhardheld.de>
51502         * device/lib/Makefile.in: bad fix, reverted to 1.43
51504 2003-07-16  Bernhard Held <bernhard AT bernhardheld.de>
51506         * device/lib/Makefile.in: added missing z80 object files
51508 2003-07-14  Bernhard Held <bernhard AT bernhardheld.de>
51510         * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
51511         pic16 progress by Vangelis:
51512         * src/SDCCglobl.h:
51513         * src/SDCCmain.c:
51514         * src/pic/Makefile:
51515         * src/pic:
51516         * pic/Makefile:
51517         * pic16/device.c:
51518         * pic16/device.h:
51519         * pic16/gen.c:
51520         * pic16/gen.h:
51521         * pic16/genarith.c:
51522         * pic16/glue.c:
51523         * pic16/main.c:
51524         * pic16/pcode.c:
51525         * pic16/pcode.h:
51526         * pic16/pcodepeep.c:
51527         * pic16/peeph.def:
51529 2003-07-13  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51531         * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
51533 2003-07-12  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51535         * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
51536         added gbz80 build to MSVC project.
51537         * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
51538         link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
51539         from 8051 stuff and setup so it links using a .lnk file.
51541 2003-07-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51543         * support/librarian/sdcclib.c: sdcc librarian.
51544         * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
51545         with sdcclib.
51547 2003-07-03  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51549         * as/mcs51/lkmain.c: properly handle extensions in function afile.
51551 2003-07-02  Borut Razem <borut.razem AT siol.net>
51553         * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
51554         src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
51555         src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
51556         src/xa51/main.c, src/z80/main.c:
51557         virtualization of glue() function: each port has it's own glue function,
51558         which is accessed by do_glue function pointer in PORT.general structure
51560 2003-07-01 Kevin Vigor <kevin AT vigor.nu>
51562         * DS800C400 fun, improved ROM interface and tinibios.
51564 2003-06-27 Kevin Vigor <kevin AT vigor.nu>
51566         * More support for DS80C400. Now includes beginning of interface to ROM.
51568 2003-06-25  Bernhard Held <bernhard AT bernhardheld.de>
51570         * src/mcs51/gen.c (gencjneshort): fixed bug #760345
51572 2003-06-20  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51574         * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
51576 2003-06-19  Borut Razem <borut.razem AT siol.net>
51578         * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
51580 2003-06-19  Borut Razem <borut.razem AT siol.net>
51582         * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
51583         fixed Z80 port - crt0.o: cannot open.
51585 2003-06-19  Bernhard Held <bernhard AT bernhardheld.de>
51587         * support/Util/MySystem.c (merge_command): revert bad fix
51589 2003-06-18  Borut Razem <borut.razem AT siol.net>
51591         * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
51593 2003-06-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51595         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
51596         option --use-stdout sends errors to stdout instead of stderr.
51598 2003-06-18  Bernhard Held <bernhard AT bernhardheld.de>
51600         * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
51602 2003-06-15  Borut Razem <borut.razem AT siol.net>
51604         * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
51605         * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
51606         * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
51607         fixed width array of pointers replaced with sets;
51608         multiple include and lib paths ared transferred to preprocessor and linker
51609         * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
51610         * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
51611         fixed width array of pointers
51612         * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
51613         removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
51614         fixupPath(), getPathDifference()
51615         * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function  inExcludeList() by using sets instead
51616         fixed width array of pointers
51618 2003-06-11  Bernhard Held <bernhard AT bernhardheld.de>
51620         * src/pic16/ralloc.c: fix warnings
51621         * src/pic16/pcode.c: fix warning
51623 2003-06-10  Scott Dattalo  <scott AT dattalo.com>
51625          Scott D. for Vangelis Rokas (vrokas AT otenet.gr). I (scott) don't
51626         know all the details, but essentially this set of changes enable
51627         the pic16 port to generate movff instructions and generate assembler
51628         directives,
51629         * src/SDCCmain.c:
51630         * src/pic16/gen.c:
51631         * src/pic16/glue.c:
51632         * src/pic16/pcode.c:
51633         * src/pic16/device.c:
51634         * src/pic16/main.c:
51635         * src/pic16/pcode.h:
51636         * src/pic16/pcoderegs.c:
51637         * src/pic16/ralloc.c:
51638         * src/pic16/ralloc.h:
51640 2003-06-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51642         * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
51643         added option --vc, so sdcc errors and warnings are compatible with
51644         Microsoft Visual Studio.
51646 2003-06-07  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51648         * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
51649           device/lib/libfloat.lib: added atof function.
51651 2003-06-04  Bernhard Held <bernhard AT bernhardheld.de>
51653         * doc/sdccman.lyx: updated to Lyx 1.3
51654         * doc/cdbfileformat.lyx: updated to Lyx 1.3
51655         * doc/test_suite_spec.lyx: updated to Lyx 1.3
51656         * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
51658 2003-06-03  Bernhard Held <bernhard AT bernhardheld.de>
51660         * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas AT otenet.gr>
51662 2003-06-02  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51664         * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
51665           additions to the "related tools/documentation" section
51667 2003-06-02  Bernhard Held <bernhard AT bernhardheld.de>
51669         * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
51671 2003-05-29  Bernhard Held <bernhard AT bernhardheld.de>
51673         * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn AT vt.edu>
51674         * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
51676 2003-05-28  Bernhard Held <bernhard AT bernhardheld.de>
51678         * doc/sdccman.lyx: fix double dash and other minor things
51679         * doc/Makefile: fix double dash
51681 2003-05-28  Karl Bongers(patches from Martin Helmling)
51682         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
51683           condition and ignore commands.
51685 2003-05-28  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51687         * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
51688           is in parts still quite out of date, I did changes as far as I felt makes sense
51689           for a non-native english speaker.
51690           Please feel free to add to the manual or to correct my changes.
51691         * doc/Makefile: undid touching the date of intermediate tex files.
51693 2003-05-26  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51695         * doc/sdccman.lyx: Manual has an index now
51697 2003-05-25  Bernhard Held <bernhard AT bernhardheld.de>
51699         Finalize muluint/mulsint and mululong/mulslong merging:
51700         * device/lib/_mulint.c
51701         * device/lib/_mullong.c
51702         * device/lib/gbz80/mul.s
51703         * device/lib/gbz80/stubs.s
51704         * device/lib/z80/mul.s
51705         * device/lib/z80/stubs.s
51706         * src/SDCCsymt.c (initCSupport)
51708 2003-05-25  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51710         * as/mcs51/lkaomf51.c: Address space 'z' was missing.
51711         * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
51712           src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
51713           src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
51714           instead of /Zm500.
51716 2003-05-25  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51718         * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
51719           the regression tests I'm not brave enough to enable 245.b, 245.c
51720         * doc/sdccman.lyx: added latex preamble for hyperref package.
51721           Using pdflatex this will give you a hyperlinked pdf file with
51722           bookmarks. (prepend '%' before /usepackage if this breaks something)
51724 2003-05-24  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51726          * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
51728 2003-05-22  Bernhard Held <bernhard AT bernhardheld.de>
51730         * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
51732 2003-05-21    <johan AT balder>
51734         * src/SDCCglue.c (printIval): fixed bug #739934
51736 2003-05-19  Bernhard Held <bernhard AT bernhardheld.de>
51738         Applied patch from bug 737905 (renamed yylineo to mylineno):
51739         * src/altlex.c
51740         * src/SDCCast.c
51741         * src/SDCglobl.h
51742         * src/SDCC.lex
51743         * src/SDCCsymt.c
51744         * src/SDCCval.c
51745         * src/pic16/pcode.c: Cleaned warnings
51746         * src/pic16/pcodeflow.c: Cleaned warnings
51747         * src/pic16/pcoderegs.c: Cleaned warnings
51749 2003-05-19  Scott Dattalo  <scott AT dattalo.com>
51751         * src/pic16/pcode.c: Cleaned warnings
51752         * src/pic16/pcodepeep.c: Cleaned warnings
51753         * src/pic16/ralloc.c: Cleaned warnings
51755 2003-05-19  Bernhard Held <bernhard AT bernhardheld.de>
51757         * doc/sdccman.lyx: fixed bug 739745
51758         * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
51760 2003-05-18  Bernhard Held <bernhard AT bernhardheld.de>
51762         * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
51763         it can be defined with CFLAGS when running configure
51764         * src/SDCCmain.c: fixed compiling + linking with object files
51766 2003-05-18  Vangelis Rokas (vrokas AT otenet.gr)
51768         * configure.in: configure for pic16 port,
51769             added --disable-pic16-port
51770         * sdccconf_in.h: added macro OPT_DISABLE_PIC16
51771         * src/SDCCmain.c: linkOptions is changed to set *,
51772             added if/endif conditional macros to remove options help
51773             messages from optionsTable when a port is not configured, added
51774             support for the PIc16 port in the ports table, when executing
51775             the compiler with no port specified on command line, a default
51776             port is selected with the new macro DEFAULT_PORT which is
51777             defined in port.h, in setDefaultOptions() linkOptions is removed
51778             from initialization assignment, since now it is a set,
51779             parseCmdLine uses setParseWithComma for linkOptions, in
51780             linkEdit() linkOptions are accessed with new function indexSet()
51781             which returns the i'th item of a set variable. See SDCCset.c, in
51782             linkEdit() when calling buildCmdLine(), added linkOptions as
51783             last argument. Now users can pass arguments to gplink via the
51784             -Wl option, main() uses pic16glue() to glue up pic16 programs
51785         * src/SDCCpeeph.c: various changes to support pic16
51786         * src/SDCCset.c: added function  void *indexSet(set *, int)  to
51787             return the i'th item of the set
51788         * src/SDCCset.h: added function prototype for indexSet()
51789         * src/SDCCsymt.c: in checkSClass(), added support for PIC16
51790         * src/clean.mk: added pic16 in CLEANALLPORTS variable
51791         * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
51792             added macro DEFAULT_PORT
51793         * src/pic/main.c: corrected arguments of gplnk in _linkCmd
51794         * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
51795             generated
51796         * src/pic16/glue.c: commented out some error producing lines
51797         * src/pic16/main.c: __config directives are commented out to stop
51798             gpasm complaining and test the linkage with gplink, _linkCmd and
51799             _asmCmd changed to be more gplink and gpasm friendly
51800         * src/pic16/peeph.def: peep rule 3 is commented out, since it
51801             produced an error when parsed, peep rule 12 is added to utilize
51802             movff, but it is commented out since the pCode does not support
51803             yet a command with 2 address arguments
51805 2003-05-18    <johan AT balder>
51807         * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
51808         * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
51809 2003-05-17  Karl Bongers(apply patches from Martin Helmling)
51811         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
51812         Added feature to script commands from file.
51814 2003-05-14  Bernhard Held <bernhard AT bernhardheld.de>
51816         * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
51817         * src/SDCCutil.c: include ctype.h for win32
51819 2003-05-13  Bernhard Held <bernhard AT bernhardheld.de>
51821         * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
51823 2003-05-12  Karl Bongers(apply development patches from Martin Helmling)
51825         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
51826         Fixed so you can set breakpoints prior to run, run does not stop
51827         on entry now.  Add tbreak.  Other enhancements and fixes for use
51828         with ddd.
51830 2003-05-12  Borut Razem <borut.razem AT siol.net>
51832         * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
51834 2003-05-11  Borut Razem <borut.razem AT siol.net>
51836         * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
51837         the path of bin directory, so that PATH is the only env. variable, which has to be set
51838         in case of standard installation.
51839         * src/ds390/ds390.dsp: increased value of /Zm option to 1000
51840         * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
51841         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
51843 2003-05-04  Bernhard Held <bernhard AT bernhardheld.de>
51845         * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
51846         * support/regression/Makefile: inter-port-clean is no longer nesessary, the
51847         temp files are in the port dir; clean the gen/test directory when
51848         generating new test.c
51849         * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
51850         * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
51851         * support/regression/tests/zeropad.c: added
51853 2003-05-09    <johan AT balder>
51855         * src/SDCCglue.c: fixed bug #597940
51857 2003-05-05  Karl Bongers(apply patches from Martin Helmling)
51859         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
51860         cache sfr, optimize next,step, fix off by one sourceline,
51861         support ddd list function.
51862         * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
51864 2003-05-04  Bernhard Held <bernhard AT bernhardheld.de>
51866         * support/regression/HTMLgen.py: added compare_s2f()
51867         * support/regression/Makefile: redo 1.27
51868         * support/regression/generate-cases.py: redo 1.5
51870 2003-04-30  Bernhard Held <bernhard AT bernhardheld.de>
51872         * support/regression/tests/float.c: workaround 33 bit hex constant
51873         * support/regression/tests/simplefloat.c: fix division for host
51875 2003-04-29  Scott Dattalo  <scott AT dattalo.com>
51877         * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim AT jimhawkridge.uk.eu.org>
51878         that tame's the PIC's over-aggressive optimizer.
51880 2003-04-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51882          * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
51883          support for MSVC.
51885 2003-04-29  Kevin Vigor <kevin AT vigor.nu>
51887         Initial support for DS80C400. "Hello world" runs on TINIm400
51888         (with polled I/O).
51890 2003-04-28  Karl Bongers(apply patches for Martin Helmling)
51892          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
51893          * Some notes on ddd usage added in debugger/README
51894          Martin Helmling adding more features and fixes for ddd GUI debugger.
51895          Code added for nexti, stepi, up, down, and other adjustments.
51897 2003-04-28  Scott Dattalo  <scott AT DATTALO.COM>
51899         * src/pic/pCodepeep.c non-wildcard asmops are now handled
51900         * src/pic/peeph.def Added two rules to optimize carry manipulation
51901         * src/pic/* removed debug printfs
51903 2003-04-28  Bernhard Held <bernhard AT bernhardheld.de>
51905         * debugger/mcs51/cmd.c: added header newalloc.h
51907 2003-04-26  Bernhard Held <bernhard AT bernhardheld.de>
51909         * as/Makefile: new EXEEXT
51910         * as/z80/Makefile: remove trailing slash of BUILDIR
51911         * as/z80/clean.mk: new EXEEXT
51912         * Makefile.common.in: add to CFLAGS (and others), don't replace it
51913         * support/cpp2/Makefile.in: new EXEEXT
51914         * src/pic/glue.c (pic14emitRegularMap): fixed warning
51916 2003-04-24  Bernhard Held <bernhard AT bernhardheld.de>
51918         Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
51919         EXEEXT was introduced to fix all related problems with targets
51920         "clean", "install" and "uninstall"; a couple of further flaws
51921         especially with "clean" have been fixed too
51922         * as/mcs51/Makefile.in
51923         * as/mcs51/clean.mk
51924         * as/z80/Makefile
51925         * Makefile
51926         * clean.mk
51927         * debugger/mcs51/Makefile.in
51928         * debugger/mcs51/clean.mk
51929         * link/z80/Makefile
51930         * link/z80/Makefile.in
51931         * link/z80/clean.mk
51932         * link/Makefile
51933         * packihx/Makefile.in
51934         * packihx/clean.mk
51935         * sim/ucsim/Makefile
51936         * sim/ucsim/clean.mk
51937         * sim/ucsim/avr.src/Makefile.in
51938         * sim/ucsim/avr.src/clean.mk
51939         * sim/ucsim/s51.src/Makefile.in
51940         * sim/ucsim/s51.src/clean.mk
51941         * sim/ucsim/xa.src/Makefile.in
51942         * sim/ucsim/xa.src/clean.mk
51943         * sim/ucsim/z80.src/Makefile.in
51944         * sim/ucsim/z80.src/clean.mk
51945         * sim/ucsim/main_in.mk
51946         * sim/ucsim/packages_in.mk
51947         * sim/ucsim/gui.src/Makefile.in
51948         * sim/ucsim/gui.src/serio.src/Makefile.in
51949         * sim/ucsim/gui.src/serio.src/clean.mk
51950         * src/Makefile.in
51951         * src/clean.mk
51952         * support/cpp2/Makefile.in
51953         * support/cpp2/clean.mk
51954         * support/makebin/Makefile
51955         * support/makebin/clean.mk
51956         * support/scripts/sdcc_mingw32: --program-suffix no longer needed
51957         * doc/sdccman.lyx: --program-suffix no longer needed
51959 2003-04-23  Karl Bongers(apply patches for Martin Helmling)
51961          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
51962          Martin Helmling added support for ddd GUI debugger.
51963          Code added to display assembly, set variables, and other commands
51964          to interface to ddd.
51966 2003-04-23  Bernhard Held <bernhard AT bernhardheld.de>
51968         * as/Makefile: fix target clean
51969         * as/clean.mk: fix target clean
51970         * as/z80/clean.mk: fix target clean
51972 2003-04-22  Bernhard Held <bernhard AT bernhardheld.de>
51974         * Makefile.common.in: added  AT EXEEXT AT
51975         * configure.in: removed all mingw32 stuff
51976         * configure: rebuilt from configure.in
51977         * doc/sdccman.lyx: updated section "installation"
51978         * support/scripts/sdcc_mingw32: adapted to configure
51979         * support/scripts/sdcc_cygwin_mingw32: added
51981 2003-04-22  Scott Dattalo  <scott AT dattalo.com>
51983         * src/pic Added object file support for the PIC port
51984         * src/pic Applied patch from Craig Franklin (this started the object file support)
51985         * src/regression Updated the PIC regression tests for object files
51987 2003-04-20  Borut Razem <borut.razem AT siol.net>
51989         * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
51990           lklex.c: In function `getfid':
51991           lklex.c:203: warning: array subscript has type `char'
51992         * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
51993           with MSVC with global optimization enabled (probably an cl compiler bug ;-)
51994         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
51995           stack handling macros
51997 2003-04-19  Borut Razem <borut.razem AT siol.net>
51999         * "handling space characters in file path" task:
52000         * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
52001         * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
52002         * support/Util/MySystem.h: make it self-sufficient
52003         * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
52004           src/z80/main.c, sdcc/as/mcs51/lklex.c:
52005           handling space characters in file path
52006         * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
52007           (it will be used by assemblers, which have their own includes, e.g. gpasm)
52008         * support/Util/MySystem.c: handling space characters in executable's path
52010 2003-04-19  Bernhard Held <bernhard AT bernhardheld.de>
52012         * as/z80/Makefile: fix permanent rebuild of z80
52013         * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
52014         * support/regression/tests/bitfields.c: added Johan's bitfields.c
52016 2003-04-18      Kevin Vigor <kevin AT vigor.nu>
52018         * src/SDCCopt.c: add special case optimization to replace modulo by
52019           a power of two with a bitwise AND.
52021 2003-04-18    <johan AT balder>
52023         * src/mcs51/gen.c (getFreePtr): fixed bug #635354
52025 2003-04-17    <johan AT balder>
52027         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
52028         * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
52030 2003-04-13  Borut Razem <borut.razem AT siol.net>
52032         * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
52033         * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
52034           fixed mingw problem in adl_NORMALIZE_PATH
52036 2003-04-12  Borut Razem <borut.razem AT siol.net>
52038         * fixed "#pragma SAVE/RESTORE can not be nested":
52039         * src/SDCC.lex: reworked pragma handling functions
52040         * sdcc/src/SDCCglobl.h: reworked stack handling macros
52041         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
52043 2003-04-12  Bernhard Held <bernhard AT bernhardheld.de>
52045         * src/SDCCutil.c (pathEquivalent): defined but not used
52046         * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
52047         * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
52048         * configure: rebuilt from configure.in
52049         * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
52050         * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
52051         * device/include/Makefile.in: replace sdcc_datadir
52052         * device/lib/Makefile.in: replace sdcc_datadir
52053         * Makefile.common.in: add LDFLAGS from configure
52054         * packihx/Makefile.in: use LDFLAGS
52055         * src/Makefile.in: use LDFLAGS
52056         * support/cpp2/Makefile.in: add LDFLAGS from configure
52057         * support/makebin/Makefile: use LDFLAGS
52058         * .version: bumped version number to 2.3.5
52060 2003-04-12  Borut Razem <borut.razem AT siol.net>
52062         * completed "different paths" task:
52063         * src/SDCCmacro.c: fixed bug in handling quotes
52064         * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
52065         * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
52067 2003-04-12  Bernhard Held <bernhard AT bernhardheld.de>
52069         * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
52071 2003-04-11 kevin Vigor <kevin AT vigor.nu>
52073         * ds390/gen.c ds390/peeph.def: fix bug 706781
52075 2003-04-11  Borut Razem <borut.razem AT siol.net>
52077         * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
52079 2003-04-10  Scott Dattalo  <scott AT dattalo.com>
52081         * src/pic/* Applied the pointer-to-function patch from Steve Tell.
52082         * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
52083          set - this bit used to not be set...).
52084         * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated
52085           bad code in PIC Port
52086         * src/regression/and2.c added to test bug 609268
52087         * src/regression/Makefile added and2.c to regression test
52090 2003-04-08    <johan AT CP255758-A>
52092         * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
52093         * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
52094         * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
52096 2003-04-07  Bernhard Held <bernhard AT bernhardheld.de>
52098         * configure.in: fully support prefix, exec_prefix, datadir, docdir;
52099         fix bug #487815
52100         * support/cpp2/Makefile.in: fix bug #487815
52101         * configure: rebuilt from configure.in
52102         * Makefile.common.in: docdir changed, new path suffixes
52103         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
52104         * sdcc_vc_in.h: reflect changes from sdccconf.h
52105         * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
52106         * src/SDCCutil.h: remove BINDIR hack
52107         * doc/sdccman.lyx: update new path hierarchy
52109 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
52111         * src/SDCCpeeph.c: added okToRemoveSLOC test
52113 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
52115         * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
52117 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
52119         * src/SDCCpeeph.c: added labelIsReturnOnly test
52120         * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
52122 2003-04-05    <johan AT balder>
52124         * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
52125         * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
52126         * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
52127         * src/SDCCast.c: fixed a warning
52128         * src/SDCCast.h: fixed a warning
52129         * src/SDCCicode.c (operandFromAst): fixed a warning
52131 2003-04-04    <johan AT balder>
52133         * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
52134         * src/SDCCast.c (decorateType): fixed bug #715076
52135         * src/SDCC.y: fixed bug #702907
52137 2003-04-03    <johan AT balder>
52139         * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
52140         * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
52141         * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
52142         * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
52143         * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
52145 2003-04-03  Bernhard Held <bernhard AT bernhardheld.de>
52147         * _decdptr.c: fix return values
52148         * _gptrget.c: fix return values
52149         * _gptrgetc.c: fix return values
52150         * _gptrput.c: fix return values
52151         * _mulint.c: fix return values
52152         * as/z80/Makefile: fix 'make -j' problem
52154 2003-04-02  Bernhard Held <bernhard AT bernhardheld.de>
52156         * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
52157         * configure.in: big cleanup, updated to autoconf 2.5x
52158         * configure: rebuilt from configure.in
52159         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
52160         * sdcc_vc_in.h: reflect changes from sdccconf.h
52161         * doc/Makefile: fixed a flaw in "make install"
52163 2003-04-02    <johan AT balder>
52165         * src/ds390/gen.c (genCmp): no comments
52166         * src/mcs51/gen.c (genCmp): no comments
52167         * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
52168         * src/SDCCast.c (ast_print): fixed the function type in --dumptree
52170 2003-04-01  Bernhard Held <bernhard AT bernhardheld.de>
52172         * support/regression/generate-cases.py: place generated file in given sub directory
52173         * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
52174         * support/regression/Makefile: improvements for 'make -j';
52175         side effect: it's simpler and faster now
52177 2003-03-31  Borut Razem <borut.razem AT siol.net>
52179         * src/z80/main.c: link-{port} and as-{port} defined without path
52180         * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
52182 2003-03-31  Bernhard Held <bernhard AT bernhardheld.de>
52184         * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
52186 2003-03-30  Borut Razem <borut.razem AT siol.net>
52188         * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
52189           changed type of list parameter to set
52190         * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
52191         * src/port.h: changed type of do_assemble() parameter to set
52192         * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
52193           sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
52194           definition of "cppoutfilename" macro with NULL value in preProcess()
52195         * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
52196         * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
52197         * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
52198           replaced with set *binPathSet
52199         * shash_add() deallocates the item, if allready exsists, before adding the new one
52200         * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
52202 2003-03-30  Scott Dattalo  <scott AT dattalo.com>
52204         * src/pic/gen.c: Commit patch from Steve Tell <tell AT telltronics.org> that fixes
52205           a nested for loop bug in the PIC port
52206         * src/regression/nestfor.c: new regression test file Steve wrote to test nested
52207           for loops
52209 2003-03-29  Bernhard Held <bernhard AT bernhardheld.de>
52211         * support/Util/dbuf.h: remove C++ stuff to make it portable
52213 2003-03-28  Borut Razem <borut.razem AT siol.net>
52215         * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
52216           literal strings in stringLiteral()
52217         * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
52218         * src/Makefile.bcc, src/Makefile.in, src/src.dsp: added support/Util/dbuf.c
52219           to the project
52221 2003-03-27  Paul Stoffregen <paul AT pjrc.com>
52223         * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
52225 2003-03-26    <johan AT balder>
52227         * src/mcs51/gen.c (saveRegisters): catched symbol abuse
52228         * src/ds390/gen.c (saveRegisters): catched symbol abuse
52229         * src/SDCCast.c (decorateType): fixed " -v < 3"
52231 2003-03-23  Bernhard Held <bernhard AT bernhardheld.de>
52233         * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
52234         Added Lenny Story's debug infrastructure changes:
52235         * src/Makefile.in:  added new files cdbFile.c and SDCCdebug.c
52236         * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
52237         * src/cdbFile.c: added
52238         * src/SDCCdebug.c: added
52239         * src/SDCCdebug.h: added
52240         * src/SDCCast.c (createFunction)
52241         * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
52242         * src/SDCCmain.c (parseCmdLine, main)
52243         * src/SDCCmem.c (redoStackOffsets)
52244         * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
52245         * src/SDCCsymt.h
52246         * src/common.h
52247         * src/avr/gen.c (genAVRCode)
52248         * src/ds390/gen.c (gen390Code)
52249         * src/mcs51/gen.c (gen51Code)
52250         * src/pic/gen.c (genpic14Code)
52251         * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
52252         * src/xa51/gen.c (genXA51Code)
52253         * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
52255 2003-03-22  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52257         * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
52258         * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
52260 2003-03-22    <johan AT balder>
52262         * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
52264 2003-03-21  Bernhard Held <bernhard AT bernhardheld.de>
52266         * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
52267         * doc/cdbfileformat.lyx: added, written by Lenny Story
52268         * doc/Makefile: added cdbfileformat.lyx
52269         * doc/clean.mk: added cdbfileformat.lyx
52271 2003-03-20  Bernhard Held <bernhard AT bernhardheld.de>
52273         * src/mcs51/peeph.def: fix bug #705773
52275 2003-03-20    <johan AT balder>
52277         An sfr/sbit can have an "at #" AND an initializer
52278         * src/SDCCsymt.c (checkSClass):
52279         * src/SDCCmem.c (allocGlobal):
52280         * src/SDCCmem.c (allocLocal):
52281         * src/SDCCast.c (createBlock):
52283 2003-03-17  Bernhard Held <bernhard AT bernhardheld.de>
52285         * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
52287 2003-03-16    <johan AT balder>
52289         Undid the hackup of const and volatile, the problem is much bigger
52290         * src/SDCC.y:1.65
52291         * src/SDCCast.c:1.171
52292         * src/SDCCglue.c:1.138
52293         * src/SDCCicode.c:1.146
52294         * src/SDCCsymt.c:1.150
52295         * src/SDCCval.c:1.65
52297 2003-03-15  Bernhard Held <bernhard AT bernhardheld.de>
52299         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
52300         * src/ds390/gen.c (genAddrOf): fixed bug #704087
52302 2003-03-13    <johan AT balder>
52304         Hackup const and volatile modifiers in type chains a bit:
52305         * src/SDCC.y:1.63
52306         * src/SDCCast.c:1.169
52307         * src/SDCCglue.c:1.136
52308         * src/SDCCicode.c:1.143
52309         * src/SDCCsymt.c1.146
52310         * src/SDCCsymt.h1.59
52311         * src/SDCCval.c:1.63
52313 2003-03-12    <johan AT balder>
52315         * src/SDCCBBlock.h: more LRH debugging junk
52316         * src/SDCCcflow.h: more LRH debugging junk
52317         * src/SDCCloop.c: more LRH debugging junk
52318         * src/SDCC.y (struct_declaration): fixed bug #697590
52319         * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
52320         * src/ds390/gen.c (aopForRemat): fixed bug #700031
52321         * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
52323 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
52324         * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
52325         test function names must now match exactly).
52326         * src/SDCCcse.c: added special case in findCheaperOp to allow
52327         extending a short integer. Makes less awful code for bug 700121 test case.
52329 2003-03-11  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52331         * as/mcs51/lkmain.c: Added ASlink-Warning to messages
52332         * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
52334 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
52336         * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
52337         actually called (operandsNotEqual() was called for all
52338         operandsNotEqualX tests).
52340 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
52342         * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
52343         with shorter literals. Fixes bug 700121.
52345 2003-03-11    <johan AT balder>
52347         * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
52349 2003-03-11  Bernhard Held <bernhard AT bernhardheld.de>
52351         * src/SDCCloop.c (mergeRegions): an evil beast is dead
52352         * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
52354 2003-03-10  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
52364         * .version: increased version number to 2.3.4
52366 2003-03-10  Bernhard Held <bernhard AT bernhardheld.de>
52368         * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
52369         * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
52370         * support/regression/ports/xa51/spec.mk: fix typo
52372 2003-03-09  Bernhard Held <bernhard AT bernhardheld.de>
52374         * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
52376 2003-03-09  Borut Razem <borut.razem AT siol.net>
52378         * src/SDCCmain.c: pipe preprocessor's output
52379         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
52380         * sdcc_vc_in.h: define pclose as _pclose for WIN32
52381         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
52382         which closes all pipes in pipeSet set
52383         * src/SDCCset.c: free deleted item in function deleteSetItem()
52384         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
52385         moved from z80 to src subproject
52387 2003-03-09  Borut Razem <borut.razem AT siol.net>
52389         * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
52390         * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
52391         * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
52392         * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
52393         * src/SDCCglobl.h: unification of WIN32 native definitions
52395 2003-03-09  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52397         * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
52399 2003-03-08  Bernhard Held <bernhard AT bernhardheld.de>
52401         * src/configure.in:   check for endianess (even while cross-compiling)
52402         * src/configure:      check for endianess (even while cross-compiling)
52403         * src/configure_in.h: check for endianess (even while cross-compiling)
52404         * src/avr/gen.c:        remove old endianess stuff
52405         * src/mcs51/gen.c:      remove old endianess stuff
52406         * src/ds390/gen.c:      remove old endianess stuff
52407         * src/pic/gen.c:        remove old endianess stuff
52408         * src/pic/genarith.c:   remove old endianess stuff
52409         * src/pic/glue.c:       fix endianess check
52410         * src/pic16/gen.c:      remove old endianess stuff
52411         * src/pic16/genarith.c: remove old endianess stuff
52412         * src/pic16/glue.c:     fix endianess check
52413         * src/xa51/gen.c:       remove old endianess stuff
52414         * src/z80/gen.c:        fix endianess check
52415         * src/SDCCglue.c:       fix endianess check
52416         * src/ds390/peeph.def: fix bug 700036
52418 2003-03-08  Bernhard Held <bernhard AT bernhardheld.de>
52420         * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
52421         * src/configure: find appropriate data-types on host for SDCC's int and long
52422         * src/configure.in: find appropriate data-types on host for SDCC's int and long
52423         * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
52424         * src/xa51/gen.c: use %d, not %ld for 4 byte variables
52426 2003-03-07    <johan AT balder>
52428         Just a big NOOP:
52429                 some minor cleanups before the big shot
52430                 OP_DEFS and OP_USES now use Kevin's protection
52431                 new option --nolabelopt
52433         * src/SDCCBBlock.c:
52434         * src/SDCCast.c,:
52435         * src/SDCCcflow.c:
52436         * src/SDCCcse.c:
52437         * src/SDCCicode.c:
52438         * src/SDCCicode.h:
52439         * src/SDCClabel.c:
52440         * src/SDCCloop.c:
52441         * src/SDCCmain.c:
52442         * src/ds390/ralloc.c:
52443         * src/mcs51/ralloc.c:
52444         * src/pic/ralloc.c:
52445         * src/xa51/ralloc.c:
52446         * src/z80/ralloc.c:
52448 2003-03-06  Bernhard Held <bernhard AT bernhardheld.de>
52450         * src/pic/pcode.c (get_op): fix 64 bit warnings
52451         * src/pic/pcode.c (pCode2str): fix 64 bit warnings
52452         * src/SDCChasht.c (newHashTable): fix 64 bit warnings
52453         * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
52454         * support/regression/tests/malloc.c: fix 64 bit warnings
52456 2003-03-04  Bernhard Held <bernhard AT bernhardheld.de>
52458         * src/mcs51/gen.c (genMinus): fixed bug 696436
52460 2003-03-02  Borut Razem <borut.razem AT siol.net>
52462         * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
52464 2003-02-26  Bernhard Held <bernhard AT bernhardheld.de>
52466         * configure.in: test for mkstemp
52467         * sdccconf_in.h: add HAVE_MKSTEMP
52469 2003-02-24  Bernhard Held <bernhard AT bernhardheld.de>
52471         * device/include/ctype.h: removed warning while using --stack-auto
52472         * device/include/malloc.h: removed warning while using --stack-auto
52473         * device/include/string.h: removed warning while using --stack-auto
52475 2003-02-23  Borut Razem <borut.razem AT siol.net>
52477         * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
52478         because NDEBUG is defined (see man assert)
52479         * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
52481 2003-02-23  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52483         * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
52484         * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
52486 2003-02-18  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52488         * src/SDCCpeeph.c: added peephole conditions testing for same arguments
52489         * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
52491 2003-02-18    <johan AT balder>
52493         * as/mcs51/asmain.c (asmbl): module can start with a digit
52494         * as/z80/asmain.c (asmbl): module can start with a digit
52496 2003-02-16  Bernhard Held <bernhard AT bernhardheld.de>
52498         * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
52499         * src/asm.c: fix pipe() for Mingw32
52501 2003-02-15  Bernhard Held <bernhard AT bernhardheld.de>
52503         * src/SDCCglue.h: make tmpfileNameSet available for preOutName
52504         * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
52505         make -V work again; --c1mode reads now from stdin
52506         * doc/sdccman.lyx: added --c1mode
52507         * support/Util/SDCCerr.c: new messages for c1 mode
52508         * support/Util/SDCCerr.h: new messages for c1 mode
52509         * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
52511 2003-02-15    <johan AT balder>
52513         * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
52515 2003-02-14  Bernhard Held <bernhard AT bernhardheld.de>
52517         * doc/sdccman.lyx: Environment variables, -o and other minor things
52519 2003-02-14    <johan AT balder>
52521         * src/xa51/main.c: before anyone really tries to use it :)
52523         * Install doc's in share/sdcc/doc
52524         * removed some obsolete files
52525         * Do a proper make distclean and uninstall
52526         M Makefile.common.in
52527         R sdccbuild.sh
52528         M as/Makefile
52529         M device/include/Makefile.in
52530         M device/lib/Makefile.in
52531         M doc/sdccman.lyx
52532         M link/Makefile
52533         M sim/ucsim/doc/Makefile.in
52534         M src/clean.mk
52535         R src/avr/peeph.rul
52536         R src/xa51/peeph.rul
52537         M support/cpp2/Makefile.in
52538         M support/makebin/Makefile
52541 2003-02-13  Bernhard Held <bernhard AT bernhardheld.de>
52543         * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
52545 2003-02-10  Borut Razem <borut.razem AT siol.net>
52547         * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
52548         support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
52549         * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
52550         device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
52551         support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
52552         src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
52553         src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
52554         src/z80/Makefile.bcc: Borland Makefile cleanup
52555         * as/z80/Makefile.bcc: Added Borland Makefile
52556         * support/cpp2/borland.h: Removed
52558 2003-02-10  Bernhard Held <bernhard AT bernhardheld.de>
52560         * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js AT convergence.de>
52561         * src/SDCC.lex: new pragma NOIV
52562         * src/SDCCglobl.h: new pragma NOIV
52563         * src/SDCCmem.c: new pragma NOIV
52565 2003-02-09  Bernhard Held <bernhard AT bernhardheld.de>
52567         * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
52569 2003-02-09  Bernhard Held <bernhard AT bernhardheld.de>
52571         * src/SDCCmain.c: signal handling is switched off by --debug
52572         * doc/Makefile: small fix for install; use clean.mk again
52573         * doc/clean.mk: clean *.pdf and *.html too
52575 2003-02-08  Bernhard Held <bernhard AT bernhardheld.de>
52577         * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
52578         * device/lib/printfl.c: fix a ds390 bug by making it portable
52579         * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
52580         * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
52581         * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
52582         * debugger/mcs51/cmd.c: converted multi-line string literals
52583         * sim/ucsim/globals.cc: converted multi-line string literals
52584         * src/SDCCmain.c: introduced signal handler to remove temp files
52585         * doc/Makefile: small tweaks, implement clean
52586         * doc: removed generated files
52588 2003-02-05  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52590         * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c:  Applied
52591         patch from Jan Rejlek <jr AT apex-lib.cz> to fix Bug 677692: "Extended
52592         Address Record is not correctly generated for DS390."
52594 2003-02-02  Borut Razem <borut.razem AT siol.net>
52596         * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
52597         * as/mcs51/asm.h: fixed compilation with Borland C
52598         * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
52599         * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
52600         * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
52601         * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
52602         src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
52603         src/z80/Makefile.bcc: delete $(LIB) only if exist
52604         * src/Makefile.bcc, src/pic/Makefile.bcc:  fixed compilation with Borland C
52606 2003-02-02  Bernhard Held <bernhard AT bernhardheld.de>
52608         * device/include/malloc.h: introduced NULL
52609         * device/include/string.h: introduced NULL
52610         * device/include/stdlib.h: introduced NULL
52611         * device/lib/_memcpy.c: removed NULL
52612         * device/lib/_strcat.c: removed NULL
52613         * device/lib/_strchr.c: removed NULL
52614         * device/lib/_strcmp.c: removed NULL
52615         * device/lib/_strcpy.c: removed NULL
52616         * device/lib/_strcspn.c: removed NULL
52617         * device/lib/_strlen.c: removed NULL
52618         * device/lib/_strncat.c: removed NULL
52619         * device/lib/_strncmp.c: removed NULL
52620         * device/lib/_strncpy.c: removed NULL
52621         * device/lib/_strpbrk.c: removed NULL
52622         * device/lib/_strrchr.c: removed NULL
52623         * device/lib/_strspn.c: removed NULL
52624         * device/lib/_strstr.c: removed NULL
52625         * device/lib/_strtok.c: removed NULL
52626         * device/lib/malloc.c: removed NULL, include own header
52628 2003-02-02    <johan AT balder>
52630         * 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
52631         * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
52632         * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
52633         * src/z80/gen.c (genZ80Code): added c-lines in asm comments
52634         * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
52635         * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
52637 2003-02-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52639         * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
52640         area 'DATA'"
52642 2003-02-01    <johan AT balder>
52644         * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
52646 2003-01-31    <johan AT CP255758-A>
52648         * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
52650 2003-01-30    <johan AT balder>
52652         * src/SDCCBBlock.c: automatic bug detection
52653         * src/SDCCicode.c: automatic bug detection
52655 2003-01-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52657         * src/SDCCglobl.h:   now --xram-size 0 works
52658         * src/SDCCmain.c:    now --xram-size 0 works
52660 2003-01-29    <johan AT balder>
52662         * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
52664 2003-01-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52666         * as/mcs51/aslink.h: Added options --xram-size and --code-size
52667         * as/mcs51/lkdata.c: Added options --xram-size and --code-size
52668         * as/mcs51/lkmain.c: Added options --xram-size and --code-size
52669         * as/mcs51/lkmem.c:  Added options --xram-size and --code-size
52670         * src/SDCCglobl.h:   Added options --xram-size and --code-size
52671         * src/SDCCmain.c:    Added options --xram-size and --code-size
52673 2003-01-28  Bernhard Held <bernhard AT bernhardheld.de>
52675         * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
52676         * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
52678 2003-01-27    <johan AT balder>
52680         * src/SDCC.y: fixed bug #613764
52682 2003-01-26    <johan AT balder>
52684         * src/SDCClrange.c:  fixed Bernhard's "char * code ptr = &c"
52685         * src/SDCCsymt.h: fixed bug #673374
52686         * src/SDCCglue.c: fixed bug #661910
52687         * src/SDCCast.c: fixed bug #458099 and 673374
52689 2003-01-26  Bernhard Held <bernhard AT bernhardheld.de>
52691         * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
52692         * as/mcs51/strcmpi.h: added
52693         * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
52694         * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
52695         * as/mcs51/asmain.c: strcmpi -> as_strcmpi
52696         * as/mcs51/assym.c: strcmpi -> as_strcmpi
52697         * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
52698         * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
52699         * as/mcs51/lksym.c: strcmpi -> as_strcmpi
52700         * as/mcs51/Makefile.aslink: new module strcmpi
52701         * as/mcs51/Makefile.asx8051: new module strcmpi
52702         * as/mcs51/Makefil.bcc: new module strcmpi
52703         * as/mcs51/Makefile.in: new module strcmpi
52704         * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
52706 2003-01-26    <johan AT balder>
52708         * src/SDCCglue.c: reverted back to 1.124
52709         * src/SDCCast.c: reverted back to 1.156
52710         * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
52712 2003-01-25    <johan AT balder>
52714         * src/SDCCglue.c: A better fix for bug #661910
52715         * src/SDCCast.c: A better fix for bug #661910
52716         * src/SDCCglue.c (emitRegularMap): That was a little too efficient
52718 2003-01-24  Bernhard Held <bernhard AT bernhardheld.de>
52720         * src/Makefile.in: remove spawn.o
52721         * src/SDCCmain.c: remove spawn.h
52722         * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
52723         * src/spawn.c: removed
52724         * src/spawn.h: removed
52725         * support/regression/ports/ds390/spec.mk: link with -r
52727 2003-01-24    <johan AT CP255758-A>
52729         * src/ds390/gen.c (aopOp): fixed bug #667458
52730         * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
52731         * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
52732         (createIvalCharPtr): an ival doesn't always have a storage class anymore
52734 2003-01-24  Bernhard Held <bernhard AT bernhardheld.de>
52736         * src/mcs51/peeph.def: better assembler identation by Frieder
52737         * src/mcs51/gen.c: better assembler identation by Frieder
52739 2003-01-22  Bernhard Held <bernhard AT bernhardheld.de>
52741         * as/z80/string.h: removed for gcc 3.2
52742         * support/makebin/makebin.c: #include <string.h> for gcc 3.2
52743         * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
52745 2003-01-19  Bernhard Held <bernhard AT bernhardheld.de>
52747         * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
52748         * src/SDCCpeeph.c (replaceRule): fix bug #663503
52749         * support/regression/Makefile: separate temp files for ports
52750         * support/regression/generate-cases.py: separate temp files for ports
52751         * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
52752         * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
52754 2003-01-19  Bernhard Held <bernhard AT bernhardheld.de>
52756         * moved tinitalk to device/examples/ds390
52758 2003-01-14  Bernhard Held <bernhard AT bernhardheld.de>
52760         * as/mcs51/lkmem.c: rflag is for DS390
52761         * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
52762         * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
52763                          (linkEdit): move mem- and map-files the same way as ihx-files
52764         * src/z80/main.c (_setDefaultOptions): removed --generic
52765         * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
52766         * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
52767         * src/pic/glue.c (picglue): --c1mode works again
52768         * src/pic16/glue.c (pic16glue): --c1mode works again
52769         * src/asm.c (printCLine): fix #660034
52771 2003-01-13  Bernhard Held <bernhard AT bernhardheld.de>
52773         * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>, 1 by Frieder
52774         * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
52775         * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
52776         * as/mcs51/lkmem (summary): better fix for sp problem
52777         * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
52778         * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
52779         * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
52780                                               remove --stack-after-data
52782 2003-01-12  Bernhard Held <bernhard AT bernhardheld.de>
52784         * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
52785         * src/SDCCutil.c (join): ugly bug: missing '\0'
52786         * as/mcs51/lkmem.c (summary): sp on address 7 is safe
52788 2003-01-11  Bernhard Held <bernhard AT bernhardheld.de>
52790         * src/SDCCmain.c (assemble, linkEdit): preparations for -o
52791         * src/port.h: typo
52792         * src/pic/main.c (_asmCmd): gpasm supports -o
52793         * src/z80/main.c: more general macros
52794         * device/lib/Makefile.in: remove intermediate files
52796 2003-01-11  Bernhard Held <bernhard AT bernhardheld.de>
52798         * .version: Bumped version number to 2.3.3
52799         * src/SDCCBBlock.c: new option -o
52800         * src/SDCCglobl.h: new option -o
52801         * src/SDCCglue.c: new option -o
52802         * src/SDCCmain.c: new option -o
52803         * src/asm.c: new option -o
52804         * src/ds390/main.c: new option -o
52805         * src/pic/glue.c: new option -o
52806         * src/pic/pcode.c: new option -o
52807         * src/pic/ralloc.c: new option -o
52808         * src/pic16/glue.c: new option -o
52809         * src/pic16/pcode.c: new option -o
52810         * src/pic16/ralloc.c: new option -o
52811         * src/z80/main.c: new option -o
52812         * device/lib/Makefile.in: use -o
52813         * support/regression/ports/ds390/spec.mk: use -o
52814         * support/regression/ports/gbz80/spec.mk: use -o
52815         * support/regression/ports/mcs51/spec.mk: use -o
52816         * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
52817         * support/regression/ports/z80/spec.mk: use -o
52818         * support/regression/ports/ucz80/spec.mk: use -o
52819         * support/regression/ports/xa51/spec.mk: use -o
52820         * support/regression/fwk/lib/timeout.c: fix usage string
52822 2003-01-09  Bernhard Held <bernhard AT bernhardheld.de>
52823         * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>
52825 2003-01-07    <johan AT balder>
52827         * src/SDCCast.c (decorateType): fixed bug #600035
52829 2003-01-07  Bernhard Held <bernhard AT bernhardheld.de>
52830         * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
52831         * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
52832         * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
52833         * src/pic/pcode.c: outcommented unused variable to remove warnings
52834         * src/pic/ralloc.c: outcommented unused variable to remove warnings
52836 2003-01-06    <karl AT turbobit.com>
52837         * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
52838         regression tests.
52840 2003-01-06    <johan AT balder>
52842         * src/SDCCicode.c: fixed array add
52844 2002-01-05  Bernhard Held <bernhard AT bernhardheld.de>
52845         * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
52846         * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
52848 2003-01-04    <johan AT balder>
52850         * src/SDCCval.c (getNelements): fixed the initialized array of structures
52852 2002-12-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52853         * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
52855 2002-12-28  Bernhard Held <bernhard AT bernhardheld.de>
52856         * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann AT web.de>
52857         * support/regression/tests/bug-524697.c: fit mem usage into 8032
52859 2002-12-28  Bernhard Held <bernhard AT bernhardheld.de>
52860         * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
52862 2002-12-27  Bernhard Held <bernhard AT bernhardheld.de>
52863         * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
52865 2002-12-26  Bernhard Held <bernhard AT bernhardheld.de>
52866         * src/mcs51/main.c: removed {bindir}{sep} from aslink
52868 2002-12-10  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52870         * in /sdcc/as/mcs51/ changed these files in order to create an
52871         aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
52872         lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the
52873         following files to include the previous two files: aslink.dsp,
52874         Makefile.aslink, Makefile.bcc, and Makefile.in.
52876         * Changed /sdcc/src/SDCCmain.c so it creates files with extension
52877         .adb instead of .cdb
52879 2002-11-09  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52881         * /sdcc/as/mcs51/lklist.c: Now reports memory usage using the
52882         value from option --iram-size.
52884 2002-09-20  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52886         * /sdcc/as/mcs51/lklist.c: added boundary check before using
52887         dram[] array.
52889 2002-09-18    <wiml AT hhhh.org>
52891         * SDCClrange.h: exposed setFromRange() and setToRange()
52892         * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
52893           packRegsForAccUse() (bug 542397)
52894         * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
52895           multiple times and emitting the fetch operations more than once
52896           added aopGetUsesAcc() function to allow binary operators to
52897           fetch their operands in the correct order; made genMinus() emit
52898           compact code for X = LITERAL - Y
52900 2002-09-00  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52901         * /sdcc/as/mcs51/lklist.c: Fixed incorrect number of parameters to
52902         sprintf() in line 1267.
52904 2002-09-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52905         * /sdcc/src/SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
52906         like ports.
52908 2002-09-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52909         Changes to aslink (All the changes are marked with 'JCF'):
52911         * /sdcc/as/mcs51/aslink.h: External definition of sflag and
52912         summary().
52914         * /sdcc/as/mcs51/lkarea.c: Computes the size of area BSEG_BYTES from
52915         area BSEG.  Also moves, if possible, the DATA area down into the internal
52916         ram so more space is available.
52918         * /sdcc/as/mcs51/lkdata.c: Definition of memory summary output flag
52919         sflag.
52921         * /sdcc/as/mcs51/lklist.c: For the BSEG area report the size in bits,
52922         not bytes.  Function summary() which creates a memory usage summary
52923         file with extension .mem.  Reports of overlaping stack and small stack
52924         size.  If the space for the stack is less than 16 bytes aslink trows a
52925         warning.
52927         * /sdcc/as/mcs51/lkmain.c: Creation of some of the default areas for
52928         the 8051.  Option 'y' for memory summary output file.
52930         Changes to sdcc (All the changes are marked with 'JCF'):
52932         * /sdcc/src/SDCCglobl.h: External definition of RegBankUsed[4].
52934         * /sdcc/src/SDCCglue.c:  If a register bank is used, creates an
52935         overlaying area for it (uses RegBankUsed[4]).
52937         * /sdcc/src/SDCCmain.c: Definition RegBankUsed[4]; marks register
52938         bank zero as used by default.  By default aslink locates the stack
52939         (equivalent to --stack-after-data).  Pass option 'y' to aslink for
52940         the creation of the .mem file.  Delegates the allocation of data area
52941         to aslink (it is not longer 0x30 by default).  If --stack-loc passes
52942         the begining of the stack area to aslink.
52944         * /sdcc/src/SDCCmem.c:  If a register bank is used, marks it so
52945         glue() in SDCCglue.c creates an area for it.
52947 2002-09-03  Borut Razem <borut.razem AT siol.net>
52948         * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
52949         sdcc/src/pic/glue.c:
52950         introduced atexit() handler for teporay files removal in case of
52951         errors, assertions, ...
52953 2002-08-29  Borut Razem <borut.razem AT siol.net>
52954         * sdcc/support/cpp2/auto-host_vc_in.h:
52955         re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
52956         with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
52957         Maybe there is a similar problem with BORLANDC? It should be checked!
52959         * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
52960         corrected improper use of assert: the assignment to clr variable was done inside the assert.
52961         In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
52962         was not executed, and the compiler (cl) launched a warning:
52963         ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
52965 2002-08-28  Bernhard Held <bernhard AT bernhardheld.de>
52966         * src/SDCCglue.c (printIvalArray): iterative calculation of array length
52968 2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem AT siol.net>
52969         * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
52971         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
52972           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
52973           sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
52974           sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
52975           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
52976           sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
52977           sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
52978         - added Release configuration in VS projects
52979         - review of compiler an linker options
52980         - VC .exe files are generated in bin_vc directory, not to interfere
52981           with binaries generated from other projects (cygwin, mingw, bcc ...)
52983         * sdcc/src/yacc.dsp: added
52985         * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
52986         added - genarate sdcc_vc.h using sdcc_vc_in.h as template
52987         and insert the version number definitions from .version
52989         * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
52991         * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
52992         added - genarate auto-host.h using auto-host_vc_in.h as template
52994         * sdcc/sdcc_vc.h,
52995         removed from CVS, generated automatically
52997 2002-08-25  Bernhard Held <bernhard AT bernhardheld.de>
52998         * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
53000 2002-08-11  Borut Razem <borut.razem AT siol.net>
53001         * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
53003 2002-08-10  Borut Razem <borut.razem AT siol.net>
53004         * src/SDCCmain.c (main):
53005         file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
53006         platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
53007         The consequence was that some temporary files were not removed.
53009         * src/SDCCglue.c:
53010         unification of code in functions tempfilename() and tempfile():
53011         function tempnam() is defined in Visual Studio 6.0 and .NET
53013         * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
53015         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
53016           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
53017         - removed compiler command line option /WX: Treats all warnings as errors
53018         - update a list of source files, included into the project
53020         * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
53021           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
53022         changed project type to Generic Project so that can be correcly converted to VS.NET project
53024         * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
53026         * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
53028         * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
53030         * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
53031         added return 0 statements after assert() to make compiler happy
53033         * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
53034         added newline in the def file to keep MSC compiler satisfied
53036         * sdcc/src/z80/gen.c:
53037         - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
53038           so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
53039         - solved MSC error in function aopDump()
53041         * sdcc_vc.h: define PREFIX as "\\sdcc"
53043 2002-07-18  Bernhard Held <bernhard AT bernhardheld.de>
53044         * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
53046 2002-06-22  Scott Dattalo <scott AT dattalo.com>
53047         * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
53048         - Rewrote the register banking algorithm.
53049         - Added pCode live-range analysis to registers (for now, only non-used and
53050         singly-used registers optimized away)
53052         * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
53054         * 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.
53056 2002-05-10  Scott Dattalo <scott AT dattalo.com>
53057         * src/pic/*: Added support for multiplication. Fixed many,many bugs.
53059 2002-04-22  Michael Hope  <michaelh AT vroom>
53061         * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
53063         * configure.in (DD_COPT): Added include support required for gbdk.
53065         * .version: Bumped version number just to increase it.
53067         * src/SDCCmain.c: Added -nostdinc to the default options.
53069 2002-04-15  Michael Hope  <michaelh AT vroom>
53071         * device/lib/z80/printf.c (sprintf): Added.
53073         * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
53075         * src/z80/peeph.def: Added transpose redundent load rule.
53077         * src/z80/main.c: Added force callee saves for jaune.
53079         * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
53081         * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
53083 2002-03-28  Johan Knol  <johan AT balder>
53085         * src/SDCCval.c: fixed bug #532436
53087 2002-03-14  Scott Dattalo <scott AT dattalo.com>
53088         * /src/port.h:
53089         Added "char *Processor" field to the port structure.
53091         * /src/SDCCmain.c:
53092         Added -p option. Allows port dependent processor to be specified.
53094         * all ports:
53095         Initialized the new field char *Processor field to NULL in all ports
53097         * /src/pic/*:
53098         Compiler generated registers for interrupt context saving
53099         were not getting allocated.
53101 2002-03-16  Sandeep Dutta  <sandeep AT ddi.com>
53103         * /src/SDCCast.c:
53104         Fixed left shift. Will promote the left side of a left shift
53105         if a) left shifting more than size of operand or b) when assigned
53106         to something size > size of left side
53108 2002-03-14  Scott Dattalo <scott AT dattalo.com>
53109         * src/pic/*
53110         tons of changes. Register allocation has been
53111         rewritten. Added customization for the various PICs. Flow
53112         analysis is restructured. ...
53114         * src/pic/device.h:
53115         Added
53117         * src/pic/device.c:
53118         Added. device.c is a PIC port hack to accomodate variations
53119         in PIC devices.
53121 2002-03-13  Michael Hope  <michaelh AT vroom>
53123         * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
53125 2002-03-04  johanknol  <johanknol AT manik>
53127         * /src/SDCCval.c: fixed
53129         const unsigned char arr[][2] = { { 0, 1 } };
53130         t18.c:1: error: Initializer element is not constant
53132 2002-03-04  bela  <bela AT manik>
53134         * /device/include/mcs51reg.h:
53135         ds89c420 register definition update
53137 2002-03-03    <johan AT FRIJA>
53139         * support/Util/SDCCerr.c: did something, but don't no why anymore
53141         * support/regression/tests/bug-524691.c: made it a little less shy
53143         * src/SDCCast.c (decorateType): fixed bug #524697
53145         * src/SDCCast.c: made some lineno improvements
53147         * src/SDCCval.c (getNelements): changed warning to error
53149         * src/SDCCglue.c (printIvalArray): changed warning to error
53151         * src/SDCCicode.c: fixed a warning for mingw
53153         * src/SDCCast.c (decorateType): fixed the << promotion for ops
53155         * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
53157 2002-03-02  Sandeep Dutta  <sandeep AT ddi.com>
53159         * src/ds390/peeph.def:
53160         Added some more peephole rules
53162         * src/ds390/gen.c: Various fixes & enhancements
53164         * src/SDCClrange.c, src/SDCClrange.h:
53165         functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
53167         * src/ds390/ralloc.c:
53168         various fixes & enhancements (ds390) specific
53170         * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
53171         Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
53172         from rallocs.
53174         * sdcc/src/SDCCcse.c: Better fix for bug # 514308
53176 2002-03-02    <johan AT FRIJA>
53178         * src/SDCCast.c (decorateType): fixed bug #524708
53180         * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
53182         * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
53184 2002-03-01  Michael Hope  <michaelh AT vroom>
53186         * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
53188         * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
53190 2002-03-01    <johan AT FRIJA>
53192         * src/SDCCglue.c (printIvalPtr): fixed bug #524211
53194         * src/SDCCast.c (decorateType): fixed bug #524209
53196         * src/SDCCval.c (valNot): fixed bug #524195
53198 2002-02-26    <johan AT balder>
53200         * src/xa51/gen.c: fixed a warning
53202         * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
53204         * src/SDCCast.c (decorateType): fixed bug #522534
53206 2002-02-23    <johan AT balder>
53208         * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
53210 2002-02-22    <johan AT balder>
53212         * src/SDCCast.c: fixed bug #514865
53214         * src/SDCCy.c ("SDCC.y"): fixed bug #516625
53216 2002-02-21  Sandeep Dutta  <sandeep AT ddi.com>
53218         * sdcc/src/SDCCloop.c:
53219         Previous fix was not good. basic blocks that have "break" or "return" are
53220         not really partof a loop , but live ranges used in these blocks should
53221         be live thru the entire loop, so set partOfLoop but don't add them to
53222         loop region
53224 2002-02-21    <johan AT FRIJA>
53226         * src/SDCCcse.c: fixed bug #514308
53228 2002-02-20  Sandeep Dutta  <sandeep AT ddi.com>
53230         * src/SDCCloop.c:
53231         Fixed BUG #519583. If a conditional block ended in a return/break
53232         statement inside a loop, it was not being considered part of the loop.
53234         * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
53236 2002-02-10  Karl Bongers <karl AT turbobit.com>
53238         * debugger/*:
53239         Fixed up SDCDB debugger somewhat.  Updated debugger/README
53240         with lots of comments and notes.
53242         * device/examples/test2.c:
53243         Fix bug, "red" variable not being initialized(compiler complained).
53245         * device/examples/Makefile, examples/test3.c:
53246         Add Makefile in device/examples folder, compiles test3.c
53247         for use as a multiple module SDCDB test case.
53249         * sim/ucsim/cmd.src/cmdset.cc:
53250         Took out debug printfs in ucsim "next" command.
53252         * sim/ucsim/xa.src:
53253         Karl and Johan start ucsim XA support.  Most dissassembly working,
53254         about 75% emulation done(plenty of work remaining).
53256         * sim/ucsim/z80.src:
53257         Add Z80 support to ucsim, add test-ucz80 regression test,
53258         notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
53259         Notice z80 compiler fails on examples/test3.c/crc code.
53261 2002-01-30  Sandeep Dutta  <sandeep AT ddi.com>
53263         * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
53264         Added support for --parms-in-bank1
53266         * src/ds390/peeph.def:
53267         added a few more peephole optimzations
53269         * src/ds390/main.c:
53270         1) added __builtin_inp & __builtin_outp used to read in data of given length
53271            from a memory mapped port
53272         2) added __builtin_memcmp
53273         3) added __builtin_swapw swap bytes of a short
53275         * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
53276         1) handle multiple send & receives from register bank1
53277         2) ralloc can now allocate DPTR1 to some liveRanges
53279         * src/SDCCsymt.c, src/SDCCsymt.h:
53280         changes to handle multiple sends & receives
53282         * src/SDCCptropt.h:
53283         added some pointer arithmetic optimization
53285         * src/SDCCptropt.c:
53286         added some pointer arithmetic optimizations but not stable yet so not
53287         called from anywhere (will get this working shortly)
53289         * src/SDCCopt.c: fixed for multiple sends & receives
53291         * src/SDCCmain.c:
53292         1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
53293         2) preprocessing done AFTER port->finalizeoptions . This allows ports to
53294            set preprocessor defines (depending on options)
53296         * src/SDCCicode.c, src/SDCCicode.h:
53297         changes made to handle multiple sends & receives
53299         * src/SDCCglobl.h:
53300         Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
53302         * src/SDCCcse.c, src/SDCCcse.h:
53303         added function findbackward def (to be used in upcoming optimization)
53305         * src/SDCCcflow.c, src/SDCCcflow.h:
53306         added function returnAtEnd - to determine if a basic block terminates with
53307         a RETURN iCode
53309         * src/SDCCast.c, src/SDCCast.h:
53310         added option parms-in-bank1
53312         * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
53313         * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
53314         * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
53315         adjusted for --parms-in-bank1 option
53317         * device/include/string.h:
53318         donot redefine "reentrant" keyword
53320         * device/include/ds80c390.h: Added some more SFRs
53322 2002-01-28  Bernhard Held  <bernhard AT bernhardheld.de>
53324         * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
53326 2002-01-26  Bernhard Held  <bernhard AT bernhardheld.de>
53328         * src/SDCCast.c (funcOfType): fix usage of double --float-reent
53330 2002-01-22  Bernhard Held  <bernhard AT bernhardheld.de>
53332         * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
53334 2002-01-18  Paul Stoffregen  <paul AT pjrc.com>
53336         * Added --xram-movc option
53338 2002-01-13  Bernhard Held  <bernhard AT bernhardheld.de>
53340         * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
53342 2002-01-11  Johan Knol
53344         * Added math lib of Jesus Calvino-Fraga
53346 2002-01-08  Bernhard Held  <bernhard AT bernhardheld.de>
53348         * src/SDCCmain.c (processFile): fix processing of ../../src.c
53349         * support/regression/Makefile: new target test-mcs51-stack-auto
53350         * support/regression/ports/mcs51-stack-auto/spec.mk: added
53352 2002-01-04  Bernhard Held  <bernhard AT bernhardheld.de>
53354         * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
53356 2002-01-04  Bernhard Held  <bernhard AT bernhardheld.de>
53358         * support/regression/ports/mcs51/support.c: correct setup of timer / UART
53360 2002-01-03  Bernhard Held  <bernhard AT bernhardheld.de>
53362         * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
53364         * src/SDCCglue.h: add definition for printIvalChar()
53366 2002-01-02  Bernhard Held  <bernhard AT bernhardheld.de>
53368         * src/SDCCast.c: fix #498138 by Johan
53370         * src/SDCCglue.c: fix #498138 by Johan
53372 2002-01-02  Bernhard Held  <bernhard AT bernhardheld.de>
53374         * support/regression/Makefile: fix clean
53376         * support/regression/ports/ds390/support.c: fix transmission of last character
53378 2001-12-29  Sandeep Dutta  <sandeep AT ddi.com>
53380         * /sdcc/src/ds390/gen.c:
53381         a) improved computing address of stack variable
53382         b) took out some #if 0 code
53383         c) improved parmBytes adjustment
53384         d) improved genPlusIncr & genMinusIncr
53385         e) genCmp could generate bad code (when left assigned to DPTR)
53386         f) Fixed bug in hasInc
53388         * /sdcc/src/ds390/ralloc.c:
53389         a) packRegsForSupport could mess up live information (Fixed)
53390         b) packRegsDPTRuse could be incorrect for left & right shift
53392         * /sdcc/src/mcs51/ralloc.c:
53393         packRegsForSupport could mess up the live information (Fixed)
53395         * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
53397         * /sdcc/src/SDCCast.c:
53398         can reverse a loop even if function call is present as long
53399         as the loop control variable is local & is not passed as parameter
53401 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
53403         * /sdcc/ChangeLog: *** empty log message ***
53405         * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
53406         More builtin function additions for TININative
53408         * /sdcc/src/ds390/ralloc.c:
53409         Had broken the regression testsuite
53411         * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
53413         * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
53414         Added funcattr hasStackParms will be set for reentrant functions when there
53415         are paramteres on the stack, this helps in minimizing frame pointer generation
53416         typeFromStr can handle function pointers now
53418         * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
53419         *** empty log message ***
53421 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
53423         * /src/ds390/gen.c, /src/ds390/main.c:
53424         More builtin function additions for TININative
53426         * /src/ds390/ralloc.c:
53427         Had broken the regression testsuite
53429         * /src/SDCCast.c: Fixed a bug in dumptree
53431         * /src/SDCCsymt.c, /src/SDCCsymt.h:
53432         Added funcattr hasStackParms will be set for reentrant functions when there
53433         are paramteres on the stack, this helps in minimizing frame pointer generation
53434         typeFromStr can handle function pointers now
53436         * /doc/builtins.txt, /doc/TININative.txt:
53437         *** empty log message ***
53440 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
53442         * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
53443         ALPHA version for -mTININative
53445         * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
53446         updated to reflect changes in the port structure
53448         * /src/port.h:
53449         added function do_assemble (similar to do_link) if non-null this function
53450         will be called to do assembly (-mTININative) requires a multi command
53451         assembly
53452         added function genAssemblerEnd will be called to generate assembler Epilogue
53454         * /src/SDCCsymt.c:
53455         added _JavaNative to debug info printing
53457         * /src/SDCCmain.c: added option --tini-libid
53458         added port->do_assemble function (-mTININative) has a multi command assemble
53460         * /src/SDCCglue.c: Disabled "constExpr" check
53461         added port->genAssemblerEnd function
53463         * /src/SDCCglobl.h: Added option --tini-libid value
53465         * /src/SDCCast.h:
53466         tookout optimizeCompare from the header (has no external references)
53468         * /src/SDCCast.c: made one more function "static"
53470 2001-12-23  Michael Hope  <michaelh AT juju.net.nz>
53472         * src/z80/mappings.i: Added z80asm support.
53474         * src/z80/main.c: Added z80asm support on --asm=z80asm
53476         * src/z80/gen.c: Fixed asm portability issues.
53478         * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
53480         * src/SDCCglue.c (printExterns): Added global/extern split.
53482 2001-12-17  Bernhard Held  <bernhard AT bernhardheld.de>
53484         * support/regression/Makefile: added test for mcs51 model large
53486         * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
53488         * support/regression/ports/gbz80/spec.mk: added -mgbz80
53490 2001-12-05  Michael Hope  <michaelh AT juju.net.nz>
53492         * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
53494 1904-01-06  Michael Hope  <michaelh AT juju.net.nz>
53496         * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
53498         * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
53500 2001-12-02  Bernhard Held  <bernhard AT bernhardheld.de>
53502         * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
53504         * support/regression/tests/simplefloat.c: Port to mcs51.
53506 2001-11-25  Michael Hope  <michaelh AT juju.net.nz>
53507         * support/regression/tests/bug-485362.c: Added.
53509         * support/regression/tests/simplefloat.c (testDivNearOne): Added.
53511         * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
53513         * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
53515         * src/z80/gen.c (aopDump): Added a dump function.
53517 2001-11-25  Bernhard Held  <bernhard AT bernhardheld.de>
53518         * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
53520         * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
53522         * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
53524         * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
53526         * sim/ucsim/s51.src/uc390cl.h: Work in progress.
53528         * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
53530         * support/regression/fwk/lib/testfwk.c: Run with tinibios.
53532         * support/regression/ports/mcs51/spec.mk: Fine tuninig.
53534         * support/regression/ports/ds390/support.c: Use tinibios.
53536         * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
53538 2001-11-23  Michael Hope  <michaelh AT juju.net.nz>support/regression/tests/bug-460010.c
53540         * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
53541         (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
53543         * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
53545         * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
53547 2001-11-18  Michael Hope  <michaelh AT juju.net.nz>
53549         * src/z80/gen.c (genCmp): Fixed compare on unsigned.
53551         * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
53552         (packRegsForIYUse): Created and optimised.
53554 2001-11-07  Michael Hope  <michaelh AT juju.net.nz>
53556         * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
53558 2001-11-18  Bernhard Held  <bernhard AT bernhardheld.de>
53560         * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
53562         * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
53564         * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
53566 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
53568         * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
53570         * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
53572 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
53574         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
53576         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
53578         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
53580 2001-11-07  Michael Hope  <michaelh AT juju.net.nz>
53582         * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
53583         (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
53584         (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
53586         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
53588         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
53589         (genNotFloat): Added.
53590         (genUminusFloat): Added.
53592         * device/lib/z80/Makefile: Added floating pt stubs.
53594         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
53596         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
53598         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
53600 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
53602         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
53604         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
53606         * sdcc/support/regression/Makefile: Add port ds390.
53608         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
53610         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
53612         * sdcc/support/regression/ports/ds390/spec.mk: Added.
53614         * sdcc/support/regression/ports/ds390/support.c: Added.
53616         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
53618         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
53620         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
53622 2001-11-04  Michael Hope  <michaelh AT juju.net.nz>
53624         * device/include/malloc.h: Added z80 and gbz80 support.
53626         * device/lib/gbz80/heap.s: Added.
53628         * device/lib/z80/heap.s: Added.
53630         * device/lib/malloc.c: Added z80 and gbz80 support.
53632         * support/regression/tests/malloc.c (testMalloc): Added.
53634         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
53636         * support/regression/tests/bug-478094.c: Added.
53638         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
53640 2001-11-04  Bernhard Held  <bernhard AT bernhardheld.de>
53642         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
53644         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
53646         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
53648         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
53650         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
53652 2001-11-04  Michael Hope  <michaelh AT juju.net.nz>
53654         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
53656 2001-11-03  Michael Hope  <michaelh AT juju.net.nz>
53658         * support/regression/tests/bug-477927.c: Added.
53660         * src/z80/peeph.def: Added minor rules.
53662         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
53664         * src/z80/peeph.def: Added jump optimisation modification.
53666 2001-11-01  Michael Hope  <michaelh AT juju.net.nz>
53668         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
53670 2001-10-30  Michael Hope  <michaelh AT juju.net.nz>
53672         * support/regression/tests/funptrs.c: Added.
53674 2001-10-29  Michael Hope  <michaelh AT juju.net.nz>
53676         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
53678 2001-10-28  Michael Hope  <michaelh AT juju.net.nz>
53680         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
53682         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
53684         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
53685         (movLeft2ResultLong): Created.
53687         * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
53688         (joinPushes): Added.  Joins two char pushes into a word push.
53690 2001-10-27  Michael Hope  <michaelh AT juju.net.nz>
53692         * support/cpp2/Makefile.in (install): Added creation of dest dir.
53694         * support/makebin/Makefile (install): Added creation of dest dir.
53696 2001-10-24 Karl Bongers <karl AT turbobit.com>
53698         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
53700 2001-10-21  Michael Hope  <michaelh AT juju.net.nz>
53702         * src/z80/ralloc.c: Turned off faulty pack for one use.
53704         * src/z80/peeph-gbz80.def: Removed redundent restart options.
53706         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
53708 2001-10-21  Bernhard Held  <bernhard AT bernhardheld.de>
53710         * support/regression/Makefile: Improved clean
53712         * support/regression/ports/gbz80/spec.mk: Added clean
53714         * support/regression/ports/host/spec.mk: Added clean
53716         * support/regression/ports/z80/spec.mk: Added clean
53718         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
53720         * support/regression/ports/mcs51/timeout.c: little improvements
53722 2001-10-17  Michael Hope  <michaelh AT juju.net.nz>
53724         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
53726         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
53728         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
53730 2001-10-16  Bernhard Held  <bernhard AT bernhardheld.de>
53732         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
53734         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
53736 2001-10-13  Michael Hope  <michaelh AT juju.net.nz>
53737         * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
53739         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
53741         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
53743         * src/mcs51/main.c (_linkCmd): Added bin path to command.
53745         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
53747         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
53749         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
53751         * support/regression/tests/longor.c: Added.
53753 2001-10-11  Bernhard Held  <bernhard AT bernhardheld.de>
53755         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
53757         * as/mcs51/aslink.h: define PATH_MAX
53759         * as/mcs51/asm.h: define PATH_MAX
53761         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
53763         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
53765         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
53767         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
53769         * src/SDCCglobl.h: define PATH_MAX
53771         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
53773         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
53775 2001-10-11  Michael Hope  <michaelh AT juju.net.nz>
53777         * src/z80/gen.c (gencjneshort): Fixed
53779         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
53781 2001-10-09  Michael Hope  <michaelh AT juju.net.nz>
53783         * support/regression/tests/bug-469671.c: Added.
53785         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
53787 2001-10-08  Michael Hope  <michaelh AT juju.net.nz>
53789         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
53791         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
53793 2001-10-08  Bernhar Held  <bernhard AT bernhardheld.de>
53795         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
53797         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
53799         * src/device/lib/_mullong.c : removed hint: nooverlay bug
53801         * src/device/lib/_divuint.c : removed hint: nooverlay bug
53803         * src/device/lib/_divulong.c: removed hint: nooverlay bug
53805         * src/device/lib/_moduint.c : removed hint: nooverlay bug
53807         * src/device/lib/_modulong.c: removed hint: nooverlay bug
53809 2001-10-07  Michael Hope  <michaelh AT juju.net.nz>
53811         * 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.
53813         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
53815         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
53817 2001-10-07    <johan AT FRIJA>
53819         * device/lib/gets.c (gets): fixed the return value.
53821 2001-10-06  Michael Hope  <michaelh AT juju.net.nz>
53822         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
53824         * 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.
53826         * 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.
53828         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
53830         * src/pic/gen.c: Removed Safe_strdup.
53832         * configure.in: Added option to enable libgc support.
53834         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
53835         (bitVectUnion): Optimised.
53836         (bitVectIntersect): Optimised.
53837         (bitVectBitsInCommon): Optimised.
53838         (bitVectCplAnd): Optimised.
53840         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
53842 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
53844         * src/SDCCmain.c: distinguish between assembler debug and plain options
53846         * src/avr/main.c:   remove standard assembler options
53848         * src/ds390/main.c: remove standard assembler options
53850         * src/mcs51/main.c: remove standard assembler options
53852         * src/port.h: removed "PENDING" comment
53854 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
53856         * src/device/lib/_mulint.c  : new, with assember functions
53858         * src/device/lib/_mullong.c : new, with assember functions
53860         * src/device/lib/_divuint.c : with assember functions
53862         * src/device/lib/_divsint.c : with assember functions
53864         * src/device/lib/_divulong.c: with assember functions
53866         * src/device/lib/_divslong.c: with assember functions
53868         * src/device/lib/_moduint.c : with assember functions
53870         * src/device/lib/_modsint.c : with assember functions
53872         * src/device/lib/_modulong.c: with assember functions
53874         * src/device/lib/_modslong.c: with assember functions
53876         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
53878         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
53880         * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
53881                                       replaced _mululong.c and _mulslong.c by _mullong.c
53883 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
53885         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
53887 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
53889         * src/SDCCglue.c: test, if win32api is available for MINGW
53891 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
53893         * src/SDCCsymt.c: no more _modifier in printTypeChain()
53894         * support/regression/tests/driverstruct.c: REENTRANT for mcs51
53895         * support/regression/ports/gbz80/spec.mk: removed GENERIC
53896         * support/regression/ports/host/spec.mk: removed GENERIC
53897         * support/regression/ports/mcs51/spec.mk: removed GENERIC
53898         * support/regression/ports/z80/spec.mk: removed GENERIC
53900 2001-10-01  Michael Hope  <michaelh AT juju.net.nz>
53902         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
53904         * support/regression/tests/bug-467035.c: Created.
53906 2001-10-01    <johan AT FRIJA>
53908         * src/SDCC.y: fixed bug #466586 part 1
53910 2001-10-01  Johan Knol <johan.knol AT iduna.nl>
53912         * SDCCicode.c: z80 has no generic pointers
53913         * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
53915 2001-09-30  Michael Hope  <michaelh AT juju.net.nz>
53917         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
53919 2001-09-29  Michael Hope  <michaelh AT juju.net.nz>
53921         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
53923         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
53925 2001-09-25  Michael Hope  <michaelh AT juju.net.nz>
53927         * configure.in: Fixed up so that ucsim is only configured once.
53929         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
53931         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
53932         (getPathDifference): As above.
53934         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
53936         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
53938 2001-09-23  Michael Hope  <michaelh AT juju.net.nz>
53939         * .version: Updated to 2.3.1
53941         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
53942         Added copyright header.
53944         * src/SDCCmain.c: Shifted various functions into SDCCutil.c
53945         (assemble): Added support for macro based assembler commands.
53946         (linkEdit): Added support for macro based linker commands.
53947         (preProcess): Changed the pre-processor to use macros.
53948         (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
53949         (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
53951         * device/lib/z80/crt0.s: Added module name for debugging.
53953 2001-09-20  Michael Hope  <michaelh AT juju.net.nz>
53955         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
53957         * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
53959         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
53961         * src/Makefile.in: Added SDCCmacro and SDCCutil
53963 2001-09-19  Michael Hope  <michaelh AT juju.net.nz>
53965         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
53967 2001-09-16    <johan AT FRIJA>
53969         * 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.
53971 2001-09-15    <johan AT FRIJA>
53973         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
53974         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
53976 2001-09-11    <johan AT FRIJA>
53978         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
53980 2001-09-10  Michael Hope  <michaelh AT juju.net.nz>
53982         * support/regression/tests/bug-460444.c: Added test case.
53984         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
53985         (genCast): Added justification for all of the asserts.
53987 2001-09-10  Bernhard Held <bernhard AT bernhardheld.de>
53989         * support/regression/support.c: _xdata replaced by xdata
53991         * support/regression/spec.mk: removed _generic
53993 2001-09-09  Michael Hope  <michaelh AT juju.net.nz>
53995         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
53997         * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
53998         (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
54000         * src/z80/peeph.def: Added a rule to optimise shift then compare.
54002         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
54004         * support/regression/tests/bug-460010.c: Added test case.
54006         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
54008 2001-09-09  Bernhard Held <bernhard AT bernhardheld.de>
54010         * support/regression/Makefile: inter-port-clean adjusted for mcs51
54012         * support/regression/testfwk.c: removed workaround for bug #436344
54014         * support/regression/tests/bp.c: use less memory with mcs51
54016         * support/regression/tests/bug-441448.c: use less memory
54018         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
54020         * support/regression/collate-results.py: typo
54022 2001-09-08  Michael Hope  <michaelh AT juju.net.nz>
54024         * support/regression/tests/fetchoverlap.c: Added new test case.
54026         * support/regression/tests/bp.c: Added new test case.
54028         * support/regression/tests/bug-448984.c: Added new test case.
54030         * support/regression/tests/pow2shifts.c: Added new test case.
54032         * src/z80/gen.c: Turned off the noise it normally generates for the release.
54033         (genlshTwo): Fixed right shift for count > 8.
54035         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
54037 2001-09-08    <johan AT FRIJA>
54039         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
54041 2001-09-07    <johan AT FRIJA>
54043         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
54045         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
54047 2001-09-06    <johan AT FRIJA>
54049         * src/SDCC.y: this could be a fix for bug #458744 (1.37)
54050         * bernhard noted me at this: "() equals to (void)" (1.38)
54052 2001-09-05    <johan AT FRIJA>
54054         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
54056 2001-09-04    <johan AT FRIJA>
54058         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
54061 2001-09-04  Paul Stoffregen  <paul AT pjrc.com>
54063         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
54065 2001-09-03  Michael Hope  <michaelh AT juju.net.nz>
54067         * link/z80/aslink.h: Fixed path for PATH_MAX
54069 2001-09-02  Michael Hope  <michaelh AT juju.net.nz>
54071         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
54073         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
54075         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
54077         * 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.
54079 2001-09-01  Michael Hope  <michaelh AT juju.net.nz>
54081         * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
54082         (genCmp): Fixed up genCmp for the GB with longs.
54084         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
54086         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
54088         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
54090         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
54092 2001-08-30  Paul Stoffregen  <paul AT pjrc.com>
54094         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
54096 2001-08-30  Michael Hope  <michaelh AT juju.net.nz>
54098         * 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.
54100         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
54102 2001-08-29  Michael Hope  <michaelh AT juju.net.nz>
54104         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
54106         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
54108 2001-08-30 Bernhard Held   <bernhard AT bernhardheld.de>
54110         * sim/ucsim/configure:    little improvement of Cygwin-detection
54111         * sim/ucsim/configure.in: little improvement of Cygwin-detection
54112         * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
54113         * support/regression/tests/bug-221100.c: small changes for mcs51
54114         * support/regression/tests/bug-221168.c: small changes for mcs51
54115         * support/regression/tests/bug-227710.c: small changes for mcs51
54116         * support/regression/tests/staticinit.c: small changes for mcs51
54117         * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
54118         * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
54119         * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601
54121 $Revision$