1 2024-07-05 Philipp Klaus Krause <philipp@colecovision.eu>
6 2024-06-28 Philipp Klaus Krause <philipp@colecovision.eu>
10 z80 peephole optimizer improvements.
12 2024-06-25 Philipp Klaus Krause <philipp@colecovision.eu>
15 Improve 16-bit signed right shift code generation.
17 2024-06-24 Philipp Klaus Krause <philipp@colecovision.eu>
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,
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:
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>
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,
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>
99 support/regression/tests/bug-3740.c:
102 2024-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
105 Parse ZX Spectrum Next nextreg instruction.
107 2024-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
109 * src/SDCCralloc.hpp,
113 2024-05-29 Philipp Klaus Krause <philipp@colecovision.eu>
116 Skip leading zeroes on comparisons and some increments.
118 2024-05-28 Philipp Klaus Krause <philipp@colecovision.eu>
121 Use information from generalized constant propagation to optimize comparisons of signed types.
123 2024-05-27 Philipp Klaus Krause <philipp@colecovision.eu>
126 z80 codegen improvements.
128 2024-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
130 * src/SDCCsalloc.hpp,
134 Use stack parameter locations as spill locations in some simple cases.
136 2024-05-16 Philipp Klaus Krause <philipp@colecovision.eu>
139 support/regression/tests/bug-3733.c:
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>
150 mcs51 named address space clarifications.
151 * support/regression/tests/sha3-256.c:
154 2024-05-01 Philipp Klaus Krause <philipp@colecovision.eu>
157 Fix an issue in previous commit.
159 2024-04-30 Philipp Klaus Krause <philipp@colecovision.eu>
161 * src/z80/ralloc2.cc,
163 Improve use of register a and (hl) in comparisons.
165 2024-04-29 Philipp Klaus Krause <philipp@colecovision.eu>
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:
175 2024-04-25 Philipp Klaus Krause <philipp@colecovision.eu>
177 * support/regression/tests/bug-3730.c:
180 2024-04-24 Philipp Klaus Krause <philipp@colecovision.eu>
183 Update documentation on implementation-defined behaviour.
184 * sdas/astlcs90/t90.h,
185 sdas/astlcs90/t90mch.c,
186 sdas/astlcs90/t90pst.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>
198 Global operand handling fixes.
200 2024-04-22 Philipp Klaus Krause <philipp@colecovision.eu>
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>
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.
217 Improve handling of function calls in notUsed(From)('iy').
219 Fix handling of operand in a in built-in strchr.
221 2024-04-19 Philipp Klaus Krause <philipp@colecovision.eu>
224 Improve handling of register argument in a in register allocation.
226 2024-04-19 Philipp Klaus Krause <philipp@colecovision.eu>
229 Fix generation of a redundant instruction in z80 comparison.
231 2024-04-18 Philipp Klaus Krause <philipp@colecovision.eu>
234 Improve handling of function calls in notUsed(From).
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,
256 support/regression/tests/bug-3728.c:
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>
266 Improve use of hl, towards RFE #905.
268 2024-04-13 Philipp Klaus Krause <philipp@colecovision.eu>
272 Small z80 codegen improvements, part of RFE #905.
274 2024-04-12 Philipp Klaus Krause <philipp@colecovision.eu>
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,
285 Improve code generation for z80 comparisons.
288 Improve lospre debug output.
290 2024-03-29 Philipp Klaus Krause <philipp@colecovision.eu>
296 Enable more register packing optimizations.
298 2024-03-28 Philipp Klaus Krause <philipp@colecovision.eu>
301 Optimize out some more intermediate pop/push.
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>
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,
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.
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:
337 2024-03-23 Philipp Klaus Krause <philipp@colecovision.eu>
339 * src/SDCCgenconstprop.cc,
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>
366 Workaround for a LyX 2.4 issue, fixes bug #3708.
368 2024-02-29 Gabriele Gorla <gorlik@yahoo.com>
371 change safeLabelKey2num macro to safeLabeNum function.
373 2024-02-29 Philipp Klaus Krause <philipp@colecovision.eu>
377 support/regression/tests/bug-3711.c:
380 2024-02-20 Gabriele Gorla <gorlik@yahoo.com>
383 Rename jflag in genIfxJump from "a" to "z".
384 Refactor genAnd, GenOr, GenXor.
386 2024-02-19 Gabriele Gorla <gorlik@yahoo.com>
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.
394 2024-02-17 Gabriele Gorla <gorlik@yahoo.com>
398 src/mos6502/ralloc.c:
399 Fix compile warnings and a few typos.
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,
433 device/non-free/lib/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>
450 Refactor asmopToBool().
452 Improvements to genAnd().
454 2024-01-27 Gabriele Gorla <gorlik@yahoo.com>
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:
465 2024-01-27 Gabriele Gorla <gorlik@yahoo.com>
467 * src/mos6502/ralloc.c:
468 Small cleanup of m6502_dirtyReg.
470 Imporvements to genCmp.
472 2024-01-26 Philipp Klaus Krause <philipp@colecovision.eu>
477 Export 32-bit addresses from gb assembler (instead of 24-bit).
479 2024-01-22 Philipp Klaus Krause <philipp@colecovision.eu>
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>
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.
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:
504 2023-01-14 Philipp Klaus Krause <philipp@colecovision.eu>
509 Optimize pdk register packing for some operations on __sfr (part of RFE #801).
511 2024-01-13 Gabriele Gorla <gorlik@yahoo.com>
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.
535 src/mos6502/ralloc.h:
536 Remove dead code to support registers in reverse order.
538 2024-01-12 Gabriele Gorla <gorlik@yahoo.com>
543 2024-01-12 Philipp Klaus Krause <philipp@colecovision.eu>
548 2024-01-12 Philipp Klaus Krause <philipp@colecovision.eu>
551 Improve pdk notUsed() accuracy.
553 2024-01-11 Philipp Klaus Krause <philipp@colecovision.eu>
557 * support/scripts/sdcc.nsi:
560 2024-01-10 Gabriele Gorla <gorlik@yahoo.com>
563 Implement a few 65C02 optimizations.
565 2024-01-09 Gabriele Gorla <gorlik@yahoo.com>
568 Additional carry flag tracking optimizations.
570 Improve debug messages.
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,
581 Basic pic16 long long support, patch #471 by Jonathon Hall.
583 2024-01-08 Gabriele Gorla <gorlik@yahoo.com>
586 replace all instances of emitLabel() with safeEmitLabel().
589 enable last operation flag tracking.
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>
610 Fixes for z flag handling in pdk peephole optimizer rules.
613 Optimize out some redundant stores to a, insprired by parts of patch #447 by Konstantin Kim.
615 Fix notVolatile('a') for pdk.
617 Improve flag handling in pdk peephole optimizer.
619 Improve flag handling in z80 peephole optimizer.
621 2023-12-29 Gabriele Gorla <gorlik@yahoo.com>
624 Imporve use of BIT instruction.
625 * src/mos6502/ralloc.c,
626 src/mos6502/ralloc.h:
627 Prepare for improved register pair handling.
629 correct constant size in isLiteralBit().
631 Prepare for improved register pair handling.
633 2023-12-29 Philipp Klaus Krause <philipp@colecovision.eu>
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.
640 Add a peephole optimizer rule from patch #447 by Konstantin Kim.
642 2023-12-29 Gabriele Gorla <gorlik@yahoo.com>
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
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.
660 Fix small debug print bug.
661 * src/mos6502/peep.c:
662 Fix affected flags and add "sec".
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>
675 Improve handling of I/O and tail calls, fixes bug #3688.
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,
688 notUsed/notUsedFrom for mos6502 flags.
690 2023-12-20 Philipp Klaus Krause <philipp@colecovision.eu>
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>
698 Various updates to the manual.
700 2023-12-20 Philipp Klaus Krause <philipp@colecovision.eu>
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>
713 Enable mos65c02 port.
715 2023-12-18 Philipp Klaus Krause <philipp@colecovision.eu>
724 2023-12-17 Gabriele Gorla <gorlik@yahoo.com>
727 fix bra in the opcode table. Use strncmp in the opcode search to support 65C02 bit manipulation instructions.
729 fix wrong offset for struct return in mos6502-stack-auto port
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>
746 Fix bug #3508, patch by Steve Schnepp.
748 2023-12-12 Gabriele Gorla <gorlik@yahoo.com>
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>
772 Enable elimination of dead RECEIVE iCodes. Fixs the rest of bug #3482.
774 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
778 Fix the worst part of bug #3482.
780 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
783 support/regression/tests/bug-3685.c:
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.
799 pdk code generation improvements.
801 Fix a Rabbit multiplication code generation bug.
803 2023-12-09 Philipp Klaus Krause <philipp@colecovision.eu>
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
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
833 add mos6502 port documentation to SDCC manual
835 2023-12-05 Philipp Klaus Krause <philipp@colecovision.eu>
837 * device/include/pic16/pic16devices.txt,
838 device/lib/pic16/startup/crt0iz.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.
861 src/mos6502/ralloc.c,
863 Add --no-zp-spill option to avoid register spills in ZP.
865 2023-12-03 Gabriele Gorla <gorlik@yahoo.com>
871 Add limited support to return aggregates to mos6502 port.
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,
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>
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.
909 Make sure result is a register before dereferencing the pointer (fix bug #3631)
911 2023-12-02 Gabriele Gorla <gorlik@yahoo.com>
914 Correct opcode ordering.
915 Fix get_model() reporting.
917 Make mos65c02 register transfer code use phx/phy/plx/ply.
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,
933 sdas/asxxsrc/asxxxx.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.
960 Add crt to mos65c02 link step by default.
962 Implement GenAnd and GenOr for mos65c02.
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.
985 2023-12-01 Philipp Klaus Krause <philipp@colecovision.eu>
988 Port a simplification from f8 to stm8.
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).
997 2023-11-29 Philipp Klaus Krause <philipp@colecovision.eu>
1000 Fix handling of jz, jnz in asmLineNodeFromLineNode.
1002 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
1007 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
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.
1012 Fix checking of return values for mcs51 notUsed.
1014 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
1017 src/mcs51/peeph.def:
1018 Replace deadMove by notUsed in non-push/pop roles.
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>
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>
1031 Fully enable code speed optimization for z80 (and related).
1033 2023-11-25 Philipp Klaus Krause <philipp@colecovision.eu>
1036 Improve cost function accuracy.
1038 2023-11-25 Philipp Klaus Krause <philipp@colecovision.eu>
1042 Shift optimization using information from generalized constant propagation.
1044 2023-11-24 Philipp Klaus Krause <philipp@colecovision.eu>
1049 2023-11-24 Philipp Klaus Krause <philipp@colecovision.eu>
1054 2023-11-23 Philipp Klaus Krause <philipp@colecovision.eu>
1057 Speed optimization in register allocation for z80 and related.
1059 2023-11-22 Philipp Klaus Krause <philipp@colecovision.eu>
1062 Preparations for improved speed optimization for z80.
1064 Do another execution frequency estimate just before register allocation to improve the accuracy of speed optimizations.
1068 Implement notUsed peephole condition for mcs51, patch by Oleg Endo.
1070 2023-11-21 Philipp Klaus Krause <philipp@colecovision.eu>
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.
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:
1089 2023-11-20 Philipp Klaus Krause <philipp@colecovision.eu>
1093 Optimize towards djnz use.
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>
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:
1109 2023-11-18 Philipp Klaus Krause <philipp@colecovision.eu>
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.
1121 src/SDCCgenconstprop.cc,
1123 Code refactoring for iCode operand replacement.
1127 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1131 Provide mcs51IsParmInCall.
1133 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
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,
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>
1149 Improve mcs51 calling convention documentation.
1154 Use aopArg, provide mcs51IsReturned and mcs51IsRegArg.
1156 2023-11-14 Philipp Klaus Krause <philipp@colecovision.eu>
1162 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1165 Basic aopArg for mcs51.
1167 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1173 Handle return values via aopRet.
1175 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1179 mcs51 code generation refactoring.
1181 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1187 2023-11-12 Philipp Klaus Krause <philipp@colecovision.eu>
1190 Make aopGet use asmop * instead of operand *.
1192 2023-11-12 Philipp Klaus Krause <philipp@colecovision.eu>
1195 Fix opIsGptr, so it works even when the op has no aop yet.
1197 2023-11-11 Philipp Klaus Krause <philipp@colecovision.eu>
1204 mcs51 code generation refactoring.
1206 2023-11-11 Felix Salfelder <felix AT salfelder.org>
1211 2023-11-10 Philipp Klaus Krause <philipp@colecovision.eu>
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>
1228 * src/SDCCralloc.hpp:
1229 Fix an UB issue in register allocation affecting z80 (and related).
1230 * src/mcs51/ralloc.h,
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>
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,
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>
1277 support/regression/tests/bug-3642.c,
1281 2023-11-06 Philipp Klaus Krause <philipp@colecovision.eu>
1285 * src/SDCCgenconstprop.cc,
1289 2023-11-02 Philipp Klaus Krause <philipp@colecovision.eu>
1293 support/regression/tests/bitintshift.c.in:
1296 2023-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
1298 * Makefile.common.in,
1300 * sdccconf_in.h: added OPT_DISABLE_R800
1302 2023-10-28 Philipp Klaus Krause <philipp@colecovision.eu>
1305 operandsNotRelated improvements for mcs51 (and related), based on patch 1 from patch ticket #466 by Oleg Endo.
1307 Patch 2 from patch ticket #466 by Oleg Endo.
1312 Patch 3 from patch ticket #466 by Oleg Endo.
1314 Patch 6 from patch ticket #466 by Oleg Endo.
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
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,
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
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,
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>
1398 Bump version for now fully working generalized constant propagation.
1400 2023-10-09 Philipp Klaus Krause <philipp@colecovision.eu>
1405 Fix bug #3658 by warning on non-default sdcccall with default stdlib or crt0.
1409 device/lib/r2ka/*.s,
1410 device/lib/r3ka/*.s,
1411 device/lib/tlcs90/*.s,
1412 device/lib/ez80_z80/*.s,
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
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>
1449 support/regression/tests/bug-3660.c:
1452 2023-10-04 Philipp Klaus Krause <philipp@colecovision.eu>
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,
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>
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,
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>
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>
1582 Basic r800 port documentation.
1583 * support/scripts/sdcc.nsi:
1584 Include r800 library in Windows installer.
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,
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.
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,
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,
1668 2023-08-26 Philipp Klaus Krause <philipp@colecovision.eu>
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>
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,
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
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,
1857 * support/cpp/gcc/gcc.cc (insert_comments,get_random_number): fixed warnings
1859 * support/cpp/libcpp/expr.cc (cpp_classify_number): fixed warnings,
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,
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>
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>
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
1916 * src/SDCCmain.c: moved syntax_only & no_assemble into options
1917 * src/SDCCopt.c(eBBlockFromiCode): do not call assignRegisters() for
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
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>
1955 Fix various bugs found by sanitizers.
1957 2023-08-01 Philipp Klaus Krause <philipp@colecovision.eu>
1959 * src/SDCCgenconstprop.cc,
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,
1975 Fix some issues, mostly in generalized constant propagation.
1977 2023-07-29 Philipp Klaus Krause <philipp@colecovision.eu>
1982 support/regression/tests/bug-3636.c:
1985 support/regression/tests/bug-3597.c:
1988 support/valdiag/tests/bug-2240.c:
1991 2023-07-28 Philipp Klaus Krause <pkk@spth.de>
1994 sdas/asz80/z80mch.c,
1995 sdas/asz80/z80pst.c:
1996 Basic R800 assembler support.
2007 device/lib/Makefile.in,
2008 device/lib/_memset.c,
2009 device/lib/clean.mk,
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>
2024 2023-07-27 Philipp Klaus Krause <philipp@colecovision.eu>
2027 Spelling fixes, patch #465 by Konstantin Kim.
2029 2023-07-26 Maarten Brock <sourceforge.brock AT dse.nl>
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>
2039 Update documentation of pragma sdcc_hash.
2041 2023-07-17 Felix Salfelder <felix AT salfelder.org>
2043 * support/regression/cases/generate-cases.py:
2046 2023-07-17 Felix Salfelder <felix AT salfelder.org>
2048 * support/regression/Makefile.in,
2049 support/regression/compact-results.py:
2052 2023-07-13 Philipp Klaus Krause <philipp@colecovision.eu>
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.
2062 Fix bug #3615 for stm8.
2064 2023-07-10 Philipp Klaus Krause <philipp@colecovision.eu>
2067 Fix a Z(1)80 bug in wide reads from pointers into registers.
2069 2023-07-09 Philipp Klaus Krause <philipp@colecovision.eu>
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.
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>
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:
2094 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2097 Fix a compiler crash due to operation narrowing invalidating iCode sequence numbers.
2099 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2102 Fix an issue in ds390 casts to _BitInt.
2104 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2106 * src/SDCCgenconstprop.cc,
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>
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>
2131 support/regression/tests/bug-3606.c:
2138 2023-06-30 Philipp Klaus Krause <philipp@colecovision.eu>
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>
2156 support/valdiag/tests/bug-3603.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,
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>
2184 src/SDCCgenconstprop.cc,
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.
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>
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,
2213 Improve generalized constant propagation analysis and optimization.
2215 2023-06-18 Philipp Klaus Krause <philipp@colecovision.eu>
2217 * src/SDCCgenconstprop.cc,
2221 Use information from generalized constant propagation analysis in code generation.
2223 2023-06-15 Philipp Klaus Krause <philipp@colecovision.eu>
2233 Simplify based on IC_(JT)COND now being an alias for IC_LEFT.
2235 2023-06-15 Philipp Klaus Krause <philipp@colecovision.eu>
2238 src/SDCCgenconstprop.cc,
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>
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>
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>
2270 Dump iCode after generalized constant propagation.
2272 2023-06-12 Philipp Klaus Krause <philipp@colecovision.eu>
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).
2277 Fix a pdk codegen issue that could result in invalid asm for pdk13 on bitwise and in if condition.
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>
2284 src/SDCCgenconstprop.cc,
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.
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>
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>
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.
2338 Document hc08/s08 struct/union parameter support.
2340 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
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>
2351 support/regression/MakeList:
2352 Catch bug #3598 early.
2354 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
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>
2364 hc08/s08 --stack-auto struct/union parameters.
2366 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
2370 Caller-side support for hc08/s08 struct/union return.
2372 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
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).
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>
2397 Fix type of result in optimization of shifts wider than operand.
2399 Fix left-shift for wide _BitInt.
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.
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>
2413 Improve z80 rotations.
2417 Improve pdk rotations.
2420 Improve mcs51 rotations.
2423 Improve hc08 rotations.
2425 2023-06-01 Philipp Klaus Krause <philipp@colecovision.eu>
2429 Simplify ROT optimization.
2432 Improve stm8 rotations.
2434 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2438 Support arbitrary rotations of 8-bit values in pdk code generation.
2441 Support arbitrary rotations of 8-bit values in stm8 code generation.
2443 src/hc08/ralloc2.cc:
2444 Improve code generation for hc08/s08 rotations.
2446 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2460 Replace RLC, RRC, SWAP by ROT, RFE #877.
2462 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2467 Prepare for generalized swap / rotation support.
2469 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
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>
2485 Update configure-time host C compiler checks for currently used standard.
2487 2023-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
2490 Document change in -MMD vs. -MF argument.
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>
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>
2550 Optimize out some redundant iTemps.
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,
2565 Special handling of 32x8->64 unsigned multiplication for optimization.
2567 2023-05-23 Philipp Klaus Krause <philipp@colecovision.eu>
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,
2580 mos6502 _BitInt support.
2581 * device/lib/strtoul.c,
2582 support/regression/tests/strto.c:
2583 Fix C23 binary prefix for strtoo(u)l.
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>
2595 hc08/s08 _BitInt support up to 64 bits.
2597 2023-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
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,
2607 Prepare for hc08/s08 _BitInt support: codegen for casts.
2609 2023-05-17 Philipp Klaus Krause <philipp@colecovision.eu>
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>
2624 support/regression/tests/bug-3455.c:
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>
2642 support/regression/tests/bug-3585.c:
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).
2664 support/regression/tests/*.c:
2667 2023-05-04 Philipp Klaus Krause <philipp@colecovision.eu>
2670 support/regression/tests/bug-3579.c:
2671 iy handling fixes in code generation.
2673 2023-04-26 Philipp Klaus Krause <philipp@colecovision.eu>
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>
2686 Improve error message on missing skip instruction target label at end of inline asm in __naked function. Fix bug #3566.
2688 support/regression/tests/bug-3570.c:
2693 2023-03-21 Felix Salfelder <felix AT salfelder.org>
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>
2707 support/regression/tests/bug-3567.c:
2710 2023-03-16 Philipp Klaus Krause <philipp@colecovision.eu>
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>
2719 support/regression/tests/bug-3564.c:
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,
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>
2762 support/regression/tests/bug-3560.c:
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>
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>
2787 src/SDCCerr.c: changed possible to probable
2789 doc/sdccman.lyx: fixed spelling
2791 2023-02-09 Philipp Klaus Krause <philipp@colecovision.eu>
2795 * support/regression/tests/*.c,
2797 Spelling fixes for comments, from patch #459 by Konstantin Kim.
2799 2023-02-08 Philipp Klaus Krause <philipp@colecovision.eu>
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>
2809 support/regression/tests/bug-3352.c:
2811 * device/lib/sm83/crt0.s:
2813 * support/regression/tests/gcc-torture-execute-pr91137.c:
2815 * support/regression/tests/bug1723128.c:
2818 2023-02-05 Philipp Klaus Krause <philipp@colecovision.eu>
2821 support/regression/tests/bug-3547.c:
2824 2023-02-04 Philipp Klaus Krause <philipp@colecovision.eu>
2829 Warn on deprecated _sdcc_external_startup, RFE #868.
2830 * device/lib/printf_large.c,
2833 support/regression/tests/snprintf.c.in:
2834 Fix endiannness of %p output, based on patch #457 by Basil Hussain, bug #3543.
2837 support/valdiag/tests/bug-3060.c:
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).
2854 support/regression/tests/bug-1981238.c:
2857 2023-01-31 Philipp Klaus Krause <philipp@colecovision.eu>
2860 Fix bug #2837 for z80 and related.
2862 2023-01-30 Philipp Klaus Krause <philipp@colecovision.eu>
2865 support/regression/tests/bug-3025.c,
2866 support/regression/cases/Makefile.in,
2868 * src/mos6502/peeph.def:
2869 Disable a rule that uses not-yet-implemented notUsed.
2871 Fix a pdk issue similar to mcs51 bug #3023.
2873 device/lib/printf_large.c,
2874 device/lib/printfl.c,
2875 device/lib/sprintf.c,
2876 device/lib/vprintf.c:
2879 support/regression/tests/bug-3249.c:
2881 * support/regression/tests/inline.c:
2882 Disable a test for host, which fails on GNU/Linux on aarch64 using GCC 12.2.
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>
2921 support/regression/tests/bug-3023.c:
2924 2023-01-28 Philipp Klaus Krause <philipp@colecovision.eu>
2933 * src/mos6502/ralloc.c,
2937 2023-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
2940 support/regression/cases/Makefile.in,
2941 support/regression/MakeList:
2947 support/valdiag/tests/bug-3228.c:
2954 2023-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
2956 * sdas/aspdk15/pdk15mch.c:
2961 support/regression/cases/Makefile.in:
2964 2023-01-26 Philipp Klaus Krause <philipp@colecovision.eu>
2967 Make ulFromVal a wrapper for ullFromVal to remove duplicate code and partially fix bug #3539.
2969 Fix an sm83 issue similar to z80 bug #3503.
2971 Add _BitInt to type list in manual.
2973 Skip invalid init list bits. Fix bug #2928.
2975 support/regression/tests/bug-2983.c:
2977 * src/pdk/peeph.def:
2978 Fix an issue in two pdk peephole rule conditions.s
2982 support/valdiag/tests/bug-3012.c:
2985 2023-01-25 Philipp Klaus Krause <philipp@colecovision.eu>
2988 Type fixes (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
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>
2997 doc/z80-stack-cleanup.svg:
2998 Improve documentation on stack cleanup (support request #182).
3002 support/regression/tests/bug-3525.c:
3005 2023-01-23 Philipp Klaus Krause <philipp@colecovision.eu>
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
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.
3025 support/regression/tests/bug-3503.c:
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.
3035 Enhance documentation for __sdcc_external_startup, patch #456 by Basil Hussain.
3037 Remove null-pointer checks on something that is not a pointer in current SDCC, patch #442 by Reini Urban.
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.
3044 Type fix for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
3046 support/regression/tests/bug-3532.c:
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,
3059 Patch #453 by Basil Hussain to further harmonize __sdcc_external_startup (RFE #859).
3063 Type fixes for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
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:
3082 2023-01-08 Benedikt Freisen <b.freisen AT gmx.net>
3085 Add "TD-" to the version string of treedec-less builds.
3087 2023-01-08 Benedikt Freisen <b.freisen AT gmx.net>
3090 Amend claims concerning intrinsic address space support.
3092 2023-01-02 Philipp Klaus Krause <philipp@colecovision.eu>
3095 support/regression/tests/bug-3504.c:
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>
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.
3142 Fix __sdcc_external_startup handling for stm8 large memory model.
3143 * src/z80/peeph.def:
3146 2022-12-04 Philipp Klaus Krause <pkk AT spth.de>
3149 support/regression/tests/bug-3522.c:
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,
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>
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
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>
3253 Fix an issue related to bug #3471.
3255 2022-11-04 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
3283 Relax type match requirements on literal operands to multiplication support functions.
3285 2022-10-11 Philipp Klaus Krause <pkk AT spth.de>
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>
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:
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>
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>
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,
3372 2022-09-19 Felix Salfelder <felix AT salfelder.org>
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>
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>
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>
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>
3431 2022-09-08 Felix Salfelder <felix AT salfelder.org>
3433 * support/cpp/libbacktrace/allocfail.sh:
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>
3450 support/regression/tests/bug-3478.c:
3453 2022-09-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3456 support/regression/tests/bug-3471.c:
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>
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:
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:
3533 2022-08-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3536 support/regression/tests/bug-3040.c.in:
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.
3543 support/valdiag/tests/bug-3457.c:
3547 support/valdiag/tests/bug-3031.c:
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>
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>
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>
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>
3609 Fix handling of pointers to short, long and long long (without explicit int) in _Generic associations.
3610 * device/include/stdckdint.h,
3612 device/lib/ckd_add.c,
3613 device/lib/ckd_mul.c,
3614 device/lib/ckd_sub.c,
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>
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>
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,
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,
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,
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.
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,
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,
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>
3680 support/regression/tests/c2xkeywords.c:
3683 2022-08-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3685 * device/include/stdbit.h,
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>
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>
3724 support/regression/tests/bug-3462.c:
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>
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>
3754 Infrastructure for VLA types.
3756 2022-08-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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:
3770 Fix area directive for sseg, patch by Tarn.
3772 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
3786 Allow more attribute arguments, warn on unknown attributes.
3788 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
3798 support/regression/tests/bug-2664.c:
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>
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>
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>
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,
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,
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>
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>
3887 Basic C2X nullptr support, part of RFE #853.
3889 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3892 Simplify grammar rules for enum.
3894 2022-07-29 Felix Salfelder <felix AT salfelder.org>
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,
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>
3914 Skip "line" in lineinfo line. This fixes [r13587].
3916 2022-07-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3919 support/regression/tests/bug-3401.c:
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>
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>
3939 support/regression/tests/bug-3463.c:
3942 2022-07-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3947 support/regression/tests/bug-3461.c:
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.
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:
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>
3979 support/regression/tests/bug-3410.c.in:
3981 * src/SDCCsalloc.hpp:
3984 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3987 support/regression/tests/bug-3459.c:
3990 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3993 support/regression/tests/bug-3456.c,
3994 support/regression/tests/bug-3459.c,
3995 support/regression/tests/bug-3460.c.in:
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.
4003 support/regression/tests/bug-3456.c:
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,
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,
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>
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>
4055 support/regression/tests/bug-3458.c.in:
4058 2022-06-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4061 Fix SDCC crash on error message for duplicate default label.
4063 2022-06-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
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>
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>
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>
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,
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>
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>
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:
4177 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
4191 Fix two typos in the manual
4193 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
4206 Improve calling convention documentation, fix bug #3412.
4208 2022-06-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4211 support/regression/tests/bug-3406.c:
4214 2022-06-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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
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:
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>
4351 support/regression/tests/bug-3391.c:
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>
4364 support/valdiag/tests/bug-3389.c:
4365 device/include/float.h,
4366 support/regression/tests/bug-1805702.c:
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:
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>
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>
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.
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>
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>
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>
4595 Fix array-to-pointer decay in _Generic.
4597 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4600 support/regression/tests/bug-2629.c:
4603 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
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>
4618 Update documentation on standard compliance.
4620 2022-04-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4623 support/regression/tests/bug-3379.c:
4626 2022-04-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4628 * support/regression/tests/bug-2981.c:
4631 support/regression/tests/bug-3255.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.
4650 Clarify __z88dk_callee behaviour.
4652 2022-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
4665 support/regression/tests/structreturn.c.in,
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>
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>
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:
4697 2022-03-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
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>
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:
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>
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>
4881 support/regression/ports/ucz80-undoc,
4882 support/regression/Makefile.in,
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>
4901 support/regression/tests/widebitintbitfield.c:
4902 _BitInt promotion fix.
4904 support/regression/tests/gcc-torture-execute-920625-1.c,
4905 support/regression/tests/bug-3368.c:
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>
4913 support/regression/tests/bug-3372.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>
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>
4976 support/regression/tests/bitint.c:
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>
4989 2022-03-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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,
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>
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>
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,
5058 Remove remains of support for unused IPOP.
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>
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,
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>
5103 support/regression/tests/bug-3359.c,
5104 support/regression/tests/structparam.c,
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>
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,
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,
5159 Add support for GETBYTE and GETWORD iCodes.
5161 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5165 Fix pdk heap corruption on returning large struct.
5167 Fixes for large struct return.
5169 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
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>
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>
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>
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.
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>
5255 Use unsigned long long to represent bit-field values at compile time.
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).
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,
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:
5311 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5314 Limit _BitInt size to 16 for pdk (temporarily, until an issue is fixed).
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>
5325 Basic _BitInt support for mcs51.
5327 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
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>
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>
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>
5369 Explicitly state _BitInt non-support.
5371 2022-03-10 Gabriele Gorla <gorlik@yahoo.com>
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>
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>
5391 Calculate size of general ASxxx directives, apply [patches:428].
5393 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5399 Support for bit-precise integer types on pdk.
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>
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>
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,
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>
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>
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>
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>
5481 support/regression/tests/bitint.c,
5482 support/regression/tests/bitintarith.c,
5484 Various _BitInt fixes.
5486 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5491 Fix casts for bit-precise types.
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>
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,
5541 Infrastructure for bit-precise integers.
5543 2022-03-08 Philipp Klaus Krause <pkk AT spth.de>
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>
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,
5564 src/mos6502/ralloc2.cc:
5565 Use DPTR instead of YX for indexed addressing.
5567 2022-03-07 Sebastian 'basxto' Riedel <sdcc@basxto.de>
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:
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>
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,
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,
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,
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>
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,
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,
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>
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>
5755 Improve calling convention documentation.
5757 2022-02-24 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
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:
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,
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>
5808 Add __zp keyword to the mos6502 port.
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>
5865 2022-02-20 Gabriele Gorla <gorlik@yahoo.com>
5867 * src/mos6502/gen.c:
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>
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,
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,
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>
5944 Fix an issue in the fix for bug #3320.
5946 2022-02-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5950 * support/regression/tests/bug-3320.c:
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,
5965 Optimize sm83 assembly.
5967 2022-02-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5969 * support/regression/tests/bug-3322.c:
5972 2022-02-14 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
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,
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:
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.
6021 Disable warning about intentionally unused parameter in test.
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.
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>
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>
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>
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>
6134 Update documentation.
6136 2022-02-03 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6138 * device/lib/printf_large.c,
6150 support/regression/generate-cases.py:
6151 Fix typos in comments.
6158 Use CSD representation for multiplication by literal in a.
6160 2022-02-02 Gabriele Gorla <gorlik@yahoo.com>
6162 * src/mos6502/gen.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>
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>
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>
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>
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:
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:
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,
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:
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:
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,
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:
6580 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6590 device/lib/Makefile.in,
6591 device/include/Makefile.in,
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,
6623 src/mos6502/m6502.h,
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>
6688 Replace TRUE/FALSE with true/false.
6690 2022-01-05 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6697 2022-01-02 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
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>
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:
6716 2021-12-20 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6721 2021-12-10 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
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,
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>
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>
6782 Fix bug-3129 z80 on FreeBSD 13 regression.
6784 2021-11-19 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6787 Use SM83 ldh in code generation.
6789 2021-11-18 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6794 2021-11-17 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
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>
6811 Remove profiling support.
6813 2021-11-16 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6816 Rematerialization of stack locations.
6818 2021-11-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
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,
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:
6850 2021-11-04 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
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>
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,
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>
6891 Improve wide left shift by literal.
6893 2021-10-11 Philipp Klaus Krause <pkk AT spth.de>
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,
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>
6925 device/lib/_memset.c,
6926 support/regression/ports/*/spec.mk,
6927 support/regression/tests/z80n-push-nn.c,
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.
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:
6950 support/regression/tests/bug-3283.c:
6953 2021-09-20 Philipp Klaus Krause <pkk AT spth.de>
6955 * src/stm8/ralloc2.cc,
6959 2021-09-18 Philipp Klaus Krause <pkk AT spth.de>
6963 Use more Z80N-specific instructions in z80n codegen.
6965 2021-09-17 Philipp Klaus Krause <pkk AT spth.de>
6970 Use Z80N Core 2.0 shift instructions.
6972 2021-09-17 Philipp Klaus Krause <pkk AT spth.de>
6975 Improve single byte rotation.
6977 2021-09-14 Philipp Klaus Krause <pkk AT spth.de>
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>
6987 2021-09-08 Philipp Klaus Krause <pkk AT spth.de>
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,
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>
7027 Improve callee-cleanup of stack parameters.
7029 2021-09-06 Philipp Klaus Krause <pkk AT spth.de>
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>
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.
7057 Fix __z88dk_fastcall stack cleanup.
7059 2021-08-26 Philipp Klaus Krause <pkk AT spth.de>
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:
7072 2021-08-20 Philipp Klaus Krause <pkk AT spth.de>
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>
7082 Do not use some aspects of new calling convention for banked functions.
7084 2021-08-14 Philipp Klaus Krause <pkk AT spth.de>
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>
7100 Enable new calling convention for stm8.
7102 2021-08-11 Philipp Klaus Krause <pkk AT spth.de>
7105 support/valdiag/tests/callingconvention.c:
7106 Diagnostics for conflicting calling conventions.
7108 2021-08-10 Philipp Klaus Krause <pkk AT spth.de>
7111 Fix buffer overflow reported in patch #397 by Arnout Engelen .
7113 2021-08-08 Philipp Klaus Krause <pkk AT spth.de>
7118 Enable new calling convention for gbz80.
7120 2021-08-08 Philipp Klaus Krause <pkk AT spth.de>
7140 Calling convention selection infrastructure from breaktheworld branch.
7144 * sim/ucsim/pdk.src/inst.cc
7145 Fix bug in pdk15 simulation (introduced in [r12557]).
7149 * support/regression/compact-results.py
7150 Fix parsing of test name.
7155 support/regression/tests/getbyte_param.c
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].
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).
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.
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
7203 Added assembler support for new pdk .io mnemonics (bug #3259).
7209 Updated compiler generated assembly and rules according to new pdk .io mnemonics
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>
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),
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
7245 Added builtins: "__builtin_rlc", "__builtin_rrc" & "__builtin_swap".
7246 These functions will allow swap and rotate operations with volatile variables.
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>
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.
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>
7319 genMove_o improvements.
7321 2021-07-01 Philipp Klaus Krause <pkk AT spth.de>
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>
7334 Improve tail call optimization.
7336 2021-06-30 Philipp Klaus Krause <pkk AT spth.de>
7340 Assignment to / from global variables with non-free hl.
7342 2021-06-29 Philipp Klaus Krause <pkk AT spth.de>
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>
7361 Fix bug #3253: patch by Oleg Endo
7363 2021-06-28 Philipp Klaus Krause <pkk AT spth.de>
7371 Experimental __newcall calling convention.
7372 * src/z80/peeph.def,
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
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:
7416 2021-06-18 Philipp Klaus Krause <pkk AT spth.de>
7419 Improve framepointer handling.
7421 2021-06-18 Philipp Klaus Krause <pkk AT spth.de>
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>
7434 support/regression/tests/bug-3257.c:
7437 2021-06-16 Philipp Klaus Krause <pkk AT spth.de>
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.
7446 support/regression/tests/bug-3256.c:
7449 2021-06-15 Philipp Klaus Krause <pkk AT spth.de>
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>
7459 Use frame pointer to speed up handling of big return values.
7461 2021-06-13 Philipp Klaus Krause <pkk AT spth.de>
7464 Generalize handling of return values in frame pointer.
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>
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>
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.
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>
7526 Remove infrastructure for obsolete GETHBIT.
7528 2021-06-08 Philipp Klaus Krause <pkk AT spth.de>
7532 Support GETABIT instead of GETHBIT.
7536 Fixed buffer overflow in operand string in "immdInRange" function.
7538 2021-06-07 Philipp Klaus Krause <pkk AT spth.de>
7542 src/stm8/ralloc2.cc:
7543 Rotate support, inspired by patch #363 by Visenri.
7547 Remove redundant z80 GETHBIT support.
7550 * src/stm8/peeph.def:
7551 Removed unused rules 660a & 660b because of patches applied in r12420 (SWAP implementation).
7553 Fixed wrong date of previous commit.
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>
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.
7581 support/valdiag/tests/bug-2798.c:
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.
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>
7601 support/regression/tests/bug-3244.c:
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>
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>
7621 Partial fix for bug #3054.
7622 * device/include/float.h,
7623 device/include/pic16/float.h,
7626 device/lib/_fsneq.c,
7628 Make floating-point comparison support routines return _Bool.
7630 2021-05-18 Philipp Klaus Krause <pkk AT spth.de>
7633 support/regression/tests/bug-3242.c:
7638 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7642 Tail call optimization for functions with no stack parameters.
7644 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7651 support/regression/tests/bug-3239.c:
7652 Fix bugs #3235, 3239.
7654 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7657 Fix a code generation bug in hl handling.
7659 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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:
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>
7703 support/regression/tests/bug2084206.c:
7704 Function pointer size fix.
7706 Tail-call optimization fix.
7708 Peephole optimizer fix for register arguments.
7710 Fixes for strcpy->memcpy optimization.
7712 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
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.
7722 Register parameter support infrastructure.
7724 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
7727 Improve tail calloptimization.
7729 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
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>
7738 Fix handling of multiple register parameters.
7740 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7743 Infrastructure for register parameters.
7745 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7748 Improve handling of register parameters.
7750 Improve code generation for shift by slightly-less-than-a-multiple-of-8.
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>
7759 Fixes for register parameter in a, l or hl.
7761 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7766 Infrastructure for register parameters.
7768 Fix register parameters for printf->puts optimization.
7772 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7778 Infrastructure for non-__z88dk_fastcall register arguments.
7785 Fix handling of register parameters of not-really-builtin memcpy.
7787 2021-05-11 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
7807 Improve stack adjustment.
7809 2021-05-09 Philipp Klaus Krause <pkk AT spth.de>
7812 support/regression/tests/bug-3231.c:
7815 2021-05-08 Philipp Klaus Krause <pkk AT spth.de>
7818 support/regression/tests/bug-3230.c:
7821 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7825 support/regression/tests/bug-3229.c:
7828 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
7860 2021-05-04 Philipp Klaus Krause <pkk AT spth.de>
7863 support/regression/tests/bug-3223.c:
7866 2021-05-03 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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.
7895 Improve loading of immediate into register pair.
7897 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7900 Another fix for #3220.
7902 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7905 Improve handling of 32-Bit variables.
7907 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
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>
7915 Improve ldir assignment heuristic for r3ka and ez80_z80: Fix bug #3220.
7917 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7920 Small wide improvements.
7922 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7927 Fix instruction size for or hl, de and and hl, de.
7929 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7932 Fix a --reserve-regs-iy bug.
7934 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7936 * device/lib/_mullong.c,
7939 Improve Rabbit multiplication.
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
7951 2021-04-24 Philipp Klaus Krause <pkk AT spth.de>
7954 Fix bugs affecting z80 code generation for --reserve-regs-iy.
7956 2021-04-24 Philipp Klaus Krause <pkk AT spth.de>
7959 support/regression/tests/bug-3216.c:
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.
7970 support/regression/tests/bug-3215.c:
7974 * support/valdiag/tests/bug-3010.c:
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).
7989 Simplify --max-allocs-per-node documentation.
7991 2021-04-20 Philipp Klaus Krause <pkk AT spth.de>
7994 Improve heuristic for use of rabbit mul.
7996 2021-04-19 Philipp Klaus Krause <pkk AT spth.de>
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>
8010 Use int consistently for block, patch by Oleg Endo.
8012 2021-04-13 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8015 Overwrite A in genMove_o only if not source register.
8017 2021-04-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
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,
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>
8034 src/z80/peeph-gbz80.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>
8042 Improve unsigned shift by 4 and 5.
8044 2021-04-11 Philipp Klaus Krause <pkk AT spth.de>
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.
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>
8070 isRegInUse renamed to isRegDead.
8072 2021-04-06 Sergey Belyashov <sergey.belyashov@gmail.com>
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:
8101 Improve explicit initialization.
8105 Improve detection of python interpreter binary.
8107 2021-04-03 Philipp Klaus Krause <pkk AT spth.de>
8109 * src/SDCClospre.cc:
8112 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8115 Remove AOP, AOP_SIZE, AOP_TYPE macros.
8117 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8120 Fix possible errors caused by operands allocation.
8122 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8125 Fix one of highlighted bugs by change from Apr 01.
8127 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8131 Remove infrastructure for reserving hl in register allocator.
8133 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8137 Remove old register allocator code from z80-related backends.
8139 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8145 Deprecate --oldralloc for z80-related backends.
8147 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8150 Fix one of highlighted bugs by previous change.
8152 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
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>
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>
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>
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>
8195 Fix handling of extended stack in addition and subtraction.
8197 2021-03-25 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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,
8231 Make some GBZ80 rules common.
8233 2021-03-22 Philipp Klaus Krause <pkk AT spth.de>
8236 Fix a bug in tlcs90 interrupt handling.
8238 2021-03-22 Philipp Klaus Krause <pkk AT spth.de>
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,
8264 Fix rule 1b, remove redundant rules.
8266 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
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>
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>
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,
8303 Add new peephole rules for precalc, constants reusage and stack access rearranging.
8305 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8310 GETBYTE support for pdk.
8312 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8314 * src/z80/ralloc2.cc,
8316 Improve register allocation for GETWORD and SWAP iCodes.
8318 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8321 Use genMove to simplify genSwap.
8323 2021-03-18 Sergey Belyashov <sergey.belyashov@gmail.com>
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>
8348 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8351 Add Z80 GETWORD optimization for Z80.
8353 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8356 Add Z80 SWAP implementation using RRD.
8358 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
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>
8372 Fix a genMove_o hl issue, part of bug #3194.
8374 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8378 Enable multibyte RRC/RLC for GBZ80.
8380 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8383 Fix typos (replace & by && in some conditions).
8385 2021-03-15 Sergey Belyashov <sergey.belyashov@gmail.com>
8389 Add RLC/RRC for all Z80 ports (GBZ80: only 8b).
8391 2021-03-15 Sergey Belyashov <sergey.belyashov@gmail.com>
8395 Add 32b swap for all Z80 ports.
8397 2021-03-14 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8400 Improve 16b swap for z80ies.
8402 2021-03-13 Philipp Klaus Krause <pkk AT spth.de>
8408 2021-03-13 Philipp Klaus Krause <pkk AT spth.de>
8410 * support/regression/Makefile.in:
8411 Helper rule for testing pdk ports.
8415 * support/regression/tests/rotate2.c:
8416 Disable test for pdk15-stack-auto due to lack of memory.
8419 Improve handling of hl in equality comparison.
8421 2021-03-12 Philipp Klaus Krause <pkk AT spth.de>
8425 Some small improvements and fixes in register handling.
8427 2021-03-11 Philipp Klaus Krause <pkk AT spth.de>
8431 Improve nibble swap.
8433 2021-03-11 Sergey Belyashov <sergey.belyashov@gmail.com>
8437 Fix regressions coused by previous change.
8439 2021-03-11 Sergey Belyashov <sergey.belyashov@gmail.com>
8443 Add basic support for SWAP iCode for all Z80 ports.
8445 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
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,
8456 Flexible register handling for GETBYTE.
8458 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8462 Use placeholders more and add new ones. (Improves rgbds asm generation)
8464 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8467 Improve register pair handling in code generation.
8469 2021-03-10 Sergey Belyashov <sergey.belyashov@gmail.com>
8473 Add basic support for GETBYTE iCode for all Z80 ports.
8475 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8478 Improve handling of iyl and iyh in + and | for eZ80.
8480 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
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>
8509 Improve handling of iy.
8511 2021-03-09 Philipp Klaus Krause <pkk AT spth.de>
8515 Improve handling of iy.
8516 * device/include/string.h,
8517 device/lib/memset_explicit.c,
8519 C23 memset_explicit.
8521 2021-03-09 Philipp Klaus Krause <pkk AT spth.de>
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,
8531 Add new peephole rules. (Based on generated code from stdlib)
8533 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
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,
8547 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8550 Optimize last byte of negation, part of RFE #734.
8552 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8557 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8560 Pick notUsedFrom improvement and optimizeFor from patch #62 by Visenri.
8561 * src/z80/peeph.def:
8562 Small z80 peephole rule cleanup.
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>
8577 Document the use of DWARF debug information with ELF binaries.
8579 2021-03-05 Philipp Klaus Krause <pkk AT spth.de>
8583 Improved handling of a.
8585 support/regression/tests/rotate2.c:
8588 2021-03-05 Philipp Klaus Krause <pkk AT spth.de>
8592 Improved handling of hl.
8594 2021-03-04 Philipp Klaus Krause <pkk AT spth.de>
8598 Improved handling of hl in binary bitwise operators.
8600 2021-03-04 Philipp Klaus Krause <pkk AT spth.de>
8603 Fix another issue related to bug #3181.
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>
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>
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>
8652 support/regression/tests/bug-3178.c:
8655 2021-02-09 Benedikt Freisen <b.freisen AT gmx.net>
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>
8678 Make end-of-call stack adjustment tolerate return value in a.
8680 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8683 Separate __z88dk_fastcall registers from return value registers.
8685 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
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>
8694 Refactor handling of return value registers.
8696 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8699 Fix printing of function with variable arguments (e.g. for debug dumps).
8702 Refactor register asmop intialization.
8704 2021-02-02 Philipp Klaus Krause <pkk AT spth.de>
8711 Infrastructure for attributes.
8713 2021-02-01 Philipp Klaus Krause <pkk AT spth.de>
8719 2021-01-29 Philipp Klaus Krause <pkk AT spth.de>
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:
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:
8750 2021-01-21 Philipp Klaus Krause <pkk AT spth.de>
8753 support/regression/tests/bug-3169.c:
8756 2021-01-12 Philipp Klaus Krause <pkk AT spth.de>
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>
8765 support/regression/tests/bug-3167.c:
8768 2021-01-01 Philipp Klaus Krause <pkk AT spth.de>
8771 Fix an issue in handling surviving a when assigning single bytes from (hl) to stack.
8772 * support/regression/tests/bug-3166.c:
8775 2021-01-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
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>
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>
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.
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>
8825 support/regression/test/digit_separators.c:
8826 C23 digit separators.
8828 2020-12-03 Philipp Klaus Krause <pkk AT spth.de>
8835 C23 disallows concatenation of differently-prefixed string literals (N2594).
8837 2020-12-01 Philipp Klaus Krause <pkk AT spth.de>
8840 Improve &, |, ^ by integer constant expression, merge ^ and ~.
8842 2020-11-29 Philipp Klaus Krause <pkk AT spth.de>
8845 device/include/Makefile.in,
8848 Migrate Rabbit headers from OpenRabbit to SDCC.
8850 2020-11-28 Philipp Klaus Krause <pkk AT spth.de>
8853 Change Rabbit default data location to 0xa000.
8855 2020-11-27 Philipp Klaus Krause <pkk AT spth.de>
8858 Update links to upstream ASxxxx, patch by Warner Losh.
8860 2020-11-24 Philipp Klaus Krause <pkk AT spth.de>
8865 2020-11-24 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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:
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>
8899 support/regression/tests/bug-3141.c:
8902 support/regression/tests/shifts2.c:
8905 2020-11-02 Philipp Klaus Krause <pkk AT spth.de>
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>
8915 2020-10-28 Philipp Klaus Krause <pkk AT spth.de>
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,
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,
8932 Attempt to fix bug #3135.
8933 * src/pdk/ralloc2.cc,
8935 Improve register allocation for bitwise and, or.
8937 2020-10-21 Sergey Belyashov <sergey.belyashov@gmail.com>
8940 * src/z80/mappings.i:
8943 2020-10-16 Philipp Klaus Krause <pkk AT spth.de>
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,
8956 Use a default crt0 that works well on typical Rabbit hardware.
8958 2020-10-13 Sergey Belyashov <sergey.belyashov@gmail.com>
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>
8976 support/regression/tests/bug-3132.c:
8979 Fix overoptimistic stack coalescing assumption in cost function, RFE #710.
8981 2020-10-11 Philipp Klaus Krause <pkk AT spth.de>
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>
8991 Improve wide subtraction.
8993 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
8996 Improve Rabbit negation.
8998 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
9001 Improve register shuffling.
9003 2020-10-08 Philipp Klaus Krause <pkk AT spth.de>
9009 2020-10-08 Philipp Klaus Krause <pkk AT spth.de>
9012 support/regression/tests/bug-3126.c:
9015 2020-10-07 Philipp Klaus Krause <pkk AT spth.de>
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>
9026 Fix a z80 --reserve-regs-iy regression test failure.
9028 2020-10-04 Philipp Klaus Krause <pkk AT spth.de>
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:
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>
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>
9052 device/lib/Makefile.in,
9054 device/lib/atomic_flag_clear.c,
9055 device/include/Makefile.in,
9061 support/regression/Makefile.in,
9062 support/regression/fwk/include/testfwk.h,
9063 support/regression/ports/ucr2ka,
9064 support/regression/tests/*.c,
9066 r2ka port to better support Rabbit 2000A, 2000B, 2000C, 3000. RFE #709.
9068 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
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,
9080 src/z80/peeph-r2k.def,
9083 Small improvements for z80 and related.
9085 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9088 Improve speed of r2k builtins.
9090 Optimize strcpy on Rabbits.
9092 Prepare for r2ka port.
9094 2020-09-26 Philipp Klaus Krause <pkk AT spth.de>
9097 Improve use of Rabbit instructions.
9099 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9102 device/lib/r2k/crt0.s,
9105 device/lib/r2k/memcpy.s,
9106 device/lib/r2k/memmove.s:
9107 Work around Rabbit 2000 / 3000 ldir / lddr wait state bugs.
9109 Prepare for r2ka port.
9111 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9114 Work around Rabbit 2000 mul wait state bug.
9116 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9121 2020-09-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9125 Apply patch #357 from Tim Stahlhut: fix bug #3114.
9127 2020-09-23 Philipp Klaus Krause <pkk AT spth.de>
9130 Fix handling of ioi, ioe in peephole optimizer, including bug #3118.
9132 2020-09-20 Philipp Klaus Krause <pkk AT spth.de>
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>
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,
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>
9188 Temporary enable initializer list support for GBZ80.
9190 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9193 Fix regression introduced in previous change.
9195 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9202 2020-09-13 Philipp Klaus Krause <pkk AT spth.de>
9205 Fix missing include, patch #354 by Tim Stahlhut.
9207 2020-09-12 Philipp Klaus Krause <pkk AT spth.de>
9210 Minor code quality improvements, patch #353 by Tim Stahlhut.
9212 2020-09-10 Philipp Klaus Krause <pkk AT spth.de>
9215 Improve use of bool hl instruction for zeroing.
9217 Fix handling of 24-bit return values, patch by Tim Stahlhut.
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.
9226 Fix C++ linker flags, patch by Mike Jagdis.
9228 2020-08-30 Philipp Klaus Krause <pkk AT spth.de>
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
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>
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>
9285 Improve back compatibility with elder gcc/g++.
9287 2020-08-24 Ben Shi <powerstudio1st AT 163 DOT com>
9290 Fix unmatched right parentheses.
9292 2020-08-22 Philipp Klaus Krause <pkk AT spth.de>
9297 2020-08-21 Philipp Klaus Krause <pkk AT spth.de>
9302 2020-08-21 Philipp Klaus Krause <pkk AT spth.de>
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:
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>
9326 support/regression/tests/bug-3097.c:
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>
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
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>
9399 More accurate Z80 flag handling by notUsed.
9401 2020-08-06 Philipp Klaus Krause <pkk AT spth.de>
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,
9410 Use flag rules for all z80 ports.
9412 2020-08-06 Sergey Belyashov <sergey.belyashov@gmail.com>
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>
9421 Fix pop af handling for notUsed('f').
9423 2020-08-06 Sergey Belyashov <sergey.belyashov@gmail.com>
9426 Enable "sp" and flags for notUsed peephole constraint for all Z80
9429 2020-08-06 Philipp Klaus Krause <pkk AT spth.de>
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>
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,
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>
9475 Improve notUsed precision.
9477 2020-08-04 Sergey Belyashov <sergey.belyashov@gmail.com>
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>
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,
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>
9510 Optimize signed division by small powers of 2.
9512 2020-07-31 Sergey Belyashov <sergey.belyashov@gmail.com>
9518 Apply patch #312: Initial support for GNU Assembler for Z80 port.
9520 2020-07-31 Philipp Klaus Krause <pkk AT spth.de>
9523 support/regression/tests/bug-3083.c:
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>
9542 Fix bug #3091, patch by Free-PDK.
9544 support/regression/tests/bug-3090.c:
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>
9561 Fix bug #3078, fix by Free-PDK.
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>
9577 Fix rgdbs asm generation for gbz80.
9578 Original fix by toxa.
9580 2020-07-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9583 Fix ldh size estimation for gbz80.
9585 2020-07-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
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,
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>
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>
9624 Add new mapping !hashedbankimmeds.
9626 2020-07-23 Sergey Belyashov <sergey.belyashov@gmail.com>
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>
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>
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>
9684 Fix possible ready beyond a buffer in canJoinRegs constraint.
9686 2020-07-21 Philipp Klaus Krause <pkk AT spth.de>
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,
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,
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
9759 * src/mcs51/main.c: removed --pack-iram, --no-pack-iram
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,
9769 Enable use of hl in gbz80 register allocation.
9771 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
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,
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>
9802 Implement RFE #636: optimize stack allocation for eZ80
9804 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
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,
9818 Initial implementation of RFE #152 for Z80 port.
9820 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9823 support/regression/tests/bug-3085.c:
9826 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9829 support/regression/tests/bug-3080.c:
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,
9843 support/regression/tests/itoa.c,
9844 support/regression/tests/ltoa.c,
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,
9857 Merge common peep hole rules for Z80 family.
9859 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9864 Revert changes in banked_call parameters.
9866 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
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:
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>
9916 support/regression/tests/bug-3081.c:
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>
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>
9953 support/regression/tests/bug-3079.c:
9956 2020-07-04 Sergey Belyashov <sergey.belyashov@gmail.com>
9958 Implement RFE #661: Add newLabel peephole optimizer constraint
9960 2020-07-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9966 Add 'unordered' support to canJoinRegs peephole constraint
9968 2020-07-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9971 src/z80/peeph-z80.def:
9974 2020-07-02 Philipp Klaus Krause <pkk AT spth.de>
9978 Improve __sfr ^ with literal.
9980 2020-07-02 Philipp Klaus Krause <pkk AT spth.de>
9983 Use rlca instead of rlc a, RFE #686.
9985 Improve read from literal pointer.
9989 Improve bit set/reset for I/O.
9991 2020-07-01 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
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>
10035 instructionSize peephole support for gbz80, patch by Baŝto.
10037 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10040 support/regression/tests/bug-3066.c:
10043 support/regression/tests/bug-3065.c:
10046 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10049 src/z80/peeph-gbz80.def:
10050 Support for sp in notUsed for gbz80, patch #326 by Baŝto.
10052 Use tlcs90 (sp) adressing mode.
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.
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>
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>
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:
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>
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>
10130 isPort: Implement RFE #679 via patch #372 by Basil Hussain.
10132 2020-06-12 Philipp Klaus Krause <pkk AT spth.de>
10139 support/regression/tests/bug-3043.c,
10140 support/valdiag/tests/bug-3043.c:
10143 2020-06-09 Philipp Klaus Krause <pkk AT spth.de>
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>
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.
10174 Fix __sfr handling for z80n.
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>
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>
10199 support/valdiag/tests/bug-3011.c:
10202 2020-06-05 Philipp Klaus Krause <pkk AT spth.de>
10205 support/valdiag/tests/bug-3014.c:
10208 2020-06-04 Philipp Klaus Krause <pkk AT spth.de>
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>
10218 Fix bug #3006, patch by Roy Rankin.
10220 2020-06-03 Philipp Klaus Krause <pkk AT spth.de>
10224 support/valdiag/tests/bug-3010.c:
10227 support/valdiag/tests/bug-3009.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>
10245 Improve comparison with 0xff.
10247 2020-05-29 Philipp Klaus Krause <pkk AT spth.de>
10249 * src/pdk/ralloc2.cc,
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,
10263 support/regression/tests/bug-3007.c:
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>
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,
10292 Fix --disable-z80n-port configure option.
10294 2020-05-23 Philipp Klaus Krause <pkk AT spth.de>
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>
10313 src/SDCCicode.h: new support functions for updating operands
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:
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,
10342 src/pic14/ralloc.c,
10345 src/pic16/ralloc.c,
10347 Improve file open error messages (patch by jbit).
10349 2020-05-17 Philipp Klaus Krause <pkk AT spth.de>
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>
10357 support/regression/tests/bug-3002.c:
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:
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>
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:
10389 Align grammar more closely with C2X draft N2479.
10391 2020-05-07 Philipp Klaus Krause <pkk AT spth.de>
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>
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,
10417 Support Z80N mlt and swap instructions, part of RFE #573, #656.
10419 2020-05-03 Philipp Klaus Krause <pkk AT spth.de>
10422 Improve stack parameter pushing, overlaps with RFE #676.
10424 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10427 Fix a bug in pushing on-stack-parameters on r2k.
10429 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
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>
10447 Improve pointer write on rematerialized stack location.
10449 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10452 support/regression/tests/gcc-torture-execute-950511-1.c:
10455 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10458 Improve pointer read on rematerialized stack location.
10460 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10463 support/regression/tests/gcc-torture-execute-20000113-1.c:
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>
10474 Bump version post 4.0.0-release.
10478 support/regression/tests/bug-2995.c:
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>
10501 support/regression/tests/bug-2993.c:
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).
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>
10519 support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10522 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
10525 support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10528 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
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:
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:
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>
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>
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>
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>
10592 support/regression/tests/bug-2982.c:
10595 Improve code generation for 16-bit addition with literal.
10597 2020-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
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>
10617 Allow non-literal third argument for ldir-memcpy().
10619 2020-02-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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:
10629 2020-01-23 Philipp Klaus Krause <pkk AT spth.de>
10631 * sdas/linksrc/Makefile.in:
10634 2020-01-22 Philipp Klaus Krause <pkk AT spth.de>
10639 2020-01-19 Philipp Klaus Krause <pkk AT spth.de>
10642 Fix a typo in documentation.
10644 2020-01-18 Philipp Klaus Krause <pkk AT spth.de>
10651 Bump version in preparation of 4.0.0 release.
10653 2020-01-14 Philipp Klaus Krause <pkk AT spth.de>
10656 support/regression/tests/bug-2966.c:
10659 2020-01-14 Benedikt Freisen <b.freisen AT gmx.net>
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>
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>
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>
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.
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>
10701 support/regression/tests/bug-2825.c:
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>
10711 support/regression/tests/bug-2964.c:
10714 2019-12-29 Philipp Klaus Krause <pkk AT spth.de>
10716 * src/stm8/ralloc2.cc,
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>
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>
10731 Enable use of rld and rrd for z80n.
10733 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10736 Use tst a, n for z80n.
10738 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10741 Revive non-destructive &.
10743 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10747 Use add dd, nn for z80n.
10749 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
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.
10760 Fix an issue in eZ80 pointer read.
10762 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10766 device/lib/Makefile.in,
10767 device/lib/clean.mk,
10768 device/lib/z80n/Makefile.in,
10779 Infrastructure for z80n backend.
10781 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10784 support/regression/tests/bug-2932.c:
10787 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10790 support/regression/tests/bug-2932.c:
10793 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10796 src/z80/ralloc2.cc,
10798 Improve use of sbc hl, rr in comparisons, part of RFE #641.
10800 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
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.
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:
10833 2019-11-22 Philipp Klaus Krause <pkk AT spth.de>
10838 2019-11-21 Philipp Klaus Krause <pkk AT spth.de>
10843 2019-11-21 Philipp Klaus Krause <pkk AT spth.de>
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>
10851 Allow C2X attribute declarations and attribute arguments.
10853 2019-11-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10856 Reorganize grammar by appendix A.2 of C2X.
10858 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10864 Allow C2X attributes on statements.
10866 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10869 support/regression/tests/gcc-torture-execute-20181120-1.c:
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>
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:
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>
10919 Improve wide & by small constants and register result.
10923 support/valdiag/tests/bug-2940.c:
10926 2019-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
10948 support/regression/tests/bug-2907.c:
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>
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,
10963 Various small improvements.
10965 2019-10-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10971 2019-10-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10974 Register shuffling fix, small | improvement.
10976 2019-10-21 Philipp Klaus Krause <pkk AT spth.de>
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>
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:
10995 Fix 3 issues in handling of non-dead p.
10997 2019-10-16 Philipp Klaus Krause <pkk AT spth.de>
11002 2019-10-15 Philipp Klaus Krause <pkk AT spth.de>
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>
11015 src/SDCCsalloc.hpp,
11019 Improve tail call optimization.
11021 2019-10-11 Philipp Klaus Krause <pkk AT spth.de>
11024 Fix error message, patch #307 by RvS.
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>
11041 Improve handling of stack operands in comparison.
11043 2019-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11046 Fixes and improvements for stack operands.
11048 Bump version for advances in -mpdk15 --stack-auto.
11051 sim/ucsim/configure.ac,
11052 sim/ucsim/configure,
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>
11060 Fixes and improvements for stack operands.
11063 device/lib/Makefile.in,
11064 device/lib/clean.mk,
11065 device/lib/pdk15-stack-auto,
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>
11074 Fixes for stack operands and rematerialized stack locations.
11076 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11079 Fixes for stack operands.
11081 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
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>
11094 src/pdk/ralloc2.cc:
11095 Improve register allocation.
11097 2019-09-26 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
11179 src/pdk/ralloc2.cc,
11181 Fixes for on-stack operands.
11183 2019-09-16 Philipp Klaus Krause <pkk AT spth.de>
11186 src/pdk/ralloc2.cc:
11187 Fixes for on-stack operands.
11189 2019-09-13 Philipp Klaus Krause <pkk AT spth.de>
11192 Fix wide load via pointer with register result in ahl.
11194 2019-09-12 Philipp Klaus Krause <pkk AT spth.de>
11197 Fixes for on-stack operands.
11199 2019-09-09 Philipp Klaus Krause <pkk AT spth.de>
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>
11209 Improve handling of stack operands.
11211 2019-09-08 Philipp Klaus Krause <pkk AT spth.de>
11214 Fix handling of stack operands in right shift.
11216 2019-09-08 Philipp Klaus Krause <pkk AT spth.de>
11219 src/pdk/ralloc2.cc:
11222 2019-09-07 Philipp Klaus Krause <pkk AT spth.de>
11225 Improve subtraction flexibility.
11227 2019-09-03 Philipp Klaus Krause <pkk AT spth.de>
11229 * src/pdk/ralloc2.cc,
11230 src/SDCCsalloc.hpp,
11232 support/regression/tests/gcc-torture-execute-va-arg-19.c:
11233 Use Chaitin-style allocator for stack variables.
11235 Optimize out assignments between coalesced stack variables.
11237 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11240 Emulate nadd a, m for pdk14, pdk13.
11242 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11246 support/regression/tests/bug-2931.c:
11249 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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).
11265 Bump version for all the pdk13 fixes we got so far.
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>
11273 Improve wide ==, !=, part of RFE #641.
11275 2019-08-19 Philipp Klaus Krause <pkk AT spth.de>
11278 src/z80/ralloc2.cc,
11279 support/regression/test/bug-2929.c:
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,
11291 Improve ~ register allocation (RFE #638).
11293 2019-08-16 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
11314 Improve notUsed() precision, alternative to patch from z88dk fork.
11316 Add rule from patch #304.
11318 Improve load of hl.
11320 2019-08-14 Philipp Klaus Krause <pkk AT spth.de>
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.
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>
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>
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>
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,
11376 Remove cneqsn for pdk13 fixing bug #2923.
11378 2019-07-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
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,
11395 src/mcs51/ralloc.c,
11396 src/ds390/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.
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.
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.
11439 src/pic14/genarith.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,
11449 Improve handling of a in bitwise operations.
11452 * src/z80/peeph-z80.def:
11455 2019-06-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11457 * support/scripts/sdcc.nsi: pic14/libm no longer has *.c files
11460 2019-06-18 Philipp Klaus Krause <pkk AT spth.de>
11462 * src/z80/ralloc2.cc,
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.
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,
11484 Improve handling of a.
11486 2019-06-16 Philipp Klaus Krause <pkk AT spth.de>
11489 Fix an issue in iy shuffling.
11491 2019-06-15 Philipp Klaus Krause <pkk AT spth.de>
11495 src/z80/ralloc2.cc:
11496 Handle iy like other registers.
11498 2019-06-15 Philipp Klaus Krause <pkk AT spth.de>
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>
11508 support/regression/tests/bug-2912.c:
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.
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,
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>
11571 pdk peephole improvements.
11573 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11579 notUsed() and notUsedFrom().
11582 Fixes for notUsedFrom().
11584 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11590 pdk peephole improvements.
11592 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11598 notUsed() and notUsedFrom().
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,
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,
11625 pic14 library cleanup, patch by Gonzalo Pérez de Olaguer Córdoba.
11626 * sdas/asz80/z80mch.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>
11649 Improve arithmetic right shift.
11651 Minor improvements suggested by Tony Papadimitriou.
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>
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,
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,
11682 Improve register packing.
11684 2019-04-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
11693 Fix note on endianness.
11695 2019-04-21 Philipp Klaus Krause <pkk AT spth.de>
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,
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>
11718 Various fixes and improvements.
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>
11730 Makefile.common.in,
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>
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.
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>
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>
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.
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:
11816 2019-04-05 Philipp Klaus Krause <pkk AT spth.de>
11818 * sdas/aspdk13/pdk13pst.c,
11819 sdas/aspdk13/pdk13mch.c:
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>
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>
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.
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:
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>
11914 2019-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11917 support/regression/tests/bug-2897.c:
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.
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>
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>
11961 Makefile.common.in,
11963 Infrastructure for pdk13 assembler.
11965 2019-03-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11971 support/regression/tests/bug-2751.c,
11972 support/regression/tests/generic.c:
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>
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.
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:
12007 2019-03-21 Philipp Klaus Krause <pkk AT spth.de>
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:
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:
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:
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:
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:
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,
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:
12103 2019-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12106 Improve |=, &=, ^=.
12108 2019-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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,
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,
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,
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.
12151 support/regression/tests/z88dk.c,
12152 support/regression/tests/bug-2881.c:
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>
12164 Cheaper adjustment of pointer in p.
12165 * device/include/limits.h,
12166 support/regression/tests/bug-2885.c:
12169 2019-03-15 Philipp Klaus Krause <pkk AT spth.de>
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.
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.
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).
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,
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).
12258 Fix UTF-16 and UTF-16 string literals for pdk.
12260 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
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.
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).
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).
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 -.
12350 Fix pdk pointer initalization corner case.
12351 * sim/ucsim/pdk.src/inst.cc:
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.
12388 Pointer initialization fix.
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,
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.
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>
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>
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,
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>
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>
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>
12491 2019-03-10 Philipp Klaus Krause <pkk AT spth.de>
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,
12500 Enable local variable overlay for leaf functions.
12503 Fix display of pdk13 enable.
12505 2019-03-07 Philipp Klaus Krause <pkk AT spth.de>
12507 * sim/ucsim/pdk.src/inst.cc:
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>
12525 Improve pointer handling and subtraction.
12526 * sim/ucsim/pdk.src/inst.cc:
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.
12540 * sim/ucsim/pdk.src/inst.cc:
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>
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.
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>
12660 Generalize loop narrowing (part of RFE #530).
12662 2019-02-20 Philipp Klaus Krause <pkk AT spth.de>
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>
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.
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.
12707 Fix extended alignment.
12709 2019-02-13 Philipp Klaus Krause <pkk AT spth.de>
12714 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
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.
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>
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>
12768 Use ltabl for pdk15, improve shifts.
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.
12784 Improve bit-field access.
12786 2019-02-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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.
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,
12805 2019-02-08 Philipp Klaus Krause <pkk AT spth.de>
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>
12819 src/pdk/ralloc2.cc:
12820 Various pdk improvements.
12821 * device/lib/calloc.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>
12833 device/include/stdlib.h,
12834 device/lib/Makefile.in,
12835 device/lib/clean.mk,
12836 device/lib/pdk15/Makefile.in,
12841 Improve read from pointer.
12843 2019-02-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12845 * Makefile.common.in,
12852 pdk15 assembler, patch by Nicolas Lesser.
12854 2019-02-07 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
12880 src/pdk/ralloc2.cc,
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,
12894 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12897 Fix direct read from variable in code space.
12899 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12902 Implement write of non-literal to bit-field.
12904 2019-02-05 Philipp Klaus Krause <pkk AT spth.de>
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>
12914 Fix signed comparison by 0.
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>
12930 Fix early return from interrupt.
12932 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12937 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12940 Fix a pointer initalization issue.
12942 Save a word in stack-pointer setup.
12944 2019-02-02 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
12971 Clarify documentation on library path options.
12973 2019-01-28 Philipp Klaus Krause <pkk AT spth.de>
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.
12985 Fix int x int -> long multiplication.
12988 Code generation for 8 x 8 (lit) -> 8 multiplication.
12993 src/pdk/ralloc2.cc,
12995 Infrastructure for pdk13, pdk15.
12997 2019-01-27 Philipp Klaus Krause <pkk AT spth.de>
13005 Linker and assembler fixes for pdk14, patch by Nicolas Lesser.
13007 Fix code generation for unary float minus and calls to functions returning more than a word.
13008 * device/lib/pdk14/__gptrget.s:
13011 2019-01-20 Philipp Klaus Krause <pkk AT spth.de>
13014 support/regression/tests/bug-2866.c:
13017 2019-01-19 Philipp Klaus Krause <pkk AT spth.de>
13019 * sdas/aspdk/pdkmch.c:
13020 Fix shifts, patch by Tim (cpldcpu).
13022 Fix signed comparison, fix pointer write with integer literal cast to pointer.
13024 2019-01-18 Philipp Klaus Krause <pkk AT spth.de>
13029 2019-01-16 Philipp Klaus Krause <pkk AT spth.de>
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.
13042 Switch .org use to bytewise addressing in ROM.
13044 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
13047 Use sensible default for --code-loc.
13049 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
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.
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.
13065 device/lib/pdk14/__gptrget.s:
13066 Update for assembler syntax change.
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.
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>
13087 Makefile.common.in,
13091 sdas/linksrc/Makefile.in,
13092 sdas/linksrc/sdld.c,
13093 sdas/linksrc/sdld.h,
13095 Assembler for pdk14, patch by Nicolas Lesser.
13097 2019-01-11 Philipp Klaus Krause <pkk AT spth.de>
13100 Work around lack of link-time arithmetic.
13102 2019-01-10 Philipp Klaus Krause <pkk AT spth.de>
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>
13111 Fix invalid use of .dw for variables in ROM.
13113 Fix various issues in code generation.
13115 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13118 device/lib/pdk14/__gptrget.s:
13119 Support variables in ROM.
13121 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13124 src/pdk/ralloc2.cc:
13127 Enable standard library call optimization for pdk14.
13129 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
13138 Fixes for subtraction.
13140 Fix output of __sfr locations.
13142 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13145 Generate better code for ^, |, &.
13147 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13150 Slightly improve __sfr16 handling, fix pseudoregister saving in interrupt routine.
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>
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>
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>
13182 Only use eZ80 lea for stack frame setup when doing so provides a code size advantage.
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.
13195 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13199 Support for return values wider than 16 bit.
13201 Fix handling of 1-byte stack parameters.
13203 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13206 Fixes for reentrant functions.
13208 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13211 Fix handling of stack adjustment on early return for on-stack variables.
13213 Initialize upper byte of pseudo-register p.
13215 2019-01-06 Philipp Klaus Krause <pkk AT spth.de>
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>
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.
13236 Emit sfr locations for pdk14.
13237 * device/include/stdlib.h:
13238 Mark bsearch(), qsort() function pointers as __reentrant for pdk14.
13240 Properly announce lack of support for extended bit operations.
13242 Fix some cases of pointer read / write.
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>
13249 Improve error handling on missing output storage class.
13251 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
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>
13262 src/pdk/ralloc2.cc:
13263 Better unsigned char comparisons.
13264 * device/lib/pdk14,
13267 Infrastructure for pdk14 library.
13269 2019-01-04 Philipp Klaus Krause <pkk AT spth.de>
13273 Rudimentary support for arguments on the stack.
13275 2019-01-03 Philipp Klaus Krause <pkk AT spth.de>
13280 Implement basic I/O support (__sfr, __sfr16).
13283 Prepare for future pdk13, pdk15 and pdk16 backends.
13285 2019-01-03 Benedikt Freisen <b.freisen AT gmx.net>
13290 2019-01-03 Philipp Klaus Krause <pkk AT spth.de>
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>
13301 support/valdiag/tests/bug-2773.c:
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>
13309 Document default calling convention for z80, z180, r2k, r3ka, ez80_z80, tlcs90, stm8.
13319 * src/SDCClospre.hpp,
13320 support/regression/tests/bug-2558.c:
13324 * device/lib/printf_large.c,
13325 support/regression/tests/bug-2732.c:
13328 2018-12-30 Philipp Klaus Krause <pkk AT spth.de>
13330 * support/regression/tests/bug-2854.c:
13331 Fix read from uninitialized memory.
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>
13344 Improve use of eZ80, Rabbit, TLCS-90 16-bit load.
13346 2018-12-19 Philipp Klaus Krause <pkk AT spth.de>
13349 Implement RFE #594.
13351 2018-12-19 Philipp Klaus Krause <pkk AT spth.de>
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>
13366 Fix a bug in wide read via pointer.
13368 2018-12-16 Philipp Klaus Krause <pkk AT spth.de>
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>
13393 Refactor handling of return values, steps towards RFE #594.
13395 2018-12-13 Philipp Klaus Krause <pkk AT spth.de>
13398 support/regression/tests/bug-2710.c:
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ý.
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:
13417 * src/stm8/ralloc.c,
13419 support/regression/tests/bug-2501.c:
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ý.
13441 device/lib/Makefile.in,
13442 device/lib/ez80_z80/Makefile.in,
13444 device/lib/ez80_z80:
13447 2018-12-05 Philipp Klaus Krause <pkk AT spth.de>
13449 * src/pdk/ralloc2.cc,
13451 Improve code for shifts.
13453 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13455 * src/pdk/ralloc2.cc,
13457 Improve use of pseudoregister p.
13459 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13461 * src/SDCCtree_dec.hpp:
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>
13471 Basic support for function pointers.
13473 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13476 Improve code generation for jump on comparison.
13478 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
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,
13487 src/pdk/ralloc2.cc,
13491 Basic register allocation.
13493 2018-12-03 Philipp Klaus Krause <pkk AT spth.de>
13495 * src/pdk/ralloc.c,
13497 Allow return of up to 2 bytes.
13499 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13502 Report lack of hardware multiplication.
13504 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13509 Implement basic support for pointers.
13511 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13514 Implement comparison.
13516 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
13525 Implement shifts, complement, negation.
13527 2018-12-02 Philipp Klaus Krause <pkk AT spth.de>
13530 Peephole function for z88dk, patch from zsdcc fork diff by Phillip Stevens.
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>
13549 src/pdk/Makefile.in,
13553 Basic infrastructure for pdk14 backend.
13555 2018-12-01 Philipp Klaus Krause <pkk AT spth.de>
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ý.
13565 Use assembler ez80 mode for ez80_z80 backend.
13567 2018-12-01 Philipp Klaus Krause <pkk AT spth.de>
13570 genAddrOf refactoring.
13572 2018-11-30 Philipp Klaus Krause <pkk AT spth.de>
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>
13593 Improve code generation for negation.
13595 2018-11-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
13603 Fix an issue in call to function returning struct / union.
13605 2018-11-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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>
13613 support/regression/tests/bug-2842.c:
13616 2018-11-24 Philipp Klaus Krause <pkk AT spth.de>
13619 Improve handling of right subtraction operand in a.
13621 2018-11-22 Philipp Klaus Krause <pkk AT spth.de>
13624 Fix an issue in right shift.
13626 2018-11-20 Philipp Klaus Krause <pkk AT spth.de>
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>
13636 Slightly more verbose error reporting.
13638 2018-11-18 Philipp Klaus Krause <pkk AT spth.de>
13646 Provide backtrace on some internal errors.
13648 2018-11-16 Philipp Klaus Krause <pkk AT spth.de>
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.
13658 Improve code generation for wide negation.
13660 2018-11-14 Philipp Klaus Krause <pkk AT spth.de>
13662 * src/SDCCsalloc.hpp,
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>
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>
13676 support/regression/tests/oldfmul.c:
13677 Fix an issue in code generation for shifts found while experimenting with stack allocation.
13679 src/SDCCsalloc.hpp,
13681 src/stm8/ralloc2.cc,
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).
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.
13696 support/regression/tests/bug-2833.c:
13697 Fix bug #2833 (patch by Noam Preil).
13699 Minor improvements in handling on-stack variables.
13700 * src/SDCCsalloc.hpp,
13703 src/SDCCralloc.hpp,
13706 src/z80/ralloc2.cc:
13707 New default stack allocator for z80 and related: aligned Chaitin.
13708 * src/stm8/ralloc.c,
13710 src/stm8/ralloc2.cc,
13712 src/z80/ralloc2.cc:
13713 Prepare for new stack allocator for stm8.
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,
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>
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>
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,
13753 Cherry-pick a few spelling fixes from Debian.
13755 2018-10-29 Philipp Klaus Krause <pkk AT spth.de>
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>
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:
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>
13788 Improve distance estimation for direct long addressing mode for jp and call.
13790 2018-10-24 Philipp Klaus Krause <pkk AT spth.de>
13794 Generalize the fix for #2830 to improve some peephole optimizations.
13796 2018-10-23 Philipp Klaus Krause <pkk AT spth.de>
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.
13807 Bump version for completion of machine-independent preincrement opt.
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>
13817 Improve 16-bit pointer write, completes RFE #521.
13819 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13824 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13828 src/SDCCralloc.hpp,
13832 src/stm8/peeph.def:
13833 Improve volatile handling in peepholes, fix a bug and implement RFE #585.
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,
13845 2018-10-16 Philipp Klaus Krause <pkk AT spth.de>
13847 * src/stm8/peeph.def:
13848 Minor stm8 peephole improvement, RFE #584.
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:
13857 * src/SDCClospre.cc,
13858 support/regression/tests/bug-2820.c:
13861 support/regression/tests/bug-2805.c:
13864 2018-10-09 Philipp Klaus Krause <pkk AT spth.de>
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).
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>
13879 Improve code generation for 8-bit integers (addition of small constants, paramter passing) (RFE #583).
13885 * src/SDCClrange.c,
13889 src/z80/peeph-z80.def:
13890 Optimize postincrement (RFE #581).
13892 2018-10-02 Philipp Klaus Krause <pkk AT spth.de>
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>
13911 Improve wide arithmetic right shift.
13913 2018-10-01 Philipp Klaus Krause <pkk AT spth.de>
13915 * src/stm8/ralloc.c,
13918 Basic support for rematerialization of stack addresses.
13920 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13923 Improve wide addition.
13925 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13928 Improve 32-bit right shift by 6 to 7.
13930 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13933 Port an operand narrowing optimization to UNARYMINUS.
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:
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,
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>
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:
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>
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>
14004 Bump version number preparing for 3.8.0 release.
14006 2018-09-14 Philipp Klaus Krause <pkk AT spth.de>
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>
14022 2018-09-12 Philipp Klaus Krause <pkk AT spth.de>
14025 support/regression/tests/iso-8859-1.c:
14028 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14031 Improve wide right shift.
14033 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14035 * src/stm8/ralloc2.cc,
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.
14045 * src/stm8/peeph.def:
14046 Minor stm8 peephole improvement.
14048 Improve wide pointer reads and shifts.
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,
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.
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>
14089 support/regression/tests/bug-2807.c:
14092 2018-08-30 Philipp Klaus Krause <pkk AT spth.de>
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>
14112 support/regression/tests/bug-2804.c:
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:
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>
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>
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>
14192 Fix an issue introduced in the bugfix for #2665.
14194 src/stm8/peeph.def:
14195 Minor improvements in STM8 peephole optimization.
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.
14209 device/lib/_rrulonglong.c,
14210 device/lib/_rlulonglong.c,
14211 device/lib/_rrslonglong.c,
14212 device/lib/_rlslonglong.c:
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,
14227 Improve shift of global variables by 1.
14229 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14232 support/regression/tests/gcc-torture-execute-wchar_t-1.c,
14235 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14238 support/regression/tests/gcc-torture-execute-wchar_t-1.c,
14239 support/regression/tests/gcc-torture-execute-widechar-2.c:
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>
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:
14265 2018-07-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14268 support/regression/tests/bug-2771.c:
14270 * src/SDCClospre.cc:
14271 Improve lospre debug output.
14273 2018-07-12 Philipp Klaus Krause <pkk AT spth.de>
14276 support/regression/tests/bug-2770.c:
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:
14296 Improve code quality fixing a few gcc -pedantic warnings.
14298 2018-07-03 Philipp Klaus Krause <pkk AT spth.de>
14301 support/regression/tests/bug-2767.c:
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,
14313 src/stm8/peeph.def:
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:
14325 * device/lib/z80/crt0.s,
14326 device/lib/z180/crt0.s:
14327 Implement ei for RFE #519.
14328 * src/SDCCbtree.cc,
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>
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.
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:
14390 Optimize division from pointer subtraction.
14394 2018-06-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14398 Infrastructure for custom iCode dump point.
14399 * src/SDCClospre.hpp:
14400 Fix handling of use vector in lospre.
14401 * src/SDCClrange.h,
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>
14456 * src/SDCCbitv.h: simplify to only access bit vector as unsigned
14457 int, add functions for in-place intersection and union operations
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
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,
14478 Narrow reads from pointers, RFE #559.
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
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>
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:
14521 2018-05-26 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
14554 Support for C2X static_assert variant.
14556 2018-05-09 Philipp Klaus Krause <pkk AT spth.de>
14560 Fix use of undefined behaviour (left shift by negative amount).
14561 * support/regression/tests/bug-2749.c:
14562 Test for bug #2749.
14568 src/pic14/genarith.c,
14569 src/pic16/genarith.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.
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:
14589 2018-04-23 Philipp Klaus Krause <pkk AT spth.de>
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>
14628 Fix reads from unallocated memory.
14632 2018-04-16 Philipp Klaus Krause <pkk AT spth.de>
14635 Fix read of unitialized value in initialization of zero-length bit-field.
14637 2018-04-15 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
14674 Consider string literal reuse in dead code elimination, part of RFE #567.
14678 Merge adjacent calls to puts(), RFE #564.
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.
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>
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>
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>
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>
14750 src/SDCCralloc.hpp,
14753 src/stm8/ralloc2.cc,
14755 Improve handling of global pointers.
14757 2018-03-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
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.
14768 Use jpf to reach main() for stm8 large memory model.
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>
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.
14782 Fix | of a with itself.
14783 * support/valdiag/tests/bug-971834.c:
14784 Do not expect unreasonable warning.
14788 support/valdiag/tests/pointers.c:
14791 2018-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14796 support/valdiag/valdiag.py,
14797 support/valdiag/tests/pointers.c:
14798 Diagnostics for conversions between pointers to objects and pointers to functions.
14800 src/stm8/peeph.def:
14801 Some minor improvements.
14803 2018-03-25 Philipp Klaus Krause <pkk AT spth.de>
14806 Improve calls via global function pointers.
14808 src/pic16/ralloc.c,
14809 src/pic16/ralloc.c:
14810 Fix NEARPTRSIZE use.
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.
14821 Fix library path for large memory model.
14823 Fix labelIsUncondJump() for large memory model.
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>
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>
14853 Handle function pointer sizes separately from object pointer sizes.
14855 device/lib/Makefile.in,
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>
14875 src/ds390/ralloc.c,
14879 src/mcs51/ralloc.c,
14882 Rename pointer size macros for clarification.
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>
14897 support/regression/tests/gcc-torture-execute-950612-1.c:
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>
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>
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>
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>
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.
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,
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,
14977 support/regression/tests/bug-2347.c:
14981 Remove outdated examples (bug #2728).
14983 2018-03-19 Philipp Klaus Krause <pkk AT spth.de>
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,
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
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.
15009 Improve cycle count accuracy for shifts.
15011 2018-03-18 Philipp Klaus Krause <pkk AT spth.de>
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>
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,
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>
15057 support/regression/tests/bug-2716.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>
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,
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
15109 2018-03-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15112 support/regression/tests/bug-2712.c:
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
15122 * device/lib/strtoul.c: fix warnings
15124 2018-03-04 Philipp Klaus Krause <pkk AT spth.de>
15131 2018-03-04 Philipp Klaus Krause <pkk AT spth.de>
15133 * sim/ucsim/stm8.src/stm8.cc:
15138 sim/ucsim/cmd.src/Makefile.in:
15146 2018-02-28 Philipp Klaus Krause <pkk AT spth.de>
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>
15154 Document stm8 memory models (RFE #556).
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).
15164 Improve handling of 24-bit jumps in peephole optimizer (RFE #556).
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>
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>
15189 support/regression/tests/bug-2715.c:
15192 Document treedec location.
15194 2018-02-07 Philipp Klaus Krause <pkk AT spth.de>
15201 2018-02-07 Philipp Klaus Krause <pkk AT spth.de>
15204 Update for default build of lib for huge mcs51 memory model.
15206 2018-02-06 Philipp Klaus Krause <pkk AT spth.de>
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:
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>
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.
15245 2018-01-24 Philipp Klaus Krause <pkk AT spth.de>
15248 support/regression/tests/bug-2708.c:
15251 2018-01-18 Philipp Klaus Krause <pkk AT spth.de>
15256 Remove leftovers from deprecated nojtbound pragma and option.
15258 Update list of incompatible changes.
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>
15270 support/regression/tests/bug-2643.c:
15273 2018-01-05 Philipp Klaus Krause <pkk AT spth.de>
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,
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
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>
15352 * src/mcs51/rtrack.c:
15353 Fix illegal form of MOV.
15354 * support/regression/tests/bug-2221.c:
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>
15369 src/SDCCtree_dec.hpp,
15372 Automatically use gala for treedec.
15374 2017-11-12 Philipp Klaus Krause <pkk AT spth.de>
15377 Regenerate to get correct definitions from configuration.
15379 2017-11-08 Philipp Klaus Krause <pkk AT spth.de>
15384 src/SDCClospre.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,
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>
15413 Implement --data-seg, part of RFE #544.
15415 2017-11-07 Philipp Klaus Krause <pkk AT spth.de>
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>
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.
15448 2017-11-05 Philipp Klaus Krause <pkk AT spth.de>
15450 * src/SDCCralloc.hpp,
15452 support/regression/tests/bug-2681.c:
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:
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,
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,
15514 Allow use of tdlib Thorup in place of SDCC Thorup in lospre and bank selection instruction placement.
15515 * src/SDCClospre.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>
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.
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.
15549 support/regression/tests/bug-2580.c:
15552 2017-10-27 Philipp Klaus Krause <pkk AT spth.de>
15556 sim/ucsim/cmd.src/cmdutil.cc,
15557 sim/ucsim/configure,
15558 sim/ucsim/configure.ac,
15559 sim/ucsim/utils.cc,
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,
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>
15578 Fix a --reserve-regs-iy bug in 32/64-bit comparisons.
15579 * src/stm8/peeph.def,
15581 Minor improvements for stm8.
15583 2017-10-25 Philipp Klaus Krause <pkk AT spth.de>
15587 __z88dk_fastcall function pointer support for --reserve-regs-iy.
15589 2017-10-24 Philipp Klaus Krause <pkk AT spth.de>
15592 Fix broken references.
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.
15602 Fix SDCC version in manual title for out-of-tree build.
15604 support/regression/tests/bug-2632.c:
15607 2017-10-22 Philipp Klaus Krause <pkk AT spth.de>
15609 * src/SDCCdwarf2.c:
15610 Infrastructure for debug info for partially spilt variables.
15612 Document command line options in help output.
15614 2017-10-20 Philipp Klaus Krause <pkk AT spth.de>
15616 * src/z80/ralloc2.cc,
15618 Improve handling of a in cast.
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>
15634 src/z80/ralloc2.cc:
15635 Improve subtraction of global variables.
15637 Simplify stack adjustment.
15639 Improve 32-bit increment.
15640 * src/z80/ralloc2.cc:
15641 Improve handling of a in negation.
15643 Improve cast to signed long and signed long long.
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,
15655 * src/z80/ralloc2.cc: cosmetic changes
15657 2017-10-18 Philipp Klaus Krause <pkk AT spth.de>
15659 * src/z80/ralloc2.cc,
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,
15671 CFI handling in DWARFv2 output, patch by Åke Rehnman.
15673 2017-10-16 Philipp Klaus Krause <pkk AT spth.de>
15676 Debug info infrastructure for stm8 registers.
15677 * device/lib/_fsgt.c,
15678 device/lib/incl.mk,
15682 Remove __fsgt support function, RFE #526.
15684 Improve handling of variables on stack in return.
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>
15701 STM8 frame address debug info, based on patch by Åke Rehnman.
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,
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:
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>
15809 Fix a bug in genRet() to avoid generate "mov Rx,Ry".
15810 * src/mcs51/peeph.def:
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,
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.
15832 Improve error reporting for conflicting function declarations.
15834 support/regression,tests/bug-2556.c:
15837 2017-10-07 Philipp Klaus Krause <pkk AT spth.de>
15843 2017-10-05 Philipp Klaus Krause <pkk AT spth.de>
15846 support/regression/tests/generic.c:
15847 Fix string literal signedness to match char.
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.
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.
15879 support/regression/tests/bug-2569.c:
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>
15889 Fix issues in built-in memset() and handling of literals.
15891 Improve long long parameter passing.
15893 2017-09-29 Philipp Klaus Krause <pkk AT spth.de>
15896 support/regression/tests/addsub.c:
15899 2017-09-28 Philipp Klaus Krause <pkk AT spth.de>
15904 support/regression/tests/p99-conformance.c,
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:
15918 2017-09-26 Philipp Klaus Krause <pkk AT spth.de>
15921 Improve error message for storage class specifiers in parameters.
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.
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:
15945 support/regression/tests/p99-conformance.c:
15946 Fix bug #2538: qualifiers in array parameters (ISO C99).
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.
15960 support/regression/tests/gcc-torture-execute-20141022-1.c:
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>
15970 support/regression/tests/bug-2645.c:
15971 Fix bug #2645, patch by Kamil Zbróg.
15973 support/regression/tests/bug-441448.c,
15974 support/regression/tests/bug2729218.c:
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)
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:
15987 2017-09-21 Philipp Klaus Krause <pkk AT spth.de>
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>
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:
16015 2017-08-20 Ben Shi <powerstudio1st AT 163 DOT com>
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>
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:
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.
16050 Improve I/O and bit toggling.
16052 2017-08-08 Philipp Klaus Krause <pkk AT spth.de>
16055 Fix ASMOP_A / ASMOP_ZERO initialization.
16057 2017-08-07 Philipp Klaus Krause <pkk AT spth.de>
16059 * src/z80/ralloc2.cc,
16061 Improve use of register A.
16063 2017-08-07 Philipp Klaus Krause <pkk AT spth.de>
16067 Refactor and optimize subtraction.
16068 * sim/ucsim/z80.src/inst_ed.cc,
16069 sim/ucsim/z80.src/inst_ed_r2k.cc:
16072 2017-08-06 Philipp Klaus Krause <pkk AT spth.de>
16075 Improve left shift.
16077 2017-08-01 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
16112 Remove requirement of C++14.
16114 2017-07-28 Ben Shi <powerstudio1st AT 163 DOT com>
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>
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.
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>
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>
16166 2017-07-18 Philipp Klaus Krause <pkk AT spth.de>
16169 support/regression/tests/loop.c:
16170 Improve narrowing of loop counters.
16172 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16175 Improve writing of constants to bit-fields.
16177 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16179 * src/stm8/ralloc.c,
16181 Better code for operations on 8-bit global variables.
16183 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16186 Improve code generation for wide read through pointer.
16188 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16191 Implement narrowing of loop counters, RFE #530.
16193 support/regression/tests/bug-2630.c:
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>
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>
16217 Optimze reads from literal pointer.
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:
16227 2017-07-06 Philipp Klaus Krause <pkk AT spth.de>
16229 * src/stm8/peeph.def,
16231 Improve accuracy and fix bugs in peephole optimizer.
16233 2017-07-05 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
16254 support/regression/tests/bug-2627.c:
16257 Enable use of execution count in stm8 register allocation cost calculations.
16259 2017-06-28 Philipp Klaus Krause <pkk AT spth.de>
16263 Execution frequency handling infrastructure.
16265 2017-06-26 Philipp Klaus Krause <pkk AT spth.de>
16267 * src/SDCCralloc.hpp,
16270 Speed up register allocator.
16272 2017-06-25 Philipp Klaus Krause <pkk AT spth.de>
16274 * src/SDCCralloc.hpp,
16278 Speed up register allocator a bit.
16280 2017-06-24 Philipp Klaus Krause <pkk AT spth.de>
16283 More efficient >= 32-bit increment for (partially) spilt local variables.
16285 2017-06-23 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
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,
16322 Sort directory listings towards are reproducible build, patch by Bernhard M. Wiedemann.
16324 2017-05-30 Philipp Klaus Krause <pkk AT spth.de>
16330 Deprecate --nojtbound and the corresponding pragma.
16332 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
16337 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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,
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>
16383 Optimize computations on shift counts.
16385 Fix bug in register handling in shifts.
16387 Optimize computations on shift counts, fix bug in register handling of
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
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>
16420 Be more forgiving about omitted whitespace after comma in peephole matching
16421 (whitespace handling had become stricter in the fix to #2600).
16423 Slightly more accurate analysis of register reads, also wrt. whitespaces.
16425 Unify emitted asm syntax wrt. space after comma.
16427 2017-05-02 Philipp Klaus Krause <pkk AT spth.de>
16430 Minor fix in list of supported data types.
16432 2017-05-01 Philipp Klaus Krause <pkk AT spth.de>
16435 Document separation of _Bool/bool and __bit for mcs51 and ds390,
16437 automatic version number.
16439 2017-04-29 Philipp Klaus Krause <pkk AT spth.de>
16444 Resurrect SDCC macro zombie for old SiLabs IDE support.
16446 Update list of targets in description.
16448 2017-04-28 Philipp Klaus Krause <pkk AT spth.de>
16452 support/regression/tests/bug-2601.c,
16453 support/regression/tests/bug3537338.c,
16454 support/regression/tests/gcc-torture-execute-20021120-1.c:
16458 Minor improvements for const-correctness.
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:
16469 2017-04-27 Philipp Klaus Krause <pkk AT spth.de>
16472 Update manual for --std-sdcc99 vs. --std-c11 change.
16473 * device/lib/tlcs90/crt0.s:
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>
16497 support/regression/tests/bug-2601.c:
16500 2017-04-13 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
16520 * support/regression/tests/smallc.c:
16521 Do not try to test __smallc for host.
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:
16531 Fix bug #2574 (patch by Sebastian).
16533 support/regression/tests/gcc-torture-execute-921202-2.c:
16536 2017-04-06 Philipp Klaus Krause <pkk AT spth.de>
16539 support/regression/tests/z88dk.c,
16540 support/regression/tests/smallc.c,
16542 Support for __smallc callees.
16544 2017-04-06 Philipp Klaus Krause <pkk AT spth.de>
16553 2017-04-03 Philipp Klaus Krause <pkk AT spth.de>
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>
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:
16579 support/regression/tests/bug-2568.c:
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>
16589 support/regression/tests/bug-2582.c:
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>
16601 support/regression/tests/bug-2376.c:
16604 2017-03-08 Philipp Klaus Krause <pkk AT spth.de>
16607 support/regression/tests/bug-2590.c:
16610 2017-02-10 Philipp Klaus Krause <pkk AT spth.de>
16613 Omit some unnecessary register saving on wide shifts.
16615 2017-02-09 Philipp Klaus Krause <pkk AT spth.de>
16618 Optimize wide right shifts, part of RFE #524.
16619 * device/lib/rand.c,
16620 support/regression/tests/rand.c:
16623 2017-02-08 Philipp Klaus Krause <pkk AT spth.de>
16625 * device/lib/rand.c:
16626 Replace LCG by xorshift for rand().
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,
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>
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>
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:
16679 2016-12-18 Philipp Klaus Krause <pkk AT spth.de>
16682 Save space by omitting an unused part of the interrupt table.
16684 2016-12-17 Philipp Klaus Krause <pkk AT spth.de>
16687 src/stm8/peeph.def:
16688 Minor code improvements, mostly for bit-fields.
16690 2016-12-12 Philipp Klaus Krause <pkk AT spth.de>
16693 Document STM8 trap handler syntax.
16695 2016-12-12 Ben Shi <powerstudio1st AT 163 DOT com>
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,
16723 Multibyte/wide string conversion functions.
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,
16737 Fix some comments on spilling.
16738 * support/regression/tests/bug-2559.c
16740 2016-11-07 Philipp Klaus Krause <pkk AT spth.de>
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>
16757 Fix a bug in zeror-divider check.
16759 2016-11-02 Philipp Klaus Krause <pkk AT spth.de>
16761 * device/include/stdbool.h,
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:
16770 2016-11-03 Philipp Klaus Krause <pkk AT spth.de>
16777 Replace all muldiv uses by hasNativeMulFor().
16779 2016-10-23 Philipp Klaus Krause <pkk AT spth.de>
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,
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
16813 2016-10-11 Philipp Klaus Krause <pkk AT spth.de>
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>
16821 Optimize out negation by inverting jump condition, part of RFE #516.
16823 2016-10-02 Philipp Klaus Krause <pkk AT spth.de>
16828 Implement jump-to-jump optimization for jump tables RFE #514.
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>
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>
16848 Fix a bug in bitwise-and operation (genAnd()).
16850 2016-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
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
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,
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>
16897 Improve longlong compatibility of mcs-51 on 32-bit hosts.
16899 2016-09-03 Philipp Klaus Krause <pkk AT spth.de>
16902 Fixes for mcs51 long long on 32-bit hosts.
16904 2016-08-30 Philipp Klaus Krause <pkk AT spth.de>
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>
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.
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().
16959 * device/lib/_fsdiv.c
16960 Make float division more compitable with inf and nan results.
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>
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>
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>
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>
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>
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:
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
17160 * src/z80/peep.c: fixed warnings
17162 2016-07-29 Philipp Klaus Krause <pkk AT spth.de>
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.
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
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
17411 2016-07-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17413 * src/SDCCmem.c (printAllocInfoSeg),
17416 * src/ds390/main.c,
17418 * src/mcs51/main.c,
17419 * src/pic14/main.c,
17420 * src/pic16/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>
17435 Generate code for 16 bit multiplication by literal based on CSD representation.
17437 2016-07-23 Philipp Klaus Krause <pkk AT spth.de>
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().
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.
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,
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>
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.
17503 More efficient handling of boolean values.
17504 * device/lib/r2k/Makefile.in:
17507 Remove unused vars.
17509 2016-07-18 Philipp Klaus Krause <pkk AT spth.de>
17512 Slight improvement in code generation.
17514 2016-07-17 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
17578 Fix a bug in genCmp().
17579 * support/regression/tests/dhrystone.c
17582 2016-06-21 Philipp Klaus Krause <pkk AT spth.de>
17586 * device/include/stdbool.h:
17589 2016-06-19 Philipp Klaus Krause <pkk AT spth.de>
17595 Remove obsolete SDCC macro, --short-is-8-bits option.
17597 2016-06-18 Ben Shi <powerstudio1st AT 163 DOT com>
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,
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>
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>
17651 * doc/sdccman.lyx: version 3.6.0
17653 2016-06-03 Philipp Klaus Krause <pkk AT spth.de>
17656 Work around an allocation issue.
17658 2016-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
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>
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>
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>
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.
17703 More efficient comparisons.
17705 2016-05-15 Philipp Klaus Krause <pkk AT spth.de>
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>
17733 Minor code cleanup, also gets rid of a GCC warning.
17735 2016-05-10 Ben Shi <powerstudio1st AT 163 DOT com>
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>
17809 Hex number case consistency, RFE #142.
17811 2016-04-29 Philipp Klaus Krause <pkk AT spth.de>
17816 Reorganize interrupt handling for z80-related backends, fix bugs #2339, #2131.
17818 2016-04-29 Ben Shi <powerstudio1st AT 163 DOT com>
17823 Make the warning in previous commit more generic.
17825 2016-04-28 Ben Shi <powerstudio1st AT 163 DOT com>
17830 Add warning for inlined _z88dk_* functions.
17832 2016-04-28 Ben Shi <powerstudio1st AT 163 DOT com>
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>
17851 Check local defined structs more strictly.
17853 2016-04-24 Ben Shi <powerstudio1st AT 163 DOT com>
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
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>
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.
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.
17970 Update manual, clearly mark 8051-specifics as such in Chapter 3.
17972 2016-04-17 Ben Shi <powerstudio1st AT 163 DOT com>
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
17984 2016-04-14 Philipp Klaus Krause <pkk AT spth.de>
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>
18002 Check tagged anonymous struct/union.
18004 2016-04-13 Philipp Klaus Krause <pkk AT spth.de>
18007 support/regression/tests/bug-2492.c:
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>
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>
18059 Fixed typo from "psuedo" to "pseudo".
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,
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
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>
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
18125 2016-04-05 Ben Shi <powerstudio1st AT 163 DOT com>
18127 * support/regression/tests/string.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>
18155 Support wide string literals in initialization of global arrays.
18157 Support wide string literals in initialization of local arrays.
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
18166 Improve longlong comptability on different hosts.
18168 2016-03-31 Philipp Klaus Krause <pkk AT spth.de>
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.
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
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>
18226 Disable assertions to mask ds390 issue on non-OpenBSD for now.
18228 2016-03-28 Ben Shi <powerstudio1st AT 163 DOT com>
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
18236 2016-03-27 Philipp Klaus Krause <pkk AT spth.de>
18238 * support/regression/tests/inline.c:
18239 Disable failing test for OpenBSD host.
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>
18251 Improve long long compatibility among different host machines.
18253 2016-03-22 Ben Shi <powerstudio1st AT 163 DOT com>
18261 Improve long long compatibility among different host machines.
18263 2016-03-19 Ben Shi <powerstudio1st AT 163 DOT com>
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
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>
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>
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>
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>
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>
18324 Remove warning #212 W_LONGLONG_LITERAL.
18326 2016-03-04 Ben Shi <powerstudio1st AT 163 DOT com>
18329 Fix long long issues.
18330 * support/regression/tests/longlong.c
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>
18344 Fix potential precision loss of long long operands.
18346 2016-02-21 Ben Shi <powerstudio1st AT 163 DOT com>
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>
18359 2016-02-19 Ben Shi <powerstudio1st AT 163 DOT com>
18362 Make the error message of error E_CONST_EXPECTED more understandable.
18364 2016-02-18 Ben Shi <powerstudio1st AT 163 DOT com>
18367 Add check of non-constant in a global variable's initial value.
18369 2016-02-13 Molnar Karoly <molnarkaroly AT users.sf.net>
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
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>
18401 Fix a bug in genFarPointerSet() when the result and the right operand are
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,
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>
18416 Fix a bug in comparison operation.
18417 * support/regression/tests/memory.c
18420 2016-02-04 Ben Shi <powerstudio1st AT 163 DOT com>
18423 Allow array members of structs can be accessed in pointer form.
18424 * support/regression/tests/bug-2468.c
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>
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>
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>
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,
18469 src/pic14/pcodepeep.c,
18470 src/pic14/ralloc.c,
18471 src/pic16/device.c,
18472 src/pic16/device.h,
18474 src/pic16/genarith.c,
18475 src/pic16/genutils.c,
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);
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.
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>
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>
18525 Improve DWARF support for stm8 ELF, picked from patch #255 by Peter Dons
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>
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>
18550 Add support the ASRF, LSLF and LSRF instructions
18551 (enhanced intructions of pic14): feature-requests #484
18555 On more place I exchanged the "char *" to "const char *".
18557 2016-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
18564 Format inline asm coding style.
18566 2016-01-23 Ben Shi <powerstudio1st AT 163 DOT com>
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.
18578 Remove a duplicate function definition.
18580 Change to C99 style.
18582 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18587 Do not display meaningless __reentrent to users.
18589 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18593 Make estimate for preserved regs on function pointers less conservative.
18595 Consider preserved regs for type of function pointer.
18597 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18600 More accurate handling of conditional jumps, handle ex (sp), ix and
18603 2016-01-21 Philipp Klaus Krause <pkk AT spth.de>
18606 Seems we have to worry about more than MSVC wrt. C99, patch #265 by Peter
18609 2016-01-21 Philipp Klaus Krause <pkk AT spth.de>
18618 Implement declaration of preserved registers, RFE #483.
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.
18625 Document syntax for specifying preserved registers.
18627 2016-01-20 Philipp Klaus Krause <pkk AT spth.de>
18630 More exact handling of ex, support for decimal shifts.
18632 2016-01-18 Philipp Klaus Krause <pkk AT spth.de>
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.
18641 More accurate handling of functions returning long long for peephole
18644 Fix stream for help output, patch #264 by Peter Dons Tychsen.
18646 2016-01-18 Ben Shi <powerstudio1st AT 163 DOT com>
18649 Apply a modified version of patch #261 by Peter Dons Tychsen.
18650 * support/regression/bug-2455.c
18653 2016-01-18 Philipp Klaus Krause <pkk AT spth.de>
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,
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>
18684 Each function has its own code section.
18686 * src/pic16/pcode.c:
18689 2016-01-15 Ben Shi <powerstudio1st AT 163 DOT com>
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>
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().
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>
18742 More accurate handling of Z80/Z180 I/O in peepholes.
18744 2016-01-10 Ben Shi <powerstudio1st AT 163 DOT com>
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,
18780 Updated to gputils-1.4.2-1.
18782 2016-01-06 Philipp Klaus Krause <pkk AT spth.de>
18785 Optimize comparisons of cheap variables to expensive constants more.
18787 Use cheaper types for implicitly introduced constants.
18789 2016-01-05 Philipp Klaus Krause <pkk AT spth.de>
18792 Do not try to output debug info in case of fatal errors - patch #260 by
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>
18801 Fix bug: members of pointer arrays are always treated as r-values.
18802 * support/regression/tests/gcc-torture-execute-930526-1.c
18804 * support/sdbinutils/binutils/arlex.c
18807 2016-01-04 Philipp Klaus Krause <pkk AT spth.de>
18810 Fix handling of nop in z80MightRead, patch #259 by alvin.
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>
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>
18862 Make comparePtrType() less strict.
18863 * support/regression/tests/bug-2271.c
18866 2015-12-28 Ben Shi <powerstudio1st AT 163 DOT com>
18869 Suggest msys2 along with msys while building wih MSVC.
18870 * sdas/asxxsrc/assym.c
18873 2015-12-26 Ben Shi <powerstudio1st AT 163 DOT com>
18876 Add absent call to dwWriteFunction() while --debug is specified.
18878 2015-12-24 Ben Shi <powerstudio1st AT 163 DOT com>
18881 Fix a bug in the front end. (pointer array parameters)
18882 * support/regression/tests/bug-2271.c
18885 2015-12-21 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
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
18926 2015-12-05 Ben Shi <powerstudio1st AT 163 DOT com>
18931 Fix a bug of type definition of a function by typedef.
18933 2015-12-02 Ben Shi <powerstudio1st AT 163 DOT com>
18937 Fix defects in previous commit.
18939 2015-12-01 Ben Shi <powerstudio1st AT 163 DOT com>
18944 Remove warning #220 (W_ANONYMOUS_MEMBER).
18946 2015-11-28 Philipp Klaus Krause <pkk AT spth.de>
18949 Fix operandsNotRelated() bug #2435.
18950 * device/include/stddef.h,
18951 device/include/stdlib.h,
18956 support/regression/tests/charconst.c,
18957 support/regression/tests/string.c:
18958 Make wchar_t UTF-32.
18959 * support/cpp/Makefile.in:
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>
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>
18983 Fix bookmarks and hyperlinks in manual, bug #2405.
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>
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>
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>
19036 Eliminate unused static symbols. (__str_%d generated in stringToSymbol()).
19037 * support/regression/tests/bug-2089.c:
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,
19050 Handling of UTF-16 and UTF-16 string literals in the frontend up to
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.
19063 Support C11 u8 prefix for UTF-8-encoded unicode string literals.
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,
19075 (readRules): clean up
19077 2015-11-05 Philipp Klaus Krause <pkk AT spth.de>
19080 Print calling convention for functions.
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>
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
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>
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>
19143 Bump version due to improved standard support.
19145 2015-10-24 Philipp Klaus Krause <pkk AT spth.de>
19147 * src/stm8/ralloc.c,
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.
19160 Fix standard support, add support for c95 and sdcc11 dialects.
19162 2015-10-22 Ben Shi <powerstudio1st AT 163 DOT com>
19165 Add checks for NULL pointers.
19167 2015-10-19 Ben Shi <powerstudio1st AT 163 DOT com>
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>
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>
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>
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>
19242 support/regression/tests/charconst.c,
19243 support/regression/tests/escape.c:
19244 Implement escape sequences for wide character constants, fix universal
19247 2015-10-06 Philipp Klaus Krause <pkk AT spth.de>
19249 * device/include/uchar.h,
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>
19291 Loose the condition of warning 116.
19293 2015-09-29 Ben Shi <powerstudio1st AT 163 DOT com>
19296 Support "pragma codeseg" and "pragma constseg" in the stm8 port.
19298 2015-09-28 Ben Shi <powerstudio1st AT 163 DOT com>
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,
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,
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>
19345 Fix bugs in genOr() and genXor() while operands are longlong.
19346 * support/regression/tests/longlong.c:
19349 2015-09-16 Ben Shi <powerstudio1st AT 163 DOT com>
19355 Disable nested critical block / function call, support return in inline
19356 critical functions.
19357 * support/regression/tests/critical.c:
19359 * support/regression/tests/malloc.c:
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:
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.
19399 support/regression/tests/critical.c:
19402 2015-09-04 Philipp Klaus Krause <pkk AT spth.de>
19405 Fix handling of bcpl in notUsed().
19407 2015-09-03 Philipp Klaus Krause <pkk AT spth.de>
19409 * src/pic14/peeph.def:
19411 * src/stm8/peeph.def:
19412 Implement some rules for bit complement.
19414 support/regression/tests/generic.c:
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>
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:
19433 Apply patch #248 by Pavel Pisa <pisa@cmp.felk.cvut.cz>.
19435 2015-08-19 Ben Shi <powerstudio1st AT 163 DOT com>
19439 Correct build failure on sparc64-netbsd.
19441 2015-08-19 Ben Shi <powerstudio1st AT 163 DOT com>
19443 * support/regression/tests/condopptr.c:
19446 Improve conditional expression.
19449 Correct spots in previous commit.
19451 2015-08-17 Ben Shi <powerstudio1st AT 163 DOT com>
19455 Extend stack size on cygwin64.
19457 2015-08-15 Ben Shi <powerstudio1st AT 163 DOT com>
19460 Fix a bug in storage class check.
19461 * support/regression/tests/gcc-torture-execute-20020402-3.c:
19464 2015-08-15 Philipp Klaus Krause <pkk AT spth.de>
19467 support/regression/tests/array.c:
19468 Implement RFE #454 for index[array] access.
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>
19483 support/regression/tests/generic.c,
19485 Implement C11 generic selections.
19487 2015-08-11 Philipp Klaus Krause <pkk AT spth.de>
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:
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>
19513 Cheaper stm8 division workaround (RFE #449).
19515 Update standard compliance documentation to reflect recently implemented
19518 2015-08-01 Philipp Klaus Krause <pkk AT spth.de>
19522 src/SDCCralloc.hpp,
19524 Static code analysis to omit stm8 division workaround when safe to do so
19527 2015-07-31 Ben Shi <powerstudio1st AT 163 DOT com>
19529 * support/regression/tests/gcc-torture-execute-stdarg-5.c:
19532 2015-07-26 Philipp Klaus Krause <pkk AT spth.de>
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:
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>
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:
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>
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>
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>
19617 Adjust buffer sizes RFE #441.
19619 2015-06-29 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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:
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
19692 2015-06-18 Maarten Brock <sourceforge.brock AT dse.nl>
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>
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>
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>
19733 Use more generic name for option for unsafe reads.
19735 2015-05-23 Ben Shi <powerstudio1st AT 163 DOT com>
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>
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
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>
19770 Fix a potential bug in simplification of nested '*' and '&' in AST.
19772 2015-05-14 Ben Shi <powerstudio1st AT 163 DOT com>
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>
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:
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.
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.
19811 Rise warning 219 for creating an instance of a struct with a flexible array.
19813 Remove useless code.
19815 2015-05-04 Ben Shi <powerstudio1st AT 163 DOT com>
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:
19839 Remove useless code for Cygwin.
19840 * support/sdbinutils/bfd/config.bfd:
19841 * sim/ucsim/cmd.src/cmdutil.cc:
19844 2015-04-29 Ben Shi <powerstudio1st AT 163 DOT com>
19846 * support/regression/tests/gcc-torture-execute-20001011-1.c:
19848 * support/cpp/libcpp/macro.c:
19849 * support/cpp/libcpp/include/cpplib.h:
19850 * support/cpp/libcpp/init.c:
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:
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>
19885 support/regression/tests/bug-2376.c:
19886 Fix peephole optimizer bug #2376.
19888 2015-04-21 Philipp Klaus Krause <pkk AT spth.de>
19896 src/z80/peeph-z80.def:
19897 Fix peephole optimizer bug #2374, more efficient calls to _Noreturn
19900 2015-04-20 Philipp Klaus Krause <pkk AT spth.de>
19904 support/regression/tests/z88dk.c:
19905 Fix peephole optimizer bug #2371.
19907 2015-04-19 Philipp Klaus Krause <pkk AT spth.de>
19912 device/lib/*/__sdcc_call_hl.s,
19913 device/lib/*/__sdcc_call_iy.s,
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:
19940 Partially fix bug #2369.
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>
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:
19993 * device/include/stdlib.h,
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().
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
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>
20026 Add a warning for inline __naked functions.
20028 2015-04-02 Ben Shi <powerstudio1st AT 163 DOT com>
20033 Support --program-prefix and --program-suffix while calling assembler and
20036 * src/z80/mapping.i:
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,
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:
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>
20069 support/regression/tests/bug-2368.c:
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:
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>
20109 Improve error messages.
20111 2015-03-19 Ben Shi <powerstudio1st AT 163 DOT com>
20114 Fix a bug in a global char array initialized by a string.
20116 Fix a bug in a local static global array initialization.
20117 * support/regression/tests/bug-1953.c:
20120 Suggest msys while build SDCC with VS2010.
20122 2015-03-16 Philipp Klaus Krause <pkk AT spth.de>
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>
20139 Add a new warning: anonymous member in struct/union.
20141 2015-03-11 Ben Shi <powerstudio1st AT 163 DOT com>
20145 Add a new special case in pointer initialization.
20146 * support/regression/tests/gcc-torture-execute-const-addr-expr-1.c:
20148 * support/regression/test-1898.c:
20149 Add a new test case.
20151 2015-03-06 Ben Shi <powerstudio1st AT 163 DOT com>
20156 Add a warning for a flexible array in a struct.
20158 2015-02-25 Philipp Klaus Krause <pkk AT spth.de>
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.
20173 Enable a global char/int/long variable initialized by an address
20176 2015-02-24 Philipp Klaus Krause <pkk AT spth.de>
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>
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:
20196 * support/regression/tests/gcc-torture-execute-20000412-1.c:
20199 Change E_CODE_NO_INIT from an error to a warning.
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>
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:
20217 2015-02-13 Ben Shi <powerstudio1st AT 163 DOT com>
20220 Make pointers (of a struct) initialization more generaic.
20221 * support/regression/tests/bug-2123.c:
20224 2015-02-11 Ben Shi <powerstudio1st AT 163 DOT com>
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>
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
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,
20265 src/z80/mappings.i,
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>
20273 Add check for infinite recursive call of copyAst().
20275 2015-01-30 Philipp Klaus Krause <pkk AT spth.de>
20278 Fix references to obsolete keywords.
20280 2015-01-29 Philipp Klaus Krause <pkk AT spth.de>
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>
20289 Update documentation on C dialect selection.
20291 2015-01-27 Ben Shi <powerstudio1st AT 163 DOT com>
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>
20305 Apply patch by Pascal for trap handlers.
20307 2015-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
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>
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>
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>
20336 Classification macros are not required in freestanding implementations.
20338 2015-01-08 Ben Shi <powerstudio1st AT 163 DOT com>
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>
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:
20355 2015-01-01 Ben Shi <powerstudio1st AT 163 DOT com>
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:
20397 2014-12-28 Philipp Klaus Krause <pkk AT spth.de>
20399 * device/include/stdio.h:
20402 2014-12-27 Philipp Klaus Krause <pkk AT spth.de>
20404 * src/z80/ralloc2.cc,
20405 support/regression/tests/bug-2320.c:
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>
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>
20439 Remove obsolete feature macros.
20441 2014-12-21 Ben Shi <powerstudio1st AT 163 DOT com>
20444 Make AST dump more clear.
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.
20462 Fix a bug: higher 4 bytes of a longlong literal are missing while dumping.
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>
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
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:
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,
20524 Do not try to use spill locations that are not on the stack in ports that
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>
20532 Initialize usl.spillLoc to help track down spill location issues.
20533 * src/stm8/ralloc.c:
20536 2014-11-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
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
20546 2014-11-29 Maarten Brock <sourceforge.brock AT dse.nl>
20548 * device/include/ctype.h: compare as unsigned chars, added static asserts on
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:
20567 2014-11-22 Ben Shi <powerstudio1st AT 163.com>
20570 Fix potential bugs.
20572 2014-11-22 Ben Shi <powerstudio1st AT 163.com>
20575 Add function notSimilar().
20577 Make notUsed() more aggressive.
20578 * src/stm8/peeph.def:
20581 2014-11-21 Philipp Klaus Krause <philipp@informatik.uni-frankfurt.de>
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:
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,
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,
20661 Implement % for long long and unsigned long long.
20663 More sensible error behaviour when building documentation.
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>
20675 More efficient assignment of literals to 16-bit globals and statics.
20677 2014-11-06 Philipp Klaus Krause <pkk AT spth.de>
20680 support/regression/tests/bug-2306.c:
20683 2014-11-06 Philipp Klaus Krause <pkk AT spth.de>
20686 support/regression/tests/bug-2304.c:
20688 * src/z80/ralloc.c,
20689 support/regression/tests/bug-2305.c:
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>
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>
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>
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:
20743 * device/stm8/_modsint.s:
20744 * device/stm8/_mulint.s:
20745 * device/stm8/_divsint.s:
20746 * device/stm8/_mullong.s:
20748 * device/stm8/Makefile.in:
20749 Use the above new added .s files.
20751 2014-10-09 Ben Shi <powerstudio1st AT 163.com>
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>
20778 Remove negation by inverting jump condition.
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>
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:
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:
20837 2014-09-13 Ben Shi <powerstudio1st AT 163.com>
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>
20895 * support/scripts/sdcc.nsi:
20896 Create a new sdldstm8 on Windows.
20897 * sdas/linksrc/Makefile.in:
20899 Create a spereated sdldstm8 on Unix like.
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.
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>
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,
20996 2014-07-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
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:
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
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
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
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
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
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
21095 2014-05-28 Philipp Klaus Krause <pkk AT spth.de>
21098 Fix a bug in code generation for right shift by applying patch #243 by Ben
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.
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.
21118 Enable optimizations for bitwise and.
21120 2014-05-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
21137 More efficient float negation.
21139 2014-04-30 Philipp Klaus Krause <pkk AT spth.de>
21141 * src/stm8/ralloc2.cc,
21143 More flexible register allocation of operands, fixed bug in intra-register
21146 2014-04-27 Philipp Klaus Krause <pkk AT spth.de>
21149 Improve loading of literals to long globals.
21151 2014-04-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21154 Fix overoptimistic stack coalescing estimate, clamp shifts.
21156 2014-04-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21159 Improve arithmetic right shift.
21161 2014-04-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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>
21182 More efficient clearing of high bytes of x and y, more efficient right
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>
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>
21207 src/stm8/peeph.def:
21208 Applied a variant of patch #237 by Ben Shi, implementing RFE #400.
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,
21255 2014-04-13 Philipp Klaus Krause <pkk AT spth.de>
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,
21265 Do not mangle support function names. Implements RFE #405.
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>
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
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>
21327 * Makefile.in: manual edit to support option --disable-non-free
21329 2014-04-01 Maarten Brock <sourceforge.brock AT dse.nl>
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>
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>
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>
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>
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)
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>
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.
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).
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>
21439 Fix condition for shifting stack operands in a.
21441 2014-02-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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>
21460 support/regression/tests/bug-2252.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>
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,
21481 Apply patch #215 by Ben Shi to fix bug #2227.
21483 sdas/asxxsrc/asmain.c:
21484 Fix >= comparisons.
21486 2014-01-12 Philipp Klaus Krause <pkk AT spth.de>
21488 * sdas/asstm8/stm8pst.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,
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
21534 2013-12-29 Philipp Klaus Krause <pkk AT spth.de>
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
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>
21656 * src/SDCCerr.h: added W_UNRECOGNIZED_ASM
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>
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
21677 2013-12-18 Philipp Klaus Krause <pkk AT spth.de>
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:
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,
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:
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:
21724 2013-12-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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.
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,
21800 * src/pic14/main.c,
21801 * src/pic16/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
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,
21825 src/pic16/device.h,
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:
21862 2013-09-30 Philipp Klaus Krause <pkk AT spth.de>
21864 * device/lib/tlcs90/stubs.s,
21865 device/lib/tlcs90/Makefile.in:
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,
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.
21892 device/lib/Makefile.in,
21895 Library for TLCS-90.
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,
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>
21914 notUsedFrom() for stm8.
21915 * src/z80/peeph-r2k.def,
21916 src/z80/peeph-z80.def,
21917 support/regression/tests/bug-2228.c:
21919 * sim/ucsim/stm8.src/inst.cc:
21921 * support/regression/tests/bug-2222.c:
21922 Fix use of uninitialized memory.
21924 2013-09-25 Philipp Klaus Krause <pkk AT spth.de>
21927 Improve handling of global variables in addition (and prepare for
21929 * sim/ucsim/stm8.src/inst.cc:
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>
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,
21959 Check more carefully for undead hiding among the living variables.
21961 2013-09-23 Philipp Klaus Krause <pkk AT spth.de>
21964 Makefile.common.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>
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>
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,
22024 2013-09-19 Philipp Klaus Krause <pkk AT spth.de>
22027 Enable some Rabbit optimizations for the TLCS-90.
22028 * src/SDCCtree_dec.hpp,
22029 src/SDCCralloc.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>
22038 More efficient zeroing of longs.
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>
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>
22060 sim/ucsim/stm8.src/inst.cc:
22061 More efficient conditional jumps.
22063 2013-09-13 Philipp Klaus Krause <pkk AT spth.de>
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,
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>
22080 Negative stack adjustment efficiency, restore stack pointer from frame pointer.
22082 Provide our own isblank()-substitute for compilers that lack C99 support.
22084 2013-09-11 Philipp Klaus Krause <pkk AT spth.de>
22087 src/z80/mappings.i,
22089 Stack adjustment code refactoring.
22091 2013-09-11 Philipp Klaus Krause <pkk AT spth.de>
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.
22107 Make it compile on compilers that lack C99 support.
22109 2013-09-08 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
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>
22188 Implement assertion for linker bug #2198 so it is no longer silent to the
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>
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>
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>
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:
22225 2013-08-29 Philipp Klaus Krause <pkk AT spth.de>
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.
22242 Implement more of register use check.
22244 Fix byte skipping in subtraction.
22246 2013-08-28 Philipp Klaus Krause <pkk AT spth.de>
22249 Fix generation of temporary labels in dry runs, more efficient shift by
22250 literal, subtraction and addition, partially fix recognition of multibyte
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>
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>
22287 Be a little bit more flexible about addition operands - necessary to make
22290 2013-08-21 Philipp Klaus Krause <pkk AT spth.de>
22293 src/stm8/peeph.def:
22294 Eliminate dead popw / pushw pairs.
22296 2013-08-20 Philipp Klaus Krause <pkk AT spth.de>
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>
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
22324 2013-08-04 Philipp Klaus Krause <pkk AT spth.de>
22326 * src/stm8/peeph.def:
22327 Peepholes for in-place operations.
22329 More efficient pointer write, fix handling of a in comparison for equality.
22331 2013-08-03 Philipp Klaus Krause <pkk AT spth.de>
22334 src/stm8/peeph.def:
22335 Infrastructure for notUsed().
22337 More efficient stack-to-stack copy.
22339 2013-08-02 Philipp Klaus Krause <pkk AT spth.de>
22342 More efficient pcall.
22344 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22346 * src/SDCClospre.hpp,
22348 Fix handling of isaddr flag in optimizations.
22350 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22356 Fold offset into ADDRESS_OF, RFE #393.
22358 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22361 More efficient zeroing of bytes, more efficient addition of constants,
22362 fix handling of a in pointer set.
22364 Fix handling of architectures that have absolute jump instructions of
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>
22376 Smaller code for GET_VALUE_AT_ADDRESS and signed casts.
22378 2013-07-30 Philipp Klaus Krause <pkk AT spth.de>
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,
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>
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>
22449 src/stm8/ralloc2.cc,
22451 More efficient unsigned right shifts by more than 3 bits,
22452 implement GETABIT, implement jump from and.
22455 Remove support for GETHBIT.
22457 2013-07-23 Philipp Klaus Krause <pkk AT spth.de>
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
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,
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>
22495 Reorganize debug output dump options.
22497 2013-07-20 Philipp Klaus Krause <pkk AT spth.de>
22500 More efficient zeroing and comparing.
22502 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22505 src/stm8/ralloc2.cc:
22508 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22511 More efficient long and long long shifts by small contants.
22513 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
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,
22537 src/hc08/ralloc2.cc:
22538 Unify handling of register survival in old and new register allocator,
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
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>
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,
22572 src/SDCCralloc.hpp,
22574 Split non-connected live-ranges.
22576 2013-07-05 Philipp Klaus Krause <pkk AT spth.de>
22580 Improve const use in sets.
22584 Allow debug iCode dump after lospre.
22586 2013-07-04 Philipp Klaus Krause <pkk AT spth.de>
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>
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
22624 Fix const, handling of relative jumps, read from uninitialized pointer.
22626 2013-06-16 Valentin Dudouyt <valentin dudouyt AT gmail.com>
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
22682 Fix buffer overflows, improve error detection.
22684 2013-06-08 Valentin Dudouyt <valentin dudouyt AT gmail.com>
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>
22702 2013-06-03 Maarten Brock <sourceforge.brock AT dse.nl>
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,
22716 * src/pic16/glue.c,
22718 * src/SDCCdwarf2.c,
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,
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>
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).
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:
22757 2013-05-31 Philipp Klaus Krause <pkk AT spth.de>
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
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
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
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:
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>
22871 support/regression/tests/bug-2175.c:
22874 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
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.
22890 Fix partial saving of Y in division and multiplication, implement unsigned
22893 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
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
22904 2013-05-28 Philipp Klaus Krause <pkk AT spth.de>
22906 * src/stm8/ralloc2.cc,
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>
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>
22935 More efficient zeroing by pointer, more efficient unsigned cast,
22936 preparations for more efficient pointer access.
22938 Allow offset in pointer read.
22939 * sim/ucsim/stm8.src/inst.cc:
22940 Fix handling of N and Z flag in ldw.
22942 More efficient initialization.
22944 2013-05-25 Philipp Klaus Krause <pkk AT spth.de>
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.
22978 STM8: Fix handling of out-of-range offsets.
22980 2013-05-23 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
23006 STM8: Disable broken optimization of comparisons into and.
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>
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>
23025 More efficient cast from _Bool,
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>
23037 STM8: Fix long and long long comparison.
23039 2013-05-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23042 STM8: Give up trying to fix big-endian bit-fields. Make bit-fields
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.
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,
23064 STM8: Multiplication and division fixes.
23066 2013-05-18 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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
23095 * support/regression/tests/malloc.c,
23096 support/regression/tests/gcc-torture-execute-920810-1.c:
23097 STM8: Disable regression tests for unimplemented malloc().
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.
23108 STM8: Patch by Valentin Dudouyt to initialize global and static
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.
23116 STM8: Patches by Valentin Dudouyt to fix handling of global variables and
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.
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.
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,
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
23156 * doc/sdccman.lyx: version 3.3.0
23158 2013-05-10 Philipp Klaus Krause <pkk AT spth.de>
23161 STM8: Fix endianness in stack / stack copy.
23163 2013-05-09 Philipp Klaus Krause <pkk AT spth.de>
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>
23176 STM8: Fix endianness in register / stack copy.
23178 2013-05-04 Maarten Brock <sourceforge.brock AT dse.nl>
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>
23189 STM8: Fix stack variable offset.
23191 2013-05-04 Philipp Klaus Krause <pkk AT spth.de>
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>
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.
23215 STM8: Fix saving of a on stack in binary complement.
23217 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
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
23242 STM8: Improve error reporting for unimplemented extended stack operands,
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>
23252 STM8: Fix stack handling in equality comparison, handle dead code, fix
23255 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23258 STM8: Implement DUMMY_READ_VOLATILE.
23260 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23263 STM8: Implement read from signed bit-field.
23265 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23267 * sdas/asxxsrc/asout.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>
23276 STM8: Implement multiplication.
23278 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
23295 STM8: Fix in handling of result in a in addition, minor improvements.
23297 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
23300 STM8: Fix stack handling in signed cast, fix wide right shift, minor
23303 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
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>
23312 STM8: Update TODO/todo comments to reflect known bug vs optimization
23315 2013-04-24 Philipp Klaus Krause <pkk AT spth.de>
23318 STM8: Various fixes.
23320 2013-04-23 Philipp Klaus Krause <pkk AT spth.de>
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>
23329 STM8: Fix large operands in equality comparison of register with literal
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>
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>
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.
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.
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>
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.
23384 STM8: Fix comparison.
23386 STM8: Disable some annoying debug output.
23388 2013-04-19 Philipp Klaus Krause <pkk AT spth.de>
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.
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>
23402 STM8: Disable generation of jump tables.
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>
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
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,
23423 use /bin/sh instead of /bin/bash to enable compilation on OpenBSD
23425 2013-04-17 Philipp Klaus Krause <pkk AT spth.de>
23428 STM8: Fix for cast to bool.
23430 2013-04-17 Philipp Klaus Krause <pkk AT spth.de>
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>
23439 STM8: Fix emission of rlwa, fix 16-bit increment with result in x,
23442 2013-04-15 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
23461 STM8: Applied patch from Valentin Dudouyt to set default code loc.
23463 STM8: Be more cautious about arithmetic on stack pointer.
23465 2013-04-13 Philipp Klaus Krause <pkk AT spth.de>
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,
23485 STM8: Applied patches from Valentin Dudouyt containing various fixes.
23487 2013-04-11 Philipp Klaus Krause <pkk AT spth.de>
23491 Fix handling of stack part of local variables.
23493 2013-04-11 Philipp Klaus Krause <pkk AT spth.de>
23496 STM8: Implement basic pointer writes, fix handling of 16-bit literals.
23498 2013-04-10 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
23513 STM8: Allow more operands in xor, and, or.
23515 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23518 STM8: Implement integer unary minus, or fix.
23520 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23523 STM8: Implement more comparisons, stack handling fix.
23525 STM8: Allow returning long long (not implemented in code genration yet).
23527 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
23547 STM8: Allow more operand types in Ifx, implement more casts.
23549 2013-04-06 Philipp Klaus Krause <pkk AT spth.de>
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
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>
23565 STM8: Implement comparison for more operand types.
23567 2013-04-02 Philipp Klaus Krause <pkk AT spth.de>
23581 support/regression/tests/assert.c,
23582 support/regression/tests/align.c:
23583 Support for C11 _Static_assert static assertions and _Alignas alignment
23586 2013-04-01 Philipp Klaus Krause <pkk AT spth.de>
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>
23599 Deprecation warning for --small-is-8bits.
23600 * device/include/assert.h:
23601 Prepare for static assertions.
23605 2013-03-30 Philipp Klaus Krause <pkk AT spth.de>
23608 Update and reorganize manual.
23610 Kill i186 and tcls900h ports.
23612 2013-03-29 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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,
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>
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:
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>
23743 Code generation fixes and refactoring, implement ^, CALL.
23745 Enable lospre for stm8.
23747 Correctly announce lack of multiplication support.
23749 2013-02-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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
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>
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
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>
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
23815 2013-01-27 Philipp Klaus Krause <pkk AT spth.de>
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
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
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,
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
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
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>
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>
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
23968 2012-01-07 Philipp Klaus Krause <pkk AT spth.de>
23971 Infrastructure for the stm8 port.
23973 2012-01-06 Philipp Klaus Krause <pkk AT spth.de>
23976 Infrastructure for the stm8 port.
23978 2013-01-06 Philipp Klaus Krause <pkk AT spth.de>
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.
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,
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.
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
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,
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
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>
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>
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:
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
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,
24148 Infrastructure for STM8 port.
24150 2012-12-28 Philipp Klaus Krause <pkk AT spth.de>
24152 * src/stm8/ralloc2.cc,
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
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,
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>
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>
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>
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:
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
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>
24277 src/stm8/ralloc2.cc,
24279 Infrastructure for STM8 port.
24281 2012-12-22 Philipp Klaus Krause <pkk AT spth.de>
24290 Basic infrastructure for STM8 port.
24292 2012-12-21 Philipp Klaus Krause <pkk AT spth.de>
24294 * Makefile.common.in,
24297 sim/ucsim/aclocal.m4,
24298 sim/ucsim/configure,
24300 debugger/mcs51/aclocal.m4,
24303 src/stm8/Makefile.in,
24305 src/stm8/peeph.def,
24307 device/lib/stm8/Makefile.in,
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:
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,
24354 Fixes for block-based stack allocation.
24356 2012-12-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24363 Fixes for block-based stack allocation.
24365 2012-12-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24371 Infrastructure for block-based stack allocation.
24373 2012-12-09 Philipp Klaus Krause <pkk AT spth.de>
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),
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>
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>
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>
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
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,
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>
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.
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>
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>
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.
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>
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,
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>
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,
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):
25378 * support/regression/tests/gcc-tortute-execute-950426-1.c:
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,
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
25444 2012-09-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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>
25492 Fixed bug #3566191 by disabling register tracking for iy.
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
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>
25530 support/regression/tests/bug3565757.c:
25531 Fixed bug #3565757.
25533 2012-09-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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,
25571 Fix for handling of parameters in the z80-related ports.
25573 2012-08-27 Borut Razem <borut.razem AT gmail.com>
25576 fixed muldiv regression test failures on ARM architecture
25578 2012-08-25 Borut Razem <borut.razem AT gmail.com>
25581 fixed muldiv regression test failures on ARM architecture
25583 2012-08-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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,
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>
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,
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>
25709 src/z80/ralloc2.cc,
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
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
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
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
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
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:
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>
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>
25822 Disable lospre for ports unrelated to z80 or hc08.
25824 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25827 Improve code generation for multiplication by literal.
25829 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
25854 Provide option to allow unsafe reads in lospre.
25856 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25858 * src/SDCClospre.hpp,
25862 2012-07-06 Philipp Klaus Krause <pkk AT spth.de>
25864 * src/SDCClospre.hpp,
25866 Preparations for safety in lospre.
25868 2012-07-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25870 * src/SDCClospre.hpp,
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>
25899 Fix for operand handling in built-in memset().
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,
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>
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,
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>
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,
25945 src/hc08/ralloc2.cc,
25946 device/include/string.h:
25949 Fix out-of-array read.
25951 2012-06-27 Borut Razem <borut.razem AT gmail.com>
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>
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>
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>
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>
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,
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>
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>
26037 Use dec r and inc a in comparison for equality.
26039 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
26048 Improve handling of pointers to long and long long.
26050 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
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,
26145 src/z80/ralloc2.cc,
26147 src/hc08/ralloc2.cc:
26148 Nice fix for bug #3536902.
26150 More efficient built-in memcpy() for small copies.
26152 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26154 * src/SDCCralloc.hpp,
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>
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>
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>
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>
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>
26204 More efficient assignment for global variables.
26206 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26209 Fix bug in & 0x8000 with ifx for unsigned int.
26211 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
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>
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.
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>
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>
26268 Warn when encountering long long literals.
26270 2012-06-17 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
26323 Fix cost calculation for branches.
26325 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26328 Improve storing of hx in assignment.
26330 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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>
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>
26353 Improve right shift.
26355 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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,
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,
26371 Improvements to non-destructive and, including #3526286.
26373 2012-06-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26378 Implement --nolospre option for disabling lospre.
26380 2012-06-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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,
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
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
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>
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
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
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>
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>
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>
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.
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
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>
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>
26546 * src/hc08/ralloc.c: RFE 3526269 and 3526268
26548 2012-06-02 Philipp Klaus Krause <pkk AT spth.de>
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,
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>
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
26609 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26612 Fix handling of a in casts, bug #3531118.
26614 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
26635 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26637 * src/z80/ralloc.h,
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.
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.
26654 Better 16 bit signed comparison for z80 related (except gbz80).
26656 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
26664 Improve storing of literals to stack for Rabbits.
26666 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
26677 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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,
26708 Fix handling of ADDRESS_OF in lospre forward assignment.
26710 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
26726 Use Rabbit's cast to bool instruction for zeroing h,
26727 more efficient loading of pairs in shifts.
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,
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,
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>
26768 src/SDCClospre.hpp,
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,
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:
26789 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26791 * src/z80/ralloc2.cc,
26793 Non-destructive & with bit literal.
26795 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26797 * src/SDCClospre.hpp,
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,
26810 Preparations for lospre.
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,
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
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,
26851 Use lsidr for built-in memset() for r3ka.
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>
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
26888 * devince/include/asm/r3ka/features.h: Added to allow customizations
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>
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>
26919 Regenerated, so building with r3ka port disabled works now.
26921 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26924 Improved code for PCALL.
26926 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26929 src/hc08/ralloc2.cc:
26930 Improved code for GET_VALUE_AT_ADDRESS.
26932 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26935 Improve addition for hc08 and s08.
26937 Fix name of r3ka library.
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.
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,
26956 src/hc08/ralloc2.cc:
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>
27006 device/lib/Makefile.in,
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,
27023 sim/ucsim/aclocal.m4,
27024 sim/ucsim/configure,
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
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,
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,
27112 Early preparations for lospre.
27114 2012-05-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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,
27154 Declare some data types for lospre.
27156 2012-05-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
27194 * src/SDCCralloc.hpp,
27200 * src/hc08/ralloc.c,
27201 * src/hc08/ralloc.h,
27202 * src/hc08/ralloc2.cc,
27203 * src/yacc.vcxproj,
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>
27211 * configure_vc.awk,
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>
27255 Revive old register allocator for --oldralloc.
27257 2012-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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>
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>
27293 * src/SDCCval.c (byteOfVal): new function
27294 * src/z80/gen.c (aopGet, gencjneshort),
27295 * src/SCCglue.c (aopLiteralLong): use byteOfVal() to access value
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>
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
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>
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
27354 2012-04-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
27372 2012-04-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27375 Enable replacing division by power of two by conditional addition and shift (for hc08, z80, z180, gbz80 and r2k).
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>
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>
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,
27421 Allow some use of ax.
27423 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27425 * src/hc08/ralloc2.cc,
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
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:
27467 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27469 * src/hc08/ralloc2.cc,
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,
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,
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>
27492 Preparations for removing accuse.
27494 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27496 * src/hc08/ralloc2.cc,
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,
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,
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,
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,
27532 src/z80/ralloc2.cc,
27534 src/hc08/ralloc2.cc,
27536 Improve hc08 cost function.
27538 2012-04-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27540 * src/hc08/ralloc2.cc,
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,
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,
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
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>
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:
27591 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27594 Fix handling of isFree for register operands.
27596 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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.
27606 Additional debugging output.
27608 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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:
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,
27643 src/hc08/ralloc2.cc,
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().
27659 Fixed memory leaks.
27661 2012-04-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27663 * src/SDCCralloc.hpp,
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,
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>
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:
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,
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>
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.
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>
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>
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>
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.
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,
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>
27921 Enabled exact cost function for gbz80.
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>
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>
27938 Better assignment for large variables.
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>
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>
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>
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>
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>
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>
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,
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
28162 2012-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28164 * sdas/linksrc/lkarea.c (lnksect2): applied fix from Tim Schuerewegen
28167 2012-03-16 Borut Razem <borut.razem AT gmail.com>
28169 * sdcc.sln, src/sdcc.vcxproj, src/sdcc.vcxproj.filters,
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
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.
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
28244 don't generate unusable html and txt versions of sdccman
28246 2012-03-11 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
28272 documented support for 18f1230/18f1330 device family
28274 2012-03-10 Raphael Neider <rneider AT web.de>
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:
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>
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>
28332 added info about included code from gcc test suite
28334 replaced test -e with -f, since -e is not available in sh
28337 2012-03-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
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>
28364 Fixed bug #3496508.
28366 2012-03-05 Borut Razem <borut.razem AT gmail.com>
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>
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>
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:
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.
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>
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>
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>
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>
28589 src/SDCCast.c (decorateType, processParms, checkPtrCast, copyAstValues):
28592 2012-02-19 Philipp Klaus Krause <pkk AT spth.de>
28595 support/regression/tests/gcc-torture-execute-pr39339.c:
28596 Fixed bug #3486544.
28598 2012-02-19 Philipp Klaus Krause <pkk AT spth.de>
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>
28608 src/SDCCsymt.c (findSymWithLevel),
28609 src/SDCCast.c (resolveSymbols, processBlockVars): fixed bugs 3403429,
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.
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>
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.
28664 Fix setting of CurrFunc for non-functions.
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,
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>
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,
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.
28710 Improve handling of bc, de in addition.
28712 Remove leftover legacy keyword function.
28714 2012-02-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28716 * src/z80/ralloc2.cc,
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,
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,
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>
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>
28870 src/z80/peeph-z80.def:
28871 Minor addition improvement.
28873 2012-02-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28876 Use bit instruction for & in jump condition.
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,
28885 Improve handling of register pairs, in particular hl.
28887 2012-02-06 Philipp Klaus Krause <pkk AT spth.de>
28890 Fixed bug #3073647.
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>
28901 Fixed bug #3482732.
28902 * src/SDCClrange.h,
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>
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>
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>
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>
28960 support/regression/tests/gcc-torture-execute-stdarg-4.c:
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.
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>
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,
28980 src/pic16/device.c,
28981 src/pic16/pcodepeep.c,
28983 src/pic16/pcoderegs.c,
28984 src/pic16/ralloc.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>
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>
29005 Mention -mz180, -mr2k, named address spaces and use non-deprectaed form of sdcc-specific keywords.
29007 Remove support for deprecated keywords.
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,
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
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>
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>
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>
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>
29133 Remove unnecessary value calculation in _hasNativeMulFor().
29135 2012-01-14 Maarten Brock <sourceforge.brock AT dse.nl>
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,
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>
29156 src/z80/ralloc2.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,
29168 Optimal placement of bank-switching calls.
29170 2012-01-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29176 src/z80/ralloc2.cc,
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,
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>
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>
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>
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>
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>
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.
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>
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.
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
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>
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,
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>
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>
29597 Cleanup leftover warning.
29599 2011-11-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29601 * src/z80/ralloc2.cc,
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>
29620 Optimize hidden jump-to-jump.
29622 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
29649 Fixed bug #3440327.
29651 2011-11-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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>
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>
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>
29679 Avoid emitting some unecessary bank switching calls.
29681 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29684 Keep global named address spaces alive over functions.
29686 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
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>
29723 Basic support for pointers into named address spaces.
29725 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
29791 Use named address space as segment name for the linker.
29793 2011-11-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29799 Basic compiler-side named address space support.
29801 2011-11-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29808 Preparations for named address space support.
29810 2011-11-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
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
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>
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>
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>
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>
30122 support/regression/tests/bug3424150.c:
30123 Fixed bug #3424150.
30125 2011-10-15 Philipp Klaus Krause <pkk AT spth.de>
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
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
30145 Microsoft C compiler doesn't support hexadecimal floating-point
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>
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>
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>
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>
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>
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>
30237 Preparations for use of r2k-specific ld iy,hl.
30239 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
30254 More flexible use of r2k-specific and hl, de instruction.
30256 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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>
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>
30348 Use add sp, #n in function entry in r2k port.
30350 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30353 Use Rabbit-specific instructions in and, multiplication and assignment for r2k port.
30355 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
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>
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,
30388 device/lib/Makefile.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>
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>
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,
30420 src/z80/peeph-r2k.def,
30422 src/z80/mappings.i,
30426 Leland Morrison's Rabbit 2000 compiler port.
30428 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
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>
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
30473 * device/non-free/lib/pic14/configure:
30476 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30479 Slightly more informative error message when attempting to multiply, etc long long.
30481 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
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>
30494 Reorganized pointer access functions, fixed the remaining warning in the z80 port.
30496 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30499 Enable long long for gbz80 and z180 ports.
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,
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>
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>
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>
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,
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>
30566 Reconstruct ChangeLog entries lost during the z180 branch merge.
30568 2011-09-25 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
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,
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>
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>
30680 device/include/stdbool.h,
30681 support/regression/bool.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
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
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:
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
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
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>
30779 support/regression/tests/bug3401973.c:
30780 Fixed bug #3401973.
30782 2011-09-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
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>
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>
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
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>
30870 Basic working z180 port.
30872 2011-09-03 Philipp Klaus Krause <pkk AT spth.de>
30882 src/SDCCralloc.hpp,
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>
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),
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>
30927 device/include/stdbool.h:
30928 _Bool / bool for hc08.
30930 2011-09-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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,
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,
30973 device/lib/sincosf.c,
30975 device/lib/sincoshf.c,
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>
31017 applied patch #3285611: Workaround gcc 4.6.0 bug with sdcc 3.0.0,
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>
31041 support/regression/tests/bool.c:
31042 Fixed bug #3031197.
31044 2011-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
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>
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>
31101 Redid documentation change, in LyX 1.6 format this time.
31103 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31106 Reverted documentation change, to avoid LyX version incompability.
31108 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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
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>
31161 support/regression/tests/bug3368945.c:
31162 Fixed bug #3386945.
31164 2011-08-05 Philipp Klaus Krause <pkk AT spth.de>
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.
31174 Removed incorrect comment regarding arithmetic right shift.
31176 2011-08-04 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
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>
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
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
31345 * support/regression/tests/compare_2_n.c: added
31347 2011-07-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
31370 src/z80/peeph-z80.def:
31371 Optimized jumptable generation.
31373 2011-07-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
31420 Refactored register shuffling code, fixing a memcpy() bug.
31422 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31425 support/regression/tests/bug3361290.c:
31426 Fixed bug #3361290.
31428 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
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>
31443 Fixed bug #3107180.
31445 2011-06-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31447 * src/z80/peeph-z80.def:
31450 2011-06-29 Philipp Klaus Krause <pkk@spth.de>
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>
31463 Improve accuracy of label reference counting.
31465 2011-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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,
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>
31499 2011-06-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31502 Fixed broken use of large return values.
31504 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
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,
31518 src/z80/ralloc2.cc,
31519 src/SDCCralloc.hpp,
31521 Fixed bug #3325223.
31523 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
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>
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,
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>
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,
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>
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>
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>
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,
31693 Debug message cleanup.
31695 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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>
31713 Code cleanup wrt. temporary labels.
31715 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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,
31747 Make STX library optional and detect it in configure script.
31749 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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.
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>
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>
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
31804 2011-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31806 * src/SDCCralloc.hpp,
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,
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
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>
31847 src/mcs51/ralloc.c,
31849 src/mcs51/ralloc.h,
31851 src/mcs51/rtrack.c,
31856 src/pic14/pcodepeep.c,
31857 src/pic14/pcoderegs.c,
31858 src/pic14/ralloc.c,
31860 src/pic14/ralloc.h,
31869 src/pic16/device.c,
31870 src/pic16/device.h,
31872 src/pic16/pcoderegs.c,
31873 src/pic16/ralloc.c,
31875 src/pic16/ralloc.h,
31886 src/ds390/ralloc.h,
31889 src/ds390/ralloc.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>
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>
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>
31924 Fixed result assignment bug in addition.
31926 2011-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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>
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>
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>
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>
31968 Fixed genAssign to be able to handle arbitrary register-to-register assignments.
31970 2011-04-11 Philipp Klaus Krause <pkk AT spth.de>
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>
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>
31991 Added warning in commitPair() for lh to hl assignment.
31993 2011-04-09 Philipp Klaus Krause <pkk AT spth.de>
31996 Fixed bug that could result in slightly wrong cost function.
31998 2011-04-09 Borut Razem <borut.razem AT gmail.com>
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>
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>
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>
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.
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.
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>
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,
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>
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>
32116 Fix for genPointerGet when result is lh.
32118 2011-03-31 Philipp Klaus Krause <pkk AT spth.de>
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>
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,
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,
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>
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:
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,
32241 src/z80/ralloc2.cc:
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,
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>
32274 sfr fixes for accurate cost function.
32276 2011-03-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
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,
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,
32316 src/z80/ralloc2.cc,
32318 Code reorganization for a more accurate cost function.
32320 2011-03-20 Philipp Klaus Krause <pkk AT spth.de>
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,
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,
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
32422 removed -O2 from CPPFLAFS
32424 2011-03-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32426 * src/z80/ralloc2.cc,
32430 Code reorganization for a more accurate cost function.
32432 2011-03-16 Philipp Klaus Krause <pkk AT spth.de>
32434 * src/SDCCralloc.hpp,
32438 2011-03-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32440 * src/z80/ralloc2.cc,
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>
32456 src/z80/ralloc2.cc,
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.
32489 Code reorganization for a more accurate cost function.
32491 2011-03-09 Philipp Klaus Krause <pkk AT spth.de>
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>
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.
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,
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>
32564 src/z80/peeph-z80.def:
32567 2011-02-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32569 * src/z80/ralloc2.cc,
32571 src/z80/peeph-z80.def:
32572 Improvements for --optralloc-all.
32574 2011-02-20 Philipp Klaus Krause <pkk AT spth.de>
32578 src/z80/ralloc2.cc:
32579 Fixes for --fomit-frame-pointer.
32583 2011-02-19 Philipp Klaus Krause <pkk AT spth.de>
32585 * src/SDCCralloc.hpp,
32586 src/z80/ralloc2.cc:
32590 Fixes for --reserve-regs-iy.
32591 * support/regression/tests/bug-3184920.c:
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,
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:
32623 * src/z80/ralloc2.cc:
32624 Fix for --optralloc-all.
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.
32635 support/scripts/resource.rc:
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,
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>
32679 sdas/linksrc/Makefile.in,
32680 support/makebin/makebin.c,
32681 support/regression/tests/bug3130806.c:
32684 2011-02-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32686 * sim/ucsim/z80.src/inst_cb.cc:
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,
32710 src/z80/peeph-z80.def:
32711 Improved handling of A and HL.
32713 2011-01-25 Borut Razem <borut.razem AT gmail.com>
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>
32728 src/SDCCralloc.hpp,
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,
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,
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>
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>
32769 src/SDCCtree_dec.hpp,
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,
32834 Disabled forgotten debug message.
32836 2011-01-22 Philipp Klaus Krause <pkk AT spth.de>
32839 src/SDCCralloc.hpp,
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>
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
32861 * src/ds390/ralloc.c,
32865 * src/pic14/ralloc.c,
32867 * src/pic16/genutils.c,
32870 * src/SDCClrange.c,
32871 * src/xa51/ralloc.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,
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:
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>
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>
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:
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>
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>
32983 Makefile.common.in,
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>
33004 Comment on the effects of dead code on live ranges.
33006 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
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>
33033 Use Maarten's better bool scheme.
33035 2011-01-15 Philipp Klaus Krause <pkk AT spth.de>
33040 Makefile.common.in,
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>
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>
33086 Makefile.common.in,
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>
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>
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
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>
33203 Fixed signed comparison for gbz80.
33205 2010-12-06 Philipp Klaus Krause <pkk AT spth.de>
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:
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>
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>
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,
33262 2010-11-21 Philipp Klaus Krause <pkk AT spth.de>
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>
33306 Optimization for & on booleans.
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>
33323 Improvements relating to the use of hl as an alternative to iy.
33325 2010-11-03 Philipp Klaus Krause <pkk AT spth.de>
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>
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
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:
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>
33573 support/regression/tests/bug-3034585.c:
33576 2010-09-27 Maarten Brock <sourceforge.brock AT dse.nl>
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:
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:
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>
33710 src/z80/peeph-z80.def:
33712 * sim/ucsim/z80.src/inst.cc:
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,
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:
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,
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
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
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:
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
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>
33892 support/regression/tests/bool.c:
33895 2010-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
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,
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,
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
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:
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>
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>
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>
34038 support/regression/tests/float_single.c:
34041 2010-07-25 Philipp Klaus Krause <pkk AT spth.de>
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>
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
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:
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
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>
34205 src/mcs51/peeph.def,
34206 src/ds390/peeph.def,
34210 src/z80/peeph-z80.def,
34211 src/z80/peeph-gbz80.def:
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,
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>
34234 Improved canAssign().
34236 2010-06-07 Philipp Klaus Krause <pkk AT spth.de>
34245 src/z80/peeph-z80.def,
34249 Added canAssign() for use in peepholes.
34251 2010-06-07 Philipp Klaus Krause <pkk AT spth.de>
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
34270 * src/SDCC.y: changed E_STORAGE_CLASS_SPECIFIED_FOR_PARAMETER to
34271 E_STORAGE_CLASS_FOR_PARAMETER
34274 * src/SDCCval.c: cosmetic changes
34277 * src/SDCCsymt.h: removed double underscores from function names,
34280 2010-06-03 Philipp Klaus Krause <pkk AT spth.de>
34282 * device/lib/_memcpy,
34283 device/lib/_memmove.c:
34286 2010-06-02 Borut Razem <borut.razem AT siol.net>
34288 * doc/sdccman.lyx: corrected z80 assembler name, corrected revision
34291 2010-06-01 Philipp Klaus Krause <pkk AT spth.de>
34294 Optimization of multibyte comparison.
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
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>
34316 Simplified division optimization.
34318 Fixed comment alignment.
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
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>
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
34347 2010-05-21 Philipp Klaus Krause <pkk AT spth.de>
34353 support/regression/tests/bug1875933.c:
34354 Completed fix for #1875933 applying #2892763.
34356 2010-05-21 Philipp Klaus Krause <pkk AT spth.de>
34360 support/regression/tests/memory.c:
34361 Fixed bug #2995398.
34363 2010-05-16 Philipp Klaus Krause <pkk AT spth.de>
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
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:
34458 * device/lib/pic/libm/expf.c:
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>
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>
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:
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;
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:
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>
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
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
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
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>
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:
34931 2010-01-30 Maarten Brock <sourceforge.brock AT dse.nl>
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,
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
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>
35003 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
35008 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
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>
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,
35037 SDCPP synchronized with GCC CPP release version 4.4.3
35039 2010-01-24 Philipp Klaus Krause <pkk AT spth.de>
35051 src/z80/peeph-z80.def,
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.
35073 doc/random-notes.txt:
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>
35102 Taking the address of _Bool works on the z80 and gbz80 ports.
35104 2010-01-17 Philipp Klaus Krause <pkk AT spth.de>
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.
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
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
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>
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:
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,
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>
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
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
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
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
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>
35673 * src/SDCCsymt.c(mergeDeclSpec): fixed bug 1376285
35675 2009-10-08 Maarten Brock <sourceforge.brock AT dse.nl>
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,
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
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
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
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>
35748 A step towards #1923898.
35750 2009-09-29 Philipp Klaus Krause <pkk AT spth.de>
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>
35761 Burn the corpses to fight necromancy.
35763 2009-09-27 Philipp Klaus Krause <pkk AT spth.de>
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>
35775 src/z80/peeph-z80.def:
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>
35789 Fixed #2819835 applying #2853488.
35791 2009-09-20 Philipp Klaus Krause <pkk AT spth.de>
35792 * debugger/mcs51/sdcdb.c,
35795 src/z80/mappings.i,
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,
35806 2009-09-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35808 * device/include/mcs51/p89v51rd2.h: Watchdog Timer Control sfr is
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
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,
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,
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),
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
36002 * src/SDCCast.c (decorateType): removed incorrect fix for bug 1372851 which
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
36017 * support/regression/tests/bug1458678.c: new, added
36019 2009-08-06 Philipp Klaus Krause <pkk AT spth.de>
36023 * src/z80/peeph-z80.def:
36026 2009-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
36028 * as/link/lksym.c (newsym): only allow redefinition in ABS area
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
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
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,
36086 * as/link/lkar.c: fixed bug 2817508 - double free or memory corruption
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>
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
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>
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
36207 2009-05-24 Philipp Klaus Krause <pkk AT spth.de>
36209 * src/z80/ralloc.c,
36210 src/z80/peeph-z80.def,
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>
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,
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
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
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
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
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
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
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>
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>
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>
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
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
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
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
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
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>
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.
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>
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
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>
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
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>
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
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
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>
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 '/* */',
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
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
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
37532 1963382: Listing File - C file comment is incorrect
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>
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>
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,
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>
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
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>
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),
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
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,
37823 * as/hc08/asmain.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
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,
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>
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
37981 * src/z80/z80.h (added dependency on peep.h),
37982 * src/z80/peep.c (definition of notUsed()): Implemented RFE #1880202
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
37990 * src/port.h (removed dependency on mcs51/peep.h, added declaration
37991 for notUsed()): Implemented generic (that is not port-specific) part
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
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
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
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
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):
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,
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
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
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
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
38264 * src/SDCCutil.h: added getBuildDate()
38265 * src/SDCCmain.c (printVersionInfo),
38266 * src/SDCCglue.c (initialComments): use getBuildDate() instead of
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
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
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>
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
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
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
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,
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>
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
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
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
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
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
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
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
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
38700 * as/mcs51/alloc.h,
38701 * as/z80/alloc.h: removed
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
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
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
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
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
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
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
38819 * src/SDCCast.h: replaced AST_LIT_VALUE with AST_FLOAT_VALUE and
38821 * src/SDCCast.c (decorateType): improved optimization of tri-op
38822 * src/SDCCerr.c (vwerror, setWError),
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
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
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
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,
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
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
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
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
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>
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
39173 * configure.in, configure, sdccconf_in.h: find out the endianess of
39175 * src/SDCC.y: fixed bug #1744146: Crash when compiling array of
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
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
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
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,
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
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,
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
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>
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
39572 * support/scripts/inc2h.pl: documented usage, now uses strict to
39575 2007-04-30 Borut Razem <borut.razem AT siol.net>
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,
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
39723 2007-04-13 Borut Razem <borut.razem AT siol.net>
39725 * doc/sdccman.lyx: -pedantic-parse-number is not in conformance with
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
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>
39848 "Nightly Snapshots" replaced with "Snapshot Builds", since the SDCC
39849 is developed, built and used worldwide, and the word "night" doesn't
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,
39863 * src/SDCCsymt.c (mergeSpec, checkFunction): Parse and validate the
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)
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
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:
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>
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
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>
40043 * src/mcs51/rtrack.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
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
40129 * support/regression/tests/bug-1654060.c: added regression test for
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
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
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
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
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
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
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, ...
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]:
40447 * suppoprt/cpp2/Makefile.in, suppoprt/cpp2/opts.c,
40448 suppoprt/cpp2/sdcpp-opts.c, suppoprt/cpp2/sdcpp.[ch],
40449 suppoprt/cpp2/sdcpp.dsp:
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:
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:
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
40502 * as/z80/asm.h: added as_strcmpi() and as_strncmpi() prototypes
40503 * as/hc08/asmain.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
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,
40538 * as/hc08/Makefile.in,
40539 * as/hc08/clean.mk,
40540 * as/mcs51/Makefile.in,
40541 * as/mcs51/clean.mk,
40544 * as/z80/Makefile.in,
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,
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@
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
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)
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
40657 support/cpp2/opt-functions.awk
40658 support/cpp2/opt-gather.awk
40659 support/cpp2/optc-gen.awk
40660 support/cpp2/opth-gen.awk:
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:
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:
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:
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),
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
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),
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:
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,
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
40804 * src/z80/ralloc.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
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:
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:
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
40867 2006-12-21 Maarten Brock <sourceforge.brock AT dse.nl>
40869 * as/link/mcs51/lkarea.c (lnkarea2): handle absolute areas, restructured
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
40875 * src/ds390/main.c,
40877 * src/mcs51/main.c,
40878 * src/pic16/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
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
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
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
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:
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()
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
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,
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
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
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,
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
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,
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
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:
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
41529 (BankSelect): emit BANKSEL before touching linker-placed regs,
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
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,
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
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
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
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,
41637 * src/mcs51/main.c,
41638 * src/pic16/main.c,
41641 * src/z80/main.c: added cabs_name initializers
41642 * src/SDCCglue.c (emitStaticSeg): allocate and initialize absolute
41644 (emitMaps): emit absolutes in code memory into cabs_name
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>
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,
41761 as/mcs51/Makefile.bcc,
41762 as/mcs51/Makefile.in,
41765 sdcc.dsw: moved mcs51 linker to as/link/mcs51
41767 2006-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
41770 * as/link/Makefile.in,
41771 * as/link/z80/linkgbz80.dsp,
41772 * as/link/z80/linkz80.dsp,
41776 * link/Makefile.in,
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,
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,
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
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
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,
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),
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
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
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
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
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,
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:
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:
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),
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),
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
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
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
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
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
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
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
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,
42439 src/izt/tlcs900h.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
42451 2006-06-12 Maarten Brock <sourceforge.brock AT dse.nl>
42456 * src/pic16/main.c,
42457 * src/pic16/pcode.c,
42459 * src/pic/pcoderegs.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
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
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
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
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
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
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
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
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
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>
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
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
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,
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
42930 * configure: always create doc/Makefile independent from --enable-doc
42931 * Makefile.in: always install from directory doc independent from
42933 * device/lib/pic/Makefile.in: added libdev again, it was erroneously
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
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)'
42985 * link/z80/Makefile: removed, they have moved to
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
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
43037 * src/pic/glue.c (pic14_constructAbsMap): handle assignments to config
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
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
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
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
43118 * src/pic16/pic16.dsp: lowered warning level to 2 to suppress pedantic
43120 * src/pic16/ralloc.c
43121 * src/pic16/ralloc.h (newReg): changed type to int and size to unsigned
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
43172 * support/regression/generate-cases.py: fixed splitting of pathnames
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
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
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
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),
43317 * src/pic16/gen.c (genRightShift): check IS_SYMOP before accessing
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
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
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
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
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
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
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()
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
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
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
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) ();
43612 * as/hc08/aslink.h,
43614 * as/hc08/asmain.c,
43615 * as/hc08/lkdata.c,
43617 * as/hc08/lkmain.c,
43618 * as/mcs51/aslex.c,
43619 * as/mcs51/aslink.h,
43621 * as/mcs51/asmain.c,
43622 * as/mcs51/lkdata.c,
43623 * as/mcs51/lklex.c,
43624 * as/mcs51/lkmain.c,
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
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
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>
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,
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
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
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,
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
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
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
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
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,
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
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
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,
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
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
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
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
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
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
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
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
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
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
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/
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,
44380 * src/pic/ralloc.c (debugLog),
44381 * src/pic16/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
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
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
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
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
44429 * src/ds390/main.c,
44432 * src/pic16/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
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
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
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,
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
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
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"
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
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
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
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,
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
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
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,
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
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
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
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)
44951 * rewrote complete shift-by-literal logic, commented unused
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
44984 * (emitpComment): NEW, printf to pCode
44985 * (popGet): added assert on too large offsets, fixed PO_IMMEDIATE's
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-
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
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
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:
45082 * device/include/pic16/signal.h: added USBIF
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,
45108 * src/hc08/gen.c (genCmpEQorNE, genCmp, branchopCmp, nameCmp,
45109 negatedCmp, exchangedCmp, genhc08Code): rewrite of comparison handling,
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,
45163 * src/SDCC.y (external_definition, enumerator, parameter_declaration,
45164 compound_statement),
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(""),
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
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
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
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,
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
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
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
45433 * device/include/stdint.h: changed intptr_t and uintptr_t for others than
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
45457 * device/lib/pic16/libc/stdlib/g_ftoa.S: modified to include
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
45485 * (pic16_getJumptabpCode): NEW, needed in...
45486 * (LinkFlow): fixed handling of jumptables, calls and conditional
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
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
45607 2005-03-31 Vangelis Rokas <vrokas AT users.sourceforge.net>
45609 * src/pic16/device.c (Pics16[]): added devices 18F2550, 18F4331,
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
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
45650 * src/pic16/ralloc.c (pic16_decodeOp): added decode for
45651 DUMMY_READ_VOLATILE,
45653 * device/include/pic16/adc.h: minor prototype modifications and
45655 * device/include/pic16/malloc.h: added GPL notice various
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,
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
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),
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
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),
45732 * src/ds390/ralloc.c (ds390_assignRegisters),
45733 * src/ds390/main.c,
45734 * src/hc08/ralloc.c (hc08_assignRegisters),
45736 * src/mcs51/ralloc.c (mcs51_assignRegisters),
45737 * src/mcs51/main.c,
45738 * src/pic/ralloc.c (pic14_assignRegisters),
45740 * src/pic16/ralloc.c (pic16_assignRegisters),
45741 * src/pic16/main.c,
45742 * src/xa51/ralloc.c (xa51_assignRegisters),
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),
45749 * src/SDCCdflow.c (computeDataFlow),
45751 * src/SDCCloop.c (addDefInExprs, loopInvariants, loopOptimizations),
45753 * src/SDCCcflow.c (*),
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
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
45855 * (_pic16_initPaths): when calling C preprocessor define pic18fXXXX
45856 macro too, when calling assembler define pic18fXXXX *and* __18Fxxxx
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
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
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...),
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
46086 * added function attribute 'wparam' as an alternative to the wparam
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
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()
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
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
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
46171 * (pic16_genMinus): fixed to cope with differently sized operands
46172 * src/pic16/glue.c (pic16_glue): added new banksel optimization
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
46190 * device/include/asm/pic16/features.h: added _CODE, _DATA, _AUTOMEM,
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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>
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
46766 * (genCall, genPcall): now all parameters are passed via stack
46767 except in functions that are pass to wparam pragma in which WREG is
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
46773 * (genJumpTab): applied patch from bug #1057478 by R.Neider and
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
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
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
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
46852 2004-10-20 Vangelis Rokas <vrokas AT otenet.gr>
46854 * device/lib/pic16/libsdcc/Makefile: added lregs directory in
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
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
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
46923 * src/ds390/main.c,
46925 * src/mcs51/main.c,
46927 * src/pic16/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
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
47001 * (pic16_sameRegs): fixed bug that allowed MOVFF to move between
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)
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
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
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
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
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
47121 * (genGenPointerGet, genGenPointerSet): rewrote to support generic
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
47134 * src/pic16/main.c (_pic16_initPaths): ignores default SDCC include
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'
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
47154 2004-09-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
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
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
47207 2004-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47210 * src/hc08/gen.c (genJumpTable): more efficient jump table, supports
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
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
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,
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
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>
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
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.
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>
47367 * src/mcs51/main.c,
47368 * src/ds390/main.c,
47372 * src/pic16/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
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
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
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
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,
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,
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,
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
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
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
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
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
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
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
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>
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>
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
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,
48260 * src/ds390/main.c,
48263 * src/izt/tlcs900h.c,
48264 * src/mcs51/main.c,
48266 * src/pic16/main.c: modified port structures to reflect addition of
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
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
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
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
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
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
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
48389 * src/SDCCdwarf2.c (dwTagFromType): fix to handle recursive
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),
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),
48408 * src/pic/gen.c (pic14_emitDebuggerSymbol),
48410 * src/pic16/gen.c (pic14_emitDebuggerSymbol),
48411 * src/pic16/main.c,
48412 * src/avr/gen.c (avr_emitDebuggerSymbol),
48414 * src/xa51/gen.c (xa51_emitDebuggerSymbol),
48416 * src/SDCCdebug.c (emitDebuggerSymbol),
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
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
48440 * src/hc08/gen.c (genEndFunction, genhc08Code),
48442 * src/mcs51/gen.c (genEndFunction, gen51Code),
48444 * src/ds390/gen.c (genEndFunction, gen390Code),
48446 * src/z80/gen.c (genEndFunction, genZ80Code),
48449 * src/pic/gen.c (genEndFunction, genpic14Code),
48451 * src/pic16/gen.c (genEndFunction, genpic16Code),
48453 * src/avr/gen.c (genEndFunction, genAVRCode),
48455 * src/xa51/gen.c (genEndFunction, genXA51Code),
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
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
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
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
48502 * src/SDCCcse.c (updateSpillLocation),
48503 * src/SDCCopt.c (killDeadCode, findReqv): better tracking of register
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>
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,
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
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
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
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
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
48711 2004-03-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
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
48727 * src/ds390/main.c,
48730 * src/pic16/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
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
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
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
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
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
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,
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),
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
48996 * (pushSide): commented out with #if,
48997 * (assignResultValue): fixed some typos in saving
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"
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>
49031 * src/SDCCpeeph.c (pcDistance),
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
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
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
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
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
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
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
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
49155 * (pic16emitRegularMap): many many many improvements, but needs a
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
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
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
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
49232 2004-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
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
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):
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>
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>
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
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,
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,
49339 * src/ds390/gen.c (genNearPointerGet, genPagedPointerGet,
49340 genFarPointerGet, genCodePointerGet, genGenPointerGet,
49341 genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49343 * src/pic16/gen.c (genNearPointerGet, genPagedPointerGet,
49344 genFarPointerGet, genCodePointerGet, genGenPointerGet,
49345 genNearPointerSet, genPagedPointerSet, genFarPointerSet,
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):
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,
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,
49403 * (shiftLLeftOrResult),
49404 * (shiftRLeftOrResult),
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),
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()
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
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
49506 * support/regression/generate-cases.py (main): Changed from inline
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,
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
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
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
49637 * added targets 'model-pic16' and 'objects-pic16' to compile the
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
49656 2004-01-13 Bernhard Held <bernhard AT bernhardheld.de>
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
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
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
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
49763 * src/pic16/glue.c (pic16emitRegularMap): various changes and
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
49774 * (pic16_printpBlock): modified to emit each function in a separate
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
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
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
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,
49833 * src/ds390/main.c,
49835 * src/mcs51/main.c,
49837 * src/pic16/main.c,
49839 * src/z80/main.c: changed appropriately to configure
49840 needLinkerScript flag
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
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
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,
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),
49911 * support/Util/SDCCerr.c,
49912 * support/Util/SDCCerr.h: fixed bug #871258 and some other unreported
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
49979 * _pic16_genIVT: is modified,
49981 * pcode.c: added definitions for some hardware registers that are needed
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
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
50004 * pic16_allocInternalRegister: registers are explicit marked as
50006 * pic16_writeUsedRegs: pic16_dynDirectBitRegs was missing from the
50007 processing list, so bit registers were lost,
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
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
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
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
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
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
50123 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50126 * src/SDCCast.c (newAst_),
50128 * src/SDCCicode.c (ast2iCode, newiCode),
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
50134 * src/SDCCopt.c (killDeadCode): fixed bug #861580 (needs the sequence
50137 2003-12-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50139 * support/Util/SDCCerr.c,
50141 * src/SDCCast.c (createCase, createDefault, decorateType),
50142 * src/SDCClabel.c (labelUnreach),
50143 * src/SDCC.y (labeled_statement, jump_statement): More improvements
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
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,
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
50258 * src/z80/peeph-z80.def
50259 * src/z80/peeph.def
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),
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,
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)
50341 2003-11-23 Klaus Flittner <klaus_flittner AT gmx.de>
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,
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>
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),
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
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
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,
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>
50487 * src/mcs51/main.c,
50488 * src/ds390/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)
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
50528 * as/mcs51/lklibr.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
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
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>
50630 * as/hc08/lkrloc.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>
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
50656 * support/Util/SDCCerr.c
50657 * support/Util/SDCCerr.h
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):
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
50693 * sim/ucsim/hc08.src/*
50694 * sim/ucsim/configure.in
50695 * src/ucsim/configure
50696 * sim/ucsim/packages_in.mk
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
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:
50753 * src/ds390/ralloc.c
50755 * src/mcs51/ralloc.c
50757 * src/pic16/ralloc.c
50758 * src/xa51/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
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
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>
50814 2003-10-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50817 * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
50819 * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
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
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
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
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
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),
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
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.
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:
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
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:
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.
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.
51115 * src/mcs51/peeph.def
51117 2003-08-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
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
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
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
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,
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
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
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
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
51249 * support/Util/SDCCerr.c
51250 * support/Util/SDCCerr.h
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
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.
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:
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
51326 * link/z80/aslink.h
51327 * link/z80/lkdata.c
51328 * link/z80/lkeval.c
51333 * support/cpp2/cpplib.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:
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:
51361 * Makefile.common.in
51363 Messed up 'configure', so revert to previous version:
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
51386 * Makefile.common.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
51399 * as/mcs51/asmain.c
51401 * as/mcs51/i51pst.c
51402 * as/mcs51/lkdata.c
51403 * as/mcs51/lklibr.c
51404 * as/mcs51/lkmain.c
51410 * link/z80/aslink.h
51411 * link/z80/lkdata.c
51412 * link/z80/lklibr.c
51413 * link/z80/lkmain.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
51440 2003-07-24 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51442 added support for new library format to z80, gbz80 linkers:
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:
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:
51514 * src/pic/Makefile:
51521 * pic16/genarith.c:
51526 * pic16/pcodepeep.c:
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
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
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
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):
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
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
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
51885 2003-04-29 Kevin Vigor <kevin AT vigor.nu>
51887 Initial support for DS80C400. "Hello world" runs on TINIm400
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
51927 * debugger/mcs51/Makefile.in
51928 * debugger/mcs51/clean.mk
51929 * link/z80/Makefile
51930 * link/z80/Makefile.in
51931 * link/z80/clean.mk
51933 * packihx/Makefile.in
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
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;
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
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
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)
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
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:
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>
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:
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
52529 M device/include/Makefile.in
52530 M device/lib/Makefile.in
52533 M sim/ucsim/doc/Makefile.in
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
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
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
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
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
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
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
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
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
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.
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>
53089 Added "char *Processor" field to the port structure.
53092 Added -p option. Allows port dependent processor to be specified.
53095 Initialized the new field char *Processor field to NULL in all ports
53098 Compiler generated registers for interrupt context saving
53099 were not getting allocated.
53101 2002-03-16 Sandeep Dutta <sandeep AT ddi.com>
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>
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:
53117 * src/pic/device.c:
53118 Added. device.c is a PIC port hack to accomodate variations
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
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
53224 2002-02-21 <johan AT FRIJA>
53226 * src/SDCCcse.c: fixed bug #514308
53228 2002-02-20 Sandeep Dutta <sandeep AT ddi.com>
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>
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
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
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
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
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
53452 added function genAssemblerEnd will be called to generate assembler Epilogue
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
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