1 2024-06-22 Philipp Klaus Krause <philipp@colecovision.eu>
3 * device/*/ez80_z80/setjmp.s:
4 Improve setjmp/longjmp for z80-related ports, patch #479 by Janko Stamenović.
6 2024-06-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8 * device/lib/s08-stack-auto/_setjmp.c: fix bug #3743
9 * support/regression/tests/longjump.c: re-enable test affected by bug
11 2024-06-17 Philipp Klaus Krause <philipp@colecovision.eu>
13 * device/lib/sm83/Makefile.in:
14 Fix strnlen build for sm83 port.
16 2024-06-16 Philipp Klaus Krause <philipp@colecovision.eu>
18 * support/regression/tests/longjmp.c:
19 Disable a test for configuration affected by known bug #3743 (-ms08 --stack-auto).
21 2024-06-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23 * src/hc08/main.c (hasExtBitOp),
24 src/mos6502/main.c (hasExtBitOp): fix bug #3731
25 * support/regression/tests/sha3-256.c: only enabled for ports
26 that can handle returning large structs
27 * src/mos6502/gen.c (genRet): fail unsupported struct return better
29 2024-06-13 Philipp Klaus Krause <philipp@colecovision.eu>
31 * device/lib/r2k/setjmp.s
32 device/lib/r2ka/setjmp.s
33 device/lib/r3ka/setjmp.s
34 support/regression/tests/setjmp.c,
35 support/regression/tests/longjmp.c:
36 Fix setjmp/longjmp return value for Rabbits.
37 * device/include/string.h,
41 device/lib/Makefile.in,
42 device/lib/*/Makefile.in,
43 device/lib/pic14/libc/Makefile.am,
44 device/lib/pic14/libc/Makefile.in,
45 support/regression/tests/strnlen.c:
47 * support/regression/tests/bug-3730.c,
48 support/regression/tests/bug-3740.c:
49 Disable warnings on (intentionally) unused parameters in two regression tests.
50 * device/lib/tlcs90/setjmp.s:
51 Fix TLCs-90 interrupt flag handling in longjmp.
53 2024-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
56 Fix handling of edges in vertex removal from stack conflict graph on spill location parameter merge.
58 2024-06-06 Philipp Klaus Krause <philipp@colecovision.eu>
60 * support/regression/tests/bug-3741.c:
61 Fix test for ports without banked function calls.
63 2024-06-05 Philipp Klaus Krause <philipp@colecovision.eu>
65 * support/regression/tests/bug-3741.c:
66 Add a regression test for a reported bug that I haven't been able to reproduce locally.
68 2024-06-03 Philipp Klaus Krause <philipp@colecovision.eu>
70 * src/SDCCgenconstprop.cc,
72 Fix a z80 codegen issue in the handling of information from generalized constant propagation.
74 2024-06-03 Philipp Klaus Krause <philipp@colecovision.eu>
77 support/regression/tests/bug-3740.c:
80 2024-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
83 Parse ZX Spectrum Next nextreg instruction.
85 2024-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
91 2024-05-29 Philipp Klaus Krause <philipp@colecovision.eu>
94 Skip leading zeroes on comparisons and some increments.
96 2024-05-28 Philipp Klaus Krause <philipp@colecovision.eu>
99 Use information from generalized constant propagation to optimize comparisons of signed types.
101 2024-05-27 Philipp Klaus Krause <philipp@colecovision.eu>
104 z80 codegen improvements.
106 2024-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
108 * src/SDCCsalloc.hpp,
112 Use stack parameter locations as spill locations in some simple cases.
114 2024-05-16 Philipp Klaus Krause <philipp@colecovision.eu>
117 support/regression/tests/bug-3733.c:
120 2024-05-03 Philipp Klaus Krause <philipp@colecovision.eu>
122 * support/regression/tests/sha3-256.c:
123 SHA3-256 test assumes little endian, so disable it for other systems.
125 2024-05-02 Philipp Klaus Krause <philipp@colecovision.eu>
128 mcs51 named address space clarifications.
129 * support/regression/tests/sha3-256.c:
132 2024-05-01 Philipp Klaus Krause <philipp@colecovision.eu>
135 Fix an issue in previous commit.
137 2024-04-30 Philipp Klaus Krause <philipp@colecovision.eu>
139 * src/z80/ralloc2.cc,
141 Improve use of register a and (hl) in comparisons.
143 2024-04-29 Philipp Klaus Krause <philipp@colecovision.eu>
146 Fix an issue in the handling of register hl vs a in write via pointer.
148 2024-04-26 Philipp Klaus Krause <philipp@colecovision.eu>
150 * src/z80/ralloc2.cc:
153 2024-04-25 Philipp Klaus Krause <philipp@colecovision.eu>
155 * support/regression/tests/bug-3730.c:
158 2024-04-24 Philipp Klaus Krause <philipp@colecovision.eu>
161 Update documentation on implementation-defined behaviour.
162 * sdas/astlcs90/t90.h,
163 sdas/astlcs90/t90mch.c,
164 sdas/astlcs90/t90pst.c,
166 Use lda for tlcs90 codegen.
168 2024-04-23 Felix Salfelder <felix AT salfelder.org>
170 * support/cpp/gcc/cc1_dummies.cc
171 Amend unused function prototypes. Fixes #3725
173 2024-04-23 Philipp Klaus Krause <philipp@colecovision.eu>
176 Global operand handling fixes.
178 2024-04-22 Philipp Klaus Krause <philipp@colecovision.eu>
181 support/regression/ports/ucz80-unsafe-read:
182 Allow use 16-bit loads from memory to load 8-bit registers.
184 2024-04-22 Philipp Klaus Krause <philipp@colecovision.eu>
188 Improve storing of 0 into global variables.
190 2024-04-22 Philipp Klaus Krause <philipp@colecovision.eu>
192 * support/scripts/as2gbmap.py:
193 Migrate as2gbmap to Python 3, patch from Debian.
195 Improve handling of function calls in notUsed(From)('iy').
197 Fix handling of operand in a in built-in strchr.
199 2024-04-19 Philipp Klaus Krause <philipp@colecovision.eu>
202 Improve handling of register argument in a in register allocation.
204 2024-04-19 Philipp Klaus Krause <philipp@colecovision.eu>
207 Fix generation of a redundant instruction in z80 comparison.
209 2024-04-18 Philipp Klaus Krause <philipp@colecovision.eu>
212 Improve handling of function calls in notUsed(From).
214 Improve addition of 256 to 16-bit register operand.
216 2024-04-17 Philipp Klaus Krause <philipp@colecovision.eu>
218 * support/regression/tests/discussion-1854.c,
219 support/regression/tests/bug-3728.c,
220 support/regression/tests/bug-3729.c:
221 Add 2 regression tests for potential issues.
223 2024-04-16 Philipp Klaus Krause <philipp@colecovision.eu>
225 * device/include/asm/r2k/features.h,
226 device/include/asm/r3ka/features.h,
227 device/include/asm/sm83/features.h,
228 device/include/asm/stm8/features.h,
229 device/include/asm/tlcs90/features.h,
230 device/include/asm/z80/features.h,
231 device/lib/_strcmp.c,
232 device/lib/_strcpy.c,
234 support/regression/tests/bug-3728.c:
236 * support/regression/tests/bug-3727.c:
237 Simplify regression test, as suggested by Janko Stamenović.
239 2024-04-16 Philipp Klaus Krause <philipp@colecovision.eu>
244 Improve use of hl, towards RFE #905.
246 2024-04-13 Philipp Klaus Krause <philipp@colecovision.eu>
250 Small z80 codegen improvements, part of RFE #905.
252 2024-04-12 Philipp Klaus Krause <philipp@colecovision.eu>
255 Small z80 codegen improvements, RFE #904.
256 * support/regression/tests/bug-3727.c:
257 Regression test (for now disabled) for not-yet fixed bug #3727.
259 2024-03-31 Philipp Klaus Krause <philipp@colecovision.eu>
261 * src/z80/ralloc2.cc,
263 Improve code generation for z80 comparisons.
266 Improve lospre debug output.
268 2024-03-29 Philipp Klaus Krause <philipp@colecovision.eu>
274 Enable more register packing optimizations.
276 2024-03-28 Philipp Klaus Krause <philipp@colecovision.eu>
279 Optimize out some more intermediate pop/push.
281 Fine-tune djnz optimization hint.
283 2024-03-27 Philipp Klaus Krause <philipp@colecovision.eu>
285 * src/SDCCgenconstprop.cc:
286 Fix an issue introduced in yesterday's fix for bug #3720.
288 2024-03-26 Philipp Klaus Krause <philipp@colecovision.eu>
291 Fix an optimization hint inversion bug that prevented use of djnz.
293 2024-03-26 Philipp Klaus Krause <philipp@colecovision.eu>
295 * src/SDCCgenconstprop.cc,
299 Allow for some more flexibility in the handling of register arguments.
301 2024-03-25 Philipp Klaus Krause <philipp@colecovision.eu>
303 * src/SDCCgenconstprop.cc:
304 Improve generalized constant propagation analysis accuracy.
307 Fix a peephole optimizer issue in the handling of register parameters to calls through function pointers when a symbol had the same name as a register.
309 2024-03-23 Philipp Klaus Krause <philipp@colecovision.eu>
311 * src/SDCCgenconstprop.cc,
312 support/regression/tests/bug-3717.c:
315 2024-03-23 Philipp Klaus Krause <philipp@colecovision.eu>
317 * src/SDCCgenconstprop.cc,
319 Improve generalized constant propagation analysis accuracy.
321 2024-03-18 Philipp Klaus Krause <philipp@colecovision.eu>
323 * src/z80/ralloc2.cc:
324 Improve use of hl for --reserve-regs-iy.
326 2024-03-17 Philipp Klaus Krause <philipp@colecovision.eu>
328 * src/stm8/peeph.def:
329 Optimize out some tnz(w).
331 2024-03-16 Philipp Klaus Krause <philipp@colecovision.eu>
333 * src/stm8/peeph.def:
334 Simplify some stm8 pushw, common at beginning of function.
336 2024-03-03 Benedikt Freisen <b.freisen AT gmx.net>
338 * src/SDCCgenconstprop.cc:
339 Remove semicolon after if-condition. (bug #3713)
341 2024-03-01 Philipp Klaus Krause <philipp@colecovision.eu>
344 Workaround for a LyX 2.4 issue, fixes bug #3708.
346 2024-02-29 Gabriele Gorla <gorlik@yahoo.com>
349 change safeLabelKey2num macro to safeLabeNum function.
351 2024-02-29 Philipp Klaus Krause <philipp@colecovision.eu>
355 support/regression/tests/bug-3711.c:
358 2024-02-20 Gabriele Gorla <gorlik@yahoo.com>
361 Rename jflag in genIfxJump from "a" to "z".
362 Refactor genAnd, GenOr, GenXor.
364 2024-02-19 Gabriele Gorla <gorlik@yahoo.com>
367 Remove a few dead code paths.
368 Improve tracking of literals in the RegTemp stack.
369 * src/mos6502/peeph.def:
370 Add rule for tax/tay followed by tax/tay.
372 2024-02-17 Gabriele Gorla <gorlik@yahoo.com>
376 src/mos6502/ralloc.c:
377 Fix compile warnings and a few typos.
379 2024-02-10 Benedikt Freisen <b.freisen AT gmx.net>
381 * device/include/mcs51/stc89.h:
382 Fix typo in watchdog SFR definition. (bug #3710)
384 2024-02-04 Benedikt Freisen <b.freisen AT gmx.net>
386 * debugger/mcs51/sdcdb.h,
387 debugger/mcs51/symtab.c:
388 Fix bug #3529 via patch #450 by Mark Symonds.
390 2024-02-04 Benedikt Freisen <b.freisen AT gmx.net>
392 * device/include/stddef.h:
393 Use >= instead of > for C23 test. (bug #3709)
395 2024-02-03 Philipp Klaus Krause <philipp@colecovision.eu>
397 * support/scripts/sdcc.nsi:
398 Fix installer creation script for recent pic16 library changes.
400 2024-02-01 Philipp Klaus Krause <philipp@colecovision.eu>
402 * sdas/asrab/rabmch.c:
403 Back-port error messages from asrab 5.40, patch #473 by D-mo.
404 * support/scripts/sdcc.nsi:
405 Fix installer creation script for recent pic16 library changes.
407 2024-01-31 Philipp Klaus Krause <philipp@colecovision.eu>
409 * device/include/pic16,
411 device/non-free/lib/pic16,
413 device/include/asm/pic16/features.h,
414 device/include/sdcc-lib.h,
415 device/include/setjmp.h,
416 device/include/stdarg.h,
417 device/include/stdint.h,
418 support/regression/tests/float_single.c.in:
419 pic16 refactoring and fixes, parts 1 to 3 and 7 to 10 of patch #472 by Jonathon Hall.
421 2024-01-29 Philipp Klaus Krause <philipp@colecovision.eu>
423 * Merge next branch to trunk.
425 2024-01-28 Gabriele Gorla <gorlik@yahoo.com>
428 Refactor asmopToBool().
430 Improvements to genAnd().
432 2024-01-27 Gabriele Gorla <gorlik@yahoo.com>
435 src/mos6502/ralloc.h:
436 Remove dead references to M6502MASK_REV.
438 2024-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
440 * sdas/asz80/z80mch.c:
443 2024-01-27 Gabriele Gorla <gorlik@yahoo.com>
445 * src/mos6502/ralloc.c:
446 Small cleanup of m6502_dirtyReg.
448 Imporvements to genCmp.
450 2024-01-26 Philipp Klaus Krause <philipp@colecovision.eu>
455 Export 32-bit addresses from gb assembler (instead of 24-bit).
457 2024-01-22 Philipp Klaus Krause <philipp@colecovision.eu>
460 Fix pdk code generation issues, bug #3697.
461 * sdas/asz80/z80mch.c:
462 Export 32-bit addresses from z80 assembler (instead of 24-bit).
464 2024-01-16 Benedikt Freisen <b.freisen AT gmx.net>
467 Makeshift fix for bug #3694: Delete sdcpp in uninstall.
469 2024-01-15 Gabriele Gorla <gorlik@yahoo.com>
471 * src/mos6502/peep.def:
472 Fix bug in peephole load 12 rule.
474 src/mos6502/peep.def:
475 Improvements in genCast(), genCopy() and loadRegFromAop().
477 2024-01-15 Philipp Klaus Krause <philipp@colecovision.eu>
479 * support/scripts/sdcc.nsi:
482 2023-01-14 Philipp Klaus Krause <philipp@colecovision.eu>
487 Optimize pdk register packing for some operations on __sfr (part of RFE #801).
489 2024-01-13 Gabriele Gorla <gorlik@yahoo.com>
492 Fix constanRange regression failure for mos6502-stack-auto.
493 Implement special case for genCompare < 0
494 * src/mos6502/ralloc2.cc:
495 Add instruction cost for IPUSH_VALUE_AT_ADDRESS icode.
496 * src/mos6502/peep.def:
497 Add several new rules that take advantage of if used().
498 * support/regression/ports/uc6502-stack-auto/spec.mk,
499 support/regression/tests/gcc-torture-execute-20010129-1.c,
500 support/regression/tests/gcc-torture-execute-20030916-1.c,
501 support/regression/tests/gcc-torture-execute-20071030-1.c,
502 support/regression/tests/gcc-torture-execute-930614-2.c,
503 support/regression/tests/gcc-torture-execute-930628-1.c,
504 support/regression/tests/gcc-torture-execute-990513-1.c,
505 support/regression/tests/gcc-torture-execute-ssad-run.c,
506 support/regression/tests/gcc-torture-execute-usad-run.c,
507 support/regression/tests/lonesha256.c,
508 support/regression/tests/tinyaes.c.in:
509 disable tests failing in the mos6502-stack-auto port due to stack size limitation.
510 * src/mos6502/main.c:
511 Rearrange memory segments to support systems without ROM space.
513 src/mos6502/ralloc.h:
514 Remove dead code to support registers in reverse order.
516 2024-01-12 Gabriele Gorla <gorlik@yahoo.com>
521 2024-01-12 Philipp Klaus Krause <philipp@colecovision.eu>
526 2024-01-12 Philipp Klaus Krause <philipp@colecovision.eu>
529 Improve pdk notUsed() accuracy.
531 2024-01-11 Philipp Klaus Krause <philipp@colecovision.eu>
535 * support/scripts/sdcc.nsi:
538 2024-01-10 Gabriele Gorla <gorlik@yahoo.com>
541 Implement a few 65C02 optimizations.
543 2024-01-09 Gabriele Gorla <gorlik@yahoo.com>
546 Additional carry flag tracking optimizations.
548 Improve debug messages.
550 2024-01-08 Philipp Klaus Krause <philipp@colecovision.eu>
552 * support/regression/ports/pic16/spec.mk,
553 sdcc/src/pic16/gen.c,
554 sdcc/src/pic16/gen.h,
555 sdcc/src/pic16/genutils.c,
556 sdcc/src/pic16/genutils.h,
557 sdcc/src/pic16/ralloc.c,
559 Basic pic16 long long support, patch #471 by Jonathon Hall.
561 2024-01-08 Gabriele Gorla <gorlik@yahoo.com>
564 replace all instances of emitLabel() with safeEmitLabel().
567 enable last operation flag tracking.
569 enable carry flag tracking.
571 2024-01-03 Philipp Klaus Krause <philipp@colecovision.eu>
573 * device/lib/_divuchar.c,
574 device/lib/_moduchar.c:
575 Fix optimization turning division support troutines into infinite loops.
576 * device/lib/pdk*/Makefile.in,
577 device/lib/pdk*/_muluchar.s:
578 Improve pdk 8x8 multiplication efficiency, based on patch #470 by Konstantin Kim.
580 2024-01-02 Philipp Klaus Krause <philipp@colecovision.eu>
582 * support/regression/tests/satcounteroverflow.c.in:
583 Regression test for saturating counter implemented via overflow-check-revert, inspired by discussion of patch #447 by Konstantin Kim.
585 2023-12-30 Philipp Klaus Krause <philipp@colecovision.eu>
588 Fixes for z flag handling in pdk peephole optimizer rules.
591 Optimize out some redundant stores to a, insprired by parts of patch #447 by Konstantin Kim.
593 Fix notVolatile('a') for pdk.
595 Improve flag handling in pdk peephole optimizer.
597 Improve flag handling in z80 peephole optimizer.
599 2023-12-29 Gabriele Gorla <gorlik@yahoo.com>
602 Imporve use of BIT instruction.
603 * src/mos6502/ralloc.c,
604 src/mos6502/ralloc.h:
605 Prepare for improved register pair handling.
607 correct constant size in isLiteralBit().
609 Prepare for improved register pair handling.
611 2023-12-29 Philipp Klaus Krause <philipp@colecovision.eu>
614 pdk peephole optimizer improvements, mostly from patch #447 by Konstantin Kim.
615 * support/regression/tests/iobit.c.in:
616 Improve test coverage for bit access on __sfr, inspired by discussion of patch #447.
618 Add a peephole optimizer rule from patch #447 by Konstantin Kim.
620 2023-12-29 Gabriele Gorla <gorlik@yahoo.com>
626 remove unused aop_immd2 from aop structure.
628 2023-12-28 Gabriele Gorla <gorlik@yahoo.com>
630 * device/lib/mos6502/_divuchar.s,
631 device/lib/mos6502/_moduchar.s:
632 Fix regression failures introduced by r14555
635 support/regression/tests/gcc-torture-execute-strlen-4.c:
636 Fix bug #2987 and enable gcc-torture-execute-strlen-4 for mos6502 and hc08.
638 Fix small debug print bug.
639 * src/mos6502/peep.c:
640 Fix affected flags and add "sec".
643 Make comments style consistent
645 2023-12-28 Philipp Klaus Krause <philipp@colecovision.eu>
647 * src/mcs51/peeph.def:
648 Optimize out some unnecessary register use.
650 2023-12-27 Philipp Klaus Krause <philipp@colecovision.eu>
653 Improve handling of I/O and tail calls, fixes bug #3688.
657 Peephole rule application limit, fixes bug #3557.
658 * src/SDCCgenconstprop.cc:
659 Improve narrowing of multiplicative operators based on generalized constant propagation.
660 * src/mcs51/peeph.def:
661 Peephole optimizer rule to optimize another variant of __code array access.
662 * src/mos6502/main.c,
663 src/mos6502/peeph.def,
666 notUsed/notUsedFrom for mos6502 flags.
668 2023-12-20 Philipp Klaus Krause <philipp@colecovision.eu>
671 Remove comment on non-compliance with C2X draft N3047 wrt. tag compatibility: current C23 draft N3149 matches SDCC behaviour.
673 2023-12-20 Benedikt Freisen <b.freisen AT gmx.net>
676 Various updates to the manual.
678 2023-12-20 Philipp Klaus Krause <philipp@colecovision.eu>
683 Set version to 4.4.0 to prepare for release.
684 * sdcc/support/scripts/sdcc.nsi
685 Enable mos65c02 port.
687 2023-12-19 Philipp Klaus Krause <philipp@colecovision.eu>
691 Enable mos65c02 port.
693 2023-12-18 Philipp Klaus Krause <philipp@colecovision.eu>
702 2023-12-17 Gabriele Gorla <gorlik@yahoo.com>
705 fix bra in the opcode table. Use strncmp in the opcode search to support 65C02 bit manipulation instructions.
707 fix wrong offset for struct return in mos6502-stack-auto port
710 2023-12-14 Philipp Klaus Krause <philipp@colecovision.eu>
712 * support/regression/tests/bug-3685.c:
713 Provide extern declartion to make test compile on hosts that choose not to inline.
715 2023-12-13 Gabriele Gorla <gorlik@yahoo.com>
717 * support/regression/tests/stack-restore.c.in
718 partially disable test for mos6502-stack-auto due to stack size limitations
720 2023-12-13 Philipp Klaus Krause <philipp@colecovision.eu>
724 Fix bug #3508, patch by Steve Schnepp.
726 2023-12-12 Gabriele Gorla <gorlik@yahoo.com>
729 fix bug3223041 regression failure for mos6502-stack-auto port
730 fix bug3531687 regression failure for mos6502-stack-auto port
731 * device/lib/mos65c02/Makefile.in,
732 device/lib/mos65c02/__memcpy.s,
733 device/lib/mos65c02/_memcmp.s,
734 device/lib/mos65c02/_memset.s,
735 device/lib/mos65c02/_mullong.s,
736 device/lib/mos65c02/_mulschar.s,
737 device/lib/mos65c02/_muluchar.s,
738 device/lib/mos65c02/_setjmp.s,
739 device/lib/mos65c02/_strcmp.s,
740 device/lib/mos65c02/_strcpy.s,
741 device/lib/mos65c02/_strlen.s,
742 device/lib/mos65c02/abs.s,
743 device/lib/mos65c02/crt0.s,
744 device/lib/mos65c02/memcpy.s
745 add mos6502 improvements to mos65c02 port
747 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
750 Enable elimination of dead RECEIVE iCodes. Fixs the rest of bug #3482.
752 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
756 Fix the worst part of bug #3482.
758 2023-12-12 Philipp Klaus Krause <philipp@colecovision.eu>
761 support/regression/tests/bug-3685.c:
764 2023-12-11 Philipp Klaus Krause <philipp@colecovision.eu>
766 * device/lib/pic16/libc/Makefile.am,
767 device/lib/pic16/libc/Makefile.in,
768 device/include/pic16/setjmp.h,
769 device/lib/pic16/libc/stdlib/setjmp.c:
770 setjmp for pic16, patch by Jonathon Hall.
772 2023-12-10 Philipp Klaus Krause <philipp@colecovision.eu>
774 * sim/ucsim/pdk.src/inst.cc:
775 Fix simulation of z flag for not and neg.
777 pdk code generation improvements.
779 Fix a Rabbit multiplication code generation bug.
781 2023-12-09 Philipp Klaus Krause <philipp@colecovision.eu>
786 2023-12-07 Gabriele Gorla <gorlik@yahoo.com>
788 * device/lib/mos6502/memcpy.s,
789 device/lib/mos6502/_memcmp.s,
790 device/lib/mos6502/_setjmp.s,
791 device/lib/mos6502/Makefile.in
792 optimize memcpy, memcmp amd setjump implemetations
794 2023-12-06 Gabriele Gorla <gorlik@yahoo.com>
796 * device/lib/mos6502/_muluchar.s,
797 device/lib/mos6502/_mulschar.s
798 use ZP instead of absolute address
799 * device/lib/mos6502/_strcpy.s,
800 device/lib/mos6502/_strcmp.s
801 use DPTR instead of temp
802 * device/lib/mos6502/_strlen.s
803 implement strlen in asm
804 * device/lib/mos6502/_memset.s,
805 device/lib/mos6502/crt0.s
806 implement memset in asm
807 * device/lib/mos6502/abs.s,
808 device/lib/mos6502/abs.c
809 rename abs.c to abs.s
811 add mos6502 port documentation to SDCC manual
813 2023-12-05 Philipp Klaus Krause <philipp@colecovision.eu>
815 * device/include/pic16/pic16devices.txt,
816 device/lib/pic16/startup/crt0iz.c,
818 support/regression/ports/pic16/spec.mk:
819 pic16 memory zeroing fixes, patch by Jonathon Hall.
821 2023-12-04 Gabriele Gorla <gorlik@yahoo.com>
823 * device/lib/mos6502/_setjump.c,
824 device/lib/mos65c02/_setjump.c,
825 device/lib/mos6502-stack-auto/_setjump.c
826 Reduce ZP usage in setjump.
827 * device/lib/mos6502/_ret01.s,
828 device/lib/mos6502/_ret23.s,
829 device/lib/mos6502/_ret4567.s,
830 device/lib/mos65c02/_ret01.s,
831 device/lib/mos65c02/_ret23.s,
832 device/lib/mos65c02/_ret4567.s,
833 device/lib/mos6502-stack-auto/_ret01.s,
834 device/lib/mos6502-stack-auto/_ret23.s,
835 device/lib/mos6502-stack-auto/_ret4567.s
836 Remove unnecessary .optsdcc directive.
839 src/mos6502/ralloc.c,
841 Add --no-zp-spill option to avoid register spills in ZP.
843 2023-12-03 Gabriele Gorla <gorlik@yahoo.com>
849 Add limited support to return aggregates to mos6502 port.
852 device/include/stdlib.h
853 Add div and ldiv to the mos6502 standard library.
854 * device/lib/_divulonglong.c
855 Trivial spelling fix.
856 * sdas/as6500/r6500.h,
857 sdas/as6500/r65adr.c,
858 sdas/as6500/r65mch.c,
860 Merge several minor changes from upstream asxxxx 5.50
861 * support/regression/MakeList,
862 support/regression/tests/bigstack.c.in,
863 support/regression/tests/div.c,
864 support/regression/tests/gcc-roture-execute-20131127-1.c
865 Enable additional tests for mos6502.
867 2023-12-02 Gabriele Gorla <gorlik@yahoo.com>
870 support/regression/tests/structreturn.c.in,
871 support/regression/tests/gcc-torture-execute-va-arg-4.c,
872 support/regression/tests/gcc-torture-execute-va-arg-23.c,
873 support/regression/tests/gcc-torture-execute-struct-ret-1.c,
874 support/regression/tests/gcc-torture-execute-strct-varg-1.c,
875 support/regression/tests/gcc-torture-execute-pr60017.c,
876 support/regression/tests/gcc-torture-execute-920625-1.c,
877 support/regression/tests/funptrsstructreturn.c,
878 support/regression/tests/div.c,
879 support/regression/tests/bug-3385.c,
880 support/regression/tests/bug-3368.c,
881 support/regression/tests/bug-2776.c,
882 support/regression/tests/bigreturn-remat.c.in,
883 support/regression/MakeList,
884 Implement IPUSH_VALUE_AT_ADDRESS iCode and enable corresponding regression tests.
885 Disable failing tests for mos65c02.
887 Make sure result is a register before dereferencing the pointer (fix bug #3631)
889 2023-12-02 Gabriele Gorla <gorlik@yahoo.com>
892 Correct opcode ordering.
893 Fix get_model() reporting.
895 Make mos65c02 register transfer code use phx/phy/plx/ply.
898 Reformat comments to match other ports.
900 2023-12-02 Philipp Klaus Krause <philipp@colecovision.eu>
902 * support/regression/ports/pic16/spec.mk:
903 pic16 regression test infrastructure fix, patch by Jonathon Hall.
904 * support/regression/tests/sdcccall.c.in:
905 Disable a long long test for pic16, which does not support long long yet, patch by Jonathon Hall.
907 2023-12-02 Gabriele Gorla <gorlik@yahoo.com>
909 * sdas/asz80/z80pst.c,
911 sdas/asxxsrc/asxxxx.h,
913 sdas/as6808/m08pst.c:
914 Change several constants to match upstream asxxxx.
915 * sdas/as6500/r6500.h,
916 sdas/as6500/r65mch.c,
917 sdas/as6500/r65pst.c:
918 Enable cpu type selection for as6500.
919 * device/lib/mos65c02/Makefile.in,
920 device/lib/mos65c02/crt0.s,
921 device/lib/mos65c02/abs.c,
922 device/lib/mos65c02/_srulonglong.c,
923 device/lib/mos65c02/_srslonglong.c,
924 device/lib/mos65c02/_setjmp.c,
925 device/lib/mos65c02/_ret4567.s,
926 device/lib/mos65c02/_ret23.s,
927 device/lib/mos65c02/_ret01.s,
928 device/lib/mos65c02/_muluchar.s,
929 device/lib/mos65c02/_mulschar.s,
930 device/lib/mos65c02/_mulint.s,
931 device/lib/mos65c02/__memcpy.s
932 Make the mos65c02 library compile.
933 * support/regression/ports/uc65c02/uCsim.cmd,
934 support/regression/ports/uc65c02/support.c,
935 support/regression/ports/uc65c02/spec.mk
936 Add regression for mos65c02 using uCsim.
938 Add crt to mos65c02 link step by default.
940 Implement GenAnd and GenOr for mos65c02.
942 2023-12-02 Philipp Klaus Krause <philipp@colecovision.eu>
944 * support/regression/tests/bug-2776.c,
945 support/regression/tests/bug-3368.c,
946 support/regression/tests/gcc-torture-execute-920625-1.c,
947 support/regression/tests/gcc-torture-execute-va-arg-23.c,
948 support/regression/tests/gcc-torture-execute-va-arg-4.c:
949 Enable struct parameter tests for all ports except mos6502 (which doesn't support them yet).
951 2023-12-01 Gabriele Gorla <gorlik@yahoo.com>
953 * sdas/asxxsrc/asmain.c:
954 simplify parsing of number radix (similar to upstream asxxxx).
955 * src/mos6502/main.c:
956 add ".r56c02" to the assembler output for mos65c02 port.
957 * src/device/lib/mos65c02/Makefile.in,
958 src/device/lib/mos65c02/__sdcc_indirect_jsr.s,
959 src/device/lib/mos65c02/_dptr.s,
960 src/device/lib/mos65c02/_temp.s
961 add missing files to the mos65c02 std lib.
963 2023-12-01 Philipp Klaus Krause <philipp@colecovision.eu>
966 Port a simplification from f8 to stm8.
968 Fix an mcs51 peephole optimizer issue noticed by Oleg Endo.
970 2023-11-29 Gabriele Gorla <gorlik@yahoo.com>
972 * sdas/as6500/r65mch.c:
973 enable 24bit address in sdas for mos6502 (patch #436).
975 2023-11-29 Philipp Klaus Krause <philipp@colecovision.eu>
978 Fix handling of jz, jnz in asmLineNodeFromLineNode.
980 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
985 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
988 Fix an stm8 codegen bug resulting an omitted carry for some wide subtractions where the least-significant byte of the subtrahend is in a.
990 Fix checking of return values for mcs51 notUsed.
992 2023-11-28 Philipp Klaus Krause <philipp@colecovision.eu>
996 Replace deadMove by notUsed in non-push/pop roles.
998 Fix an stm8 rotation codegen issue resulting in invalid asm for --opt-code-speed.
1000 2023-11-27 Philipp Klaus Krause <philipp@colecovision.eu>
1003 Fix a codegen crash affecting sm83 function calls via pointers to functions returning struct.
1005 2023-11-26 Philipp Klaus Krause <philipp@colecovision.eu>
1009 Fully enable code speed optimization for z80 (and related).
1011 2023-11-25 Philipp Klaus Krause <philipp@colecovision.eu>
1014 Improve cost function accuracy.
1016 2023-11-25 Philipp Klaus Krause <philipp@colecovision.eu>
1020 Shift optimization using information from generalized constant propagation.
1022 2023-11-24 Philipp Klaus Krause <philipp@colecovision.eu>
1027 2023-11-24 Philipp Klaus Krause <philipp@colecovision.eu>
1032 2023-11-23 Philipp Klaus Krause <philipp@colecovision.eu>
1035 Speed optimization in register allocation for z80 and related.
1037 2023-11-22 Philipp Klaus Krause <philipp@colecovision.eu>
1040 Preparations for improved speed optimization for z80.
1042 Do another execution frequency estimate just before register allocation to improve the accuracy of speed optimizations.
1046 Implement notUsed peephole condition for mcs51, patch by Oleg Endo.
1048 2023-11-21 Philipp Klaus Krause <philipp@colecovision.eu>
1052 support/regression/tests/bug-3678.c:
1053 Preparations for improved speed optimization for z80. Fix bug #3678.
1054 * src/z80/peeph.def:
1055 Fix a peephole rule bug.
1057 Use -std=c23 when calling preprocessor.
1059 2023-11-20 Felix Salfelder <felix AT salfelder.org>
1061 * support/cpp/gcc/c-family/c-common.{cc,h},
1062 support/cpp/gcc/c-family/c-{lex,opts}.cc,
1063 support/cpp/gcc/c-family/c.opt,
1064 support/cpp/gcc/c/c-errors.cc:
1067 2023-11-20 Philipp Klaus Krause <philipp@colecovision.eu>
1071 Optimize towards djnz use.
1075 support/regression/tests/gcc-torture-execute-20050713-1.c:
1076 Fix an mcs51 codegen bug affecting calls to reentrant functions where the last parameter is a struct, and some registers are live across the call.
1078 2023-11-19 Philipp Klaus Krause <philipp@colecovision.eu>
1081 support/regression/tests/bug-3675.c,
1082 support/regression/tests/gcc-torture-execute-20180131-1.c,
1083 support/regression/tests/gcc-torture-execute-pr67226.c,
1084 support/regression/tests/gcc-torture-execute-20040707-1.c:
1087 2023-11-18 Philipp Klaus Krause <philipp@colecovision.eu>
1091 Directly create iCode chain instead of via intermediate set-style linked list.
1093 2023-11-18 Philipp Klaus Krause <philipp@colecovision.eu>
1095 * support/regression/tests/bug-3675.c:
1096 Regression test for bug #3675.
1099 src/SDCCgenconstprop.cc,
1101 Code refactoring for iCode operand replacement.
1105 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1109 Provide mcs51IsParmInCall.
1111 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1114 Replace further uses of fReturn by aopArg and aopRet.
1116 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1118 * src/mcs51/ralloc.c,
1120 Fix mcs51_regname_to_idx, patch by Oleg Endo.
1121 * src/mcs51/peeph.def:
1122 Fix peephole optimizer rule 186.e, patch by Oleg Endo.
1124 2023-11-16 Philipp Klaus Krause <philipp@colecovision.eu>
1127 Improve mcs51 calling convention documentation.
1132 Use aopArg, provide mcs51IsReturned and mcs51IsRegArg.
1134 2023-11-14 Philipp Klaus Krause <philipp@colecovision.eu>
1140 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1143 Basic aopArg for mcs51.
1145 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1151 Handle return values via aopRet.
1153 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1157 mcs51 code generation refactoring.
1159 2023-11-13 Philipp Klaus Krause <philipp@colecovision.eu>
1165 2023-11-12 Philipp Klaus Krause <philipp@colecovision.eu>
1168 Make aopGet use asmop * instead of operand *.
1170 2023-11-12 Philipp Klaus Krause <philipp@colecovision.eu>
1173 Fix opIsGptr, so it works even when the op has no aop yet.
1175 2023-11-11 Philipp Klaus Krause <philipp@colecovision.eu>
1182 mcs51 code generation refactoring.
1184 2023-11-11 Felix Salfelder <felix AT salfelder.org>
1189 2023-11-10 Philipp Klaus Krause <philipp@colecovision.eu>
1195 Remove --parms-in-bank1 support in mcs51 port.
1197 2023-11-00 Felix Salfelder <felix AT salfelder.org>
1199 * support/cpp/gcc/cc1_dummies.cc:
1200 Rectify dummy prototype. Fixes bug #3654.
1202 2023-11-09 Philipp Klaus Krause <philipp@colecovision.eu>
1206 * src/SDCCralloc.hpp:
1207 Fix an UB issue in register allocation affecting z80 (and related).
1208 * src/mcs51/ralloc.h,
1210 Destroy the xreg relics.
1212 2023-11-08 Felix Salfelder <felix AT salfelder.org>
1214 * support/cpp/gcc/diagnostic-color.cc,
1215 support/cpp/gcc/prefix.cc:
1216 attempt to fix bug #3669, cf
1217 https://gcc.gnu.org/pipermail/gcc-patches/2023-January/609526.html
1219 2023-11-07 Philipp Klaus Krause <philipp@colecovision.eu>
1222 device/lib/Makefile.in,
1223 device/lib/ckd_add.c,
1224 device/lib/ckd_mul.c,
1225 device/lib/ckd_sub.c,
1226 device/lib/*/Makefile.in,
1233 support/regression/tests/assert.c,
1234 support/regression/tests/auto.c,
1235 support/regression/tests/bitcount.c.in,
1236 support/regression/tests/bitcountleading.c.in,
1237 support/regression/tests/bitcounttrailing.c.in,
1238 support/regression/tests/bitfirst.c.in,
1239 support/regression/tests/bitfirstleading.c.in,
1240 support/regression/tests/bitwidth.c.in,
1241 support/regression/tests/c2xkeywords.c,
1242 support/regression/tests/checkedint.c.in,
1243 support/regression/tests/digit_separators.c,
1244 support/regression/tests/memalignment.c.in,
1245 support/regression/tests/typeof.c,
1246 support/regression/tests/unreachable.c,
1247 support/valdiag/tests/enum.c,
1248 support/valdiag/tests/static_assert.c,
1249 support/valdiag/tests/struct.c:
1250 Since the standard name is now fixed at C23, use that instead of C2X (for compatibility, keep c2x option and pragma for now).
1252 2023-11-07 Philipp Klaus Krause <philipp@colecovision.eu>
1255 support/regression/tests/bug-3642.c,
1259 2023-11-06 Philipp Klaus Krause <philipp@colecovision.eu>
1263 * src/SDCCgenconstprop.cc,
1267 2023-11-02 Philipp Klaus Krause <philipp@colecovision.eu>
1271 support/regression/tests/bitintshift.c.in:
1274 2023-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
1276 * Makefile.common.in,
1278 * sdccconf_in.h: added OPT_DISABLE_R800
1280 2023-10-28 Philipp Klaus Krause <philipp@colecovision.eu>
1283 operandsNotRelated improvements for mcs51 (and related), based on patch 1 from patch ticket #466 by Oleg Endo.
1285 Patch 2 from patch ticket #466 by Oleg Endo.
1290 Patch 3 from patch ticket #466 by Oleg Endo.
1292 Patch 6 from patch ticket #466 by Oleg Endo.
1295 Patch 10 from patch ticket #466 by Oleg Endo.
1297 2023-10-28 Philipp Klaus Krause <philipp@colecovision.eu>
1299 * src/SDCCgenconstprop.cc:
1300 Fix generalized constant propagation analysis of pointers for host with 32-bit long (bug #3667).
1302 2023-10-26 Philipp Klaus Krause <philipp@colecovision.eu>
1304 * support/regression/tests/bug-3579.c,
1305 support/regression/tests/bug-3606.c:
1306 Fix reads from unitialized memory in regression tests, should fix bug #3583.
1307 * support/regression/tests/bug-3642.c:
1308 Regression test for bug #3642 (disabled for now, as the bug is not yet fixed).
1310 2023-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
1312 * support/regression/tests/push_pop_sp.c: bug fix, remove unintended code
1313 * src/SDCCmem.c(printAllocInfoSeg): adjust stack offsets for struct
1315 * src/mcs51/gen.c(genRet): fixed stack/xstack with/without framepointer
1317 2023-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
1319 * sdas/linksrc/lklist.c,
1320 * sdas/linksrc/lkmem.c,
1321 * sdas/linksrc/lkrloc3.c: cosmetics
1322 * src/SDCCglobl.h: reduced LEVEL_UNIT to 10000 for human readability
1323 * src/SDCCicode.c(geniCodeCall): support xstack
1324 * src/SDCCmem.c(printAllocInfoSeg): also print size on stack
1325 * src/mcs51/gen.c(pushbigreturn): use xstack when asked for,
1326 (genCall): clean up xstack when asked for,
1327 (genFunction): optimize stack adjustment > 7,
1328 (genRet): try to use tempregs for bigreturn,
1329 use add in A instead of many inc dptr for larger offsets,
1331 (genPagedPointerSet): add pdata support
1332 * src/mcs51/rtrack.c(_mcs51_rtrackUpdate): updated comments
1333 * src/mos6502/main.c(m6502_genAssemblerPreamble): attempt to keep areas in
1335 * support/regression/tests/gcc-torture-execute-20020328-1.c: renamed testit()
1336 to tryit() since the test prefix has special meaning in regression testing
1337 * support/regression/tests/push_pop_sp.c: new, added
1339 2023-10-13 Philipp Klaus Krause <philipp@colecovision.eu>
1341 * device/lib/r*/crt0.s:
1342 Fix reti vs. ipres ret in crt0 templates for Rabbits (last part of bug #3652).
1344 2023-10-13 Maarten Brock <sourceforge.brock AT dse.nl>
1346 * src/mos6502/gen.h: moved NUM_TEMP_REGS into gen.c
1347 * src/mos6502/gen.c: renamed __DPTR & __TEMP to DPTR & REGTEMP to remove
1348 them from the C namespace,
1349 simplified INDFMT_IY macro
1350 * src/mos6502/main.c (m6502_genAssemblerPreamble): moved __DPTR & __TEMP
1351 definition to libraries,
1352 removed ZPABS so --data_loc works as expected, leaving address 0 unused
1353 * device/lib/mos6502/__memcpy.s: use REGTEMP instead of ___SDCC_m6502_retN,
1355 * device/lib/mos6502-stack-auto/__sdcc_indirect_jsr.s,
1356 * device/lib/mos6502/__sdcc_indirect_jsr.s: use renamed REGTEMP
1357 * device/lib/mos6502-stack-auto/_dptr.s,
1358 * device/lib/mos6502/_dptr.s: new, DPTR in zero page
1359 * device/lib/mos6502-stack-auto/_ret.c,
1360 * device/lib/mos6502/_ret.c: replace by _ret01.s, _ret23.s & _ret4567.s
1361 * device/lib/mos6502-stack-auto/_ret01.s,
1362 * device/lib/mos6502-stack-auto/_ret23.s,
1363 * device/lib/mos6502-stack-auto/_ret4567.s,
1364 * device/lib/mos6502/_ret01.s,
1365 * device/lib/mos6502/_ret23.s,
1366 * device/lib/mos6502/_ret4567.s: new, ___SDCC_m6502_retN in zero page
1367 * device/lib/mos6502-stack-auto/_temp.s,
1368 * device/lib/mos6502/_temp.s: new, REGTEMP in zeropage
1369 * device/lib/mos6502-stack-auto/Makefile.in,
1370 * device/lib/mos6502/Makefile.in: added _dptr.rel, _ret01.rel, _re23,rel,
1371 _ret4567.rel & _temp.rel
1373 2023-10-13 Philipp Klaus Krause <philipp@colecovision.eu>
1376 Bump version for now fully working generalized constant propagation.
1378 2023-10-09 Philipp Klaus Krause <philipp@colecovision.eu>
1383 Fix bug #3658 by warning on non-default sdcccall with default stdlib or crt0.
1387 device/lib/r2ka/*.s,
1388 device/lib/r3ka/*.s,
1389 device/lib/tlcs90/*.s,
1390 device/lib/ez80_z80/*.s,
1392 Make new calling convention the default for r2k, r2ka, r3ka, tlcs90, ez80-z80.
1393 * support/regression/ports/uc6502/spec.mk:
1394 Increase test-uc6502 timeout to work around bug #3663.
1396 2023-10-07 Philipp Klaus Krause <philipp@colecovision.eu>
1398 * src/SDCCgenconstprop.cc:
1399 Fix a use of an uninitialized struct member in generalized constant propagation analysis of some left shifts: bugs #3625, #3665.
1401 2023-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
1403 * src/SDCCmain.c (parseCmdLine): place -Wl-f options in linkOptionsSet2,
1404 (linkEdit): pass linkOptionsSet2 for $L,
1405 (assemble): pass NULL for $L
1407 * src/SDCCutil.c (buildCmdLine): added list2 for $L command line options
1408 * src/ds390/main.c (_tininative_do_assemble): pass NULL for $L
1409 * src/avr/main.c (_linkCmd),
1410 * src/ds390/main.c (_linkCmd),
1411 * src/hc08/main.c (_linkCmd),
1412 * src/mcs51/main.c (_linkCmd),
1413 * src/mos6502/main.c (_linkCmd),
1414 * src/pdk/main.c (_linkCmd),
1415 * src/stm8/main.c (_linkCmd),
1416 * src/z80/main.c (_z80LinkCmd): added $L for command line options
1417 * src/z80/main.c (_sm83_rgblink): pass NULL for $L
1418 * src/SDCCsymt.c (checkSClass): cosmetics
1420 2023-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
1422 * sdas/linksrc/lkmain.c (parse): warn about ignored nested linker script
1424 2023-10-04 Philipp Klaus Krause <philipp@colecovision.eu>
1427 support/regression/tests/bug-3660.c:
1430 2023-10-04 Philipp Klaus Krause <philipp@colecovision.eu>
1433 Rabbit interrupt handling fixes, based on patch by D-mo.
1435 2023-10-03 Philipp Klaus Krause <philipp@colecovision.eu>
1437 * sdas/asrab/rabmch.c:
1438 Fix bug #3661, patch by D-mo.
1439 * support/regression/tests/bug-3661.c:
1440 Regression test for bug #3661.
1442 2023-09-30 Maarten Brock <sourceforge.brock AT dse.nl>
1444 * support/regression/ports/uc6502-stack-auto/support.c,
1445 * support/regression/ports/uc6502-stack-auto/uCsim.cmd,
1446 * support/regression/ports/uc6502/support.c,
1447 * support/regression/ports/uc6502/uCsim.cmd: moved simif to safer location
1449 2023-09-27 Philipp Klaus Krause <philipp@colecovision.eu>
1451 * device/lib/r2k/crt0.s,
1452 device/lib/r2ka/crt0.s,
1453 device/lib/r3ka/crt0.s:
1454 Place interrupt vector table at multiple of 512B, as required on Rabbit 3000 and above.
1456 2023-09-27 Maarten Brock <sourceforge.brock AT dse.nl>
1458 * support/regression/tests/bug-3563.c: revert accidental enable of failing test
1460 2023-09-25 Philipp Klaus Krause <philipp@colecovision.eu>
1462 * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c:
1463 Disable test for FreeBSD 13 / clang-14, where it fails due to known bug.
1465 2023-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
1467 * device/lib/mos6502-stack-auto/crt0.s,
1468 * device/lib/mos6502/crt0.s: clear zero page, reorder areas
1469 * src/mos6502/main.c(m6502_finaliseOptions): use whole zero page,
1470 improved default memory map
1471 (m6502_genAssemblerPreamble): move __DPTR & __TEMP to fixed
1472 address from 0 and up,
1473 (m6502_genIVT): fixed, allow only 2 interrupts
1474 * support/regression/ports/uc6502-stack-auto/spec.mk,
1475 * support/regression/ports/uc6502/spec.mk: use more logical memory map
1476 * support/regression/gte/pr34099.c: suppress valid warning
1477 * support/regression/gte/pr97404.c,
1478 * support/regression/gte/pr97836.c,
1479 * support/regression/tests/bug-3563.c: fixed warnings
1481 2023-09-21 Philipp Klaus Krause <philipp@colecovision.eu>
1483 * sdas/asstm8/stm8.h,
1484 sdas/asstm8/stm8mch.c,
1485 sdas/linksrc/lklist.c,
1488 Fix a few cases of undefined behavior.
1489 * device/lib/r*k*/crt0.s:
1490 Fix location of secondary watchdog interrupt vector (part of bug #3652).
1492 2023-09-18 Philipp Klaus Krause <philipp@colecovision.eu>
1494 * support/regression/tests/charconst.c,
1495 support/regression/tests/escape.c,
1496 support/regression/tests/new_wide.c,
1497 support/regression/tests/string.c,
1498 support/regression/tests/wchar.c.in:
1499 Handle hosts that are C11-compliant on the compiler side, but not the library side better.
1500 * support/regression/tests/wchar.c.in:
1501 Disable a test for OpenBSD, where it fails due to known OpenBSD bug.
1503 2023-09-14 Philipp Klaus Krause <philipp@colecovision.eu>
1505 * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c,
1506 support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c,
1507 support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_xy.c,
1508 support/regression/tests/setjmp.c,
1509 support/regression/tests/wchar.c.in:
1510 Disable tests where they fail due to known FreeBSD 13 bugs.
1512 2023-09-11 Philipp Klaus Krause <philipp@colecovision.eu>
1516 Fix issues that resulted in isaddr flag value loss, confusing the ds390 register allocator.
1517 * src/SDCCgenconstprop.cc:
1518 Improve optimizations based on information from generalized constant propagation.
1519 * support/regression/tests/bug-3641.c:
1520 Disable test for target where it fails due to known bug #3643.
1522 2023-09-10 Philipp Klaus Krause <philipp@colecovision.eu>
1524 * support/regression/tests/bug-3641.c:
1525 Support pre-C23 hosts in test for bug #3641.
1527 2023-09-09 Philipp Klaus Krause <philipp@colecovision.eu>
1529 * support/regression/tests/bug-3641.c:
1530 Regression test for bug #3641.
1532 2023-09-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1534 * src/hc08/gen.c (genAssignLit): fix bug #3641
1536 2023-09-01 Philipp Klaus Krause <philipp@colecovision.eu>
1538 * src/SDCCgenconstprop.cc,
1540 Optimize some pointer writes using intrinsic named address space information from generalized constant propagation.
1542 2023-09-01 Philipp Klaus Krause <philipp@colecovision.eu>
1544 * support/regression/tests/bitintshift.c.in:
1545 Disable parts of test that fail due to known bug #3634.
1547 2023-08-29 Philipp Klaus Krause <philipp@colecovision.eu>
1550 sdas/asrab/rabmch.c,
1551 sdas/asrab/rabpst.c:
1552 Fix handling of some valid instructions in Rabbit assembler (bug #3639, patch by by D-mo).
1553 * support/regression/tests/bug-3639.c:
1554 Regression test for bug #3639.
1556 2023-08-28 Philipp Klaus Krause <philipp@colecovision.eu>
1560 Basic r800 port documentation.
1561 * support/scripts/sdcc.nsi:
1562 Include r800 library in Windows installer.
1564 Cost function fixes for z80-related backends.
1566 2023-08-27 Philipp Klaus Krause <philipp@colecovision.eu>
1568 * Merge r800 branch to trunk.
1569 * support/regression/Makefile.in:
1570 Include r800 port in test-z80 regression test target.
1571 * support/regression/MakeList:
1572 Disable a test for r800 that fails for all z80-related ports.
1574 2023-08-27 Philipp Klaus Krause <philipp@colecovision.eu>
1576 * sim/ucsim/z80.src/inst_ed.cc,
1579 Fixes for R800 multiplication instructions.
1581 2023-08-27 Felix Salfelder <felix AT salfelder.org>
1583 * support/regression/Makefile.in: deal with longer subresult list.
1584 * support/regression/tests/bitintshift.c.in: more subcases.
1586 2023-08-27 Philipp Klaus Krause <philipp@colecovision.eu>
1588 * support/regression/fwk/include/testfwk.h,
1589 support/regression/ports/ucr800/spec.mk:
1590 r800 regression test infrstructure.
1592 r800 calling convention fix.
1594 2023-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
1596 * support/regression/gte/960830-1.c: deleted, is only relevant for i386
1597 * support/regression/ports/mcs51-common/support.c: don't include mcs51reg.h,
1598 define TI & SBUF directly instead, prevents name clash with B
1599 * support/regression/MakeList: enabled tcc_30_hanoi
1600 * support/regression/cases/Makefile.in: remove disabled warnings,
1602 * support/regression/collate-results.py,
1603 * support/regression/compact-results.py: cosmetics
1604 * support/regression/gte/20001124-1.c,
1605 * support/regression/gte/20001229-1.c,
1606 * support/regression/gte/20010119-1.c,
1607 * support/regression/gte/20030216-1.c,
1608 * support/regression/gte/20091229-1.c,
1609 * support/regression/gte/900409-1.c,
1610 * support/regression/gte/930930-2.c,
1611 * support/regression/gte/950426-2.c,
1612 * support/regression/gte/951204-1.c,
1613 * support/regression/gte/960405-1.c,
1614 * support/regression/gte/970214-1.c,
1615 * support/regression/gte/970214-2.c,
1616 * support/regression/gte/990324-1.c,
1617 * support/regression/gte/991019-1.c,
1618 * support/regression/gte/alias-access-path-2.c,
1619 * support/regression/gte/pr17252.c,
1620 * support/regression/gte/pr22493-1.c,
1621 * support/regression/gte/pr23047.c,
1622 * support/regression/gte/pr38048-2.c,
1623 * support/regression/gte/pr40493.c,
1624 * support/regression/gte/pr49712.c: fixed warnings
1625 * support/regression/gte/20010329-1.c,
1626 * support/regression/gte/20030404-1.c,
1627 * support/regression/gte/20080222-1.c,
1628 * support/regression/gte/980526-2.c,
1629 * support/regression/gte/pr17133.c,
1630 * support/regression/gte/pr29798.c,
1631 * support/regression/gte/pr34099-2.c,
1632 * support/regression/gte/pr43629.c,
1633 * support/regression/gte/pr44942.c,
1634 * support/regression/gte/pr53465.c: suppressed valid warnings
1635 * support/regression/qct/0025-string.c,
1636 * support/regression/qct/0027-charval.c,
1637 * support/regression/qct/0032-indec.c,
1638 * support/regression/qct/0059-multistring.c,
1639 * support/regression/tcc/30_hanoi.c: cosmetics
1641 2023-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
1643 * support/regression/tests/bug-3165.c: enabled for mcs51 & ds390,
1646 2023-08-26 Philipp Klaus Krause <philipp@colecovision.eu>
1649 sdas/asrab/rabadr.c,
1650 sdas/asrab/rabmch.c:
1651 Fix handling of some valid instructions in Rabbit assembler (bug #3636, patch by by D-mo).
1652 * support/regression/tests/bug-3636.c:
1653 Regression test for bug #3636.
1655 2023-08-26 Philipp Klaus Krause <philipp@colecovision.eu>
1658 sdas/asrab/rabadr.c,
1659 sdas/asrab/rabmch.c:
1660 Fix handling of some invalid instructions in Rabbit assembler (bug #3638, patch by by D-mo).
1662 2023-08-26 Philipp Klaus Krause <philipp@colecovision.eu>
1664 * support/regression/tests/bug-3165.c,
1665 support/regression/tests/bug-3167.c:
1666 Rename regression test to match correct bug number.
1668 2023-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
1670 * device/lib/pic16/libc/string/memchr.c,
1671 * device/lib/pic16/libc/string/memchrpgm.c,
1672 * device/lib/pic16/libc/string/memchrram.c: fixed buggy implementations
1673 * src/pic14/genarith.c(genPlus): fixed warning
1674 * support/regression/qct/0026-implicitret.c: disable expected warning 278
1675 * support/regression/tcc/97_utf8_string_literal.c: replaced abort() by
1676 return, is this test even linked, let alone run?
1677 * support/regression/tests/gcc-torture-execute-930106-1.c: very odd test,
1679 * support/regression/tests/gcc-torture-execute-cmpsf-1.c: enabled for mcs51
1680 with correct_results[] const, fixed warnings
1681 * support/regression/tests/gcc-torture-execute-strct-varg-1.c: enabled for
1682 hc08 & s08, fixed warnings
1683 * support/regression/tests/lonesha256.c: disabled for mcs51-stack-auto
1684 * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_2_xy.c:
1685 added comment about incorrect warning 127
1686 * support/regression/tcc/109_float_struct_calling.c,
1687 * support/regression/tcc/10_pointer.c,
1688 * support/regression/tcc/11_precedence.c,
1689 * support/regression/tcc/30_hanoi.c,
1690 * support/regression/tcc/52_unnamed_enum.c,
1691 * support/regression/tcc/54_goto.c,
1692 * support/regression/tcc/55_lshift_type.c,
1693 * support/regression/tests/gcc-torture-execute-20000717-3.c,
1694 * support/regression/tests/gcc-torture-execute-20020201-1.c,
1695 * support/regression/tests/gcc-torture-execute-20020328-1.c,
1696 * support/regression/tests/gcc-torture-execute-20020819-1.c,
1697 * support/regression/tests/gcc-torture-execute-20041019-1.c,
1698 * support/regression/tests/gcc-torture-execute-20100430-1.c,
1699 * support/regression/tests/gcc-torture-execute-20120427-1.c,
1700 * support/regression/tests/gcc-torture-execute-20120427-2.c,
1701 * support/regression/tests/gcc-torture-execute-920202-1.c,
1702 * support/regression/tests/gcc-torture-execute-920428-1.c,
1703 * support/regression/tests/gcc-torture-execute-920520-1.c,
1704 * support/regression/tests/gcc-torture-execute-920812-1.c,
1705 * support/regression/tests/gcc-torture-execute-921123-1.c,
1706 * support/regression/tests/gcc-torture-execute-930123-1.c,
1707 * support/regression/tests/gcc-torture-execute-930518-1.c,
1708 * support/regression/tests/gcc-torture-execute-930603-2.c,
1709 * support/regression/tests/gcc-torture-execute-931017-1.c,
1710 * support/regression/tests/gcc-torture-execute-950322-1.c,
1711 * support/regression/tests/gcc-torture-execute-950621-1.c,
1712 * support/regression/tests/gcc-torture-execute-950809-1.c,
1713 * support/regression/tests/gcc-torture-execute-960219-1.c,
1714 * support/regression/tests/gcc-torture-execute-960302-1.c,
1715 * support/regression/tests/gcc-torture-execute-960327-1.c,
1716 * support/regression/tests/gcc-torture-execute-960402-1.c,
1717 * support/regression/tests/gcc-torture-execute-980701-1.c,
1718 * support/regression/tests/gcc-torture-execute-990106-1.c,
1719 * support/regression/tests/gcc-torture-execute-991023-1.c,
1720 * support/regression/tests/gcc-torture-execute-cmpsi-1.c,
1721 * support/regression/tests/gcc-torture-execute-divconst-1.c,
1722 * support/regression/tests/gcc-torture-execute-divmod-1.c,
1723 * support/regression/tests/gcc-torture-execute-lto-tbaa-1.c,
1724 * support/regression/tests/gcc-torture-execute-packed-1.c,
1725 * support/regression/tests/gcc-torture-execute-postmod-1.c,
1726 * support/regression/tests/gcc-torture-execute-strct-stdarg-1.c,
1727 * support/regression/tests/gcc-torture-execute-string-opt-5.c,
1728 * support/regression/tests/gcc-torture-execute-va-arg-1.c,
1729 * support/regression/tests/gcc-torture-execute-va-arg-5.c,
1730 * support/regression/tests/gcc-torture-execute-va-arg-6.c: fixed warnings
1732 2023-08-25 Maarten Brock <sourceforge.brock AT dse.nl>
1734 * src/mcs51/rtrack.c(_mcs51_rtrackUpdate): added dptr+=2 case,
1735 added detecting modified bits in B
1737 2023-08-21 Maarten Brock <sourceforge.brock AT dse.nl>
1739 * device/lib/mcs51/Makefile.in: reverted accidental commit
1741 2023-08-19 Maarten Brock <sourceforge.brock AT dse.nl>
1743 * device/include/asm/default/features.h,
1744 * device/include/asm/ds390/features.h,
1745 * device/include/asm/mcs51/features.h,
1746 * device/include/asm/pic14/features.h,
1747 * device/include/asm/pic16/features.h,
1748 * device/include/asm/r2k/features.h,
1749 * device/include/asm/r3ka/features.h,
1750 * device/include/asm/sm83/features.h,
1751 * device/include/asm/stm8/features.h,
1752 * device/include/asm/tlcs90/features.h,
1753 * device/include/asm/z80/features.h: added __SDCC_NONBANKED
1754 * device/include/float.h: use __SDCC_NONBANKED for __SDCC_FLOAT_NONBANKED
1755 * device/include/sdcc-lib.h: cosmetics
1756 * device/lib/_divsint.c,
1757 * device/lib/_divslong.c,
1758 * device/lib/_divslonglong.c,
1759 * device/lib/_divuint.c,
1760 * device/lib/_divulong.c,
1761 * device/lib/_divulonglong.c,
1762 * device/lib/_modsint.c,
1763 * device/lib/_modslong.c,
1764 * device/lib/_modslonglong.c,
1765 * device/lib/_moduint.c,
1766 * device/lib/_modulong.c,
1767 * device/lib/_modulonglong.c,
1768 * device/lib/_mulint.c,
1769 * device/lib/_mullong.c,
1770 * device/lib/_mullonglong.c: moved __SDCC_NONBANKED to sdcc-lib.h
1771 * device/lib/_slonglong2fs.c: cosmetics
1772 * device/lib/Makefile.in,
1773 * device/lib/hc08/Makefile.in,
1774 * device/lib/mos6502/Makefile.in,
1775 * device/lib/mos6502-stack-auto/Makefile.in,
1776 * device/lib/mos65c02/Makefile.in,
1777 * device/lib/pdk13/Makefile.in,
1778 * device/lib/pdk14/Makefile.in,
1779 * device/lib/pdk15/Makefile.in,
1780 * device/lib/pdk15-stack-auto/Makefile.in,
1781 * device/lib/s08/Makefile.in,
1782 * device/lib/s08-stack-auto/Makefile.in,
1783 * device/lib/stm8/Makefile.in,
1784 * device/lib/stm8-large/Makefile.in,
1785 * src/SDCCsymt.c (initCSupport): renamed _r[lr][su]longlong.c to
1786 _s[lr][su]longlong.c because they are shifts not rotates
1787 * device/lib/_slslonglong.c: renamed from _rlslonglong.c,
1788 moved __SDCC_NONBANKED to sdcc-lib.h
1789 * device/lib/_slulonglong.c: renamed from _rlulonglong.c,
1790 moved __SDCC_NONBANKED to sdcc-lib.h,
1791 use _AUTOMEM for better code generation
1792 * device/lib/_srslonglong.c: renamed from _rrslonglong.c,
1793 bugfix little endian variant,
1794 moved __SDCC_NONBANKED to sdcc-lib.h,
1795 use _AUTOMEM for better code generation,
1796 removed comment about non-existing rrulonglong_rrx_s.c
1797 * device/lib/_srulonglong.c: renamed from _rrulonglong.c,
1798 moved __SDCC_NONBANKED to sdcc-lib.h,
1799 use _AUTOMEM for better code generation,
1800 removed comment about non-existing rrulonglong_rrx_s.c
1801 * device/lib/mos6502/_srslonglong.c: renamed from _rrslonglong.c
1802 * device/lib/mos6502/_srulonglong.c: renamed from _rrulonglong.c
1803 * device/lib/mos6502-stack-auto/_srslonglong.c: renamed from _rrslonglong.c
1804 * device/lib/mos6502-stack-auto/_srulonglong.c: renamed from _rrulonglong.c
1806 * device/lib/atomic_flag_clear.c: generate external definition for
1807 inline definition with external linkage
1808 * device/include/stdatomic.h: inline atomic_flag_clear(),
1809 use 0xfe for z80-like,
1810 use __SDCC_NONBANKED
1811 * device/lib/ez80_z80/atomic_flag_test_and_set.s,
1812 * device/lib/r2k/atomic_flag_test_and_set.s,
1813 * device/lib/r2ka/atomic_flag_test_and_set.s,
1814 * device/lib/r3ka/atomic_flag_test_and_set.s,
1815 * device/lib/sm83/atomic_flag_test_and_set.s,
1816 * device/lib/z180/atomic_flag_test_and_set.s,
1817 * device/lib/z80/atomic_flag_test_and_set.s,
1818 * device/lib/z80n/atomic_flag_test_and_set.s: use sra on 0xfe and drop ccf
1820 * device/lib/strtoull.c: drop oldret
1821 * device/lib/wcstoull.c: drop oldret,
1822 (_isdigit): fix L'a',
1823 (strtoull): bugfix, renamed to wcstoull() & use iswblank()
1825 * debugger/mcs51/sdcdb.c (readCdb): fixed warning/bug
1826 * src/SDCC.y: fixed warnings
1828 * src/SDCCval.c (ullFromVal): make val const to fix warnings
1829 * src/mcs51/ralloc.c (regsUsedIniCode): removed label to fix warning
1830 * src/mos6502/gen.c (opInfo): fix warning,
1831 (genRightShift): fixed warning
1832 * src/z80/ralloc.c (regsUsedIniCode): removed label to fix warning
1833 * support/cpp/gcc/diagnostic.cc (fancy_abort): fixed warning,
1835 * support/cpp/gcc/gcc.cc (insert_comments,get_random_number): fixed warnings
1837 * support/cpp/libcpp/expr.cc (cpp_classify_number): fixed warnings,
1839 * support/cpp/libcpp/macro.cc (update,create_iso_definition): fixed warnings
1840 * support/makebin/makebin.c: fixed warning
1842 2023-08-17 Benedikt Freisen <b.freisen AT gmx.net>
1844 * device/include/inttypes.h,
1845 device/include/stdlib.h,
1846 device/include/wchar.h,
1847 device/lib/Makefile.in,
1848 device/lib/imaxabs.c,
1849 device/lib/imaxdiv.c,
1852 device/lib/strtoimax.c,
1853 device/lib/strtoll.c,
1854 device/lib/strtoul.c,
1855 device/lib/strtoull.c,
1856 device/lib/strtoumax.c,
1857 device/lib/wcsncmp.c,
1858 device/lib/wcstoimax.c,
1859 device/lib/wcstol.c,
1860 device/lib/wcstoll.c,
1861 device/lib/wcstoul.c,
1862 device/lib/wcstoull.c,
1863 device/lib/wcstoumax.c,
1864 support/regression/tests/wcsto.c:
1865 Add inttypes.h and missing dependencies.
1867 2023-08-17 Philipp Klaus Krause <philipp@colecovision.eu>
1870 Fix a bug in pdk code generation for shifts.
1871 * support/regression/tests/shifts2.c.in:
1872 Disable a part of a test for configurations where it fails due to lack of memory.
1874 2023-08-17 Maarten Brock <sourceforge.brock AT dse.nl>
1877 * src/pic16/glue.c: moved no_assemble into options
1879 2023-08-17 Philipp Klaus Krause <philipp@colecovision.eu>
1881 * support/regression/tests/shifts2.c.in,
1882 support/regression/tests/bitintshift.c.in:
1883 Improve test coverage for shifts of wide variables.
1884 * device/lib/_rlulonglong.c,
1885 device/lib/_rrslonglong.c,
1886 device/lib/_rrulonglong.c:
1887 Fix choice of endiannness for support functions for shifts of wide variables.
1889 2023-08-16 Maarten Brock <sourceforge.brock AT dse.nl>
1891 * debugger/mcs51/cmd.c: fixed compiler warning
1894 * src/SDCCmain.c: moved syntax_only & no_assemble into options
1895 * src/SDCCopt.c(eBBlockFromiCode): do not call assignRegisters() for
1898 2023-08-15 Maarten Brock <sourceforge.brock AT dse.nl>
1900 * sim/ucsim/test-target.mk: do not remove ihx files that are in svn
1902 2023-08-14 Maarten Brock <sourceforge.brock AT dse.nl>
1904 * src/SDCCmain.c: added --syntax-only option, implements RFE #886
1905 * doc/sdccman.lyx: documented --syntax-only
1907 2023-08-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1909 * support/regression/tests/charconst.c,
1910 support/regression/tests/wchar.c.in: disable for MacOS host test
1912 2023-08-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1914 * support/regression/tests/bug-2855.c: disable for MacOS host test
1915 * support/regression/tests/charconst.c,
1916 support/regression/tests/string.c,
1917 support/regression/tests/wchar.c.in: work around missing uchar.h
1920 2023-08-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1922 * support/scripts/sdcc.nsi: Remove unused/unbuilt simulators
1924 2023-08-03 Philipp Klaus Krause <philipp@colecovision.eu>
1933 Fix various bugs found by sanitizers.
1935 2023-08-01 Philipp Klaus Krause <philipp@colecovision.eu>
1937 * src/SDCCgenconstprop.cc,
1942 Fix various bugs found by sanitizers.
1944 2023-07-31 Philipp Klaus Krause <pkk@spth.de>
1946 * support/regression/ports/ucr800/spec.mk:
1947 Infrastructure for future r800 regression testing.
1949 2023-07-31 Philipp Klaus Krause <philipp@colecovision.eu>
1951 * src/SDCCgenconstprop.cc,
1953 Fix some issues, mostly in generalized constant propagation.
1955 2023-07-29 Philipp Klaus Krause <philipp@colecovision.eu>
1960 support/regression/tests/bug-3636.c:
1963 support/regression/tests/bug-3597.c:
1966 support/valdiag/tests/bug-2240.c:
1969 2023-07-28 Philipp Klaus Krause <pkk@spth.de>
1972 sdas/asz80/z80mch.c,
1973 sdas/asz80/z80pst.c:
1974 Basic R800 assembler support.
1985 device/lib/Makefile.in,
1986 device/lib/_memset.c,
1987 device/lib/clean.mk,
1989 Infrastructure for r800 port, use multu for 8x8->16 multiplication.
1991 2023-07-27 Philipp Klaus Krause <philipp@colecovision.eu>
1993 * device/lib/mbrtowc.c,
1994 support/regression/tests/wchar.c.in:
1995 Fix an issue in the return value of mbrtowc for 0 character (it indirectly also affected mbrtoc16 and mbrtoc32).
1997 2023-07-27 Philipp Klaus Krause <philipp@colecovision.eu>
2002 2023-07-27 Philipp Klaus Krause <philipp@colecovision.eu>
2005 Spelling fixes, patch #465 by Konstantin Kim.
2007 2023-07-26 Maarten Brock <sourceforge.brock AT dse.nl>
2011 * _gptrput.c: applied patch #464, Thanks Konstantin Kim
2012 also fixed/improved non-active SDCC_MODEL_MEDIUM variants of this lib
2014 2023-07-21 Benedikt Freisen <b.freisen AT gmx.net>
2017 Update documentation of pragma sdcc_hash.
2019 2023-07-17 Felix Salfelder <felix AT salfelder.org>
2021 * support/regression/cases/generate-cases.py:
2024 2023-07-17 Felix Salfelder <felix AT salfelder.org>
2026 * support/regression/Makefile.in,
2027 support/regression/compact-results.py:
2030 2023-07-13 Philipp Klaus Krause <philipp@colecovision.eu>
2033 Fix bug #3615 for pdk15.
2035 2023-07-13 Philipp Klaus Krause <philipp@colecovision.eu>
2037 * support/regression/tests/_minimal.c:
2038 Fix an accidentially comitted debug line.
2040 Fix bug #3615 for stm8.
2042 2023-07-10 Philipp Klaus Krause <philipp@colecovision.eu>
2045 Fix a Z(1)80 bug in wide reads from pointers into registers.
2047 2023-07-09 Philipp Klaus Krause <philipp@colecovision.eu>
2051 Fix bug #3611 via patch by bbbbbr.
2052 * src/SDCCgenconstprop.cc:
2053 Use (CHAR_BIT * sizeof (unsigned long long)) when C2X ULLONG_WIDTH is not available.
2057 2023-07-07 Philipp Klaus Krause <philipp@colecovision.eu>
2059 * Merge genconstprop branch to trunk.
2061 2023-07-07 Philipp Klaus Krause <philipp@colecovision.eu>
2064 Bump version for generalized constant propagation.
2066 2023-07-07 Philipp Klaus Krause <philipp@colecovision.eu>
2068 * Merge next branch to trunk.
2069 * device/lib/stm8/support:
2072 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2075 Fix a compiler crash due to operation narrowing invalidating iCode sequence numbers.
2077 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2080 Fix an issue in ds390 casts to _BitInt.
2082 2023-07-03 Philipp Klaus Krause <philipp@colecovision.eu>
2084 * src/SDCCgenconstprop.cc,
2086 Generalized constant propagation optimization for pdk and mcs51 pointers.
2088 2023-07-02 Philipp Klaus Krause <philipp@colecovision.eu>
2090 * src/SDCCgenconstprop.cc:
2091 Basic generalized constant propagation analysis for pdk and mcs51 pointers.
2093 2023-07-02 Philipp Klaus Krause <philipp@colecovision.eu>
2095 * src/SDCCgenconstprop.cc:
2096 Fix dumping of generalized constant propagation analysis graph debug info for initialization of global objects.
2098 2023-07-01 Philipp Klaus Krause <philipp@colecovision.eu>
2101 support/regression/tests/bug-3607.c:
2102 Fix bug #3607, using a variant of the patch by Oleg Endo.
2104 2023-06-30 Philipp Klaus Krause <philipp@colecovision.eu>
2109 support/regression/tests/bug-3606.c:
2116 2023-06-30 Philipp Klaus Krause <philipp@colecovision.eu>
2119 Improve 16-bit comparisons.
2121 2023-06-29 Philipp Klaus Krause <philipp@colecovision.eu>
2123 * src/SDCCgenconstprop.cc:
2124 Improve generalized constant propagation analysis for /, %.
2126 2023-06-27 Philipp Klaus Krause <philipp@colecovision.eu>
2128 * src/SDCCgenconstprop.cc:
2129 Improve interval / bit synchronization in generalized constant propagation analysis.
2131 2023-06-27 Philipp Klaus Krause <philipp@colecovision.eu>
2134 support/valdiag/tests/bug-3603.c:
2139 Improve error message on invalid -mmarch option, part of RFE #881.
2141 2023-06-22 Philipp Klaus Krause <philipp@colecovision.eu>
2143 * support/scripts/sdcc.nsi:
2144 Change references to bin\cc1.exe to libexec\sdcc\cc1 (picked from nativecrosstools branch).
2146 2023-06-21 Philipp Klaus Krause <philipp@colecovision.eu>
2148 * src/SDCCgenconstprop.cc,
2152 Fixes for generalized constant propagation and support functions for _BitInt.
2154 2023-06-20 Philipp Klaus Krause <philipp@colecovision.eu>
2156 * src/SDCCgenconstprop.cc:
2157 Improve generalized constant propagation analysis and optimization.
2159 2023-06-20 Philipp Klaus Krause <philipp@colecovision.eu>
2162 src/SDCCgenconstprop.cc,
2165 Replace a multiplication narrowing optimization by a more generic one based on generalized constant propagation.
2167 2023-06-20 Philipp Klaus Krause <philipp@colecovision.eu>
2169 * src/SDCCgenconstprop.cc:
2170 Improve generalized constant propgation analysis and optimization.
2175 src/mos6502/ralloc2.cc:
2176 Further use of information from generalized constant propagation analysis in code generation.
2178 2023-06-19 Philipp Klaus Krause <philipp@colecovision.eu>
2184 src/hc08/ralloc2.cc:
2185 Use information from generalized constant propagation analysis in hc08 code generation, remove support for old register allocator.
2187 2023-06-18 Philipp Klaus Krause <philipp@colecovision.eu>
2189 * src/SDCCgenconstprop.cc,
2191 Improve generalized constant propagation analysis and optimization.
2193 2023-06-18 Philipp Klaus Krause <philipp@colecovision.eu>
2195 * src/SDCCgenconstprop.cc,
2199 Use information from generalized constant propagation analysis in code generation.
2201 2023-06-15 Philipp Klaus Krause <philipp@colecovision.eu>
2211 Simplify based on IC_(JT)COND now being an alias for IC_LEFT.
2213 2023-06-15 Philipp Klaus Krause <philipp@colecovision.eu>
2216 src/SDCCgenconstprop.cc,
2223 src/stm8/ralloc2.cc:
2224 Basic generalized constant propgation analysis and optimization for individual operand bits.
2226 2023-06-13 Philipp Klaus Krause <philipp@colecovision.eu>
2228 * src/SDCCgenconstprop.cc:
2229 Fixes and improvements for generalized constant propagation optimization and analysis.
2231 2023-06-13 Philipp Klaus Krause <philipp@colecovision.eu>
2234 Fix negation of literals for mos6502.
2235 * src/SDCCgenconstprop.cc:
2236 Fix handling of __bit in generalized constant propagation analysis.
2238 2023-06-12 Philipp Klaus Krause <philipp@colecovision.eu>
2241 Fix an issue in handling parameters during conversion of builtin functions at the beginning of a basic block.
2243 2023-06-12 Philipp Klaus Krause <philipp@colecovision.eu>
2248 Dump iCode after generalized constant propagation.
2250 2023-06-12 Philipp Klaus Krause <philipp@colecovision.eu>
2253 Fix a corner case in live-range separation that would hang SDCC on compiling the pic14 library (and result in some missed optimizations for other ports).
2255 Fix a pdk codegen issue that could result in invalid asm for pdk13 on bitwise and in if condition.
2257 Fix an issue in support function call handling that gets exposed in the genconstprop branch via incorrect elimination of an iCode in live range separation.
2259 2023-06-11 Philipp Klaus Krause <philipp@colecovision.eu>
2262 src/SDCCgenconstprop.cc,
2265 Basic generalized constant propagation operation narrowing optimization.
2267 2023-06-11 Philipp Klaus Krause <philipp@colecovision.eu>
2269 * src/SDCCgenconstprop.cc:
2270 Improve generalized constant propagation analysis.
2272 2023-06-11 Philipp Klaus Krause <philipp@colecovision.eu>
2274 * device/include/stdckdint.h:
2275 Work around an issue in inlining _Generic results to mitigate strtotul code size regression.
2277 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2279 * src/SDCCgenconstprop.cc:
2280 A few more bits of generalized constant propagation analysis and optimization.
2282 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2284 * src/SDCCgenconstprop.cc:
2285 Improve proof-of-concept for generalized constant propagation analysis and optimization to the point where it almost passes regression tests.
2289 Introduce --nogenconstprop option.
2291 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2293 * src/SDCCgenconstprop.cc:
2294 Refactor proof-of-concept for generalized constant propagation analysis using new iCode operand handling.
2296 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2299 Store operands of IFX and JUMPTAB the same way as operands of other iCodes.
2301 2023-06-10 Philipp Klaus Krause <philipp@colecovision.eu>
2308 src/SDCCgenconstprop.cc:
2309 A first proof-of-concept for generalized constant propagation analysis.
2311 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2313 * support/regression/MakeList:
2314 Disable tests that fail due to known -ms08 --stack-auto bugs.
2316 Document hc08/s08 struct/union parameter support.
2318 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2323 support/regression/MakeList:
2324 Fix a right-shift codegen sign issue triggered by register packing.
2326 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2329 support/regression/MakeList:
2330 Catch bug #3598 early.
2332 2023-06-08 Philipp Klaus Krause <philipp@colecovision.eu>
2335 Fix stacked hx result in shifts.
2336 * support/regression/MakeList:
2337 Exclude some tests that need features not yet supported by s08 from s08-stack-auto testing.
2339 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
2342 hc08/s08 --stack-auto struct/union parameters.
2344 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
2348 Caller-side support for hc08/s08 struct/union return.
2350 2023-06-07 Philipp Klaus Krause <philipp@colecovision.eu>
2353 Improve z80 rotation.
2354 * src/mcs51/ralloc.c:
2355 Work around a mcs51 register saving issue (codegen cannot handle a return value in a bit if other bits are live at the call).
2360 2023-06-03 Philipp Klaus Krause <philipp@colecovision.eu>
2362 * support/regression/MakeList:
2363 Disable trigraph test for host, since many host compilers no longer support trigraphs.
2365 2023-06-02 Philipp Klaus Krause <philipp@colecovision.eu>
2367 * support/regression/ports/host/spec.mk.in:
2368 Fix C99 flag handling.
2369 * support/regression/tests/align.c.in:
2370 Fix test for current state of SDCC and host compilers wrt. C11 alignment support.
2372 2023-06-02 Philipp Klaus Krause <philipp@colecovision.eu>
2375 Fix type of result in optimization of shifts wider than operand.
2377 Fix left-shift for wide _BitInt.
2381 Fix 16-bit bitwise or for register operand with global operand. Fix a in left shift by 8 code generation that overwrote a live pseudoregister p when storing the shift result onto the stack.
2383 Fix stack balance issue in left shift code generation.
2384 * support/regression/tests/bitintrot.c.in:
2385 _BitInt rotation test.
2387 2023-06-02 Philipp Klaus Krause <philipp@colecovision.eu>
2391 Improve z80 rotations.
2395 Improve pdk rotations.
2398 Improve mcs51 rotations.
2401 Improve hc08 rotations.
2403 2023-06-01 Philipp Klaus Krause <philipp@colecovision.eu>
2407 Simplify ROT optimization.
2410 Improve stm8 rotations.
2412 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2416 Support arbitrary rotations of 8-bit values in pdk code generation.
2419 Support arbitrary rotations of 8-bit values in stm8 code generation.
2421 src/hc08/ralloc2.cc:
2422 Improve code generation for hc08/s08 rotations.
2424 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2438 Replace RLC, RRC, SWAP by ROT, RFE #877.
2440 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2445 Prepare for generalized swap / rotation support.
2447 2023-05-31 Philipp Klaus Krause <philipp@colecovision.eu>
2451 device/lib/Makefile.in,
2452 device/lib/clean.mk,
2453 device/lib/s08-stack-auto,
2454 support/regression/ports/s08-stack-auto:
2455 Infrastructure for testing s08 port with --stack-auto.
2457 2023-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
2463 Update configure-time host C compiler checks for currently used standard.
2465 2023-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
2468 Document change in -MMD vs. -MF argument.
2472 Bump version to prepare for 4.3.0 release.
2474 2023-05-30 Philipp Klaus Krause <philipp@colecovision.eu>
2476 * src/mos6502/peeph.def,
2477 support/regression/tests/bug-3593.c:
2478 Fix bug #3593, using a variant of a patch by Christopher Williams.
2480 2023-05-29 Philipp Klaus Krause <philipp@colecovision.eu>
2482 * device/lib/pic14/Makefile.in,
2483 device/lib/pic14/aclocal.m4,
2484 device/lib/pic14/configure,
2485 device/lib/pic14/configure.ac,
2486 device/lib/pic14/libc/Makefile.in,
2487 device/lib/pic14/libm/Makefile.in,
2488 device/lib/pic14/libsdcc/enhanced/Makefile.in,
2489 device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
2490 device/lib/pic14/libsdcc/regular/Makefile.in,
2491 device/lib/pic16/Makefile.in,
2492 device/lib/pic16/aclocal.m4,
2493 device/lib/pic16/configure,
2494 device/lib/pic16/configure.ac,
2495 device/lib/pic16/debug/Makefile.in,
2496 device/lib/pic16/libc/Makefile.in,
2497 device/lib/pic16/libio/Makefile.in,
2498 device/lib/pic16/libm/Makefile.in,
2499 device/lib/pic16/libsdcc/Makefile.in,
2500 device/lib/pic16/startup/Makefile.in,
2501 device/non-free/lib/pic14/configure,
2502 device/non-free/lib/pic14/configure.ac,
2503 device/non-free/lib/pic16/Makefile.in,
2504 device/non-free/lib/pic16/aclocal.m4,
2505 device/non-free/lib/pic16/configure,
2506 device/non-free/lib/pic16/configure.ac,
2507 device/non-free/lib/pic16/libdev/Makefile.in:
2508 Updates to pic library build system, fix bug #3140 by implementing maintainer mode.
2510 2023-05-25 Philipp Klaus Krause <philipp@colecovision.eu>
2512 * support/regression/tests/bug-2854.,
2513 support/regression/tests/bug-3474.c,
2514 support/regression/tests/strto.c:
2515 Disable tests for mcs51 medium model that need too much memory since recent strtoul fixes (see also RFE #875).
2517 2023-05-24 Philipp Klaus Krause <philipp@colecovision.eu>
2520 support/regression/tests/bigstack.c.in:
2521 Improve guards against a potential issue in the interaction of function entry stack adjustment and register parameters.
2522 * src/mos6502/gen.c:
2523 Fix missing statement after label.
2525 2023-05-23 Philipp Klaus Krause <philipp@colecovision.eu>
2528 Optimize out some redundant iTemps.
2530 Live range separation fixes.
2532 2023-05-23 Philipp Klaus Krause <philipp@colecovision.eu>
2534 * device/lib/stm8/__mululonguchar2ulonglong.s,
2535 device/lib/stm8-large/__mululonguchar2ulonglong.s,
2536 device/lib/stm8/Makefile.in,
2537 device/lib/stm8-large/Makefile.in,
2543 Special handling of 32x8->64 unsigned multiplication for optimization.
2545 2023-05-23 Philipp Klaus Krause <philipp@colecovision.eu>
2548 Fix a segfault in a corner case in stm8 codegen.
2549 * device/lib/strtoul.c:
2550 Improve strtoul range error check.
2551 * support/regression/tests/mulextra.c:
2552 Improve test coverage for multiplication with operands of different types.
2554 2023-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
2556 * src/mos6502/gen.c,
2558 mos6502 _BitInt support.
2559 * device/lib/strtoul.c,
2560 support/regression/tests/strto.c:
2561 Fix C23 binary prefix for strtoo(u)l.
2563 Comparison codegen improvement.
2564 * device/lib/strtoul.c,
2565 support/regression/tests/strto.c:
2566 Fix a corner case in strtoul range check.
2568 2023-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
2573 hc08/s08 _BitInt support up to 64 bits.
2575 2023-05-21 Philipp Klaus Krause <philipp@colecovision.eu>
2579 hc08/s08 _BitInt support: codegen for addition, subtraction and 16-bit shifts. Enable _BitInt up to 16 bits.
2581 2023-05-19 Philipp Klaus Krause <philipp@colecovision.eu>
2583 * src/hc08/ralloc2.cc,
2585 Prepare for hc08/s08 _BitInt support: codegen for casts.
2587 2023-05-17 Philipp Klaus Krause <philipp@colecovision.eu>
2590 Fix whitespace in cross-build configure example.
2591 * support/regression/tests/gcc-torture-execute-strlen-4.c:
2592 Enable some more bits of this test that now pass.
2594 2023-05-16 Felix Salfelder <felix AT salfelder.org>
2596 * bin/sd{ar,cpp,nm,objcopy,ranlib}.in:
2597 fix #3587 (with Philipp).
2599 2023-05-16 Philipp Klaus Krause <philipp@colecovision.eu>
2602 support/regression/tests/bug-3455.c:
2604 * support/regression/tests/sizeof.c.in:
2605 Disable a warning where we intentionally test something that is implementation-defined in SDCC (though undefined in the standard).
2606 * device/lib/ds400/Makefile.in:
2607 Fix invokation of sdar during ds400 library build.
2609 2023-05-15 Philipp Klaus Krause <philipp@colecovision.eu>
2611 * sdas/linksrc/Makefile.in,
2612 sdas/linksrc/aslink.h,
2613 sdas/linksrc/lkout.c,
2614 sdas/linksrc/lks19.c:
2615 Port Motorola SREC format support from upstream asxxxx 5.40 to fix bug #3559.
2617 2023-05-15 Philipp Klaus Krause <philipp@colecovision.eu>
2620 support/regression/tests/bug-3585.c:
2623 2023-05-01 Felix Salfelder <felix AT salfelder.org>
2625 * support/sdbinutils/bfd/{asxxxx,targets}.c:
2626 Fix bug #3569 and a memory leak.
2628 2023-05-11 Philipp Klaus Krause <philipp@colecovision.eu>
2630 * support/regression/tests/bug-3352.c,
2631 support/regression/tests/bug-3465.c,
2632 support/regression/tests/bug-3523.c,
2633 support/regression/tests/bug-3532.c,
2634 support/regression/tests/bug-3547.c:
2635 Disable warning 85 for some tests (as parameters are intentionally unused in these).
2637 2023-05-10 Philipp Klaus Krause <philipp@colecovision.eu>
2639 * support/regression/tests/bug-3563.c:
2640 Regression test for bug #3563 (disabled for mcs51, as the bug is not yet fixed).
2642 support/regression/tests/*.c:
2645 2023-05-04 Philipp Klaus Krause <philipp@colecovision.eu>
2648 support/regression/tests/bug-3579.c:
2649 iy handling fixes in code generation.
2651 2023-04-26 Philipp Klaus Krause <philipp@colecovision.eu>
2656 2023-04-13 Philipp Klaus Krause <philipp@colecovision.eu>
2658 * sdas/asz80/z80mch.c:
2659 Fix error message on use of undocumented inc/dec ixl/ixh/iyl/iyh. Fix error message on undocumented load between ix/iy l/h. Fix bug #3574.
2661 2023-04-12 Philipp Klaus Krause <philipp@colecovision.eu>
2664 Improve error message on missing skip instruction target label at end of inline asm in __naked function. Fix bug #3566.
2666 support/regression/tests/bug-3570.c:
2671 2023-03-21 Felix Salfelder <felix AT salfelder.org>
2674 Use -MF to pass dependency output file to sdcpp, fixing bug #3541.
2675 See https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#Invocation.
2677 2023-03-20 Philipp Klaus Krause <philipp@colecovision.eu>
2679 * support/regression/tests/bug-3567.c:
2680 Disable a test for mcs51 small model, where it fails due to lack of memory.
2682 2023-03-19 Philipp Klaus Krause <philipp@colecovision.eu>
2685 support/regression/tests/bug-3567.c:
2688 2023-03-16 Philipp Klaus Krause <philipp@colecovision.eu>
2691 support/regression/tests/bug-3556.c:
2692 Fix an issue in pdk shift codegen for non-dead shift amount in acc.
2694 2023-03-15 Philipp Klaus Krause <philipp@colecovision.eu>
2697 support/regression/tests/bug-3564.c:
2700 2023-03-08 Philipp Klaus Krause <philipp@colecovision.eu>
2702 * support/regression/tests/bigreturn-remat.c.in,
2703 support/regression/tests/rotate.c.in:
2704 Improve test coverage.
2706 2023-03-01 Philipp Klaus Krause <philipp@colecovision.eu>
2708 * support/regression/tests/atomic.c,
2709 support/regression/tests/bug-1918.c,
2710 support/regression/tests/bug-2124.c,
2711 support/regression/tests/bug-2181.c,
2712 support/regression/tests/bug-2271.c,
2713 support/regression/tests/bug-2373.c,
2714 support/regression/tests/bug-2455.c,
2715 support/regression/tests/bug-2497.c,
2716 support/regression/tests/bug-716242.c,
2717 support/regression/tests/bug1908493.c,
2718 support/regression/tests/gcc-torture-execute-20030714-1.c,
2719 support/regression/tests/gcc-torture-execute-980707-1.c:
2720 Document why some regression tests are disabled for pdk.
2721 * device/include/mcs51/stc89.h,
2729 2023-02-28 Maarten Brock <sourceforge.brock AT dse.nl>
2731 * src/mcs51/rtrack.c: placed all comment emitting code in D(),
2732 (_mcs51_rtrackUpdate): enabled literal mov to register part by removing D(),
2733 enabled tracking dptr by removing if(options.verboseAsm)
2734 * device/lib/ds390/Makefile.in,
2735 * device/lib/ds390/lcd390.c: removed buggy lcd390.c, the DS80C390 has no native LCD interface
2737 2023-02-26 Philipp Klaus Krause <philipp@colecovision.eu>
2740 support/regression/tests/bug-3560.c:
2743 2023-02-24 Philipp Klaus Krause <philipp@colecovision.eu>
2745 * support/regression/tests/_minimal.c:
2746 Pick minimal regression test from MP8 fork of sdcc to ease initial debugging of new ports.
2748 2023-02-20 Felix Salfelder <felix AT salfelder.org>
2751 fix literal sdcc-sdbinutils dep, towards fixing bug #3491.
2753 2023-02-17 Felix Salfelder <felix AT salfelder.org>
2755 * support/cpp/libcpp/files.cc:
2756 Remove stray assert, fix bug #3483.
2758 2023-02-16 Felix Salfelder <felix AT salfelder.org>
2760 * src/clean.mk: Delete Makefile target only.
2762 2023-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
2765 src/SDCCerr.c: changed possible to probable
2767 doc/sdccman.lyx: fixed spelling
2769 2023-02-09 Philipp Klaus Krause <philipp@colecovision.eu>
2773 * support/regression/tests/*.c,
2775 Spelling fixes for comments, from patch #459 by Konstantin Kim.
2777 2023-02-08 Philipp Klaus Krause <philipp@colecovision.eu>
2780 support/regression/tests/bug-2776.c,
2781 support/regression/tests/bug-3368.c:
2782 Fix bugs #2776, #3378.
2784 2023-02-06 Philipp Klaus Krause <philipp@colecovision.eu>
2787 support/regression/tests/bug-3352.c:
2789 * device/lib/sm83/crt0.s:
2791 * support/regression/tests/gcc-torture-execute-pr91137.c:
2793 * support/regression/tests/bug1723128.c:
2796 2023-02-05 Philipp Klaus Krause <philipp@colecovision.eu>
2799 support/regression/tests/bug-3547.c:
2802 2023-02-04 Philipp Klaus Krause <philipp@colecovision.eu>
2807 Warn on deprecated _sdcc_external_startup, RFE #868.
2808 * device/lib/printf_large.c,
2811 support/regression/tests/snprintf.c.in:
2812 Fix endiannness of %p output, based on patch #457 by Basil Hussain, bug #3543.
2815 support/valdiag/tests/bug-3060.c:
2820 2023-02-02 Philipp Klaus Krause <philipp@colecovision.eu>
2822 * support/regression/cases/Makefile.in:
2823 Disable a test that often times out on slower machines in the compile farm (due a large number of slow operations in a loop).
2825 2023-02-01 Philipp Klaus Krause <philipp@colecovision.eu>
2827 * support/regression/tests/bug-3249.c:
2828 Do not test non-intrinsic named address space areas for mcs51, as DATA is overwritten by stack there.
2829 * support/regression/MakeList:
2830 Disable a test for -mmcs51 --model-small --stack-auto that is known to fail for mcs51 with --stack-auto (bug #3540).
2832 support/regression/tests/bug-1981238.c:
2835 2023-01-31 Philipp Klaus Krause <philipp@colecovision.eu>
2838 Fix bug #2837 for z80 and related.
2840 2023-01-30 Philipp Klaus Krause <philipp@colecovision.eu>
2843 support/regression/tests/bug-3025.c,
2844 support/regression/cases/Makefile.in,
2846 * src/mos6502/peeph.def:
2847 Disable a rule that uses not-yet-implemented notUsed.
2849 Fix a pdk issue similar to mcs51 bug #3023.
2851 device/lib/printf_large.c,
2852 device/lib/printfl.c,
2853 device/lib/sprintf.c,
2854 device/lib/vprintf.c:
2857 support/regression/tests/bug-3249.c:
2859 * support/regression/tests/inline.c:
2860 Disable a test for host, which fails on GNU/Linux on aarch64 using GCC 12.2.
2865 Fix error message test for empty translation units.
2867 2023-01-29 Benedikt Freisen <b.freisen AT gmx.net>
2869 * device/include/float.h,
2870 device/lib/_divsint.c,
2871 device/lib/_divslong.c,
2872 device/lib/_divslonglong.c,
2873 device/lib/_divuint.c,
2874 device/lib/_divulong.c,
2875 device/lib/_divulonglong.c,
2876 device/lib/_modsint.c,
2877 device/lib/_modslong.c,
2878 device/lib/_modslonglong.c,
2879 device/lib/_moduint.c,
2880 device/lib/_modulong.c,
2881 device/lib/_modulonglong.c,
2882 device/lib/_mulint.c,
2883 device/lib/_mullong.c,
2884 device/lib/_mullonglong.c,
2885 device/lib/_rlslonglong.c,
2886 device/lib/_rlulonglong.c,
2887 device/lib/_rrslonglong.c,
2888 device/lib/_rrulonglong.c,
2889 device/lib/_slonglong2fs.c,
2890 device/lib/_ulonglong2fs.c:
2891 Add conditional `__nonbanked` to fix mcs51 library build.
2893 2023-01-28 Philipp Klaus Krause <philipp@colecovision.eu>
2899 support/regression/tests/bug-3023.c:
2902 2023-01-28 Philipp Klaus Krause <philipp@colecovision.eu>
2911 * src/mos6502/ralloc.c,
2915 2023-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
2918 support/regression/cases/Makefile.in,
2919 support/regression/MakeList:
2925 support/valdiag/tests/bug-3228.c:
2932 2023-01-27 Philipp Klaus Krause <philipp@colecovision.eu>
2934 * sdas/aspdk15/pdk15mch.c:
2939 support/regression/cases/Makefile.in:
2942 2023-01-26 Philipp Klaus Krause <philipp@colecovision.eu>
2945 Make ulFromVal a wrapper for ullFromVal to remove duplicate code and partially fix bug #3539.
2947 Fix an sm83 issue similar to z80 bug #3503.
2949 Add _BitInt to type list in manual.
2951 Skip invalid init list bits. Fix bug #2928.
2953 support/regression/tests/bug-2983.c:
2955 * src/pdk/peeph.def:
2956 Fix an issue in two pdk peephole rule conditions.s
2960 support/valdiag/tests/bug-3012.c:
2963 2023-01-25 Philipp Klaus Krause <philipp@colecovision.eu>
2966 Type fixes (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
2968 Fix an stm8 issue similar to z80 bug #3503.
2969 * src/pdk/peeph.def:
2970 Fix use of cneqsn, which is not supported on pdk13.
2972 2023-01-24 Philipp Klaus Krause <philipp@colecovision.eu>
2975 doc/z80-stack-cleanup.svg:
2976 Improve documentation on stack cleanup (support request #182).
2980 support/regression/tests/bug-3525.c:
2983 2023-01-23 Philipp Klaus Krause <philipp@colecovision.eu>
2990 Type fixes for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
2991 * device/include/stdckdint.h,
2992 device/lib/strtol.c,
2993 device/lib/strtoul.c,
2994 support/regression/tests/bug-3474.c,
2995 support/regression/tests/bug-2854.c
2997 * support/regression/tests/gcc-torture-execute-p18298.c:
2998 extern declaration for inline function to pass host regression tests where the host compiler does not inline.
2999 * support/regression/MakeList:
3000 Exclude test for host, since it fails for GCC 7, which is still used on the PPC macOS machine in the compile farm.
3003 support/regression/tests/bug-3503.c:
3006 2023-01-21 Philipp Klaus Krause <philipp@colecovision.eu>
3008 * src/mos6502/main.c:
3009 stdlib selection, patch #454 by Basil Hussain.
3010 * debugger/mcs51/cmd.c:
3011 Avoid debugger segfault, patch #449 by Mark Symonds.
3013 Enhance documentation for __sdcc_external_startup, patch #456 by Basil Hussain.
3015 Remove null-pointer checks on something that is not a pointer in current SDCC, patch #442 by Reini Urban.
3018 __sdcc_external_startup return checking for pdk, patch #455 by Basil Hussain.
3019 * src/mos6502/peeph.def:
3020 mos6502 peephole rule fix, patch #453 by Michel Iwaniec.
3022 Type fix for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
3024 support/regression/tests/bug-3532.c:
3027 support/regression/tests/bug-3523.c,
3028 support/regression/tests/bug-3487.c:
3029 Fix bugs #3523, #3487.
3031 2023-01-19 Philipp Klaus Krause <philipp@colecovision.eu>
3033 * device/lib/*/crt0.s,
3037 Patch #453 by Basil Hussain to further harmonize __sdcc_external_startup (RFE #859).
3041 Type fixes for code generation (fixing regressions visible on 32-bit big-endian hosts), partial fix for bug #3539.
3043 Improve __sdcc_external_startup documentation.
3045 2023-01-17 Philipp Klaus Krause <philipp@colecovision.eu>
3047 * support/regression/tests/gcc-torture-execute-va-arg-5.c:
3048 Disable Test for GCC up to 11, since it still fails on x86 hosts for that version.
3049 * support/regression/cases/Makefile.in:
3050 Disable Test that tests for GCC implementation-defined behaviour (GIMPLE memory model).
3052 2023-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3054 * src/SDCCcse.c: Improve pointer aliasing handling,
3055 minor reduction in memory leakage
3056 * support/regression/tests/bug-2957.c,
3057 support/regression/tests/gcc-torture-execute-pr20466-1.c:
3060 2023-01-08 Benedikt Freisen <b.freisen AT gmx.net>
3063 Add "TD-" to the version string of treedec-less builds.
3065 2023-01-08 Benedikt Freisen <b.freisen AT gmx.net>
3068 Amend claims concerning intrinsic address space support.
3070 2023-01-02 Philipp Klaus Krause <philipp@colecovision.eu>
3073 support/regression/tests/bug-3504.c:
3076 2022-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3078 * src/SDCClabel.c (labelUnreach, deleteIfx),
3079 src/SDCCcse.c (ifxOptimize): disable conditional flow change and
3080 unreachable code warnings within function inlining
3081 * src/SDCClabel.c (labelJumptable,iCodeLabelOptimize),
3082 src/SDCCcse.c (cseBBlock): optimize jump tables
3083 * src/SDCClabel.c (labelUnreach): clean up dead code def/use info
3085 2022-12-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3087 * support/cpp/gcc/configure.ac,
3088 support/cpp/gcc/configure: disable some assembler and
3089 target tests unneeded for the preprocessor
3091 2022-12-16 Philipp Klaus Krause <pkk AT spth.de>
3099 2022-12-15 Philipp Klaus Krause <pkk AT spth.de>
3101 * support/regression/tests/gcc-torture-execute-941021-1.c:
3102 Remove a test that apparently relies on implementation-defined floating-point rounding behaviour.
3104 2022-12-14 Philipp Klaus Krause <pkk AT spth.de>
3106 * support/regression/tests/bug-2567.c,
3107 support/regression/tests/bug-2752.c:
3108 Provide external declaration of inline function to pass test-host for non-inlining host compilers.
3109 * sdas/aspdk14/pdk14mch.c,
3110 sdas/aspdk15/pdk15mch.c:
3111 Fix bug #3376, patch by Free-PDK.
3113 2022-12-13 Philipp Klaus Krause <pkk AT spth.de>
3115 * device/lib/sm83/divint.s,
3116 support/regression/tests/muldiv.c.in,
3117 support/regression/tests/onebyte.c.in:
3118 Fix a % sm83 library issue, patch by Job Bolle.
3120 Fix __sdcc_external_startup handling for stm8 large memory model.
3121 * src/z80/peeph.def:
3124 2022-12-04 Philipp Klaus Krause <pkk AT spth.de>
3127 support/regression/tests/bug-3522.c:
3130 2022-12-03 Philipp Klaus Krause <pkk AT spth.de>
3132 * device/lib/_startup.c,
3133 device/lib/ds390/tinibios.c,
3134 device/lib/ez80_z80/crt0.s,
3135 device/lib/mcs51/crtstart.asm,
3136 device/lib/mcs51/crtxstack.asm,
3137 device/lib/mos6502/crt0.s,
3138 device/lib/mos6502-stack-auto/crt0.s,
3139 device/lib/r2k/crt0.s,
3140 device/lib/r2ka/crt0.s,
3141 device/lib/r3ka/crt0.s,
3142 device/lib/sm83/crt0.s,
3143 device/lib/tlcs90/crt0.s,
3144 device/lib/z180/crt0.s,
3145 device/lib/z80/crt0.s,
3146 device/lib/z80n/crt0.s,
3152 support/regression/ports/mcs51-common/support.c:
3153 Rename _sdcc_external_startup to __sdcc_external_startup and make it work for all ports. Fixes bug #3520.
3155 2022-11-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3157 * support/cpp/gcc/pretty-print.cc: define some console
3158 attribute constants if they are missing
3159 * support/cpp/gcc/gcc.cc,
3160 support/cpp/gcc/opts.cc,
3161 support/cpp/gcc/opts-common.cc,
3162 support/cpp/gcc/opts-global.cc,
3163 support/cpp/gcc/prefix.cc,
3164 support/cpp/gcc/toplev.cc,
3165 support/cpp/libcpp/lex.cc,
3166 support/cpp/libcpp/mkdeps.cc,
3167 support/cpp/gcc/c-family/c-opts.cc,
3168 support/cpp/gcc/c-family/c-ppoutput.cc:
3169 Possible fix for bug #3524
3171 2022-11-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3173 * support/cpp/gcc/system.h: don't try to check inodes when
3174 compiled for Windows
3176 2022-11-28 Philipp Klaus Krause <pkk AT spth.de>
3180 Pdk peephole infrastructure improvements, patch #446 by Konstantin Kim.
3182 2022-11-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3184 * support/scripts/sdcc.nsi: add cc1.exe
3185 * support/cpp/gcc/Makefile.in,
3186 support/cpp/gcc/cc1_dummies.cc,
3187 support/cpp/gcc/c/Make-lang.in,
3188 support/cpp/gcc/c-family/c-common.h,
3189 support/cpp/gcc/c-family/c-opts.cc: remove some unneeded
3190 compile time executable requirement so cross compile with
3193 2022-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3195 * support/cpp/gcc/Makefile.in: add missing $(exeext)
3196 * support/cpp/gcc/gcc.cc,
3197 support/cpp/gcc/opts.cc,
3198 support/cpp/gcc/opts-common.cc,
3199 support/cpp/gcc/prefix.cc,
3200 support/cpp/gcc/toplev.cc,
3201 support/cpp/libcpp/lex.cc,
3202 support/cpp/libcpp/mkdeps.cc,
3203 support/cpp/gcc/c-family/c-opts.cc,
3204 support/cpp/gcc/c-family/c-ppoutput.cc: move iostream header
3205 last to avoid inconsistent struct offsets and thus segfaults
3207 2022-11-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3209 * src/SDCClabel.c (labelGotoGoto, labelUnreach),
3210 src/SDCCBBlock.c (iCodeFromeBBlock),
3211 src/SDCCicode.h: fix bug #3501
3213 2022-11-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3215 * src/SDCC.lex: process #line directive in __asm__ blocks
3217 2022-11-14 Benedikt Freisen <b.freisen AT gmx.net>
3219 * src/pic16/pcodepeep.c:
3220 Fix type mismatches, one of them critical. See [bugs:#3179].
3222 2022-11-11 Felix Salfelder <felix AT salfelder.org>
3224 * support/cpp/gcc/config.gcc:
3225 Workaround: Ignore "unsupported target"
3226 ... as suggested by Free-PDK in bug #3517.
3228 2022-11-06 Philipp Klaus Krause <pkk AT spth.de>
3231 Fix an issue related to bug #3471.
3233 2022-11-04 Philipp Klaus Krause <pkk AT spth.de>
3237 Fix iy handling in peephole optimizer, variant of patch #441 by Job Bolle.
3238 * src/stm8/peeph.def,
3239 support/regression/tests/modulong.c,
3240 support/regression/ports/stm8/spec.mk:
3241 clr-push stm8 peephole optimizer rule, variant of patch #443 by Basil Hussain.
3243 2022-11-03 Benedikt Freisen <b.freisen AT gmx.net>
3245 * support/cpp/gcc/config/riscv/arch-canonicalize:
3246 Add missing file from GCC CPP.
3248 2022-10-25 Felix Salfelder <felix AT salfelder.org>
3250 * support/cpp/gcc/cc1_dummies.cc:
3251 Fix argument type in dummy, #3492.
3253 2022-10-21 Philipp Klaus Krause <pkk AT spth.de>
3256 Fix a typo noticed by Basil Hussain, that makes an aspect of the stm8 calling convention, version 0, ambiguous.
3258 2022-10-13 Philipp Klaus Krause <pkk AT spth.de>
3261 Relax type match requirements on literal operands to multiplication support functions.
3263 2022-10-11 Philipp Klaus Krause <pkk AT spth.de>
3269 Small improvements in reads of bool bit-fields.
3271 2022-10-07 Felix Salfelder <felix AT salfelder.org>
3273 * support/cpp/gcc/cc1_dummies.cc:
3274 Add two more dummies.
3276 2022-10-03 Benedikt Freisen <b.freisen AT gmx.net>
3278 * device/include/gcc_attr.h:
3279 Use C23 version macro.
3281 2022-10-01 Philipp Klaus Krause <pkk AT spth.de>
3283 * support/regression/MakeList:
3284 Disable a test for pdk14 that fails due to lack of memory on the target device.
3286 2022-09-29 Philipp Klaus Krause <pkk AT spth.de>
3288 * src/stm8/peeph.def:
3289 Use mov in more cases, patch by Basil Hussain.
3290 * device/include/assert.h:
3291 Fix static_assert for C11.
3293 2022-09-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3296 support/cpp/libcpp/init.cc:
3297 Fix handling of c2x standard for preprocessor.
3298 * device/include/stdlib.h,
3299 device/lib/Makefile.in,
3300 device/lib/__stdc_count_leading_zeros.c,
3301 device/lib/__stdc_first_leading_one.c,
3302 device/lib/__stdc_first_trailing_oneull.c,
3303 device/lib/_divslonglong.c,
3304 device/lib/_divulonglong.c,
3305 device/lib/_modslonglong.c,
3306 device/lib/_mullonglong.c,
3307 device/lib/_rlslonglong.c,
3308 device/lib/_rlulonglong.c,
3309 device/lib/_rrslonglong.c,
3310 device/lib/_rrulonglong.c,
3311 device/lib/aligned_alloc.c,
3312 device/lib/*/Makefile.in,
3313 device/lib/ds390/lcd390.c,
3314 device/lib/printf_large.c,
3315 device/lib/printfl.c,
3316 device/lib/sprintf.c,
3317 device/lib/vprintf.c:
3320 2022-09-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3322 * device/include/assert.h,
3323 device/include/ctype.h,
3324 device/include/limits.h,
3325 device/include/stdarg.h,
3326 device/include/stdbool.h,
3327 device/include/stddef.h,
3328 device/include/stdlib.h,
3329 device/include/uchar.h,
3330 device/include/setjmp.h,
3331 device/include/stdalign.h,
3332 device/include/stdint.h:
3333 Replace include guards by C23 header version macros.
3335 2022-09-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3338 Improve handling of iyl, iyh in peephole rules, based on patch by Job Bolle.
3340 2022-09-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3343 Handling of immediates in canAssign for z80 and related.
3345 2022-09-20 Maarten Brock <sourceforge.brock AT dse.nl>
3347 * src/z80/peeph.def: fixed rules 85a, 85b to fix bug #3486,
3350 2022-09-19 Felix Salfelder <felix AT salfelder.org>
3353 Pass -xc to preprocessor, overriding file-type-by-extension magic.
3355 2022-09-18 Maarten Brock <sourceforge.brock AT dse.nl>
3357 * debugger/mcs51/cmd.c: applied patch #439,
3358 also applied patch from bug #3485, Thanks Mark Symonds,
3359 also cleaned up many whitespace irregularities
3361 2022-09-17 Felix Salfelder <felix AT salfelder.org>
3363 * support/regression/MakeList,
3364 support/regression/tcc/83_utf8_in_identifiers.c:
3365 Revive erroneously disabled utf8 test.
3367 2022-09-13 Benedikt Freisen <b.freisen AT gmx.net>
3371 support/regression/tests/gcc-torture-execute-strct-varg-1.c,
3372 support/regression/tests/gcc-torture-execute-va-arg-23.c,
3373 support/regression/tests/gcc-torture-execute-va-arg-4.c:
3374 struct / union parameters on the stack for ds390, copied from mcs51.
3376 2022-09-13 Felix Salfelder <felix AT salfelder.org>
3378 * support/cpp/gcc/{system,double-int}.h:
3379 Remove wrong/unneeded gmp use.
3381 2022-09-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3383 * device/include/tinibios.h,
3384 device/lib/ds390/tinibios.c,
3385 device/lib/ds400/tinibios.c:
3386 Provide function prototypes for tinybios.
3388 2022-09-11 Benedikt Freisen <b.freisen AT gmx.net>
3394 support/regression/cases/Makefile.in:
3395 Handle types double and long double in checkTypeSanity.
3397 2022-09-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3401 support/regression/tests/bug-3481.c:
3402 Fix part of bug #3481.
3404 2022-09-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3409 2022-09-08 Felix Salfelder <felix AT salfelder.org>
3411 * support/cpp/libbacktrace/allocfail.sh:
3414 2022-09-08 Felix Salfelder <felix AT salfelder.org>
3416 * device/lib/incl.mk:
3417 Fix %.rel rules. Thanks to Job Bolle, see discussion/1865.
3419 2022-09-08 Felix Salfelder <felix AT salfelder.org>
3421 * support/cpp/gcc/Makefile.in:
3422 avoid tm-preds.h cleanup once more.
3424 2022-09-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3428 support/regression/tests/bug-3478.c:
3431 2022-09-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3434 support/regression/tests/bug-3471.c:
3437 2022-09-06 Felix Salfelder <felix AT salfelder.org>
3439 * support/cpp/gcc/Makefile.in,
3440 support/cpp/libbacktrace/Makefile.am:
3441 Revisit don't clean no-longer autogenerated files.
3443 2022-09-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3446 support/regression/tests/bug-3470.c:
3447 Fix part of bug #3470.
3449 2022-09-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3451 * Merge cpp branch to trunk.
3453 2022-09-04 Felix Salfelder <felix AT salfelder.org>
3455 * support/cpp/gcc/hash-table.h:
3456 Revert a compile warning fix.
3458 2022-09-02 Felix Salfelder <felix AT salfelder.org>
3460 * support/cpp/gcc/cc1_dummies.cc,
3461 support/cpp/gcc/ggc-common.cc,
3462 support/cpp/gcc/hash-map.h,
3463 support/cpp/gcc/hash-table.h,
3464 support/cpp/gcc/vec.h:
3465 Fix compile warnings
3467 2022-09-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3469 * support/valdiag/tests/universal.c,
3470 support/valdiag/tests/universal2.c:
3471 Separate out a test that needs to reside in a file on its own, since the diagnostic is emitted even inside #if 0.
3473 2022-08-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3475 * support/regression/tests/checkedint.c.in:
3476 Disable test for mcs51 medium memory model, where it fails due to lack of memory.
3478 2022-08-31 Felix Salfelder <felix AT salfelder.org>
3480 * sdcc/support/cpp/gcc/opts.cc,
3481 sdcc/support/cpp/libcpp/mkdeps.cc:
3484 2022-08-30 Felix Salfelder <felix AT salfelder.org>
3486 * support/cpp/configure, support/cpp/configure.ac:
3487 Omit gmp/mpfr checks and GCC_TOPLEV_SUBDIRS.
3489 2022-08-23 Felix Salfelder <felix AT salfelder.org>
3491 * support/cpp/configure, support/cpp/configure.ac,
3492 support/cpp/gcc/configure, support/cpp/gcc/configure.ac:
3493 Reduce diff against upstream gcc.
3495 2022-08-21 Felix Salfelder <felix AT salfelder.org>
3497 * support/regression/Makefile.in,
3498 support/regression/cases/Makefile.in:
3499 Test summary depends on test set.
3501 2022-08-20 Felix Salfelder <felix AT salfelder.org>
3503 * support/cpp/gcc/Makefile.in:
3504 Do not clean no-longer autogenerated files.
3506 2022-08-30 Felix Salfelder <felix AT salfelder.org>
3508 * support/regression/cases/Makefile.in:
3511 2022-08-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3514 support/regression/tests/bug-3040.c.in:
3516 * support/regression/tests/checkedint.c.in:
3517 Test checked integers, part of RFE #749.
3518 * tests/gcc-torture-execute-920711-1.c:
3519 Remove a test that relies on undefined behaviour on signed integer overflow.
3521 support/valdiag/tests/bug-3457.c:
3525 support/valdiag/tests/bug-3031.c:
3528 2022-08-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3530 * support/regression/cases/Makefile.in:
3531 Disable a GCC test that tests for GCC implementation-defined floating-point behaviour.
3533 2022-08-26 Felix Salfelder <felix AT salfelder.org>
3535 * regression/ports/pic14/spec.mk:
3536 LDFLAGS & EMU invocation fixes
3538 2022-08-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3540 * support/regression/ports/hc08/spec.mk,
3541 support/regression/ports/s08/spec.mk:
3542 Increase regression test timeout slightly, so a passive-cooled Raspi 4B can run the qct_0042-prime regression test in Summer.
3544 2022-08-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3548 support/regression/tests/pragma_pedantic_parse_number.c:
3549 Document dropped support for --pedantic-parse-number and #pragma pedantic_parse_number.
3551 2022-08-16 Felix Salfelder <felix AT salfelder.org>
3554 Partially import gcc (12.1.0, 1ea978e3066a),
3555 Isolate, dissect, gcc/cpp,
3556 Create dummy target files,
3557 (Re)add -obj-ext option,
3558 Change # to #line in cpp output,
3559 * Makefile.common.in:
3560 Set .DELETE_ON_ERROR
3561 * configure.ac, src/Makefile.in:
3562 Obtain svn revision and paste into version.h
3563 * configure.ac, Makefile.in, bin/*:
3564 Add Makefile, wrap executables, adjust rules.
3566 2022-08-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
3568 * device/lib/pic16/startup/crt0.c,
3569 device/lib/pic16/startup/crt0i.c,
3570 device/lib/pic16/startup/crt0iz.c:
3571 Update interrupt syntax for new parser
3573 2022-08-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3575 * device/include/stdbit.h:
3576 Fix bit and byte utilities find first leading bit functions for ports that don't have _BitInt yet.
3578 2022-08-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3582 Document intentional deviation from C2X draft N3047 rules for tag compatibility for unions.
3584 2022-08-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3587 Fix handling of pointers to short, long and long long (without explicit int) in _Generic associations.
3588 * device/include/stdckdint.h,
3590 device/lib/ckd_add.c,
3591 device/lib/ckd_mul.c,
3592 device/lib/ckd_sub.c,
3595 Checked integer arithmetic for all types except (unsigned) long long, part of RFE #749.
3597 2022-08-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3601 support/valdiag/tests/enum.c:
3602 C2X enum tag compatibility rules, RFE #852.
3604 2022-08-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3611 support/valdiag/tests/struct.c:
3612 C2X struct / union tag compatibility rules, part of RFE #852.
3614 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3616 * device/include/stdlib.h,
3618 device/lib/call_once.c:
3619 call_once, RFE #777.
3621 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3623 * device/include/stdbit.h,
3625 device/lib/__stdc_first_leading_one.c,
3626 support/regression/tests/bitfirstleading.c.in:
3627 Provide bit and byte utilities find first leading bit functions. RFE #854.
3629 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3631 * device/include/stdbit.h,
3633 device/lib/__stdc_count_leading_zeros.c,
3634 support/regression/tests/bitcountleading.c.in:
3635 Provide bit and byte utilities count leading bits functions. Part of RFE #854.
3637 Fix type handling for bit-precise types in _Generic association.
3639 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3641 * device/include/stdbit.h,
3643 device/lib/__stdc_first_trailing_oneull.c,
3644 support/regression/tests/bitfirst.c.in:
3645 Provide bit and byte utilities first trailing bit functions. Part of RFE #854.
3647 2022-08-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3649 * device/include/stdbit.h,
3650 device/lib/__stdc_count_trailing_onesull.c,
3652 support/regression/tests/bitcounttrailing.c.in:
3653 Provide bit and byte utilities trailing bit count functions. Part of RFE #854.
3655 2022-08-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3658 support/regression/tests/c2xkeywords.c:
3661 2022-08-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3663 * device/include/stdbit.h,
3665 device/lib/__stdc_bit_ceilull.c,
3666 device/lib/__stdc_bit_widthull.c,
3667 support/regression/tests/bitcount.c.in:
3668 Provide bit and byte utilities bit width floor and ceiling functions. Part of RFE #854.
3670 2022-08-05 Benedikt Freisen <b.freisen AT gmx.net>
3672 * device/include/stddef.h:
3673 Protect NULL macro with parentheses, fixing bug #3467.
3675 2022-08-05 Benedikt Freisen <b.freisen AT gmx.net>
3678 Missing K&R function support is not a deviation from C2X compliance.
3680 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3682 * device/include/stdbit.h,
3683 device/include/stdint.h,
3684 device/lib/_mulint.c,
3685 device/lib/_mullong.c,
3686 device/lib/_rlulonglong.c,
3687 device/lib/_rrslonglong.c,
3688 device/lib/_rrulonglong.c,
3689 device/lib/_startup.c,
3690 device/lib/__stdc_count_onesull.c,
3691 support/regression/tests/bitcount.c.in,
3692 device/lib/_mullong.c:
3693 Provide and use bit and byte utility types and macros. Provide bit and byte utilities bit count and single-bit check functions. Part of RFE #854.
3695 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3702 support/regression/tests/bug-3462.c:
3705 Update manual section on standard compliance for recent improvements.
3707 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3709 * Merge parser branch to trunk.
3711 2022-08-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3716 support/regression/tests/bug-3465.c:
3717 Basic C99 VLA type support, RFE #786, fix bug #3465.
3719 2022-08-04 Benedikt Freisen <b.freisen AT gmx.net>
3721 * support/scripts/sdcc.nsi:
3722 Correct STM8 memory model name from small to medium, fixing bug #3466.
3724 2022-08-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3732 Infrastructure for VLA types.
3734 2022-08-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3741 C2X {} empty initializers, RFE #782.
3743 2022-08-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3745 * support/util/dbuf_string.c:
3748 Fix area directive for sseg, patch by Tarn.
3750 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3753 Refactor handling of array declarators.
3755 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3757 * Merge parser branch to trunk.
3759 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3764 Allow more attribute arguments, warn on unknown attributes.
3766 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3769 Allow attributes in direct declarators. Avoiding grammar conflicts for K&R function definitions made this a bit more complex.
3771 2022-08-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3776 support/regression/tests/bug-2664.c:
3778 * support/valdiag/tests/bug-3009.c,
3779 support/valdiag/tests/bug-3011.c:
3780 Ignore a warning that is irrelevant for these test cases.
3782 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3788 support/regression/tests/bug-2222.c,
3789 support/regression/tests/bug-2263.c,
3790 support/regression/tests/bug-2320.c,
3791 support/regression/tests/bug-2629.c,
3792 support/regression/tests/bug-2956.c,
3793 support/regression/tests/bug-3079.c,
3794 support/regression/tests/bug-3081.c,
3795 support/regression/tests/bug-3093.c,
3796 support/regression/tests/bug-3135.c,
3797 support/regression/tests/bug-3169.c,
3798 support/regression/tests/bug-3215.c:
3799 Fix handling of pre-C2X function declarators without prototype, RFE #776.
3801 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3803 * Merge parser branch to trunk.
3805 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3809 support/regression/tests/auto.c,
3810 support/valdiag/tests/bug-3464.c:
3811 C2X auto, RFE #849, fix bug #3464.
3813 2022-08-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3819 support/regression/tests/typeof.c:
3820 C2X typeof, typeof_unqual, RFE #739, RFE #783.
3822 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3824 * device/include/stddef.h,
3827 support/regression/tests/unreachable.c:
3828 C2X unreachable, RFE #778.
3830 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3832 * device/include/stdlib.h,
3834 device/lib/memalignment.c,
3835 support/regression/tests/memalignment.c.in:
3836 C2X memalignment, RFE #856.
3838 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3840 * Merge parser branch to trunk.
3842 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3850 device/include/stddef.h,
3851 support/regression/tests/c2xkeywords.c,
3852 support/regression/tests/typeof.c:
3853 Basic C2X typeof and typeof_unqual support, part of RFE #739, RFE #783. RFE #853.
3855 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3865 Basic C2X nullptr support, part of RFE #853.
3867 2022-08-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3870 Simplify grammar rules for enum.
3872 2022-07-29 Felix Salfelder <felix AT salfelder.org>
3875 Remove obsolete __func__ magic handling from parser.
3877 2022-07-26 Felix Salfelder <felix AT salfelder.org>
3879 * device/lib/Makefile.in, device/lib/*/Makefile.in,
3881 Deduplicate CC, introduce SDAR, add Makefile rules,
3882 fix error propagation.
3884 2022-07-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3886 * device/lib/ds400/ds400rom.c:
3887 Fix use of macro for #.
3889 2022-07-22 Felix Salfelder <felix AT salfelder.org>
3892 Skip "line" in lineinfo line. This fixes [r13587].
3894 2022-07-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3897 support/regression/tests/bug-3401.c:
3900 2022-07-22 Felix Salfelder <felix AT salfelder.org>
3902 * support/cpp/c-ppoutput.c:
3903 Add "line" to lineinfo lines, following the standard.
3905 2022-07-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3908 support/regression/tests/bug-3461.c:
3909 Fix third and last part of bug #3461.
3911 2022-07-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3917 support/regression/tests/bug-3463.c:
3920 2022-07-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3925 support/regression/tests/bug-3461.c:
3928 2022-07-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3930 * support/regression/tests/bug-3410.c.in:
3931 Disable a test for mos6502, since that port it still lacks _BitInt.
3932 * support/regression/tests/bug-3461.c:
3933 New (currently disabled) test for bug #3461.
3934 * device/lib/ds400/ds400rom.c:
3935 Remove use of #pragma sdcc_hash.
3939 Partial fix for bug #3461.
3941 2022-07-16 Felix Salfelder <felix AT salfelder.org>
3943 * src/SDCC.{lex,y}, support/cpp/libcpp/{init,macro}.c:
3944 move __func__ elaboration entirely to sdcc.
3946 2022-07-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3948 * support/regression/tests/bug-1952.c,
3949 support/valdiag/tests/bug-1952.c:
3951 * support/regression/tests/bug-3410.c.in:
3952 Disable a test for mos65c02, since that port it still lacks _BitInt.
3954 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3957 support/regression/tests/bug-3410.c.in:
3959 * src/SDCCsalloc.hpp:
3962 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3965 support/regression/tests/bug-3459.c:
3968 2022-07-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3971 support/regression/tests/bug-3456.c,
3972 support/regression/tests/bug-3459.c,
3973 support/regression/tests/bug-3460.c.in:
3976 2022-07-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3978 * support/regression/tests/bug-3459.c:
3979 An attempt at creating a regression test for bug #3459.
3981 support/regression/tests/bug-3456.c:
3984 2022-07-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3986 * support/regression/MakeList:
3987 Exclude a test for host (since it fails when compiled with clang on FreeBSD 13.1 on aarch64).
3989 2022-07-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
3991 * support/regression/MakeList:
3992 Disable tcc/110_average test for pdk, due to lack of memory on those targets.
3994 2022-06-29 Benedikt Freisen <b.freisen AT gmx.net>
3996 * device/include/float.h,
3998 Provide macros for double, as requested in [feature-requests:#304].
4000 2022-06-29 Benedikt Freisen <b.freisen AT gmx.net>
4002 * device/lib/_slonglong2fs.c,
4003 device/lib/_ulonglong2fs.c,
4006 support/regression/cases/Makefile.in:
4007 Implement long long to float conversion, fixing bug #3396.
4009 2022-06-28 Benedikt Freisen <b.freisen AT gmx.net>
4016 Improve command line parser flexibility and GCC compatibility.
4018 2022-06-28 Maarten Brock <sourceforge.brock AT dse.nl>
4020 * device/include/mcs51/at89c55.h,
4021 device/include/mcs51/at89x51.h,
4022 device/include/mcs51/at89x52.h,
4023 device/include/mcs51/C8051F040.h,
4024 device/include/mcs51/C8051F060.h,
4025 device/include/mcs51/mcs51reg.h,
4026 device/include/mcs51/reg764.h,
4027 device/include/mcs51/regc515c.h,
4028 device/include/mcs51/sab80515.h: fixed SBIT uses
4030 2022-06-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4033 support/regression/tests/bug-3458.c.in:
4036 2022-06-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4039 Fix SDCC crash on error message for duplicate default label.
4041 2022-06-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4044 device/lib/ds390/lcd390.c,
4045 device/lib/ds390/rtc390.c,
4046 support/regression/tests/absolute.c.in,
4047 support/regression/tests/bitfields-bits1.c.in,
4048 support/regression/tests/bitfields-checks.c.in,
4049 support/regression/tests/bitfields-dead-loop.c.in,
4050 support/regression/tests/bitfields-nibbles.c.in,
4051 support/regression/tests/bug1723128.c,
4052 support/regression/tests/bug1750318.c,
4053 support/regression/tests/bug663539.c,
4054 support/regression/tests/simplefloat.c:
4055 Place __at next to identifier in declarations.
4057 2022-06-21 Maarten Brock <sourceforge.brock AT dse.nl>
4059 * src/SDCCicode.c/h (PRINTFUNC, +piCode, iCodePrint): replaced
4060 void*/iCode* with const iCode*
4061 * device/include/ds80c390.h,
4062 device/include/mcs51/at89S8252.h: use parentheses with __at
4063 * device/include/mcs51/at89c55.h,
4064 device/include/mcs51/at89x51.h,
4065 device/include/mcs51/at89x52.h,
4066 device/include/mcs51/C8051F040.h,
4067 device/include/mcs51/C8051F060.h,
4068 device/include/mcs51/mcs51reg.h,
4069 device/include/mcs51/reg764.h,
4070 device/include/mcs51/regc515c.h,
4071 device/include/mcs51/sab80515.h: use compiler.h
4072 * device/include/mcs51/at89x051.h: cosmetics
4073 * device/lib/_setjmp.c: stack is in __idata
4074 * device/lib/ds390/tinibios.c,
4075 device/lib/ds400/tinibios.c,
4076 device/lib/ser_ir.c: use parentheses with __interrupt
4077 * device/lib/ser_ir_cts_rts.c: use __bit
4078 * src/mos6502/gen.c,
4079 src/z80/gen.c: commented out some unused code to fix warnings
4080 * src/z80/peeph.def: removed rule 88 as it is a duplicate of 85a
4082 2022-06-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4085 Fix handling of C2X predefined constants.
4086 * device/lib/ds390/tinibios.c:
4087 Fix use of __interrupt.
4088 * support/regression/tests/compare_2_n.m4:
4089 Fix missing return type.
4091 2022-06-20 Felix Salfelder <felix AT salfelder.org>
4093 * support/regression/cases/Makefile.in:
4094 suppress implicit return type warnings in gte main functions.
4096 2022-06-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4099 Remove warning on label without statement, as it gives too many false positives.
4100 * support/regression/tests/rotate2.c.in:
4101 Fix missing return type.
4103 2022-06-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4105 * Merge from parser branch.
4107 2022-06-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4112 C2X allows labels in blocks even when not followed by a statement. Warn on C90 implicit int return type.
4114 2022-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4122 device/include/mcs51/ser.h,
4123 device/include/mcs51/ser_ir.h,
4124 device/include/mcs51/serial.h,
4125 device/include/tinibios.h,
4126 support/regression/fwk/lib/testfwk.c,
4127 support/regression/ports/mcs51-common/T2_isr.c,
4128 support/regression/tests/bug1535242.c,
4129 support/regression/tests/critical.c,
4130 support/regression/tests/interrupt.c.in,
4131 support/regression/tests/setjmp.c,
4133 device/lib/serial.c:
4134 Steps towards a parser suitable for C2X, inspired by the Jutta Degener grammar as extended by Jens Gustedt.
4136 2022-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4139 Document standard version pragmas.
4141 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4143 * Merge from parser branch.
4145 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4151 Lexer support for complex numbers and decimal floating point (to emit an error message for these unsupported features instead of a non-descriptive syntax error)
4152 * tests/bitintconst.c.in:
4155 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4161 2022-06-15 Maarten Brock <sourceforge.brock AT dse.nl>
4163 * src/z80/peeph.def: fixed rules 79 to 82 to fix bug #3387
4164 * support/regression/tests/bug-3387.c: new, added
4166 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4169 Fix two typos in the manual
4171 2022-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4179 Steps towards a lexer suitable for C2X, inspired by the Jutta Degener grammar as extended by Jens Gustedt.
4181 2022-06-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4184 Improve calling convention documentation, fix bug #3412.
4186 2022-06-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4189 support/regression/tests/bug-3406.c:
4192 2022-06-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4195 Add an assertion to show the underlying issue of bug #3401.
4197 2022-05-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4199 * support/regression/cases/Makefile.in:
4200 Document reasons for some failing gte tests, enable tests that failed due to bug #3402 before.
4202 2022-05-31 Felix Salfelder <felix AT salfelder.org>
4204 * support/regression/cases/Makefile.in:
4205 jump to end of gte test in wrapped exit(0) calls, enable two
4206 more, 20010116-1.c, 20070424-1.c
4208 2022-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
4210 * support/sdbinutils/include/ansidecl.h: revert to previous
4211 * support/sdbinutils/libiberty/Makefile.in: check local include
4214 2022-05-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
4216 * support/regression/cases/Makefile.in: replace "echo -n" with
4217 "printf" to handle hosts that don't support "-n" option
4218 * support/sdbinutils/include/ansidecl.h: disable some attributes
4219 when compiling with clang so the Mac OS snapshot will build
4221 2022-05-24 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
4223 * support/scripts/sdcc.nsi: install/deinstall more uCsim
4224 binaries with correct names
4226 2022-05-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
4228 * support/scripts/sdcc.nsi: update for hc08 simulator name change
4229 * support/regression/Makefile.in: only display first 20 failures
4230 per test file (check the .out file if you need all of them)
4232 2022-05-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4234 * support/regression/MakeList,
4235 support/regression/cases/Makefile.in:
4236 Document reasons for some failing gte tests.
4238 2022-05-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4240 * support/regression/MakeList,
4241 support/regression/cases/Makefile.in:
4242 Document reasons for some failing TinyC tests.
4244 2022-05-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4246 * support/regression/MakeList,
4247 support/regression/cases/Makefile.in:
4248 Document reasons for some failing gte tests.
4250 2022-05-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4252 * support/regression/MakeList,
4253 support/regression/cases/Makefile.in:
4254 Document reasons for failing QuickC tests (lack of memory / speed vs. SDCC bugs).
4256 2022-05-21 Felix Salfelder <felix AT salfelder.org>
4258 * support/sdbinutils/bfd/asxxxx.c:
4259 name 2 unnamed parameters to comply with c99 & al.
4261 2022-05-20 Felix Salfelder <felix AT salfelder.org>
4263 * support/sdbinutils/bfd/asxxxx.c:
4264 edit out C++ style comments.
4266 2022-05-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4268 * support/regression/MakeList:
4269 Disable a test for targets that cannot complete it within reasonable time.
4271 2022-05-19 Felix Salfelder <felix AT salfelder.org>
4273 * support/packihx/Makefile.in:
4274 packihx: fix build (MAKEDEP related).
4276 2022-05-19 Felix Salfelder <felix AT salfelder.org>
4278 * support/regression/cases/Makefile.in:
4279 avoid segv in __fail, ASSERT(0) instead.
4281 2022-05-18 Felix Salfelder <felix AT salfelder.org>
4283 * Makefile.common.in, Makefile.in,
4284 sdas/*/Makefile.in, src/Makefile.in, src/port.mk:
4285 deduplicate dependency generation and fix for ports
4287 2022-05-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4289 * support/regression/MakeList,
4290 support/regression/cases/Makefile.in:
4291 Disable a test that tests for QuickC implementation-defined behaviour.
4293 2022-05-18 Felix Salfelder <felix AT salfelder.org>
4295 * Makefile.common.in, configure, configure.ac, src/Makefile.in:
4296 C vs. C++ distinction in dependency generation.
4298 2022-05-18 Felix Salfelder <felix AT salfelder.org>
4300 * support/sdbinutils:
4301 Merge upstream GNU Binutils 2.38 (feature request #766).
4302 * support/regression/Makefile.in:
4305 2022-05-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4307 * support/regression/tests/setjmp.c,
4308 support/regression/tests/loop.c.in:
4309 Disable two tests for FreeBSD 13.1, since a known issue from FreeBSD 13.0 is still present.
4310 * support/regression/MakeList:
4311 Disable a test for targets that cannot complete it within reasonable time.
4312 * support/regression/tests/bug-3385.c:
4313 Disable new test for mos6502, where it fails (bug #3386).
4314 * support/regression/tests/gcc-torture-execute-20040409-?.c:
4315 Disable parts of tests that test for GCC implementation-defined behaviour.
4316 * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c,
4317 support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c,
4318 support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_xy.c:
4319 Disable tests for clang 13 that fail there due to clang 13 TS 6010 Provenance non-compliance.
4321 2022-05-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4323 * Merge regtest branch.
4325 2022-05-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4329 support/regression/tests/bug-3391.c:
4332 2022-05-16 Felix Salfelder <felix AT salfelder.org>
4334 * support/regression/Makefile.in:
4335 avoid various newline compound echo arguments.
4337 2022-05-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4342 support/valdiag/tests/bug-3389.c:
4343 device/include/float.h,
4344 support/regression/tests/bug-1805702.c:
4347 2022-05-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4349 * support/regression/tests/bug-3385.c:
4350 Disable new test for hc08 and s08, where it fails (bug #3386).
4352 2022-05-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4354 * Merge regtest branch.
4356 2022-05-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4358 * src/stm8/peeph.def,
4359 support/regression/tests/bug-3385.c:
4360 Fix bug #3385, patch by Ryan Hartlage (ryanplusplus).
4362 2022-05-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4364 * support/regression/MakeList:
4365 Exclude tests that fail on mcs51 due to abnormal stops.
4367 2022-05-11 Felix Salfelder <felix AT salfelder.org>
4369 * support/regression/MakeList
4370 exclude queen on pdk15-stack-auto.
4372 2022-05-11 Felix Salfelder <felix AT salfelder.org>
4374 * support/regression/Makefile.in:
4377 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4379 * support/valdiag/Makefile.in:
4380 adjust compact-results invocation, add Makefile rule.
4382 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4384 * support/regression/compact-results.py:
4385 simplify compact-results output.
4387 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4389 * support/regression/Makefile.in:
4390 honour EXCLUDE_PORTS in test-mcs51.
4392 2022-05-10 Felix Salfelder <felix AT salfelder.org>
4394 * support/regression/MakeList:
4395 tcc_49_bracket_evaluation excludes on mcs51.
4397 2022-05-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4405 support/valdiag/tests/universal.c:
4406 ISO C23 diagnostics for invalid universal character names.
4408 2022-05-02 Benedikt Freisen <b.freisen AT gmx.net>
4411 Document language override option -x.
4413 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4415 * support/regression/Makefile.in,
4416 support/regression/ports/host/spec.mk.in:
4417 Deduplicate EMU rule: handle test-host similar to other targets, patch by Felix Salfelder (felixs).
4419 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4421 * support/regression/MakeList:
4422 Exclude a test for some pdk15-stack-auto target (due to lack of memory), patch by Felix Salfelder (felixs).
4424 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4426 * support/regression/MakeList:
4427 Exclude some tests for some mcs51 targets (due to lack of memory), patch by Felix Salfelder (felixs).
4429 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4431 * support/regression/tests/bug-1981238.c,
4432 support/regression/tests/bug-3368.c:
4433 Disable some warnings about stuff that is meant to be tested.
4435 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4437 * support/regression/MakeList:
4438 Exclude some known-failing among the new tests, patch by Felix Salfelder (felixs).
4439 * support/regression/Makefile.in,
4440 support/regression/ports/host/spec.mk.in:
4441 Work around a linker error reporting issue, patch by Felix Salfelder (felixs).
4443 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4445 * device/lib/z180/setjmp.s,
4446 device/lib/z80/setjmp.s,
4447 device/lib/z80n/setjmp.s:
4448 Fix an issue triggered by tail-call optimization on calls to longjmp.
4450 2022-04-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4452 * support/regression/gte/README,
4453 support/regression/qct/README,
4454 support/regression/tcc/README:
4455 Document Licenses of imported tests, patch by Felix Salfelder (felixs).
4457 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4459 * support/regression/MakeList,
4460 support/regression/cases/Makefile.in,
4461 support/regression/tcc,
4462 support/regression/qct:
4463 Add tests from TCC, QuickC, patch by Felix Salfelder (felixs).
4465 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4467 * support/regression/cases/Makefile.in:
4468 Disable some warnings in gce tests, patch by Felix Salfelder (felixs).
4469 * support/regression/MakeList:
4470 Disable new tests for z80-undoc (where they fail), patch by Felix Salfelder (felixs).
4472 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4474 * support/regression/Makefile.in,
4475 support/regression/cases/Makefile.in,
4476 support/regression/ports/mcs51-common/spec.mk,
4477 support/regression/ports/stm8/spec.mk,
4478 support/regression/gte:
4479 GCC tests from the execute part of the torture suite. Patch by Felix Salfelder (felixs).
4480 * support/regression/gte/951204-1.c:
4481 Un-edit a GCC torture-execute test, patch by Felix Salfelder (felixs).
4483 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4485 * support/regression/Makefile.in,
4486 support/regression/ports/host/spec.mk.in:
4487 Fix out creation logic to avoid duplicates, patch by Felix Salfelder (felixs).
4489 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4491 * support/regression/tests/genericnonintrinsicnaddr.c:
4492 Use PORT_HOST, just like the other tests, instead of TEST_HOST.
4494 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4496 * support/regression/Makefile.in:
4497 Hack to silence trigraph warning in p99 test, patch by Felix Salfelder (felixs).
4499 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4501 * support/regression/Makefile.in:
4502 Filter out tests listed in EXCLUDE_${PORT}, TEST_PREFIX: select tests by prefix (e.g. m4_), TEST_SLICE: slice test list (Python style). Patch by Felix Salfelder (felixs).
4504 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4506 * support/regression/Makefile.in:
4507 .PRECIOUS does not play with .DELETE_ON_ERROR, use .SECONDARY instead. Patch by Felix Salfelder (felixs).
4509 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4511 * Merge implicitintrinsicnamedaddressspaces branch.
4513 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4515 * support/regression/Makefile.in:
4516 Split EXCLUDE_PORTS, add uc6502-stack-auto, patch Felix Salfelder (felixs).
4518 2022-04-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4520 * support/regression/tests/genericintrinsicnaddr.c,
4521 support/regression/tests/genericnonintrinsicnaddr.c:
4522 Test _Generic on pointers into named address spaces.
4525 Fix a _Generic implicit intrinsic named address space issue affecting large and huge mcs51 memory model.
4527 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4529 * support/regression/MakeList,
4530 support/regression/Makefile.in,
4531 support/regression/cases/Makefile.in,
4532 support/regression/gte:
4533 Import missing gcc torture execute tests, patch by by Felix Salfelder (felixs).
4535 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4537 * Merge regtest branch.
4539 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4541 * support/regression/cases/Makefile.in:
4542 Test cases cleanup, patch by Felix Salfelder (felixs).
4544 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4560 support/regression/tests/bug-3254.c,
4561 support/regression/tests/bug-3245.c:
4562 Fix bugs #3254, #3145.
4564 2022-04-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4567 support/valdiag/tests/generic.c:
4568 Fix another part of bug #3145.
4570 2022-04-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4573 Fix array-to-pointer decay in _Generic.
4575 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4578 support/regression/tests/bug-2629.c:
4581 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4584 Assertion to catch bug #2629 earlier.
4585 * support/regression/tests/bug-2629.c:
4586 (Disabled) test for bug #2629.
4588 2022-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4591 Fix printing of plain char for error messages and debug output.
4593 2022-04-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4596 Update documentation on standard compliance.
4598 2022-04-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4601 support/regression/tests/bug-3379.c:
4604 2022-04-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4606 * support/regression/tests/bug-2981.c:
4609 support/regression/tests/bug-3255.c:
4612 support/valdiag/tests/generic.c:
4613 Fix part of bug #3145.
4615 2022-04-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4617 * support/regression/cases/Makefile.in:
4618 Fix rm flag for cleaning MakeList.
4619 * support/regression/Makefile.in:
4620 Fix build of mcs51 regression test framework libraries, fix by Felix Salfelder (felixs).
4622 2022-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4624 * support/regression/Makefile.in,
4625 support/regression/ports/mcs51-small-stack-auto:
4626 Rename mcs51-stack-auto to mcs51-small-stack-auto for consistency with mcs51-small and mcs51-large-stack-auto.
4628 Clarify __z88dk_callee behaviour.
4630 2022-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4634 support/regression/tests/funptrsstructreturn.c.in:
4635 Fixes for calls via function pointers to functions returning struct / union.
4637 2022-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4643 support/regression/tests/structreturn.c.in,
4647 device/lib/mcs51/Makefile.in,
4648 support/regression/tests/div.c,
4649 device/include/stdlib.h:
4650 struct / union return for mcs51.
4652 2022-04-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4655 support/regression/tests/gcc-torture-execute-strct-varg-1.c,
4656 support/regression/tests/gcc-torture-execute-va-arg-23.c,
4657 support/regression/tests/gcc-torture-execute-va-arg-4.c,
4658 support/regression/tests/structparam.c,
4659 support/regression/tests/structparam.c.in:
4660 struct / union parameters on the stack for mcs51.
4662 2022-04-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4667 support/regression/ports/mcs51-common/spec.mk,
4668 support/regression/tests/gcc-torture-execute-20040707-1.c,
4669 support/regression/tests/gcc-torture-execute-20050713-1.c,
4670 support/regression/tests/gcc-torture-execute-20180131-1.c,
4671 support/regression/tests/gcc-torture-execute-pr67226.c,
4672 support/regression/tests/structparam.c:
4675 2022-03-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4683 support/regression/tests/bug-3368.c,
4684 support/regression/tests/gcc-torture-execute-20050713-1.c,
4685 support/regression/tests/gcc-torture-execute-20180131-1.c,
4686 support/regression/tests/gcc-torture-execute-pr67226.c,
4687 support/regression/tests/gcc-torture-execute-strct-varg-1.c,
4688 support/regression/tests/gcc-torture-execute-va-arg-4.c,
4689 support/regression/tests/structparam.c,
4690 support/regression/tests/gcc-torture-execute-20021118-1.c,
4691 support/regression/tests/gcc-torture-execute-20040707-1.c,
4692 support/regression/tests/gcc-torture-execute-20180131-1.c,
4693 support/regression/tests/gcc-torture-execute-pr67226.c,
4694 support/regression/tests/gcc-torture-execute-920625-1.c,
4695 support/regression/tests/gcc-torture-execute-va-arg-23.c:
4696 struct parameter support for non-reentrant functions.
4698 2022-03-29 Benedikt Freisen <b.freisen AT gmx.net>
4701 Reference section 3.2.5 in 3.2.4, fix typo in 1.2.
4703 2022-03-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4705 * support/sdbinutils/bfd/*:
4706 Delete unused files as suggested by Felix Salfelder (felixs).
4708 2022-03-28 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4710 * device/lib/tlcs90/strlen.s:
4711 Fix regression from [r13318].
4713 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4715 * support/regression/ports/tlcs90/spec.mk:
4716 Do not emit debug info to ease reading asm files.
4717 * src/z80/ralloc2.cc:
4718 Fix code generation issues in use of iy.
4720 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4722 * support/regression/Makefile.in:
4723 Conditional MakeList include, and conditional test-port, part of patch #430 by Felix Salfelder (felixs).
4725 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4727 * support/regression/Makefile.in,
4728 support/regression/cases/Makefile.in:
4729 Silence case expansion messages by default, part of patch #430 by Felix Salfelder (felixs).
4731 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4733 * support/regression/Makefile.in,
4734 support/regression/cases/Makefile.in,
4735 support/regression/ports/host/spec.mk.in:
4736 V flag to control verbosity, decouple test-ports and print-summary. Part of patch #430 by Felix Salfelder (felixs).
4738 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4740 * support/regression/Makefile.in,
4741 support/regression/ports/*/spec.mk:
4742 Deduplicate spec.mk by using rules in Makefile.in instead. Part of patch #430 by Felix Salfelder (felixs).
4744 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4746 * support/regression/Makefile.in,
4747 support/regression/ports/host/spec.mk.in:
4748 Regression test infrastructure, picked from patch #430 by Felix Salfelder (felixs): fixes for error reporting, number of compact-results calls, CLEAN_PORTS.
4750 2022-03-28 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4755 2022-03-28 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4757 * sim/ucsim/z80.src/gb80.cc,
4758 sim/ucsim/z80.src/gb80cl.h,
4759 sim/ucsim/z80.src/inst.cc,
4760 sim/ucsim/z80.src/inst_gb80.cc:
4763 2022-03-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4765 * sdas/astlcs90/tt90.asm,
4766 sim/ucsim/tlcs.src/inst_arith.cc,
4767 sim/ucsim/tlcs.src/inst_jump.cc,
4768 sim/ucsim/tlcs.src/tlcs.cc:
4769 Improve cycle accuracy.
4771 2022-03-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4773 * sdas/astlcs90/tt90.asm:
4774 Add some test assembly.
4776 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4778 * support/regression/tests/bitintvararg.c.in:
4779 Fix host test disable condition.
4781 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4783 * support/regression/Makefile.in,
4784 support/regression/cases/Makefile.in,
4785 support/regression/cases/mkdrv.py,
4786 support/regression/ports/*/spec.mk,
4787 support/regression/ports/host/spec.mk.in:
4788 Regression test infrastructure, picked from patch #430 by Felix Salfelder (felixs).
4789 * support/regression/tests/structparam.c.in:
4790 Fix test file extension for parametrized test.
4792 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4796 support/regression/Makefile.in,
4797 support/regression/ports/host/spec.mk.in,
4798 support/regression/cases:
4799 Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs), made less verbose.
4803 2022-03-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4805 * device/lib/tlcs90/abs.s,
4806 device/lib/tlcs90/atomic_flag_test_and_set.s,
4807 device/lib/tlcs90/crt0.s,
4808 device/lib/tlcs90/memcpy.s,
4809 device/lib/tlcs90/memmove.s,
4810 device/lib/tlcs90/strcpy.s,
4811 device/lib/tlcs90/strlen.s:
4812 Optimize handwritten assembly.
4814 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4816 * support/regression/Makefile.in:
4817 Fix an issue in test-host regression test output, fix suggested via chat by Felix Salfelder (felixs).
4819 2022-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4821 * support/regression/tests/bitintvararg.c.in:
4822 Disable a test for clang 11.0 host, where it fails.
4823 * device/lib/tlcs90/atomic_flag_test_and_set.s:
4824 Bring back previous atomic_flag_test_and_set implementation as comment, explain why it was chosen, and under which circumstances we might want to revert back to it.
4826 2022-03-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4828 * sim/ucsim/tlcs.src/inst_arith.cc
4829 sim/ucsim/tlcs.src/inst_bit.cc
4830 sim/ucsim/tlcs.src/inst_jump.cc
4831 sim/ucsim/tlcs.src/tlcs.cc:
4832 Add partial cycle counting.
4834 2022-03-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4836 * device/include/stdatomic.h,
4837 device/lib/atomic_flag_clear.c,
4838 device/lib/tlcs90/atomic_flag_test_and_set.s:
4839 Switch to faster atomic test with shift. (8T vs 12T)
4841 2022-03-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4843 * support/regression/Makefile.in,
4844 support/regression/generate-cases.py,
4845 support/regression/tests/*.c.in:
4846 Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
4848 2022-03-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4850 * support/regression/Makefile.in:
4851 Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
4853 2022-03-25 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4859 support/regression/ports/ucz80-undoc,
4860 support/regression/Makefile.in,
4862 Support for undocumented Z80 instructions.
4864 2022-03-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4866 * sdas/asz80/z80mch.c:
4867 Disable undocumented instructions for Z180.
4869 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4871 * support/regression/Makefile.in,
4872 support/regression/generate-cases.py:
4873 Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
4875 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4879 support/regression/tests/widebitintbitfield.c:
4880 _BitInt promotion fix.
4882 support/regression/tests/gcc-torture-execute-920625-1.c,
4883 support/regression/tests/bug-3368.c:
4885 * support/regression/tests/bug-3235.c:
4886 Test for a bug that was fixed a while ago.
4888 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4891 support/regression/tests/bug-3372.c:
4894 Improve debug output for bit-fields.
4896 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4898 * sdas/as8xcxxx/ds8adr.c,
4899 sdas/as8xcxxx/ds8mch.c:
4900 Merge error messages from upstream ASxxxx 5.40.
4902 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4904 * sdas/as8xcxxx/ds8pst.c,
4905 sdas/aspdk13/pdk13pst.c,
4906 sdas/aspdk14/pdk14pst.c,
4907 sdas/aspdk15/pdk15pst.c,
4908 sdas/aspdk16/pdk16pst.c,
4909 sdas/asrab/rabpst.c,
4910 sdas/asstm8/stm8pst.c,
4911 sdas/astlcs90/t90pst.c,
4912 sdas/asz80/z80pst.c:
4913 Enable .incbin for all targets.
4915 2022-03-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4917 * support/regression/tests/widebitintbitfield.c:
4918 Disable a test that had been accidentially enabled even for ports where the feature is not supported.
4920 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4922 * sdas/as8051/i51adr.c,
4923 sdas/as8051/i51mch.c,
4924 sdas/as8051/i51pst.c:
4925 Merge error messages from upstream ASxxxx 5.40.
4927 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4930 Fix .allow_undocumented for z80 [bugs:#3275].
4932 2022-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4934 * sdas/asxxsrc/assubr.c:
4935 Fix detailed error messages in sdas.
4937 2022-03-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4939 * support/regression/tests/widebitintbitfield.c:
4940 Temporarily disable new failing _BitInt test.
4942 2022-03-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4944 * support/regression/tests/bitint.c,
4945 support/regression/tests/bitintarith.c,
4946 support/regression/tests/bitintbitfield.c,
4947 support/regression/tests/bitintvararg.c,
4948 support/regression/tests/widebitintbitfield.c:
4949 Enable some tests for bit-precise integers on clang 11 host.
4951 2022-03-22 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4954 support/regression/tests/bitint.c:
4957 2022-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
4959 * sdas/asz80/z80mch.c:
4960 Fix/add cycles of z80 and z80n.
4962 2022-03-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4967 2022-03-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4970 support/regression/tests/bug-2368.c,
4971 support/regression/tests/bug-2770.c,
4972 support/regression/tests/bug-3231.c,
4973 support/regression/tests/bug3440327.c,
4974 support/regression/tests/cse.c,
4975 support/regression/tests/gcc-torture-execute-20021118-1.c,
4976 support/regression/tests/gcc-torture-execute-20040707-1.c,
4977 support/regression/tests/gcc-torture-execute-20050713-1.c,
4978 support/regression/tests/gcc-torture-execute-20180131-1.c,
4979 support/regression/tests/gcc-torture-execute-pr67226.c,
4980 support/regression/tests/malloc.c,
4981 support/regression/tests/memory.c,
4982 support/regression/tests/preserves_regs.c,
4983 support/regression/tests/structparam.c:
4984 struct parameters for pdk (--stack-auto only).
4986 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
4988 * src/pdk/ralloc2.cc,
4989 src/stm8/ralloc2.cc,
4991 support/regression/tests/gcc-torture-execute-20050713-1.c,
4992 support/regression/tests/gcc-torture-execute-920625-1.c:
4993 Fix a register allocation issue affecting calls to functions with multiple struct parameters.
4995 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5004 support/regression/tests/gcc-torture-execute-20021118-1.c,
5005 support/regression/tests/gcc-torture-execute-20050713-1.c,
5006 support/regression/tests/gcc-torture-execute-20180131-1.c,
5007 support/regression/tests/gcc-torture-execute-pr67226.c,
5008 support/regression/tests/gcc-torture-execute-strct-varg-1.c,
5009 support/regression/tests/gcc-torture-execute-struct-ret-1.c,
5010 support/regression/tests/gcc-torture-execute-va-arg-23.c,
5011 support/regression/tests/gcc-torture-execute-va-arg-4.c,
5012 support/regression/tests/structparam.c:
5013 Rewrite struct parameter support to fix bug #3365.
5015 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5018 support/regression/tests/gcc-torture-execute-920625-1.c,
5019 support/regression/tests/gcc-torture-execute-strct-stdarg-1.c,
5020 support/regression/tests/gcc-torture-execute-strct-varg-1.c:
5021 Basic support for struct varargs.
5022 * support/regression/tests/gcc-torture-execute-20040707-1.c,
5023 support/regression/tests/gcc-torture-execute-pr71700.c,
5024 support/regression/tests/gcc-torture-execute-struct-ini-1.c,
5025 support/regression/tests/gcc-torture-execute-va-arg-23.c,
5026 support/regression/tests/gcc-torture-execute-va-arg-4.c:
5027 Enable some GCC tests that pass due to recent improvements in struct / union support.
5028 * src/mos6502/gen.c,
5029 src/mos6502/ralloc.c,
5036 Remove remains of support for unused IPOP.
5040 Make it a bit easier to read about the license situation.
5042 2022-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5046 * support/regression/tests/bitintvararg.c:
5047 Enable test for widths, for which it passes.
5048 * support/regression/tests/gcc-torture-execute-bswap-2.c:
5049 Remove GCC test that requires int to be at least 32 bits wide.
5050 * support/regression/tests/gcc-torture-execute-20020215-1.c,
5051 support/regression/tests/gcc-torture-execute-20020810-1.c,
5052 support/regression/tests/gcc-torture-execute-20021010-2.c,
5053 support/regression/tests/gcc-torture-execute-20021118-1.c,
5054 support/regression/tests/gcc-torture-execute-20050713-1.c,
5055 support/regression/tests/gcc-torture-execute-20170401-1.c,
5056 support/regression/tests/gcc-torture-execute-20180131-1.c,
5057 support/regression/tests/gcc-torture-execute-920625-1.c,
5058 support/regression/tests/gcc-torture-execute-pr67226.c,
5059 support/regression/tests/gcc-torture-execute-restrict-1.c,
5060 support/regression/tests/gcc-torture-execute-strct-stdarg-1.c,
5061 support/regression/tests/gcc-torture-execute-strct-varg-1.c,
5062 support/regression/tests/gcc-torture-execute-struct-ret-1.c:
5063 Enable some GCC tests that pass due to recent improvements in struct / union support.
5065 2022-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5067 * device/include/stdarg.h,
5071 support/regression/tests/gcc-torture-execute-pr60017.c,
5072 support/regression/tests/bitintvararg.c:
5073 Fixes for bit-precise varargs, bug #3361.
5075 2022-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5081 support/regression/tests/bug-3359.c,
5082 support/regression/tests/structparam.c,
5085 Fix bug #3359 and implement struct / union parameters for stm8, z80 and related (and for pdk with --stack-auto), RFE #23.
5087 2022-03-16 Gabriele Gorla <gorlik@yahoo.com>
5089 * src/mos6502/gen.c:
5090 Refactor genAnd(), genOr() and genXor().
5092 2022-03-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5095 Fix access before array.
5096 * support/regression/tests/gcc-torture-execute-20020206-1.c,
5097 support/regression/tests/gcc-torture-execute-20050713-1.c,
5098 support/regression/tests/gcc-torture-execute-20071210-1.c,
5099 support/regression/tests/gcc-torture-execute-20131127-1.c,
5100 support/regression/tests/gcc-torture-execute-20170401-1.c,
5101 support/regression/tests/gcc-torture-execute-20171008-1.c,
5102 support/regression/tests/gcc-torture-execute-pr60017.c,
5103 support/regression/tests/gcc-torture-execute-pr82387.c,
5104 support/regression/tests/gcc-torture-execute-pr82388.c:
5105 Update reasons why we skip some gcc tests.
5106 * device/include/uchar.h,
5108 In C23, u8-prefixed string literals are arrays of char8_t, a typedef for unsigned char. RFE #779.
5110 2022-03-16 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5112 * support/regression/Makefile.in,
5113 support/regression/ports/ds390/spec.mk,
5114 support/regression/ports/ez80-z80/spec.mk,
5115 support/regression/ports/mcs51-common/spec.mk,
5116 support/regression/ports/pdk13/spec.mk,
5117 support/regression/ports/pdk15/spec.mk,
5118 support/regression/ports/pdk15-stack-auto/spec.mk,
5119 support/regression/ports/stm8/spec.mk,
5120 support/regression/ports/ucz180/spec.mk,
5121 support/regression/ports/ucz180-resiy/spec.mk,
5122 support/regression/ports/ucz80-nmos/spec.mk,
5123 support/regression/ports/ucz80n/spec.mk:
5124 Regression test infrastructure improvements, picked from patch #430 by Felix Salfelder (felixs).
5126 2022-03-15 Gabriele Gorla <gorlik@yahoo.com>
5128 * support/regression/tests/div.c,
5129 device/lib/s08/Makefile.in,
5130 device/lib/hc08/Makefile.in,
5131 device/lib/mos6502/Makefile.in,
5132 device/lib/mos65c02/Makefile.in,
5133 device/lib/mos6502-stack-auto/Makefinle.in:
5134 Enable div and ldviv for mos6502 and hc08/s08 ports.
5135 * src/mos6502/gen.c,
5137 Add support for GETBYTE and GETWORD iCodes.
5139 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5143 Fix pdk heap corruption on returning large struct.
5145 Fixes for large struct return.
5147 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5152 support/regression/tests/div.c,
5153 device/lib/Makefile.in,
5154 device/lib/*/Makefile.in:
5155 Division functions, RFE #167.
5157 2022-03-15 Benedikt Freisen <b.freisen AT gmx.net>
5159 * device/include/gcc_attr.h:
5160 Compatibility macros for GCC attribute syntax.
5162 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5165 support/regression/tests/structreturn.c:
5166 Enable struct / union return for hc08, s08, mos6502, ds390.
5167 * device/include/stdlib.h:
5168 Provide prototypes for division functions.
5170 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5176 support/regression/tests/structreturn.c:
5177 struct / union return support for pdk and z80 and related.
5179 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5195 struct / union return support for stm8.
5197 2022-03-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5199 * device/include/assert.h:
5200 Improve test for assert C23-compliance.
5202 2022-03-15 Gabriele Gorla <gorlik@yahoo.com>
5204 * src/mos6502/gen.c:
5205 genPlusInc(), genMinusDec() and genlshTwo() improvements.
5207 2022-03-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5211 Enable _BitInt for sm83 up to 64 bits.
5212 * device/include/assert.h,
5213 support/regression/tests/assert.c:
5214 C23-compliant assert, RFE #780.
5216 2022-03-14 Gabriele Gorla <gorlik@yahoo.com>
5218 * support/regression/tests/gcc-torture-execute-20021120-1.c:
5219 Make stack-auto exception only for mos6502 port. Enable test for S08 and HC08.
5221 2022-03-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5223 * support/regression/tests/bitintarith.c:
5224 Disable part of test for pdk14 to not run out of code memory.
5226 support/regression/tests/bitintbitfield.c,
5227 support/regression/tests/widebitintbitfield.c:
5228 Fix write to wide bit-field on z80.
5230 2022-03-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5233 Use unsigned long long to represent bit-field values at compile time.
5235 Enable _BitInt for mcs51.
5236 * support/regression/tests/bitintarith.c,
5237 support/regression/tests/bug-3355.c:
5238 Test for bug #3355 (disabled for now).
5243 support/regression/tests/bitintarith.c:
5244 Fix a z80 _BitInt decrement issue.
5246 2022-03-14 Gabriele Gorla <gorlik@yahoo.com>
5248 * src/mos6502/gen.c:
5249 Make regInfoStr display SP relative values when appropriate.
5250 Additional improvements to genAddrOf().
5252 2022-03-13 Gabriele Gorla <gorlik@yahoo.com>
5254 * support/regression/tests/gcc-torture-execute-20021120-1.c:
5255 Make large local allocation static when compiling with --stack-auto.
5257 2022-03-13 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5259 * sdas/as6500/r65pst.c,
5260 sdas/as6808/m08pst.c,
5261 sdas/as8051/i51pst.c,
5262 sdas/as8xcxxx/ds8pst.c,
5263 sdas/aspdk13/pdk13pst.c,
5264 sdas/aspdk14/pdk14pst.c,
5265 sdas/aspdk15/pdk15pst.c,
5266 sdas/aspdk16/pdk16pst.c,
5267 sdas/asrab/rabpst.c,
5268 sdas/asstm8/stm8pst.c,
5269 sdas/astlcs90/t90pst.c,
5270 sdas/asz80/z80pst.c:
5271 Enable new mnemonics on all ports.
5273 2022-03-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5275 * support/regression/tests/bitintarith.c,
5277 Disable a test that failed on pdk15 for wide _BitInt due to lack of memory, reenable 64-_BitInt support for pdk.
5279 2022-03-12 Gabriele Gorla <gorlik@yahoo.com>
5281 * src/mod6502/gen.c:
5282 Small genCast() improvements.
5284 2022-03-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5286 * src/z80/peeph.def:
5289 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5292 Limit _BitInt size to 16 for pdk (temporarily, until an issue is fixed).
5294 Fix handling of parameters of odd size > 2.
5296 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5298 * Merge _BitInt branch.
5300 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5303 Basic _BitInt support for mcs51.
5305 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5310 support/regression/tests/bitint.c,
5311 support/regression/tests/widebitintbitfield.c:
5312 Fix cast from signed integer type to wider unsigned bit-precise type.
5314 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5316 * Merge _BitInt branch.
5318 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5323 support/regression/tests/widebitintbitfield.c:
5324 Fixes for bit-precise bit-fields.
5326 2022-03-11 Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu>
5329 Fix compile by gcc 9.4.0: label must be on statement
5331 2022-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5336 support/regression/tests/bitint.c,
5337 support/regression/tests/bitintbitfield.c:
5338 Fix issues in casts between bitprecise types of different sign.
5340 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5347 Explicitly state _BitInt non-support.
5349 2022-03-10 Gabriele Gorla <gorlik@yahoo.com>
5352 Make assembly comments more consistent.
5353 * src/mos6502/main.c,
5354 src/mos6502/ralloc2.cc:
5355 Refactor to make files more similar to stm8 port.
5357 2022-03-10 Benedikt Freisen <b.freisen AT gmx.net>
5360 Clarify --std-cxx and --std-sdccxx.
5362 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5364 * Merge _BitInt branch.
5366 2022-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5369 Calculate size of general ASxxx directives, apply [patches:428].
5371 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5377 Support for bit-precise integer types on pdk.
5381 support/regression/tests/bitintarith.c:
5382 Fix left shift of bit-precise integer types.
5384 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5388 Support for bit-precise integer types on sm83 up to a width of 16.
5390 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5392 * Merge _BitInt branch.
5394 2022-03-10 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5399 support/regression/tests/bitint.c:
5400 Bit-precise types and bit-fields thereof for z80-related (except sm83, which only gets support up to a width of 8 bits for now).
5402 2022-03-09 Gabriele Gorla <gorlik@yahoo.com>
5404 * src/mos6502/gen.c,
5406 src/mos6502/ralloc.h:
5407 Avoid marking the accumulator dirty after a compare operation.
5409 2022-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5411 * sdas/asxxsrc/asmain.c,
5412 sdas/asxxsrc/asxxxx.h:
5413 Merge all kinds of .if directives from upstream ASxxxx.
5414 * sdas/asgb/gbpst.c:
5415 Enable in sm83 for testing.
5417 2022-03-09 Gabriele Gorla <gorlik@yahoo.com>
5419 * src/mos6502/peeph.def:
5420 Add rules for redundant stores after loads.
5421 * device/lib/mos6502/crt0.s:
5422 Use ZP for memcpy and memset parameters.
5424 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5426 * Merge _BitInt branch.
5428 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5431 support/regression/tests/bitintbitfield.c:
5432 Fix signed bit-precise bit-fields.
5434 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5440 support/regression/tests/bitint.c,
5441 support/regression/tests/bitintarith.c:
5442 Multiplicative operators for bit-precise integers.
5444 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5448 Improve diagnostics for unimplemented bit-precise operators.
5450 2022-03-09 Gabriele Gorla <gorlik@yahoo.com>
5452 * src/mos6502/gen.c:
5453 Fix corner cases in genPointerSet() and genPointerGet().
5455 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5459 support/regression/tests/bitint.c,
5460 support/regression/tests/bitintarith.c,
5462 Various _BitInt fixes.
5464 2022-03-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5469 Fix casts for bit-precise types.
5471 Fix return of types with odd size greater than 4.
5472 * support/regression/tests/bitint.c,
5473 support/regression/tests/bitintarith.c:
5474 Somethings already work for _BitInt, so we can test them!
5476 2022-03-09 Maarten Brock <sourceforge.brock AT dse.nl>
5478 * doc/sdccman.lyx: fixed bug #3343
5480 2022-03-08 Gabriele Gorla <gorlik@yahoo.com>
5482 * src/mos6502/peeph.def:
5483 Minor peephole optimizations.
5484 * src/mos6502/gen.c:
5485 Special case 16b left and 8bit right in genPlus and genMinus.
5487 2022-03-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5489 * sdas/as8xcxxx/ds8mch.c,
5490 sdas/asxxsrc/asxxxx.h:
5491 Fix ASxxxx warnings by merging with upstream for [bugs:#3347].
5493 2022-03-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5505 Infrastructure for bit-precise integer literals.
5507 2022-03-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
5509 * device/include/limits.h,
5519 Infrastructure for bit-precise integers.
5521 2022-03-08 Philipp Klaus Krause <pkk AT spth.de>
5524 Start post-4.2.0 development.
5526 2022-03-08 Philipp Klaus Krause <pkk AT spth.de>
5528 * Merge sdcc-next branch to trunk.
5530 2022-03-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5533 Make it compile again.
5535 2022-03-07 Gabriele Gorla <gorlik@yahoo.com>
5537 * support/regression/tests/bug3475630.c,
5538 support/regression/tests/bug2094505.c:
5539 Adjust tests parameters for stack-auto.
5540 * src/mos6502/gen.c,
5542 src/mos6502/ralloc2.cc:
5543 Use DPTR instead of YX for indexed addressing.
5545 2022-03-07 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5548 Accept more z80, sm83 and z80n mnemonics for size counting [bugs:#3330].
5550 2022-03-07 Gabriele Gorla <gorlik@yahoo.com>
5552 * src/mos6502/gen.c:
5553 Clear temp register literal values after a label.
5554 * src/mos6502/gen.c,
5555 src/mos6502/ralloc2.cc:
5556 Add codegen for rotate.
5558 2022-03-07 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5560 * sim/ucsim/z80.src/inst_gb80.cc:
5562 support/regression/ports/ucgbz80/support.c,
5563 support/regression/ports/ucgbz80/uCsim.cmd:
5564 Reduce size of __put.
5566 2022-03-07 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5568 * sim/ucsim/z80.src/gb80.cc,
5569 sim/ucsim/z80.src/inst_cb.cc,
5570 sim/ucsim/z80.src/inst_gb80.cc:
5571 Improve cycle counting.
5573 2022-03-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5575 * sim/ucsim/z80.src/gb80.cc,
5576 sim/ucsim/z80.src/z80mac.h:
5577 Fix bug #3340 (`pop af` and `and`).
5579 2022-03-06 Gabriele Gorla <gorlik@yahoo.com>
5581 * src/mos6502/ralloc.c,
5582 src/mos6502/ralloc.h,
5583 src/mos6502/ralloc2.cc:
5584 Prepare for new spillt allocator.
5586 2022-03-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5588 * src/z80/peeph.def:
5589 Remove rlca when sub already sets carry.
5591 2022-03-05 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5594 Improve labels in inline assembly and fix bug #2831.
5595 Patch based on patch by Tom Li.
5596 * device/lib/_memmove.c,
5597 device/lib/sm83/crt0.s,
5598 device/lib/sm83/memcpy.s,
5602 Add missing copyright notices.
5604 2022-03-05 Gabriele Gorla <gorlik@yahoo.com>
5606 * src/mos6502/gen.c:
5607 Improve debug output.
5609 2022-03-04 Gabriele Gorla <gorlik@yahoo.com>
5611 * src/mos6502/gen.c,
5613 Change asmop.type to enum.
5614 * src/mos6502/gen.c:
5615 Remove unused "result" parameter from aopOp().
5616 * src/mos6502/gen.c:
5617 Allow AX in genCpl().
5618 * src/mos6502/gen.c:
5619 Remove unused parameters in freeAsmop().
5620 * src/mos6502/main.c,
5622 Removed unnecessary main.h
5624 2022-03-03 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5626 * device/lib/sm83/memcpy.s:
5627 Replace redundancy with macros.
5629 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5631 * src/z80/peeph.def:
5632 Disable rule that pessimized some ports.
5634 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5637 Add -bo and -ba for z80, apply patch #399.
5639 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5641 * device/lib/sm83/mul.s:
5642 Speed up multiplication algorithm.
5644 2022-03-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5646 * device/lib/_memset.c,
5647 device/lib/sm83/abs.s,
5648 device/lib/sm83/crt0.s,
5649 device/lib/sm83/memcpy.s,
5650 device/lib/sm83/setjmp.s:
5651 Improve sm83 assembly.
5653 2022-03-01 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5655 * sdas/asxxsrc/asdata.c,
5656 sdas/asxxsrc/asmain.c,
5657 sdas/asxxsrc/asxxxx.h:
5658 Add -h and hidden -t flags.
5659 * sdas/asgb/gbadr.c,
5661 Reduce customizations.
5663 2022-03-01 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5665 * src/z80/peeph.def:
5666 Improve stdlib code through peephole rules.
5668 2022-02-28 Gabriele Gorla <gorlik@yahoo.com>
5670 * src/mos6502/gen.c:
5671 Refactor storeRegToAop()
5673 2022-02-28 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5675 * sdas/asz80/z80adr.c,
5676 sdas/asz80/z80mch.c:
5677 Merge error messages from upstream ASxxxx 5.40.
5678 Add a few for extensions/custom ports. Part 2.
5680 2022-02-27 Gabriele Gorla <gorlik@yahoo.com>
5682 * src/mos6502/ralloc.c,
5684 Remove freeAllRegs()
5685 * src/mos6502/gen.c:
5686 Fix corner cases in assignResultValue() and genPointerSet()
5687 * support/regression/ports/mos6502/spec.mk
5688 Removed redundant --out-fmt-ihx command line option
5689 * device/lib/mos6502/_strcpy.s,
5690 device/lib/mos6502/_strcmp.s,
5691 device/lib/mos6502/_mullong.s,
5692 device/lib/mos6502/_mulint.s,
5693 device/lib/mos6502/_divuint.s,
5694 device/lib/mos6502/_divulong.s,
5695 device/lib/mos6502/__memcpy.s:
5696 Move function parameters to overlay segment.
5697 * device/lib/mos6502/_divsint.s,
5698 device/lib/mos6502/_divslong.s,
5699 device/lib/mos6502/_modsint.s,
5700 device/lib/mos6502/_modslong.s,
5701 device/lib/mos6502/_moduint.s,
5702 device/lib/mos6502/_modulong.s,
5703 device/lib/mos6502/_mulschar.s,
5704 device/lib/mos6502/_muluchar.s,
5705 device/lib/mos6502/abs.c:
5706 Add assembly implementation of divs, mod, mulchar and abs.
5707 * src/mos6502/gen.c:
5708 Add m6502_unimplemented()
5709 * src/mos6502/gen.c:
5710 Refactopr genCpl() and genPointerSet()
5712 2022-02-26 Gabriele Gorla <gorlik@yahoo.com>
5714 * sdas/asxxsrc/aslist.c:
5715 Revert changes in slew() which caused regression failures on z80 ports.
5716 * src/mos6502/ralloc.c:
5717 Remove dead code from old ralloc.
5719 2022-02-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5721 * sdas/asgb/gbmch.c:
5722 Add cycle table from upstream.
5724 2022-02-26 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5727 support/regression/tests/bug-3332.c:
5728 Fix bugs #3332 and #3333.
5730 2022-02-24 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5733 Improve calling convention documentation.
5735 2022-02-24 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5738 Fix a minor documentation issue.
5740 2022-02-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5742 * src/z80/peeph.def:
5743 Remove ldi/ldh rules.
5744 * src/z80/peeph-sm83.def:
5747 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5749 * sdas/asxxsrc/asxxxx.h,
5750 sdas/asxxsrc/asmain.c,
5751 sdas/as6500/r65pst.c:
5752 Add .error and .message directives.
5753 * sdas/asxxsrc/assubr.c,
5754 sdas/asxxsrc/aslex.c,
5755 sdas/asxxsrc/asexpr.c:
5756 More updates from upstream asxxxx 5.40
5758 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5760 * sdas/asxxsrc/asxxxx.h,
5761 sdas/asxxsrc/asmain.c,
5762 sdas/asxxsrc/asexpr.c,
5763 sdas/asxxsrc/asdata.c:
5764 Enable -v option (out of range errors) from upstream asxxxx 5.40.
5765 * sdas/asxxsrc/assubr.c,
5766 sdas/asxxsrc/asout.c,
5767 sdas/asxxsrc/asmcro.c,
5768 sdas/asxxsrc/aslex.c:
5769 Change protoypes to ANSI C. Add some detailed error messages.
5770 * sdas/asxxsrc/assym.c:
5771 Make area name comparisons case insensitive.
5773 2022-02-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5775 * sdas/asgb/gbadr.c,
5777 sdas/asrab/rabadr.c,
5778 sdas/asrab/rabmch.c:
5779 Merge error messages from upstream ASxxxx 5.40.
5780 Add a few for extensions/custom ports.
5782 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5786 Add __zp keyword to the mos6502 port.
5789 device/lib/mos6502/crt0.s,
5790 device/lib/mos6502/_strcpy.s,
5791 device/lib/mos6502/_strcmp.s,
5792 device/lib/mos6502/_setjmp.c,
5793 device/lib/mos6502/_mullong.s,
5794 device/lib/mos6502/_mulint.s,
5795 device/lib/mos6502/_divulong.s,
5796 device/lib/mos6502/_divuint.s,
5797 device/lib/mos6502/__memcpy.s,
5798 device/lib/mos6502-stack-auto/crt0.s,
5799 device/lib/mos6502-stack-auto/_setjmp.c:
5800 Rename linker segments.
5801 * src/mos6502/gen.h:
5802 Remove unused anonymous enum.
5803 * sdas/as6500/r65pst.c:
5804 Prepeare for additional asxxxx upstream merge.
5806 2022-02-22 Gabriele Gorla <gorlik@yahoo.com>
5808 * sdas/asxxsrc/asxxxx.h,
5809 sdas/asxxsrc/assym.c,
5810 sdas/asxxsrc/assubr.c,
5811 sdas/asxxsrc/asmcro.c,
5812 sdas/asxxsrc/asmain.c,
5813 sdas/asxxsrc/aslist.c,
5814 sdas/asxxsrc/aslex.c,
5815 sdas/asxxsrc/asexpr.c,
5816 sdas/asxxsrc/asdata.c:
5817 Several updates from upstream asxxxx 5.40
5818 * sdas/aasz80/z80pst.c:
5819 Use I_CODE in S_INCL entry instead of 0.
5820 * sdas/as6500/r65pst.c,
5821 sdas/as6500/r65mch.c,
5822 sdas/as6500/r65adr.c,
5823 sdas/as6500/r6500.h:
5824 Add .incbin, .define, .undefine, .ifdef and .ifndef to the 6502 assembler.
5825 * sdas/as6808/m6808.h,
5826 sdas/as6808/m08pst.c,
5827 sdas/as6808/m08mch.c,
5828 sdas/as6808/m08adr.c:
5829 Add .incbin hc08/s08 assembler.
5830 * sdas/asstm8/stm8pst.c:
5831 Use I_CODE in S_INCL entry instead of 0.
5833 2022-02-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5835 * src/z80/peeph.def:
5836 Add new rules to improve library code.
5838 2022-02-21 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5843 2022-02-20 Gabriele Gorla <gorlik@yahoo.com>
5845 * src/mos6502/gen.c:
5848 2022-02-20 Gabriele Gorla <gorlik@yahoo.com>
5850 * support/regression/tests/bp.c,
5851 support/regression/tests/bug-2253.c,
5852 support/regression/tests/bug-3003.c:
5853 Special case __SDCC_STACK_AUTO
5855 2022-02-20 Gabriele Gorla <gorlik@yahoo.com>
5857 * src/mos6502/gen.c:
5858 Improve genPointerSet. Make comments formatting more consistent.
5859 * support/regression/Makefile.in,
5860 support/regression/ports/uc6502-stack-auto/spec.mk,
5861 support/regression/ports/uc6502-stack-auto/support.c,
5862 support/regression/ports/uc6502-stack-auto/uCsim.cmd,
5863 support/regression/ports/uc6502-stack-auto:
5864 Add regression for mos6502-stack-auto target.
5866 2022-02-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5869 Improve stack cleaning before jp (hl) on sm83.
5871 2022-02-19 Gabriele Gorla <gorlik@yahoo.com>
5873 * src/mos6502/gen.c:
5874 Replace assembly with generic code in a few places.
5876 2022-02-19 Gabriele Gorla <gorlik@yahoo.com>
5878 * device/lib/mos6502/Makefile.in,
5879 device/lib/mos6502/__sdcc_indirect_jsr.s,
5880 device/lib/mos6502-stack-auto/Makefile.in,
5881 device/lib/mos6502-stack-auto/__sdcc_indirect_jsr.s,
5883 Add runtime support for indirect jsr.
5884 * src/mos6502/peeph.def:
5885 Refactored rules and improved asm inline comments.
5886 * src/mos6502/gen.c:
5887 Changed return type for smallAdjustReg().
5889 2022-02-19 Gabriele Gorla <gorlik@yahoo.com>
5891 * sdcc/devicel/lib/mos6502/crt0.s:
5892 Remove incorrect loading of the second memset parameter.
5893 * support/regression/ports/u6502/spec.mk:
5894 Remove redundant --out-fmt-ihx parameter.
5895 * device/lib/mos6502-stack-auto/Makefile.in,
5896 device/lib/mos6502-stack-auto/crt0.s,
5897 device/lib/mos6502-stack-auto/atomic_flasg_test_and_set.c,
5898 device/lib/mos6502-stack-auto/_setjmp.c,
5899 device/lib/mos6502-stack-auto/_rrulonglong.c,
5900 device/lib/mos6502-stack-auto/_rrslonglong.c,
5901 device/lib/mos6502-stack-auto/_ret.c,
5902 device/lib/mos6502-stack-auto/,
5903 device/lib/Makefile.in,
5904 device/lib/clean.mk,
5907 Add mos6502 stack auto target.
5908 * src/mos6502/main.c:
5909 Correct flags affected by cld.
5911 2022-02-19 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5913 * device/lib/sm83/memcpy.s,
5914 device/lib/_memset.c:
5915 Switch to GBDK-2020's algorithm with partial loop unrolling.
5916 * device/lib/_memmove.c:
5917 On sm83 call memcpy where possible.
5919 2022-02-19 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5922 Fix an issue in the fix for bug #3320.
5924 2022-02-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5928 * support/regression/tests/bug-3320.c:
5931 2022-02-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
5933 * src/SDCCast.c (gatherImplicitVariables): fix bug #3320
5935 2022-02-16 Sebastian 'basxto' Riedel <sdcc@basxto.de>
5937 * device/lib/isspace.c,
5938 device/lib/isxdigit.c:
5939 Check high and low byte separately for some targets, also sort compares by frequency and int value.
5940 * device/lib/sm83/memcpy.s,
5941 device/lib/_memset.c,
5943 Optimize sm83 assembly.
5945 2022-02-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5947 * support/regression/tests/bug-3322.c:
5950 2022-02-14 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5955 Preparations for 4.2.0.
5957 2022-02-14 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5959 * support/regression/tests/bug-3289.c:
5960 Test for recently-fixed bug #3289.
5962 2022-02-13 Gabriele Gorla <gorlik@yahoo.com>
5964 * src/mos6502/gen.c:
5965 Avoid generating illegal 6502 instructions in a few corner cases.
5967 2022-02-13 Gabriele Gorla <gorlik@yahoo.com>
5969 * src/mos6502/gen.c,
5971 Removed hack that assigned function pointers entry address-1.
5972 * src/mos6502/main.c:
5973 Changed default output to ihx.
5975 2022-02-12 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5977 * support/valdiag/Makefile.in:
5978 Skip not-built-by-default 65c02 port in valdiag testing.
5980 2022-02-10 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5982 * device/lib/pdk14/__setjmp.s:
5983 Fix typo (bug #3318).
5985 2022-02-10 Gabriele Gorla <gorlik@yahoo.com>
5987 * src/mos6502/gen.c,
5988 src/mos6502/ralloc.c:
5991 2022-02-10 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
5993 * device/lib/pdk*/__gptrget.s,
5994 device/lib/pdk*/__gptrget2.s,
5995 device/lib/pdk*/__setjmp.s:
5996 Get rid of some warnings by changing old-style pdk io assembler to new style.
5999 Disable warning about intentionally unused parameter in test.
6001 Regenerate file via autoheader, fixes bug #3316.
6003 2022-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
6005 * src/SDCCsymt.c (leaveBlockScope): fix bug #3289
6007 2022-02-09 Gabriele Gorla <gorlik@yahoo.com>
6009 * src/mos6502/gen.c:
6010 General code cleanup.
6014 2022-02-09 Gabriele Gorla <gorlik@yahoo.com>
6016 * src/mos6502/gen.c:
6017 Additional improvements in genPointerGet/genPointerSet.
6019 2022-02-08 Gabriele Gorla <gorlik@yahoo.com>
6021 * src/mos6502/gen.c:
6022 Fix corner cases in genPointerSet.
6023 * src/mos6502/gen.c:
6024 Add peephole rules to remove redundnat php/plp.
6026 2022-02-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6028 * device/include/mcs51/p89lpc9321.h,
6029 device/include/mcs51/p89lpc9331.h,
6030 device/include/mcs51/p89lpc9351.h:
6031 Switch from Windows 1252 to UTF-8.
6032 * sdas/as6500/r65pst.c,
6033 support/regression/tests/bitfields-dead-loop.c,
6034 support/regression/tests/bitfields-bits1.c,
6035 support/regression/tests/bitfields-checks.c,
6036 support/sdbinutils/binutils/bfdtest2.c,
6037 device/include/mcs51/w7100.h,
6038 device/include/mcs51/at89c51id2.h:
6039 Switch from mixed CRLF/LF to LF.
6041 2022-02-08 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6045 Fix alignment of 6502 and 65c02 port in configure output.
6047 2022-02-08 Gabriele Gorla <gorlik@yahoo.com>
6049 * src/mos6502/gen.c:
6050 Load literal constant instead of temp reg when possible.
6052 2022-02-07 Gabriele Gorla <gorlik@yahoo.com>
6054 * src/mos6502/gen.c:
6055 Workaround bug-3129 failures when optimizing for size.
6057 2022-02-07 Gabriele Gorla <gorlik@yahoo.com>
6059 * src/mos6502/gen.c:
6060 Additional improvements to genPointerGet and genPointerSet.
6062 2022-02-06 Gabriele Gorla <gorlik@yahoo.com>
6064 * src/mos6502/gen.c:
6065 Improve genPointerGet.
6067 2022-02-06 Gabriele Gorla <gorlik@yahoo.com>
6070 Removed useless offset increment.
6071 * src/mos6502/gen.c:
6072 Track temp reg literal values across store/load.
6074 2022-02-06 Gabriele Gorla <gorlik@yahoo.com>
6076 * src/mos6502/gen.c:
6077 Fixed a few corner cases in genPointerGet/genPointerSet.
6079 2022-02-06 Benedikt Freisen <b.freisen AT gmx.net>
6081 * support/scripts/sdcc.nsi:
6082 Add missing Delete and RMDir entries.
6084 2022-02-05 Gabriele Gorla <gorlik@yahoo.com>
6086 * src/mos6502/gen.c:
6087 Changed regalloc_dry_run_cost_cycles to float.
6088 * src/mos6502/ralloc.c,
6089 src/mos6502/ralloc.h,
6090 src/mos6502/ralloc2.cc:
6091 Initial merge of stm8 and pdk improvements to the register allocator.
6093 2022-02-04 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6095 * support/scripts/sdcc.nsi:
6096 (Un)install sdas6500 assembler, fix left-over mcs51 huge lib after uninstall (bug #2972),
6097 installation options for r2ka and mos6502 libraries.
6099 2022-02-03 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6102 Update port status in README.
6104 2022-02-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6106 * support/makebin/makebin.c:
6107 Fix segmentation fault when using -yp and patching of wrong address.
6109 2022-02-03 Benedikt Freisen <b.freisen AT gmx.net>
6112 Update documentation.
6114 2022-02-03 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6116 * device/lib/printf_large.c,
6128 support/regression/generate-cases.py:
6129 Fix typos in comments.
6136 Use CSD representation for multiplication by literal in a.
6138 2022-02-02 Gabriele Gorla <gorlik@yahoo.com>
6140 * src/mos6502/gen.c,
6143 src/mos6502/ralloc.c,
6144 src/mos6502/ralloc.h,
6145 src/mos6502/ralloc2.cc:
6146 Removed dead code and refactored load/stroreRegTemp.
6148 2022-02-02 Benedikt Freisen <b.freisen AT gmx.net>
6150 * support/scripts/sdcc.ico:
6151 Add a 48x48 pixel icon.
6153 2022-02-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6155 * sdas/asxxsrc/asxxxx.h:
6156 Raise NCPS to 256 like in upstream ASXXXX. (workaround for bug-3277)
6158 2022-02-02 Sebastian 'basxto' Riedel <sdcc@basxto.de>
6160 * support/makebin/makebin.c:
6161 Improve SMS/GG defaults and allow to define an offset that's skipped for the rom.
6163 2022-02-02 Benedikt Freisen <b.freisen AT gmx.net>
6168 Add string escaping to dwWriteString.
6170 2022-02-02 Benedikt Freisen <b.freisen AT gmx.net>
6172 * sdas/asxxsrc/asmain.c:
6173 Fix bug #2970 via trivial patch by David Grayson.
6175 2022-02-02 Gabriele Gorla <gorlik@yahoo.com>
6177 * device/lib/mos6502/Makefile.in:
6178 Enable optimization for the library.
6179 * src/mos6502/gen.c:
6180 Commented out code that triggers bug-477927 regression.
6181 * src/mos6502/peep.def:
6182 Add rule to optimize function entry.
6184 2022-02-02 Gabriele Gorla <gorlik@yahoo.com>
6186 * src/mos6502/gen.c:
6187 Implement cost based on both code size and cycles.
6189 2022-02-01 Gabriele Gorla <gorlik@yahoo.com>
6191 * src/mos6502/gen.c:
6192 Fix several bugs in the code generator.
6194 2022-02-01 Gabriele Gorla <gorlik@yahoo.com>
6196 * device/lib/mos6502/__memcpy.c,
6197 device/lib/mos6502/_mulint.s,
6198 device/lib/mos6502/_mullong.s,
6199 device/lib/mos6502/_divuint.s,
6200 device/lib/mos6502/_divulong.s,
6201 device/lib/mos6502/_strcmp.s,
6202 device/lib/mos6502/_strcpy.s:
6203 Implement additional library functions in assembly.
6205 2022-02-01 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6207 * support/regression/Makefile.in:
6208 Do not run mos6502 and mcs51-xstack-auto tests for all target, since they have extra dependencies.
6209 * support/regression/ports/*/spec.mk:
6210 Increase some timeouts in hope of making the bug-3129 regression test pass on that slow PPC Mac in the compile farm.
6211 * support/regression/tests/gcc-torture-execute-920711-1.c,
6212 support/regression/tests/gcc-torture-execute-941021-1.c:
6213 Disable two tests for hosts with older gcc, where they apparently fail.
6215 2022-01-31 Gabriele Gorla <gorlik@yahoo.com>
6217 * device/lib/mos6502/_mulint.c,
6218 device/lib/mos6502/_mulint.s,
6219 device/lib/mos6502/_mullong.s,
6220 device/lib/mos6502/_ret.c:
6221 Implement mulint and mullong in assembly.
6223 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6225 * src/mos6502/gen.c:
6226 Improve memory shift operations.
6228 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6230 * src/mos6502/gen.c:
6231 Improve register shift operations.
6233 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6235 * src/mos6502/gen.c:
6236 Expand use of inc/dec for literal add/sub operations.
6238 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6240 * src/mos6502/gen.c:
6241 Enable inc/dec on register targets.
6243 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6245 * src/mos6502/gen.c:
6246 storeRegIndexed improvements.
6248 2022-01-30 Gabriele Gorla <gorlik@yahoo.com>
6250 * src/mos6502/gen.c:
6251 Special case X->Y and Y->X whith literal values.
6253 2022-01-29 Gabriele Gorla <gorlik@yahoo.com>
6255 * src/mos6502/gen.c,
6256 src/mos6502/ralloc2.cc:
6257 General code cleanup.
6259 2022-01-29 Gabriele Gorla <gorlik@yahoo.com>
6262 src/hc08/ralloc2.cc:
6263 Fix a overflow bug in dry run cost calculation.
6265 2022-01-29 Gabriele Gorla <gorlik@yahoo.com>
6267 * src/mos6502/gen.c,
6268 src/mos6502/ralloc.c,
6269 src/mos6502/ralloc2.cc:
6270 Fix a overflow bug in dry run cost calculation.
6272 2022-01-28 Gabriele Gorla <gorlik@yahoo.com>
6274 * src/mos6502/gen.c:
6275 Add new peephole rules.
6277 2022-01-28 Gabriele Gorla <gorlik@yahoo.com>
6279 * src/mos6502/gen.c:
6280 Improve register transfer operations.
6282 2022-01-26 Gabriele Gorla <gorlik@yahoo.com>
6284 * src/mos6502/gen.c:
6285 Improved genLeftShift and genRightShift.
6287 2022-01-25 Gabriele Gorla <gorlik@yahoo.com>
6289 * src/mos6502/gen.c,
6290 src/mos6502/ralloc.c,
6291 src/mos6502/ralloc.h,
6292 src/mos6502/ralloc2.c:
6293 Make m6502_dirtyReg take only one parameter.
6295 2022-01-25 Gabriele Gorla <gorlik@yahoo.com>
6297 * src/mos6502/gen.c:
6298 Refactor verbose assembler debug code.
6300 2022-01-25 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6302 * doc/z80-arguments.svg:
6303 Fix documentation on z80 calling convention for 32-bit argument followed by 16-bit argument.
6305 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6307 * src/mos6502/gen.c:
6308 Add swapAX function.
6310 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6312 * src/mos6502/gen.c:
6313 Add cycle based cost calculation.
6315 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6317 * src/mos6502/gen.c:
6318 Implement a few missing codegen paths.
6320 2022-01-23 Benedikt Freisen <b.freisen AT gmx.net>
6322 * device/include/mcs51/P89LPC901.h,
6323 device/include/mcs51/P89LPC922.h,
6324 device/include/mcs51/P89LPC925.h,
6325 device/include/mcs51/P89LPC932.h,
6326 device/include/mcs51/P89c51RD2.h,
6327 device/include/mcs51/cc1110.h,
6328 device/include/mcs51/cc2430.h,
6329 device/include/mcs51/cc2530.h,
6330 device/include/mcs51/uPSD33xx.h:
6331 Fix bug #3300, namely encoding issues in various headers.
6333 2022-01-23 Benedikt Freisen <b.freisen AT gmx.net>
6336 Implement CLI option --include.
6338 2022-01-23 Gabriele Gorla <gorlik@yahoo.com>
6340 * src/mos6502/gen.c,
6341 src/mos6502/ralloc.c,
6342 src/mos6502/ralloc.h:
6343 Update opcode table and unified opcode size code.
6345 2022-01-22 Gabriele Gorla <gorlik@yahoo.com>
6347 * src/mos6502/gen.c:
6348 Use code gen functions instead of raw assembly when possible.
6350 2022-01-21 Gabriele Gorla <gorlik@yahoo.com>
6352 * src/mos6502/peep.def:
6353 Improved 6502 peephole rules.
6355 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6357 * src/mos6502/gen.c:
6358 Add instruction cost as asm comments.
6360 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6362 * src/mos6502/main.c:
6363 Correctly compute instruction distance when asm lines contain comments.
6365 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6367 * src/mos6502/main.c:
6368 Fix m6502_instructionSize.
6370 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6372 * src/mos6502/main.c:
6373 Cleanup m6502opcodedata.
6375 2022-01-20 Gabriele Gorla <gorlik@yahoo.com>
6378 Allow peephole rules to match asm lines with comments.
6380 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6382 * src/mos6502/peep.def:
6383 Initial MOS6502 peephole rules.
6385 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6387 * src/mos6502/gen.c:
6388 Fix out of range branch in genCmpEQorNE.
6390 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6392 * src/mos6502/gen.c:
6393 Fix AX->XA bug in loadRegFromAop.
6395 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6397 * src/mos6502/gen.c:
6398 Improve pusReg/PullReg.
6400 2022-01-18 Gabriele Gorla <gorlik@yahoo.com>
6402 * src/mos6502/gen.c:
6403 Improve dry_run_cost accuracy.
6405 2022-01-17 Gabriele Gorla <gorlik@yahoo.com>
6407 * src/mos6502/gen.c:
6408 Refactor dry_run_cost computation.
6410 2022-01-17 Gabriele Gorla <gorlik@yahoo.com>
6412 * src/mos6502/gen.c:
6413 Improve debug messages.
6415 2022-01-17 Gabriele Gorla <gorlik@yahoo.com>
6417 * src/mos6502/gen.c:
6418 Make opcode output more consistent.
6420 2022-01-16 Gabriele Gorla <gorlik@yahoo.com>
6422 * src/mos6502/gen.c:
6423 Correct dry_run_cost for several code paths.
6425 2022-01-16 Gabriele Gorla <gorlik@yahoo.com>
6427 * src/mos6502/gen.c:
6428 Disable verbose debugging in the generated assembly.
6430 2022-01-15 Gabriele Gorla <gorlik@yahoo.com>
6432 * src/mos6502/gen.c:
6433 Imporve preparePointer.
6435 2022-01-15 Benedikt Freisen <b.freisen AT gmx.net>
6437 * device/lib/_fs2ulong.c,
6438 device/lib/_ulong2fs.c,
6439 support/regression/tests/bug-3276.c:
6442 2022-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
6444 * support/regression/tests/bug-3129.c: partial fix for bug #3309
6446 2022-01-15 Gabriele Gorla <gorlik@yahoo.com>
6448 * support/regression/tests/reentrant.c:
6449 Disable failing test for DS390 port.
6450 * support/regression/tests/bug-3129.c:
6451 Disable failing test for MOS6502 port.
6453 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6455 * src/mos6502/gen.c:
6458 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6460 * src/mos6502/gen.c:
6461 Fix gcc-torture-execute-981001-1 regression failure.
6463 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6465 * src/mos6502/gen.c,
6466 device/lib/mos6502/crt0.s:
6467 Remove use of BASEPTR.
6469 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6471 * src/mos6502/gen.c:
6472 Let storeConstToAop use X and Y as well.
6474 2022-01-14 Gabriele Gorla <gorlik@yahoo.com>
6476 * src/mos6502/ralloc.h,
6478 Refactor genAssignLit and remove old defines.
6480 2022-01-13 Gabriele Gorla <gorlik@yahoo.com>
6482 * support/regression/tests/reentrant.c:
6483 Reduce recursion depth to fit into mcs51 stack.
6485 2022-01-12 Gabriele Gorla <gorlik@yahoo.com>
6487 * src/mos6502/main.c:
6490 2022-01-12 Gabriele Gorla <gorlik@yahoo.com>
6492 * support/regression/tests/reentrant.c:
6493 Add reentrant function regression test.
6495 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6497 * src/mos6502/gen.c:
6498 Fix gcc-torture-execute-990128-1 regression failure.
6500 2022-01-11 Daniel Drotos <drdani@mazsola.iit.uni-miskolc.hu>
6502 * support/regression/ports/mcs51-common/spec.mk:
6503 Generate debug info when compile regtest of mcs51 ports.
6505 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6507 * src/mos6502/gen.c:
6510 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6512 * src/mos6502/gen.c:
6513 Fix bug1115321 regression failure.
6515 2022-01-11 Gabriele Gorla <gorlik@yahoo.com>
6517 * src/mos6502/gen.c:
6518 Fix gcc-torture-execute-pr34456 regression failure.
6520 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6522 * src/mos6502/ralloc.c,
6524 Remove more dead code.
6526 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6528 * support/valdiag/tests/bug-2798.c:
6529 Exclude test for mos6502 port (no support for __sfr).
6531 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6533 * src/mos6502/gen.c:
6534 Fix several compiler warnings.
6536 2022-01-09 Gabriele Gorla <gorlik@yahoo.com>
6538 * src/mos6502/ralloc.c:
6539 Remove oldralloc dead code.
6541 2022-01-09 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6543 * device/lib/pic16/Makefile.in,
6544 device/lib/pic16/aclocal.m4,
6545 device/lib/pic16/configure,
6546 device/lib/pic16/configure.ac,
6547 device/lib/pic16/debug/Makefile.in,
6548 device/lib/pic16/libc/Makefile.in,
6549 device/lib/pic16/libio/Makefile.in,
6550 device/lib/pic16/libm/Makefile.in,
6551 device/lib/pic16/libsdcc/Makefile.in,
6552 device/lib/pic16/missing,
6553 device/lib/pic16/startup/Makefile.in:
6554 Update pic16 library build infrastructure (fixes a configuration time warning).
6555 * support/regression/ports/mos6502/spec.mk:
6558 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6568 device/lib/Makefile.in,
6569 device/include/Makefile.in,
6572 Enable the mos6502 port.
6574 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6576 * support/regression/tests/z88dk_callee.c,
6577 support/regression/tests/z88dk.c,
6578 support/regression/tests/gcc-torture-execute-strlen-4.c,
6579 support/regression/tests/gcc-torture-execute-func-ptr-1.c,
6580 support/regression/tests/gcc-torture-execute-9911112-1.c,
6581 support/regression/tests/gcc-torture-execute-930702-1.c,
6582 support/regression/tests/gcc-torture-execute-921208-1.c,
6583 support/regression/tests/gcc-torture-execute-20000412-2.c,
6584 support/regression/tests/critical.c,
6585 support/regression/tests/bug3379723.c,
6586 support/regression/tests/bug3167.c,
6587 support/regression/tests/bug2855.c,
6588 support/regression/tests/bug2767.c,
6589 support/regression/tests/bug2663.c,
6590 support/regression/tests/bug2305.c:
6591 Disable tests not relevant for the mos6502 port.
6593 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6595 * src/mos6502/ralloc2.cc,
6596 src/mos6502/ralloc.h,
6597 src/mos6502/ralloc.c,
6598 src/mos6502/peeph.def,
6601 src/mos6502/m6502.h,
6604 src/mos6502/Makefile.in:
6605 Add mos6502 port code generation.
6607 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6609 * support/valdiag/valdiag.py,
6610 support/valdiag/Makefile.in,
6611 support/regression/ports/mos6502/support.c,
6612 support/regression/ports/mos6502/spec.mk,
6613 support/regression/fwk/include/testfwk.h,
6614 support/regression/Makefile.in:
6615 Add regression to mos6502 port.
6617 2022-01-08 Gabriele Gorla <gorlik@yahoo.com>
6619 * device/lib/mos65c02/Makefile.in,
6620 device/lib/mos65c02/atomic_flag_test_and_set.c,
6621 device/lib/mos65c02/_setjmp.c,
6622 device/lib/mos65c02/_ret.c,
6623 device/lib/mos65c02/_mulint.c,
6624 device/lib/mos6502/Makefile.in,
6625 device/lib/mos6502/crt0.s,
6626 device/lib/mos6502/atomic_flag_test_and_set.c,
6627 device/lib/mos6502/_setjmp.c,
6628 device/lib/mos6502/_rrulonglong.c,
6629 device/lib/mos6502/_rrslonglong.c,
6630 device/lib/mos6502/_ret.c,
6631 device/lib/mos6502/_mulint.c,
6632 device/lib/malloc.c,
6633 device/lib/atomic_flag_clear.c,
6634 device/lib/clean.mk:
6635 Add mos6502 and mos65c02 library code.
6637 2022-01-06 Gabriele Gorla <gorlik@yahoo.com>
6639 * device/include/string.h,
6640 device/include/stdlib.h,
6641 device/include/stdatomic.h,
6642 device/include/stdarg.h,
6643 device/include/setjmp.h:
6644 Add mos6502 to standard includes.
6646 2022-01-06 Gabriele Gorla <gorlik@yahoo.com>
6648 * support/regression/ports/uc6502/spec.mk:
6649 Rename m6502 port to mos6502.
6651 2022-01-05 Gabriele Gorla <gorlik@yahoo.com>
6653 * sdas/as6500/clean.mk,
6654 sdas/as6500/Makefile.in,
6655 sdas/as6500/r6500.h,
6656 sdas/as6500/r65adr.c,
6657 sdas/as6500/r65mch.c,
6658 sdas/as6500/r65pst.c:
6659 Add as6500 in preparation of mos6502 port merge.
6661 2022-01-05 Gabriele Gorla <gorlik@yahoo.com>
6666 Replace TRUE/FALSE with true/false.
6668 2022-01-05 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6675 2022-01-02 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6678 doc/sm83-arguments.svg,
6679 doc/stm8-arguments.svg,
6680 doc/z80-arguments.svg:
6681 Improve calling convention documentation.
6683 2021-12-28 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6686 Document z80 banked calls (fix bug #3299).
6688 2021-12-27 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6690 * device/lib/*/__sdcc_bcall.s,
6691 support/regression/tests/banked.c:
6694 2021-12-20 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6699 2021-12-10 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6706 device/include/asm/sm83,
6707 device/include/math.h,
6708 device/include/sdcc-lib.h,
6709 device/include/setjmp.h,
6710 device/include/stdarg.h,
6711 device/include/stdatomic.h,
6712 device/lib/Makefile.in,
6713 device/lib/_memset.c,
6714 device/lib/_mullong.c,
6715 device/lib/atomic_flag_clear.c,
6732 support/regression/fwk/include/testfwk.h,
6733 support/regression/ports/ucgbz80/spec.mk,
6734 support/regression/tests/banked.c,
6735 support/regression/tests/bug-2305.c,
6736 support/regression/tests/bug-3296.c,
6737 support/regression/tests/bug2729218.c,
6738 support/regression/tests/bug3379723.c,
6739 support/regression/tests/gcc-torture-execute-20031012-1.c,
6740 support/regression/tests/malloc.c,
6741 support/regression/tests/mm-pnvi-ae-udi-pointer_from_integer_2g.c,
6742 support/regression/tests/sdcccall.c,
6743 support/scripts/sdcc.nsi,
6744 support/valdiag/Makefile.in,
6745 support/valdiag/tests/bug-2798.c,
6746 support/valdiag/valdiag.py:
6747 Rename gbz80 port to sm83.
6749 2021-11-22 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6753 Support GETBYTE and GETWORD.
6754 * src/SDCCsalloc.hpp:
6755 Fix an issue in shifts of partially spilt variables.
6757 2021-11-20 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6760 Fix bug-3129 z80 on FreeBSD 13 regression.
6762 2021-11-19 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6765 Use SM83 ldh in code generation.
6767 2021-11-18 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6772 2021-11-17 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6775 Infrastructure for optimization for code speed.
6776 * support/regression/ports/ez80-z80/spec.mk,
6777 support/regression/ports/ucr2k/spec.mk,
6778 support/regression/ports/ucr2ka/spec.mk:
6779 Do not use no-longer-existing --profile in regtests.
6781 2021-11-16 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6789 Remove profiling support.
6791 2021-11-16 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6794 Rematerialization of stack locations.
6796 2021-11-15 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6799 Preparations for the rematerialization of stack locations.
6801 2021-11-10 Philipp Klaus Krause <pkk AT spth.de>
6803 * device/lib/atomic_flag_clear.c:
6804 Fix handling of atomic_flag with clear state 1.
6806 2021-11-10 Philipp Klaus Krause <pkk AT spth.de>
6808 * src/stm8/ralloc.c,
6810 Improve rematerialization of stack addresses.
6812 2021-11-09 Philipp Klaus Krause <pkk AT spth.de>
6814 * support/regression/tests/tinyaes.c:
6815 AES regression test.
6817 2021-11-09 Philipp Klaus Krause <pkk AT spth.de>
6819 * device/include/stdatomic.h,
6820 device/lib/tlcs90/atomic_flag_test_and_set.s,
6821 device/lib/atomic_flag_clear.c:
6822 Improve atomic_flag using TLCS-90 test-and-set instruction.
6823 * sdas/astlcs90/t90.h,
6824 sdas/astlcs90/t90mch.c,
6825 sdas/astlcs90/t90pst.c:
6828 2021-11-04 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6831 Improve use of ldw for 8-bit assignment.
6833 2021-11-04 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
6835 * support/makebin/makebin.c:
6836 Fix buffer overflow, patch #400 by bbbbbr.
6838 2021-10-29 Philipp Klaus Krause <pkk AT spth.de>
6840 * support/makebin/makebin.c:
6841 Option for logo omission, patch #395 by bbbbbr.
6843 2021-10-20 Philipp Klaus Krause <pkk AT spth.de>
6846 Fix issues in cost handling for large functions.
6848 2021-10-18 Philipp Klaus Krause <pkk AT spth.de>
6850 * src/stm8/peeph.def:
6851 Peephole rule refactoring inspired by fix to a bug found by roybaer.
6853 2021-10-14 Philipp Klaus Krause <pkk AT spth.de>
6855 * device/lib/stm8/_divulong.s,
6856 device/lib/stm8/_modulong.s,
6857 device/lib/stm8/Makefile.in,
6859 Revert some hand-written asm back to generic C, since SDCC now generates better code.
6861 2021-10-13 Philipp Klaus Krause <pkk AT spth.de>
6863 * device/lib/btowc.c:
6864 Fix btowc handling of int values that are valid characters when cast to unsigned char.
6866 2021-10-13 Philipp Klaus Krause <pkk AT spth.de>
6869 Improve wide left shift by literal.
6871 2021-10-11 Philipp Klaus Krause <pkk AT spth.de>
6875 * device/lib/_strchr.c:
6876 Fix strchr handling of c outside of char range.
6878 2021-09-28 Philipp Klaus Krause <pkk AT spth.de>
6880 * device/lib/z80/__mulsint2slong.s:
6881 Improve int x int -> long multiplication for z80.
6883 2021-09-27 Philipp Klaus Krause <pkk AT spth.de>
6885 * device/lib/z80/__mulsint2slong.s:
6886 Improve int x int -> long multiplication for z80.
6888 2021-09-26 Philipp Klaus Krause <pkk AT spth.de>
6890 * device/lib/z80/__mulsint2slong.s,
6892 device/lib/z80/Makefile.in:
6893 int x int -> long multiplication support routine for z80.
6895 2021-09-25 Philipp Klaus Krause <pkk AT spth.de>
6903 device/lib/_memset.c,
6904 support/regression/ports/*/spec.mk,
6905 support/regression/tests/z80n-push-nn.c,
6907 __sdcccall(1) convention as default for z80, z80n and z180 picked from breaktheworld branch.
6909 2021-09-23 Philipp Klaus Krause <pkk AT spth.de>
6911 * src/stm8/ralloc.c:
6912 Optimize out some redundant temporaries early.
6916 Fix handling of v flag.
6917 * device/lib/_fs2ulong.c,
6918 device/lib/_fsmul.c,
6919 device/lib/stm8/__mulsint2slong.s:
6920 Minor improvements in float support.
6922 2021-09-22 Philipp Klaus Krause <pkk AT spth.de>
6924 * support/regression/tests/bug-3282.c:
6928 support/regression/tests/bug-3283.c:
6931 2021-09-20 Philipp Klaus Krause <pkk AT spth.de>
6933 * src/stm8/ralloc2.cc,
6937 2021-09-18 Philipp Klaus Krause <pkk AT spth.de>
6941 Use more Z80N-specific instructions in z80n codegen.
6943 2021-09-17 Philipp Klaus Krause <pkk AT spth.de>
6948 Use Z80N Core 2.0 shift instructions.
6950 2021-09-17 Philipp Klaus Krause <pkk AT spth.de>
6953 Improve single byte rotation.
6955 2021-09-14 Philipp Klaus Krause <pkk AT spth.de>
6958 Fix a peephole optimizer bug in the handling of SM83 / Z80N swap instruction, part of bug #3280.
6960 2021-09-10 Philipp Klaus Krause <pkk AT spth.de>
6965 2021-09-08 Philipp Klaus Krause <pkk AT spth.de>
6969 device/lib/_memset.c,
6970 device/lib/gbz80/abs.s,
6971 device/lib/gbz80/atomic_flag_test_and_set.s,
6972 device/lib/gbz80/div.s,
6973 device/lib/gbz80/memcpy.s,
6974 device/lib/gbz80/mul.s,
6975 device/lib/gbz80/setjmp.s,
6976 device/lib/gbz80/strlen.s,
6977 device/lib/stm8/__mulsint2slong.s,
6978 device/lib/stm8/_divsint.s,
6979 device/lib/stm8/_modsint.s,
6980 device/lib/stm8/_mulint.s,
6981 device/lib/stm8/atomic_flag_test_and_set.s,
6982 device/lib/stm8/memcpy.s,
6983 device/lib/stm8/setjmp.s,
6984 device/lib/stm8/strcmp.s,
6985 device/lib/stm8/strcpy.s,
6986 device/lib/stm8-large/__mulsint2slong.s,
6987 device/lib/stm8-large/_divsint.s,
6988 device/lib/stm8-large/_modsint.s,
6989 device/lib/stm8-large/_mulint.s,
6990 device/lib/stm8-large/atomic_flag_test_and_set.s,
6991 device/lib/stm8-large/memcpy.s,
6992 device/lib/stm8-large/setjmp.s,
6993 device/lib/stm8-large/strcmp.s,
6994 device/lib/stm8-large/strcpy.s,
6998 support/regression/ports/ucgbz80/spec.mk,
6999 support/regression/tests/sdcccall.c:
7000 __sdcccall(1) convention as default for stm8 and gbz80 picked from breaktheworld branch.
7002 2021-09-08 Philipp Klaus Krause <pkk AT spth.de>
7005 Improve callee-cleanup of stack parameters.
7007 2021-09-06 Philipp Klaus Krause <pkk AT spth.de>
7011 Minor option handling cleanup.
7013 2021-09-02 Philipp Klaus Krause <pkk AT spth.de>
7015 * device/include/stdlib.h:
7016 C23 sized memory deallocation.
7017 * sdas/asz80/z80pst.c:
7018 incbin support, patch by bbbbbr.
7020 2021-09-01 Philipp Klaus Krause <pkk AT spth.de>
7023 Fix comparison with left operand lower word in hl, upper word in de, right operand on stack.
7025 2021-08-29 Philipp Klaus Krause <pkk AT spth.de>
7027 * support/valdiag/tests/callingconvention.c:
7028 Fix ___sdcccall diagnostics test.
7030 2021-08-27 Philipp Klaus Krause <pkk AT spth.de>
7032 * support/valdiag/valdiag.py:
7033 Fix typo that disable some regression testing for gbz80.
7035 Fix __z88dk_fastcall stack cleanup.
7037 2021-08-26 Philipp Klaus Krause <pkk AT spth.de>
7040 Fix handling of Rabbit or iy, de in peephole optimizer.
7042 2021-08-22 Philipp Klaus Krause <pkk AT spth.de>
7044 * device/lib/pic16/libsdcc/float/fseq.c,
7045 device/lib/pic16/libsdcc/float/fsgt.c,
7046 device/lib/pic16/libsdcc/float/fslt.c,
7047 device/lib/pic16/libsdcc/float/fsneq.c:
7050 2021-08-20 Philipp Klaus Krause <pkk AT spth.de>
7055 Enable new calling convention for z80, z180, z80n, r2k, r2ka, r3ka, tlcs90, ez80_z80.
7057 2021-08-20 Philipp Klaus Krause <pkk AT spth.de>
7060 Do not use some aspects of new calling convention for banked functions.
7062 2021-08-14 Philipp Klaus Krause <pkk AT spth.de>
7065 support/valdiag/tests/callingconvention.c,
7066 support/valdiag/valdiag.py:
7067 Fix diagnostics for __raisonance calling convention.
7069 2021-08-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7071 * src/SDCCval.c (valCastLiteral): possibly fix bug #3273
7073 2021-08-12 Philipp Klaus Krause <pkk AT spth.de>
7078 Enable new calling convention for stm8.
7080 2021-08-11 Philipp Klaus Krause <pkk AT spth.de>
7083 support/valdiag/tests/callingconvention.c:
7084 Diagnostics for conflicting calling conventions.
7086 2021-08-10 Philipp Klaus Krause <pkk AT spth.de>
7089 Fix buffer overflow reported in patch #397 by Arnout Engelen .
7091 2021-08-08 Philipp Klaus Krause <pkk AT spth.de>
7096 Enable new calling convention for gbz80.
7098 2021-08-08 Philipp Klaus Krause <pkk AT spth.de>
7118 Calling convention selection infrastructure from breaktheworld branch.
7122 * sim/ucsim/pdk.src/inst.cc
7123 Fix bug in pdk15 simulation (introduced in [r12557]).
7127 * support/regression/compact-results.py
7128 Fix parsing of test name.
7133 support/regression/tests/getbyte_param.c
7139 * support/regression/Makefile.in
7140 support/regression/ports/pdk13
7141 support/regression/ports/pdk13/spec.mk
7142 support/regression/ports/pdk13/support.c
7143 support/regression/ports/pdk13/uCsim.cmd
7144 Added infrastructure to test pdk13.
7145 It is in the filter-out list to avoid automatic test, because many tests still need some work to be passed/skipped [#394].
7149 * support/regression/fwk/include/testfwk.h
7150 support/regression/fwk/lib/testfwk.c
7151 Lightweight version of test framework (testfwk) [#393].
7152 Added new macro to indicate we are targeting a very low memory device: TARGET_VERY_LOW_MEMORY.
7153 Added macros to easy the check of all pdk variants with 1 or 2 checks [#394].
7154 Different implementation of __printd with hex output (for TARGET_VERY_LOW_MEMORY).
7155 Skipped some strings in "Summary" output to save memory (for TARGET_VERY_LOW_MEMORY).
7159 * support/regression/collate-results.py
7160 support/regression/compact-results.py
7161 Added processing for the stack overflow message from simulator.
7162 Added new check to reset state machine and name with "Simulation started" string
7163 Added checks to validate the name after "--- Running", because sometimes we get garbage, because of caotic program behavior (due to stack overflow or wrong code).
7164 Added the possibility to parse hex values instead of decimal [#393].
7165 Better output in case of a catastrophic failure ("--- Summary" not found).
7166 Fixed wrong regular expression to find ".ihx" file.
7170 * sdas/aspdk13/pdk13mch.c
7171 sdas/aspdk13/pdk13pst.c
7172 sdas/aspdk14/pdk14mch.c
7173 sdas/aspdk14/pdk14pst.c
7174 sdas/aspdk15/pdk15mch.c
7175 sdas/aspdk15/pdk15pst.c
7176 sdas/aspdk16/pdk16mch.c
7177 sdas/aspdk16/pdk16pst.c
7181 Added assembler support for new pdk .io mnemonics (bug #3259).
7187 Updated compiler generated assembly and rules according to new pdk .io mnemonics
7191 * sim/ucsim/pdk.src/inst.cc
7192 * sim/ucsim/pdk.src/instcl.h
7193 * sim/ucsim/sim.src/sim.cc
7194 Added support for stack overflow detection.
7195 Fixed wrong order of output to stdout when program is stopped.
7196 Added newline to make sure we get a separate line for the "Stop"
7198 2021-07-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7202 * src/SDCCsymt.h: fix bugs #3212 and #3213
7204 2021-07-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7206 * src/SDCCsymt.c (processFuncArgs): minor correction to #3260 bug fix
7208 2021-07-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7210 * src/SDCCsymt.c (processFuncPtrArgs,processFuncArgs),
7212 * src/SDCCmem.c (allocVariables): fix bug #3260
7213 * support/regression/tests/bug-3260.c: added test
7215 2021-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7217 * src/SDCCast.c (decorateType): fix bug #2546
7223 Added builtins: "__builtin_rlc", "__builtin_rrc" & "__builtin_swap".
7224 These functions will allow swap and rotate operations with volatile variables.
7230 Support for conditional type reduction (patch #392) for optimized values to 0.
7231 Fixed size calculation for ptrdiff type.
7232 Fixed int promotion for shift operations: using only left operand.
7233 Added checks for side effects or volatility in optimizeRRCRLC (like optimizeSWAP, bug #3218)
7235 2021-07-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7237 * src/mcs51/gen.c (genMinusDec),
7238 * src/ds390/gen.c (genMinusDec): fix bug #3246
7240 2021-07-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7242 * src/SDCCast.c (copyAst): fix bug #3264
7243 * support/regression/tests/inline.c: add test for bug #3264
7245 2021-07-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7247 * support/valdiags/tests/struct.c: add test for bug #3086
7249 2021-07-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7251 * support/regression/tests/bug-3141.c: reenable for mcs51
7252 * src/SDCCsymt.c (promoteAnonStructs): fix bug #3086
7254 2021-07-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7256 * src/SDCCdwarf2.c (dwWriteFrames): fix bug #3161
7258 2021-07-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7260 * src/SDCCdwarf2.h: fix incorrect DW_CFA_nop value
7261 * src/SDCCdwarf2.c (dwWriteTags): fix problem with excess
7262 end-of-sibling-chain markers at end of compilation unit
7263 * src/SDCCdwarf2.c (dwWriteAbbrevs): write abbreviations in
7264 numerical order rather than hash table order
7265 * src/SDCCdwarf2.c (dwGenCFIins,dwWriteFDE): keep start of
7266 CIE and FDE entries 32-bit aligned
7268 2021-07-06 Philipp Klaus Krause <pkk AT spth.de>
7282 Implemented partial support for conditional type reduction (patch #392), for now only used by SIZEOF.
7283 OR - XOR type reduction optimization (patch #392).
7284 * support/regression/fwk/include/testfwk.h
7285 support/regression/tests/sizeof.c
7286 Removed empty definition of __data for pdk from testfwk.h.
7287 Added tests for SIZEOF operator.
7289 2021-07-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7291 * src/SDCClospre.hpp: fix bug #3166
7292 * support/regression/tests/bug-3166.c: enable test
7294 2021-07-01 Philipp Klaus Krause <pkk AT spth.de>
7297 genMove_o improvements.
7299 2021-07-01 Philipp Klaus Krause <pkk AT spth.de>
7302 Function pointer call for --reserve-regs-iy when hl and bc are in use for register arguments.
7304 2021-06-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7306 * src/SDCCast.c (expandInlineFuncs): fix bug #3175
7308 2021-06-30 Philipp Klaus Krause <pkk AT spth.de>
7312 Improve tail call optimization.
7314 2021-06-30 Philipp Klaus Krause <pkk AT spth.de>
7318 Assignment to / from global variables with non-free hl.
7320 2021-06-29 Philipp Klaus Krause <pkk AT spth.de>
7329 Fix initialization of asmops for use of aopArg in _reg_parm.
7331 2021-06-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7333 * src/mcs51/gen.c (genPcall): fix bug #2994
7334 * support/regression/tests/bug-2993.c: reenable for mcs51-huge
7336 2021-06-28 Sergey Belyashov <sergey.belyashov@gmail.com>
7339 Fix bug #3253: patch by Oleg Endo
7341 2021-06-28 Philipp Klaus Krause <pkk AT spth.de>
7349 Experimental __newcall calling convention.
7350 * src/z80/peeph.def,
7352 Fix peephole rule 49a for Rabbits.
7354 2021-06-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7356 * src/stm8/gen.c (genFunction): possible fix for bug #3199
7358 2021-06-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7360 * src/SDCCast.c (optimizeSWAP): fix bug #3218
7363 * support/regression/tests/bug2686159.c:
7364 Added support for pdk in test bug2686159.
7366 2021-06-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7368 * src/mcs51/gen.c (genlshFixed): fix bug #3072
7370 2021-06-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7372 * src/mcs51/gen.c (aopPut, genSwap): fix bug #3188
7373 * support/regression/tests/rotate2.c: reenable mcs51 stack-auto tests
7375 2021-06-21 Maarten Brock <sourceforge.brock AT dse.nl>
7377 * src/mcs51/peep.c (doPushScan): added param instr,
7378 added removeDeadPushPop()
7379 * src/mcs51/peeph.def: moved rules 301-302 to 302-303, added rule 301
7380 * support/regression/Makefile.in: introduced results/*.sum
7381 * support/regression/tests/wchar.c: subdivided in several cases to allow
7382 testing on mcs51-small, char16 still doesn't fit in memory though
7384 2021-06-20 Maarten Brock <sourceforge.brock AT dse.nl>
7386 * src/SDCCopt.c (optimizeOpWidth):
7387 applied todays patch 392 from Visenri along with some cosmetics
7389 2021-06-20 Philipp Klaus Krause <pkk AT spth.de>
7391 * support/regression/tests/bug-3256.c:
7394 2021-06-18 Philipp Klaus Krause <pkk AT spth.de>
7397 Improve framepointer handling.
7399 2021-06-18 Philipp Klaus Krause <pkk AT spth.de>
7405 2021-06-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7407 * src/SDCCopt.c (optimizeOpWidth): fix bug #3236
7409 2021-06-16 Philipp Klaus Krause <pkk AT spth.de>
7412 support/regression/tests/bug-3257.c:
7415 2021-06-16 Philipp Klaus Krause <pkk AT spth.de>
7419 support/regression/tests/z88dk_callee.c:
7420 Improve tail call optimization for __z88dk_callee functions.
7421 * tests/stm8-conventions.c:
7422 Enable test that had been disabled due to now-fixed bug #3239.
7424 support/regression/tests/bug-3256.c:
7427 2021-06-15 Philipp Klaus Krause <pkk AT spth.de>
7430 Report type of _Generic match error.
7431 * device/include/stdckdint.h:
7432 Checked integer arithmetic for most types (needs bug #3254 and #3255 fixed to really work).
7434 2021-06-14 Philipp Klaus Krause <pkk AT spth.de>
7437 Use frame pointer to speed up handling of big return values.
7439 2021-06-13 Philipp Klaus Krause <pkk AT spth.de>
7442 Generalize handling of return values in frame pointer.
7449 STM8 - Multiple improvements regarding peephole rules & argCont function.
7450 Modified code generation (genPointerSet) to allow optimizations without reordering rules for ld-and (120) from pack 1 (#362).
7451 Implemented some improvements in peep.c (argCont) to avoid false 'x' positives, a tiny step towards #290.
7452 Fixed double spaces in rules 10f & 10h (that were messing notUsed logic).
7453 Replaced rules 18, 19, 20 & 21 by 202x, 203x, 204x 205x, 210x &220x making use of new "operandsLitOrSym".
7454 Expanded rule 131 scope.
7455 Modified rules (140, 141, 150, 160, 161) to work without needing rule 121 from pack 1 (#362).
7456 Added new rules 515 & 516, similar to 512 & 513 when comparison is done with 'dec' instead of 'cp'.
7458 2021-06-11 Philipp Klaus Krause <pkk AT spth.de>
7462 Implement register parameter tracking for peephole optimizer to fix code size regression caused by bugfix in previous commit.
7464 2021-06-11 Philipp Klaus Krause <pkk AT spth.de>
7470 support/regression/tests/bug-3251.c,
7471 support/regression/tests/bug-2349.c,
7472 support/regression/tests/bug-2455.c,
7473 support/regression/tests/bug-3244.c,
7474 support/regression/tests/compare.c,
7475 support/regression/tests/fptr_cast_array_init.c,
7476 support/regression/tests/genptrs.c,
7477 support/regression/tests/z80n-push-nn.c:
7478 Fix bugs #3251, #3243.
7482 * src/stm8/peeph.def:
7483 STM8 - Added missing rule 625a from my pack #6 from patch #362, fixed tabs/spaces.
7485 2021-06-08 Philipp Klaus Krause <pkk AT spth.de>
7504 Remove infrastructure for obsolete GETHBIT.
7506 2021-06-08 Philipp Klaus Krause <pkk AT spth.de>
7510 Support GETABIT instead of GETHBIT.
7514 Fixed buffer overflow in operand string in "immdInRange" function.
7516 2021-06-07 Philipp Klaus Krause <pkk AT spth.de>
7520 src/stm8/ralloc2.cc:
7521 Rotate support, inspired by patch #363 by Visenri.
7525 Remove redundant z80 GETHBIT support.
7528 * src/stm8/peeph.def:
7529 Removed unused rules 660a & 660b because of patches applied in r12420 (SWAP implementation).
7531 Fixed wrong date of previous commit.
7535 Fixed typo regarding instruction 'jrsgt'.
7536 * src/stm8/peeph.def:
7537 Added rules 600a & 600b from patch #362 that were failing because of the 'jrsgt' typo.
7539 2021-06-04 Philipp Klaus Krause <pkk AT spth.de>
7543 Swap support, inspired by patch #363 by Visenri.
7545 2021-06-03 Philipp Klaus Krause <pkk AT spth.de>
7547 * support/regression/tests/bug-2349.c,
7548 support/regression/tests/bug-2455.c,
7549 support/regression/tests/compare.c,
7550 support/regression/tests/fptr_cast_array_init.c,
7551 support/regression/tests/genptrs.c,
7552 support/regression/tests/z80n-push-nn.c:
7553 Disable tests that fail due to known bug #3243.
7554 * src/stm8/peeph.def:
7555 Rule packs 1, 3, 5, 6 from patch #362 by Visenri.
7559 support/valdiag/tests/bug-2798.c:
7562 2021-05-31 Philipp Klaus Krause <pkk AT spth.de>
7564 * src/stm8/peeph.def:
7565 Fix an issue in inconsistent application of patches in previous commits.
7567 2021-05-28 Philipp Klaus Krause <pkk AT spth.de>
7569 * support/regression/tests/bitfields-nibbles.c:
7570 Test from patch #373 by Visenri.
7572 Peephole optimizer helper function refactoring, from patch #362 by Visenri.
7573 * src/stm8/peeph.def:
7574 Peephole rule refactoring, from patch #361 by Basil Hussain.
7576 2021-05-27 Philipp Klaus Krause <pkk AT spth.de>
7579 support/regression/tests/bug-3244.c:
7582 2021-05-20 Philipp Klaus Krause <pkk AT spth.de>
7584 * support/regression/Makefile.in,
7585 support/regression/ports/ucz180-resiy:
7586 Test z180 port with --reserve-regs-iy.
7587 * support/regression/ports/ucz80/spec.mk,
7588 support/regression/ports/ucr3ka/spec.mk:
7589 Drop --profile option, so we get better coverage of tail call optimization.
7591 2021-05-20 Philipp Klaus Krause <pkk AT spth.de>
7594 Improvements for handling of literal values in wide registers: patch #388 by Visenri.
7596 2021-05-19 Philipp Klaus Krause <pkk AT spth.de>
7599 Partial fix for bug #3054.
7600 * device/include/float.h,
7601 device/include/pic16/float.h,
7604 device/lib/_fsneq.c,
7606 Make floating-point comparison support routines return _Bool.
7608 2021-05-18 Philipp Klaus Krause <pkk AT spth.de>
7611 support/regression/tests/bug-3242.c:
7616 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7620 Tail call optimization for functions with no stack parameters.
7622 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7629 support/regression/tests/bug-3239.c:
7630 Fix bugs #3235, 3239.
7632 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7635 Fix a code generation bug in hl handling.
7637 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7641 Refactor __z88dk_callee support to allow other calling conventions to use callee stack cleanup.
7643 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7650 support/regression/tests/bug-3240.c:
7651 Tail call optimization fixes for register parameters.
7653 2021-05-17 Philipp Klaus Krause <pkk AT spth.de>
7665 support/regression/tests/stm8-conventions.c:
7666 Support calling conventions of Raisonance, IAR and Cosmic compilers for STM8.
7667 * support/regression/tests/bug2084206.c:
7668 Disable test that relies on size of void * being the same as function pointer for ds390.
7670 2021-05-16 Philipp Klaus Krause <pkk AT spth.de>
7672 * src/SDCCsalloc.hpp,
7673 support/regression/tests/bug-3238.c:
7676 Fix a register parameter issue in code generation for function pointers in large model.
7678 2021-05-15 Philipp Klaus Krause <pkk AT spth.de>
7681 support/regression/tests/bug2084206.c:
7682 Function pointer size fix.
7684 Tail-call optimization fix.
7686 Peephole optimizer fix for register arguments.
7688 Fixes for strcpy->memcpy optimization.
7690 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
7694 Fix code generation bugs triggered by register arguments.
7695 * src/stm8/ralloc2.cc:
7696 Fix cost function for register parameters.
7697 * src/z80/ralloc2.cc:
7698 Fix cost function for byte and bit access.
7700 Register parameter support infrastructure.
7702 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
7705 Improve tail calloptimization.
7707 2021-05-14 Philipp Klaus Krause <pkk AT spth.de>
7710 Fix a bug in handling of register parameters to function calls via pointer.
7712 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7716 Fix handling of multiple register parameters.
7718 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7721 Infrastructure for register parameters.
7723 2021-05-13 Philipp Klaus Krause <pkk AT spth.de>
7726 Improve handling of register parameters.
7728 Improve code generation for shift by slightly-less-than-a-multiple-of-8.
7731 Increase some regalloc_dry_run_cost penalties to avoid invalid allocation even when all alternatives result in expensive spilling.
7733 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7737 Fixes for register parameter in a, l or hl.
7739 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7744 Infrastructure for register parameters.
7746 Fix register parameters for printf->puts optimization.
7750 2021-05-12 Philipp Klaus Krause <pkk AT spth.de>
7756 Infrastructure for non-__z88dk_fastcall register arguments.
7763 Fix handling of register parameters of not-really-builtin memcpy.
7765 2021-05-11 Philipp Klaus Krause <pkk AT spth.de>
7769 Make restriction on register parameters for vararg functions port-specific.
7771 2021-05-11 Philipp Klaus Krause <krauseph@informatik.uni-freiburg.de>
7773 * support/regression/tests/bug-3231.c:
7774 Disable __critical test for host.
7776 2021-05-09 Philipp Klaus Krause <pkk AT spth.de>
7779 Put all the documentation required by Annex J.3, "Implementation-defined behaviour", of the C standard in one place.
7781 2021-05-09 Philipp Klaus Krause <pkk AT spth.de>
7785 Improve stack adjustment.
7787 2021-05-09 Philipp Klaus Krause <pkk AT spth.de>
7790 support/regression/tests/bug-3231.c:
7793 2021-05-08 Philipp Klaus Krause <pkk AT spth.de>
7796 support/regression/tests/bug-3230.c:
7799 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7803 support/regression/tests/bug-3229.c:
7806 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7809 Fix some bugs triggered by return values in other than the conventional registers.
7811 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7814 Fix a bug in handling of return values in bc.
7815 * device/lib/clean.mk:
7816 Fix clean for r2ka library.
7818 2021-05-07 Philipp Klaus Krause <pkk AT spth.de>
7826 Deduplicate return value handling in peephole optimizer vs code generation.
7828 2021-05-05 Philipp Klaus Krause <pkk AT spth.de>
7830 * support/regression/tests/z88dk_callee.c
7831 Adapt test for ds390.
7833 2021-05-04 Philipp Klaus Krause <pkk AT spth.de>
7838 2021-05-04 Philipp Klaus Krause <pkk AT spth.de>
7841 support/regression/tests/bug-3223.c:
7844 2021-05-03 Philipp Klaus Krause <pkk AT spth.de>
7850 support/regression/fwk/include/testfwk.h,
7851 support/regression/tests/z88dk_callee.c:
7852 __z88dk_callee support for stm8.
7854 2021-05-03 Philipp Klaus Krause <pkk AT spth.de>
7859 support/regression/tests/z88dk.c,
7860 support/regression/tests/z88dk_callee.c:
7861 Implement __z88dk_callee support on callee side.
7863 2021-05-02 Philipp Klaus Krause <pkk AT spth.de>
7866 Caching of floating literals.
7868 2021-05-01 Philipp Klaus Krause <pkk AT spth.de>
7870 * support/regression/tests/bug-3215.c:
7871 Fix condition for skipping test on host.
7873 Improve loading of immediate into register pair.
7875 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7878 Another fix for #3220.
7880 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7883 Improve handling of 32-Bit variables.
7885 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7888 Do not use double push / pop for 16-bit load when optimizing for speed.
7890 2021-04-30 Philipp Klaus Krause <pkk AT spth.de>
7893 Improve ldir assignment heuristic for r3ka and ez80_z80: Fix bug #3220.
7895 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7898 Small wide improvements.
7900 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7905 Fix instruction size for or hl, de and and hl, de.
7907 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7910 Fix a --reserve-regs-iy bug.
7912 2021-04-29 Philipp Klaus Krause <pkk AT spth.de>
7914 * device/lib/_mullong.c,
7917 Improve Rabbit multiplication.
7919 Fix gbz80 part of bug #3217.
7921 2021-04-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
7923 * support/regression/tests/bitfields-bits1.c,
7924 support/regression/tests/bitfields-checks.c,
7925 support/regression/tests/bitfields-dead-loop.c:
7926 Fix or disable host tests on hosts that allocate bitfields
7929 2021-04-24 Philipp Klaus Krause <pkk AT spth.de>
7932 Fix bugs affecting z80 code generation for --reserve-regs-iy.
7934 2021-04-24 Philipp Klaus Krause <pkk AT spth.de>
7937 support/regression/tests/bug-3216.c:
7940 2021-04-23 Philipp Klaus Krause <pkk AT spth.de>
7942 * sdas/asxxsrc/asxxxx.h,
7943 sdas/asxxsrc/asdata.c,
7944 sdas/asxxsrc/asexpr.c,
7945 sdas/asxxsrc/asmain.c:
7946 Option to defer resolution of some symbols to link time, patch by Tony Pavlov.
7948 support/regression/tests/bug-3215.c:
7952 * support/valdiag/tests/bug-3010.c:
7955 2021-04-22 Philipp Klaus Krause <pkk AT spth.de>
7957 * support/regression/tests/setjmp.c,
7958 support/regression/tests/loop.c:
7959 Skip tests that fail due to broken FreeBSD 13 setjmp.
7960 * support/regression/tests/gcc-torture-execute-20040409-?.c:
7961 Skip tests that fail due to broken clang.
7962 * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c,
7963 support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c,
7964 support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_xy.c:
7965 Skip tests that fail due to broken clang 11 (memory model PNVI-ae-udi non-compliance).
7967 Simplify --max-allocs-per-node documentation.
7969 2021-04-20 Philipp Klaus Krause <pkk AT spth.de>
7972 Improve heuristic for use of rabbit mul.
7974 2021-04-19 Philipp Klaus Krause <pkk AT spth.de>
7977 Use genCopy also for assignment with source on extended stack.
7979 2021-04-18 Sebastian 'basxto' Riedel <sdcc@basxto.de>
7981 * support/makebin/makebin.c:
7982 Generate SMS/GG rom headers.
7984 2021-04-13 Philipp Klaus Krause <pkk AT spth.de>
7988 Use int consistently for block, patch by Oleg Endo.
7990 2021-04-13 Sebastian 'basxto' Riedel <sdcc@basxto.de>
7993 Overwrite A in genMove_o only if not source register.
7995 2021-04-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
7998 Get sign bit with rlca instead of rla to allow flag restricted ph rules.
8000 2021-04-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8002 * sdas/asgb/gbpst.c,
8005 sdas/asxxsrc/asmain.c,
8006 sdas/asxxsrc/asxxxx.h:
8007 Backport .incbin and .tile for sm83 from ASXXXX 5.40
8009 2021-04-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8012 src/z80/peeph-gbz80.def,
8014 Don't emit pop/push for stack adjustment on sm83.
8015 (For easier detection of uninitialized memory)
8017 2021-04-11 Philipp Klaus Krause <pkk AT spth.de>
8020 Improve unsigned shift by 4 and 5.
8022 2021-04-11 Philipp Klaus Krause <pkk AT spth.de>
8025 Avoid some unnecessary copies.
8027 2021-04-09 Philipp Klaus Krause <pkk AT spth.de>
8029 * support/regression/tests/bitfields-bits1.c,
8030 support/regression/tests/bitfields-bits2.c,
8031 support/regression/tests/bitfields-checks.c,
8032 support/regression/tests/bitfields-dead-loop.c:
8033 Tests for bitfields at absolute addresses, picked from patch #373 by Visenri.
8035 support/regression/tests/bitwise8reg.c:
8036 Fix use of 16-bit bitwise instructions for 8-bit calculations.
8038 2021-04-07 Philipp Klaus Krause <pkk AT spth.de>
8040 * support/regression/tests/gcc-torture-execute-20060110-volatile.c,
8041 support/regression/tests/stack-restore.c,
8042 support/regression/tests/swap_add.c:
8043 Improve stm8 peephole rule coverage, picked from patch #373 by Visenri.
8045 2021-04-07 Sergey Belyashov <sergey.belyashov@gmail.com>
8048 isRegInUse renamed to isRegDead.
8050 2021-04-06 Sergey Belyashov <sergey.belyashov@gmail.com>
8053 Make code more readable by adding isRegInUse.
8055 2021-04-04 Philipp Klaus Krause <pkk AT spth.de>
8057 * support/regression/ports/host/spec.mk.in:
8058 Timeout for host regression tests (fix bug #3209).
8059 * src/SDCClospre.hpp:
8060 Avoid unecessary flush of cout.
8061 * device/lib/tlcs90/crt0.s:
8062 Fix implicit initialization.
8063 * src/z80/ralloc2.cc:
8064 Document frame pointer omission heuristic.
8065 * support/regression/tests/bug-3205.c:
8066 Regression test for bug #3205.
8068 2021-04-03 Philipp Klaus Krause <pkk AT spth.de>
8070 * device/lib/ez80_z80/crt0.s,
8071 device/lib/tlcs90/crt0.s,
8072 device/lib/z180/crt0.s,
8073 device/lib/z80/crt0.s,
8074 device/lib/z80n/crt0.s:
8075 Do default-initalization in crt0 to not rely on simulator zeroing memory.
8076 * device/lib/gbz80/crt0.s:
8079 Improve explicit initialization.
8083 Improve detection of python interpreter binary.
8085 2021-04-03 Philipp Klaus Krause <pkk AT spth.de>
8087 * src/SDCClospre.cc:
8090 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8093 Remove AOP, AOP_SIZE, AOP_TYPE macros.
8095 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8098 Fix possible errors caused by operands allocation.
8100 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8103 Fix one of highlighted bugs by change from Apr 01.
8105 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8109 Remove infrastructure for reserving hl in register allocator.
8111 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8115 Remove old register allocator code from z80-related backends.
8117 2021-04-02 Philipp Klaus Krause <pkk AT spth.de>
8123 Deprecate --oldralloc for z80-related backends.
8125 2021-04-02 Sergey Belyashov <sergey.belyashov@gmail.com>
8128 Fix one of highlighted bugs by previous change.
8130 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8133 Partially fix bug #3203, but highlights new bugs.
8135 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8137 * sdas/asz80/z80mch.c:
8138 Enable undocumented Z80 instructions for Z80N.
8140 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8143 Partially fix bug #3203.
8145 2021-04-01 Sergey Belyashov <sergey.belyashov@gmail.com>
8147 * src/z80/peeph.def:
8148 Fix many regressions caused by changes in r12173.
8150 2021-03-27 Sergey Belyashov <sergey.belyashov@gmail.com>
8152 * src/z80/peeph.def:
8153 Partially fix bug #3203.
8155 2021-03-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8157 * src/z80/peeph.def:
8158 Add new rules for pushing and treating xor a like #0.
8160 2021-03-26 Philipp Klaus Krause <pkk AT spth.de>
8163 Fix issues in handling of (iy) operands (last part of fix for bug #3202).
8165 2021-03-25 Philipp Klaus Krause <pkk AT spth.de>
8168 Fix an issue affecting 4-byte swap with both operands on extended stack.
8170 2021-03-25 Philipp Klaus Krause <pkk AT spth.de>
8173 Fix handling of extended stack in addition and subtraction.
8175 2021-03-25 Philipp Klaus Krause <pkk AT spth.de>
8178 Fix handling of frame pointer omission in dry run.
8180 2021-03-25 Sergey Belyashov <sergey.belyashov@gmail.com>
8182 * device/lib/_strcmp.c:
8183 strcmp optimization.
8185 2021-03-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8188 Emit ldhl for calls on SM83.
8190 2021-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
8192 * device/lib/_fsdiv.c: fixed bug with very small, but normal numbers
8193 * device/include/float.h: no need to mask off bit23 in MANT() macro
8195 2021-03-24 Philipp Klaus Krause <pkk AT spth.de>
8198 Disable accidentially comitted gbz80 zero push optimization.
8200 2021-03-24 Sergey Belyashov <sergey.belyashov@gmail.com>
8202 * src/z80/peeph.def:
8203 Fix some rules and remove invalid ones.
8205 2021-03-24 Sergey Belyashov <sergey.belyashov@gmail.com>
8207 * src/z80/peeph-gbz80.def,
8209 Make some GBZ80 rules common.
8211 2021-03-22 Philipp Klaus Krause <pkk AT spth.de>
8214 Fix a bug in tlcs90 interrupt handling.
8216 2021-03-22 Philipp Klaus Krause <pkk AT spth.de>
8223 The GameBoy's CPU core is the SM83, also used in some Sharp microcontrollers.
8225 2021-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
8227 * device/include/float.h: added __NAN
8228 * device/lib/_fsdiv.c: many small optimizations, starting from patch
8229 #368, thanks Marco Bodrato
8230 * device/lib/_ulong2fs.c: fixed warning
8231 * support/regression/tests/bug-2516.c: do not use denormal float
8233 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8235 * src/z80/mappings.i:
8236 Fix broken debug symbols.
8238 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8240 * src/z80/peeph-gbz80.def,
8242 Fix rule 1b, remove redundant rules.
8244 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8247 Optimize pushing of 4B+ constant arguments.
8249 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8251 * device/lib/gbz80/crt0.s,
8252 support/regression/ports/ucgbz80/uCsim.cmd:
8253 Change emulator entry to 0x100 like after real bootrom
8255 2021-03-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8258 Optimize return of 4B numbers
8260 2021-03-21 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8262 * src/z80/peeph-gbz80.def:
8263 Add rules for faster stack push.
8264 * src/z80/peeph.def:
8265 Improve safety of some rules.
8267 2021-03-21 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8270 Make operandsLiteral pickier and fix bug #3198.
8272 2021-03-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8274 * sim/ucsim/z80.src/inst_lr35902.cc:
8275 Harmonize disassembly syntax with syntax emitted by sdcc.
8277 2021-03-19 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8279 * src/z80/peeph-gbz80.def,
8281 Add new peephole rules for precalc, constants reusage and stack access rearranging.
8283 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8288 GETBYTE support for pdk.
8290 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8292 * src/z80/ralloc2.cc,
8294 Improve register allocation for GETWORD and SWAP iCodes.
8296 2021-03-18 Philipp Klaus Krause <pkk AT spth.de>
8299 Use genMove to simplify genSwap.
8301 2021-03-18 Sergey Belyashov <sergey.belyashov@gmail.com>
8306 2021-03-18 Sergey Belyashov <sergey.belyashov@gmail.com>
8308 * src/z80/peeph.def:
8309 Fix common peephole rule 41a: do not elimitate ld l,? before ld l,(hl)
8311 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8313 * src/z80/peeph-gbz80.def:
8314 Added rules to move inc/dec hl possible upper.
8316 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8318 * src/z80/peeph.def:
8319 Add two new peepholes for Z80.
8321 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8326 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8329 Add Z80 GETWORD optimization for Z80.
8331 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8334 Add Z80 SWAP implementation using RRD.
8336 2021-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
8340 Add GetABit for all Z80 ports.
8342 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8344 * sim/ucsim/z80.src/inst_lr35902.cc:
8345 Fix SWAP H/L instructions simulation for GBZ80.
8347 2021-03-16 Philipp Klaus Krause <pkk AT spth.de>
8350 Fix a genMove_o hl issue, part of bug #3194.
8352 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8356 Enable multibyte RRC/RLC for GBZ80.
8358 2021-03-16 Sergey Belyashov <sergey.belyashov@gmail.com>
8361 Fix typos (replace & by && in some conditions).
8363 2021-03-15 Sergey Belyashov <sergey.belyashov@gmail.com>
8367 Add RLC/RRC for all Z80 ports (GBZ80: only 8b).
8369 2021-03-15 Sergey Belyashov <sergey.belyashov@gmail.com>
8373 Add 32b swap for all Z80 ports.
8375 2021-03-14 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8378 Improve 16b swap for z80ies.
8380 2021-03-13 Philipp Klaus Krause <pkk AT spth.de>
8386 2021-03-13 Philipp Klaus Krause <pkk AT spth.de>
8388 * support/regression/Makefile.in:
8389 Helper rule for testing pdk ports.
8393 * support/regression/tests/rotate2.c:
8394 Disable test for pdk15-stack-auto due to lack of memory.
8397 Improve handling of hl in equality comparison.
8399 2021-03-12 Philipp Klaus Krause <pkk AT spth.de>
8403 Some small improvements and fixes in register handling.
8405 2021-03-11 Philipp Klaus Krause <pkk AT spth.de>
8409 Improve nibble swap.
8411 2021-03-11 Sergey Belyashov <sergey.belyashov@gmail.com>
8415 Fix regressions coused by previous change.
8417 2021-03-11 Sergey Belyashov <sergey.belyashov@gmail.com>
8421 Add basic support for SWAP iCode for all Z80 ports.
8423 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8426 Fix issue that resulted in adc hl, hl being emitted on gbz80.
8428 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8430 * device/include/typeof.h:
8431 Remove apparently unused header that has been broken for many years.
8432 * src/z80/ralloc2.cc,
8434 Flexible register handling for GETBYTE.
8436 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8440 Use placeholders more and add new ones. (Improves rgbds asm generation)
8442 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8445 Improve register pair handling in code generation.
8447 2021-03-10 Sergey Belyashov <sergey.belyashov@gmail.com>
8451 Add basic support for GETBYTE iCode for all Z80 ports.
8453 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8456 Improve handling of iyl and iyh in + and | for eZ80.
8458 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8461 support/makebin/makebin.c:
8462 Fix help texts for gbz80.
8464 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8466 * src/z80/gen.c: Get parameters faster on gbz80 sometimes.
8468 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8470 * device/lib/gbz80/setjmp.s:
8471 Rewrite setjmp for gbz80.
8473 2021-03-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8475 * device/lib/gbz80/__initrleblock.s,
8476 device/lib/gbz80/crt0.s,
8477 device/lib/gbz80/div.s,
8478 device/lib/gbz80/memcpy.s,
8479 device/lib/gbz80/mul.s,
8480 device/lib/gbz80/setjmp.s:
8481 Do some obvious asm improvements for gbz80's stdlib.
8483 2021-03-10 Philipp Klaus Krause <pkk AT spth.de>
8487 Improve handling of iy.
8489 2021-03-09 Philipp Klaus Krause <pkk AT spth.de>
8493 Improve handling of iy.
8494 * device/include/string.h,
8495 device/lib/memset_explicit.c,
8497 C23 memset_explicit.
8499 2021-03-09 Philipp Klaus Krause <pkk AT spth.de>
8503 Fix an issue affecting cost estimation for some register-to-register loads.
8505 2021-03-09 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8507 * src/z80/peeph-gbz80.def,
8509 Add new peephole rules. (Based on generated code from stdlib)
8511 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8514 Fix a gbz80 parameter push bug.
8515 * support/regression/tests/rotate2.c:
8516 Disable test for mcs51 (bug #3188).
8518 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8520 * src/z80/ralloc2.cc,
8525 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8528 Optimize last byte of negation, part of RFE #734.
8530 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8535 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8538 Pick notUsedFrom improvement and optimizeFor from patch #62 by Visenri.
8539 * src/z80/peeph.def:
8540 Small z80 peephole rule cleanup.
8542 Improve gbz80 comparison with 0, part of RFE #734.
8544 2021-03-08 Philipp Klaus Krause <pkk AT spth.de>
8546 * Merge sdcc-next branch to trunk.
8548 2021-03-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8550 * .version: post release bump to 4.1.1
8552 2021-03-06 Philipp Klaus Krause <pkk AT spth.de>
8555 Document the use of DWARF debug information with ELF binaries.
8557 2021-03-05 Philipp Klaus Krause <pkk AT spth.de>
8561 Improved handling of a.
8563 support/regression/tests/rotate2.c:
8566 2021-03-05 Philipp Klaus Krause <pkk AT spth.de>
8570 Improved handling of hl.
8572 2021-03-04 Philipp Klaus Krause <pkk AT spth.de>
8576 Improved handling of hl in binary bitwise operators.
8578 2021-03-04 Philipp Klaus Krause <pkk AT spth.de>
8581 Fix another issue related to bug #3181.
8583 exg, exgw handling cleanup, picked from patch #363 by Visenri.
8584 * support/regression/tests/rotate2.c:
8585 Tests for rotation and swap, picked from patch #363 by Visenri.
8586 * sdas/linksrc/lksdcdb.c:
8587 Fix a debug info issue, patch #346 by Benedikt Kleiner.
8589 2021-03-02 Maarten Brock <sourceforge.brock AT dse.nl>
8591 * src/ds390/ralloc.c (isOperandInFarSpace2): fixed warning
8592 * src/mcs51/peep.c (doPushScan): fixed warning
8594 2021-02-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8598 sdcc.spec: Update version to 4.1.0 for release
8599 * doc/sdccman.lyx: update to reflect Freescale/NXP merger
8601 2021-02-19 Philipp Klaus Krause <pkk AT spth.de>
8604 support/regression/tests/lonesha256.c:
8605 Fix gbz80 xor code generation bug #3181.
8607 2021-02-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8609 * support/makebin/makebin.c: Replace getline with fgetc
8611 2021-02-12 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8613 * support/makebin/makebin.c: Tone down filter of -yS
8615 2021-02-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8617 * support/makebin/makebin.c: Add patch #365 (-yS)
8619 2021-02-10 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8621 * support/makebin/makebin.c: Add patch #364 (-yp)
8623 2021-02-09 Philipp Klaus Krause <pkk AT spth.de>
8630 support/regression/tests/bug-3178.c:
8633 2021-02-09 Benedikt Freisen <b.freisen AT gmx.net>
8638 Add language override option -x (feature request #667).
8640 2021-02-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8642 * src/SDCCpeeph.c: fix function names in error messages
8644 2021-02-08 Sebastian 'basxto' Riedel <sdcc@basxto.de>
8646 * support/makebin/makebin.c: add patch #360
8648 2021-02-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8650 * src/SDCCattr.c: fix include filename
8651 * ChangeLog: it's no longer 2020
8653 2021-02-04 Philipp Klaus Krause <pkk AT spth.de>
8656 Make end-of-call stack adjustment tolerate return value in a.
8658 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8661 Separate __z88dk_fastcall registers from return value registers.
8663 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8666 Fix a bug in code generation for wide unary minus with upper operand word in hl.
8668 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8672 Refactor handling of return value registers.
8674 2021-02-03 Philipp Klaus Krause <pkk AT spth.de>
8677 Fix printing of function with variable arguments (e.g. for debug dumps).
8680 Refactor register asmop intialization.
8682 2021-02-02 Philipp Klaus Krause <pkk AT spth.de>
8689 Infrastructure for attributes.
8691 2021-02-01 Philipp Klaus Krause <pkk AT spth.de>
8697 2021-01-29 Philipp Klaus Krause <pkk AT spth.de>
8701 * src/z80/peeph.def:
8702 Split rule for add from adc, sbc rule due to differences in flag handling.
8704 2021-01-27 Philipp Klaus Krause <pkk AT spth.de>
8706 * src/stm8/peeph.def:
8707 Pick some improvements from patch #362 by Visenri.
8708 * support/regression/tests/bug-3172.c:
8710 * device/lib/_strcpy.c:
8711 Pick a fix from noasm2 branch.
8713 2021-01-26 Philipp Klaus Krause <pkk AT spth.de>
8715 * src/stm8/peeph.def:
8716 Pick some improvements from patch #362 by Visenri.
8718 2021-01-25 Philipp Klaus Krause <pkk AT spth.de>
8720 * src/stm8/peeph.def:
8721 Pick some improvements from patch #362 by Visenri.
8723 2021-01-22 Philipp Klaus Krause <pkk AT spth.de>
8725 * src/stm8/peeph.def:
8728 2021-01-21 Philipp Klaus Krause <pkk AT spth.de>
8731 support/regression/tests/bug-3169.c:
8734 2021-01-12 Philipp Klaus Krause <pkk AT spth.de>
8737 Fix an issue in handling of non-dead a in __sfr access, possibly bug #3168.
8739 2021-01-01 Philipp Klaus Krause <pkk AT spth.de>
8743 support/regression/tests/bug-3167.c:
8746 2021-01-01 Philipp Klaus Krause <pkk AT spth.de>
8749 Fix an issue in handling surviving a when assigning single bytes from (hl) to stack.
8750 * support/regression/tests/bug-3166.c:
8753 2021-01-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8760 src/cdbFile.c: partial fix for bug #3153
8761 * suppport/regression/tests/bug-3081.c: avoid redefinition warning
8763 2021-01-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8765 * sim/ucsim/cmd.src/cmdlex.l: reverted previous change
8766 * sim/ucism/cmd.src/cmdutil.h: ensure SOCKET_AVAIL defined before use
8768 2021-01-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
8770 * sim/ucsim/cmd.src/cmdlex.l: change #include order so SOCKET defined
8772 2020-12-29 Philipp Klaus Krause <pkk AT spth.de>
8775 Fixes in handling register operands.
8776 * src/z80/ralloc2.cc:
8777 More flexibility for register operands in cast and ^.
8779 2020-12-27 Philipp Klaus Krause <pkk AT spth.de>
8782 Fix an issue in handling of surviving registers in unsigned upcast.
8784 2020-12-16 Philipp Klaus Krause <pkk AT spth.de>
8786 * device/lib/pic14/aclocal.m4:
8787 Update to automake 1.16.2 to fix bug #3140.
8788 * device/lib/pic14/libc/Makefile.am:
8789 Port itoa, ltoa rename to pic14 to fix bug #3110.
8791 Include pdk ports in make clean to fix bug #3152.
8792 * support/regression/ports/stm8/spec.mk,
8793 support/regression/ports/stm8-large/spec.mk:
8794 Increase stm8 test timeout by 50%, to accomodate slow macOS PPC (bug #3149).
8796 2020-12-03 Philipp Klaus Krause <pkk AT spth.de>
8803 support/regression/test/digit_separators.c:
8804 C23 digit separators.
8806 2020-12-03 Philipp Klaus Krause <pkk AT spth.de>
8813 C23 disallows concatenation of differently-prefixed string literals (N2594).
8815 2020-12-01 Philipp Klaus Krause <pkk AT spth.de>
8818 Improve &, |, ^ by integer constant expression, merge ^ and ~.
8820 2020-11-29 Philipp Klaus Krause <pkk AT spth.de>
8823 device/include/Makefile.in,
8826 Migrate Rabbit headers from OpenRabbit to SDCC.
8828 2020-11-28 Philipp Klaus Krause <pkk AT spth.de>
8831 Change Rabbit default data location to 0xa000.
8833 2020-11-27 Philipp Klaus Krause <pkk AT spth.de>
8836 Update links to upstream ASxxxx, patch by Warner Losh.
8838 2020-11-24 Philipp Klaus Krause <pkk AT spth.de>
8843 2020-11-24 Philipp Klaus Krause <pkk AT spth.de>
8846 Improve handling of rematerialized stack locations in +,-.
8847 * src/stm8/peeph.def:
8848 Improve negation of carry result.
8850 2020-11-23 Philipp Klaus Krause <pkk AT spth.de>
8853 Enable non-zero right GET_VALUE_AT_ADDRESS operand for tlcs90.
8854 * src/SDCClospre.cc:
8855 Enable speculative division for pdk in lospre (though pdk does not use lospre yet).
8857 2020-11-21 Philipp Klaus Krause <pkk AT spth.de>
8860 --code-loc support for pic14, patch by Georgi Georgiev.
8862 2020-11-10 Philipp Klaus Krause <pkk AT spth.de>
8864 * sim/ucsim/sim.src/mem.cc:
8865 Fix spelling in debug message.
8866 sim/ucsim/doc/index.html:
8869 2020-11-04 Philipp Klaus Krause <pkk AT spth.de>
8871 * support/regression/tests/bug-3141.c:
8872 Disable test for mcs51 due to bug #3146.
8874 2020-11-02 Philipp Klaus Krause <pkk AT spth.de>
8877 support/regression/tests/bug-3141.c:
8880 support/regression/tests/shifts2.c:
8883 2020-11-02 Philipp Klaus Krause <pkk AT spth.de>
8886 Disable array initalizer support for gbz80 in trunk, so the remining issues can be worked out in a branch instead.
8888 2020-10-29 Philipp Klaus Krause <pkk AT spth.de>
8893 2020-10-28 Philipp Klaus Krause <pkk AT spth.de>
8896 Increase limits, patch by Oleg Endo <olegendo@gcc.gnu.org>.
8897 * support/regression/Makefile.in:
8898 add pdk15-stack-auto ton default target.
8900 2020-10-27 Philipp Klaus Krause <pkk AT spth.de>
8902 * src/pdk/ralloc2.cc,
8904 Improve register allocation for bitwise xor.
8906 2020-10-26 Philipp Klaus Krause <pkk AT spth.de>
8908 * support/regression/tests/bug-3135.c,
8910 Attempt to fix bug #3135.
8911 * src/pdk/ralloc2.cc,
8913 Improve register allocation for bitwise and, or.
8915 2020-10-21 Sergey Belyashov <sergey.belyashov@gmail.com>
8918 * src/z80/mappings.i:
8921 2020-10-16 Philipp Klaus Krause <pkk AT spth.de>
8926 Improve diagnostics for binary integer literals.
8928 2020-10-14 Philipp Klaus Krause <pkk AT spth.de>
8930 * device/lib/r2k/crt0.s,
8931 device/lib/r2ka/crt0.s,
8932 device/lib/r3ka/crt0.s,
8934 Use a default crt0 that works well on typical Rabbit hardware.
8936 2020-10-13 Sergey Belyashov <sergey.belyashov@gmail.com>
8939 Peephole rule immdInRange now accepts mul, div, and mod operations.
8940 immdInRange silently fail in case of non-number (label) arguments.
8941 * src/z80/peeph.def:
8942 Add new peephole rules.
8944 2020-10-13 Philipp Klaus Krause <pkk AT spth.de>
8946 * support/regression/tests/bug-3129.c:
8947 Disable test for ds390.
8948 * support/regression/tests/bug-3132.c:
8949 Remove conflicting (for ds390) __sdcc_external_startup definition.
8951 2020-10-12 Philipp Klaus Krause <pkk AT spth.de>
8954 support/regression/tests/bug-3132.c:
8957 Fix overoptimistic stack coalescing assumption in cost function, RFE #710.
8959 2020-10-11 Philipp Klaus Krause <pkk AT spth.de>
8962 support/regression/tests/bug-3127.c,
8963 support/regression/tests/bug-3129.c:
8964 Fix bugs #3127, #3128, #3129, #3130, #3131.
8966 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
8969 Improve wide subtraction.
8971 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
8974 Improve Rabbit negation.
8976 2020-10-09 Philipp Klaus Krause <pkk AT spth.de>
8979 Improve register shuffling.
8981 2020-10-08 Philipp Klaus Krause <pkk AT spth.de>
8987 2020-10-08 Philipp Klaus Krause <pkk AT spth.de>
8990 support/regression/tests/bug-3126.c:
8993 2020-10-07 Philipp Klaus Krause <pkk AT spth.de>
8996 Improve register-to-stack copy.
8997 * sim/ucsim/z80.src/z80mac.h,
8998 sim/ucsim/z80.src/inst_r2k.cc:
8999 Fix handling of offset in sp-relative addressing.
9001 2020-10-05 Philipp Klaus Krause <pkk AT spth.de>
9004 Fix a z80 --reserve-regs-iy regression test failure.
9006 2020-10-04 Philipp Klaus Krause <pkk AT spth.de>
9009 Regenerated file via autoheader to pick up r2ka port.
9011 2020-10-03 Philipp Klaus Krause <pkk AT spth.de>
9013 * Makefile.common.in:
9016 Improve use of ld d(ix), hl and ld hl, d(ix) for Rabbits.
9018 2020-09-29 Philipp Klaus Krause <pkk AT spth.de>
9021 Fix use of mul for 16-bit multiplication by constant for r2k vs. r2ka.
9022 * support/scripts/sdcc.nsi:
9023 Fix r2ka library Windows installation.
9025 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9030 device/lib/Makefile.in,
9032 device/lib/atomic_flag_clear.c,
9033 device/include/Makefile.in,
9039 support/regression/Makefile.in,
9040 support/regression/fwk/include/testfwk.h,
9041 support/regression/ports/ucr2ka,
9042 support/regression/tests/*.c,
9044 r2ka port to better support Rabbit 2000A, 2000B, 2000C, 3000. RFE #709.
9046 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9050 device/lib/r3ka/mulchar.s,
9051 device/lib/r3ka/Makefile.in:
9052 Use mul for r3ka, RFE #372.
9054 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9056 * src/z80/ralloc2.cc,
9058 src/z80/peeph-r2k.def,
9061 Small improvements for z80 and related.
9063 2020-09-27 Philipp Klaus Krause <pkk AT spth.de>
9066 Improve speed of r2k builtins.
9068 Optimize strcpy on Rabbits.
9070 Prepare for r2ka port.
9072 2020-09-26 Philipp Klaus Krause <pkk AT spth.de>
9075 Improve use of Rabbit instructions.
9077 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9080 device/lib/r2k/crt0.s,
9083 device/lib/r2k/memcpy.s,
9084 device/lib/r2k/memmove.s:
9085 Work around Rabbit 2000 / 3000 ldir / lddr wait state bugs.
9087 Prepare for r2ka port.
9089 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9092 Work around Rabbit 2000 mul wait state bug.
9094 2020-09-25 Philipp Klaus Krause <pkk AT spth.de>
9099 2020-09-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9103 Apply patch #357 from Tim Stahlhut: fix bug #3114.
9105 2020-09-23 Philipp Klaus Krause <pkk AT spth.de>
9108 Fix handling of ioi, ioe in peephole optimizer, including bug #3118.
9110 2020-09-20 Philipp Klaus Krause <pkk AT spth.de>
9115 2020-09-18 Sergey Belyashov <sergey.belyashov@gmail.com>
9117 * sdcc/sim/ucsim/app.cc,
9118 sdcc/sim/ucsim/doc/ucsim.1:
9119 Apply part of patch #349: simulator rng seed option
9121 2020-09-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9123 * device/lib/gbz80/abs.s,
9124 device/lib/gbz80/strlen.s:
9125 Assembler optimized abs() and strlen() for GBZ80.
9127 2020-09-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9129 * device/lib/_memset.c:
9130 More optimized memset implementation.
9132 2020-09-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9136 sim/ucsim/errorcl.h,
9137 sim/ucsim/option.cc,
9138 sim/ucsim/optioncl.h,
9139 sim/ucsim/p1516.src/p1516.cc,
9140 sim/ucsim/pdk.src/pdk.cc,
9144 sim/ucsim/sim.src/brk.cc,
9145 sim/ucsim/sim.src/brkcl.h,
9146 sim/ucsim/sim.src/hw.cc,
9147 sim/ucsim/sim.src/itsrc.cc,
9148 sim/ucsim/sim.src/itsrccl.h,
9149 sim/ucsim/sim.src/mem.cc,
9150 sim/ucsim/sim.src/memcl.h,
9151 sim/ucsim/sim.src/simif.cc,
9152 sim/ucsim/sim.src/uc.cc,
9153 sim/ucsim/sim.src/uccl.h,
9154 sim/ucsim/sim.src/var.cc,
9155 sim/ucsim/sim.src/varcl.h:
9156 Apply patch #343 and patch #347 from Mike Jagdis.
9158 2020-09-15 Philipp Klaus Krause <pkk AT spth.de>
9160 * sim/ucsim/z80.src/inst_r2k.cc:
9161 Fix xpc handling in Rabbit MMU.
9163 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9166 Temporary enable initializer list support for GBZ80.
9168 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9171 Fix regression introduced in previous change.
9173 2020-09-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9180 2020-09-13 Philipp Klaus Krause <pkk AT spth.de>
9183 Fix missing include, patch #354 by Tim Stahlhut.
9185 2020-09-12 Philipp Klaus Krause <pkk AT spth.de>
9188 Minor code quality improvements, patch #353 by Tim Stahlhut.
9190 2020-09-10 Philipp Klaus Krause <pkk AT spth.de>
9193 Improve use of bool hl instruction for zeroing.
9195 Fix handling of 24-bit return values, patch by Tim Stahlhut.
9197 Fix a bug in handling 24-bit return values in notUsed().
9199 2020-09-07 Philipp Klaus Krause <pkk AT spth.de>
9201 * sdas/asstm8/clean.mk:
9202 Fix clean target for sdasstm8, patch #350 by Tim Stahlhut.
9204 Fix C++ linker flags, patch by Mike Jagdis.
9206 2020-08-30 Philipp Klaus Krause <pkk AT spth.de>
9209 Remove mention of Rabbit 4000, since it is currently supported in Rabbit 300 compability mode only.
9211 2020-08-28 Sergey Belyashov <sergey.belyashov@gmail.com>
9213 * support/regression/tests/memory.c:
9214 Apply patch #334: Enhanced regression testing for memmove()
9216 2020-08-28 Sergey Belyashov <sergey.belyashov@gmail.com>
9218 * sdas/asz80/z80mch.c,
9219 sdas/asz80/z80pst.c:
9220 Implement RFE#656: add barrel shifts and jp (c) instruction support.
9222 2020-08-28 Ben Shi <powerstudio1st AT 163 DOT com>
9224 * support/regression/tests/gcc-torture-execute-20040409-1.c:
9225 * support/regression/tests/gcc-torture-execute-20040409-2.c:
9226 * support/regression/tests/gcc-torture-execute-20040409-3.c:
9227 * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_1_xy.c:
9228 * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
9229 * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_global_yx.c:
9230 Disabled for clang-6.0 and below.
9232 2020-08-27 Sergey Belyashov <sergey.belyashov@gmail.com>
9234 * device/lib/gbz80/Makefile.in,
9235 device/lib/gbz80/crt0_rle.s: crt0_rle.s renamed to __initrleblock.s
9238 device/lib/gbz80/__initrleblock.s:
9239 Prepare to implement RFE#670 and RFE#707. Not enabled in z80/main.c,
9240 because there are failed tests:
9241 gcc-torture-execute-921013-1
9242 gcc-torture-execute-pr83383
9244 2020-08-27 Sergey Belyashov <sergey.belyashov@gmail.com>
9247 Fix possible bug in reorderIlist() when empty array is passed.
9249 2020-08-27 Sergey Belyashov <sergey.belyashov@gmail.com>
9251 * src/z80/peeph.def:
9252 New peephole rules, fixed and reenabled rule 44.
9254 2020-08-25 Philipp Klaus Krause <pkk AT spth.de>
9256 * src/z80/peeph.def,
9257 support/regression/tests/bug-3102.c:
9258 Disable some peephole rules for bug #3102.
9260 2020-08-25 Ben Shi <powerstudio1st AT 163 DOT com>
9263 Improve back compatibility with elder gcc/g++.
9265 2020-08-24 Ben Shi <powerstudio1st AT 163 DOT com>
9268 Fix unmatched right parentheses.
9270 2020-08-22 Philipp Klaus Krause <pkk AT spth.de>
9275 2020-08-21 Philipp Klaus Krause <pkk AT spth.de>
9280 2020-08-21 Philipp Klaus Krause <pkk AT spth.de>
9283 Small improvements for left-shift by constant expression.
9285 2020-08-19 Philipp Klaus Krause <pkk AT spth.de>
9287 * support/regression/tests/bug-3093.c:
9290 Improve left shift, RFE #465.
9292 2020-08-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9294 * src/SDCCast.c (resultTypePropagate): Fix bug #3093
9296 2020-08-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9298 * support/regression/tests/p99-conformance.c: Disable another test
9299 for pdk14 to avoid RAM overflow
9301 2020-08-12 Philipp Klaus Krause <pkk AT spth.de>
9304 support/regression/tests/bug-3097.c:
9307 2020-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9309 * support/regression/tests/p99-conformance.c: Disable a test for
9310 mcs51-small due to limited memory
9311 * support/regression/tests/bug-2645.c: Disable warning 88 too
9313 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9315 * device/lib/tlcs90/abs.s,
9316 device/lib/tlcs90/memcpy.s,
9317 device/lib/tlcs90/memmove.s,
9318 device/lib/tlcs90/setjmp.s,
9319 device/lib/tlcs90/strcpy.s,
9320 device/lib/tlcs90/strlen.s:
9321 Small stdlib optimizations for tlcs90.
9323 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9325 * device/lib/r2k/atomic_flag_test_and_set.s,
9326 device/lib/r3ka/atomic_flag_test_and_set.s:
9327 Optimize atomic_flag_test_and_set() for r2k and r3ka.
9329 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9331 * device/lib/tlcs90/Makefile.in,
9332 device/lib/tlcs90/atomic_flag_test_and_set.s,
9333 device/include/stdatomic.h,
9334 device/lib/atomic_flag_clear.c,
9335 support/regression/tests/atomic.c:
9336 Basic implementation of RFE #649 for tlcs90.
9338 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9340 * device/lib/r2k/Makefile.in,
9341 device/lib/r2k/memcpy.s,
9342 device/lib/r3ka/Makefile.in,
9343 device/lib/r3ka/memcpy.s,
9344 device/lib/tlcs90/Makefile.in,
9345 device/lib/tlcs90/memcpy.s,
9346 device/lib/tlcs90/memmove.s:
9347 Implement RFE #664 for tlcs90, r2k and r3ka.
9349 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9351 * support/regression/tests/bug-2645.c:
9352 Disable warning 154 in regression testsuit.
9354 2020-08-11 Sergey Belyashov <sergey.belyashov@gmail.com>
9356 * src/z80/peeph.def:
9357 Make some of Z80 common peephole rules more generic.
9359 2020-08-10 Sergey Belyashov <sergey.belyashov@gmail.com>
9362 Fix always false conditions in code.
9364 2020-08-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9366 * src/ds390/gen.c (aopForRemat): fix regression test bug-2363
9369 2020-08-07 Sergey Belyashov <sergey.belyashov@gmail.com>
9371 * src/z80/peeph.def:
9372 Make some of Z80 common peephole rules more generic.
9374 2020-08-07 Sergey Belyashov <sergey.belyashov@gmail.com>
9377 More accurate Z80 flag handling by notUsed.
9379 2020-08-06 Philipp Klaus Krause <pkk AT spth.de>
9382 Avoid unecessary stack save of hl, RFE #699.
9384 2020-08-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9386 * src/z80/peeph-gbz80.def,
9388 Use flag rules for all z80 ports.
9390 2020-08-06 Sergey Belyashov <sergey.belyashov@gmail.com>
9393 canAssign now return true for (IX)/(IY)/(HL) with any register
9394 pair for eZ80_Z80 port.
9396 2020-08-06 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9399 Fix pop af handling for notUsed('f').
9401 2020-08-06 Sergey Belyashov <sergey.belyashov@gmail.com>
9404 Enable "sp" and flags for notUsed peephole constraint for all Z80
9407 2020-08-06 Philipp Klaus Krause <pkk AT spth.de>
9410 support/regression/tests/p99-conformance.c:
9411 Fix handling of digits 8 and 9 in universal character names.
9412 * support/regression/tests/bug-2363.c:
9413 Redisable test for targets without enough memory.
9415 2020-08-05 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9418 Fix notUsed('f') for jr/jp (Bug #3095)
9419 * src/z80/peeph-gbz80.def:
9420 Add rules for regression tests.
9422 2020-08-05 Sergey Belyashov <sergey.belyashov@gmail.com>
9424 * support/regression/tests/bug-2363.c:
9425 Enable test because bug #2363 looks to be fixed.
9427 2020-08-05 Sergey Belyashov <sergey.belyashov@gmail.com>
9429 * device/lib/z80/Makefile.in,
9430 device/lib/z80/__sdcc_critical.s,
9434 support/regression/Makefile.in,
9435 support/regression/ports/ucz80-nmos,
9436 support/regression/ports/ucz80-nmos/spec.mk:
9437 Fix bug #2321: Z80 generates unsafe code for critcial function entry.
9439 2020-08-05 Sergey Belyashov <sergey.belyashov@gmail.com>
9441 * device/lib/ez80_z80/Makefile.in,
9442 device/lib/ez80_z80/__sdcc_bcall.s,
9443 device/lib/z180/Makefile.in,
9444 device/lib/z180/__sdcc_bcall.s,
9445 device/lib/z80n/Makefile.in,
9446 device/lib/z80n/__sdcc_bcall.s,
9447 support/regression/tests/banked.c:
9448 Implement RFE #152 for eZ80_Z80, Z180, Z80N.
9450 2020-08-05 Philipp Klaus Krause <pkk AT spth.de>
9453 Improve notUsed precision.
9455 2020-08-04 Sergey Belyashov <sergey.belyashov@gmail.com>
9458 src/z80/peeph-z80n.def:
9459 Implement RFE #678: new peephole constraint unusedRegs.
9461 2020-08-04 Philipp Klaus Krause <pkk AT spth.de>
9465 Improve parameter pushing.
9467 2020-08-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9469 * src/z80/peeph-z80n.def:
9470 New rules to replace push nn by ld rr,nn / push rr.
9472 2020-08-03 Philipp Klaus Krause <pkk AT spth.de>
9474 * src/stm8/peeph.def:
9475 Use more indexed adressing where it makes sense.
9477 2020-08-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9479 * sim/ucsim/z80.src/z80.cc,
9481 support/regression/tests/z80n-push-nn.c:
9482 Fix bug #3032: Something wrong with z80n push nn.
9484 2020-08-03 Philipp Klaus Krause <pkk AT spth.de>
9488 Optimize signed division by small powers of 2.
9490 2020-07-31 Sergey Belyashov <sergey.belyashov@gmail.com>
9496 Apply patch #312: Initial support for GNU Assembler for Z80 port.
9498 2020-07-31 Philipp Klaus Krause <pkk AT spth.de>
9501 support/regression/tests/bug-3083.c:
9504 2020-07-31 Maarten Brock <sourceforge.brock AT dse.nl>
9506 * src/SDCCpeeph.c: removed portIsDS390, fixed isPort() coding style
9507 * src/ds390/peeph.def: replaced portIsDS390 by isPort('ds390' 'ds400')
9509 2020-07-30 Sergey Belyashov <sergey.belyashov@gmail.com>
9511 * src/z80/peeph.def:
9512 Implement RFE #669: optimize out unnecessary JP instructions generated
9513 by switch statement.
9515 2020-07-29 Philipp Klaus Krause <pkk AT spth.de>
9520 Fix bug #3091, patch by Free-PDK.
9522 support/regression/tests/bug-3090.c:
9525 2020-07-27 Maarten Brock <sourceforge.brock AT dse.nl>
9527 * device/include/stdatomic.h: enabled for ds390, force nonbanked for mcs51
9528 * device/lib/ds390/atomic_flag_clear.c,
9529 * device/lib/ds390/atomic_flag_test_and_set.c: new, added
9530 * device/lib/ds390/Makefile.in: added atomic_flag_*
9531 * device/lib/mcs51/atomic_flag_clear.asm,
9532 * device/lib/mcs51/atomic_flag_test_and_set.asm: new, added
9533 * support/regression/tests/atomic.c: enabled for ds390
9534 * sim/ucsim/z80.src/inst_ed.cc: fixed bug by paying attention to warnings
9536 2020-07-27 Philipp Klaus Krause <pkk AT spth.de>
9539 Fix bug #3078, fix by Free-PDK.
9541 Disable --stack-loc deprecation warning for pdk and stm8.
9543 2020-07-27 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9545 * sdas/linksrc/lkmain.c:
9546 Add -j to help of sdldgb.
9548 2020-07-26 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9555 Fix rgdbs asm generation for gbz80.
9556 Original fix by toxa.
9558 2020-07-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9561 Fix ldh size estimation for gbz80.
9563 2020-07-25 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9567 Change implementation of -ba and -bo.
9569 2020-07-24 Maarten Brock <sourceforge.brock AT dse.nl>
9571 * device/include/stdatomic.h: enable mcs51, atomic_flag must reside in data/idata
9572 * device/lib/mcs51/Makefile.in: added atomic_flag_test_and_set.rel & atomic_flag_clear.rel,
9574 * support/regression/tests/atomic.c: enabled test for mcs51,
9575 added test for atomic_flag within struct
9577 2020-07-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9580 Fix initialization of data-seg when using -ba for bug #3088.
9582 2020-07-24 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9584 * sdas/linksrc/lkout.c:
9585 Fix address translation bug found by toxa.
9587 2020-07-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9589 * support/makebin/makebin.c:
9590 Add ROM header options for gbz80.
9592 2020-07-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9594 * support/makebin/makebin.c:
9595 Apply record type 04 32bit extension to all 00.
9597 2020-07-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9602 Add new mapping !hashedbankimmeds.
9604 2020-07-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9608 support/regression/tests/banked.c:
9609 Fix incorrect syntax of ASXXXX assembler code generated for banked calls.
9611 2020-07-23 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9613 * sdas/linksrc/lkout.c,
9614 support/makebin/makebin.c:
9615 Translate virtual addresses to real addresses in ihx for gbz80.
9617 2020-07-23 Sergey Belyashov <sergey.belyashov@gmail.com>
9620 Fix bug #3089: sdcc hangs under Windows.
9622 2020-07-22 Sergey Belyashov <sergey.belyashov@gmail.com>
9624 * sdas/asz80/z80mch.c,
9625 support/regression/tests/z80n-push-nn.c:
9626 Fix invalid relocation of Z80N PUSH immediate instruction.
9628 2020-07-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9630 * sdas/linksrc/lkarea.c:
9631 Set sane default values for gbz80 banks.
9633 2020-07-22 Sergey Belyashov <sergey.belyashov@gmail.com>
9635 * support/regression/tests/memory.c:
9636 Fix test compilation on small systems.
9638 2020-07-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9640 * src/z80/mappings.i:
9641 Unify emitted gbz80 asm and fix indentation.
9643 2020-07-22 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9646 Improve rule order for gbz80
9647 * src/z80/peeph-gbz80.def:
9648 Remove sp0, which wasn't interrupt safe
9650 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9652 * device/lib/ez80_z80/memcpy.s,
9653 device/lib/z180/memcpy.s,
9654 device/lib/z80/memcpy.s,
9655 device/lib/z80n/memcpy.s,
9656 support/regression/tests/memory.c:
9657 Fix invalid return value of memcpy implementation for Z80.
9659 2020-07-21 Sergey Belyashov <sergey.belyashov@gmail.com>
9662 Fix possible ready beyond a buffer in canJoinRegs constraint.
9664 2020-07-21 Philipp Klaus Krause <pkk AT spth.de>
9667 Sanity checks for sscanf arguments.
9669 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9671 * device/lib/ez80_z80/Makefile.in,
9672 device/lib/ez80_z80/__itoa.s,
9673 device/lib/ez80_z80/__ltoa.s,
9674 device/lib/ez80_z80/__strreverse.s,
9675 device/lib/ez80_z80/__uitobcd.s,
9676 device/lib/ez80_z80/__ultobcd.s:
9677 Fix Bug #3077 for eZ80_Z80 port
9678 * device/lib/z180/Makefile.in,
9679 device/lib/z180/__itoa.s,
9680 device/lib/z180/__ltoa.s,
9681 device/lib/z180/__strreverse.s,
9682 device/lib/z180/__uitobcd.s,
9683 device/lib/z180/__ultobcd.s:
9684 Fix Bug #3077 for Z180 port
9685 * device/lib/z80n/Makefile.in,
9686 device/lib/z80n/__itoa.s,
9687 device/lib/z80n/__ltoa.s,
9688 device/lib/z80n/__strreverse.s,
9689 device/lib/z80n/__uitobcd.s,
9690 device/lib/z80n/__ultobcd.s:
9691 Fix Bug #3077 for Z80N port
9693 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9695 * src/z80/peeph-ez80_z80.def:
9696 Fix ez80 peephole rules 9hl and 9de.
9698 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9700 * support/makebin/makebin.c:
9701 Fix compiler warning.
9703 2020-07-20 Sergey Belyashov <sergey.belyashov@gmail.com>
9705 * src/z80/peeph-ez80_z80.def,
9707 New useful peephole rules for Z80-like targets.
9709 2020-07-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9711 * support/support/makebin.c:
9712 Add virtual address translation for gbz80 ROMs.
9713 This is a workaround for #115.
9716 2020-07-20 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9718 * support/support/makebin.c:
9719 Support IHX record type 0x04 introduced in [r11746].
9720 This is needed for #115.
9722 2020-07-19 Philipp Klaus Krause <pkk AT spth.de>
9724 * src/z80/ralloc2.cc,
9726 src/z80/peeph-ez80_z80.def:
9727 Improve use of hl in z80 (and related) register allocation.
9729 2020-07-18 Maarten Brock <sourceforge.brock AT dse.nl>
9731 * sdas/asgb/gbmch.c (minit),
9732 * sdas/asz80/z80mch.c (minit): set address space to 24 bit
9733 * sdas/linksrc/lkdata.c,
9734 * sdas/linksrc/aslink.h: removed packflag
9735 * sdas/linksrc/lkmain.c: removed packflag and warn on removed -Y option
9737 * src/mcs51/main.c: removed --pack-iram, --no-pack-iram
9739 * src/SDCCmain.c: removed options.no_pack_iram, no -Y output,
9740 auto-define __SDCC_OPTIMIZE_SPEED or __SDCC_OPTIMIZE_SIZE when appropriate
9741 (thanks Basil Hussain, RFE 675)
9743 2020-07-18 Philipp Klaus Krause <pkk AT spth.de>
9745 * src/z80/ralloc2.cc,
9747 Enable use of hl in gbz80 register allocation.
9749 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9756 Enable some use of hl in gbz80 register allocation.
9758 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9760 * src/z80/ralloc2.cc,
9761 support/regression/tests/bug-3087.c,
9763 Fix bug #3087, implement part of RFE #691.
9765 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9767 * device/lib/ez80_z80/memcpy.s,
9768 device/lib/ez80_z80/Makefile.in,
9769 device/lib/gbz80/memcpy.s,
9770 device/lib/gbz80/Makefile.in,
9771 device/lib/z180/memcpy.s,
9772 device/lib/z180/Makefile.in,
9773 device/lib/z80n/memcpy.s,
9774 device/lib/z80n/Makefile.in:
9775 Implement RFE #664 for ez80_z80, GBZ80, Z180 and Z80N ports
9777 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9780 Implement RFE #636: optimize stack allocation for eZ80
9782 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9785 Revert unnecessary change.
9787 2020-07-17 Sergey Belyashov <sergey.belyashov@gmail.com>
9789 * device/lib/z80/Makefile.in,
9790 device/lib/z80/__sdcc_bcall.s,
9796 Initial implementation of RFE #152 for Z80 port.
9798 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9801 support/regression/tests/bug-3085.c:
9804 2020-07-17 Philipp Klaus Krause <pkk AT spth.de>
9807 support/regression/tests/bug-3080.c:
9810 2020-07-16 Philipp Klaus Krause <pkk AT spth.de>
9812 * device/include/stdlib.h,
9813 device/lib/__itoa.c,
9814 device/lib/__ltoa.c,
9815 device/lib/Makefile.in,
9816 device/lib/*/Makefile.in,
9817 device/lib/printfl.c,
9818 device/lib/z80/__itoa.s,
9819 device/lib/z80/__ltoa.s,
9821 support/regression/tests/itoa.c,
9822 support/regression/tests/ltoa.c,
9824 Fix remaining part of bug #3077.
9825 * src/stm8/peeph.def:
9826 Bit testing jump inversion rules, picked from patch by Basil Hussain.
9828 2020-07-16 Sebastian 'basxto' Riedel <sdcc@basxto.de>
9830 * src/z80/peeph-gbz80.def,
9831 src/z80/peeph-r2k.def,
9832 src/z80/peeph-tlcs90.def,
9833 src/z80/peeph-z80.def,
9835 Merge common peep hole rules for Z80 family.
9837 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9842 Revert changes in banked_call parameters.
9844 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9850 Add generation of function bank symbol.
9851 Initial implementation of RFE #152
9853 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9855 * device/lib/z80/memcpy.s:
9858 2020-07-15 Sergey Belyashov <sergey.belyashov@gmail.com>
9860 * device/lib/z80/__uitobcd.s,
9861 device/lib/z80/__ultobcd.s,
9862 support/regression/tests/uitobcd.c,
9863 support/regression/tests/ultobcd.c:
9864 Add functions ___uitobcd() and ___ultobcd()
9865 * device/lib/z80/__strreverse.s:
9866 Add function ___strreverse() to reverse order of string
9867 * device/lib/z80/__itoa.s,
9868 device/lib/z80/__ltoa.s,
9869 device/lib/z80/Makefile.in:
9870 Fix Bug #3077 for Z80/Z80-resiy ports.
9872 2020-07-14 Sergey Belyashov <sergey.belyashov@gmail.com>
9874 * device/lib/z80/Makefile.in,
9875 device/lib/z80/memcpy.s:
9876 Implement RFE #664 for Z80 port.
9878 2020-07-14 Sergey Belyashov <sergey.belyashov@gmail.com>
9880 * device/lib/Makefile.in:
9881 Add lib file removing before creating new one to prevent merging
9882 Add device/lib/Makefile refreshing after changing Makefile.in
9884 2020-07-14 Sergey Belyashov <sergey.belyashov@gmail.com>
9886 * support/regression/tests/itoa.c,
9887 support/regression/tests/ltoa.c:
9888 Split itoa/ltoa tests on 5 parts. Possible workaround for Bug #3082.
9889 Add tests for uncommon radix.
9891 2020-07-10 Philipp Klaus Krause <pkk AT spth.de>
9894 support/regression/tests/bug-3081.c:
9897 2020-07-10 Sergey Belyashov <sergey.belyashov@gmail.com>
9899 * device/lib/_memmove.c:
9900 Small optimization of generic memmove() implementation
9902 2020-07-08 Sergey Belyashov <sergey.belyashov@gmail.com>
9904 * support/regression/tests/itoa.c:
9905 Add tests for _uitoa() and _itoa()
9906 * support/regression/tests/ltoa.c:
9907 Add tests for _ultoa() and _ltoa()
9909 2020-07-06 Sergey Belyashov <sergey.belyashov@gmail.com>
9920 src/z80/peeph-z80.def:
9921 Implement RFE #683: Add canSplitReg peephole constraint
9923 2020-07-06 Philipp Klaus Krause <pkk AT spth.de>
9925 * support/regression/tests/memory.c:
9926 Document some design choices in memory function tests.
9928 2020-07-05 Philipp Klaus Krause <pkk AT spth.de>
9931 support/regression/tests/bug-3079.c:
9934 2020-07-04 Sergey Belyashov <sergey.belyashov@gmail.com>
9936 Implement RFE #661: Add newLabel peephole optimizer constraint
9938 2020-07-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9944 Add 'unordered' support to canJoinRegs peephole constraint
9946 2020-07-03 Sergey Belyashov <sergey.belyashov@gmail.com>
9949 src/z80/peeph-z80.def:
9952 2020-07-02 Philipp Klaus Krause <pkk AT spth.de>
9956 Improve __sfr ^ with literal.
9958 2020-07-02 Philipp Klaus Krause <pkk AT spth.de>
9961 Use rlca instead of rlc a, RFE #686.
9963 Improve read from literal pointer.
9967 Improve bit set/reset for I/O.
9969 2020-07-01 Philipp Klaus Krause <pkk AT spth.de>
9972 support/regression/tests/bug-3040.c:
9973 Fix code generation for pdk additive operators with two block-scope const static operands.
9975 2020-06-30 Sergey Belyashov <sergey.belyashov@gmail.com>
9986 src/z80/peeph-ez80_z80.def:
9987 Partially implement RFE #683: Support canJoinRegs peephole constraint
9989 2020-06-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
9991 * debugger/mcs51/Makefile.in: include dependancy on dbuf*
9993 2020-06-29 Sergey Belyashov <sergey.belyashov@gmail.com>
9996 src/z80/peeph-ez80_z80.def,
9997 src/z80/peeph-z80n.def:
9998 Implement RFE #632: Add separate peephole definition files for eZ80 and Z80N
10000 2020-06-28 Philipp Klaus Krause <pkk AT spth.de>
10003 Fix notSimilar(), patch #332 by Baŝto.
10005 2020-06-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10007 * sdas/asxxsrc/asdbg.c (BaseFileName): Possible fix for bug #3068
10009 2020-06-25 Philipp Klaus Krause <pkk AT spth.de>
10013 instructionSize peephole support for gbz80, patch by Baŝto.
10015 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10018 support/regression/tests/bug-3066.c:
10021 support/regression/tests/bug-3065.c:
10024 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10027 src/z80/peeph-gbz80.def:
10028 Support for sp in notUsed for gbz80, patch #326 by Baŝto.
10030 Use tlcs90 (sp) adressing mode.
10033 notUsed() for gbz80 with flag support, from patch by Baŝto.
10035 2020-06-24 Philipp Klaus Krause <pkk AT spth.de>
10037 * src/z80/peeph-gbz80.def:
10038 Rename operation in immdInRange rule to prepare for further patches, patch by Baŝto.
10040 Allow bitwise operation in immdInRange, patch by Baŝto.
10041 * device/lib/stm8-large/*
10042 Use optimized support routines for large memory model, patch by Basil Hussain.
10044 2020-06-21 Philipp Klaus Krause <pkk AT spth.de>
10049 2020-06-20 Erik Petrich <epetrich AT ivorytower.normna.ok.us>
10051 * src/pdk/gen.c (cheapMove, aopOp): Fix bug #3038
10052 * src/SDCCast.c (expandInlineFuncs): Fix bug #3029
10054 2020-06-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10056 * support/regression/tests/bug-3056.c,
10057 src/SDCCsymt.c: Fix bug #3056 for pdk too
10058 * src/SDCCsymt.c: Fix bugs #3059, #3049, #3047 (same cause)
10060 2020-06-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10063 src/pic16/main.c: Fix bug #3056
10064 * src/pic16/gen.c: Fix bug #3057
10066 2020-06-16 Philipp Klaus Krause <pkk AT spth.de>
10068 * support/regression/tests/bug-2368.c:
10078 2020-06-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10080 * src/hc08/ralloc.c: Fix bug #3061
10081 * src/SDCCcse.c (algebraicOpts): Fix bug #3062
10083 2020-06-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10085 * src/SDCCicode.c (geniCodeJumpTable): Fix bug #3034
10086 * src/SDCCerr.c (vwerror),
10087 src/SDCCerr.h: Suppress duplicate diagnostic messages
10089 2020-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10091 * src/SDCClrange.c: Fix rest of bug #3045
10093 2020-06-13 Philipp Klaus Krause <pkk AT spth.de>
10099 2020-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10101 * src/SDCClrange.c,
10102 src/SDCCopt.c: Fix bug #3045 and #3046
10103 * src/ds390/ralloc.c: Don't assume operand is symbol
10105 2020-06-13 Philipp Klaus Krause <pkk AT spth.de>
10108 isPort: Implement RFE #679 via patch #372 by Basil Hussain.
10110 2020-06-12 Philipp Klaus Krause <pkk AT spth.de>
10117 support/regression/tests/bug-3043.c,
10118 support/valdiag/tests/bug-3043.c:
10121 2020-06-09 Philipp Klaus Krause <pkk AT spth.de>
10126 2020-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10128 * src/SDCCloop.c (basicInduction): Fix bug #3022
10130 2020-06-08 Philipp Klaus Krause <pkk AT spth.de>
10133 Disable use of z80n push nn until bug #3032 is fixed.
10134 * device/lib/ez80_z80/README,
10135 device/lib/ez80_z80/crt0.s,
10136 device/lib/ez80_z80/setjmp.s,
10137 device/lib/z180/crt0.s,
10138 device/lib/z80/crt0.s:
10139 eZ80 setjmp/longjmp improvement, patch by b-s-a.
10141 2020-06-08 Philipp Klaus Krause <pkk AT spth.de>
10143 * support/regression/ports/ucz80n,
10144 support/regression/Makefile.in,
10145 support/regression/fwk/include/testfwk.h:
10146 z80n regression testing infrastructure.
10147 * device/include/stdatomic.h,
10148 device/lib/atomic_flag_clear.c,
10149 device/lib/z80n/Makefile.in:
10150 atomic_flag for z80n.
10152 Fix __sfr handling for z80n.
10154 Fix z80n immediate push, use pop / push for z80n like for z80.
10156 2020-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10158 * src/SDCCopt.c (optimizeOpWidth),
10159 src/SDCCloop.c (loopInduction): Fix bug #3027
10160 * support/regression/tests/bug-3027: Add test
10162 2020-06-07 Philipp Klaus Krause <pkk AT spth.de>
10165 src/z80/peeph-gbz80.def:
10166 Improve z80 peephole functions, patch by Baŝto.
10167 * device/include/mcs51/stc89.h:
10168 STC89 header, patch by Diego Elio Pettenò.
10170 2020-06-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10172 * src/hc08/gen.c (genAddrOf): Make better use of HX
10174 2020-06-05 Philipp Klaus Krause <pkk AT spth.de>
10177 support/valdiag/tests/bug-3011.c:
10180 2020-06-05 Philipp Klaus Krause <pkk AT spth.de>
10183 support/valdiag/tests/bug-3014.c:
10186 2020-06-04 Philipp Klaus Krause <pkk AT spth.de>
10190 src/z80/peeph-gbz80.def:
10191 notUsed for gbz80, patch by Baŝto.
10193 2020-06-03 Philipp Klaus Krause <pkk AT spth.de>
10196 Fix bug #3006, patch by Roy Rankin.
10198 2020-06-03 Philipp Klaus Krause <pkk AT spth.de>
10202 support/valdiag/tests/bug-3010.c:
10205 support/valdiag/tests/bug-3009.c:
10208 Improve assignment from 8-bit I/O to file-scope and static objects.
10210 2020-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
10212 * src/mcs51/peeph.def: added rule 302
10214 2020-05-30 Maarten Brock <sourceforge.brock AT dse.nl>
10216 * src/mcs51/ralloc.c (getRegBitTry): reverted to getRegBit
10217 (serialRegAssign): prefer to spil bit over using register
10218 (fillGaps): bug fix, do not change reg_type
10220 2020-05-29 Philipp Klaus Krause <pkk AT spth.de>
10223 Improve comparison with 0xff.
10225 2020-05-29 Philipp Klaus Krause <pkk AT spth.de>
10227 * src/pdk/ralloc2.cc,
10229 support/regression/tests/bug-3007.c:
10230 Improve jump-on-decrement.
10232 2020-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
10234 * device/lib/hc08/atomic_flag_test_and_set.c: fix warning
10235 * device/lib/s08/atomic_flag_test_and_set.c: fix warning
10237 2020-05-28 Philipp Klaus Krause <pkk AT spth.de>
10239 * src/pdk/ralloc2.cc,
10241 support/regression/tests/bug-3007.c:
10244 2020-05-28 Maarten Brock <sourceforge.brock AT dse.nl>
10246 * src/SDCCcse.c (ifxOptimize): do not replace condition after '-' so
10247 djnz and alike can be generated
10248 * src/mcs51/gen.c (aopOp, aopGet, aopPut, outBitC): bugfix, fill
10249 aop_dir with "c" for ru_only and acc_use AOP_CRY
10250 (genCmp): fixed warning
10251 * src/SDCCsymt.h: removed unused printSymChain, printStruct
10252 * src/hc08/gen.c (genAddrOf): increased buffer to fix warning
10254 2020-05-25 Philipp Klaus Krause <pkk AT spth.de>
10257 Improve stack operand range assertion.
10259 2020-05-24 Philipp Klaus Krause <pkk AT spth.de>
10261 * device/lib/pdk13/Makefile.in,
10262 device/lib/pdk13/__gptrget2.s,
10263 device/lib/pdk13/__setjmp.s:
10264 Fix missing asm support functions for pdk13.
10265 * Makefile.common.in,
10270 Fix --disable-z80n-port configure option.
10272 2020-05-23 Philipp Klaus Krause <pkk AT spth.de>
10275 Stack operand range assertion.
10277 2020-05-23 Maarten Brock <sourceforge.brock AT dse.nl>
10279 * src/SDCCsymt.c (addDecl): removed fix for bug 1253, no longer required
10280 * support/regression/tests/bug1253.c: new, added
10282 2020-05-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10284 * src/SDCCicode.c (operandFromSymbol),
10285 src/SDCCmem.c (allocLocal): fix bug #3003
10286 * support/regression/tests/bug-3003.c: enable test
10288 2020-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10291 src/SDCCicode.h: new support functions for updating operands
10293 * src/SDCCopt.c: final fixes for bug #2828
10295 2020-05-21 Philipp Klaus Krause <pkk AT spth.de>
10297 * support/regression/tests/bug-3003.c:
10298 Regression test for bug #3003 (disabled until bug is fixed).
10300 2020-05-19 Philipp Klaus Krause <pkk AT spth.de>
10302 * device/include/iso646.h,
10303 support/regression/tests/iso646.c:
10306 2020-05-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10308 * src/SDCCicode.c: Fix bug #2827
10310 2020-05-18 Philipp Klaus Krause <pkk AT spth.de>
10312 * src/SDCCBBlock.c,
10320 src/pic14/ralloc.c,
10323 src/pic16/ralloc.c,
10325 Improve file open error messages (patch by jbit).
10327 2020-05-17 Philipp Klaus Krause <pkk AT spth.de>
10330 Fix link to wiki (was still pointing at previous, no-longer-existing wiki).
10332 2020-05-15 Philipp Klaus Krause <pkk AT spth.de>
10335 support/regression/tests/bug-3002.c:
10337 * device/lib/*/Makefile.in:
10338 Compile libraries with --max-allocs-per-node 25000 for more optimization.
10340 2020-05-11 Philipp Klaus Krause <pkk AT spth.de>
10342 * support/regression/tests/wchar.c:
10345 2020-05-11 Maarten Brock <sourceforge.brock AT dse.nl>
10347 * support/regression/tests/wchar.c: fix bug #2572
10349 2020-05-10 Philipp Klaus Krause <pkk AT spth.de>
10354 support/valdiag/tests/enum.c,
10355 support/regression/tests/enum.c:
10356 Fix handling of trailing comma after enumerator list.
10358 2020-05-10 Philipp Klaus Krause <pkk AT spth.de>
10360 * support/scripts/sdcc.nsi:
10361 Fix bug #2972 for tlcs90.
10362 * support/valdiag/Makefile.in:
10367 Align grammar more closely with C2X draft N2479.
10369 2020-05-07 Philipp Klaus Krause <pkk AT spth.de>
10374 2020-05-05 Philipp Klaus Krause <pkk AT spth.de>
10376 * sdas/asz80/z80.h,
10377 sdas/asz80/z80mch.c,
10378 sdas/asz80/z80pst.c:
10379 Remove Z80N MMU instruction support.
10381 2020-05-04 Philipp Klaus Krause <pkk AT spth.de>
10385 Implement RFE #676.
10386 * device/lib/pic16/libc/stdlib/g_ftoa.S,
10387 device/lib/pic16/libc/utils/cvtdec.S:
10388 Fix bug #3000 (patch by Roy Rankin).
10390 2020-05-03 Philipp Klaus Krause <pkk AT spth.de>
10392 * sdas/asz80/z80mch.c,
10395 Support Z80N mlt and swap instructions, part of RFE #573, #656.
10397 2020-05-03 Philipp Klaus Krause <pkk AT spth.de>
10400 Improve stack parameter pushing, overlaps with RFE #676.
10402 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10405 Fix a bug in pushing on-stack-parameters on r2k.
10407 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10410 src/z80/ralloc2.cc:
10411 Improve ifx on 8-bit value (remaining part of RFE #668).
10413 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10415 * Merge z80n branch.
10417 2020-05-02 Philipp Klaus Krause <pkk AT spth.de>
10419 * support/regression/tests/gcc-torture-execute-pr88714.c:
10420 Bug #2949 wasn't a bug, just lack of RAM resulting in a stack overflow.
10422 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10425 Improve pointer write on rematerialized stack location.
10427 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10430 support/regression/tests/gcc-torture-execute-950511-1.c:
10433 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10436 Improve pointer read on rematerialized stack location.
10438 2020-04-29 Philipp Klaus Krause <pkk AT spth.de>
10441 support/regression/tests/gcc-torture-execute-20000113-1.c:
10444 2020-04-26 Philipp Klaus Krause <pkk AT spth.de>
10446 * support/regression/tests/bug-2995.c:
10447 Disable test for mcs51, pdk until I find out how to place space_a segment in RAM in a regression test.
10449 2020-04-25 Philipp Klaus Krause <pkk AT spth.de>
10452 Bump version post 4.0.0-release.
10456 support/regression/tests/bug-2995.c:
10459 2020-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10461 * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
10462 Check for either __PPC__ or __POWERPC__
10464 2020-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10466 * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
10467 Disable test for GCC on PPC instead of clang
10469 2020-04-21 Philipp Klaus Krause <pkk AT spth.de>
10471 * support/regression/tests/bug-2993.c:
10472 Disable test for mcs51-huge (bug #2994).
10473 * support/regression/tests/callee_saves.c:
10474 Fix macro spelling to enable for mcs51.
10476 2020-04-15 Philipp Klaus Krause <pkk AT spth.de>
10479 support/regression/tests/bug-2993.c:
10482 2020-04-11 Philipp Klaus Krause <pkk AT spth.de>
10484 * support/regression/tests/mm-pnvi-ae-udi-provenance_basic_using_uintptr_t_auto_yx.c:
10485 Disable test for clang, since older clang is known to fail it (resulting in false macOS regression test failures).
10488 Simplify code removing obstacles for struct parameter support.
10490 2020-04-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10492 * sim/ucsim/z80.src/ez80.cc: change int8_t to i8_t
10494 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
10497 support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10500 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
10503 support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10506 2020-04-04 Philipp Klaus Krause <pkk AT spth.de>
10509 support/regression/tests/mm-pnvi-ae-udi-pointer_offset_from_int_subtraction_auto_xy.c,
10510 support/regression/tests/mm-pnvi-ae-udi-pointer_offset_from_int_subtraction_auto_yx.c,
10511 support/regression/tests/mm-pnvi-ae-udi-pointer_offset_xor_auto.c:
10514 2020-04-03 Philipp Klaus Krause <pkk AT spth.de>
10516 * support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_2.c,
10517 support/regression/tests/mm-pnvi-ae-udi-pointer_from_int_disambiguation_2_xy.c:
10520 2020-04-03 Philipp Klaus Krause <pkk AT spth.de>
10522 * support/regression/tests/mm-pnvi-ae-udi-*:
10523 Memory model tests, RFE #672.
10525 2020-03-31 Philipp Klaus Krause <pkk AT spth.de>
10527 * device/lib/realloc.c:
10528 Document some realloc details.
10530 2020-03-22 Philipp Klaus Krause <pkk AT spth.de>
10533 support/regression/tests/gcc-torture-execute-strlen-4.c:
10534 Fix stm8-specific aspect of bug #2987.
10536 2020-03-22 Philipp Klaus Krause <pkk AT spth.de>
10539 support/valdiag/Makefile.in,
10540 support/valdiag/valdiag.py,
10541 support/valdiag/tests/bug-2984.c:
10542 Fix bug #2984, enable valdiag tests for pdk13 and pdk14.
10543 * support/regression/tests/gcc-torture-execute-strlen-4.c:
10544 Partially enable a test that now compiles.
10546 2020-03-12 Philipp Klaus Krause <pkk AT spth.de>
10549 support/regression/tests/bug-2817.c,
10550 support/regression/tests/bug-2973.c:
10551 Fix bugs #2817 and #2973, patches by Thomas.
10553 2020-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10555 * device/lib/hc08/Makefile.in,
10556 * device/lib/s08/Makefile.in: add atomic_flag_clear.c
10558 2020-03-09 Philipp Klaus Krause <pkk AT spth.de>
10560 * device/include/stdatomic.h,
10561 device/lib/atomic_flag_clear.c,
10562 device/lib/*/atomic_flag_test_and_set.s,
10563 device/lib/*/Makfeile.in,
10564 support/regression/tests/atomic.c:
10565 Basic atomic_flag support.
10567 2020-03-06 Philipp Klaus Krause <pkk AT spth.de>
10570 support/regression/tests/bug-2982.c:
10573 Improve code generation for 16-bit addition with literal.
10575 2020-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10578 * src/ds390/gen.c: fixed bug #2980
10580 2020-02-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10582 * src/z80/peeph-z80.def,
10583 src/z80/peeph-r2k.def:
10584 Improve flexibility of some peephole rules.
10586 2020-02-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10588 * src/z80/peeph-z80.def:
10589 Additional z80 peephole rules picked from patch #314 by b-s-a.
10591 2020-02-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10595 Allow non-literal third argument for ldir-memcpy().
10597 2020-02-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10600 Use macros for immediate data to improve assembler portability, patch #315 by b-s-a.
10602 2020-02-09 Philipp Klaus Krause <pkk AT spth.de>
10604 * src/z80/peeph-gbz80.def:
10607 2020-01-23 Philipp Klaus Krause <pkk AT spth.de>
10609 * sdas/linksrc/Makefile.in:
10612 2020-01-22 Philipp Klaus Krause <pkk AT spth.de>
10617 2020-01-19 Philipp Klaus Krause <pkk AT spth.de>
10620 Fix a typo in documentation.
10622 2020-01-18 Philipp Klaus Krause <pkk AT spth.de>
10629 Bump version in preparation of 4.0.0 release.
10631 2020-01-14 Philipp Klaus Krause <pkk AT spth.de>
10634 support/regression/tests/bug-2966.c:
10637 2020-01-14 Benedikt Freisen <b.freisen AT gmx.net>
10640 support/regression/tests/fptr_cast_array_init.c:
10641 Implement feature request #598 (Cannot initialize arrays with type cast function pointers).
10643 2020-01-13 Benedikt Freisen <b.freisen AT gmx.net>
10646 support/regression/tests/bug-2859.c,
10647 support/valdiag/tests/bug-2859.c:
10648 Fix bug #2859 (Cannot compare function to 0)
10650 2020-01-13 Benedikt Freisen <b.freisen AT gmx.net>
10654 src/SDCCerr.h: Add parser rules and an error message for compound literals.
10656 2020-01-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10660 src/SDCC.lex: Gracefully handle when uchar.h is missing
10662 2020-01-10 Benedikt Freisen <b.freisen AT gmx.net>
10664 * sdas/asxxsrc/asdata.c,
10665 sdas/asxxsrc/aslex.c,
10666 sdas/asxxsrc/asxxxx.h,
10667 sdas/linksrc/aslink.h,
10668 sdas/linksrc/lkdata.c,
10669 sdas/linksrc/lklex.c:
10670 Make the character input routines in sdas and sdld 8-bit-safe (bug #2961) and interpret all extended ASCII characters as letters.
10673 support/regression/tests/idf_ucn_utf8.c:
10674 Add compiler support for UCNs and non-ASCII-utf8 in identifiers (patch #311) -- the internal representation is utf8.
10676 2020-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10679 support/regression/tests/bug-2825.c:
10681 * support/regression/tests/gcc-torture-execute-20040409-1.c,
10682 support/regression/tests/gcc-torture-execute-20040409-2.c,
10683 support/regression/tests/gcc-torture-execute-20040409-3.c:
10684 Remove some tests that depend on older GCC implementation-defined behaviour on signed int overflow.
10686 2020-01-08 Philipp Klaus Krause <pkk AT spth.de>
10689 support/regression/tests/bug-2964.c:
10692 2019-12-29 Philipp Klaus Krause <pkk AT spth.de>
10694 * src/stm8/ralloc2.cc,
10697 Reenable partial register allocation for stm8, that was accidentially partially disabled when enabling the new stack allocator.
10699 2019-12-15 Philipp Klaus Krause <pkk AT spth.de>
10702 Use add dd, a for z80n.
10703 * support/scripts/sdcc.nsi:
10704 Include z80n library in Windows installer.
10706 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10709 Enable use of rld and rrd for z80n.
10711 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10714 Use tst a, n for z80n.
10716 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10719 Revive non-destructive &.
10721 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10725 Use add dd, nn for z80n.
10727 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10730 src/z80/ralloc2.cc:
10731 Use push nn for z80n.
10733 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10735 * sdas/asrab/rabmch.c:
10736 Fix ex (sp), hl for Rabbits.
10738 Fix an issue in eZ80 pointer read.
10740 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10744 device/lib/Makefile.in,
10745 device/lib/clean.mk,
10746 device/lib/z80n/Makefile.in,
10757 Infrastructure for z80n backend.
10759 2019-12-14 Philipp Klaus Krause <pkk AT spth.de>
10762 support/regression/tests/bug-2932.c:
10765 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10768 support/regression/tests/bug-2932.c:
10771 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10774 src/z80/ralloc2.cc,
10776 Improve use of sbc hl, rr in comparisons, part of RFE #641.
10778 2019-12-12 Philipp Klaus Krause <pkk AT spth.de>
10781 src/z80/ralloc2.cc:
10782 Improve <<, part of RFE #639.
10784 2019-12-10 Philipp Klaus Krause <pkk AT spth.de>
10786 * support/regression/tests/literalop.c:
10787 Avoid testing for undefined behaviour that happens to be implementation-defined in GCC, but not clang.
10789 2019-12-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10791 * src/SDCClospre.cc:
10792 Improve handling of ADDRESS_OF.
10793 * support/regression/tests/bug-2957.c:
10794 Test for bug #2957.
10796 support/regression/tests/bug-2959.c,
10797 support/regression/tests/bug-2958.c:
10798 Fix bugs #2959, #2958.
10800 2019-12-02 Philipp Klaus Krause <pkk AT spth.de>
10802 * support/regression/tests/string.c:
10803 Make preprocessor guards compatible with default setting of clang-9.
10805 2019-11-28 Philipp Klaus Krause <pkk AT spth.de>
10807 * src/SDCClrange.c,
10808 support/regression/tests/bug-2956.c:
10811 2019-11-22 Philipp Klaus Krause <pkk AT spth.de>
10816 2019-11-21 Philipp Klaus Krause <pkk AT spth.de>
10821 2019-11-21 Philipp Klaus Krause <pkk AT spth.de>
10824 Revert previous syntax error on multiple data types commit, since it broke __at (which in SDCC is a type specifier).
10826 2019-11-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10829 Allow C2X attribute declarations and attribute arguments.
10831 2019-11-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10834 Reorganize grammar by appendix A.2 of C2X.
10836 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10842 Allow C2X attributes on statements.
10844 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10847 support/regression/tests/gcc-torture-execute-20181120-1.c:
10850 support/regression/tests/c2xkeywords.c:
10851 Support C2X keyword from N2457.
10852 * support/regression/tests/gcc-torture-execute-pr47148.c,
10853 support/regression/tests/gcc-torture-execute-pr63659.c,
10854 support/regression/tests/gcc-torture-execute-pr64682.c:
10855 Enable some tests that depend on C99 features now supported by SDCC.
10857 2019-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10859 * support/regression/tests/gcc-torture-execute-*:
10860 Add more GCC tests, RFE #652.
10862 2019-11-14 Philipp Klaus Krause <pkk AT spth.de>
10864 * src/z80/peeph-z80.def,
10865 src/z80/peeph-tlcs90.def,
10866 src/z80/peeph-r2k.def,
10867 src/z80/peeph-gbz80.def:
10868 Improve fix for bug #2914.
10870 2019-11-11 Philipp Klaus Krause <pkk AT spth.de>
10876 C2X u8 character constants (N2418).
10878 2019-11-09 Philipp Klaus Krause <pkk AT spth.de>
10880 * src/SDCClospre.cc,
10881 support/regression/tests/bug-2942.c:
10884 2019-11-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10886 * support/regression/ports/pdk15-stack-auto/spec.mk:
10887 Increase timeout for regression testing on ARMv6.
10889 2019-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10891 * src/SDCClrange.c:
10892 Allow more live-range shortening for stm8, pdk.
10894 2019-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10897 Improve wide & by small constants and register result.
10901 support/valdiag/tests/bug-2940.c:
10904 2019-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10909 Fix a bug in optimization of tail calls in interrupt handlers.
10911 2019-11-02 Philipp Klaus Krause <pkk AT spth.de>
10913 * support/scripts/sdcc.nsi:
10914 Fix Windows installation of pdk13 and pdk15-stack-auto files.
10916 2019-11-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
10918 * support/sdbinutils/binutils/Makefile.am,
10919 support/sdbinutils/binutils/Makefile.in: prefer static linked libz
10920 for the Windows snapshot builds so that we don't need another DLL
10922 2019-11-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10926 support/regression/tests/bug-2907.c:
10928 * support/regression/ports/pdk15-stack-auto/spec.mk:
10929 Increase timeout for regression testing on ARMv6.
10931 2019-10-25 Philipp Klaus Krause <pkk AT spth.de>
10934 Fix handling of rematerialized pointers to the stack in y.
10936 2019-10-24 Philipp Klaus Krause <pkk AT spth.de>
10938 * src/stm8/peeph.def,
10941 Various small improvements.
10943 2019-10-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10949 2019-10-23 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
10952 Register shuffling fix, small | improvement.
10954 2019-10-21 Philipp Klaus Krause <pkk AT spth.de>
10957 Fix an issue in stack operands of shifts.
10958 * support/regression/tests/gcc-torture-execute-20000113-1.c,
10959 support/regression/tests/gcc-torture-execute-950511-1.c,
10960 support/regression/tests/gcc-torture-execute-pr42833.c:
10961 Disable tests failing due to known bugs.
10963 2019-10-16 Philipp Klaus Krause <pkk AT spth.de>
10966 Fix a typo that resulted in comp being emitted for pdk13.
10968 2019-10-19 Philipp Klaus Krause <pkk AT spth.de>
10970 * device/lib/pdk15-stack-auto/__setjmp.s:
10973 Fix 3 issues in handling of non-dead p.
10975 2019-10-16 Philipp Klaus Krause <pkk AT spth.de>
10980 2019-10-15 Philipp Klaus Krause <pkk AT spth.de>
10983 Fix code generation for calls via function pointers.
10985 2019-10-14 Philipp Klaus Krause <pkk AT spth.de>
10987 * Merge pic14 branch.
10989 2019-10-13 Philipp Klaus Krause <pkk AT spth.de>
10993 src/SDCCsalloc.hpp,
10997 Improve tail call optimization.
10999 2019-10-11 Philipp Klaus Krause <pkk AT spth.de>
11002 Fix error message, patch #307 by RvS.
11006 2019-10-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11008 * src/pic14/glue.c:
11009 Improve compability with trunk, patches by Gonzalo Pérez de Olaguer Córdoba.
11011 2019-10-06 Philipp Klaus Krause <pkk AT spth.de>
11013 * sdas/aspdk15/pdk15pst.c:
11014 Fix swapc bug #2935.
11016 2019-10-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11019 Improve handling of stack operands in comparison.
11021 2019-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11024 Fixes and improvements for stack operands.
11026 Bump version for advances in -mpdk15 --stack-auto.
11029 sim/ucsim/configure.ac,
11030 sim/ucsim/configure,
11032 sim/ucsim/ddconfig_in.h:
11033 Remove check for strerror(), which is part of C89 and used unconditionally in SDCC anyway.
11035 2019-09-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11038 Fixes and improvements for stack operands.
11041 device/lib/Makefile.in,
11042 device/lib/clean.mk,
11043 device/lib/pdk15-stack-auto,
11045 support/regression/Makefile.in,
11046 support/regression/ports/pdk15-stack-auto:
11047 Infrastructure for -mpdk15 --stack-auto regression testing.
11049 2019-09-28 Philipp Klaus Krause <pkk AT spth.de>
11052 Fixes for stack operands and rematerialized stack locations.
11054 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11057 Fixes for stack operands.
11059 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11062 Fix tracking of pseudoregister in shifts.
11064 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11066 * src/pdk/ralloc.c:
11067 Fix a bug affecting rematerialized addresses cast to integers of multiple widths.
11069 2019-09-27 Philipp Klaus Krause <pkk AT spth.de>
11072 src/pdk/ralloc2.cc:
11073 Improve register allocation.
11075 2019-09-26 Philipp Klaus Krause <pkk AT spth.de>
11080 src/pdk/ralloc2.cc:
11081 Rematerialize stack adresses, improve handling of on-stack operands.
11083 2019-09-25 Philipp Klaus Krause <pkk AT spth.de>
11086 support/regression/tests/gcc-torture-execute-20020402-3.c,
11087 support/regression/tests/gcc-torture-execute-divconst-2.c,
11088 support/regression/tests/gcc-torture-execute-pr78791.c:
11089 Fixes for on-stack operands.
11091 2019-09-24 Philipp Klaus Krause <pkk AT spth.de>
11093 * support/regression/tests/addsub.c,
11094 support/regression/tests/ato.c,
11095 support/regression/tests/bitfields.c,
11096 support/regression/tests/bitwise.c,
11097 support/regression/tests/bug-2621.c,
11098 support/regression/tests/bug-2833.c,
11099 support/regression/tests/bug1115321.c,
11100 support/regression/tests/bug3410878.c,
11101 support/regression/tests/bug3521024.c,
11102 support/regression/tests/compare.c,
11103 support/regression/tests/condopptr.c,
11104 support/regression/tests/constantRange.c,
11105 support/regression/tests/ctype.c,
11106 support/regression/tests/funptrs.c,
11107 support/regression/tests/gcc-torture-execute-20000603-1.c,
11108 support/regression/tests/gcc-torture-execute-20000731-1.c,
11109 support/regression/tests/gcc-torture-execute-20020201-1.c,
11110 support/regression/tests/gcc-torture-execute-20020506-1.c,
11111 support/regression/tests/gcc-torture-execute-20040409-2.c,
11112 support/regression/tests/gcc-torture-execute-ashldi-1.c,
11113 support/regression/tests/gcc-torture-execute-ashrdi-1.c,
11114 support/regression/tests/gcc-torture-execute-divcmp-4.c,
11115 support/regression/tests/gcc-torture-execute-divconst-3.c,
11116 support/regression/tests/gcc-torture-execute-divmod-1.c,
11117 support/regression/tests/gcc-torture-execute-lshrdi-1.c,
11118 support/regression/tests/gcc-torture-execute-pr19606.c,
11119 support/regression/tests/gcc-torture-execute-pr39339.c,
11120 support/regression/tests/gcc-torture-execute-pr19606.c,
11121 support/regression/tests/gcc-torture-execute-string-opt-5.c,
11122 support/regression/tests/gcc-torture-execute-pr19606.c,
11123 support/regression/tests/gcc-torture-execute-va-arg-10.c
11124 support/regression/tests/gcc-torture-execute-pr19606.c,
11125 support/regression/tests/gcc-torture-execute-va-arg-9.c,
11126 support/regression/tests/gcc-torture-execute-pr19606.c,
11127 support/regression/tests/logic.c,
11128 support/regression/tests/gcc-torture-execute-pr19606.c,
11129 support/regression/tests/malloc.c,
11130 support/regression/tests/gcc-torture-execute-pr19606.c,
11131 support/regression/tests/memory.c,
11132 support/regression/tests/gcc-torture-execute-pr19606.c,
11133 support/regression/tests/muldiv.c,
11134 support/regression/tests/gcc-torture-execute-pr19606.c,
11135 support/regression/tests/onebyte.c,
11136 support/regression/tests/gcc-torture-execute-pr19606.c,
11137 support/regression/tests/rotate.c,
11138 support/regression/tests/shifts.c,
11139 support/regression/tests/shifts2.c,
11140 support/regression/tests/staticinit.c,
11141 support/regression/tests/string.c,
11142 support/regression/tests/switch.c,
11143 support/regression/tests/wchar.c:
11144 Preparations for -mpdk15 --stack-auto regression testing.
11146 2019-09-24 Philipp Klaus Krause <pkk AT spth.de>
11150 support/regression/ports/pdk14/support.c,
11151 support/regression/ports/pdk15/support.c:
11152 Fixes for on-stack operands.
11154 2019-09-21 Philipp Klaus Krause <pkk AT spth.de>
11157 src/pdk/ralloc2.cc,
11159 Fixes for on-stack operands.
11161 2019-09-16 Philipp Klaus Krause <pkk AT spth.de>
11164 src/pdk/ralloc2.cc:
11165 Fixes for on-stack operands.
11167 2019-09-13 Philipp Klaus Krause <pkk AT spth.de>
11170 Fix wide load via pointer with register result in ahl.
11172 2019-09-12 Philipp Klaus Krause <pkk AT spth.de>
11175 Fixes for on-stack operands.
11177 2019-09-09 Philipp Klaus Krause <pkk AT spth.de>
11180 Various improvements.
11181 * device/lib/_fseq.c:
11182 Refactor to reduce RAM use.
11184 2019-09-09 Philipp Klaus Krause <pkk AT spth.de>
11187 Improve handling of stack operands.
11189 2019-09-08 Philipp Klaus Krause <pkk AT spth.de>
11192 Fix handling of stack operands in right shift.
11194 2019-09-08 Philipp Klaus Krause <pkk AT spth.de>
11197 src/pdk/ralloc2.cc:
11200 2019-09-07 Philipp Klaus Krause <pkk AT spth.de>
11203 Improve subtraction flexibility.
11205 2019-09-03 Philipp Klaus Krause <pkk AT spth.de>
11207 * src/pdk/ralloc2.cc,
11208 src/SDCCsalloc.hpp,
11210 support/regression/tests/gcc-torture-execute-va-arg-19.c:
11211 Use Chaitin-style allocator for stack variables.
11213 Optimize out assignments between coalesced stack variables.
11215 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11218 Emulate nadd a, m for pdk14, pdk13.
11220 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11224 support/regression/tests/bug-2931.c:
11227 2019-09-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11230 support/regression/tests/nadd.c:
11231 Use nadd in subtraction for pdk15.
11233 2019-08-22 Philipp Klaus Krause <pkk AT spth.de>
11235 * sim/ucsim/pdk.src/glob.cc,
11236 sim/ucsim/pdk.src/inst.cc,
11237 sim/ucsim/pdk.src/instcl.h,
11238 sim/ucsim/pdk.src/pdk.cc,
11239 sim/ucsim/pdk.src/pdkcl.h,
11240 sim/ucsim/pdk.src/regspdk.h:
11241 pdk13 I/O fix (patch #305 by Serge Rabyking).
11243 Bump version for all the pdk13 fixes we got so far.
11245 src/z80/ralloc2.cc:
11246 Improve unsigned char right shift by literal (also part of RFE #639).
11248 2019-08-20 Philipp Klaus Krause <pkk AT spth.de>
11251 Improve wide ==, !=, part of RFE #641.
11253 2019-08-19 Philipp Klaus Krause <pkk AT spth.de>
11256 src/z80/ralloc2.cc,
11257 support/regression/test/bug-2929.c:
11260 2019-08-17 Philipp Klaus Krause <pkk AT spth.de>
11262 * device/lib/strdup.c:
11263 Fix strdup buffer overflow (patch #306).
11265 2019-08-16 Philipp Klaus Krause <pkk AT spth.de>
11267 * src/z80/ralloc2.cc,
11269 Improve ~ register allocation (RFE #638).
11271 2019-08-16 Philipp Klaus Krause <pkk AT spth.de>
11274 src/z80/peeph-z80.def,
11275 src/z80/peeph-tlcs90.def,
11276 src/z80/peeph-r2k.def:
11277 Improve caching of zero on pointer write.
11279 2019-08-16 Philipp Klaus Krause <pkk AT spth.de>
11282 Improve assignment.
11283 * device/include/string.h,
11284 device/lib/strdup.c,
11285 device/lib/strndup.c,
11286 device/lib/incl.mk:
11287 Implement C2X string duplication functions.
11289 2019-08-14 Philipp Klaus Krause <pkk AT spth.de>
11292 Improve notUsed() precision, alternative to patch from z88dk fork.
11294 Add rule from patch #304.
11296 Improve load of hl.
11298 2019-08-14 Philipp Klaus Krause <pkk AT spth.de>
11301 src/stm8/peeph.def:
11302 stm8 peephole optimization improvements, mostly picked from patch #290.
11303 * sdas/asxxsrc/asmcro.c:
11304 Improve sdas behaviour on internal error, patch from bug #2626.
11306 Pick some peephole optimization improvements from z88dk fork.
11308 2019-08-12 Philipp Klaus Krause <pkk AT spth.de>
11310 * sdas/aspdk13/pdk13mch.c:
11311 Bit instruction fixes by Free-PDK.
11312 * device/lib/pdk13/__gptrget.s:
11313 Pointer read fix as suggested by Serge Rabyking (see patch #305).
11315 2019-07-24 Philipp Klaus Krause <pkk AT spth.de>
11318 Small improvements in handling of wide values.
11320 2019-07-18 Philipp Klaus Krause <pkk AT spth.de>
11322 * support/regression/tests/bug-2363.c:
11323 Disabled a test that won't work on pic14 due to lack of memory.
11325 2019-07-17 Philipp Klaus Krause <pkk AT spth.de>
11328 Improve aop moves (in particular wrt. 16-bit ld).
11330 2019-07-12 Philipp Klaus Krause <pkk AT spth.de>
11332 * device/include/ctype.h,
11333 device/include/pic14/stdlib.h,
11334 support/regression/fwk/include/testfwk.h:
11335 Minor improvements towards pic14 regression testing suggested by Gonzalo Pérez de Olaguer Córdoba.
11337 2019-07-11 Philipp Klaus Krause <pkk AT spth.de>
11339 * device/lib/pic14/libsdcc/idata.c:
11340 Fix missing extern declaration of main.
11342 2019-07-11 Philipp Klaus Krause <pkk AT spth.de>
11345 Reflect recent progress on pdk13 by bumping the version number.
11347 2019-07-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11349 * sim/ucsim/pdk.src/inst.cc,
11350 sdas/aspdk13/pdk13pst.c,
11351 sdas/aspdk13/pdk13mch.c,
11354 Remove cneqsn for pdk13 fixing bug #2923.
11356 2019-07-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11359 Fixes for bit-fields, from patches by Gonzalo Pérez de Olaguer Córdoba.
11360 * src/pic14/glue.c:
11361 Fixes from patches by Gonzalo Pérez de Olaguer Córdoba.
11363 2019-06-30 Philipp Klaus Krause <pkk AT spth.de>
11366 support/regression/tests/preserves_regs.c:
11367 Improve handling of iy, should fix bug #2918.
11369 2019-06-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11371 * src/z80/ralloc.c,
11373 src/mcs51/ralloc.c,
11374 src/ds390/ralloc.c,
11377 src/pic14/ralloc.c,
11378 src/pic16/ralloc.c: fix bug #2920
11379 * src/hc08/gen.c: fix bug with negative array index
11381 2019-06-28 Philipp Klaus Krause <pkk AT spth.de>
11383 * src/pdk/peeph.def:
11384 Add a rule suggested by Free-PDK in RFE #630.
11385 * sdas/aspdk13/pdk13mch.c:
11386 Fix curly brackets.
11388 Fail build if any assembler fails to build.
11390 2019-06-27 Philipp Klaus Krause <pkk AT spth.de>
11392 * sdas/aspdk13/pdk13pst.c,
11393 sdas/aspdk13/pdk13mch.c:
11394 Fix bug #2919 via suggestion by Free-PDK.
11396 2019-06-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11398 * Merge pdk branch to trunk.
11400 2019-06-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11402 * sdas/aspdk13/pdk13pst.c,
11403 sdas/aspdk13/pdk13mch.c:
11404 Fix bug #2915 via suggestion by Free-PDK.
11407 Disable pdk16 port by default.
11409 2019-06-23 Philipp Klaus Krause <pkk AT spth.de>
11411 * support/regression/tests/*.c:
11412 Disable some tests for pic14 that won't work anytime soon.
11413 Partially picked from patch by Gonzalo Pérez de Olaguer Córdoba.
11417 src/pic14/genarith.c,
11419 src/pic14/pcodepeep.c,
11420 src/pic14/ralloc.c:
11421 Fixes from patch by Gonzalo Pérez de Olaguer Córdoba.
11423 2019-06-22 Philipp Klaus Krause <pkk AT spth.de>
11425 * src/z88/ralloc2.cc,
11427 Improve handling of a in bitwise operations.
11430 * src/z80/peeph-z80.def:
11433 2019-06-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11435 * support/scripts/sdcc.nsi: pic14/libm no longer has *.c files
11438 2019-06-18 Philipp Klaus Krause <pkk AT spth.de>
11440 * src/z80/ralloc2.cc,
11442 Improve handling of a in &.
11444 2019-06-18 Philipp Klaus Krause <pkk AT spth.de>
11446 * src/z80/ralloc2.cc:
11447 Fix an issue in register allocation for GET_VALUE_AT_ADRESS.
11449 2019-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11451 * support/regression/tests/bug-2912.c:
11452 Fix a typo that resulted in a test being accidentially enabled for pdk.
11454 Fix handling of swapped register operand in 16-bit shift by literal.
11456 2019-06-16 Philipp Klaus Krause <pkk AT spth.de>
11458 * src/z80/ralloc2.cc,
11462 Improve handling of a.
11464 2019-06-16 Philipp Klaus Krause <pkk AT spth.de>
11467 Fix an issue in iy shuffling.
11469 2019-06-15 Philipp Klaus Krause <pkk AT spth.de>
11473 src/z80/ralloc2.cc:
11474 Handle iy like other registers.
11476 2019-06-15 Philipp Klaus Krause <pkk AT spth.de>
11479 src/z80/ralloc2.cc:
11480 Minor register allocation improvement,
11481 fix a --reserve-regs-iy issue.
11483 2019-06-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11486 support/regression/tests/bug-2912.c:
11489 2019-06-13 Philipp Klaus Krause <pkk AT spth.de>
11491 * src/regression/*:
11492 Update pic-specific rudimentary regression test framework.
11494 2019-06-12 Philipp Klaus Krause <pkk AT spth.de>
11496 * Merge pic14 branch.
11498 2019-06-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11500 * device/lib/pic14/Makefile.common,
11501 device/lib/pic14/Makefile.in,
11502 device/lib/pic14/libc/Makefile.in,
11503 device/lib/pic14/libm/Makefile.in,
11504 device/lib/pic14/libsdcc/enhanced/Makefile.in,
11505 device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
11506 device/lib/pic14/libsdcc/regular/Makefile.in:
11507 Fix another pic14 out-of-tree-build issue.
11509 2019-06-11 Philipp Klaus Krause <pkk AT spth.de>
11511 * device/include/ctype.h,
11512 device/include/pic14/stdlib.h:
11513 Work around some pic14 inlining issue.
11517 sdcc/device/lib/pic14/install-sh,
11518 sdcc/device/lib/pic14/libc/Makefile.am,
11519 sdcc/device/lib/pic14/libc/Makefile.in,
11520 sdcc/device/lib/pic14/libm/Makefile.am,
11521 sdcc/device/lib/pic14/libm/Makefile.in,
11522 sdcc/device/lib/pic14/libsdcc/enhanced/Makefile.am,
11523 sdcc/device/lib/pic14/libsdcc/enhanced/Makefile.in,
11524 sdcc/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.am,
11525 sdcc/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
11526 sdcc/device/lib/pic14/libsdcc/regular/Makefile.am,
11527 sdcc/device/lib/pic14/libsdcc/regular/Makefile.in,
11528 sdcc/device/lib/pic14/missing,
11530 sdcc/sim/ucsim/ddconfig_in.h,
11531 support/sdbinutils/bfd/doc/bfdver.texi:
11532 Fix pic14 library out-of-tree build.
11533 * device/lib/pic14/configure.ac,
11534 device/lib/pic14/configure:
11535 Disable default build of extra libary flavors.
11537 2019-06-11 Philipp Klaus Krause <pkk AT spth.de>
11539 * device/include/ctype.h,
11540 device/include/pic14/stdlib.h:
11541 Work around some pic14 inlining issue.
11543 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11549 pdk peephole improvements.
11551 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11557 notUsed() and notUsedFrom().
11560 Fixes for notUsedFrom().
11562 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11568 pdk peephole improvements.
11570 2019-06-10 Philipp Klaus Krause <pkk AT spth.de>
11576 notUsed() and notUsedFrom().
11579 Fixes for notUsedFrom().
11581 2019-06-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11583 * device/include/wchar.h,
11584 device/lib/mbrtowc.c,
11585 device/lib/mbtowc.c,
11586 device/lib/wctomb.c,
11587 support/regression/tests/constantRange.c,
11588 support/regression/tests/driverstruct.c,
11589 support/regression/tests/float.c,
11590 support/regression/tests/nullstring.c,
11591 support/regression/tests/snprintf.c:
11592 Library and test improvements, from patch by Gonzalo Pérez de Olaguer Córdoba.
11593 * src/pic14/glue.c,
11595 Predefined macros for pic14 variants, patch by Gonzalo Pérez de Olaguer Córdoba.
11596 * device/lib/clean.mk:
11597 Cleanup pdk13 library files.
11598 * device/include/asm/pic14/features.h,
11599 device/include/pic14,
11603 pic14 library cleanup, patch by Gonzalo Pérez de Olaguer Córdoba.
11604 * sdas/asz80/z80mch.c:
11607 Use xch for wide in-place shift by 8.
11609 2019-06-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11611 * support/regress/tests/gcc-torture-execute-pr34456.c:
11612 added missing __reentrant and re-enabled for ds390
11614 2019-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11616 * support/regression/tests/bugs-1596270-1736867.c:
11617 re-enable test for ds390; it passes now
11619 2019-05-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11621 * src/ds390/gen.c: fix assignment into far space from dph/dpl
11622 * src/mcs51/peep.c: fix bug #2909
11624 2019-05-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11627 Improve arithmetic right shift.
11629 Minor improvements suggested by Tony Papadimitriou.
11631 support/regression/tests/gcc-torture-execute-stdarg-5.c:
11632 Improve addition flexibility wrt. register assignment.
11634 2019-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11637 src/SDCCopt.c: fix some def/use bugs
11638 * support/regression/tests/gcc-torture-execute-stdarg-5.c:
11639 disable test for stm8, unimplemented addition op
11640 * src/mcs51/ralloc.c,
11641 src/ds390/ralloc.c,
11645 src/pic14/ralloc.c,
11646 src/pic16/ralloc.c: fix a live range bug
11648 2019-05-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11650 * device/include/string.h,
11651 device/lib/incl.mk,
11652 device/lib/memccpy.c,
11653 support/regression/tests/memory.c:
11654 Implement C2X memccpy().
11656 2019-04-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11658 * src/pdk/ralloc.c,
11660 Improve register packing.
11662 2019-04-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11666 Improve workaround for missing addc/subc a, k; improve shifts by 7, 15, etc; fix handling of non-dead a in wide right shifty by literal.
11668 2019-04-24 Philipp Klaus Krause <pkk AT spth.de>
11671 Fix note on endianness.
11673 2019-04-21 Philipp Klaus Krause <pkk AT spth.de>
11678 Implement RFE #623.
11680 2019-04-18 Philipp Klaus Krause <pkk AT spth.de>
11682 * sim/ucsim/pdk.src/inst.cc:
11683 Fix addc m, a, patch by Nicolas Lesser,
11686 +=, -= optimization; fix wide == between stack and register operand.
11688 2019-04-17 Philipp Klaus Krause <pkk AT spth.de>
11690 * sim/ucsim/pdk.src/pdk.cc:
11691 Fix register dump, patch by Nicolas Lesser.
11693 2019-04-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11696 Various fixes and improvements.
11699 Remove untargeted labels.
11700 * support/regression/tests/*.c:
11701 Disable tests that won't work anytime soon on pkd15.
11702 * sim/ucsim/globals.cc:
11703 More verbose pdk subtype output.
11705 2019-04-16 Philipp Klaus Krause <pkk AT spth.de>
11708 Makefile.common.in,
11712 sdas/asxxsrc/sdas.c,
11713 sdas/asxxsrc/sdas.h:
11714 Infrastructure for pdk16 assembler, based on patch
11715 by Leo and Nicolas.
11717 2019-04-16 Philipp Klaus Krause <pkk AT spth.de>
11719 * Merged pdk branch to trunk.
11721 2019-04-15 Philipp Klaus Krause <pkk AT spth.de>
11723 * sdas/linksrc/lkrloc3.c:
11724 pdk13 linker fix, patch By Nicolas Lesser.
11726 2019-04-15 Philipp Klaus Krause <pkk AT spth.de>
11728 * Merged post-3.9 branch to trunk.
11730 2019-04-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11733 Fix POINTER_SET with left operand on stack, right operand in pseudo-register.
11735 2019-04-14 Philipp Klaus Krause <pkk AT spth.de>
11737 * support/regression/tests/bug-460010.c,
11738 support/regression/tests/bug1928022.c,
11739 support/regression/tests/gcc-torture-execute-991216-2.c,
11740 support/regression/tests/gcc-torture-execute-va-arg-1.c,
11741 support/regression/tests/gcc-torture-execute-va-arg-15.c:
11742 Disable some tests for pdk15, on which they won't work anytime soon.
11744 Improve handling of 16-bit return value,
11745 fix stack parameters,
11746 fix carry in comparison of wide stack values.
11747 * src/pdk/peeph.def:
11748 Remove double exchange.
11750 2019-04-13 Philipp Klaus Krause <pkk AT spth.de>
11753 Fix a bug in 16-bit store from registers via rematerialized pointer with non-zero offset;
11754 fix a bug in handling of on-stack operands to &,|;
11755 fix a bug in handling of past-end offsets for stack operands.
11757 2019-04-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11760 Fix handling of -0.0 in ifx.
11762 2019-04-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11764 * sdas/linksrc/lkrloc3.c:
11765 Linker warning improvement, patch by Nicolas Lesser.
11766 * support/regression/tests/*.c:
11767 Disable some tests for pdk15, on which they won't work anytime soon.
11769 Fix wide left shift by large literal.
11770 * sim/ucsim/pdk.src/glob.cc,
11771 sim/ucsim/pdk.src/glob.h,
11772 sim/ucsim/pdk.src/inst.cc,
11773 sim/ucsim/pdk.src/instcl.h,
11774 sim/ucsim/pdk.src/pdk.cc:
11775 pdk13 simulator, patch by Nicolas Lesser.
11777 2019-04-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11779 * support/regression/tests/*.c:
11780 Disable some tests for pdk15, on which they won't work anytime soon.
11781 * sdas/linksrc/aslink.h,
11782 sdas/linksrc/lkmain.c,
11783 sdas/linksrc/lkrloc3.c:
11784 Linker memory size warning fixes, patches by Nicolas Lesser.
11785 * src/pdk/ralloc.c:
11786 Fix handling of shift result assigned to sfr.
11788 2019-04-06 Philipp Klaus Krause <pkk AT spth.de>
11790 * sdas/aspdk13/pdk13pst.c,
11791 sdas/aspdk13/pdk13mch.c:
11794 2019-04-05 Philipp Klaus Krause <pkk AT spth.de>
11796 * sdas/aspdk13/pdk13pst.c,
11797 sdas/aspdk13/pdk13mch.c:
11800 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11802 * sdas/aspdk13/pdk13mch.c,
11803 sdas/aspdk13/pdk13pst.c:
11804 Assembler fix, patch by Leo.
11805 * sim/ucsim/pdk.src/pdk.cc:
11806 Simulator fix, patch by Nicolas Lesser.
11808 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11813 Bump version in preparation of 3.9.0 release.
11815 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11817 * support/regression/tests/*:
11818 Disable some tests for pdk15, on which they won't work anytime soon.
11819 * sdas/aspdk15/pdk15mch.c
11820 Assembler fix, patch by Nicolas Lesser.
11821 * sim/ucsim/pdk.src/inst.cc,
11822 sim/ucsim/pdk.src/pdk.cc,
11823 sim/ucsim/pdk.src/regspdk.h:
11824 Simulator fix, patch by Nicolas Lesser.
11825 * sdas/aspdk13/pdk13mch.c:
11826 Assembler fix, patch by Leo.
11828 2019-04-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11831 support/regression/tests/bug-2274.c:
11832 Support dummy write for handling of uninitialized variables, better code for write of literal to bit-field.
11833 * sim/ucsim/pdk.src/inst.cc:
11834 Fix dec m for pdk15.
11835 * support/regression/tests/bitfields.c,
11836 support/regression/tests/bug-2181.c,
11837 support/regression/tests/bug-2197.c,
11838 support/regression/tests/bug-221100.c,
11839 support/regression/tests/bug-221168.c,
11840 support/regression/tests/bug-2305.c,
11841 support/regression/tests/bug-2349.c,
11842 support/regression/tests/bug-2357.c,
11843 support/regression/tests/bug-2363.c,
11844 support/regression/tests/bug-2373.c,
11845 support/regression/tests/bug-2455.c,
11846 support/regression/tests/bug-2497.c:
11847 Disable some tests for pdk15, on which they won't work anytime soon.
11848 * sdas/linksrc/lkmain.c,
11849 sdas/linksrc/lkrloc3.c,
11850 sdas/linksrc/sdld.c,
11851 sdas/linksrc/sdld.h:
11852 Fix bug #2896, patch by Nicolas Lesser.
11854 Enable peephole optimizer for pdk13, pdk15.
11855 * sim/ucsim/pdk.src/inst.cc:
11856 Fix and m, a, patch by Nicolas Lesser.
11858 2019-04-04 Philipp Klaus Krause <pkk AT spth.de>
11860 * sdas/aspdk15/pdk15mch.c,
11861 sdas/asxxsrc/asout.c,
11862 sdas/linksrc/lkrloc3.c:
11863 Assembler fix, patch by Nicolas Lesser.
11864 * support/regression/fwk/include/testfwk.h,
11865 support/regression/tests/absolute.c,
11866 support/regression/tests/bug-1918.c,
11867 support/regression/tests/bug-2124.c,
11868 support/regression/tests/bug-2271.c:
11869 Towards regression testing for pdk15.
11871 2019-04-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11873 * sdas/aspdk13/pdk13mch.c:
11874 Assembler fixes, patch by Leo.
11875 * sdas/aspdk13/pdk13pst.c:
11877 * device/lib/Makefile.in:
11878 Build pdk13 library.
11879 * sim/ucsim/globals.cc,
11880 sim/ucsim/pdk.src/*,
11881 sim/ucsim/stypes.h,
11882 pdk15 simulator, patch by Nicolas Lesser.
11883 * support/regression/Makefile.in,
11884 support/regression/ports/pdk15:
11885 pdk15 regression testing infrastructure.
11887 2019-04-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11892 2019-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11895 support/regression/tests/bug-2897.c:
11897 * sdas/aspdk14/pdk14mch.c,
11898 sdas/aspdk15/pdk15mch.c,
11899 sdas/asxxsrc/asout.c,
11900 sdas/asxxsrc/sdas.c,
11901 sdas/asxxsrc/sdas.h,
11902 sdas/linksrc/lkrloc3.c:
11903 Fix bug #2900, patch by Nicolas Lesser.
11905 2019-04-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11907 * device/include/signal.h,
11908 device/include/stdint.h:
11909 Support sig_atomic_t.
11911 src/stm8/peeph.def:
11912 Peephole improvements, picked from patch #290 by Visenri.
11913 * src/z80/peeph-gbz80.def,
11914 src/z80/peeph-r2k.def,
11915 src/z80/peeph-z80.def:
11916 Peephole rule improvements, patch by b-s-a.
11918 2019-04-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11924 Basic peephole optimizer.
11925 * sdas/aspdk13/pdk13mch.c,
11926 sdas/aspdk13/pdk13pst.c:
11927 Basic pdk13 assembler, patch by Leo.
11929 2019-04-02 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11931 * sdas/aspdk15/Makefile:
11932 Remove generated file from svn.
11934 2019-04-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11939 Makefile.common.in,
11941 Infrastructure for pdk13 assembler.
11943 2019-03-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
11949 support/regression/tests/bug-2751.c,
11950 support/regression/tests/generic.c:
11952 * sdas/aspdk/pdk.h,
11953 sdas/aspdk/pdkmch.c,
11954 sdas/aspdk14/pdk14mch.c,
11955 sdas/aspdk15/pdk15mch.c:
11956 Bit instruction fix, patch by Nicolas Lesser.
11958 2019-03-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11960 * src/SDCCopt.c: fix bug #2892
11962 2019-03-28 Philipp Klaus Krause <pkk AT spth.de>
11965 Fix bug #2837, patch by Alan Cox.
11966 * sdas/asrab/rabmch.c,
11967 sdas/asrab/rabpst.c:
11968 Support standard ipset syntax, patch by Alan Cox.
11970 Fix an increment bug, patch by Nick Downing.
11972 2019-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11974 * sdas/asxxsrc/sdas.c,
11975 * sdas/asxxsrc/sdas.h,
11976 * sdas/aspdk14/pdk14mch.c,
11977 * sdas/aspdk15/pdk15mch.c: possible fix for bug #2890
11979 2019-03-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11981 * src/SDCCcse.c: fix bug #2099
11982 * support/regression/tests/gcc-torture-execute-20041019-1.c:
11985 2019-03-21 Philipp Klaus Krause <pkk AT spth.de>
11990 2019-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
11992 * src/SDCCast.c: fix bug #2834
11993 * support/regression/tests/bug-2834.c: re-enable test
11994 * src/ds390/ralloc.c: fix bug #2603
11995 * support/regression/tests/gcc-torture-execute-20021120-1.c:
11998 2019-03-21 Philipp Klaus Krause <pkk AT spth.de>
12000 * device/lib/pdk14/__setjmp.s,
12001 device/lib/pdk15/__setjmp.s,
12002 device/lib/pdk14/Makefile.in,
12003 device/lib/pdk15/Makefile.in,
12004 support/regression/tests/setjmp.c,
12005 support/regression/tests/gcc-torture-execute-20010409-1.c,
12006 support/regression/tests/gcc-torture-execute-pr60003.c:
12007 setjmp() / longjmp() for pdk.
12009 2019-03-21 Philipp Klaus Krause <pkk AT spth.de>
12011 * support/regression/tests/gcc-torture-execute-20051110-2.c:
12012 Enable a test (bug got fixed a few days ago via patch by Nicolas).
12013 * device/lib/Makefile.in,
12014 device/lib/*/Makefile.in,
12015 support/regression/tests/wchar.c,
12016 support/regression/tests/bug-2855.c:
12019 2019-03-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12021 * src/SDCCopt.c: fix bug #2793
12022 * support/regression/tests/bug-2793: re-enable test
12023 * support/regression/tests/gcc-torture-execute-20120817-1.c:
12026 2019-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12028 * src/hc08/main.c: fix bug #2713
12029 * support/regression/tests/bug2783061.c: bug #2713 tested
12031 2019-03-20 Philipp Klaus Krause <pkk AT spth.de>
12033 * support/scripts/sdcc.nsi:
12034 Include pdk libraries in Windows installer.
12036 2019-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12038 * device/lib/_ulong2fs.c: fix bug #2787
12039 * support/regression/tests/gcc-torture-execute-floatunsisf-1.c:
12041 * src/ds390/gen.c: fix bug #2835
12042 * support/regression/tests/bug-2833.c: re-enable tests
12044 2019-03-19 Philipp Klaus Krause <pkk AT spth.de>
12046 * support/scripts/sdcc.nsi:
12047 Include pdk binaries in Windows installer.
12049 2019-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12051 * device/lib/_modslonglong.c: fix bug #2790
12052 * support/regression/tests/gcc-torture-execute-arith-rand-ll.c:
12055 2019-03-19 Philipp Klaus Krause <pkk AT spth.de>
12057 * sim/ucsim/pdk.src/inst.cc:
12058 Simulator fixes, patches by Nicolas Lesser.
12059 * sdas/aspdk15/pdk15mch.c:
12060 Assembler fix, patch by Nicolas Lesser
12061 * support/regression/tests/staticinit.c,
12063 src/pdk/ralloc2.cc:
12064 Implement RFE #614.
12066 2019-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12068 * src/ds390/gen.c: fix bug #2702
12069 * device/lib/_rrulonglong.c,
12070 * device/lib/_rrslonglong.c: fix bug #2704
12071 * support/regression/tests/longlong.c: re-enable tests for
12072 hc08/s08/ds390, add more long long shifting tests
12073 * support/regression/tests/gcc-torture-execute-ashldi-1.c,
12074 * support/regression/tests/gcc-torture-execute-ashrdi-1.c,
12075 * support/regression/tests/gcc-torture-execute-divconst-3.c,
12076 * support/regression/tests/gcc-torture-execute-lshrdi-1.c,
12077 * support/regression/tests/gcc-torture-execute-vrp-7.c:
12081 2019-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12084 Improve |=, &=, ^=.
12086 2019-03-18 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12089 src/pdk/ralloc2.cc,
12090 support/regression/tests/bug3564104.c:
12091 Improve register allocation for shift and addition, RFE #608.
12092 * support/valdiag/valdiag.py,
12093 support/valdiag/Makefile.in:
12094 Enable testing of diagnostics for pdk14.
12096 2019-03-17 Philipp Klaus Krause <pkk AT spth.de>
12098 * src/pdk/ralloc2.cc,
12100 support/regression/tests/gcc-torture-execute-20020508-2.c,
12101 support/regression/tests/gcc-torture-execute-pr41750.c:
12102 Improve register allocation, RFE #611, RFE #612, RFE #606.
12104 2019-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12106 * sim/ucsim/aclocal.m4,
12107 * sim/ucsim/configure.ac,
12108 * sim/ucsim/configure: reverting previous changes; go back to
12109 using default C++ dialect instead of C++11
12111 2019-03-17 Philipp Klaus Krause <pkk AT spth.de>
12113 * src/pdk/ralloc2.cc,
12115 support/regression/tests/gcc-torture-execute-pr70005.c:
12116 Better register allocation for assignment, RFE #615, fix some bugs in code generation.
12118 2019-03-16 Philipp Klaus Krause <pkk AT spth.de>
12120 * src/pdk/ralloc2.cc,
12122 Better register allocation for surviving ifx operands, RFE #610.
12124 2019-03-16 Philipp Klaus Krause <pkk AT spth.de>
12126 * support/regression/tests/gcc-torture-execute-divcmp-2.c:
12127 Enable passing test for pdk14.
12129 support/regression/tests/z88dk.c,
12130 support/regression/tests/bug-2881.c:
12133 2019-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12135 * sim/ucsim/aclocal.m4,
12136 * sim/ucsim/configure.ac,
12137 * sim/ucsim/configure: request c++11 dialect
12139 2019-03-15 Philipp Klaus Krause <pkk AT spth.de>
12142 Cheaper adjustment of pointer in p.
12143 * device/include/limits.h,
12144 support/regression/tests/bug-2885.c:
12147 2019-03-15 Philipp Klaus Krause <pkk AT spth.de>
12150 Fix calculation of cycle cost.
12151 * support/regression/tests/gcc-torture-execute-va-arg-19.c,
12152 support/regression/tests/gcc-torture-execute-960302-1.c,
12153 support/regression/tests/getbyte.c,
12154 support/regression/tests/literalop.c:
12155 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12156 * support/regression/tests/gcc-torture-execute-20041011-1.c:
12157 Redisable test for ds390 that got enabled accientially.
12158 * support/regression/tests/gcc-torture-execute-pr34456.c:
12159 Disable a test for ds390, where it fails (bug #2883).
12160 * sim/ucsim/pdk.src/glob.cc:
12161 Fix ret k debug output, patch by Nicolas Lesser.
12163 Fix initalization of const pointers to non-const char for pdk.
12164 * src/pdk/ralloc2.cc,
12165 support/regression/tests/bug2817646.c:
12166 Improve register allocation for pointer read and some arithmetic operations.
12167 * support/regression/tests/gcc-torture-execute-20051110-2.c:
12168 Disable test that fails due to bug #2884.
12170 Move width optimization so that it gets proper information from ic sequencing.
12172 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12174 * support/regression/tests/cse.c,
12175 support/regression/tests/gcc-torture-execute-991216-2.c,
12176 support/regression/tests/gcc-torture-execute-pr70005.c,
12177 support/regression/tests/swap.c:
12178 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12180 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12182 * Merged pdk branch to trunk.
12184 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12186 * support/regression/tests/gcc-torture-execute-20000412-2.c,
12187 support/regression/tests/gcc-torture-execute-20180112-1.c,
12188 support/regression/tests/gcc-torture-execute-920922-1.c,
12189 support/regression/tests/gcc-torture-execute-arith-rand.c,
12190 support/regression/tests/gcc-torture-execute-ashldi-1.c,
12191 support/regression/tests/gcc-torture-execute-divconst-3.c,
12192 support/regression/tests/gcc-torture-execute-divmod-1.c,
12193 support/regression/tests/gcc-torture-execute-index-1.c,
12194 support/regression/tests/gcc-torture-execute-loop-15.c,
12195 support/regression/tests/gcc-torture-execute-multdi-1.c,
12196 support/regression/tests/gcc-torture-execute-pr39100.c,
12197 support/regression/tests/gcc-torture-execute-pr49419.c,
12198 support/regression/tests/gcc-torture-execute-pr60454.c,
12199 support/regression/tests/gcc-torture-execute-pr61306-1.c,
12200 support/regression/tests/gcc-torture-execute-pr61306-2.c,
12201 support/regression/tests/gcc-torture-execute-pr64979.c,
12202 support/regression/tests/gcc-torture-execute-pr78378.c,
12203 support/regression/tests/gcc-torture-execute-pr79121.c,
12204 support/regression/tests/onebyte.c,
12205 support/regression/tests/gcc-torture-execute-va-arg-1.c,
12206 support/regression/tests/gcc-torture-execute-va-arg-12.c,
12207 support/regression/tests/gcc-torture-execute-va-arg-15.c,
12208 support/regression/tests/gcc-torture-execute-va-arg-16.c,
12209 support/regression/tests/gcc-torture-execute-va-arg-18.c,
12210 support/regression/tests/gcc-torture-execute-va-arg-26.c,
12211 support/regression/tests/gcc-torture-execute-va-arg-5.c,
12212 support/regression/tests/gcc-torture-execute-va-arg-6.c,
12213 support/regression/tests/gcc-torture-execute-va-arg-9.c,
12214 support/regression/tests/gcc-torture-execute-loop-8.c:
12215 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12217 Fix non-dead-register bugs, fix a carry issue.
12219 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12221 * device/lib/pdk14/Makefile.in,
12222 device/lib/pdk14/__gptrget.s,
12223 device/lib/pdk15/Makefile.in,
12224 device/lib/pdk15/__gptrget.s,
12226 src/pdk/ralloc2.cc:
12227 Improve read of 16-bit value via pointer.
12228 * support/regression/tests/gcc-torture-execute-pure-1.c,
12229 support/regression/tests/gcc-torture-execute-string-opt-18.c,
12230 support/regression/tests/io.c,
12231 support/regression/tests/key.c,
12232 support/regression/tests/string.c,
12233 support/regression/tests/switch.c:
12234 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12236 Fix UTF-16 and UTF-16 string literals for pdk.
12238 2019-03-14 Philipp Klaus Krause <pkk AT spth.de>
12242 support/regression/tests/vaargs.c:
12243 Disable omission of integer promotion of varargs for pdk.
12244 * device/include/stdarg.h:
12245 Fix variable arguments for pdk.
12247 Fix stack adjustment for reentrant function returning 16-bit value.
12248 * support/regression/tests/bug2084206.c,
12249 support/regression/tests/gcc-torture-execute-920721-1.c,
12250 support/regression/tests/gcc-torture-execute-920829-1.c,
12251 support/regression/tests/gcc-torture-execute-921013-1.c,
12252 support/regression/tests/gcc-torture-execute-921124-1.c,
12253 support/regression/tests/gcc-torture-execute-980604-1.c:
12254 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12256 2019-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12258 * src/hc08/gen.c: fix bug in optimized 2 byte swap
12259 * support/regression/tests/bool.c: pass all ds390 tests now
12261 2019-03-13 Philipp Klaus Krause <pkk AT spth.de>
12263 * support/regression/tests/gcc-torture-execute-pr39339.c,
12264 support/regression/tests/gcc-torture-execute-pr41750.c,
12265 support/regression/tests/gcc-torture-execute-pr42833.c,
12266 support/regression/tests/gcc-torture-execute-pr43236.c,
12267 support/regression/tests/gcc-torture-execute-pr44575.c,
12268 support/regression/tests/gcc-torture-execute-20030717-1.c,
12269 support/regression/tests/gcc-torture-execute-20031204-1.c,
12270 support/regression/tests/gcc-torture-execute-20040409-2.c,
12271 support/regression/tests/gcc-torture-execute-20050218-1.c,
12272 support/regression/tests/gcc-torture-execute-20050502-1.c,
12273 support/regression/tests/gcc-torture-execute-20050826-1.c,
12274 support/regression/tests/gcc-torture-execute-20060110-2.c,
12275 support/regression/tests/gcc-torture-execute-20090207-1.c_
12276 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12278 Fix read from signed bit-field, fix +/- lower result byte in a, fix xor operand upper byte in a.
12280 2019-03-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12282 * support/regression/tests/bug-2630.c,
12283 support/regression/tests/bug-2822.c,
12284 support/regression/tests/bug-441448.c,
12285 support/regression/tests/bug-460010.c,
12286 support/regression/tests/bug-2712.c,
12287 support/regression/tests/bug1665511.c,
12288 support/regression/tests/bug1757671.c,
12289 support/regression/tests/bug1928022.c,
12290 support/regression/tests/bug2729218.c,
12291 support/regression/tests/bug2817646.c,
12292 support/regression/tests/bug2862650.c,
12293 support/regression/tests/bug2935162.c,
12294 support/regression/tests/bug3027957.c,
12295 support/regression/tests/bug3183823.c,
12296 support/regression/tests/bug3381400.c,
12297 support/regression/tests/bug3424150.c,
12298 support/regression/tests/bug3564104.c,
12299 support/regression/tests/bugs-1596270-1736867.c,
12300 support/regression/tests/gcc-torture-execute-postmod-1.c,
12301 support/regression/tests/gcc-torture-execute-pr15262.c,
12302 support/regression/tests/gcc-torture-execute-pr15296.c,
12303 support/regression/tests/gcc-torture-execute-pr19606.c,
12304 support/regression/tests/gcc-torture-execute-pr20527-1.c,
12305 support/regression/tests/gcc-torture-execute-pr20601-1.c,
12306 support/regression/tests/gcc-torture-execute-pr27073.c,
12307 support/regression/tests/gcc-torture-execute-pr27260.c,
12308 support/regression/tests/gcc-torture-execute-pr27285.c,
12309 support/regression/tests/gcc-torture-execute-pr28982a.c,
12310 support/regression/tests/condopptr.c,
12311 support/regression/tests/constantRange.c,
12312 support/regression/tests/frexpf.c,
12313 support/regression/tests/gcc-torture-execute-20000603-1.c,
12314 support/regression/tests/gcc-torture-execute-20000717-4.c,
12315 support/regression/tests/gcc-torture-execute-20000731-1.c,
12316 support/regression/tests/gcc-torture-execute-20001024-1.c,
12317 support/regression/tests/gcc-torture-execute-20010910-1.c,
12318 support/regression/tests/gcc-torture-execute-20010915-1.c,
12319 support/regression/tests/gcc-torture-execute-20020129-1.c,
12320 support/regression/tests/gcc-torture-execute-20020402-3.c,
12321 support/regression/tests/gcc-torture-execute-20020508-2.c,
12322 support/regression/tests/gcc-torture-execute-20020615-1.c:
12323 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12326 Fix arithmetic right shift, jump on &, static function pointer initalization, zeroing of bit-fields, ==, bit-field write from register p, bit-field write with non-dead register p, ^, immediate in -.
12328 Fix pdk pointer initalization corner case.
12329 * sim/ucsim/pdk.src/inst.cc:
12332 2019-03-12 Philipp Klaus Krause <pkk AT spth.de>
12334 * support/regression/tests/bug-2854.c,
12335 support/regression/tests/gcc-torture-execute-arith-rand-ll.c,
12336 support/regression/tests/bug-2222.c,
12337 support/regression/tests/bug-2231.c,
12338 support/regression/tests/bug-2427.c,
12339 support/regression/tests/bug-2611.c,
12340 support/regression/tests/bug-2890326.c,
12341 support/regression/tests/bug3474855.c,
12342 support/regression/tests/bug3475630.c,
12343 support/regression/tests/gcc-torture-execute-20021120-1.c,
12344 support/regression/tests/gcc-torture-execute-20030916-1.c,
12345 support/regression/tests/gcc-torture-execute-20121108-1.c,
12346 support/regression/tests/qsort.c,
12347 support/regression/tests/bug-2188.c,
12348 support/regression/tests/bug-2304.c,
12349 support/regression/tests/bug-2501.c,
12350 support/regression/tests/bug-2568.c,
12351 support/regression/tests/bug-2621.c,
12352 support/regression/tests/bug-2764.c,
12353 support/regression/tests/gcc-torture-execute-pr39501.c,
12354 support/regression/tests/gcc-torture-execute-pr78586.c,
12355 support/regression/tests/bug1723128.c,
12356 support/regression/tests/bug3410878.c,
12357 support/regression/tests/ctype.c,
12358 support/regression/tests/gcc-torture-execute-20030313-1.c,
12359 support/regression/tests/p99-conformance.c,
12360 support/regression/tests/scott-compare3.c:
12361 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12362 * support/regression/tests/gcc-torture-execute-divcmp-2.c,
12363 support/regression/tests/staticinit.c:
12364 Disable tests that fail in annoying ways.
12366 Pointer initialization fix.
12368 Shift fix, pointer read fix, jump table fix, negation fix, address offset fix, big return fix.
12369 * src/pdk/ralloc2.cc:
12370 Improve register use at pointer read.
12371 * sim/ucsim/pdk.src/inst.cc:
12372 Simulator fixes, patches by Nicolas Lesser.
12373 * src/pdk/ralloc2.cc,
12377 2019-03-12 Philipp Klaus Krause <pkk AT spth.de>
12379 * support/regression/collate-results.py:
12380 Improve error handling in regression test result parsing, fix bug #2675.
12382 2019-03-11 Philipp Klaus Krause <pkk AT spth.de>
12384 * sdas/aspdk14/pdk14mch.c,
12385 sdas/asxxsrc/asdata.c,
12386 sdas/asxxsrc/asexpr.c,
12387 sdas/asxxsrc/asxxxx.h:
12388 Fix handling of offsets to word addresses, patch by Nicolas Lesser.
12390 Remove workarounds for word address offset handling issue.
12391 * support/regression/tests/*:
12392 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12394 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12398 * sim/ucsim/pdk.src/pdk.cc,
12399 sdas/linksrc/lkmain.c:
12400 Memory limit diagnostics, patch by Nicolas Lesser.
12401 * support/regression/tests/bug-2208.c,
12402 support/regression/tests/bug-2253.c,
12403 support/regression/tests/bug-2357.c,
12404 support/regression/tests/bug-2516.c,
12405 support/regression/tests/bug-2625.c,
12406 support/regression/tests/bug-2254.c,
12407 support/regression/tests/bug-2403.c,
12408 support/regression/tests/bug-2516.c,
12409 support/regression/tests/bug-2820.c:
12410 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12412 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12416 Pointer handling fixes.
12417 * support/regression/tests/bp.c,
12418 support/regression/tests/bug-1805702.c:
12419 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12421 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12423 * src/pdk/ralloc2.cc,
12425 Improve register use.
12426 * sim/ucsim/pdk.src/inst.cc,
12427 sim/ucsim/pdk.src/instcl.h:
12428 Fix flag handling, patch by Nicolas Lesser.
12430 2019-03-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12433 Fix arithmetic right shift, assembler issue workaround for variables in ROM.
12434 * src/pdk/ralloc2.cc:
12435 Try to save abit more RAM.
12436 * support/regression/tests/and_survive.c,
12437 support/regression/tests/ato.c,
12438 support/regression/tests/bitopcse.c,
12439 support/regression/tests/bug-2031.c,
12440 support/regression/tests/bug-1953.c:
12441 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12443 2019-03-10 Philipp Klaus Krause <pkk AT spth.de>
12446 src/pdk/ralloc2.cc:
12447 Improve register allocation, small code generation fixes.
12448 * support/regression/tests/absolute.c,
12449 support/regression/tests/addsub.c,
12450 support/regression/tests/args.c,
12451 support/regression/tests/array.c,
12452 support/regression/tests/bug-221100.c,
12453 support/regression/tests/bug-221168.c,
12454 support/regression/tests/bug1477149.c,
12455 support/regression/tests/bug3401973.c:
12456 Disable some tests for pdk14 (on which they won't work anytime soon due to lack of memory).
12457 * sim/ucsim/pdk.src/inst.cc:
12458 Carry bug workaround.
12460 2019-03-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12462 * src/SDCCast.c: fix bugs #2750 and #2867 (same root cause)
12463 * support/regression/tests/bug-2750.c: enable test
12465 2019-03-10 Philipp Klaus Krause <pkk AT spth.de>
12469 2019-03-10 Philipp Klaus Krause <pkk AT spth.de>
12472 Workaround for lack of support for offset at call in assembler.
12473 * sim/ucsim/pdk.src/inst.cc:
12474 Carry bug workaround.
12475 * src/pdk/ralloc2.cc,
12478 Enable local variable overlay for leaf functions.
12481 Fix display of pdk13 enable.
12483 2019-03-07 Philipp Klaus Krause <pkk AT spth.de>
12485 * sim/ucsim/pdk.src/inst.cc:
12489 * sim/ucsim/pdk.src/glob.cc:
12490 dzsn / izsn debug output fix, patch by Nicolas Lesser.
12491 * sdas/asxxsrc/asout.c,
12492 sdas/linksrc/lkrloc3.c:
12493 Fix handling of addresses of variables in RAM, patch by Nicolas Lesser.
12495 2019-03-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12497 * support/scripts/sdcc.nsi: sdcclib.exe is not built
12498 anymore, so don't try to include it in the installer
12500 2019-03-06 Philipp Klaus Krause <pkk AT spth.de>
12503 Improve pointer handling and subtraction.
12504 * sim/ucsim/pdk.src/inst.cc:
12509 2019-03-06 Philipp Klaus Krause <pkk AT spth.de>
12511 * sdas/asxxsrc/asout.c:
12512 Address handling fix, patch by Nicolas Lesser.
12513 * sim/ucsim/pdk.src/glob.cc,
12514 sim/ucsim/pdk.src/pdk.cc:
12515 State output fix, patch by Nicolas Lesser.
12518 * sim/ucsim/pdk.src/inst.cc:
12521 2019-03-05 Philipp Klaus Krause <pkk AT spth.de>
12523 * device/lib/pdk14/__gptrget.s,
12524 device/lib/pdk15/__gptrget.s:
12525 Fix generic pointer read.
12526 * sim/ucsim/pdk.src/inst.cc:
12527 Fix push af / pop af simulation.
12529 2019-03-05 Philipp Klaus Krause <pkk AT spth.de>
12531 * support/regression/ports/pdk14/support.c:
12532 Fix regression-test _putchar for pdk14.
12533 * device/lib/pdk14/__gptrget.s,
12534 device/lib/pdk15/__gptrget.s:
12535 Fix generic pointer read.
12536 * sim/ucsim/pdk.src/glob.cc,
12537 sim/ucsim/pdk.src/inst.cc:
12538 pdk14 bit instruction fix, patch by Nicolas Lesser.
12540 2019-03-05 Philipp Klaus Krause <pkk AT spth.de>
12542 * support/regression/tests/bug-2363.c,
12543 support/regression/tests/bug-2756.c,
12544 support/regression/tests/gcc-torture-execute-20011008-3.c,
12545 support/regression/tests/gcc-torture-execute-20020402-3.c,
12546 support/regression/tests/gcc-torture-execute-20100430-1.c,
12547 support/regression/tests/gcc-torture-execute-cmpdi-1.c,
12548 support/regression/tests/gcc-torture-execute-longlong.c,
12549 support/regression/tests/gcc-torture-execute-memcpy-bi.c,
12550 support/regression/tests/gcc-torture-execute-mode-dependent-address.c,
12551 support/regression/tests/gcc-torture-execute-p18298.c,
12552 support/regression/tests/gcc-torture-execute-strcmp-1.c,
12553 support/regression/tests/gcc-torture-execute-strcpy-1.c,
12554 support/regression/tests/gcc-torture-execute-strncmp-1.c,
12555 support/regression/tests/gcc-torture-execute-struct-cpy-1.c,
12556 support/regression/tests/new_wide.c,
12557 support/regression/tests/wchar.c
12558 support/regression/tests/bug-2684.c,
12559 support/regression/tests/bug-2732.c,
12560 support/regression/tests/dhrystone.c,
12561 support/regression/tests/gcc-torture-execute-20050826-1.c,
12562 support/regression/tests/gcc-torture-execute-991216-1.c,
12563 support/regression/tests/gcc-torture-execute-pr47538.c,
12564 support/regression/tests/gcc-torture-execute-pr68532.c,
12565 support/regression/tests/qsort.c:
12566 Disable tests that won't work for pdk14 due to lack of memory.
12567 * sdas/asxxsrc/asout.c,
12568 sdas/linksrc/lkrloc3.c,
12569 sim/ucsim/pdk.src/pdk.cc,
12570 sim/ucsim/pdk.src/inst.cc:
12571 pdk14 fixes, patch by Nicolas Lesser.
12573 2019-03-04 Philipp Klaus Krause <pkk AT spth.de>
12575 * sdas/asxxsrc/asout.c:
12576 Assembler fix, patch by Nicolas Lesser.
12577 * sim/ucsim/Makefile.in,
12578 sim/ucsim/configure,
12579 sim/ucsim/configure.ac,
12580 sim/ucsim/globals.cc,
12581 sim/ucsim/globals.h,
12582 sim/ucsim/packages_in.mk,
12583 sim/ucsim/stypes.h,
12584 support/regression/ports/pdk14/spec.mk,
12585 support/regression/ports/pdk14/support.c:
12586 pdk14 simulator, patch by Nicolas Lesser.
12588 2019-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12590 * src/mcs51/gen.c: fix bug #2729
12591 * support/regression/tests/bool.c: reenable test
12593 2019-03-01 Philipp Klaus Krause <pkk AT spth.de>
12595 * src/pdk/ralloc.c:
12596 Dump debug info after register assignment.
12597 * support/regression/tests/gcc-torture-execute-20000314-3.c:
12598 Disable failing test, where solution is not clear yet (bug #2878).
12600 2019-03-01 Philipp Klaus Krause <pkk AT spth.de>
12605 2019-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12607 * src/SDCCast.c: fix bug #2873
12608 * support/regression/tests/literalop.c: add casts to fix
12609 integer promotion of hexadeciaml constants in ?: operator.
12611 2019-02-26 Philipp Klaus Krause <pkk AT spth.de>
12613 * support/regression/tests/gcc-torture-execute-960116-1.c
12614 support/regression/tests/gcc-torture-execute-cvt-1.c
12615 support/regression/tests/gcc-torture-execute-loop-2c.c
12616 support/regression/tests/gcc-torture-execute-pr20601-1.c
12617 support/regression/tests/gcc-torture-execute-pr33870-1.c
12618 support/regression/tests/gcc-torture-execute-pr33870.c
12619 support/regression/tests/gcc-torture-execute-pr37125.c
12620 support/regression/tests/gcc-torture-execute-pr63843.c
12621 support/regression/tests/gcc-torture-execute-pr65215-1.c
12622 support/regression/tests/gcc-torture-execute-pr65215-2.c
12623 support/regression/tests/gcc-torture-execute-pr68841.c
12624 support/regression/tests/gcc-torture-execute-stdarg-5.c
12625 support/regression/tests/gcc-torture-execute-unroll-1.c
12626 support/regression/tests/inline.c
12627 Disable tests that are unlikely to compile for pdk14 anytime soon.
12629 Fix an issue in handling aop for spilt variables.
12631 2019-02-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12633 * src/SDCCsymt.c: fix bug #2861
12635 2019-02-20 Philipp Klaus Krause <pkk AT spth.de>
12638 Generalize loop narrowing (part of RFE #530).
12640 2019-02-20 Philipp Klaus Krause <pkk AT spth.de>
12643 Do not emit set0, set1 with memory operand fpr pdk13, as assembler support for these likely won't be ready for SDCC 3.9.0.
12644 * device/lib/pdk13:
12645 Infrastructure for pdk13 library.
12647 2019-02-15 Philipp Klaus Krause <pkk AT spth.de>
12649 * sdas/asxxsrc/asout.c,
12650 sdas/linksrc/lkrloc3.c:
12651 Fix relocation of addresses in ROM, patches by Nicolas Lesser.
12652 * sdas/aspdk/pdkmch.c:
12653 Fix handling of literals, patch by Nicolas Lesser.
12655 2019-02-14 Philipp Klaus Krause <pkk AT spth.de>
12658 Disable use of idxm, ldtabl, stt16, ldt16 on direct operands, since we can't handle alignment requirements yet.
12659 * sdas/aspdk/pdkmch.c,
12660 sdas/aspdk14/pdk14mch.c,
12661 sdas/aspdk15/pdk15mch.c,
12662 sdas/asxxsrc/asout.c,
12663 sdas/asxxsrc/asxxxx.h,
12664 sdas/linksrc/lkrloc3.c:
12665 pdk assembler fixes, patch by Nicolas Lesser.
12667 2019-02-13 Philipp Klaus Krause <pkk AT spth.de>
12669 * support/regression/tests/gcc-torture-execute-20030714-1.c,
12670 support/regression/tests/gcc-torture-execute-921208-1.c,
12671 support/regression/tests/gcc-torture-execute-930702-1.c,
12672 support/regression/tests/gcc-torture-execute-991112-1.c,
12673 support/regression/tests/gcc-torture-execute-func-ptr-1.c,
12674 support/regression/tests/gcc-torture-execute-pr34456.c,
12675 support/regression/tests/z88dk.c,
12676 support/regression/tests/gcc-torture-execute-20010409-1.c,
12677 support/regression/tests/gcc-torture-execute-pr60003.c,
12678 support/regression/tests/setjmp.c,
12679 support/regression/tests/loop.c:
12680 Disable tests that are unlikely to compile for pdk14 anytime soon.
12682 Fix wide comparison with immediate, fix a corner case of & with one stack operand, fix comparison with stack operand, fix multiplication by negative literal.
12685 Fix extended alignment.
12687 2019-02-13 Philipp Klaus Krause <pkk AT spth.de>
12692 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12695 src/pdk/ralloc2.cc:
12696 Fix subtraction by immediate, &^| with both operands on stack, left shift of on-stack operand.
12697 * device/lib/pdk14/Makefile.in,
12698 device/lib/pdk15/Makefile.in:
12699 Enable missing support functions.
12700 * support/regression/tests/bug-2551.c,
12701 support/regression/tests/bug-2554.c,
12702 support/regression/tests/bug-2558.c,
12703 support/regression/tests/bug-2559.c,
12704 support/regression/tests/gcc-torture-execute-920721-3.c,
12705 support/regression/tests/gcc-torture-execute-20050106-1.c,
12706 support/regression/tests/gcc-torture-execute-20060930-2.c:
12707 Disable tests that fail to compile due to bug #2874.
12708 * support/regression/tests/bug-2663.c,
12709 support/regression/tests/bug-2767.c,
12710 support/regression/tests/bug-716242.c,
12711 support/regression/tests/bug1908493.c,
12712 support/regression/tests/bug2077267.c,
12713 support/regression/tests/bug3379723.c:
12714 Disable tests that are unlikely to compile for pdk14 anytime soon.
12715 * device/lib/pdk14/heap.s,
12716 device/lib/pdk14/heap.s:
12717 Default heap of 64 Bytes for pdk14, pdk15.
12719 Report lack of code generation support for division by constant.
12721 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12723 * src/z80/ralloc.c,
12724 support/regression/tests/bug-2031.c:
12725 Allow rematerialization of pointer-to-integer cast, fixes a gbz80 initialization bug.
12727 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12731 Fix various pdk issues.
12732 * support/regression/tests/bug-1918.c,
12733 support/regression/tests/bug-2124.c,
12734 support/regression/tests/bug-2271.c,
12735 support/regression/tests/bug-2274.c,
12736 support/regression/tests/bug-2305.c,
12737 support/regression/tests/bug-2349.c,
12738 support/regression/tests/bug-2373.c,
12739 support/regression/tests/bug-2455.c,
12740 support/regression/tests/bug-2497.c:
12741 Disable tests that are unlikely to compile for pdk14 anytime soon.
12743 2019-02-12 Philipp Klaus Krause <pkk AT spth.de>
12746 Use ltabl for pdk15, improve shifts.
12748 Fix initialization of bit-fields in code space for pdk.
12750 2019-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12752 * src/SDCCicode.c: fix bug #2829
12754 2019-02-11 Philipp Klaus Krause <pkk AT spth.de>
12756 * support/regression/ports/pdk14/support.c:
12757 Make regression tests compile, even before simulator is ready.
12758 * device/lib/pdk14/Makefile.in,
12759 device/lib/pdk15/Makefile.in:
12760 Enable a missing support function.
12762 Improve bit-field access.
12764 2019-02-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12767 Fix handling of wide return values.
12769 2019-02-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12771 * sim/ucsim/z80.src/inst_ed.c:
12772 Implement Z80/Z180/eZ80 rld, rrd.
12774 support/regression/tests/bitfields.c:
12775 Improve bit-field write.
12777 2019-02-11 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12779 * sdas/asrab/rabadr.c,
12783 2019-02-08 Philipp Klaus Krause <pkk AT spth.de>
12786 src/pdk/ralloc2.cc:
12787 Various pdk improvements.
12789 2019-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12791 * src/SDCCdwarf2.c: fix bug #2762
12793 2019-02-08 Philipp Klaus Krause <pkk AT spth.de>
12797 src/pdk/ralloc2.cc:
12798 Various pdk improvements.
12799 * device/lib/calloc.c,
12801 device/lib/malloc.c,
12802 device/lib/realloc.c:
12803 Improve dynamic memory management for pdk.
12804 * device/lib/_memchr.c:
12805 Improve comparison.
12807 2019-02-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12811 device/include/stdlib.h,
12812 device/lib/Makefile.in,
12813 device/lib/clean.mk,
12814 device/lib/pdk15/Makefile.in,
12819 Improve read from pointer.
12821 2019-02-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12823 * Makefile.common.in,
12830 pdk15 assembler, patch by Nicolas Lesser.
12832 2019-02-07 Philipp Klaus Krause <pkk AT spth.de>
12840 * sim/ucsim/sim.src/var.cc,
12841 sim/ucsim/sim.src/varcl.h,
12842 sim/ucsim/stm8.src/glob.cc,
12843 sim/ucsim/stm8.src/stm8.cc:
12844 stm8 simulator fixes, patches by Mike Jagdis.
12846 2019-02-07 Philipp Klaus Krause <pkk AT spth.de>
12850 device/lib/pdk14/Makefile.in:
12851 Assembler refactoring, patch by Nicolas Lesser.
12853 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12858 src/pdk/ralloc2.cc,
12860 Various improvements in register allocation.
12861 * sdas/linksrc/lkrloc3.c:
12862 Fix a linker issue, patch by Nicolas Lesser.
12863 * device/lib/pdk14/__gptrget.s:
12864 Fix an issue in read from pointer to ROM.
12866 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12868 * src/pdk/ralloc.c,
12872 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12875 Fix direct read from variable in code space.
12877 2019-02-06 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12880 Implement write of non-literal to bit-field.
12882 2019-02-05 Philipp Klaus Krause <pkk AT spth.de>
12885 Implement read from bit-field, literal write to bit-field.
12886 * src/pdk/ralloc2.cc:
12887 Improve handling of p wrt. pointer read / write in register allocation.
12889 2019-02-05 Philipp Klaus Krause <pkk AT spth.de>
12892 Fix signed comparison by 0.
12899 Assembler rename, based on patch by Nicolas Lesser.
12901 2019-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12903 * src/SDCCast.c: fix bug #2863
12905 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12908 Fix early return from interrupt.
12910 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12915 2019-02-03 Philipp Klaus Krause <pkk AT spth.de>
12918 Fix a pointer initalization issue.
12920 Save a word in stack-pointer setup.
12922 2019-02-02 Philipp Klaus Krause <pkk AT spth.de>
12929 Use ret k for constant data.
12931 2019-02-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12933 * support/scripts/sdcc.nsi: add support for ez80_z80
12935 2019-01-31 Philipp Klaus Krause <pkk AT spth.de>
12940 Use ret k for constant data bytes.
12942 2019-01-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
12944 * sim/ucsim/z80.src/ez80.cc: add needed header for int8_t
12946 2019-01-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
12949 Clarify documentation on library path options.
12951 2019-01-28 Philipp Klaus Krause <pkk AT spth.de>
12954 Document bug #2858 workaround.
12956 2019-01-27 Philipp Klaus Krause <pkk AT spth.de>
12958 * sdas/aspdk/pdkmch.c:
12959 Fix idxm, patch by Tim (cpldcpu).
12960 * device/lib/pdk14/Makefile.in:
12961 Use generic memcpy(), unsigned 8 x 8 -> 16 multiplication and unsigned division for pdk14.
12963 Fix int x int -> long multiplication.
12966 Code generation for 8 x 8 (lit) -> 8 multiplication.
12971 src/pdk/ralloc2.cc,
12973 Infrastructure for pdk13, pdk15.
12975 2019-01-27 Philipp Klaus Krause <pkk AT spth.de>
12983 Linker and assembler fixes for pdk14, patch by Nicolas Lesser.
12985 Fix code generation for unary float minus and calls to functions returning more than a word.
12986 * device/lib/pdk14/__gptrget.s:
12989 2019-01-20 Philipp Klaus Krause <pkk AT spth.de>
12992 support/regression/tests/bug-2866.c:
12995 2019-01-19 Philipp Klaus Krause <pkk AT spth.de>
12997 * sdas/aspdk/pdkmch.c:
12998 Fix shifts, patch by Tim (cpldcpu).
13000 Fix signed comparison, fix pointer write with integer literal cast to pointer.
13002 2019-01-18 Philipp Klaus Krause <pkk AT spth.de>
13007 2019-01-16 Philipp Klaus Krause <pkk AT spth.de>
13010 Switch default code location for bytewise addressing in ROM.
13012 2019-01-15 Philipp Klaus Krause <pkk AT spth.de>
13014 * sdas/aspdk/pdk.h,
13015 sdas/aspdk/pdkadr.c,
13016 sdas/aspdk/pdkmch.c,
13017 sdas/aspdk/pdkpst.c:
13018 Assembler fixes, patch by Nicolas Lesser.
13020 Switch .org use to bytewise addressing in ROM.
13022 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
13025 Use sensible default for --code-loc.
13027 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
13030 Various glue code for program startup.
13032 2019-01-12 Philipp Klaus Krause <pkk AT spth.de>
13034 * device/lib/time.c:
13035 Make some variables const so save RAM on targets that do not have __code.
13037 Fix a segfault in code generation for &.
13038 * sdas/aspdk/pdk.h,
13039 sdas/aspdk/pdkadr.c,
13040 sdas/aspdk/pdkmch.c:
13041 Assembler fixes and syntax change, patch by Nicolas Lesser.
13043 device/lib/pdk14/__gptrget.s:
13044 Update for assembler syntax change.
13046 device/lib/Makefile.in,
13047 Enable build of pdk14 library.
13049 2019-01-11 Philipp Klaus Krause <pkk AT spth.de>
13051 * device/lib/pdk14/Makefile.in:
13052 Use sdaspdk to build pdk14 library.
13055 Fix generation of invalid asm in a few places.
13056 * sdas/aspdk/pdkmch.c,
13057 sdas/aspdk/pdkpst.c:
13058 Assembler fixes, patch by Nicolas Lesser.
13059 * support/regression/ports/pdk14/spec.mk:
13060 Prepare for future pdk14 regression testing.
13062 2019-01-11 Philipp Klaus Krause <pkk AT spth.de>
13065 Makefile.common.in,
13069 sdas/linksrc/Makefile.in,
13070 sdas/linksrc/sdld.c,
13071 sdas/linksrc/sdld.h,
13073 Assembler for pdk14, patch by Nicolas Lesser.
13075 2019-01-11 Philipp Klaus Krause <pkk AT spth.de>
13078 Work around lack of link-time arithmetic.
13080 2019-01-10 Philipp Klaus Krause <pkk AT spth.de>
13083 device/lib/pdk14/__gptrget.s:
13084 Use knowledge on byte order for push af.
13086 2019-01-09 Philipp Klaus Krause <pkk AT spth.de>
13089 Fix invalid use of .dw for variables in ROM.
13091 Fix various issues in code generation.
13093 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13096 device/lib/pdk14/__gptrget.s:
13097 Support variables in ROM.
13099 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13102 src/pdk/ralloc2.cc:
13105 Enable standard library call optimization for pdk14.
13107 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13110 src/pdk/ralloc2.cc:
13111 Optimize conditional jump on bit test.
13113 2019-01-09 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13116 Fixes for subtraction.
13118 Fix output of __sfr locations.
13120 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13123 Generate better code for ^, |, &.
13125 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13128 Slightly improve __sfr16 handling, fix pseudoregister saving in interrupt routine.
13130 Fix zero-initialization of upper byte of pseudo-register p.
13132 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13134 * support/regression/tests/*.c:
13135 Enable some regression tests that need struct assignment support.
13137 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13140 device/lib/pdk14/Makefile.in:
13141 Implement unary float minus, enable build of most of the float library.
13143 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13146 Fix handling of non-stack temporary operands in cost function.
13147 * device/lib/pdk14/Makefile.in:
13148 Enable build of more library functions.
13150 2019-01-08 Philipp Klaus Krause <pkk AT spth.de>
13152 * src/stm8/peeph.def:
13153 Fixes and improvements for stm8 peephole rules, patch by Visenri.
13155 2019-01-07 Philipp Klaus Krause <pkk AT spth.de>
13160 Only use eZ80 lea for stack frame setup when doing so provides a code size advantage.
13162 Bump version for stable ez80_z80 backend.
13163 * support/regression/Makefile.in:
13164 Include ez80_z80 backend in test-z80 target.
13166 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13168 * support/regression/ports/ez80-z80/spec.mk:
13169 Use new eZ80 uCsim in ez80_z80 regression tests.
13173 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13177 Support for return values wider than 16 bit.
13179 Fix handling of 1-byte stack parameters.
13181 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13184 Fixes for reentrant functions.
13186 2019-01-07 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13189 Fix handling of stack adjustment on early return for on-stack variables.
13191 Initialize upper byte of pseudo-register p.
13193 2019-01-06 Philipp Klaus Krause <pkk AT spth.de>
13198 Improve support for reentrant functions.
13199 * support/regression/ports/pdk14,
13200 support/regression/Makefile.in,
13201 support/regression/fwk/include/testfwk.h:
13202 Basic infrastructure for future pdk14 regression testing.
13204 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13207 Initialization of global / static variables.
13209 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13211 * device/lib/pdk14/Makefile.in:
13212 Don't try to compile library functions that will not work anytime soon.
13214 Emit sfr locations for pdk14.
13215 * device/include/stdlib.h:
13216 Mark bsearch(), qsort() function pointers as __reentrant for pdk14.
13218 Properly announce lack of support for extended bit operations.
13220 Fix some cases of pointer read / write.
13222 Pass 8-bit arguments as 16 bit on stack on pdk14 to satisfy alignment requirements.
13224 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13227 Improve error handling on missing output storage class.
13229 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13232 Implement & for stack objects.
13233 * device/lib/pdk14/Makefile.in:
13234 Don't try to compile library functions that will not work anytime soon.
13236 2019-01-05 Philipp Klaus Krause <pkk AT spth.de>
13240 src/pdk/ralloc2.cc:
13241 Better unsigned char comparisons.
13242 * device/lib/pdk14,
13245 Infrastructure for pdk14 library.
13247 2019-01-04 Philipp Klaus Krause <pkk AT spth.de>
13251 Rudimentary support for arguments on the stack.
13253 2019-01-03 Philipp Klaus Krause <pkk AT spth.de>
13258 Implement basic I/O support (__sfr, __sfr16).
13261 Prepare for future pdk13, pdk15 and pdk16 backends.
13263 2019-01-03 Benedikt Freisen <b.freisen AT gmx.net>
13268 2019-01-03 Philipp Klaus Krause <pkk AT spth.de>
13271 src/pdk/ralloc2.cc:
13272 Implement support for dummy read from volatile in direct space.
13274 2019-01-02 Philipp Klaus Krause <pkk AT spth.de>
13279 support/valdiag/tests/bug-2773.c:
13281 * src/ds390/main.c:
13282 Change the name of a hackish predefined macro for standard-compliance.
13284 2018-12-31 Philipp Klaus Krause <pkk AT spth.de>
13287 Document default calling convention for z80, z180, r2k, r3ka, ez80_z80, tlcs90, stm8.
13297 * src/SDCClospre.hpp,
13298 support/regression/tests/bug-2558.c:
13302 * device/lib/printf_large.c,
13303 support/regression/tests/bug-2732.c:
13306 2018-12-30 Philipp Klaus Krause <pkk AT spth.de>
13308 * support/regression/tests/bug-2854.c:
13309 Fix read from uninitialized memory.
13311 Handle eZ80 lea, pea in peephole size calculation.
13313 2018-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
13315 * support/regression/tests/bug-2854.c: disabled test, segmentation fault
13316 * configure, configure.ac: fixed help text
13317 * device/lib/clean.mk: also clean ez80
13319 2018-12-20 Philipp Klaus Krause <pkk AT spth.de>
13322 Improve use of eZ80, Rabbit, TLCS-90 16-bit load.
13324 2018-12-19 Philipp Klaus Krause <pkk AT spth.de>
13327 Implement RFE #594.
13329 2018-12-19 Philipp Klaus Krause <pkk AT spth.de>
13332 Fix a recently-introduced bug in handling of 32-bit return values for gbz80.
13334 2018-12-18 Philipp Klaus Krause <pkk AT spth.de>
13336 * sdas/asz80/z80mch.c,
13337 sdas/asz80/z80pst.c,
13338 sdas/asz80/tez80.asm:
13339 Improve eZ80 assembler support, patch by Hynek Sladký.
13341 2018-12-16 Philipp Klaus Krause <pkk AT spth.de>
13344 Fix a bug in wide read via pointer.
13346 2018-12-16 Philipp Klaus Krause <pkk AT spth.de>
13351 2018-12-15 Maarten Brock <sourceforge.brock AT dse.nl>
13353 * configure, configure.ac: changed warning into notice
13354 * sdas/asz80/z80mch.c: cosmetic
13355 * src/sdcc.vcxproj,
13356 * src/sdcc.vcxproj.filters: added missing SDCC.lex & SDCC.y
13357 * support/cpp/libcpp/files.c,
13358 * support/cpp/libcpp/identifiers.c,
13359 * support/cpp/libcpp/init.c,
13360 * support/cpp/libcpp/symtab.c: fixed warnings for unsigned size_t
13361 * support/regression/tests/bitopcse.c: only use idata for mcs51
13362 * support/regression/tests/gcc-torture-execute-20021120-1.c: disabled for
13363 hc08 & s08, uses way too much spillocs in DSEG
13364 * support/regression/tests/longlong.c: split the test in 3 parts
13365 * support/sdbinutils/bfd/targets.c: added "ASXXXX"
13366 * support/sdbinutils/libiberty/simple-object-elf.c: fixed warning
13368 2018-12-14 Philipp Klaus Krause <pkk AT spth.de>
13371 Refactor handling of return values, steps towards RFE #594.
13373 2018-12-13 Philipp Klaus Krause <pkk AT spth.de>
13376 support/regression/tests/bug-2710.c:
13379 sim/ucsim/Makefile.in:
13380 Remove dist target, fix bug #2679.
13381 * src/SDCCtree_dec.hpp:
13382 Improve fix for #1874.
13383 * sdas/asz80/z80mch.c:
13384 Turn a few eZ80-related warning into comments.
13386 2018-12-12 Philipp Klaus Krause <pkk AT spth.de>
13388 * sdas/asz80/z80mch.c:
13389 Fix handling of tst for eZ80, patch by Hynek Sladký.
13391 support/regression/tests/bug-2854.c:
13392 Fix an issue in 8-bit parameters to __z88dk_fastcall, bugs #2852 and #2854.
13393 * src/hc08/ralloc2.cc:
13395 * src/stm8/ralloc.c,
13397 support/regression/tests/bug-2501.c:
13400 2018-12-11 Philipp Klaus Krause <pkk AT spth.de>
13402 * Merged ez80_z80 branch to trunk.
13404 2018-12-11 Philipp Klaus Krause <pkk AT spth.de>
13406 * device/include/math.h,
13407 device/include/sdcc-lib.h:
13408 Fixes for ez80_z80 library.
13409 * support/regression/ports/ez80-z80/spec.mk,
13410 support/regression/ports/ucz180/spec.mk:
13411 Preparation for ez80_z80 regression testing.
13413 2018-12-05 Philipp Klaus Krause <pkk AT spth.de>
13415 * sdas/asz80/z80mch.c:
13416 Improve eZ80 support in assembler, patch by Hynek Sladký.
13419 device/lib/Makefile.in,
13420 device/lib/ez80_z80/Makefile.in,
13422 device/lib/ez80_z80:
13425 2018-12-05 Philipp Klaus Krause <pkk AT spth.de>
13427 * src/pdk/ralloc2.cc,
13429 Improve code for shifts.
13431 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13433 * src/pdk/ralloc2.cc,
13435 Improve use of pseudoregister p.
13437 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13439 * src/SDCCtree_dec.hpp:
13442 2018-12-04 Maarten Brock <sourceforge.brock AT dse.nl>
13444 * SDCCerr.c: replaced include sdccconf.h by SDCCglobl.h, required for MSVC
13446 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13449 Basic support for function pointers.
13451 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13454 Improve code generation for jump on comparison.
13456 2018-12-04 Philipp Klaus Krause <pkk AT spth.de>
13459 Fix an issue in code generation for pointer read.
13461 2018-12-03 Philipp Klaus Krause <pkk AT spth.de>
13463 * src/pdk/ralloc.c,
13465 src/pdk/ralloc2.cc,
13469 Basic register allocation.
13471 2018-12-03 Philipp Klaus Krause <pkk AT spth.de>
13473 * src/pdk/ralloc.c,
13475 Allow return of up to 2 bytes.
13477 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13480 Report lack of hardware multiplication.
13482 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13487 Implement basic support for pointers.
13489 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13492 Implement comparison.
13494 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13498 Switch to little-endian to ease pointer-integer casts, fix addition.
13500 2018-12-03 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13503 Implement shifts, complement, negation.
13505 2018-12-02 Philipp Klaus Krause <pkk AT spth.de>
13508 Peephole function for z88dk, patch from zsdcc fork diff by Phillip Stevens.
13517 More z88dk-specific calling conventions, patch from zsdcc fork diff by Phillip Stevens.
13519 2018-12-02 Philipp Klaus Krause <pkk AT spth.de>
13527 src/pdk/Makefile.in,
13531 Basic infrastructure for pdk14 backend.
13533 2018-12-01 Philipp Klaus Krause <pkk AT spth.de>
13536 Use lea for ez80_z80.
13537 * sdas/asz80/z80.h,
13538 sdas/asz80/z80adr.c,
13539 sdas/asz80/z80mch.c,
13540 sdas/asz80/z80pst.c:
13541 eZ80 support in assembler, patch by Hynek Sladký.
13543 Use assembler ez80 mode for ez80_z80 backend.
13545 2018-12-01 Philipp Klaus Krause <pkk AT spth.de>
13548 genAddrOf refactoring.
13550 2018-11-30 Philipp Klaus Krause <pkk AT spth.de>
13560 support/regression/ports/ez80-z80,
13561 device/include/setjmp.h,
13562 device/include/stdarg.h,
13563 device/include/stdlib.h,
13564 device/include/string.h,
13565 support/regression/fwk/include/testfwk.h:
13566 Basic ez80_z80 backend.
13568 2018-11-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13571 Improve code generation for negation.
13573 2018-11-30 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13576 Fix an issue in shift of large on-stack operands (part of bug #2844).
13578 2018-11-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13581 Fix an issue in call to function returning struct / union.
13583 2018-11-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13586 Fix an issue in code generation for subtraction (part of bug #2844).
13588 2018-11-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13591 support/regression/tests/bug-2842.c:
13594 2018-11-24 Philipp Klaus Krause <pkk AT spth.de>
13597 Improve handling of right subtraction operand in a.
13599 2018-11-22 Philipp Klaus Krause <pkk AT spth.de>
13602 Fix an issue in right shift.
13604 2018-11-20 Philipp Klaus Krause <pkk AT spth.de>
13607 Improvements for previous commit
13608 * src/SDCCsalloc.hpp:
13609 New stack allocator: unaligned Chaitin.
13611 2018-11-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13614 Slightly more verbose error reporting.
13616 2018-11-18 Philipp Klaus Krause <pkk AT spth.de>
13624 Provide backtrace on some internal errors.
13626 2018-11-16 Philipp Klaus Krause <pkk AT spth.de>
13629 Fix right shift of literal.
13631 2018-11-15 Philipp Klaus Krause <pkk AT spth.de>
13633 * support/regression/Makefile.in:
13634 Include stm8-large in default target for regression tests.
13636 Improve code generation for wide negation.
13638 2018-11-14 Philipp Klaus Krause <pkk AT spth.de>
13640 * src/SDCCsalloc.hpp,
13642 A bit of fine-tuning in the aligned Chaitin stack allocator to avoid some inefficiencies from alignment.
13644 2018-11-14 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13647 Fix issues in z80 code generation.
13648 * src/z80/mappings.i:
13649 Consistently use space after comma in asm output.
13651 2018-11-13 Philipp Klaus Krause <pkk AT spth.de>
13654 support/regression/tests/oldfmul.c:
13655 Fix an issue in code generation for shifts found while experimenting with stack allocation.
13657 src/SDCCsalloc.hpp,
13659 src/stm8/ralloc2.cc,
13661 New stack allocator for stm8: aligned Chaitin.
13662 * device/lib/_fsmul.c:
13663 Improve float multiplication routine a bit.
13664 * support/regression/tests/bug-2833.c:
13665 Disable a new test for ds390 (where it fails).
13667 More flexible handling of register x in read from pointer.
13669 2018-11-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13671 * support/regression/tests/bug-2834.c:
13672 Test for bug #2834.
13674 support/regression/tests/bug-2833.c:
13675 Fix bug #2833 (patch by Noam Preil).
13677 Minor improvements in handling on-stack variables.
13678 * src/SDCCsalloc.hpp,
13681 src/SDCCralloc.hpp,
13684 src/z80/ralloc2.cc:
13685 New default stack allocator for z80 and related: aligned Chaitin.
13686 * src/stm8/ralloc.c,
13688 src/stm8/ralloc2.cc,
13690 src/z80/ralloc2.cc:
13691 Prepare for new stack allocator for stm8.
13693 Fix an issue in code generation for comparisons.
13695 2018-11-11 Philipp Klaus Krause <pkk AT spth.de>
13697 * src/z80/ralloc.h,
13699 src/z80/ralloc2.cc:
13700 Refactoring to prepare for alternative stack allocation.
13702 2018-11-08 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13704 * support/regression/tests/bug-2833.c:
13705 Test for bug #2833.
13707 2018-11-07 Philipp Klaus Krause <pkk AT spth.de>
13710 Improve code generation for some multiplications.
13711 * sim/ucsim/stm8.src/stm8.cc,
13712 sim/ucsim/stm8.src/inst.cc:
13713 Improve accuracy of timing in stm8 simulator.
13714 * src/stm8/peeph.def:
13715 Peephole rule to improve shifting via spilled pointers.
13717 2018-11-06 Philipp Klaus Krause <pkk AT spth.de>
13720 Apply % to & optimization in a few more cases.
13722 2018-11-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13724 * sim/ucsim/cmd.src/cmd_uc.cc,
13725 sim/ucsim/sim.src/hw.cc,
13726 sim/ucsim/sim.src/serial_hw.cc,
13727 sim/ucsim/sim.src/simifcl.h,
13728 sdas/linksrc/lklibr.c,
13731 Cherry-pick a few spelling fixes from Debian.
13733 2018-10-29 Philipp Klaus Krause <pkk AT spth.de>
13736 Improve code for dummy read.
13737 * support/regression/tests/gcc-torture-execute-pr38212.c,
13738 support/regression/tests/cse.c:
13739 Enable tests that no longer fail.
13741 2018-10-29 Philipp Klaus Krause <pkk AT spth.de>
13747 Support offsets from symbols in rematerialization (RFE #446).
13749 2018-10-26 Philipp Klaus Krause <pkk AT spth.de>
13751 * src/mcs51/peeph.def:
13752 Fix a bug in an mcs51 peephole rule.
13754 2018-10-25 Philipp Klaus Krause <pkk AT spth.de>
13756 * src/mcs51/peeph.def:
13759 Fix some --reserve-regs-iy issues.
13760 * src/z80/mappings.i:
13761 Reformat to better match generated code.
13763 2018-10-24 Philipp Klaus Krause <pkk AT spth.de>
13766 Improve distance estimation for direct long addressing mode for jp and call.
13768 2018-10-24 Philipp Klaus Krause <pkk AT spth.de>
13772 Generalize the fix for #2830 to improve some peephole optimizations.
13774 2018-10-23 Philipp Klaus Krause <pkk AT spth.de>
13777 Fix bug #2830, patch by Tom Li.
13779 2018-10-22 Philipp Klaus Krause <pkk AT spth.de>
13781 * src/SDCClrange.c,
13782 support/regression/tests/bug-2826.c:
13783 Fix bug #2826 in preincrement optimization.
13785 Bump version for completion of machine-independent preincrement opt.
13787 Improve code generation for 16-bit increment of global variables.
13788 * src/z80/peeph-z80.def,
13789 src/z80/peeph-r2k.def:
13790 Optimize reuse of hl.
13792 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13795 Improve 16-bit pointer write, completes RFE #521.
13797 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13802 2018-10-18 Philipp Klaus Krause <pkk AT spth.de>
13806 src/SDCCralloc.hpp,
13810 src/stm8/peeph.def:
13811 Improve volatile handling in peepholes, fix a bug and implement RFE #585.
13813 Improve pointer read for stm8, completes RFE #545.
13815 2018-10-17 Philipp Klaus Krause <pkk AT spth.de>
13817 * support/regression/tests/bug-2822.c:
13818 Make test work for hc08.
13819 * device/lib/Makefile.in,
13823 2018-10-16 Philipp Klaus Krause <pkk AT spth.de>
13825 * src/stm8/peeph.def:
13826 Minor stm8 peephole improvement, RFE #584.
13828 Fix bug #2801, #2674.
13830 2018-10-15 Philipp Klaus Krause <pkk AT spth.de>
13832 * src/z80/ralloc2.cc,
13833 support/regression/tests/bug-2822.c:
13835 * src/SDCClospre.cc,
13836 support/regression/tests/bug-2820.c:
13839 support/regression/tests/bug-2805.c:
13842 2018-10-09 Philipp Klaus Krause <pkk AT spth.de>
13845 Use bit transfer instructions for 1-bit bit-field (part of RFE #446).
13847 2018-10-08 Philipp Klaus Krause <pkk AT spth.de>
13849 * src/z80/peeph-z80.def:
13850 Optimizations for 8-bit loop counters (RFE #431).
13852 Use bit set / reset instructions for 1-bit bit-fields (part of RFE #446).
13854 2018-10-08 Philipp Klaus Krause <pkk AT spth.de>
13857 Improve code generation for 8-bit integers (addition of small constants, paramter passing) (RFE #583).
13863 * src/SDCClrange.c,
13867 src/z80/peeph-z80.def:
13868 Optimize postincrement (RFE #581).
13870 2018-10-02 Philipp Klaus Krause <pkk AT spth.de>
13873 Fix an issue that resulted in overestimation of remat costs.
13874 * src/stm8/peeph.def:
13875 Optimize out dead loads from stack.
13876 * device/include/asm/*/features.h,
13877 device/lib/Makefile.in,
13878 device/lib/_memmove.c,
13879 device/lib/clean.mk,
13880 device/lib/__memcpy.c,
13881 device/lib/memcpy.c,
13882 device/lib/stm8-large/memcpy.s,
13883 device/lib/*/Makefile.in:
13884 Library memcpy() cleanup.
13886 2018-10-02 Philipp Klaus Krause <pkk AT spth.de>
13889 Improve wide arithmetic right shift.
13891 2018-10-01 Philipp Klaus Krause <pkk AT spth.de>
13893 * src/stm8/ralloc.c,
13896 Basic support for rematerialization of stack addresses.
13898 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13901 Improve wide addition.
13903 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13906 Improve 32-bit right shift by 6 to 7.
13908 2018-10-01 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
13911 Port an operand narrowing optimization to UNARYMINUS.
13913 Improve handling of trailing 0 in wide comparison.
13915 2018-09-29 Philipp Klaus Krause <pkk AT spth.de>
13917 * support/regression/tests/structassign.c:
13918 Use exactly representable values in union assignment test.
13919 * src/SDCClospre.cc:
13920 Prepare for use of different container types.
13921 * src/SDCCtree_dec.hpp:
13924 2018-09-27 Philipp Klaus Krause <pkk AT spth.de>
13926 * Merge next branch.
13928 2018-09-27 Philipp Klaus Krause <pkk AT spth.de>
13930 * src/SDCCtree_dec.hpp:
13931 Cherry-pick a minor performance improvement from lospre-vs-mcpre branch.
13933 2018-09-26 Philipp Klaus Krause <pkk AT spth.de>
13935 * src/SDCCtree_dec.hpp,
13936 src/SDCClospre.hpp,
13938 Remove hard dependencies on std::set to allow future transition to other containers.
13940 2018-09-25 Philipp Klaus Krause <pkk AT spth.de>
13947 support/valdiag/tests/struct.c,
13948 support/valdiag/tests/structflexiblearray.c:
13949 Fix bugs #2774, 2775.
13951 2018-09-23 Philipp Klaus Krause <pkk AT spth.de>
13953 * src/SDCClospre.hpp,
13954 src/SDCCralloc.hpp:
13955 Speed and memory usage improvements for tree-decomposition based algorithms.
13957 2018-09-20 Philipp Klaus Krause <pkk AT spth.de>
13959 * src/z80/peeph-r2k.def,
13960 src/z80/peeph-tlcs90.def,
13961 src/z80/peeph-z80.def:
13964 2018-09-19 Philipp Klaus Krause <pkk AT spth.de>
13966 * support/scripts/repack_release.sh:
13967 Update script for 3.8.0 release.
13969 2018-09-18 Philipp Klaus Krause <pkk AT spth.de>
13972 List TLCS-90 as supported target.
13973 * src/z80/peeph-z80.def,
13974 src/z80/peeph-r2k.def:
13975 Minor z80 peephole improvement.
13977 2018-09-16 Philipp Klaus Krause <pkk AT spth.de>
13982 Bump version number preparing for 3.8.0 release.
13984 2018-09-14 Philipp Klaus Krause <pkk AT spth.de>
13987 support/regression/tests/smallc.c,
13988 support/regression/tests/bug-2590.c,
13989 support/regression/tests/z88dk.c:
13990 Disable __smallc for stm8.
13992 2018-09-13 Philipp Klaus Krause <pkk AT spth.de>
14000 2018-09-12 Philipp Klaus Krause <pkk AT spth.de>
14003 support/regression/tests/iso-8859-1.c:
14006 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14009 Improve wide right shift.
14011 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14013 * src/stm8/ralloc2.cc,
14015 Improve jump on sign bit.
14017 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14019 * support/regression/tests/structassign.c:
14020 Test more struct sizes.
14023 * src/stm8/peeph.def:
14024 Minor stm8 peephole improvement.
14026 Improve wide pointer reads and shifts.
14028 Improve notUsed() accuracy.
14030 2018-09-11 Philipp Klaus Krause <pkk AT spth.de>
14032 * device/include/string.h,
14033 device/lib/_memcpy.c,
14034 device/lib/stm8/memcpy.s,
14042 support/regression/tests/gcc-torture-execute-20011008-3.c,
14043 support/regression/tests/gcc-torture-execute-20050826-2.c,
14044 support/regression/tests/gcc-torture-execute-lto-tbaa-1.c,
14045 support/regression/tests/gcc-torture-execute-pr39339.c,
14046 support/regression/tests/gcc-torture-execute-pr70127.c,
14047 support/regression/tests/gcc-torture-execute-struct-cpy-1.c,
14048 support/regression/tests/structassign.c:
14049 Support for struct / union assignment, patch by Benedikt Freisen (roybaer).
14051 2018-09-10 Philipp Klaus Krause <pkk AT spth.de>
14053 * src/stm8/peeph.def:
14054 Minor stm8 peephole improvement.
14056 support/regression/tests/gcc-torture-execute-991112-1.c:
14057 Fix a bug in function pointer handling.
14059 2018-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14061 * support/cpp/Makefile.in: move current directory earlier in
14062 the include file search path
14064 2018-09-01 Philipp Klaus Krause <pkk AT spth.de>
14067 support/regression/tests/bug-2807.c:
14070 2018-08-30 Philipp Klaus Krause <pkk AT spth.de>
14074 Make default segment ordering suitable for large memory model.
14075 * support/regression/tests/gcc-torture-execute-func-ptr-1.c:
14076 Enable test that now passes for stm8 large memory model.
14078 2018-08-26 Philipp Klaus Krause <pkk AT spth.de>
14080 * device/lib/pic14/*,
14081 device/lib/pic16/*:
14082 Regenerate files to fix bug #2806.
14083 * src/SDCClospre.cc:
14084 Minor lospre code refactoring.
14086 2018-08-25 Philipp Klaus Krause <pkk AT spth.de>
14090 support/regression/tests/bug-2804.c:
14092 * src/stm8/peeph.def:
14093 Remove redundant ret.
14094 * src/SDCClospre.cc:
14095 Trigger assertion failure before SIGSEV when dumping graph of non-existing function.
14097 2018-08-24 Philipp Klaus Krause <pkk AT spth.de>
14099 * support/regression/tests/gcc-torture-execute-strcpy-1.c:
14100 Reduce risk of timeout due to long test.
14102 2018-08-23 Philipp Klaus Krause <pkk AT spth.de>
14104 * sim/ucsim/stm8.src/stm8.cc:
14107 2018-08-22 Philipp Klaus Krause <pkk AT spth.de>
14109 * support/regression/ports/hc08/spec.mk,
14110 support/regression/ports/s08/spec.mk,
14111 support/regression/tests/gcc-torture-execute-arith-rand.c,
14112 support/regression/tests/gcc-torture-execute-strcmp-1.c,
14113 support/regression/tests/gcc-torture-execute-strncmp-1.c:
14114 Reduce risk of timeouts due to long tests.
14115 * support/regression/tests/rand.c:
14116 Disable a test on the broken OpenBSD.
14118 2018-08-20 Philipp Klaus Krause <pkk AT spth.de>
14120 * sdcc/doc/sdccman.lyx:
14121 Update documentation on library memory models.
14123 2018-08-20 Philipp Klaus Krause <pkk AT spth.de>
14125 * sdcc/sdccconf_in.h,
14126 sdcc/doc/sdccman.lyx:
14127 Remove infrastructure for STX support.
14129 2018-08-14 Maarten Brock <sourceforge.brock AT dse.nl>
14131 * support/regression/tests/gcc-torture-execute-20060110-2.c: enabled test
14132 * support/regression/tests/gcc-torture-execute-arith-rand.c: run only 100x
14134 2018-08-13 Maarten Brock <sourceforge.brock AT dse.nl>
14136 * src/mcs51/gen.c (genSend): fixed bugs #2778, #2736
14137 * support/regression/tests/gcc-torture-execute-divconst-3.c: enabled test
14138 * support/regression/fwk/include/testfwk.h: added __printu, fixed __printd
14139 * support/regression/tests/bug-1981238.c: enabled more tests
14140 * support/regression/tests/gcc-torture-execute-pr86231.c: fixed warnings
14141 * support/regression/tests/gcc-torture-execute-va-arg-14.c: suppress warning
14143 2018-08-10 Philipp Klaus Krause <pkk AT spth.de>
14145 * support/regression/tests/gcc-torture-execute-pr85529-2.c:
14146 Disable a test for older GCC.
14147 * support/regression/tests/new_wide.c:
14148 Disable a test for host.
14150 2018-08-08 Philipp Klaus Krause <pkk AT spth.de>
14155 2018-08-06 Philipp Klaus Krause <pkk AT spth.de>
14157 * support/regression/tests/gcc-torture-execute-pr85529-1.c:
14158 Disable a test for older GCC.
14160 2018-08-05 Philipp Klaus Krause <pkk AT spth.de>
14163 Improve error message on unbalanced stack.
14164 * support/regression/tests/bug-2793.c:
14165 Test for bug #2793.
14167 2018-08-03 Philipp Klaus Krause <pkk AT spth.de>
14170 Fix an issue introduced in the bugfix for #2665.
14172 src/stm8/peeph.def:
14173 Minor improvements in STM8 peephole optimization.
14175 Minor improvement in STM8 subtraction codegen.
14177 2018-08-02 Philipp Klaus Krause <pkk AT spth.de>
14179 * support/regression/tests/gcc-torture-execute-va-arg-5.c:
14180 Disable a test for older GCC.
14181 * support/regression/ports/uc*/spec.mk:
14182 Harmonize simulation timeouts for z80-related.
14187 device/lib/_rrulonglong.c,
14188 device/lib/_rlulonglong.c,
14189 device/lib/_rrslonglong.c,
14190 device/lib/_rlslonglong.c:
14193 2018-08-01 Philipp Klaus Krause <pkk AT spth.de>
14195 * src/stm8/peeph.def,
14196 support/regression/tests/compare.c:
14197 Improve range checks on 8- and 16-bit variables.
14198 * support/regression/tests/gcc-torture-execute-vrp-7.c:
14199 Disable test which fails for z80-related for tlcs90, also.
14201 2018-07-31 Philipp Klaus Krause <pkk AT spth.de>
14203 * src/stm8/ralloc.c,
14205 Improve shift of global variables by 1.
14207 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14210 support/regression/tests/gcc-torture-execute-wchar_t-1.c,
14213 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14216 support/regression/tests/gcc-torture-execute-wchar_t-1.c,
14217 support/regression/tests/gcc-torture-execute-widechar-2.c:
14220 2018-07-30 Philipp Klaus Krause <pkk AT spth.de>
14222 * support/regression/tests/gcc-torture-execute-*.c:
14223 Add tests from GCC 8.2.
14225 2018-07-29 Philipp Klaus Krause <pkk AT spth.de>
14229 support/regression/tests/gcc-torture-execute-*.c:
14230 Disable some warnings.
14232 2018-07-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14234 * src/pic14/glue.c:
14235 Fix an issue introduced with support for C99 intermingling of declarations and statements.
14237 2018-07-14 Philipp Klaus Krause <pkk AT spth.de>
14239 * src/SDCClospre.cc,
14240 src/SDCClospre.hpp:
14243 2018-07-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14246 support/regression/tests/bug-2771.c:
14248 * src/SDCClospre.cc:
14249 Improve lospre debug output.
14251 2018-07-12 Philipp Klaus Krause <pkk AT spth.de>
14254 support/regression/tests/bug-2770.c:
14256 * device/include/mcs51/ax8052.h,
14257 device/include/mcs51/ax8052f131.h,
14258 device/include/mcs51/ax8052f142.h,
14259 device/include/mcs51/ax8052f143.h,
14260 device/include/mcs51/ax8052f151.h,
14261 device/include/mcs51/compiler.h:
14262 Headers for Axsem 8052, patch #166 by Thomas Sailer.
14264 2018-07-05 Philipp Klaus Krause <pkk AT spth.de>
14266 * src/SDCClospre.hpp:
14274 Improve code quality fixing a few gcc -pedantic warnings.
14276 2018-07-03 Philipp Klaus Krause <pkk AT spth.de>
14279 support/regression/tests/bug-2767.c:
14282 2018-07-02 Philipp Klaus Krause <pkk AT spth.de>
14284 * support/regression/tests/bug-2764.c:
14285 Fix test for systems with int wider than 16 bits.
14287 2018-06-28 Philipp Klaus Krause <pkk AT spth.de>
14289 * support/regression/tests/bug-2764.c,
14291 src/stm8/peeph.def:
14294 2018-06-28 Ben Shi <powerstudio1st AT 163 DOT com>
14296 * support/regression/tests/gcc-torture-execute-20040409-2.c:
14297 Disabled more tests for arm64.
14299 2018-06-27 Philipp Klaus Krause <pkk AT spth.de>
14301 * src/mcs51/peep.c:
14303 * device/lib/z80/crt0.s,
14304 device/lib/z180/crt0.s:
14305 Implement ei for RFE #519.
14306 * src/SDCCbtree.cc,
14310 Remove use of STX, RFE #542.
14312 2018-06-26 Ben Shi <powerstudio1st AT 163 DOT com>
14314 * support/regression/tests/gcc-torture-execute-20040409-1.c:
14315 * support/regression/tests/gcc-torture-execute-20040409-2.c:
14316 * support/regression/tests/gcc-torture-execute-20040409-3.c:
14317 Disabled for arm64.
14319 2018-06-25 Philipp Klaus Krause <pkk AT spth.de>
14321 * support/regression/tests/bug-2363.c:
14322 Disable test for mcs51 small model.
14324 2018-06-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14326 * src/SDCCcse.c: remove leftover debugging (fix bug #2763)
14328 2018-06-21 Philipp Klaus Krause <pkk AT spth.de>
14330 * sdas/asxxsrc/asdbg.c:
14331 Fix an assembler issue, alternative fix to patch #286.
14332 * support/regression/tests/bug-2750.c:
14333 Regression test for bug #2750.
14334 * support/regression/tests/bug-2363.c:
14335 Regression test for bug #2363.
14337 2018-06-17 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14355 support/regression/tests/p99-conformance.c,
14356 support/regression/tests/declafterstmt.c,
14357 support/valdiag/tests/declafterstmt.c:
14358 Support for C99 intermingling of declaration and statements, patch by Benedikt Freisen.
14360 Update documentation on standard support.
14362 2018-06-15 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14364 * src/SDCClospre.hpp,
14365 support/regression/tests/bug-2761.c:
14368 Optimize division from pointer subtraction.
14372 2018-06-13 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14376 Infrastructure for custom iCode dump point.
14377 * src/SDCClospre.hpp:
14378 Fix handling of use vector in lospre.
14379 * src/SDCClrange.h,
14382 Fix secondary issue in bug #2756.
14383 * device/include/uchar.h,
14384 device/lib/incl.mk,
14385 device/lib/mbstoc16s.c,
14386 device/lib/c16stombs.c,
14387 support/regression/tests/new_wide.c
14388 Functions for converting between UTF-8 and UTF-16 strings.
14390 2018-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14392 * src/SDCCcse.c: fix bugs #2709 and #1951
14393 * support/regression/tests/gcc-torture-execute-20001027-1.c,
14394 * support/regression/tests/bug-2708.c: enable tests
14396 2018-06-13 Ben Shi <powerstudio1st AT 163 DOT com>
14398 * support/regression/tests/bug-2756.c:
14399 disabled for test-mcs51-large and test-mcs51-huge due to build failure.
14401 2018-06-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14403 * src/SDCCset.c: reduce memory use of unionSets()
14405 2018-06-12 Ben Shi <powerstudio1st AT 163 DOT com>
14407 * support/regression/tests/bug-2756.c:
14408 disabled for test-host.
14410 2018-06-12 Philipp Klaus Krause <pkk AT spth.de>
14412 * src/SDCCralloc.hpp,
14413 support/regression/tests/bug-2756.c:
14414 Fix main issue in bug #2756.
14416 2018-06-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14418 * src/hc08/ralloc.c: fix bug #2737
14420 2018-06-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14422 * src/SDCCbitv.c: fix bug #2759
14423 * src/SDCCglue.c: fix bug #2749
14424 * support/regression/tests/bug-2749: enable test
14426 2018-06-11 Ben Shi <powerstudio1st AT 163 DOT com>
14428 * support/regression/tests/literalop.c:
14429 Improved for aarch64.
14431 2018-06-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14434 * src/SDCCbitv.h: simplify to only access bit vector as unsigned
14435 int, add functions for in-place intersection and union operations
14437 * src/SDCCset.h: new function destructItemIf calls a destructor
14438 function before deleting a set item
14439 * src/SDCCBBlock.c,
14440 * src/SDCCBBlock.h,
14441 * src/SDCCopt.c: free some eBBlock data when switching to iCode chain
14442 * src/SDCCcflow.c: free code flow data when not needed
14445 * src/SDCCcse.h: free data flow and CSE data when not needed
14447 2018-06-08 Ben Shi <powerstudio1st AT 163 DOT com>
14449 * support/regression/tests/bitwise.c:
14450 Improved for aarch64.
14452 2018-06-08 Philipp Klaus Krause <pkk AT spth.de>
14454 * src/stm8/ralloc.c,
14456 Narrow reads from pointers, RFE #559.
14458 Improve documentation for --stack-loc.
14460 2018-06-06 Ben Shi <powerstudio1st AT 163 DOT com>
14462 * sim/ucsim/config.guess:
14463 updated to the newest version. (timestamp='2018-05-19')
14465 2018-06-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14467 * src/z80/peeph-z80.def: fixed peephole rule 153 (possibly fix for
14470 2018-06-04 Philipp Klaus Krause <pkk AT spth.de>
14472 * sdas/asz80/z80.h,
14473 sdas/asz80/z80adr.c,
14474 sdas/asz80/z80mch.c,
14475 sdas/asz80/z80pst.c:
14476 Assembler support for ZX Spectrum Next opcodes: Patch by pauloscustodio.
14478 2018-06-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14480 * src/SDCCast.c (expandInlineFuncs): fix bug #2752
14481 * support/regression/tests/bug-2752.c: enable test
14483 2018-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14485 * support/scripts/sdcc.nsi: mingw-w64 needs libwinpthread-1.dll
14486 * support/scripts/sdcc.nsi: add stm8-large library to setup.exe package
14488 2018-05-28 Philipp Klaus Krause <pkk AT spth.de>
14492 Improve behaviour on unknown register specifications.
14494 2018-05-27 Philipp Klaus Krause <pkk AT spth.de>
14496 * support/regression/tests/bug-2752.c:
14499 2018-05-26 Philipp Klaus Krause <pkk AT spth.de>
14504 2018-05-24 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14506 * src/stm8/peeph.def:
14507 Improve documentation for jump-on-false-style optimization.
14509 2018-05-12 Philipp Klaus Krause <pkk AT spth.de>
14511 * src/stm8/peeph.def:
14512 Improve jump-on-false-style optimization.
14514 2018-05-10 Philipp Klaus Krause <pkk AT spth.de>
14517 support/regression/tests/assert.c,
14518 support/valdiag/tests/static_assert.c:
14519 Add pragma for C2X, fix pragma for C99.
14520 * src/stm8/peeph.def:
14521 Various optimizations that help in stdcbench.
14522 * src/stm8/ralloc.c:
14523 Improve code for pushing globals.
14525 2018-05-09 Philipp Klaus Krause <pkk AT spth.de>
14532 Support for C2X static_assert variant.
14534 2018-05-09 Philipp Klaus Krause <pkk AT spth.de>
14538 Fix use of undefined behaviour (left shift by negative amount).
14539 * support/regression/tests/bug-2749.c:
14540 Test for bug #2749.
14546 src/pic14/genarith.c,
14547 src/pic16/genarith.c,
14549 Code cleanup by relying on ISO C99 support.
14551 2018-05-08 Philipp Klaus Krause <pkk AT spth.de>
14553 * support/regression/tests/bug-2746.c:
14554 Test for bug #2746.
14556 Fix reads from unallocated memory.
14558 2018-04-25 Philipp Klaus Krause <pkk AT spth.de>
14560 * device/include/stdbool.h:
14561 Change the type of true and false to _Bool (see also N 2229).
14562 * device/include/assert.h,
14563 device/lib/__assert.c,
14564 device/lib/incl.mk:
14567 2018-04-23 Philipp Klaus Krause <pkk AT spth.de>
14570 Update documentation on long long support.
14571 * device/lib/wctomb.c,
14572 support/regression/tests/wchar.c:
14573 Fix wctomb() error handling wrt. invalid surrogate codepoints.
14574 * device/lib/wcrtomb.c,
14575 support/regression/tests/wchar.c:
14576 Fix wcrtomb() errno handling.
14577 * device/lib/mbrtowc.c,
14578 device/lib/mbtowc.c:
14579 Improve mbrtowc(), mbtowc() error handling.
14580 * device/lib/mbrtoc16.c:
14581 Simplify mbrtoc16() by relying on mbrtowc() error handling.
14582 * device/lib/c16rtomb.c,
14583 support/regression/tests/wchar.c:
14584 Fix c16rtomb() error handling.
14586 2018-04-21 Philipp Klaus Krause <pkk AT spth.de>
14588 * device/include/stdint.h,
14589 support/regression/tests/constantRange.c:
14590 Fix intmax_t, uintmax_t limit macros.
14592 2018-04-21 Philipp Klaus Krause <pkk AT spth.de>
14594 * device/include/stdint.h,
14595 support/regression/tests/wchar.c:
14596 Fix wchar_t, wint_t limit macros.
14598 2018-04-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14600 * support/regression/tests/wchar.c:
14601 A bit of additional UTF-16 and UTF-32 support testing.
14603 2018-04-17 Philipp Klaus Krause <pkk AT spth.de>
14606 Fix reads from unallocated memory.
14610 2018-04-16 Philipp Klaus Krause <pkk AT spth.de>
14613 Fix read of unitialized value in initialization of zero-length bit-field.
14615 2018-04-15 Philipp Klaus Krause <pkk AT spth.de>
14619 Use C11 instead of ms-extensions to get support for anonymous struct.
14621 2018-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
14623 * sdas/asxxsrc/asout.c (outrw): enable emit 24-bit relocation data for stm8
14624 * src/stm8/main.c (get_model): fixed warning
14626 2018-04-06 Philipp Klaus Krause <pkk AT spth.de>
14629 support/regression/tests/bug-2124.c,
14630 support/regression/tests/bug-2373.c,
14631 support/regression/tests/bug1908493.c,
14632 support/regression/tests/compare.c,
14633 support/regression/tests/funptrs.c,
14634 support/regression/tests/gcc-torture-execute-930702-1.c,
14635 support/regression/tests/gcc-torture-execute-991112-1.c,
14636 support/regression/tests/z88dk.c:
14637 Workaround for 24-bit symbol assembler issue.
14639 2018-04-02 Philipp Klaus Krause <pkk AT spth.de>
14641 * support/regression/tests/gcc-torture-execute-20060110-2.c:
14642 Disable failing test.
14644 2018-04-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14646 * support/valdiag/tests/funcdec.c,
14647 * support/valdiag/tests/tentdecl.c: fix bug #2735
14649 2018-03-31 Philipp Klaus Krause <pkk AT spth.de>
14652 Consider string literal reuse in dead code elimination, part of RFE #567.
14656 Merge adjacent calls to puts(), RFE #564.
14659 Enable support for 24-bit function pointers for stm8 large memory model.
14660 * support/valdiag/Makefile.in:
14661 Omit host by default.
14662 * support/valdiag/tests/funcdec.c,
14663 support/valdiag/tests/tentdecl.c:
14664 Disable test affected by bug #2735.
14666 Separate default name for const segment from code segment.
14668 2018-03-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14670 * sdas/asxxsrc/asout.c
14671 * sdas/asxxsrc/sdas.c
14672 * sdas/asxxsrc/sdas.h: enable sdasstm8 to emit 24-bit relocation data
14674 2018-03-30 Philipp Klaus Krause <pkk AT spth.de>
14676 * support/valdiag/tests/overflow.c:
14677 Disable tests for known bugs #2733, #2734.
14678 * device/lib/stm8-large/heap.s:
14679 Fix heap initialization.
14681 2018-03-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14683 * support/regression/collate-results.py: fix bug #2731 and
14684 handle malformed "Summary" and "Simulator" stats better
14686 2018-03-29 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14692 Make optimization of stdlib calls play nice with string reuse.
14693 * support/util/dbuf.c,
14694 support/util/dbuf.h:
14695 Improve const-correctness.
14697 2018-03-28 Philipp Klaus Krause <pkk AT spth.de>
14700 support/regression/tests/bug-2124.c,
14701 support/regression/tests/bug-2373.c,
14702 support/regression/tests/bug-716242.c,
14703 support/regression/tests/bug1908493.c,
14704 support/regression/tests/compare.c,
14705 support/regression/tests/funptrs.c,
14706 support/regression/tests/gcc-torture-execute-930702-1.c,
14707 support/regression/tests/gcc-torture-execute-991112-1.c,
14708 support/regression/tests/gcc-torture-execute-func-ptr-1.c,
14709 support/regression/tests/z88dk.c:
14710 Give up on supporting function pointers for stm8 large memory model.
14711 * device/lib/Makefile.in:
14712 Build library for stm8 large memory model by default.
14714 2018-03-28 Philipp Klaus Krause <pkk AT spth.de>
14717 Fix long long return values for large memory model.
14718 * sim/ucsim/stm8.src/glob.cc:
14719 Fix decoding of jpf.
14720 * device/lib/stm8-large/setjmp.s:
14721 Fix longjmp() for large memory model.
14723 2018-03-28 Philipp Klaus Krause <pkk AT spth.de>
14728 src/SDCCralloc.hpp,
14731 src/stm8/ralloc2.cc,
14733 Improve handling of global pointers.
14735 2018-03-27 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14741 Implement basic optimization of calls to standard library functions, RFE #564.
14742 * support/regression/tests/bug-716242.c,
14743 support/regression/tests/genptrs.c:
14744 Fix tests that assign void * to function pointers.
14746 Use jpf to reach main() for stm8 large memory model.
14748 Give up on assembler for stm8 large memory model to make regression tests pass.
14750 2018-03-26 Philipp Klaus Krause <pkk AT spth.de>
14753 Minor optimization for 8-bit pointer reads.
14755 2018-03-26 Philipp Klaus Krause <pkk AT spth.de>
14757 * support/valdiag/tests/constantRange.c:
14758 Make tests expect a few more warnings implemented in SDCC.
14760 Fix | of a with itself.
14761 * support/valdiag/tests/bug-971834.c:
14762 Do not expect unreasonable warning.
14766 support/valdiag/tests/pointers.c:
14769 2018-03-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14774 support/valdiag/valdiag.py,
14775 support/valdiag/tests/pointers.c:
14776 Diagnostics for conversions between pointers to objects and pointers to functions.
14778 src/stm8/peeph.def:
14779 Some minor improvements.
14781 2018-03-25 Philipp Klaus Krause <pkk AT spth.de>
14784 Improve calls via global function pointers.
14786 src/pic16/ralloc.c,
14787 src/pic16/ralloc.c:
14788 Fix NEARPTRSIZE use.
14790 Fix leftover max type size.
14792 2018-03-25 Philipp Klaus Krause <pkk AT spth.de>
14794 * device/lib/stm8-large/Makefile.in,
14795 device/lib/stm8-large/_fast_long_neg.s:
14796 Remove unused support routine.
14799 Fix library path for large memory model.
14801 Fix labelIsUncondJump() for large memory model.
14803 Simplify generation of calls, implement 24-bit return values.
14804 * device/lib/stm8-large/Makefile.in:
14805 Fix build of char multiplicative operator routines.
14806 * support/regression/ports/stm8-large/support.c:
14807 Fix regression test output.
14809 2018-03-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14811 * support/regression/collate-results.py,
14812 * support/regression/compact-results.py,
14813 * support/regression/get_ticks.py: Accept non-UTF-8 regression test
14814 output without throwing an exception under Python 3
14816 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14819 Fixes for handling of immediate operands for large memory model.
14820 * device/include/setjmp.h,
14821 device/lib/stm8-large/setjmp.s:
14822 Fix setjmp() / longjmp() for large memory model.
14824 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14831 Handle function pointer sizes separately from object pointer sizes.
14833 device/lib/Makefile.in,
14835 device/lib/stm8-large:
14836 stm8-large library.
14837 * support/regression/Makefile.in,
14838 support/regression/ports/stm8-large:
14839 stm8-large regression test target.
14841 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14853 src/ds390/ralloc.c,
14857 src/mcs51/ralloc.c,
14860 Rename pointer size macros for clarification.
14863 Simplify call overhead handling for large memory model.
14865 2018-03-24 Philipp Klaus Krause <pkk AT spth.de>
14867 * support/regression/tests/longlong.c:
14868 Disable test for mcs51 medium model.
14869 * support/regression/tests/bool.c:
14870 Test assignments between bool bitfields.
14872 2018-03-23 Philipp Klaus Krause <pkk AT spth.de>
14875 support/regression/tests/gcc-torture-execute-950612-1.c:
14877 * support/regression/tests/longlong.c:
14878 Enable full long long regression testing for large and huge mcs51 memory model.
14880 2018-03-23 Philipp Klaus Krause <pkk AT spth.de>
14883 Fix a bug in code generation that was triggered by lospre.
14884 * support/regression/tests/gcc-torture-execute-20060110-2.c:
14885 Enable test for mcs51.
14886 * support/regression/tests/gcc-torture-execute-920922-1.c:
14887 Document that mcs51 exploits undefined behaviour.
14889 2018-03-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14891 * support/valdiag/valdiag.py: define some port specific
14892 macros (__has_bit, __has_data, __has_xdata, __has_reentrant)
14893 to simplify conditions
14894 * support/valdiag/tests/bug-971834.c,
14895 * support/valdiag/tests/enum.c,
14896 * support/valdiag/tests/funcdec.c,
14897 * support/valdiag/tests/primtypes.c,
14898 * support/valdiag/tests/switch.c,
14899 * support/valdiag/tests/tentdecl.c,
14900 * support/valdiag/tests/typedef.c: update for newer SDCC/GCC versions
14902 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14905 src/mcs51/ralloc.c:
14906 Improve _Bool handling.
14908 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14910 * src/mcs51/ralloc.c:
14911 Allocate some local _Bool to bit registers.
14913 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14916 Fix handling of acc for multiplicative operators.
14917 * src/mcs51/ralloc.c:
14918 Fall back to generic registers when running out of bit registers.
14920 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14924 Improve code generation for _Bool.
14926 2018-03-22 Philipp Klaus Krause <pkk AT spth.de>
14928 * src/mcs51/ralloc.c:
14929 Make better use of acc for 8-bit operands.
14931 Optimize width of temporaries for bit tests.
14933 2018-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14935 * support/valdiag/Makefile.in: display any actual failure(s)
14936 and not just the summary
14938 2018-03-21 Philipp Klaus Krause <pkk AT spth.de>
14940 * src/z80/ralloc.c:
14941 Remove leftover debug message.
14943 2018-03-21 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14945 * src/mcs51/ralloc.c,
14947 Optimize bitwise operations on global variables.
14949 2018-03-20 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14951 * support/scripts/as2gbmap.py:
14952 Migrate to Python 2/3.
14953 * src/z80/ralloc.c,
14955 support/regression/tests/bug-2347.c:
14959 Remove outdated examples (bug #2728).
14961 2018-03-19 Philipp Klaus Krause <pkk AT spth.de>
14965 Migrate to Python 3.6 for default.
14967 2018-03-19 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
14969 * src/z80/ralloc.c,
14971 Do not mark global variables as rematerializeable.
14973 2018-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14975 * support/regression/generate-cases.py: apply patch #282 from
14977 * support/regression/generate-cases.py,
14978 * support/regression/HTMLgen.py: use latin-1 encoding for file I/O
14979 to pass through UTF-8 and non-UTF-8 data without interpretation
14980 when using Python 3
14982 2018-03-18 Philipp Klaus Krause <pkk AT spth.de>
14984 * support/sdbinutils:
14985 Merge upstream GNU Binutils 2.30.
14987 Improve cycle count accuracy for shifts.
14989 2018-03-18 Philipp Klaus Krause <pkk AT spth.de>
14992 Improve handling of rematerialized operands and I/O.
14994 2018-03-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
14996 * support/valdiag/valdiag.py: Fix a very old bug, more fixes
14997 for Python 2/3 compatibility
14999 2018-03-17 Philipp Klaus Krause <pkk AT spth.de>
15002 Implement RFE #566.
15004 2018-03-17 Philipp Klaus Krause <pkk AT spth.de>
15006 * support/valdiag/tests/restrict.c:
15007 Test for bug #2714.
15008 * src/SDCCralloc.hpp:
15009 Faster check for non-connected live-ranges.
15010 * src/stm8/ralloc.c,
15013 Basic support for rematerialization of addresses for stm8.
15015 2018-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15017 * support/regression/collate-results.py,
15018 support/valdiag/valdiag.py: replace use of deprecated
15019 functions for better Python 3 compatibility
15021 2018-03-16 Philipp Klaus Krause <pkk AT spth.de>
15023 * support/regression/collate-results.py,
15024 support/regression/compact-results.py,
15025 support/valdiag/valdiag.py:
15026 Convert Python 1 to Python 2/3.
15027 * support/regression/tests/qsort.c:
15028 Disable test for mcs51-small due to lack of RAM.
15029 * sim/ucsim/cmd.src/cmdlex.cc:
15030 Remove lex-generated file from repository.
15032 2018-03-13 Philipp Klaus Krause <pkk AT spth.de>
15035 support/regression/tests/bug-2716.c:
15038 Disable fix for non-connected live-ranges for ds390.
15039 * device/include/stdlib.h,
15040 device/lib/bsearch.c,
15041 device/lib/incl.mk,
15042 support/regression/tests/qsort.c:
15043 Implement bsearch().
15044 * support/valdiag/valdiag.py,
15045 support/valdiag/Makefile.in:
15046 Include z180, r2k, gbz80, tlcs90, s08, stm8 in diagnostic validation.
15047 * support/regression/generate-cases.py,
15048 support/regression/HTMLgen.py,
15049 support/regression/get_ticks.py:
15050 Convert Python 1 to Python 2/3.
15052 2018-03-13 Philipp Klaus Krause <pkk AT spth.de>
15055 Fix --reserve-regs-iy issue in function pointers to functions returning long long.
15057 2018-03-12 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15059 * src/SDCCralloc.hpp:
15060 Fix --dump-graphs debug output for non-connected live-ranges.
15061 * src/SDCClrange.c,
15063 Fix non-connected live-ranges, bugs #2525, #2644, #2266, #2319.
15065 2018-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15067 * support/regression/tests/bug-1981238.c,
15068 support/regression/tests/gcc-torture-execute-20141107-1.c,
15069 support/regression/tests/gcc-torture-execute-920711-1.c: Test for
15070 __POWERPC__ instead of __PPC__
15072 2018-03-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15074 * support/regression/tests/bug-1981238.c,
15075 support/regression/tests/gcc-torture-execute-20141107-1.c,
15076 support/regression/tests/gcc-torture-execute-920711-1.c: Disable
15077 tests failing on PPC host
15078 * support/regression/tests/gcc-torture-execute-20121108-1.c,
15079 support/regression/tests/gcc-torture-execute-pr79286.c: Don't
15080 define putchar when compiling for host
15082 2018-03-06 Maarten Brock <sourceforge.brock AT dse.nl>
15084 * support/regression/tests/bug-1981238.c: disabled new tests that fail on
15087 2018-03-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15090 support/regression/tests/bug-2712.c:
15093 2018-03-04 Maarten Brock <sourceforge.brock AT dse.nl>
15095 * src/stm8/gen.c (emitCall): fix callf with literal
15096 * support/regression/tests/bug-1981238.c: added tests,
15097 changed pad.b to 5 bits so the total is <= 8
15098 * support/regression/tests/memory.c: enabled test for ds390, mcs51-large
15100 * device/lib/strtoul.c: fix warnings
15102 2018-03-04 Philipp Klaus Krause <pkk AT spth.de>
15109 2018-03-04 Philipp Klaus Krause <pkk AT spth.de>
15111 * sim/ucsim/stm8.src/stm8.cc:
15116 sim/ucsim/cmd.src/Makefile.in:
15124 2018-02-28 Philipp Klaus Krause <pkk AT spth.de>
15127 Implement calls through functions pointers via retpoline for stm8 large memory model (RFE #556).
15129 2018-02-28 Philipp Klaus Krause <pkk AT spth.de>
15132 Document stm8 memory models (RFE #556).
15135 Do not generate jump tables for stm8 large memory model (RFE #556).
15137 2018-02-27 Philipp Klaus Krause <pkk AT spth.de>
15139 * sim/ucsim/stm8.src/inst.cc:
15140 Fix handling of 16-bit and 17-bit jumps in simulator (RFE #556).
15142 Improve handling of 24-bit jumps in peephole optimizer (RFE #556).
15145 Code generation for large memory model for stm8 (RFE #556).
15146 * support/regression/tests/memory.c:
15147 Enable test for host.
15148 * src/stm8/peeph.def:
15149 New peephole rules for large memory model (RFE #556).
15151 2018-02-26 Philipp Klaus Krause <pkk AT spth.de>
15154 src/stm8/peeph.def:
15155 Implement RFE #557.
15156 * device/lib/stm8/strcmp.s,
15157 device/lib/stm8/strcpy.s:
15158 Faster string functions from patch #281 by Benedikt Freisen.
15159 * support/regression/tests/memory.c:
15160 Test memory functions on larger arrays.
15161 * device/lib/stm8/memcpy.s:
15162 Faster string function based on patch #281 by Benedikt Freisen.
15164 2018-02-18 Philipp Klaus Krause <pkk AT spth.de>
15167 support/regression/tests/bug-2715.c:
15170 Document treedec location.
15172 2018-02-07 Philipp Klaus Krause <pkk AT spth.de>
15179 2018-02-07 Philipp Klaus Krause <pkk AT spth.de>
15182 Update for default build of lib for huge mcs51 memory model.
15184 2018-02-06 Philipp Klaus Krause <pkk AT spth.de>
15189 2018-02-05 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15191 * support/sdbinutils/bfd/doc/Makefile.am,
15192 support/sdbinutils/bfd/doc/Makefile.in:
15195 2018-01-31 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15197 * device/lib/strtol.c,
15198 device/lib/strtoul.c,
15199 support/regression/tests/strto.c,
15200 device/include/stdlib.h,
15201 device/lib/incl.mk:
15202 Implement strtoul(), strtol() RFE #555.
15204 2018-01-26 Philipp Klaus Krause <pkk AT spth.de>
15207 Reduce memory usage in the peephole optimizer.
15209 2018-01-26 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de>
15211 * device/include/stdlib.h,
15212 device/lib/incl.mk,
15213 device/lib/qsort.c,
15214 support/regression/tests/qsort.c:
15215 Implement qsort(), RFE #554.
15216 * device/lib/stm8/heap.s:
15217 Increase stm8 default heapsize to 1KB size of other backends.
15223 2018-01-24 Philipp Klaus Krause <pkk AT spth.de>
15226 support/regression/tests/bug-2708.c:
15229 2018-01-18 Philipp Klaus Krause <pkk AT spth.de>
15234 Remove leftovers from deprecated nojtbound pragma and option.
15236 Update list of incompatible changes.
15239 device/lib/_rlulonglong.c,
15240 device/lib/_rrslonglong.c,
15241 device/lib/_rrulonglong.c,
15242 support/regression/tests/*.c:
15243 Fixed many long long issues, including bugs #2658 and #2118.
15245 2018-01-07 Philipp Klaus Krause <pkk AT spth.de>
15248 support/regression/tests/bug-2643.c:
15251 2018-01-05 Philipp Klaus Krause <pkk AT spth.de>
15254 src/ds390/ralloc.c,
15255 support/regression/ports/ds390/spec.mk,
15256 support/regression/tests/*.c:
15257 Fixes in ds390 long long support.
15259 2018-01-04 Philipp Klaus Krause <pkk AT spth.de>
15261 * src/ds390/ralloc.c,
15262 support/regression/tests/*.c:
15263 Fix conflict in assignment of long long return values.
15265 2018-01-04 Philipp Klaus Krause <krauseph AT informatik.uni-freiburg.de.de>
15267 * device/include/stdint.h,
15271 src/ds390/ralloc.c,
15272 support/regression/tests/*.c:
15273 Initial long long support for ds390.
15275 2018-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
15277 * support/scripts/sdcc.nsi: added tlcs90 library
15279 2017-12-30 Maarten Brock <sourceforge.brock AT dse.nl>
15281 * support/scripts/sdcc.nsi: added sdastlcs90.exe
15283 2017-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
15285 * support/regression/tests/wchar.c: disabled test for gcc 5.4 and older
15286 * support/scripts/sdcc.nsi: added huge library
15288 2017-12-29 Philipp Klaus Krause <pkk AT spth.de>
15290 * sim/ucsim/cmd.src/clean.mk:
15291 Cleanup bison-generated files.
15293 2017-12-28 Philipp Klaus Krause <pkk AT spth.de>
15295 * sim/ucsim/cmd.src/Makefile.in,
15296 sim/ucsim/cmd.src/cmdpars.cc,
15297 sim/ucsim/cmd.src/cmdpars.hh,
15298 device/lib/pic14/*,
15299 device/lib/pic16/*:
15300 Fixes for out-of-tree builds.
15302 2017-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
15304 * support/regression/ports/mcs51-huge/spec.mk,
15305 * support/regression/Makefile.in: huge lib is now built by default
15306 * support/regression/tests/gcc-torture-execute-20140212-1.c,
15307 * support/regression/tests/gcc-torture-execute-20140212-2.c,
15308 * support/regression/tests/gcc-torture-execute-pr60062.c,
15309 * support/regression/tests/gcc-torture-execute-pr63209.c,
15310 * support/regression/tests/gcc-torture-execute-pr64979.c,
15311 * support/regression/tests/gcc-torture-execute-pr67714.c,
15312 * support/regression/tests/gcc-torture-execute-pr68250.c,
15313 * support/regression/tests/gcc-torture-execute-pr68321.c,
15314 * support/regression/tests/gcc-torture-execute-pr68390.c,
15315 * support/regression/tests/gcc-torture-execute-pr78675.c,
15316 * support/regression/tests/gcc-torture-execute-pr80153.c,
15317 * support/regression/tests/bug-2567.c: fix or suppress warnings
15318 * support/regression/tests/gcc-torture-execute-pr66940.c: added test that
15320 * support/regression/tests/inline.c: added test for bug 2591
15322 2017-11-14 Philipp Klaus Krause <pkk AT spth.de>
15324 * src/SDCCtree_dec.hpp:
15325 Choose Thorup vs. PP+FI+TM per CFG depending on width of decompositions.
15327 2017-11-14 Ben Shi <powerstudio1st AT 163 DOT com>
15330 * src/mcs51/rtrack.c:
15331 Fix illegal form of MOV.
15332 * support/regression/tests/bug-2221.c:
15335 2017-11-13 Philipp Klaus Krause <pkk AT spth.de>
15337 * Merged nothorup branch to trunk.
15339 2017-11-13 Philipp Klaus Krause <pkk AT spth.de>
15341 * src/SDCCtree_dec.hpp:
15342 Document choice of algorithm for tree-decomposition.
15344 2017-11-13 Philipp Klaus Krause <pkk AT spth.de>
15347 src/SDCCtree_dec.hpp,
15350 Automatically use gala for treedec.
15352 2017-11-12 Philipp Klaus Krause <pkk AT spth.de>
15355 Regenerate to get correct definitions from configuration.
15357 2017-11-08 Philipp Klaus Krause <pkk AT spth.de>
15362 src/SDCClospre.hpp,
15365 src/SDCCralloc.hpp,
15366 src/SDCCtree_dec.hpp,
15367 src/hc08/ralloc2.cc,
15368 src/stm8/ralloc2.cc,
15369 src/z80/ralloc2.cc:
15370 Detect and use treedec when available, fall back to Thorup otherwise.
15372 2017-11-08 Philipp Klaus Krause <pkk AT spth.de>
15374 * src/SDCClospre.cc,
15375 src/SDCClospre.hpp,
15378 src/SDCCralloc.hpp,
15379 src/SDCCtree_dec.hpp,
15380 src/hc08/ralloc2.cc,
15381 src/stm8/ralloc2.cc,
15382 src/z80/ralloc2.cc:
15383 tdlib to treedec rename.
15385 2017-11-07 Philipp Klaus Krause <pkk AT spth.de>
15391 Implement --data-seg, part of RFE #544.
15393 2017-11-07 Philipp Klaus Krause <pkk AT spth.de>
15396 src/z80/peeph-gbz80.def,
15397 support/regression/tests/longlong.c,
15398 support/regression/tests/gcc-torture-execute-20001108-1.c,
15399 support/regression/tests/gcc-torture-execute-20011126-1,
15400 support/regression/tests/gcc-torture-execute-20041011-1.c,
15401 support/regression/tests/gcc-torture-execute-20080529-1.c,
15402 support/regression/tests/gcc-torture-execute-20120817-1.
15403 support/regression/tests/gcc-torture-execute-920829-1.c,
15404 support/regression/tests/gcc-torture-execute-950511-1.c,
15405 support/regression/tests/gcc-torture-execute-961213-1.c,
15406 support/regression/tests/gcc-torture-execute-pr65170:
15407 Fix bugs #2329, #2656, #2653.
15408 * support/makebin/makebin.c:
15409 Apply patch #278 by Brandon Blake.
15410 * support/regression/tests/bugs-1596270-1736867.c:
15411 Disable a test for ds390.
15413 2017-11-06 Philipp Klaus Krause <pkk AT spth.de>
15418 support/regression/tests/bug-2221.c,
15419 support/regression/tests/bug-2687.c,
15420 support/regression/tests/generic.c:
15421 Fix bugs #2221, #2687.
15426 2017-11-05 Philipp Klaus Krause <pkk AT spth.de>
15428 * src/SDCCralloc.hpp,
15430 support/regression/tests/bug-2681.c:
15432 * support/regression/tests/bug-2645.c:
15433 Silence an mcs51 warning.
15434 * support/regression/tests/bug-2567.c,
15435 support/regression/tests/gcc-torture-execute-pr60062.c,
15436 support/regression/tests/gcc-torture-execute-pr63209.c,
15437 support/regression/tests/gcc-torture-execute-pr80153.c:
15438 Silence some warning about unused function arguments.
15440 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15442 * src/SDCCtree_dec.hpp:
15445 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15447 * src/SDCCtree_dec.hpp:
15448 Cleanup algorithm selection.
15450 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15452 * support/regression/tests/bug-2684.c:
15453 Disable new test for mcs51-small, which doesn't have enough RAM.
15455 2017-11-03 Philipp Klaus Krause <pkk AT spth.de>
15457 * src/SDCClospre.hpp,
15459 src/SDCCralloc.hpp,
15460 src/SDCCtree_dec.hpp:
15461 More changes for current tdlib, patch by Felix Salfelder.
15463 2017-11-02 Philipp Klaus Krause <pkk AT spth.de>
15465 * support/regression/tests/bug-2684.c:
15466 Test for bug #2684.
15468 2017-11-02 Philipp Klaus Krause <pkk AT spth.de>
15470 * src/SDCCtree_dec.hpp:
15471 Use find_root() from tdlib when available.
15473 2017-11-01 Philipp Klaus Krause <pkk AT spth.de>
15475 * src/z80/ralloc2.cc:
15476 Fix a bug in Z80 sfr handling.
15477 * support/scripts/Makefile.in:
15478 Fix an access rights issue in make install, patch by Felix Salfelder.
15480 2017-10-31 Philipp Klaus Krause <pkk AT spth.de>
15482 * src/SDCCtree_dec.hpp,
15483 src/SDCCralloc.hpp,
15484 src/stm8/ralloc2.cc,
15485 src/hc08/ralloc2.cc,
15486 src/z80/ralloc2.cc:
15487 Allow use of tdlib Thorup in place of SDCC Thorup in register allocator.
15488 * src/SDCClospre.cc,
15489 src/SDCClospre.hpp,
15492 Allow use of tdlib Thorup in place of SDCC Thorup in lospre and bank selection instruction placement.
15493 * src/SDCClospre.cc,
15495 src/hc08/ralloc2.cc,
15496 src/z80/ralloc2.cc:
15497 Enable use of tdlib Thorup in place of SDCC Thorup.
15498 * src/SDCCtree_dec.hp:
15499 Use PP+FI+TM instead of Thorup.
15501 2017-10-30 Philipp Klaus Krause <pkk AT spth.de>
15504 Fix --reserve-regs-iy issues, part of bug #2674.
15505 * device/lib/incl.mk:
15506 Build library for mcs51 huge model, to reduce differences with Debian version.
15508 2017-10-29 Philipp Klaus Krause <pkk AT spth.de>
15510 * support/regression/tests/bug-2580.c:
15511 Fix an issue for host systems where char is signed.
15512 * support/regression/ports/ucz80-resiy,
15513 support/regression/Makefile.in:
15514 Add target for z80 test with --reserve-regs-iy.
15516 Try to resurrect full documentation build.
15518 2017-10-28 Philipp Klaus Krause <pkk AT spth.de>
15520 * device/lib/pic16/configure,
15521 device/non-free/lib/pic16/configure,
15522 device/non-free/lib/pic16/supported-devices.ac:
15523 Reduce pic device support warning timeout.
15524 * support/regression/tests/gcc-torture-execute-920612-1.c:
15525 Disable a host test that fails for GCC 7.2.
15527 support/regression/tests/bug-2580.c:
15530 2017-10-27 Philipp Klaus Krause <pkk AT spth.de>
15534 sim/ucsim/cmd.src/cmdutil.cc,
15535 sim/ucsim/configure,
15536 sim/ucsim/configure.ac,
15537 sim/ucsim/utils.cc,
15540 Do not work around missing C99 support.
15541 * support/regression/Makefile.in:
15542 Reduce make overhead in regression testing from quadratic to linear in the number of tests.
15543 * sim/ucsim/app.cc:
15544 Speed up simulator command handling for faster regression testing.
15546 2017-10-26 Philipp Klaus Krause <pkk AT spth.de>
15548 * src/z80/ralloc2.cc,
15550 support/regression/tests/bug-2370.c:
15551 Fix various --reserve-regs-iy issues, including bug #2370 and most of bug #2674.
15553 2017-10-25 Philipp Klaus Krause <pkk AT spth.de>
15556 Fix a --reserve-regs-iy bug in 32/64-bit comparisons.
15557 * src/stm8/peeph.def,
15559 Minor improvements for stm8.
15561 2017-10-25 Philipp Klaus Krause <pkk AT spth.de>
15565 __z88dk_fastcall function pointer support for --reserve-regs-iy.
15567 2017-10-24 Philipp Klaus Krause <pkk AT spth.de>
15570 Fix broken references.
15572 Fix various --reserve-regs-iy issues, including bugs #2400, #2278, #2380.
15574 2017-10-23 Philipp Klaus Krause <pkk AT spth.de>
15576 * src/SDCCdwarf2.c:
15577 Debug info for partially spilt variables.
15580 Fix SDCC version in manual title for out-of-tree build.
15582 support/regression/tests/bug-2632.c:
15585 2017-10-22 Philipp Klaus Krause <pkk AT spth.de>
15587 * src/SDCCdwarf2.c:
15588 Infrastructure for debug info for partially spilt variables.
15590 Document command line options in help output.
15592 2017-10-20 Philipp Klaus Krause <pkk AT spth.de>
15594 * src/z80/ralloc2.cc,
15596 Improve handling of a in cast.
15602 2017-10-19 Philipp Klaus Krause <pkk AT spth.de>
15604 * src/z80/peeph-z80.def:
15605 Optimize ifx on 16-bit pointer read.
15606 * src/z80/peeph-z80.def:
15607 Improve peephole rules for caching 0 in a.
15609 2017-10-18 Philipp Klaus Krause <pkk AT spth.de>
15612 src/z80/ralloc2.cc:
15613 Improve subtraction of global variables.
15615 Simplify stack adjustment.
15617 Improve 32-bit increment.
15618 * src/z80/ralloc2.cc:
15619 Improve handling of a in negation.
15621 Improve cast to signed long and signed long long.
15623 Improve addition of immediates.
15625 2017-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
15627 * SDCC.props: boost 1.64
15628 * sdas/linksrc/lkmem.c: fixed warning
15629 * src/mcs51/peep.c,
15633 * src/z80/ralloc2.cc: cosmetic changes
15635 2017-10-18 Philipp Klaus Krause <pkk AT spth.de>
15637 * src/z80/ralloc2.cc,
15639 Improve handling of a in pointer read and ifx.
15641 2017-10-17 Maarten Brock <sourceforge.brock AT dse.nl>
15643 * src/z80/main.c (_parseOptions): fix bug #2634
15645 2017-10-17 Philipp Klaus Krause <pkk AT spth.de>
15647 * src/SDCCdwarf2.h,
15649 CFI handling in DWARFv2 output, patch by Åke Rehnman.
15651 2017-10-16 Philipp Klaus Krause <pkk AT spth.de>
15654 Debug info infrastructure for stm8 registers.
15655 * device/lib/_fsgt.c,
15656 device/lib/incl.mk,
15660 Remove __fsgt support function, RFE #526.
15662 Improve handling of variables on stack in return.
15666 2017-10-16 Ben Shi <powerstudio1st AT 163 DOT com>
15668 * src/mcs51/peeph.def:
15669 Fix a potential bug in label reference count calculation.
15671 2017-10-15 Philipp Klaus Krause <pkk AT spth.de>
15679 STM8 frame address debug info, based on patch by Åke Rehnman.
15681 Implement RFE #538: Option for stack pointer startup value for stm8.
15682 * device/lib/*/mulchar.s:
15683 Minor char multiplication improvement.
15684 * sdas/linksrc/lkelf.c:
15685 RFE #2670 ELF e_entry, patch by Åke Rehnman.
15686 * src/SDCCtree_dec.hpp,
15687 src/SDCCralloc.hpp,
15690 More verbose --dump-graphs output.
15691 * device/lib/z180/mul.s:
15692 Better multiplication support routine for z180.
15694 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15696 * support/regression/tests/gcc-torture-execute-920922-1.c,
15697 support/regression/tests/gcc-torture-execute-950612-1.c:
15698 Disable tests that fail due to bug #2669.
15700 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15702 * src/z80/peeph.def:
15703 Renumber peephole rules.
15705 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15707 * src/z80/peeph.def:
15708 Remove obsolete peephole rules.
15710 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15712 * src/stm8/peeph.def:
15713 Renumber peephole rules.
15715 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15717 * src/stm8/peeph.def:
15718 Remove obsolete peephole rules.
15720 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15722 * src/hc08/peeph.def:
15723 Renumber peephole rules.
15725 2017-10-11 Philipp Klaus Krause <pkk AT spth.de>
15727 * src/hc08/peeph.def:
15728 Remove obsolete peephole rules.
15730 2017-10-11 Ben Shi <powerstudio1st AT 163 DOT com>
15732 * src/mcs51/peeph.def:
15733 Fix potential bugs in a serial of rules (241a-241h) by adding check of labelRefCount().
15735 2017-10-11 Ben Shi <powerstudio1st AT 163 DOT com>
15737 * src/mcs51/peeph.def:
15738 Add two optimization rules for long long comparison.
15740 2017-10-10 Philipp Klaus Krause <pkk AT spth.de>
15742 * support/regression/tests/gcc-torture-execute-20001108-1.c,
15743 support/regression/tests/gcc-torture-execute-20020201-1.c,
15744 support/regression/tests/gcc-torture-execute-20020226-1.c,
15745 support/regression/tests/gcc-torture-execute-20060110-1.c,
15746 support/regression/tests/gcc-torture-execute-20060110-2.c,
15747 support/regression/tests/gcc-torture-execute-20060127-1.c,
15748 support/regression/tests/gcc-torture-execute-20071030-1.c,
15749 support/regression/tests/gcc-torture-execute-20080529-1.c,
15750 support/regression/tests/gcc-torture-execute-20101013-1.c,
15751 support/regression/tests/gcc-torture-execute-20120817-1.c,
15752 support/regression/tests/gcc-torture-execute-920604-1.c,
15753 support/regression/tests/gcc-torture-execute-920829-1.c,
15754 support/regression/tests/gcc-torture-execute-920922-1.c,
15755 support/regression/tests/gcc-torture-execute-930702-1.c,
15756 support/regression/tests/gcc-torture-execute-950511-1.c,
15757 support/regression/tests/gcc-torture-execute-950612-1.c,
15758 support/regression/tests/gcc-torture-execute-950915-1.c,
15759 support/regression/tests/gcc-torture-execute-961213-1.c,
15760 support/regression/tests/gcc-torture-execute-990513-1.c,
15761 support/regression/tests/gcc-torture-execute-pr19606.c,
15762 support/regression/tests/gcc-torture-execute-pr47538.c,
15763 support/regression/tests/gcc-torture-execute-pr65170.c,
15764 support/regression/tests/gcc-torture-execute-pr78791.c,
15765 support/regression/tests/gcc-torture-execute-pr81556.c:
15766 Enable mcs51 tests that pass for me now.
15767 * device/lib/hc08/Makefile.in,
15768 device/lib/hc08/_divuint.c,
15769 device/lib/hc08/_divulong.c,
15770 device/lib/hc08/_mullong.c,
15771 device/lib/hc08/Makefile.in,
15772 device/lib/hc08/_divuint.c,
15773 device/lib/hc08/_divulong.c,
15774 device/lib/hc08/_mullong.c:
15775 Replace some backend-specific functions in hc08 and s08 libraries by generic ones.
15777 2017-10-10 Philipp Klaus Krause <pkk AT spth.de>
15779 * src/SDCCralloc.hpp:
15781 * support/regression/tests/gcc-torture-execute-pr68532.c:
15782 Disable test for medium model.
15784 2017-10-10 Ben Shi <powerstudio1st AT 163 DOT com>
15787 Fix a bug in genRet() to avoid generate "mov Rx,Ry".
15788 * src/mcs51/peeph.def:
15790 * support/regression/ports/mcs51-common/spec.mk:
15791 Add support for liblonglong.
15792 * support/regression/tests/gcc-torture-execute-pr78378.c:
15793 Enabled for mcs-51.
15795 2017-10-09 Philipp Klaus Krause <pkk AT spth.de>
15797 * device/lib/_divuchar.c,
15798 device/lib/_moduchar.c,
15799 device/lib/_muluchar.c,
15801 Generic support routine infrastructure.
15803 2017-10-08 Philipp Klaus Krause <pkk AT spth.de>
15805 * support/regression/tests/bug-2663.c:
15806 Disable new function pointer test for ds390.
15810 Improve error reporting for conflicting function declarations.
15812 support/regression,tests/bug-2556.c:
15815 2017-10-07 Philipp Klaus Krause <pkk AT spth.de>
15821 2017-10-05 Philipp Klaus Krause <pkk AT spth.de>
15824 support/regression/tests/generic.c:
15825 Fix string literal signedness to match char.
15827 support/regression/tests/bug-2663.c:
15828 Partial fix for bug #2663.
15830 2017-10-03 Philipp Klaus Krause <pkk AT spth.de>
15832 * src/SDCCralloc.hpp:
15833 Make source compilable with MSVC++ 2015.
15835 2017-10-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
15837 * src/hc08/gen.c: fix bug #2662 (omit debug info on dry run)
15839 2017-10-02 Philipp Klaus Krause <pkk AT spth.de>
15841 * support/regression/tests/cvu_play_music.c,
15842 support/regression/tests/io.c:
15843 Improve coverage of z80 peephole rules.
15845 Improve debug info for ENDFUNCTION iCode, patch by Åke Rehnman.
15846 * src/z80/peeph-tlcs90.def:
15847 Remove obsolete tlcs90 peephole rules.
15848 * src/z80/peeph-gbz80.def:
15849 Remove obsolete gbz80 peephole rules.
15851 2017-10-01 Philipp Klaus Krause <pkk AT spth.de>
15853 * support/regression/tests/gcc-torture-execute-pr80501.c,
15854 support/regression/tests/gcc-torture-execute-pr81555.c:
15855 Disable tests for older host compilers.
15857 support/regression/tests/bug-2569.c:
15859 * src/SDCCralloc.hpp:
15860 Change filenames for graphs from register allocation for --dump-graphs.
15861 * support/regression/tests/gcc-torture-execute-20141125-1.c:
15862 Disable new test since it fails on 32-bit hosts, bug #2661.
15864 2017-09-30 Philipp Klaus Krause <pkk AT spth.de>
15867 Fix issues in built-in memset() and handling of literals.
15869 Improve long long parameter passing.
15871 2017-09-29 Philipp Klaus Krause <pkk AT spth.de>
15874 support/regression/tests/addsub.c:
15877 2017-09-28 Philipp Klaus Krause <pkk AT spth.de>
15882 support/regression/tests/p99-conformance.c,
15884 Implement RFE #537: static in array parameters.
15886 2017-09-27 Philipp Klaus Krause <pkk AT spth.de>
15888 * support/regression/tests/gcc-torture-execute-pr7*.c
15889 support/regression/tests/gcc-torture-execute-pr8*.c:
15890 Port more tests from the GCC testsuite.
15891 * support/regression/tests/gcc-torture-execute-930529-1.c:
15892 Disable test that hangs on GCC 7.2.0 for host.
15893 * support/regression/tests/gcc-torture-execute-pr51581-?.c:
15896 2017-09-26 Philipp Klaus Krause <pkk AT spth.de>
15899 Improve error message for storage class specifiers in parameters.
15901 Separate type qualifiers from type specifiers to prepare for RFE #2538.
15902 * support/regression/tests/gcc-torture-execute-20120111-1.c,
15903 support/regression/tests/gcc-torture-execute-20120817-1.c,
15904 support/regression/tests/gcc-torture-execute-20140212-1.c,
15905 support/regression/tests/gcc-torture-execute-20141125-1.c,
15906 support/regression/tests/gcc-torture-execute-20170111-1.c,
15907 support/regression/tests/gcc-torture-execute-pr65170.c,
15908 support/regression/tests/gcc-torture-execute-pr65215-1.c,
15909 support/regression/tests/gcc-torture-execute-pr65215-2.c,
15910 support/regression/tests/gcc-torture-execute-pr66940.c,
15911 support/regression/tests/gcc-torture-execute-pr69320-4.c:
15912 Disable new long long tests for ds390.
15918 support/regression/tests/p99-conformance.c:
15919 Partially fix bug #2538: const and volatile in array parameters.
15920 * support/regression/tests/gcc-torture-execute-pr51581-1.c:
15923 support/regression/tests/p99-conformance.c:
15924 Fix bug #2538: qualifiers in array parameters (ISO C99).
15926 Document missing support for static in array parameters.
15928 2017-09-25 Philipp Klaus Krause <pkk AT spth.de>
15930 * support/regression/tests/gcc-torture-execute-20111227-1.c,
15931 support/regression/tests/gcc-torture-execute-2012*.c,
15932 support/regression/tests/gcc-torture-execute-2013*.c,
15933 support/regression/tests/gcc-torture-execute-2014*.c,
15934 support/regression/tests/gcc-torture-execute-2015*.c,
15935 support/regression/tests/gcc-torture-execute-2017*.c:
15936 Port more tests from the GCC testsuite.
15938 support/regression/tests/gcc-torture-execute-20141022-1.c:
15940 * support/regression/tests/gcc-torture-execute-pr51581-1.c,
15941 support/regression/tests/gcc-torture-execute-pr51581-2.c:
15942 support/regression/tests/gcc-torture-execute-pr6*.c:
15943 Port more tests from the GCC testsuite.
15945 2017-09-25 Philipp Klaus Krause <pkk AT spth.de>
15948 support/regression/tests/bug-2645.c:
15949 Fix bug #2645, patch by Kamil Zbróg.
15951 support/regression/tests/bug-441448.c,
15952 support/regression/tests/bug2729218.c:
15955 2017-09-25 Philipp Klaus Krause <pkk AT spth.de>
15957 * src/SDCCdwarf2.c:
15958 Fix long long support in DWARF output (bug #2613)
15960 Fix interaction of __z88dk_fastcall with frame pointer setup when optimizing for code size (bug #2581).
15961 * device/lib/calloc.c,
15962 support/regression/tests/malloc.c:
15965 2017-09-21 Philipp Klaus Krause <pkk AT spth.de>
15968 Optimize stm8 left shifts a bit better.
15970 2017-09-20 Philipp Klaus Krause <pkk AT spth.de>
15972 * support/regression/tests/preserves_regs.c:
15973 Test specifications for preserved registers.
15975 2017-09-13 Philipp Klaus Krause <pkk AT spth.de>
15978 Fix handling of specifications for preserved registers.
15980 2017-09-12 Ben Shi <powerstudio1st AT 163 DOT com>
15982 * support/regression/tests/bug-441448.c:
15983 * support/regression/tests/bug2729218.c:
15984 Disabled for gbz80.
15986 2017-09-08 Ben Shi <powerstudio1st AT 163 DOT com>
15988 * src/stm8/peeph.def:
15989 Optimize bit-xor with BCPL.
15990 * support/regression/tests/bug-2642.c:
15993 2017-08-20 Ben Shi <powerstudio1st AT 163 DOT com>
15996 Improve notVolatile() for stm8.
15997 * src/stm8/peeph.def:
15998 Add more rules for optimization with BSET/BRES.
15999 * support/regression/tests/bug-2642.c:
16000 Add a new test case.
16002 2017-08-17 Philipp Klaus Krause <pkk AT spth.de>
16005 More verbose error message on initialization from incompatible pointer type.
16007 2017-08-14 Philipp Klaus Krause <pkk AT spth.de>
16009 * src/z80/ralloc2.cc:
16012 2017-08-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16014 * src/SDCCcse.c (cseBBlock),
16015 * src/SDCCptropt.c (ptrPostIncDecOpt, pattern1, pattern2),
16016 * src/SDCCptropt.h: fix bug #2459
16018 2017-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16020 * src/SDCCast.c: fix bug #2624
16022 2017-08-10 Philipp Klaus Krause <pkk AT spth.de>
16024 * device/include/stdio.h,
16025 device/lib/ds390/putchar.c:
16026 Make getchar() prototype standard-compliant.
16028 Improve I/O and bit toggling.
16030 2017-08-08 Philipp Klaus Krause <pkk AT spth.de>
16033 Fix ASMOP_A / ASMOP_ZERO initialization.
16035 2017-08-07 Philipp Klaus Krause <pkk AT spth.de>
16037 * src/z80/ralloc2.cc,
16039 Improve use of register A.
16041 2017-08-07 Philipp Klaus Krause <pkk AT spth.de>
16045 Refactor and optimize subtraction.
16046 * sim/ucsim/z80.src/inst_ed.cc,
16047 sim/ucsim/z80.src/inst_ed_r2k.cc:
16050 2017-08-06 Philipp Klaus Krause <pkk AT spth.de>
16053 Improve left shift.
16055 2017-08-01 Philipp Klaus Krause <pkk AT spth.de>
16060 src/z80/ralloc2.cc:
16061 Handle register A more like other registers.
16062 * src/z80/peeph-z80.def:
16063 Instructions in jump target for cheaper short jumps.
16065 2017-08-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16067 * support/regression/tests/gcc-torture-execute-20010224-1.c: re-enable
16069 2017-07-31 Philipp Klaus Krause <pkk AT spth.de>
16072 Fix a gbz80 codegen issue.
16074 2017-07-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16076 * src/SDCCmem.c (initMem),
16077 * src/hc08/gen.c (aopForSym): fix bug #2385
16078 * support/regression/tests/bug-2385.c: re-enable for all ports
16080 2017-07-30 Philipp Klaus Krause <pkk AT spth.de>
16083 Improve 16-bit left-shift by 7,
16084 improve transfers between hl and de (in codegen at a cost in peephole opt).
16086 2017-07-29 Ben Shi <powerstudio1st AT 163 DOT com>
16090 Remove requirement of C++14.
16092 2017-07-28 Ben Shi <powerstudio1st AT 163 DOT com>
16098 Check if C++14 or C++11 is supported.
16100 2017-07-27 Philipp Klaus Krause <pkk AT spth.de>
16102 * support/regression/tests/bug-2567.c:
16103 Test for bug #2567.
16105 2017-07-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16109 * src/SDCCralloc.hpp: fix bug #2567, include block num in iCode debug
16111 2017-07-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16113 * src/z80/gen.c: fix bug #2486 (frame pointer offset wrong)
16114 * src/z80/peeph-z80.def,
16115 * src/z80/peeph-r2k.def,
16116 * src/z80/peeph-tlcs90.def: fix unsafe rules exposed by fixing #2486
16117 * sdas/asrab/rabmch.c: fix encoding of ld (n+sp),hl instruction
16119 2017-07-23 Philipp Klaus Krause <pkk AT spth.de>
16121 * src/SDCCralloc.hpp:
16122 Speed up register allocator.
16124 Spped up code generation a little bit.
16126 2017-07-21 Philipp Klaus Krause <pkk AT spth.de>
16128 * src/SDCCralloc.hpp:
16129 Speed up register allocator a little bit.
16131 2017-07-20 Philipp Klaus Krause <pkk AT spth.de>
16134 Fix an issue similar to bug #2633.
16135 * src/SDCCralloc.hpp,
16136 src/stm8/ralloc2.cc:
16137 Speed up register allocator a bit.
16139 2017-07-19 Philipp Klaus Krause <pkk AT spth.de>
16144 2017-07-18 Philipp Klaus Krause <pkk AT spth.de>
16147 support/regression/tests/loop.c:
16148 Improve narrowing of loop counters.
16150 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16153 Improve writing of constants to bit-fields.
16155 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16157 * src/stm8/ralloc.c,
16159 Better code for operations on 8-bit global variables.
16161 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16164 Improve code generation for wide read through pointer.
16166 2017-07-16 Philipp Klaus Krause <pkk AT spth.de>
16169 Implement narrowing of loop counters, RFE #530.
16171 support/regression/tests/bug-2630.c:
16174 2017-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16176 * src/SDCCast.c (isInitiallyTrue),
16177 * src/SDCCerr.c (setWarningDisabledState),
16178 * src/SDCCerr.h: fix bugs #2552 & #2614
16179 * src/SDCCast.c (decorateType): fix bug #2550
16181 2017-07-15 Philipp Klaus Krause <pkk AT spth.de>
16184 Improve narrowing of multiplications.
16186 2017-07-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16188 * src/mcs51/gen.c (genRet): fix some problems with returning long long
16189 * src/SDCCicode.c (geniCodeAdd): fix bug #2625
16190 * support/regression/tests/bug-2625.c: test for bug #2625
16192 2017-07-14 Philipp Klaus Krause <pkk AT spth.de>
16195 Optimze reads from literal pointer.
16197 Optimize right shift followed by cast.
16199 2017-07-13 Philipp Klaus Krause <pkk AT spth.de>
16201 * src/z80/ralloc2.cc,
16202 support/regression/tests/bug-2628.c:
16205 2017-07-06 Philipp Klaus Krause <pkk AT spth.de>
16207 * src/stm8/peeph.def,
16209 Improve accuracy and fix bugs in peephole optimizer.
16211 2017-07-05 Philipp Klaus Krause <pkk AT spth.de>
16215 Minor code cleanup, gets rid of a few LLVM warnings.
16217 2017-07-03 Philipp Klaus Krause <pkk AT spth.de>
16219 * sdas/asstm8/stm8pst.c:
16220 Support for break debug instruction, patch by Reto Schneider.
16222 2017-06-30 Ben Shi <powerstudio1st AT 163 DOT com>
16225 add cast to left and right subtree only if they both can be casted.
16226 * support/regression/tests/bug-2611.c:
16227 add a new test case.
16229 2017-06-29 Philipp Klaus Krause <pkk AT spth.de>
16232 support/regression/tests/bug-2627.c:
16235 Enable use of execution count in stm8 register allocation cost calculations.
16237 2017-06-28 Philipp Klaus Krause <pkk AT spth.de>
16241 Execution frequency handling infrastructure.
16243 2017-06-26 Philipp Klaus Krause <pkk AT spth.de>
16245 * src/SDCCralloc.hpp,
16248 Speed up register allocator.
16250 2017-06-25 Philipp Klaus Krause <pkk AT spth.de>
16252 * src/SDCCralloc.hpp,
16256 Speed up register allocator a bit.
16258 2017-06-24 Philipp Klaus Krause <pkk AT spth.de>
16261 More efficient >= 32-bit increment for (partially) spilt local variables.
16263 2017-06-23 Philipp Klaus Krause <pkk AT spth.de>
16266 Improve 16-bit register-to-register transfer,
16267 consider cycle cost for register allocation.
16268 * src/stm8/peeph.def:
16269 Improve 16-bit addition with on-stack operand.
16271 2017-06-17 Philipp Klaus Krause <pkk AT spth.de>
16274 src/stm8/peeph.def:
16275 More efficient comparisons.
16277 2017-06-14 Philipp Klaus Krause <pkk AT spth.de>
16279 * support/regression/tests/bug-2621.c:
16280 Disable test for ds390, which doesn't have long long.
16282 2017-06-13 Philipp Klaus Krause <pkk AT spth.de>
16285 More efficient equality comparisons.
16286 * support/regression/tests/bug-2621.c:
16287 Test for bug #2612.
16289 2017-06-12 Philipp Klaus Krause <pkk AT spth.de>
16292 More efficient equality comparisons, fix bug #2612.
16294 2017-05-31 Philipp Klaus Krause <pkk AT spth.de>
16296 * device/non-free/lib/pic14/Makefile.in,
16297 device/non-free/lib/pic14/Makefile.subdir,
16300 Sort directory listings towards are reproducible build, patch by Bernhard M. Wiedemann.
16302 2017-05-30 Philipp Klaus Krause <pkk AT spth.de>
16308 Deprecate --nojtbound and the corresponding pragma.
16310 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
16315 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
16318 Fix a z80 codegen bug #2615 in and (triggered by recent register allocation changes when using --reserve-regs-iy).
16320 2017-05-15 Philipp Klaus Krause <pkk AT spth.de>
16323 Fix a gbz80 codegen bug in comparisons (triggered by recent register allocation changes).
16325 2017-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
16327 * support/regression/tests/test-p99-conformance.c: renamed p99-conformance.c
16328 decreased flex10 to flex2,
16329 removed SKIP_FLEXIBLE, SKIP_LONG_LONG for mcs51
16331 2017-05-10 Philipp Klaus Krause <pkk AT spth.de>
16333 * src/SDCCdwarf2.c:
16334 Fix encoding DWARF info for _Bool, explicitly specify for char.
16336 2017-05-09 Philipp Klaus Krause <pkk AT spth.de>
16340 Better code for switch statements.
16342 2017-05-08 Maarten Brock <sourceforge.brock AT dse.nl>
16344 * support/regression/tests/inline.c: oops, wrong place to skip bug_2591
16346 2017-05-08 Philipp Klaus Krause <pkk AT spth.de>
16348 * src/z80/peeph-z80.def,
16350 src/z80/ralloc2.cc:
16351 Improve handling of 8-bit parameters.
16353 2017-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
16355 * support/regression/fwk/lib/extern1.c: renamed bug2591 to bug_2591
16356 * support/regression/tests/inline.c: skip bug_2591 for old buggy GCC
16358 2017-05-06 Philipp Klaus Krause <pkk AT spth.de>
16361 Optimize computations on shift counts.
16363 Fix bug in register handling in shifts.
16365 Optimize computations on shift counts, fix bug in register handling of
16368 2017-05-06 Maarten Brock <sourceforge.brock AT dse.nl>
16370 * doc/sdccman.lyx: fixed typo
16371 * sim/ucsim/gui.src/Makefile.in: use $(AR)
16372 * src/mcs51/gen.c: cosmetic
16375 * src/z80/main.c: make __smallc a target specific keyword
16376 * src/SDCCicode.c (geniCodeAdd): take generic pointers into account
16377 * src/z80/ralloc2.cc (assign_operands_for_cost): fix warning, remove TABs
16378 * support/regression/fwk/lib/extern1.c,
16379 * support/regression/tests/inline.c: added bug2591 test
16380 * support/regression/tests/bug-2601.c: test with several pointer sizes
16381 * support/regression/tests/bug-2590.c,
16382 * support/regression/tests/smallc.c,
16383 * support/regression/tests/z88dk.c: test __smallc only on stm8 & z80-like
16385 2017-05-05 Philipp Klaus Krause <pkk AT spth.de>
16387 * support/regression/tests/bug-2188.c,
16388 support/regression/tests/gcc-torture-execute-930526-1.c:
16389 Add extern declaration to make test compile where functions aren't inlined.
16391 2017-05-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16393 * src/stm8/gen.c (genMove_o): fixed bug #2607
16395 2017-05-04 Philipp Klaus Krause <pkk AT spth.de>
16398 Be more forgiving about omitted whitespace after comma in peephole matching
16399 (whitespace handling had become stricter in the fix to #2600).
16401 Slightly more accurate analysis of register reads, also wrt. whitespaces.
16403 Unify emitted asm syntax wrt. space after comma.
16405 2017-05-02 Philipp Klaus Krause <pkk AT spth.de>
16408 Minor fix in list of supported data types.
16410 2017-05-01 Philipp Klaus Krause <pkk AT spth.de>
16413 Document separation of _Bool/bool and __bit for mcs51 and ds390,
16415 automatic version number.
16417 2017-04-29 Philipp Klaus Krause <pkk AT spth.de>
16422 Resurrect SDCC macro zombie for old SiLabs IDE support.
16424 Update list of targets in description.
16426 2017-04-28 Philipp Klaus Krause <pkk AT spth.de>
16430 support/regression/tests/bug-2601.c,
16431 support/regression/tests/bug3537338.c,
16432 support/regression/tests/gcc-torture-execute-20021120-1.c:
16436 Minor improvements for const-correctness.
16440 2017-04-28 Philipp Klaus Krause <pkk AT spth.de>
16442 * support/regression/tests/bug-2590.c:
16443 Enable for all z80-related backends.
16444 * support/regression/tests/bug-2601.c:
16447 2017-04-27 Philipp Klaus Krause <pkk AT spth.de>
16450 Update manual for --std-sdcc99 vs. --std-c11 change.
16451 * device/lib/tlcs90/crt0.s:
16454 2017-04-27 Maarten Brock <sourceforge.brock AT dse.nl>
16456 * src/SDCCsymt.c (newEnumType): fixed bug 2545
16457 * support/regression/tests/enum.c: added test
16458 * support/regression/tests/bug-2590.c: disabled for non-z80
16460 2017-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
16462 * src/ds390/gen.c (assignBit): disabled to fix a warning
16463 * src/SDCCicode.c (geniCodeLeftShift): fixed bug, replaced TABs
16464 * src/SDCCralloc.hpp (create_cfg): fixed warning, replaced TABs
16465 * src/SDCCsymt.c (computeType): fixed bug #2585
16466 * src/stm8/ralloc2.cc (assign_operands_for_cost): fixed warning, replaced TABs
16467 * src/z80/gen.c (genLeftShift, genRightShift): fixed warning
16468 * src/z80/peep.c (z80SurelyWrites): fixed warning
16469 * support/regression/tests/gcc-torture-execute-20020201-1.c
16470 * support/regression/tests/bug-2585.c: new, added
16472 2017-04-24 Philipp Klaus Krause <pkk AT spth.de>
16475 support/regression/tests/bug-2601.c:
16478 2017-04-13 Philipp Klaus Krause <pkk AT spth.de>
16481 Minor improvement in Z180 support from z88dk patch.
16483 2017-04-12 Philipp Klaus Krause <pkk AT spth.de>
16485 * support/regression/tests/smallc.c:
16486 Disable Small-C test for mcs51.
16488 2017-04-11 Philipp Klaus Krause <pkk AT spth.de>
16491 support/regression/tests/bug-2596.c:
16492 Fix bug #2598 by not inlining calls to functions with variable arguments.
16494 2017-04-10 Philipp Klaus Krause <pkk AT spth.de>
16498 * support/regression/tests/smallc.c:
16499 Do not try to test __smallc for host.
16501 Always specify signedness for char in debug dumps.
16502 * support/regression/tests/bug-2539.c:
16503 Test for bug #2539.
16504 * src/z80/peeph-z80.def,
16505 src/z80/peeph-tlcs90.def,
16506 src/z80/peeph-r2k.def:
16509 Fix bug #2574 (patch by Sebastian).
16511 support/regression/tests/gcc-torture-execute-921202-2.c:
16514 2017-04-06 Philipp Klaus Krause <pkk AT spth.de>
16517 support/regression/tests/z88dk.c,
16518 support/regression/tests/smallc.c,
16520 Support for __smallc callees.
16522 2017-04-06 Philipp Klaus Krause <pkk AT spth.de>
16531 2017-04-03 Philipp Klaus Krause <pkk AT spth.de>
16534 Update documentation on _Bool / bool support.
16536 2017-03-17 Philipp Klaus Krause <pkk AT spth.de>
16538 * support/regression/tests/bug3027957.c:
16539 Disable fixed-address test for host.
16541 2017-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16543 * src/SDCCicode.c (geniCodeAdd): Fix bug #2568 fix
16545 2017-03-15 Philipp Klaus Krause <pkk AT spth.de>
16551 * support/regression/tests/absolute.c,
16552 support/regression/tests/bug-2304.c,
16553 support/regression/tests/bug2686159.c,
16554 support/regression/tests/bug3027957.c:
16557 support/regression/tests/bug-2568.c:
16560 2017-03-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16562 * src/SDCCast.c (checkZero): fix bug #2586
16564 2017-03-14 Philipp Klaus Krause <pkk AT spth.de>
16567 support/regression/tests/bug-2582.c:
16570 2017-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16572 * src/SDCC.y: fixed bug #2587
16573 * support/regression/tests/for.c: change to catch bug #2587
16574 * support/regression/tests/bug-2590.c: disable test on host
16576 2017-03-13 Philipp Klaus Krause <pkk AT spth.de>
16579 support/regression/tests/bug-2376.c:
16582 2017-03-08 Philipp Klaus Krause <pkk AT spth.de>
16585 support/regression/tests/bug-2590.c:
16588 2017-02-10 Philipp Klaus Krause <pkk AT spth.de>
16591 Omit some unnecessary register saving on wide shifts.
16593 2017-02-09 Philipp Klaus Krause <pkk AT spth.de>
16596 Optimize wide right shifts, part of RFE #524.
16597 * device/lib/rand.c,
16598 support/regression/tests/rand.c:
16601 2017-02-08 Philipp Klaus Krause <pkk AT spth.de>
16603 * device/lib/rand.c:
16604 Replace LCG by xorshift for rand().
16606 Optimize wide left shifts, part of RFE #524.
16608 2017-02-04 Philipp Klaus Krause <pkk AT spth.de>
16610 * device/include/pic14/math.h,
16611 device/include/pic16/math.h,
16612 device/lib/pic14/libm/Makefile.am,
16613 device/lib/pic14/libm/Makefile.in,
16614 device/lib/pic16/libm/Makefile.am,
16615 device/lib/pic16/libm/Makefile.in,
16618 support/regression/compact-results.py,
16619 support/regression/ports/pic14/support.c,
16620 support/regression/tests/absolute.c,
16621 support/regression/tests/bug1723128.c,
16622 support/regression/tests/bug2686159.c,
16623 support/regression/tests/gcc-torture-execute-20021120-1.c,
16624 support/regression/tests/gcc-torture-execute-pr19606.c:
16625 Various pic14-related fixes: Patches 00, 01, 02, 04, 05, 07, 09, 11, 14, 15 by Martin Habets via sdcc-devel.
16627 2017-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16629 * src/SDCCast.c (expandInlineFuncs,fixupInline): Fix bug #2559
16630 * support/regression/tests/bug-2559.c: Re-enable test
16632 2017-01-12 Philipp Klaus Krause <pkk AT spth.de>
16635 Improve efficiency of wide left-shifts.
16637 2017-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
16639 * src/SDCCicode.c (geniCodeDerefPtr): Fix bug #2575
16641 2016-12-29 Philipp Klaus Krause <pkk AT spth.de>
16643 * support/regression/tests/wchar.c:
16644 Test some more wide character functionality.
16646 2016-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
16649 * src/SDCCmain.c: applied patch #276, adds -MD option, Thanks Anders Dellien
16651 2016-12-19 Philipp Klaus Krause <pkk AT spth.de>
16653 * device/lib/mbrlen.c,
16654 support/regression/tests/wchar.c:
16657 2016-12-18 Philipp Klaus Krause <pkk AT spth.de>
16660 Save space by omitting an unused part of the interrupt table.
16662 2016-12-17 Philipp Klaus Krause <pkk AT spth.de>
16665 src/stm8/peeph.def:
16666 Minor code improvements, mostly for bit-fields.
16668 2016-12-12 Philipp Klaus Krause <pkk AT spth.de>
16671 Document STM8 trap handler syntax.
16673 2016-12-12 Ben Shi <powerstudio1st AT 163 DOT com>
16677 Fix incorrect error messages.
16679 2016-11-27 Philipp Klaus Krause <pkk AT spth.de>
16681 * device/include/wchar.h,
16682 device/lib/btowc.c,
16683 device/lib/incl.mk,
16684 device/lib/mbrlen.c,
16685 device/lib/mbstowcs.c,
16686 device/lib/wcscmp.c,
16687 device/lib/wcstombs.c,
16688 device/lib/wctob.c,
16689 device/lib/wcslen.c,
16690 support/regression/tests/string.c,
16691 support/regression/tests/wchar.c:
16692 Improvements and fixes in wide character library support.
16694 2016-11-26 Philipp Klaus Krause <pkk AT spth.de>
16696 * device/include/stdlib.h,
16697 device/lib/incl.mk,
16698 device/lib/mbstowcs.c,
16699 device/lib/wcstombs.c,
16701 Multibyte/wide string conversion functions.
16703 Optimize comparisons with (partial) 1 and -1.
16705 2016-11-17 Philipp Klaus Krause <pkk AT spth.de>
16707 * src/SDCClospre.cc,
16708 src/SDCClospre.hpp:
16709 More fine-grained handling of volatile to allow more optimizations in lospre.
16711 2016-11-17 Philipp Klaus Krause <pkk AT spth.de>
16713 * src/stm8/ralloc.c,
16715 Fix some comments on spilling.
16716 * support/regression/tests/bug-2559.c
16718 2016-11-07 Philipp Klaus Krause <pkk AT spth.de>
16728 support/regression/ports/xa51,
16729 support/regression/Makefile.in:
16730 Kill incomplete, unmaintained xa51 backend.
16732 2016-11-07 Ben Shi <powerstudio1st AT 163 DOT com>
16735 Fix a bug in zeror-divider check.
16737 2016-11-02 Philipp Klaus Krause <pkk AT spth.de>
16739 * device/include/stdbool.h,
16741 support/regression/tests/bitopcse.c,
16742 support/regression/tests/bool.c,
16743 support/regression/tests/bug2942247.c,
16744 support/regression/tests/bug3404101.c,
16745 support/regression/tests/bug3565757.c:
16748 2016-11-03 Philipp Klaus Krause <pkk AT spth.de>
16755 Replace all muldiv uses by hasNativeMulFor().
16757 2016-10-23 Philipp Klaus Krause <pkk AT spth.de>
16760 support/regression/tests/bug-2554.c:
16761 Fix a stack corruption issue in stm8 ! code generation, bug #2554.
16763 2016-10-23 Ben Shi <powerstudio1st AT 163 DOT com>
16765 * sdas/linksrc/lkbank.c
16766 * sdas/linksrc/lksym.c
16767 Fix a buffer overflow error in revision #9786.
16769 2016-10-22 Philipp Klaus Krause <pkk AT spth.de>
16771 * support/regression/tests/*.c,
16772 support/regression/ports/*/spec.mk:
16773 Cleanup handling of __reentrant in the regression tests, RFE #517.
16775 2016-10-22 Ben Shi <powerstudio1st AT 163 DOT com>
16777 * sdas/linksrc/lksym.c
16778 Fix a buffer overflow error in previous commit.
16780 2016-10-21 Philipp Klaus Krause <pkk AT spth.de>
16782 * src/SDCCBBlock.c,
16784 Fix a bug in BBlock label handling, allows reenabling jump-to-jump optimization for jump tables.
16786 2016-10-17 Ben Shi <powerstudio1st AT 163 DOT com>
16788 * sdas/linksrc/lkbank.c
16791 2016-10-11 Philipp Klaus Krause <pkk AT spth.de>
16794 Temporarily disable jump-to-jump optimization for jump tables RFE #514, since it causes a hc08/z80 regression.
16796 2016-10-02 Philipp Klaus Krause <pkk AT spth.de>
16799 Optimize out negation by inverting jump condition, part of RFE #516.
16801 2016-10-02 Philipp Klaus Krause <pkk AT spth.de>
16806 Implement jump-to-jump optimization for jump tables RFE #514.
16808 Optimize bitwise and of _Bool and comparison results, RFE #513.
16810 2016-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
16812 * src/mcs51/gen.c (shiftLLong): support sizes 1,2,4,8,
16813 refactored genlshOne, genlshTwo, genlshFour into genlshFixed,
16814 (genLeftShiftLiteral): support long long
16816 2016-09-24 Philipp Klaus Krause <pkk AT spth.de>
16819 support/regression/tests/bug-2548.c,
16820 support/regression/tests/bug-2551.c:
16821 Fix bugs #2548, #2551 by disabling a broken AST optimization.
16823 2016-09-19 Ben Shi <powerstudio1st AT 163 DOT com>
16826 Fix a bug in bitwise-and operation (genAnd()).
16828 2016-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
16831 * src/sdcc.vcxproj,
16832 * src/sdcc.vcxproj.filters: moved SDCC.lex and SDCC.y to config project
16833 * src/mcs51/gen.c (gencjneshort): proper support for long long
16834 * src/mcs51/peeph.def: restart 3.b
16835 * src/SDCCsymt.c (initCSupport): MSVC doesn't support casting compound lit
16836 * src/SDCCval.c (csdOfVal): we still use MSVC 2010, no mid-code declarations
16837 * support/regression/tests/bug-2205.c: removed unused disabled warning
16838 * support/regression/tests/gcc-torture-execute-20020506-1.c: intermediate
16839 functions should not be named test*
16840 * support/regression/tests/gcc-torture-execute-961122-1.c: fixed no-return
16843 2016-09-17 Ben Shi <powerstudio1st AT 163 DOT com>
16845 * device/lib/isinf.c
16846 * device/lib/isnan.c
16847 Improve comapabililty and efficiency.
16849 2016-09-15 Ben Shi <powerstudio1st AT 163 DOT com>
16851 * device/lib/isinf.c
16852 * device/lib/isnan.c
16853 Improve compatibility.
16855 2016-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
16857 * src/mcs51/gen.c (isLiteralBit): fixed for long long,
16858 (genReceive): fixed stack smashing bug
16859 * support/regression/tests/test-p99-conformance.c: decreased restrict_buffer
16861 2016-09-12 Philipp Klaus Krause <pkk AT spth.de>
16863 * device/include/stdbool.h,
16865 Standard-compliant _Bool for mcs51.
16867 2016-09-08 Philipp Klaus Krause <pkk AT spth.de>
16869 * device/include/stdint.h:
16870 Enable C99 typedefs for 64-bit types.
16872 2016-09-07 Ben Shi <powerstudio1st AT 163 DOT com>
16875 Improve longlong compatibility of mcs-51 on 32-bit hosts.
16877 2016-09-03 Philipp Klaus Krause <pkk AT spth.de>
16880 Fixes for mcs51 long long on 32-bit hosts.
16882 2016-08-30 Philipp Klaus Krause <pkk AT spth.de>
16885 Fixes for mcs51 long long on 32-bit hosts.
16887 2016-08-28 Philipp Klaus Krause <pkk AT spth.de>
16889 * support/regression/tests/gcc-torture-execute-20020506-1.c:
16890 Disable test for ds390 that accidentially got enabled when enabled for mcs51.
16892 2016-08-26 Philipp Klaus Krause <pkk AT spth.de>
16894 * src/mcs51/peep.c,
16895 support/regression/tests/bug-2477.c,
16896 support/regression/tests/gcc-torture-execute-20001031-1.c,
16897 support/regression/tests/gcc-torture-execute-20020506-1.c,
16898 support/regression/tests/gcc-torture-execute-20060127-1.c,
16899 support/regression/tests/gcc-torture-execute-941015-1.c,
16900 support/regression/tests/gcc-torture-execute-950512-1.c,
16901 support/regression/tests/gcc-torture-execute-950612-1.c,
16902 support/regression/tests/gcc-torture-execute-960402-1.c,
16903 support/regression/tests/gcc-torture-execute-960801-1.c,
16904 support/regression/tests/gcc-torture-execute-20000717-2.c,
16905 support/regression/tests/gcc-torture-execute-20020402-3.c,
16906 support/regression/tests/gcc-torture-execute-20050111-1.c,
16907 support/regression/tests/gcc-torture-execute-950704-1.c:
16908 Fix mcs51 peephole handling of long long parameters.
16909 * support/regression/tests/test-p99-conformance.c:
16910 Disable test for older GCC, where it fails.
16912 2016-08-25 Philipp Klaus Krause <pkk AT spth.de>
16915 support/regression/tests/gcc-torture-execute-20020508-?.c:
16916 Fix long long right shift for mcs51.
16918 2016-08-25 Philipp Klaus Krause <pkk AT spth.de>
16920 * device/lib/_strchr.c:
16921 Explicitly cast away const to silence a warning.
16922 * support/regression/tests/gcc-torture-execute-20020508-?.c:
16923 Disable some failing long long tests for mcs51.
16925 Fix pushing of long long received parameters for mcs51.
16927 2016-08-24 Ben Shi <powerstudio1st AT 163 DOT com>
16929 * device/include/math.h
16930 * device/lib/Makefile.in
16931 * device/lib/incl.mk
16932 * device/lib/isinf.c
16933 * device/lib/isnan.c
16934 * device/lib/make51lib.bat
16935 Support of new library functions isnan() and isinf().
16937 * device/lib/_fsdiv.c
16938 Make float division more compitable with inf and nan results.
16941 Change zero-div from error to warning level.
16942 * support/regression/tests/bug-2516.c
16943 Add a new test case for inf and nan.
16945 2016-08-23 Philipp Klaus Krause <pkk AT spth.de>
16949 support/regression/tests/gcc-torture-execute-20000314-2.c,
16950 support/regression/tests/gcc-torture-execute-pr42269-2.c,
16951 support/regression/tests/gcc-torture-execute-20060110-2.c,
16952 support/regression/tests/gcc-torture-execute-20001031-1.c,
16953 support/regression/tests/gcc-torture-execute-20011126-1.c,
16954 support/regression/tests/gcc-torture-execute-20020201-1.c,
16955 support/regression/tests/gcc-torture-execute-20020219-1.c,
16956 support/regression/tests/gcc-torture-execute-20020402-3.c,
16957 support/regression/tests/gcc-torture-execute-20020506-1.c,
16958 support/regression/tests/gcc-torture-execute-20020508-1.c,
16959 support/regression/tests/gcc-torture-execute-20020508-2.c,
16960 support/regression/tests/gcc-torture-execute-20020508-3.c,
16961 support/regression/tests/gcc-torture-execute-20030307-1.c,
16962 support/regression/tests/gcc-torture-execute-20050104-1.c,
16963 support/regression/tests/gcc-torture-execute-20050111-1.c,
16964 support/regression/tests/gcc-torture-execute-941015-1.c,
16965 support/regression/tests/gcc-torture-execute-950503-1.c:
16966 long long fix for deadMove() on ret.
16968 2016-08-22 Philipp Klaus Krause <pkk AT spth.de>
16972 support/regression/tests/gcc-torture-execute-961122-1.c,
16973 support/regression/tests/gcc-torture-execute-961206-1.c,
16974 support/regression/tests/gcc-torture-execute-991016-1.c,
16975 support/regression/tests/gcc-torture-execute-991216-1.c,
16976 support/regression/tests/gcc-torture-execute-991216-2.c,
16977 support/regression/tests/gcc-torture-execute-pr20187-1.c,
16978 support/regression/tests/gcc-torture-execute-pr40057.c,
16979 support/regression/tests/gcc-torture-execute-pr42269-2.c,
16980 support/regression/tests/gcc-torture-execute-pr42544.c,
16981 support/regression/tests/test-p99-conformance.c:
16982 support/regression/tests/gcc-torture-execute-20000121-1.c,
16983 support/regression/tests/gcc-torture-execute-20000314-2.c,
16984 support/regression/tests/gcc-torture-execute-20000412-2.c,
16985 support/regression/tests/gcc-torture-execute-20000523-1.c,
16986 support/regression/tests/gcc-torture-execute-20000717-2.c,
16987 support/regression/tests/gcc-torture-execute-20001112-1.c,
16988 support/regression/tests/gcc-torture-execute-20001221-1.c,
16989 support/regression/tests/gcc-torture-execute-20060110-2.c,
16990 support/regression/tests/gcc-torture-execute-20060127-1.c,
16991 support/regression/tests/gcc-torture-execute-20071213-1.c,
16992 support/regression/tests/gcc-torture-execute-920829-1.c,
16993 support/regression/tests/gcc-torture-execute-921029-1.c,
16994 support/regression/tests/gcc-torture-execute-921202-2.c,
16995 support/regression/tests/gcc-torture-execute-930111-1.c:
16996 More long long support for mcs51.
16998 2016-08-21 Philipp Klaus Krause <pkk AT spth.de>
17002 src/mcs51/ralloc.c,
17003 The basics of long long support for mcs51.
17005 2016-08-20 Philipp Klaus Krause <pkk AT spth.de>
17008 Fix double underscores in manual.
17010 2016-08-19 Philipp Klaus Krause <pkk AT spth.de>
17012 * support/regression/tests/test-p99-conformance.c:
17013 Enable a test for newer GCC, comment on other GCC issues.
17015 2016-08-18 Philipp Klaus Krause <pkk AT spth.de>
17021 support/regression/tests/for.c,
17022 test-p99-conformance.c:
17023 RFE #165: C99 compliance: for (int i=0; ...
17025 2016-08-17 Philipp Klaus Krause <pkk AT spth.de>
17027 * support/regression/tests/test-p99-conformance.c:
17028 Disable a subtest for host, since it fails on older GCC, disable a subtest for backends that don't have long long.
17030 2016-08-14 Philipp Klaus Krause <pkk AT spth.de>
17032 * support/regression/tests/test-p99-conformance.c,
17033 support/regression/fwk/lib/extern1.c:
17034 Enable inlining test for host.
17036 2016-08-14 Philipp Klaus Krause <pkk AT spth.de>
17038 * support/regression/tests/test-p99-conformance.c:
17039 Document SDCC bug correspondance to P99 conformance tests.
17041 2016-08-13 Philipp Klaus Krause <pkk AT spth.de>
17043 * support/regression/tests/test-p99-conformance.c:
17044 Some P99 conformance tests.
17046 2016-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17048 * sim/ucsim/sim.src/mem.cc: rewrote some of the memory cell classes
17049 to work properly on big endian architectures
17051 2016-08-10 Ben Shi <powerstudio1st AT 163 DOT com>
17053 * sim/ucsim/charscl.h
17054 Fix the failure of building ucsim on MacOS.
17055 * support/regression/tests/gcc-torture-execute-string-opt-18.c
17056 * support/regression/tests/string.c
17057 Disable several tests on MacOS.
17059 2016-08-10 Philipp Klaus Krause <pkk AT spth.de>
17061 * device/include/string.h,
17062 device/lib/tlcs90/Makefile.in,
17063 device/lib/tlcs90/memmove.s:
17064 pop af correctness for tlcs90.
17066 2016-08-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17068 * support/regression/get_ticks.py: parse the byte count more robustly
17069 (buffering on stderr vs stdout sometimes jumbling text)
17071 2016-08-05 Erik Petrich <epetrich AT ivorytower.normna.ok.us>
17073 * src/SDCCcse.c (ifxOptimize): fixed bug #2484
17074 * src/z80/gen.c (ld_cost): fixed bug #2399
17076 2016-08-04 Erik Petrich <epetrich AT ivorytower.normna.ok.us>
17078 * src/SDCCast.c (decorateTree, optimizeCompare): fixed bug #2503
17079 and an unreported bug similar to bug #2529
17080 * support/regression/tests/bug-2503: added test
17081 * src/SDCClospre.hpp (forward_lospre_assignment): fixed bug #2510
17083 2016-08-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17085 * src/SDCCcflow.c (eBBSuccessors),
17086 * src/SDCCloop.c (addPostLoopBlock): fixed bug #2453
17087 * support/regression/tests/bug-2453: added test
17089 2016-08-03 Philipp Klaus Krause <pkk AT spth.de>
17091 * device/lib/tlcs90/setjmp.s,
17092 device/lib/tlcs90/memmove.s:
17093 Avoid messing up interrupt flags via pop af.
17095 2016-08-02 Philipp Klaus Krause <pkk AT spth.de>
17097 * device/lib/_strstr.c:
17100 Fix usage info, patch #274.
17101 * src/SDCCtree_dec.hpp:
17102 Fix isolation of redundant nodes in the tree-decomposition.
17104 2016-08-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17106 * src/SDCCcse.c (cseBBlock): Recompute data flow if any outgoing
17107 expressions have been changed (fixed bug #2495)
17108 * src/hc08/gen.c (genCopy),
17109 * src/hc08/ralloc.c (packPointerOp): fixed bug #2357
17110 * support/regression/tests/bug-2357.c: re-enabled test for hc08/s08
17112 2016-08-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17114 * src/stm8/gen.c (regFree): Y is not free when using extended stack
17116 2016-07-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17118 * src/hc08/gen.c (genMinus): mark A as modified for reverse subtraction
17119 * src/z80/gen.c (genPointerGet,genUnpackBits): preserve pointer
17120 register pair if not dead
17122 2016-07-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17124 * sim/ucsim/fwio.cc: try defining WINVER instead of _WIN32_WINNT
17125 * sim/ucsim/cmd.src/Makefile.in,
17126 * sim/ucsim/gui.src/Makefile.in,
17127 * sim/ucsim/sim.src/Makefile.in,
17128 * sim/ucsim/main_in.mk: omit -D option to ar, not supported by all ar
17130 2016-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
17132 * SDCC.props: added ExecutablePath
17138 * src/z80/peep.c: fixed warnings
17140 2016-07-29 Philipp Klaus Krause <pkk AT spth.de>
17143 Enable an optimization that was blocked on bug #2450.
17144 * src/SDCCtree_dec.hpp,
17145 src/SDCCralloc.hpp:
17146 Fix bug #2467 (fix previously was blocked on bug #2450).
17147 * src/z80/peeph-tlcs90.def:
17148 Remove leftover z80 peepholes that break on tlcs90.
17150 2016-07-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17152 * src/SDCCast.c (processBlockVars): fix bug #2450
17153 * support/regression/tests/inline.c: add test for bug #2450
17154 * src/hc08/gen.c (aopForSym): remove work-around
17156 2016-07-29 Philipp Klaus Krause <pkk AT spth.de>
17158 * support/regression/tests/bug-2529.c
17159 Regression test for bug #2517.
17161 2016-07-29 Ben Shi <powerstudio1st AT 163 DOT com>
17163 * sim/ucsim/cmd.src/cmd_exec.cc
17164 * sim/ucsim/cmd.src/cmd_get.cc
17165 * sim/ucsim/cmd.src/command.cc
17166 * sim/ucsim/fuio.cc
17167 * sim/ucsim/s51.src/interrupt.cc
17168 * sim/ucsim/s51.src/uc51.cc
17169 * sim/ucsim/sim.src/mem.cc
17170 * sim/ucsim/stm8.src/itc.cc
17171 * sim/ucsim/utils.h
17172 Fix build failures on cygwin.
17177 2016-07-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17179 * sim/ucsim/fwio.cc: added _WIN32_WINNT def for GetConsoleWindow()
17180 * sim/ucsim/fio.cc: handle case S_IRGRP and S_IROTH not defined
17181 * sim/ucsim/doc/Makefile.in: copy *.svg files instead of *.gif
17183 2016-07-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17185 * src/SDCCast.c (decorateType): fixed bug #2529
17187 2016-07-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17189 * device/lib/expf.c: ensure exponent not random before normalization
17191 2016-07-27 Philipp Klaus Krause <pkk AT spth.de>
17193 * support/regression/tests/bug-2385.c:
17194 Disable a test for tlcs90, so all tests compile for tlcs90.
17196 2016-07-26 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
17198 * sim/ucsim/.version, sim/ucsim/Makefile.in, sim/ucsim/NEWS,
17199 sim/ucsim/README, sim/ucsim/TODO, sim/ucsim/app.cc,
17200 sim/ucsim/appcl.h, sim/ucsim/avr.src/Makefile.in,
17201 sim/ucsim/avr.src/avr.cc, sim/ucsim/avr.src/avrcl.h,
17202 sim/ucsim/avr.src/savr.cc, sim/ucsim/c.sh, sim/ucsim/chars.cc,
17203 sim/ucsim/charscl.h, sim/ucsim/cmd.src/Makefile.in,
17204 sim/ucsim/cmd.src/bp.cc, sim/ucsim/cmd.src/bpcl.h,
17205 sim/ucsim/cmd.src/cmd_bp.cc, sim/ucsim/cmd.src/cmd_bpcl.h,
17206 sim/ucsim/cmd.src/cmd_conf.cc, sim/ucsim/cmd.src/cmd_confcl.h,
17207 sim/ucsim/cmd.src/cmd_exec.cc, sim/ucsim/cmd.src/cmd_execcl.h,
17208 sim/ucsim/cmd.src/cmd_get.cc, sim/ucsim/cmd.src/cmd_getcl.h,
17209 sim/ucsim/cmd.src/cmd_gui.cc, sim/ucsim/cmd.src/cmd_guicl.h,
17210 sim/ucsim/cmd.src/cmd_info.cc, sim/ucsim/cmd.src/cmd_infocl.h,
17211 sim/ucsim/cmd.src/cmd_mem.cc, sim/ucsim/cmd.src/cmd_memcl.h,
17212 sim/ucsim/cmd.src/cmd_set.cc, sim/ucsim/cmd.src/cmd_setcl.h,
17213 sim/ucsim/cmd.src/cmd_show.cc, sim/ucsim/cmd.src/cmd_showcl.h,
17214 sim/ucsim/cmd.src/cmd_stat.cc, sim/ucsim/cmd.src/cmd_statcl.h,
17215 sim/ucsim/cmd.src/cmd_timer.cc, sim/ucsim/cmd.src/cmd_timercl.h,
17216 sim/ucsim/cmd.src/cmd_uc.cc, sim/ucsim/cmd.src/cmd_uccl.h,
17217 sim/ucsim/cmd.src/cmdconf.cc, sim/ucsim/cmd.src/cmdconfcl.h,
17218 sim/ucsim/cmd.src/cmdgui.cc, sim/ucsim/cmd.src/cmdguicl.h,
17219 sim/ucsim/cmd.src/cmdlex.l, sim/ucsim/cmd.src/cmdmem.cc,
17220 sim/ucsim/cmd.src/cmdmemcl.h, sim/ucsim/cmd.src/cmdpars.y,
17221 sim/ucsim/cmd.src/cmdset.cc, sim/ucsim/cmd.src/cmdsetcl.h,
17222 sim/ucsim/cmd.src/cmdstat.cc, sim/ucsim/cmd.src/cmdstatcl.h,
17223 sim/ucsim/cmd.src/cmduc.cc, sim/ucsim/cmd.src/cmduccl.h,
17224 sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/cmdutil.h,
17225 sim/ucsim/cmd.src/command.cc, sim/ucsim/cmd.src/commandcl.h,
17226 sim/ucsim/cmd.src/get.cc, sim/ucsim/cmd.src/getcl.h,
17227 sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/infocl.h,
17228 sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/newcmdcl.h,
17229 sim/ucsim/cmd.src/newcmdposix.cc,
17230 sim/ucsim/cmd.src/newcmdposixcl.h, sim/ucsim/cmd.src/set.cc,
17231 sim/ucsim/cmd.src/setcl.h, sim/ucsim/cmd.src/show.cc,
17232 sim/ucsim/cmd.src/showcl.h, sim/ucsim/cmd.src/timer.cc,
17233 sim/ucsim/cmd.src/timercl.h, sim/ucsim/conf, sim/ucsim/configure,
17234 sim/ucsim/configure.ac, sim/ucsim/ddconfig_in.h,
17235 sim/ucsim/doc/Makefile.in, sim/ucsim/doc/analyzer.html,
17236 sim/ucsim/doc/burst.gif, sim/ucsim/doc/chip.gif,
17237 sim/ucsim/doc/chip.svg, sim/ucsim/doc/cmd.html,
17238 sim/ucsim/doc/cmd.txt, sim/ucsim/doc/cmd_bp.html,
17239 sim/ucsim/doc/cmd_dump.html, sim/ucsim/doc/cmd_exec.html,
17240 sim/ucsim/doc/cmd_general.html, sim/ucsim/doc/cmd_memory.html,
17241 sim/ucsim/doc/cmd_removed.html, sim/ucsim/doc/cmd_set.html,
17242 sim/ucsim/doc/commref.html, sim/ucsim/doc/conf.mk,
17243 sim/ucsim/doc/cpu-mem.gif, sim/ucsim/doc/cpu-mem.jpg,
17244 sim/ucsim/doc/cpu-mem.svg, sim/ucsim/doc/cpu.gif,
17245 sim/ucsim/doc/cpu.html, sim/ucsim/doc/cpu_types.html,
17246 sim/ucsim/doc/decoded.gif, sim/ucsim/doc/decoded.jpg,
17247 sim/ucsim/doc/decoded.svg, sim/ucsim/doc/index.html,
17248 sim/ucsim/doc/interrupt.gif, sim/ucsim/doc/interrupt.html,
17249 sim/ucsim/doc/invoke.html, sim/ucsim/doc/memory.html,
17250 sim/ucsim/doc/mulcons.html, sim/ucsim/doc/new.gif,
17251 sim/ucsim/doc/news.html, sim/ucsim/doc/obsolete.html,
17252 sim/ucsim/doc/serial.html, sim/ucsim/doc/serial1.gif,
17253 sim/ucsim/doc/serial1.svg, sim/ucsim/doc/serial2.gif,
17254 sim/ucsim/doc/serial2.svg, sim/ucsim/doc/share-chip.gif,
17255 sim/ucsim/doc/share-chip.svg, sim/ucsim/doc/simif.html,
17256 sim/ucsim/doc/syntax.html, sim/ucsim/doc/term_cpuopt.gif,
17257 sim/ucsim/doc/term_cpuopt.html, sim/ucsim/doc/timers.gif,
17258 sim/ucsim/doc/timers.html, sim/ucsim/doc/uCsim.txt,
17259 sim/ucsim/doc/wins.gif, sim/ucsim/doc/wins.html,
17260 sim/ucsim/error.cc, sim/ucsim/errorcl.h, sim/ucsim/eventcl.h,
17261 sim/ucsim/example, sim/ucsim/example/Makefile,
17262 sim/ucsim/example/config.cmd, sim/ucsim/example/run.cmd,
17263 sim/ucsim/example/simif.c, sim/ucsim/example/simif.sh,
17264 sim/ucsim/example/simif_fin.txt, sim/ucsim/fio.cc,
17265 sim/ucsim/fiocl.h, sim/ucsim/ftest.cc, sim/ucsim/fuio.cc,
17266 sim/ucsim/fuiocl.h, sim/ucsim/fwio.cc, sim/ucsim/fwiocl.h,
17267 sim/ucsim/globals.cc, sim/ucsim/gstring.cc, sim/ucsim/gstring.h,
17268 sim/ucsim/gstring_LICENSE, sim/ucsim/gstring_REAME,
17269 sim/ucsim/gstring_append.cc, sim/ucsim/gstring_basic.cc,
17270 sim/ucsim/gstring_copyright.html, sim/ucsim/gstring_explode.cc,
17271 sim/ucsim/gui.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
17272 sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
17273 sim/ucsim/hc08.src/hc08mac.h, sim/ucsim/hc08.src/regshc08.h,
17274 sim/ucsim/hc08.src/shc08.cc, sim/ucsim/hc08.src/simhc08.cc,
17275 sim/ucsim/main_in.mk, sim/ucsim/option.cc, sim/ucsim/optioncl.h,
17276 sim/ucsim/p.sh, sim/ucsim/packages_in.mk, sim/ucsim/pobj.cc,
17277 sim/ucsim/pobjcl.h, sim/ucsim/pobjt.h, sim/ucsim/put(c),
17278 sim/ucsim/s51.src/Makefile.in, sim/ucsim/s51.src/arith.cc,
17279 sim/ucsim/s51.src/bit.cc, sim/ucsim/s51.src/inc.cc,
17280 sim/ucsim/s51.src/interrupt.cc, sim/ucsim/s51.src/interruptcl.h,
17281 sim/ucsim/s51.src/jmp.cc, sim/ucsim/s51.src/logic.cc,
17282 sim/ucsim/s51.src/mov.cc, sim/ucsim/s51.src/pca.cc,
17283 sim/ucsim/s51.src/pcacl.h, sim/ucsim/s51.src/port.cc,
17284 sim/ucsim/s51.src/portcl.h, sim/ucsim/s51.src/s51.cc,
17285 sim/ucsim/s51.src/serial.cc, sim/ucsim/s51.src/serialcl.h,
17286 sim/ucsim/s51.src/sim51.cc, sim/ucsim/s51.src/timer0.cc,
17287 sim/ucsim/s51.src/timer0cl.h, sim/ucsim/s51.src/timer1.cc,
17288 sim/ucsim/s51.src/timer2.cc, sim/ucsim/s51.src/timer2cl.h,
17289 sim/ucsim/s51.src/types51.h, sim/ucsim/s51.src/uc251.cc,
17290 sim/ucsim/s51.src/uc390.cc, sim/ucsim/s51.src/uc390cl.h,
17291 sim/ucsim/s51.src/uc390hw.cc, sim/ucsim/s51.src/uc51.cc,
17292 sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/uc51r.cc,
17293 sim/ucsim/s51.src/uc52.cc, sim/ucsim/s51.src/uc89c51r.cc,
17294 sim/ucsim/s51.src/uc89c51rcl.h, sim/ucsim/s51.src/wdt.cc,
17295 sim/ucsim/sim.src/Makefile.in, sim/ucsim/sim.src/arg.cc,
17296 sim/ucsim/sim.src/argcl.h, sim/ucsim/sim.src/brk.cc,
17297 sim/ucsim/sim.src/brkcl.h, sim/ucsim/sim.src/hw.cc,
17298 sim/ucsim/sim.src/hwcl.h, sim/ucsim/sim.src/itsrc.cc,
17299 sim/ucsim/sim.src/itsrccl.h, sim/ucsim/sim.src/mem.cc,
17300 sim/ucsim/sim.src/memcl.h, sim/ucsim/sim.src/obsolete.cc,
17301 sim/ucsim/sim.src/obsolete.h, sim/ucsim/sim.src/sim.cc,
17302 sim/ucsim/sim.src/simcl.h, sim/ucsim/sim.src/simif.cc,
17303 sim/ucsim/sim.src/simifcl.h, sim/ucsim/sim.src/stack.cc,
17304 sim/ucsim/sim.src/stackcl.h, sim/ucsim/sim.src/test_mem_speed.cc,
17305 sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
17306 sim/ucsim/sim.src/var.cc, sim/ucsim/sim.src/varcl.h,
17307 sim/ucsim/st7.src/Makefile.in, sim/ucsim/st7.src/glob.cc,
17308 sim/ucsim/st7.src/regsst7.h, sim/ucsim/st7.src/sst7.cc,
17309 sim/ucsim/st7.src/st7.cc, sim/ucsim/st7.src/st7cl.h,
17310 sim/ucsim/stm8.src/Makefile.in, sim/ucsim/stm8.src/glob.cc,
17311 sim/ucsim/stm8.src/glob.h, sim/ucsim/stm8.src/inst.cc,
17312 sim/ucsim/stm8.src/instcl.h, sim/ucsim/stm8.src/itc.cc,
17313 sim/ucsim/stm8.src/itccl.h, sim/ucsim/stm8.src/regsstm8.h,
17314 sim/ucsim/stm8.src/rst.cc, sim/ucsim/stm8.src/rstcl.h,
17315 sim/ucsim/stm8.src/serial.cc, sim/ucsim/stm8.src/serialcl.h,
17316 sim/ucsim/stm8.src/simstm8.cc, sim/ucsim/stm8.src/simstm8cl.h,
17317 sim/ucsim/stm8.src/sstm8.cc, sim/ucsim/stm8.src/stm8.cc,
17318 sim/ucsim/stm8.src/stm8cl.h, sim/ucsim/stm8.src/stm8mac.h,
17319 sim/ucsim/stm8.src/test, sim/ucsim/stm8.src/test/Makefile,
17320 sim/ucsim/stm8.src/test/conf.cmd, sim/ucsim/stm8.src/test/s0.c,
17321 sim/ucsim/stm8.src/test/s1.c, sim/ucsim/stm8.src/test/s1.mk,
17322 sim/ucsim/stm8.src/test/s2.c, sim/ucsim/stm8.src/test/s2.mk,
17323 sim/ucsim/stm8.src/test/s3.c, sim/ucsim/stm8.src/test/s3.mk,
17324 sim/ucsim/stm8.src/test/sdcc.mk, sim/ucsim/stm8.src/test/stm8.h,
17325 sim/ucsim/stm8.src/test/t1.c, sim/ucsim/stm8.src/test/t1.mk,
17326 sim/ucsim/stm8.src/test/t2.c, sim/ucsim/stm8.src/test/t2.mk,
17327 sim/ucsim/stm8.src/test/t3.c, sim/ucsim/stm8.src/test/t3.mk,
17328 sim/ucsim/stm8.src/test/t4.c, sim/ucsim/stm8.src/test/t4.mk,
17329 sim/ucsim/stm8.src/timer.cc, sim/ucsim/stm8.src/timercl.h,
17330 sim/ucsim/stypes.h, sim/ucsim/tlcs.src, sim/ucsim/tlcs.src/(c).1,
17331 sim/ucsim/tlcs.src/Makefile.in, sim/ucsim/tlcs.src/clean.mk,
17332 sim/ucsim/tlcs.src/conf.mk, sim/ucsim/tlcs.src/glob.cc,
17333 sim/ucsim/tlcs.src/glob.h, sim/ucsim/tlcs.src/inst_arith.cc,
17334 sim/ucsim/tlcs.src/inst_bit.cc, sim/ucsim/tlcs.src/inst_block.cc,
17335 sim/ucsim/tlcs.src/inst_cpu_others.cc,
17336 sim/ucsim/tlcs.src/inst_jump.cc, sim/ucsim/tlcs.src/inst_move.cc,
17337 sim/ucsim/tlcs.src/inst_rot_sh.cc,
17338 sim/ucsim/tlcs.src/mulibyte_instructions.txt,
17339 sim/ucsim/tlcs.src/regression.txt, sim/ucsim/tlcs.src/simtlcs.cc,
17340 sim/ucsim/tlcs.src/simtlcscl.h, sim/ucsim/tlcs.src/stlcs.cc,
17341 sim/ucsim/tlcs.src/test, sim/ucsim/tlcs.src/test/Makefile,
17342 sim/ucsim/tlcs.src/test/b2385.c,
17343 sim/ucsim/tlcs.src/test/b2385.mk, sim/ucsim/tlcs.src/test/c,
17344 sim/ucsim/tlcs.src/test/conf.cmd,
17345 sim/ucsim/tlcs.src/test/dummy.h, sim/ucsim/tlcs.src/test/run.cmd,
17346 sim/ucsim/tlcs.src/test/run.sh, sim/ucsim/tlcs.src/test/sdcc.mk,
17347 sim/ucsim/tlcs.src/test/t0.c, sim/ucsim/tlcs.src/test/t0.mk,
17348 sim/ucsim/tlcs.src/test/t1.c, sim/ucsim/tlcs.src/test/t1.mk,
17349 sim/ucsim/tlcs.src/test/t2.c, sim/ucsim/tlcs.src/test/t2.mk,
17350 sim/ucsim/tlcs.src/test/t3.c, sim/ucsim/tlcs.src/test/t3.mk,
17351 sim/ucsim/tlcs.src/tlcs.cc, sim/ucsim/tlcs.src/tlcscl.h,
17352 sim/ucsim/ucsim.cc, sim/ucsim/utils.cc, sim/ucsim/utils.h,
17353 sim/ucsim/xa.src/Makefile.in, sim/ucsim/xa.src/glob.cc,
17354 sim/ucsim/xa.src/glob.h, sim/ucsim/xa.src/regsxa.h,
17355 sim/ucsim/xa.src/sxa.cc, sim/ucsim/xa.src/xa.cc,
17356 sim/ucsim/xa.src/xacl.h, sim/ucsim/z80.src/Makefile.in,
17357 sim/ucsim/z80.src/inst_r2k.cc, sim/ucsim/z80.src/lr35902.cc,
17358 sim/ucsim/z80.src/lr35902cl.h, sim/ucsim/z80.src/r2k.cc,
17359 sim/ucsim/z80.src/r2kcl.h, sim/ucsim/z80.src/regsz80.h,
17360 sim/ucsim/z80.src/sz80.cc, sim/ucsim/z80.src/test,
17361 sim/ucsim/z80.src/test/Makefile, sim/ucsim/z80.src/test/c,
17362 sim/ucsim/z80.src/test/conf.cmd, sim/ucsim/z80.src/test/dummy.h,
17363 sim/ucsim/z80.src/test/run.cmd, sim/ucsim/z80.src/test/run.sh,
17364 sim/ucsim/z80.src/test/sdcc.mk, sim/ucsim/z80.src/test/t0.c,
17365 sim/ucsim/z80.src/test/t0.mk, sim/ucsim/z80.src/test/t1.c,
17366 sim/ucsim/z80.src/test/t1.mk, sim/ucsim/z80.src/test/t2.c,
17367 sim/ucsim/z80.src/test/t2.mk, sim/ucsim/z80.src/z80.cc,
17368 sim/ucsim/z80.src/z80cl.h, sim/ucsim/z80.src/z80mac.h: ucsim
17371 2016-07-25 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
17373 * device/lib/tlcs90/crt0.s,
17374 device/lib/tlcs90/crt0_org.s: dirty
17375 hacked crt0 so compiled simple programs will run at least
17377 2016-07-25 Daniel Drotos <drdani AT mazsola.iit.uni-miskolc.hu>
17379 * support/regression/Makefile.in,
17380 support/regression/fwk/include/testfwk.h,
17381 support/regression/ports/tlcs90,
17382 support/regression/ports/tlcs90/spec.mk,
17383 support/regression/ports/tlcs90/support.c,
17384 support/regression/ports/tlcs90/uCsim.cmd,
17385 support/regression/tests/bug-2305.c,
17386 support/regression/tests/bug3379723.c: regression test prepared
17389 2016-07-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17391 * src/SDCCmem.c (printAllocInfoSeg),
17394 * src/ds390/main.c,
17396 * src/mcs51/main.c,
17397 * src/pic14/main.c,
17398 * src/pic16/main.c,
17401 * src/z80/main.c: Display correct stack offsets when stack grows down
17403 2016-07-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17405 * src/SDCCopt.c (optimizeOpWidth): don't narrow types cast to bit/sbit either
17407 2016-07-23 Philipp Klaus Krause <pkk AT spth.de>
17413 Generate code for 16 bit multiplication by literal based on CSD representation.
17415 2016-07-23 Philipp Klaus Krause <pkk AT spth.de>
17420 device/lib/stm8/__mulsint2slong.s:
17421 support/regression/tests/muldiv.c:
17422 Support routine for unsigned 16x16->32 multiplication.
17424 2016-07-23 Philipp Klaus Krause <pkk AT spth.de>
17426 * device/lib/stm8/memcpy.s:
17427 Fix issue in loop counter in stm8 memcpy().
17431 Introduce backend option for 16x16->32 multiplication.
17432 * support/regression/tests/muldiv.c:
17433 Prepare test for unsigned 16x16->32 multiplication.
17435 2016-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
17437 * device/lib/_strchr.c,
17438 * device/lib/_strrchr.c,
17439 * device/lib/_strstr.c: reverted commit 9631, these files should not
17440 generate warning 196
17441 * sdas/asstm8/stm8mch.c: fixed incw cycle count
17443 2016-07-22 Philipp Klaus Krause <pkk AT spth.de>
17445 * device/lib/stm8/memcpy.s,
17446 support/regression/tests/memory.c:
17447 Fix an issue in stm8 unrolled memcpy().
17448 * device/lib/stm8/__mulsint2slong.s:
17449 Optimize multiplication routine for small operands.
17451 Optimize multiplication with anded operands.
17453 2016-07-21 Philipp Klaus Krause <pkk AT spth.de>
17455 * device/lib/stm8/Makefile.in,
17456 device/lib/stm8/__mulsint2slong.s,
17461 support/regression/tests/muldiv.c,
17462 Support for separate 16x16->32 multiplication routine, RFE #507.
17464 2016-07-21 Philipp Klaus Krause <pkk AT spth.de>
17467 Narrow arithmetic operations when results are cast to narrower type: RFE #506.
17469 2016-07-21 Ben Shi <powerstudio1st AT 163 DOT com>
17471 * sdas/astlcs90/t90mch.c
17472 Fix a potential defect.
17474 2016-07-20 Philipp Klaus Krause <pkk AT spth.de>
17476 * device/lib/stm8/Makefile.in,
17477 device/lib/stm8/strcpy.s:
17478 Partially unrolled, slightly faster strcpy() for stm8.
17481 More efficient handling of boolean values.
17482 * device/lib/r2k/Makefile.in:
17485 Remove unused vars.
17487 2016-07-18 Philipp Klaus Krause <pkk AT spth.de>
17490 Slight improvement in code generation.
17492 2016-07-17 Philipp Klaus Krause <pkk AT spth.de>
17496 Special case for int multiplication by 7 and 100.
17498 2016-07-16 Philipp Klaus Krause <pkk AT spth.de>
17500 * device/lib/stm8/memcpy.s:
17501 Improve stm8 memcpy().
17502 * support/regression/tests/memory.c:
17503 Better memcpy() test coverage.
17505 2016-07-15 Philipp Klaus Krause <pkk AT spth.de>
17507 * device/lib/stm8/memcpy.s:
17508 Improve stm8 memcpy().
17510 2016-07-14 Philipp Klaus Krause <pkk AT spth.de>
17512 * device/lib/stm8/memcpy.s:
17513 Partially unroll stm8 memcpy() for speed.
17514 * device/lib/stm8/strcmp.s:
17515 Partially unroll stm8 strcmp() for speed.
17517 2016-07-11 Philipp Klaus Krause <pkk AT spth.de>
17522 * device/lib/stm8/memcpy.s,
17523 device/lib/stm8/strcmp.s,
17524 device/lib/*/Makefile.in,
17525 device/lib/Makefile.in,
17526 device/lib/incl.mk:
17527 Provide handwritten memcpy(), strcmp() to improve stm8 Dhrystone scores.
17528 * sdas/astlcs90/t90mch.c:
17529 Fix TLCS-90 assembler relocation issue for ld, reopened bug #2520.
17530 * src/stm8/peeph.def:
17531 Some peepholes to remove redundant stm8 loads, to improve stm8 DMIPS by another 0.42%
17533 2016-07-10 Philipp Klaus Krause <pkk AT spth.de>
17535 * sdas/astlcs90/t90mch.c:
17536 Fix TLCS-90 assembler relocation issue for adc, bug #2520.
17538 2016-07-06 Ben Shi <powerstudio1st AT 163 DOT com>
17540 * support/regression/tests/gcc-torture-execute-920612-1.c
17541 Disabled in test-host with gcc-6.
17543 2016-06-30 Ben Shi <powerstudio1st AT 163 DOT com>
17546 Check pointer qualifier in geniCodeReturn().
17547 * device/lib/_strstr.c
17548 * device/lib/_strchr.c
17549 * device/lib/_strrchr.c
17550 * support/regression/tests/gcc-torture-execute-920429-1.c
17551 Suppress warning 196.
17553 2016-06-26 Ben Shi <powerstudio1st AT 163 DOT com>
17556 Fix a bug in genCmp().
17557 * support/regression/tests/dhrystone.c
17560 2016-06-21 Philipp Klaus Krause <pkk AT spth.de>
17564 * device/include/stdbool.h:
17567 2016-06-19 Philipp Klaus Krause <pkk AT spth.de>
17573 Remove obsolete SDCC macro, --short-is-8-bits option.
17575 2016-06-18 Ben Shi <powerstudio1st AT 163 DOT com>
17578 Fix a bug in jump table of switch/case when --acall-ajmp is specified.
17579 * src/mcs51/peeph.def
17580 Remove empty lines.
17582 2016-06-18 Ben Shi <powerstudio1st AT 163 DOT com>
17584 * support/regression/ports/mcs51-huge/spec.mk
17585 * support/regression/ports/mcs51-xstack-auto/spec.mk
17586 Make "make" more compatible.
17588 2016-06-17 Philipp Klaus Krause <pkk AT spth.de>
17590 * support/regression/ports/ucr2k/support.asm:
17591 Fix regression test putchar() for r2k.
17593 2016-06-16 Philipp Klaus Krause <pkk AT spth.de>
17595 * device/include/stdio.h,
17596 device/lib/ds390/putchar.c,
17598 support/regression/tests/bug1115321.c,
17599 support/regression/tests/dhrystone.c:
17600 Make putchar() prototype standard-compliant, fix bug #2505.
17602 2016-06-16 Philipp Klaus Krause <pkk AT spth.de>
17604 * device/lib/*/Makefile.in,
17605 device/lib/*/putchar.s,
17606 support/regression/ports/*/support.asm,
17607 support/regression/tests/dhrystone.c:
17608 Remove z80 putchar() from library.
17610 2016-06-15 Philipp Klaus Krause <pkk AT spth.de>
17612 * support/regression/tests/dhrystone.c:
17613 Introduce a regression test based on the Dhrystone benchmark.
17615 2016-06-13 Ben Shi <powerstudio1st AT 163 DOT com>
17618 Fix a bug in emitCall().
17620 2016-06-12 Maarten Brock <sourceforge.brock AT dse.nl>
17622 * Small Device C Compiler 3.6.0 released
17623 * .version, doc/sdccman.lyx: changed sdcc version to 3.6.1
17625 2016-06-04 Maarten Brock <sourceforge.brock AT dse.nl>
17629 * doc/sdccman.lyx: version 3.6.0
17631 2016-06-03 Philipp Klaus Krause <pkk AT spth.de>
17634 Work around an allocation issue.
17636 2016-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
17640 * doc/sdccman.lyx: version 3.6.0 rc1, use coloured links
17641 * sdcc.spec: version 3.6.0
17642 * doc/Makefile.in: silence makeindex
17643 * sim/ucsim/cmd.src/cmdset.cc,
17644 * sim/ucsim/hc08.src/hc08cl.h,
17645 * sim/ucsim/sim.src/hw.cc,
17646 * sim/ucsim/sim.src/hwcl.h,
17647 * sim/ucsim/st7.src/st7cl.h,
17648 * sim/ucsim/stm8.src/stm8cl.h,
17649 * sim/ucsim/z80.src/z80cl.h: cosmetics
17650 * sim/ucsim/st7.src/st7.cc (cl_st7::disass): fixed get_disasm_info call
17652 2016-05-25 Philipp Klaus Krause <pkk AT spth.de>
17655 Implement genAddrOf for both X and Y in use (to make all regression tests compile for low --max-allocs-per-node).
17657 2016-05-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
17659 * src/hc08/ralloc.c: fixed bug #2489
17660 * support/regression/tests/wchar.c: re-enable hc08/s08 tests
17662 2016-05-17 Philipp Klaus Krause <pkk AT spth.de>
17665 Basic flag handling in notUsed(), more accurate notUsed().
17666 * src/stm8/peeph.def:
17667 Enable dead load optimization (with fixed flag handling).
17669 2016-05-17 Philipp Klaus Krause <pkk AT spth.de>
17672 Improve labelIsReturnOnly() accuracy.
17673 * src/stm8/peeph.def:
17674 Disable dead load optimization, introduce jump-to-return optimization.
17676 2016-05-16 Philipp Klaus Krause <pkk AT spth.de>
17678 * src/stm8/peeph.def:
17679 Use more jumps on false for stm8 peepholes.
17681 More efficient comparisons.
17683 2016-05-15 Philipp Klaus Krause <pkk AT spth.de>
17686 Fix distclean failures.
17688 2016-05-14 Maarten Brock <sourceforge.brock AT dse.nl>
17690 * support/sdbinutils/binutils/arlex.c,
17691 * support/sdbinutils/binutils/arparse.c,
17692 * support/sdbinutils/binutils/arparse.h,
17693 * support/sdbinutils/binutils/defparse.c,
17694 * support/sdbinutils/binutils/defparse.h,
17695 * support/sdbinutils/binutils/mcparse.c,
17696 * support/sdbinutils/binutils/mcparse.h,
17697 * support/sdbinutils/binutils/rcparse.c,
17698 * support/sdbinutils/binutils/rcparse.h,
17699 * support/sdbinutils/binutils/sysinfo.c,
17700 * support/sdbinutils/binutils/sysinfo.h,
17701 * support/sdbinutils/binutils/syslex.c: added, as in upstream git
17703 2016-05-13 Philipp Klaus Krause <pkk AT spth.de>
17705 * sdas/linksrc/lkelf.c:
17706 Enable ELF symbol table output, (from patch #255 by Peter Dons Tychsen).
17708 2016-05-12 Philipp Klaus Krause <pkk AT spth.de>
17711 Minor code cleanup, also gets rid of a GCC warning.
17713 2016-05-10 Ben Shi <powerstudio1st AT 163 DOT com>
17718 Call setrlimit() in a more compatible way.
17720 2016-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
17722 * device/lib/hc08/_setjmp.c,
17723 * device/lib/s08/_setjmp.c: svn eol-style native
17724 * support/regression/tests/gcc-torture-execute-pr28982a.c,
17725 * support/regression/tests/bug-2197.c: enabled for mcs51
17726 * src/mcs51/gen.c (genFunction, genEndFunction): implemented RFE 81 to
17727 disable interrupts before stacking
17728 * sim/ucsim/s51.src/uc390.cc: use IDMx/MCON instead of SA/ACON
17729 * sim/ucsim/s51.src/uc390hw.cc: do not lock out all IDM settings
17730 * src/ds390/main.c (_ds390_genIVT): MCON requires Timed Access
17732 2016-05-06 Ben Shi <powerstudio1st AT 163 DOT com>
17734 * support/regression/compact-results.py
17735 Roll back to previous version.
17737 2016-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
17739 * device/include/setjmp.h: ds390 needs 5 bytes
17740 * device/lib/_setjmp.c: added ds390 version
17741 * device/lib/ds390/setjmp.c: updated, but still a dummy
17742 * device/lib/hc08/_setjmp.c,
17743 * device/lib/s08/_setjmp.c: fixed stack pointer bug
17744 * sim/ucsim/cmd.src/Makefile.in,
17745 * sim/ucsim/gui.src/Makefile.in,
17746 * sim/ucsim/main_in.mk,
17747 * sim/ucsim/sim.src/Makefile.in: drop -u to prevent warning on ar 2.26
17748 * sim/ucsim/s51.src/uc390cl.h: added ixram
17749 * sim/ucsim/s51.src/uc390.cc: check full ixram range,
17750 * sim/ucsim/s51.src/uc51.cc,
17751 * sim/ucsim/s51.src/uc89c51r.cc: show @R0, @R1 and 8 stack bytes
17752 * sim/ucsim/sim.src/mem.cc (cl_memory::dump): allow decrementing range
17753 * sim/ucsim/stm8.src/inst.cc (cl_stm8::flag_cvh): fixed warnings
17754 * src/SDCC.y: critical is not a part of the calling convention
17755 * support/regression/tests/bug663539.c: fix to fool the python script
17756 * support/regression/tests/gcc-torture-execute-20010409-1.c: use longjmp()
17757 instead of return() to mimic exit()
17758 * support/regression/tests/setjmp.c: enabled for all regular targets
17760 2016-05-05 Ben Shi <powerstudio1st AT 163 DOT com>
17762 * support/regression/compact-results.py
17763 Fix spots in previous commit.
17765 2016-05-04 Ben Shi <powerstudio1st AT 163 DOT com>
17767 * support/regression/collate-results.py
17768 * support/regression/compact-results.py
17769 Detect and report aborted test cases.
17771 2016-05-03 Ben Shi <powerstudio1st AT 163 DOT com>
17773 * support/regression/collate-results.py
17774 * support/regression/compact-results.py
17775 * support/regression/Makefile.in
17776 Detect and report 'segment fault' in test-host.
17777 * support/regression/tests/gcc-torture-execute-20010409-1.c
17778 Disable for gcc-5 in test-host.
17780 2016-05-01 Ben Shi <powerstudio1st AT 163 DOT com>
17782 * Enlarge stack size to 4MB in run time.
17784 2016-04-30 Philipp Klaus Krause <pkk AT spth.de>
17787 Hex number case consistency, RFE #142.
17789 2016-04-29 Philipp Klaus Krause <pkk AT spth.de>
17794 Reorganize interrupt handling for z80-related backends, fix bugs #2339, #2131.
17796 2016-04-29 Ben Shi <powerstudio1st AT 163 DOT com>
17801 Make the warning in previous commit more generic.
17803 2016-04-28 Ben Shi <powerstudio1st AT 163 DOT com>
17808 Add warning for inlined _z88dk_* functions.
17810 2016-04-28 Ben Shi <powerstudio1st AT 163 DOT com>
17814 Allow typedef function types.
17815 * support/regression/tests/bug-2497.c
17816 Add a new test case.
17818 2016-04-27 Maarten Brock <sourceforge.brock AT dse.nl>
17820 * src/ds390/gen.c (genFarPointerSet): no inline variable definitions
17821 * src/ds390/main.c (_ds390_genAssemblerPreamble, _ds390_genIVT): add MCON,
17822 (_ds390_genXINIT): added _ds390_genXRAMCLEAR
17824 2016-04-25 Ben Shi <powerstudio1st AT 163 DOT com>
17829 Check local defined structs more strictly.
17831 2016-04-24 Ben Shi <powerstudio1st AT 163 DOT com>
17834 Change the signedness of the literal operand in bitwise operation.
17835 * support/regression/tests/bug-1929.c
17836 Add a new test case.
17837 * support/regression/tests/gcc-torture-execute-20020506-1.c
17840 2016-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
17842 * support/sdbinutils/bfd/doc/Makefile.am,
17843 support/sdbinutils/bfd/doc/Makefile.in,
17844 support/sdbinutils/binutils/Makefile.am,
17845 support/sdbinutils/binutils/Makefile.in:
17846 Revert changes of wrong bugfix.
17848 2016-04-20 Ben Shi <powerstudio1st AT 163 DOT com>
17850 * src/z80/peeph-r2k.def
17851 * src/z80/peeph-tlcs90.def
17852 * src/z80/peeph-z80.def
17853 Fix potential bugs.
17855 2016-04-19 Molnar Karoly <molnarkaroly AT users.sf.net>
17857 * support/sdbinutils/bfd/doc/Makefile.am,
17858 support/sdbinutils/bfd/doc/Makefile.in,
17859 support/sdbinutils/binutils/Makefile.am,
17860 support/sdbinutils/binutils/Makefile.in:
17861 Fix a distclean bug. Now the "make distclean" command deletes
17862 these unnecessary files:
17863 support/sdbinutils/bfd/doc/bfd.info*
17864 support/sdbinutils/binutils/arlex.c
17865 support/sdbinutils/binutils/arparse.c
17866 support/sdbinutils/binutils/arparse.h
17867 support/sdbinutils/binutils/defparse.c
17868 support/sdbinutils/binutils/defparse.h
17869 support/sdbinutils/binutils/mcparse.c
17870 support/sdbinutils/binutils/mcparse.h
17871 support/sdbinutils/binutils/rcparse.c
17872 support/sdbinutils/binutils/rcparse.h
17873 support/sdbinutils/binutils/sysinfo.c
17874 support/sdbinutils/binutils/sysinfo.h
17875 support/sdbinutils/binutils/syslex.c
17877 2016-04-18 Maarten Brock <sourceforge.brock AT dse.nl>
17879 * device/include/setjmp.h: use C89 compatible comments
17880 * device/lib/ds390/setjmp.c: preliminary setjmp/longjmp implementation
17881 * device/lib/gbz80/Makefile.in,
17882 * device/lib/gbz80/setjmp.s,
17883 * device/lib/hc08/Makefile.in
17884 * device/lib/hc08/_setjmp.c
17885 * device/lib/s08/Makefile.in
17886 * device/lib/s08/_setjmp.c: implemented setjmp/longjmp for gbz80, hc08, s08
17887 * support/regression/tests/setjmp.c: enabled for all but ds390
17888 * device/lib/hc08/_divuint.c,
17889 * device/lib/s08/_divuint.c: removed mcs51 asm
17890 * device/lib/pic16/libc/stdlib/atof.c,
17891 * device/lib/pic16/libc/stdlib/x_ftoa.c: fixed since char is now unsigned
17892 * src/SDCCval.c (reorderIlist): properly fixed bug #2423
17893 * src/z80/peeph-gbz80.def: added rule 2
17894 * support/regression/tests/bug-2423.c: remove disabled pragma
17895 * support/regression/tests/float_single.c: enabled EXPF as it seems to pass
17897 2016-04-18 Philipp Klaus Krause <pkk AT spth.de>
17900 Fix handling of register pair hl in block copy pointer assignment.
17902 2016-04-18 Philipp Klaus Krause <pkk AT spth.de>
17904 * src/z80/peeph-z80.def:
17905 Optimize jumps on boolean bitfields.
17907 Improve unpacking of signed bitfields.
17909 2016-04-18 Molnar Karoly <molnarkaroly AT users.sf.net>
17911 * device/lib/pic14/bootstrap.sh,
17912 device/lib/pic16/bootstrap.sh,
17913 device/non-free/lib/pic16/bootstrap.sh:
17914 Deleted the execute rights, to prevent accidental execution.
17916 2016-04-17 Molnar Karoly <molnarkaroly AT users.sf.net>
17918 * device/lib/pic14/configure,
17919 device/lib/pic14/configure.ac,
17920 device/lib/pic14/Makefile.am,
17921 device/lib/pic14/Makefile.in,
17922 device/lib/pic16/Makefile.am,
17923 device/lib/pic16/Makefile.in,
17924 device/non-free/lib/pic14/Makefile.in,
17925 device/non-free/lib/pic16/Makefile.am,
17926 device/non-free/lib/pic16/Makefile.in:
17927 Renamed the "device/lib/pic14/.checksupport" directory to
17928 "device/lib/pic14/.checkdevices".
17929 Fix a distclean bug. Now the "make distclean" command deletes
17930 these unnecessary directories and files:
17931 device/lib/pic14/.checkdevices/*
17932 device/lib/pic14/a.*
17933 device/lib/pic16/.checkdevices/*
17934 device/lib/pic16/a.*
17935 device/lib/pic16/pics.supported
17936 device/non-free/lib/pic14/.checkdevices/*
17937 device/non-free/lib/pic14/a.*
17938 device/non-free/lib/pic14/pics.supported
17939 device/non-free/lib/pic16/.checkdevices/*
17940 device/non-free/lib/pic16/a.*
17941 device/non-free/lib/pic16/pics.supported
17943 2016-04-17 Philipp Klaus Krause <pkk AT spth.de>
17945 * support/regression/tests/wchar.c:
17946 Enable test for mcs51.
17948 Update manual, clearly mark 8051-specifics as such in Chapter 3.
17950 2016-04-17 Ben Shi <powerstudio1st AT 163 DOT com>
17953 Fix a pointer printing bug, when a 4-byte generic pointer is printed on ds390.
17955 2016-04-16 Maarten Brock <sourceforge.brock AT dse.nl>
17957 * device/include/mcs51/compiler.h: added INTERRUPT, INTERRUPT_USING, NOP
17958 macros, copied from SiLabs' compiler_defs.h
17959 * device/include/mcs51/EFM8BB1.h: new, added, from RFE 271, thanks
17962 2016-04-14 Philipp Klaus Krause <pkk AT spth.de>
17965 support/regression/tests/gcc-torture-execute-20000717-2.c,
17966 support/regression/tests/gcc-torture-execute-20050104-1.c,
17967 support/regression/tests/gcc-torture-execute-921202-2.c,
17968 support/regression/tests/gcc-torture-execute-950612-1.c,
17969 support/regression/tests/gcc-torture-execute-961122-1.c,
17970 support/regression/tests/gcc-torture-execute-20060110-2.c,
17971 support/regression/tests/gcc-torture-execute-950704-1.c,
17972 support/regression/tests/longlong.c:
17973 Fixes to gbz80 carry flag handling, particularly relevant to long long.
17975 2016-04-14 Ben Shi <powerstudio1st AT 163 DOT com>
17980 Check tagged anonymous struct/union.
17982 2016-04-13 Philipp Klaus Krause <pkk AT spth.de>
17985 support/regression/tests/bug-2492.c:
17988 2016-04-13 Molnar Karoly <molnarkaroly AT users.sf.net>
17990 * device/include/pic14/pic14devices.txt,
17991 device/non-free/include/pic14/*.h,
17992 device/non-free/include/pic16/*.h,
17993 device/non-free/lib/pic14/libdev/*.c,
17994 device/non-free/lib/pic16/libdev/*.c:
17995 Refreshed the device files.
17997 2016-04-12 Philipp Klaus Krause <pkk AT spth.de>
17999 * device/include/uchar.h,
18000 device/include/wchar.h,
18001 device/lib/c16rtomb.c,
18002 device/lib/mbrtoc16.c,
18003 device/lib/mbsinit.c,
18004 device/lib/incl.mk,
18005 support/regression/tests/wchar.c:
18006 Implement c16rtomb(), mbrtoc16(), mbsinit().
18007 * device/lib/*/mul.s
18008 Integer multiplication improvement by Kio (RFE #422).
18010 2016-04-12 Molnar Karoly <molnarkaroly AT users.sf.net>
18012 * device/lib/pic14/configure.ac,
18013 device/lib/pic14/Makefile.in,
18014 device/lib/pic14/libm/Makefile.in,
18015 device/lib/pic14/libsdcc/enhanced/Makefile.in,
18016 device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
18017 device/lib/pic14/libsdcc/regular/Makefile.in:
18018 Fixed bug: #2482 Link error with pic16f1827
18020 2016-04-11 Philipp Klaus Krause <pkk AT spth.de>
18023 Enable iy register content tracking optimization.
18024 * device/include/stdlib.h,
18025 device/lib/mbtowc.c,
18026 device/lib/incl.mk,
18027 support/regression/tests/wchar.c:
18028 Implement mbtowc().
18029 * device/include/wchar.h,
18030 device/lib/mbrlen.c:
18031 Implement mbrlen().
18033 2016-04-10 Molnar Karoly <molnarkaroly AT users.sf.net>
18037 Fixed typo from "psuedo" to "pseudo".
18040 Fixed bug in genCall() function: The PAGESEL instructions must
18041 be given unconditionally. (In this context: "Each function has
18042 its own code section.")
18044 * src/pic14/pcode.c,
18046 src/pic14/ralloc.c,
18047 src/pic16/ralloc.c:
18048 Fix potential buffer overflow.
18050 * src/pic14/glue.c:
18051 Minor code formatting.
18053 2016-04-09 Ben Shi <powerstudio1st AT 163 DOT com>
18055 * support/regression/tests/gcc-torture-execute-20020506-1.c
18056 * support/regression/tests/gcc-torture-execute-20041011-1.c
18057 * support/regression/tests/gcc-torture-execute-20050111-1.c
18058 * support/regression/tests/gcc-torture-execute-20060127-1.c
18059 * support/regression/tests/gcc-torture-execute-920604-1.c
18060 * support/regression/tests/gcc-torture-execute-921029-1.c
18061 * support/regression/tests/gcc-torture-execute-941015-1.c
18064 2016-04-07 Philipp Klaus Krause <pkk AT spth.de>
18066 * device/include/errno.h,
18067 device/include/uchar.h,
18068 device/include/wchar.h,
18069 device/lib/mbrtoc32.c,
18070 device/lib/c32rtomb.c,
18071 device/lib/mbrtowc.c,
18072 device/lib/wcrtomb.c,
18073 device/lib/incl.mk,
18074 support/regression/tests/wchar.c:
18075 Implement mbrtoc32, c32rtomb(), mbrtowc(), wcrtomb().
18077 2016-04-07 Philipp Klaus Krause <pkk AT spth.de>
18082 Fix bug #2488 by implementing hexadecimal floating constants.
18083 * device/include/stdlib.h,
18084 device/lib/mblen.c,
18085 device/lib/wctomb.c,
18086 device/lib/incl.mk,
18087 support/regression/tests/string.c:
18088 Implement mblen(), wctomb().
18090 2016-04-06 Philipp Klaus Krause <pkk AT spth.de>
18092 * support/regression/tests/string.c:
18093 Check more of wide strings, do not depend on implementation-defined
18094 behaviour in char escape.
18096 2016-04-06 Ben Shi <powerstudio1st AT 163 DOT com>
18098 * support/regression/tests/gcc-torture-execute-950512-1.c
18099 * support/regression/tests/gcc-torture-execute-961122-1.c
18100 * support/regression/tests/gcc-torture-execute-960402-1.c
18103 2016-04-05 Ben Shi <powerstudio1st AT 163 DOT com>
18105 * support/regression/tests/string.c
18110 Improve longlong compatibility.
18112 2016-04-03 Molnar Karoly <molnarkaroly AT users.sf.net>
18114 * device/lib/pic14/bootstrap.sh,
18115 device/lib/pic14/Makefile.in,
18116 device/lib/pic14/libm/Makefile.in,
18117 device/lib/pic14/libsdcc/enhanced/Makefile.am,
18118 device/lib/pic14/libsdcc/enhanced/Makefile.in,
18119 device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.am,
18120 device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
18121 device/lib/pic14/libsdcc/regular/Makefile.am,
18122 device/lib/pic14/libsdcc/regular/Makefile.in:
18123 Workaround the Linux Mint bug: #2482 Link error with pic16f1827
18125 * device/lib/pic16/*,
18126 device/non-free/lib/pic16/*:
18127 Downgraded the autoconf version from 1.15 to 1.11.6.
18129 2016-04-01 Philipp Klaus Krause <pkk AT spth.de>
18133 Support wide string literals in initialization of global arrays.
18135 Support wide string literals in initialization of local arrays.
18137 Update documentation on standard compliance.
18139 2016-04-01 Ben Shi <powerstudio1st AT 163 DOT com>
18141 * support/regression/tests/gcc-torture-execute-950512-1.c
18144 Improve longlong comptability on different hosts.
18146 2016-03-31 Philipp Klaus Krause <pkk AT spth.de>
18149 Remove user-visible feature macros for signed / unsigned char.
18150 * device/include/limits.h:
18151 Fix multibyte sequence limit.
18152 * support/regression/tests/bitvars.c,
18153 support/regression/tests/funsigned-char.c:
18154 Detect char signedness portably.
18159 support/regression/tests/string.c:
18160 Support wide string literals outside of array initialization.
18162 2016-03-31 Ben Shi <powerstudio1st AT 163 DOT com>
18164 * support/regression/tests/gcc-torture-execute-pr19606.c
18165 Disabled in test-host.
18167 2016-03-29 Ben Shi <powerstudio1st AT 163 DOT com>
18169 * support/regression/tests/gcc-torture-execute-20060127-1.c
18170 * support/regression/tests/gcc-torture-execute-921029-1.c
18171 * support/regression/tests/gcc-torture-execute-941015-1.c
18172 * support/regression/tests/gcc-torture-execute-pr19606.c
18175 2016-03-29 Ben Shi <powerstudio1st AT 163 DOT com>
18177 * support/regression/tests/bug3475656.c
18178 * support/regression/tests/gcc-torture-execute-20000314-2.c
18179 * support/regression/tests/gcc-torture-execute-20000523-1.c
18180 * support/regression/tests/gcc-torture-execute-20001108-1.c
18181 * support/regression/tests/gcc-torture-execute-20020201-1.c
18182 * support/regression/tests/gcc-torture-execute-20020226-1.c
18183 * support/regression/tests/gcc-torture-execute-20020508-1.c
18184 * support/regression/tests/gcc-torture-execute-20020508-2.c
18185 * support/regression/tests/gcc-torture-execute-20020508-3.c
18186 * support/regression/tests/gcc-torture-execute-20060110-1.c
18187 * support/regression/tests/gcc-torture-execute-20060110-2.c
18188 * support/regression/tests/gcc-torture-execute-20060127-1.c
18189 * support/regression/tests/gcc-torture-execute-20101013-1.c
18190 * support/regression/tests/gcc-torture-execute-920710-1.c
18191 * support/regression/tests/gcc-torture-execute-920829-1.c
18192 * support/regression/tests/gcc-torture-execute-921029-1.c
18193 * support/regression/tests/gcc-torture-execute-941015-1.c
18194 * support/regression/tests/gcc-torture-execute-950704-1.c
18195 * support/regression/tests/gcc-torture-execute-960801-1.c
18196 * support/regression/tests/gcc-torture-execute-961213-1.c
18197 * support/regression/tests/gcc-torture-execute-pr19606.c
18198 * support/regression/tests/gcc-torture-execute-pr27285.c
18199 Enable more longlong test cases.
18201 2016-03-28 Philipp Klaus Krause <pkk AT spth.de>
18204 Disable assertions to mask ds390 issue on non-OpenBSD for now.
18206 2016-03-28 Ben Shi <powerstudio1st AT 163 DOT com>
18209 Fix a long long issue on 32-bit machines.
18210 * support/regression/tests/gcc-torture-execute-950511-1.c
18211 * support/regression/tests/bug-2477.c
18214 2016-03-27 Philipp Klaus Krause <pkk AT spth.de>
18216 * support/regression/tests/inline.c:
18217 Disable failing test for OpenBSD host.
18219 Add assertions to help track down pointer size bugs.
18221 2016-03-27 Ben Shi <powerstudio1st AT 163 DOT com>
18223 * sdas/asstm8/stm8pst.c
18224 Apply part of patch #255 by Peter Dons Tychsen.
18226 2016-03-24 Ben Shi <powerstudio1st AT 163 DOT com>
18229 Improve long long compatibility among different host machines.
18231 2016-03-22 Ben Shi <powerstudio1st AT 163 DOT com>
18239 Improve long long compatibility among different host machines.
18241 2016-03-19 Ben Shi <powerstudio1st AT 163 DOT com>
18244 Improve compatibility of SDCC between 32-bit and 64-bit machines.
18246 2016-03-15 Molnar Karoly <molnarkaroly AT users.sf.net>
18248 * src/pic14/pcode.c:
18249 Fixed bug: "#2481 wrong asm code for pic16f1827 (or even others?)"
18251 2016-03-12 Maarten Brock <sourceforge.brock AT dse.nl>
18253 * src/SDCCpeeph.c (labelIsUncondJump): also search backwards
18254 * src/mcs51/peeph.def: added rules 257.a-i for jump-to-jump optimization,
18255 added rules 259.c-f to remove dead jumps, implements RFE 491
18257 * src/SDCCerr.h: changed W_UNKNOWN_FEXT to E_UNKNOWN_FEXT
18258 * src/SDCCmain.c (processFile): also accept .h sources, implement RFE 460
18260 2016-03-12 Ben Shi <powerstudio1st AT 163 DOT com>
18263 Rollback to previous version.
18264 * support/regression/tests/bug-2477.c
18265 Disable this test case.
18267 2016-03-11 Ben Shi <powerstudio1st AT 163 DOT com>
18270 Fix a bug in genRet(): long long return value is cut to long.
18271 * support/regression/tests/bug-2477.c
18272 Add a new test case.
18274 2016-03-10 Ben Shi <powerstudio1st AT 163 DOT com>
18277 Fix a bug in genAnd(): conflict register assignment.
18278 * support/regression/tests/bug-2480.c
18279 Add a new test case.
18281 2016-03-06 Maarten Brock <sourceforge.brock AT dse.nl>
18283 * src/SDCC.y: MSVC does not accept declarations in for loop
18285 2016-03-05 Maarten Brock <sourceforge.brock AT dse.nl>
18287 * device/non-free/lib/pic16/missing: copied from device/lib/pic16/missing
18288 * src/SDCCgen.c (genInline): also check for colon in single literal char
18289 * support/cpp/libcpp/macro.c (create_iso_definition): fixed warning
18290 * support/regression/compact-results.py: use 'T' for clock ticks
18292 2016-03-05 Ben Shi <powerstudio1st AT 163 DOT com>
18295 Fix a bug: colon should not be treated as a label suffix in a literal
18296 string in inline-asm.
18298 2016-03-05 Ben Shi <powerstudio1st AT 163 DOT com>
18302 Remove warning #212 W_LONGLONG_LITERAL.
18304 2016-03-04 Ben Shi <powerstudio1st AT 163 DOT com>
18307 Fix long long issues.
18308 * support/regression/tests/longlong.c
18311 2016-02-27 Ben Shi <powerstudio1st AT 163 DOT com>
18313 * support/scripts/sdcc.nsi
18314 Install large-stack-auto related files into windows distribution.
18316 2016-02-26 Ben Shi <powerstudio1st AT 163 DOT com>
18322 Fix potential precision loss of long long operands.
18324 2016-02-21 Ben Shi <powerstudio1st AT 163 DOT com>
18328 Make sure the parameter list is not reversed before calling parmProcess().
18329 * support/regression/tests/bug-2473.c
18330 Add a new test case.
18332 2016-02-20 Ben Shi <powerstudio1st AT 163 DOT com>
18337 2016-02-19 Ben Shi <powerstudio1st AT 163 DOT com>
18340 Make the error message of error E_CONST_EXPECTED more understandable.
18342 2016-02-18 Ben Shi <powerstudio1st AT 163 DOT com>
18345 Add check of non-constant in a global variable's initial value.
18347 2016-02-13 Molnar Karoly <molnarkaroly AT users.sf.net>
18350 * src/pic14/glue.c,
18351 * src/pic14/pcode.c,
18352 * src/pic14/pcode.h:
18353 Fixed bug: "#2470 wrong asm code for PIC14 interrupt - interrupt not working"
18355 2016-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
18357 * device/lib/Makefile.in: added and enabled large-mcs51-stack-auto
18358 * support/regression/ports/mcs51-large-stack-auto,
18359 * support/regression/ports/mcs51-large-stack-auto/spec.mk,
18360 * support/regression/Makefile.in: added test-mcs51-large-stack-auto
18361 * support/regression/tests/bug2094505.c: disabled for mcs51-large-stack-auto
18363 2016-02-08 Maarten Brock <sourceforge.brock AT dse.nl>
18365 * debugger/mcs51/simi.c,
18366 * debugger/mcs51/simi.h: applied patch 268, Thanks Peter Dons Tychsen
18367 * device/include/stdlib.h: suppress unused variable warning
18368 * src/SDCCsymt.c (checkSClass): globals and statics in code don't need an
18369 initializer but may be implicitly cleared
18370 * support/regression/tests/gcc-torture-execute-20000412-1.c: added disabled
18372 * support/regression/tests/bug-2041.c: also check with xdata starting at 1
18373 * support/regression/tests/bug-2089.c: fix warnings
18374 * support/regression/tests/bug-2423.c: suppress warning 147, show weird 203
18376 2016-02-07 Ben Shi <powerstudio1st AT 163 DOT com>
18379 Fix a bug in genFarPointerSet() when the result and the right operand are
18381 * support/regression/tests/bug-2041.c
18382 Add a new test case.
18384 2016-02-06 Philipp Klaus Krause <pkk AT spth.de>
18386 * src/SDCClospre.hpp,
18388 src/SDCCralloc.hpp:
18389 Workaround boost bug #11880 to make SDCC compile with boost 1.60.
18391 2016-02-05 Ben Shi <powerstudio1st AT 163 DOT com>
18394 Fix a bug in comparison operation.
18395 * support/regression/tests/memory.c
18398 2016-02-04 Ben Shi <powerstudio1st AT 163 DOT com>
18401 Allow array members of structs can be accessed in pointer form.
18402 * support/regression/tests/bug-2468.c
18405 2016-02-03 Philipp Klaus Krause <pkk AT spth.de>
18407 * src/SDCClospre.hpp:
18408 Fix compare operator, patch #267 by Peter Dons Tychsen.
18409 * device/lib/pic16/libsdcc/char/divschar.c,
18410 device/lib/pic16/libsdcc/char/modschar.c:
18411 Fix signedness of pic16 char support routines.
18413 2016-02-01 Ben Shi <powerstudio1st AT 163 DOT com>
18416 Try to find a common type for the left and right in '?:' .
18417 * support/regression/tests/bug-2461.c
18418 Add a new test case.
18420 2016-02-01 Philipp Klaus Krause <pkk AT spth.de>
18427 Make char unsigned by default.
18429 2016-02-01 Philipp Klaus Krause <pkk AT spth.de>
18431 * device/include/stdlib.h:
18432 Fix declaration of aligned_alloc() for C11.
18434 2016-02-01 Ben Shi <powerstudio1st AT 163 DOT com>
18437 Fix a bug: type mismatch between function definition and declaration.
18438 * support/regression/tests/bug-2419.c
18439 Add a new test case.
18441 2016-01-31 Molnar Karoly <molnarkaroly AT users.sf.net>
18443 * src/pic14/device.c,
18447 src/pic14/pcodepeep.c,
18448 src/pic14/ralloc.c,
18449 src/pic16/device.c,
18450 src/pic16/device.h,
18452 src/pic16/genarith.c,
18453 src/pic16/genutils.c,
18460 src/pic16/pcodepeep.c,
18461 src/pic16/ralloc.c,
18462 src/pic16/ralloc.h:
18463 Use "Safe_alloc(...)" instead of "Safe_calloc(1, ...)".
18464 Use SNPRINTF(X, sizeof(X), ...) instead of sprintf(X, ...).
18465 Some code simplification, e.g.:
18466 sprintf (s, "%s", aop->aopu.aop_dir);
18467 rs = Safe_calloc (1, strlen (s) + 1);
18473 return Safe_strdup(aop->aopu.aop_dir);
18475 2016-01-28 Philipp Klaus Krause <pkk AT spth.de>
18477 * support/regression/Makefile.in:
18478 Change handling of test filenames for regression tests, patch #266 by
18479 Peter Dons Tychsen.
18481 support/regression/tests/bug-2458.c:
18482 Changed result type propagation for logic operations, variant of proposed
18483 fix by Peter Dons Tychsen for bug #2458.
18485 2016-01-26 Philipp Klaus Krause <pkk AT spth.de>
18488 Fix handling of __z88dk_fastcall in specifier merging.
18490 2016-01-26 Maarten Brock <sourceforge.brock AT dse.nl>
18492 * src/SDCCval.c (strVal): free utf_8 and suppress warning
18494 2016-01-25 Molnar Karoly <molnarkaroly AT users.sf.net>
18496 * src/pic14/pcode.c,
18497 src/pic14/ralloc.c:
18498 More use the logical constants.
18500 2016-01-25 Philipp Klaus Krause <pkk AT spth.de>
18503 Improve DWARF support for stm8 ELF, picked from patch #255 by Peter Dons
18506 Fix handling of preserved regs in specifier merging.
18508 2016-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
18510 * src/pic16/pcode.c,
18511 src/pic16/pcodepeep.c:
18512 More use the logical constants.
18514 2016-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
18519 src/pic14/pcoderegs.c,
18520 src/pic14/ralloc.c:
18521 More use the logical constants.
18523 2016-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
18528 Add support the ASRF, LSLF and LSRF instructions
18529 (enhanced intructions of pic14): feature-requests #484
18533 On more place I exchanged the "char *" to "const char *".
18535 2016-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
18542 Format inline asm coding style.
18544 2016-01-23 Ben Shi <powerstudio1st AT 163 DOT com>
18548 * debugger/mcs51/configure
18549 * debugger/mcs51/configure.ac
18550 * support/cpp/configure
18551 * support/cpp/configure.ac
18552 * support/packihx/configure
18553 * support/packihx/configure.ac
18554 Try to use C99 first.
18556 Remove a duplicate function definition.
18558 Change to C99 style.
18560 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18565 Do not display meaningless __reentrent to users.
18567 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18571 Make estimate for preserved regs on function pointers less conservative.
18573 Consider preserved regs for type of function pointer.
18575 2016-01-22 Philipp Klaus Krause <pkk AT spth.de>
18578 More accurate handling of conditional jumps, handle ex (sp), ix and
18581 2016-01-21 Philipp Klaus Krause <pkk AT spth.de>
18584 Seems we have to worry about more than MSVC wrt. C99, patch #265 by Peter
18587 2016-01-21 Philipp Klaus Krause <pkk AT spth.de>
18596 Implement declaration of preserved registers, RFE #483.
18598 Handle preserved register information in peephole optimization.
18599 * device/include/stdlib.h,
18600 device/include/string.h:
18601 Preserved register information on standard functions.
18603 Document syntax for specifying preserved registers.
18605 2016-01-20 Philipp Klaus Krause <pkk AT spth.de>
18608 More exact handling of ex, support for decimal shifts.
18610 2016-01-18 Philipp Klaus Krause <pkk AT spth.de>
18613 Debug info for block-copy-initialized global variables, patch #262 by
18614 Peter Dons Tychsen.
18615 * src/SDCCdwarf2.c:
18616 Fix handling of declared, but unused global vairables in debug output,
18617 patch #263 by Peter Dons Tychsen.
18619 More accurate handling of functions returning long long for peephole
18622 Fix stream for help output, patch #264 by Peter Dons Tychsen.
18624 2016-01-18 Ben Shi <powerstudio1st AT 163 DOT com>
18627 Apply a modified version of patch #261 by Peter Dons Tychsen.
18628 * support/regression/bug-2455.c
18631 2016-01-18 Philipp Klaus Krause <pkk AT spth.de>
18634 Fix pointer dereference issue, patch #261 by Peter Dons Tychsen.
18636 2016-01-17 Molnar Karoly <molnarkaroly AT users.sf.net>
18638 * device/non-free/include/pic14/*.h,
18639 device/non-free/include/pic16/*.h,
18640 device/non-free/lib/pic14/libdev/*.c,
18641 device/non-free/lib/pic16/libdev/*.c:
18642 Updated the device files.
18644 2016-01-17 Molnar Karoly <molnarkaroly AT users.sf.net>
18646 * src/pic14/pcode.c,
18648 src/pic16/ralloc.c,
18649 src/pic16/ralloc.h,
18650 src/pic16/pcodepeep.c,
18651 src/pic16/ralloc.c,
18652 src/pic16/ralloc.h:
18653 On more place I exchanged the "char *" to "const char *".
18655 * src/regression/Makefile:
18656 Added the option to CFLAGS: --no-warn-non-free
18658 2016-01-16 Molnar Karoly <molnarkaroly AT users.sf.net>
18662 Each function has its own code section.
18664 * src/pic16/pcode.c:
18667 2016-01-15 Ben Shi <powerstudio1st AT 163 DOT com>
18671 * support/regression/bug-2455.c
18672 Add a new test case.
18674 2016-01-14 Molnar Karoly <molnarkaroly AT users.sf.net>
18676 * device/lib/pic14/configure,
18677 device/lib/pic14/configure.ac,
18678 device/lib/pic16/configure.ac:
18679 Do away with the automake warning:
18680 "option 'subdir-objects' is disabled"
18682 * device/lib/pic16/Makefile.in,
18683 device/lib/pic16/aclocal.m4,
18684 device/lib/pic16/configure,
18685 device/lib/pic16/depcomp,
18686 device/lib/pic16/install-sh,
18687 device/lib/pic16/missing,
18688 device/lib/pic16/debug/Makefile.in,
18689 device/lib/pic16/libc/Makefile.in,
18690 device/lib/pic16/libio/Makefile.am,
18691 device/lib/pic16/libio/Makefile.in,
18692 device/lib/pic16/libio/adc.ignore,
18693 device/lib/pic16/libio/i2c.ignore,
18694 device/lib/pic16/libio/usart.ignore,
18695 device/lib/pic16/libm/Makefile.in,
18696 device/lib/pic16/libsdcc/Makefile.in,
18697 device/lib/pic16/startup/Makefile.in,
18698 device/non-free/include/pic16/pic18fam.h:
18699 Improve of update to gputils-1.4.2-1.
18701 2016-01-12 Philipp Klaus Krause <pkk AT spth.de>
18704 More accurate handling of Z80/Z180 I/O in peepholes.
18706 2016-01-11 Ben Shi <powerstudio1st AT 163 DOT com>
18708 * src/ds390/ralloc.c
18709 * src/mcs51/ralloc.c
18710 Improve positionRegs().
18712 Roll back to previous version.
18713 * support/regression/tests/bug-2263.c
18714 * support/regression/tests/bug-2403.c
18715 Add new test cases.
18717 2016-01-10 Philipp Klaus Krause <pkk AT spth.de>
18720 More accurate handling of Z80/Z180 I/O in peepholes.
18722 2016-01-10 Ben Shi <powerstudio1st AT 163 DOT com>
18725 Fix a bug in genOr() when all operands are in registers.
18726 * support/regression/tests/bug-2448.c
18727 Add a new test case.
18729 2016-01-09 Molnar Karoly <molnarkaroly AT users.sf.net>
18731 * support/scripts/cinc2h.pl,
18732 support/optimize_pic16devices.pl,
18733 support/z80-disasm.pl:
18734 Some minor repairs.
18736 * device/include/pic14/pic14devices.txt,
18737 device/include/pic14/pic16regs.h,
18738 device/include/pic16/pic16devices.txt,
18739 device/include/pic16/pic18fregs.h,
18740 device/lib/pic16/configure,
18741 device/lib/pic16/libio/Makefile.am,
18742 device/lib/pic16/libio/Makefile.in,
18743 device/lib/pic16/libio/adc.ignore,
18744 device/lib/pic16/libio/i2c.ignore,
18745 device/lib/pic16/libio/usart.ignore,
18746 device/non-free/include/pic14/*.h,
18747 device/non-free/include/pic16/*.h,
18748 device/non-free/lib/pic14/libdev/devices.txt,
18749 device/non-free/lib/pic14/libdev/*.c,
18750 device/non-free/lib/pic16/Makefile.in,
18751 device/non-free/lib/pic16/aclocal.m4,
18752 device/non-free/lib/pic16/configure,
18753 device/non-free/lib/pic16/processors.ac,
18754 device/non-free/lib/pic16/libdev/Makefile.am,
18755 device/non-free/lib/pic16/libdev/Makefile.in,
18756 device/non-free/lib/pic16/libdev/*.c,
18758 Updated to gputils-1.4.2-1.
18760 2016-01-06 Philipp Klaus Krause <pkk AT spth.de>
18763 Optimize comparisons of cheap variables to expensive constants more.
18765 Use cheaper types for implicitly introduced constants.
18767 2016-01-05 Philipp Klaus Krause <pkk AT spth.de>
18770 Do not try to output debug info in case of fatal errors - patch #260 by
18773 support/regression/tests/bug-2452.c:
18774 Fix gbz80 right shift bug #2452.
18776 2016-01-05 Ben Shi <powerstudio1st AT 163 DOT com>
18779 Fix bug: members of pointer arrays are always treated as r-values.
18780 * support/regression/tests/gcc-torture-execute-930526-1.c
18782 * support/sdbinutils/binutils/arlex.c
18785 2016-01-04 Philipp Klaus Krause <pkk AT spth.de>
18788 Fix handling of nop in z80MightRead, patch #259 by alvin.
18790 Optimize comparisons of cheap variables to expensive constants.
18792 2016-01-03 Philipp Klaus Krause <pkk AT spth.de>
18794 * sdas/linksrc/lkarea.c:
18795 Fix handling of NOLOAD for STM8 in linker, patch by Peter Dons Tychsen.
18796 * src/SDCCralloc.hpp:
18797 Fix compare operator for register assignments.
18799 2016-01-02 Ben Shi <powerstudio1st AT 163 DOT com>
18801 * support/sdbinutils/binutils/arparse.c
18802 * support/sdbinutils/binutils/arparse.h
18803 Delete intermediate files.
18805 2016-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
18809 * sdas/as6808/as_hc08.vcxproj,
18810 * sdas/as8051/asx8051.vcxproj,
18811 * sdas/as8xcxxx/sdas390.vcxproj,
18812 * sdas/asgb/asgb.vcxproj,
18813 * sdas/linksrc/aslink.vcxproj,
18814 * src/avr/avr.vcxproj,
18815 * src/ds390/ds390.vcxproj,
18816 * src/hc08/hc08.vcxproj,
18817 * src/mcs51/mcs51.vcxproj,
18818 * src/pic14/pic14.vcxproj,
18819 * src/pic16/pic16.vcxproj,
18820 * src/sdcc.vcxproj,
18821 * src/xa51/xa51.vcxproj,
18822 * src/z80/z80.vcxproj,
18823 * src/z80/z80a.vcxproj,
18824 * support/cpp/sdcpp.vcxproj,
18825 * support/librarian/librarian.vcxproj,
18826 * support/makebin/makebin.vcxproj,
18827 * support/packihx/packihx.vcxproj: applied patch 252 by Peter Dons Tychsen
18828 to remove UpgradeFromVC60.props
18830 2015-12-30 Philipp Klaus Krause <pkk AT spth.de>
18832 * src/SDCCdwarf2.c:
18833 Fix memory bug in DWARF output, patch by Peter Dons Tychsen.
18834 * sdas/asxxsrc/asdbg.c:
18835 Fix 0 pointer access when specifying -y or -j without -o.
18837 2015-12-30 Ben Shi <powerstudio1st AT 163 DOT com>
18840 Make comparePtrType() less strict.
18841 * support/regression/tests/bug-2271.c
18844 2015-12-28 Ben Shi <powerstudio1st AT 163 DOT com>
18847 Suggest msys2 along with msys while building wih MSVC.
18848 * sdas/asxxsrc/assym.c
18851 2015-12-26 Ben Shi <powerstudio1st AT 163 DOT com>
18854 Add absent call to dwWriteFunction() while --debug is specified.
18856 2015-12-24 Ben Shi <powerstudio1st AT 163 DOT com>
18859 Fix a bug in the front end. (pointer array parameters)
18860 * support/regression/tests/bug-2271.c
18863 2015-12-21 Philipp Klaus Krause <pkk AT spth.de>
18866 Option for ELF output in STM8 backend.
18868 2015-12-20 Philipp Klaus Krause <pkk AT spth.de>
18870 * sdas/linksrc/lkelf.c,
18871 sdas/linksrc/lkmain.c:
18872 STM8 ELF linker support from patch #251.
18874 2015-12-18 Philipp Klaus Krause <pkk AT spth.de>
18877 Always use preprocessor in standard mode.
18878 * device/include/stdlib.h:
18879 Fix declaration order for inlined aligned_alloc().
18881 2015-12-17 Ben Shi <powerstudio1st AT 163 DOT com>
18884 Fix the conflict in parallel build caused by component dependency.
18886 2015-12-16 Ben Shi <powerstudio1st AT 163 DOT com>
18888 * sim/ucsim/cmd.src/cmdset.cc
18889 Apply a modified version of patch #250.
18891 2015-12-14 Ben Shi <powerstudio1st AT 163 DOT com>
18894 Avoid redundant call to processParms().
18895 * support/regression/tests/bug-2436.c
18896 Add a new test case.
18898 2015-12-10 Philipp Klaus Krause <pkk AT spth.de>
18900 * device/include/wchar.h:
18901 A basic wchar.h with for types that are useful even with no wide character
18904 2015-12-05 Ben Shi <powerstudio1st AT 163 DOT com>
18909 Fix a bug of type definition of a function by typedef.
18911 2015-12-02 Ben Shi <powerstudio1st AT 163 DOT com>
18915 Fix defects in previous commit.
18917 2015-12-01 Ben Shi <powerstudio1st AT 163 DOT com>
18922 Remove warning #220 (W_ANONYMOUS_MEMBER).
18924 2015-11-28 Philipp Klaus Krause <pkk AT spth.de>
18927 Fix operandsNotRelated() bug #2435.
18928 * device/include/stddef.h,
18929 device/include/stdlib.h,
18934 support/regression/tests/charconst.c,
18935 support/regression/tests/string.c:
18936 Make wchar_t UTF-32.
18937 * support/cpp/Makefile.in:
18940 2015-11-26 Ben Shi <powerstudio1st AT 163 DOT com>
18942 * support/regression/tests/gcc-torture-execute-20050111-1.c
18943 * support/regression/tests/gcc-torture-execute-950511-1.c
18944 Disable test cases.
18946 2015-11-24 Ben Shi <powerstudio1st AT 163 DOT com>
18951 Improve long long multiplication.
18952 * support/regression/tests/gcc-torture-execute-20050111-1.c
18953 * support/regression/tests/gcc-torture-execute-950511-1.c
18954 * support/regression/tests/longlong.c
18955 Improve test cases.
18957 2015-11-14 Philipp Klaus Krause <pkk AT spth.de>
18961 Fix bookmarks and hyperlinks in manual, bug #2405.
18963 Drop build time in asm output to ease reproducible builds.
18964 * device/lib/*/Makefile.in,
18965 device/lib/Makefile.in:
18966 Drop build time in sdar calls to make non-pic lib builds reproducible.
18968 2015-11-13 Ben Shi <powerstudio1st AT 163 DOT com>
18970 * support/cpp/libcpp/include/symtab.h:
18971 Fix build failure on MacOS x86-64.
18972 * support/regression/tests/inline.c:
18973 Fix failure in test-host in NetBSD.
18974 * support/regression/tests/literalop.c:
18975 Disable some tests on MacOS x86-64.
18977 2015-11-12 Maarten Brock <sourceforge.brock AT dse.nl>
18979 * device/include/mcs51/at89c51id2.h: moved
18981 2015-11-12 Philipp Klaus Krause <pkk AT spth.de>
18984 Update standard compliance documentation.
18986 2015-11-09 Maarten Brock <sourceforge.brock AT dse.nl>
18988 * device/include/mcs51/at89c51ed2.h: applied patch 247
18989 * device/include/at89c51id2.h: new, added, thanks Victor Munoz
18990 * src/SDCC.lex: it seems really hard not to declare vars amidst the code
18991 * src/SDCCast.c (expandInlineFuncs): fix bug 2295: also expand for clauses
18992 * support/regression/tests/ctype.c: warn about undefined __STDC_VERSION__
18993 * support/regression/tests/inline.c (bug_2295): new test case
18995 2015-11-09 Philipp Klaus Krause <pkk AT spth.de>
18999 UTF-32 and UTF-16 encodig in strVal().
19001 2015-11-08 Maarten Brock <sourceforge.brock AT dse.nl>
19003 * src/mcs51/gen.c: added IS_AOP_IMMEDIATE,
19004 (gencjneshort): applied modified part of patch 129, thanks Hubert Sack
19006 2015-11-08 Philipp Klaus Krause <pkk AT spth.de>
19008 * support/regression/tests/string.c
19009 Separate C11 behaviour from implementation-defined behaviour.
19011 2015-11-07 Ben Shi <powerstudio1st AT 163 DOT com>
19014 Eliminate unused static symbols. (__str_%d generated in stringToSymbol()).
19015 * support/regression/tests/bug-2089.c:
19017 * support/regression/ports/mcs51-xstack-auto/spec.mk:
19018 Use default sdcc11.
19019 * support/regression/tests/string.c:
19020 Disabled for test-host.
19022 2015-11-07 Philipp Klaus Krause <pkk AT spth.de>
19024 * support/util/dbuf_string.h,
19025 support/util/dbuf_string.c,
19028 Handling of UTF-16 and UTF-16 string literals in the frontend up to
19031 2015-11-06 Philipp Klaus Krause <pkk AT spth.de>
19033 * support/util/dbuf.h,
19034 support/util/dbuf.c,
19035 support/util/dbuf_string.h,
19036 support/util/dbuf_string.c:
19037 Allow prepending to dynamic buffers.
19041 Support C11 u8 prefix for UTF-8-encoded unicode string literals.
19043 support/regression/tests/string.c:
19044 Fix handling of universal escape sequences in UTF-8-encoded string literals.
19045 * support/regression/tests/iso-8859-1.c:
19046 Test support for source encodings other than unicode.
19048 2015-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
19050 * src/SDCC.y: only emit W_FLEXARRAY_INSTRUCT for c89
19051 * src/SDCCpeeph.c (labelJTInRange): removed env SDCC_SJMP_JUMPTABLE check,
19053 (readRules): clean up
19055 2015-11-05 Philipp Klaus Krause <pkk AT spth.de>
19058 Print calling convention for functions.
19060 More accurate handling of register arguments in peepholes.
19062 2015-11-05 Maarten Brock <sourceforge.brock AT dse.nl>
19064 * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug 2373
19065 * support/regression/tests/bug-2373.c: new, added
19067 2015-11-05 Maarten Brock <sourceforge.brock AT dse.nl>
19070 * src/yacc.vcxproj: deleted yacc project
19071 * src/sdcc.vcxproj,
19072 * src/sdcc.vcxproj.filters: moved SDCC.y here for better dependencies
19073 * SDCC.props: new, added Visual C property sheet for generic settings like
19074 boost path (default: c:\local\boost_1_59_0\)
19075 * src/hc08/hc08.vcxproj,
19076 * src/sdcc.vcxproj,
19077 * src/stm8/stm8.vcxproj,
19078 * src/z80/z80.vcxproj: use SDCC.props
19079 * sdas/linksrc/lkaomf51.c: output capitals depending on the zflag
19081 * src/stm8/ralloc2.cc (extra_ic_generated),
19082 * src/z80/ralloc2.cc (default_operand_cost, assign_cost, Ainst_ok,
19083 rough_cost_estimate),
19084 * src/SDCCglue.c (printIvalChar),
19085 * src/SDCCopt.c (convertToFcall): fixed warnings
19086 * src/SDCCutil.c (isblank): added for MSVC 2010
19087 * support/cpp/ansidecl.h: deleted
19088 * support/cpp/sdcpp.vcxproj,
19089 * support/cpp/sdcpp.vcxproj.filters: use files in support/sdbinutils/
19090 * support/sdbinutils/libiberty/getpwd.c: fixed for MSVC
19092 2015-10-30 Ben Shi <powerstudio1st AT 163 DOT com>
19094 * sdas/linksrc/lkmem.c:
19095 Fix defects in previous commit.
19097 2015-10-30 Ben Shi <powerstudio1st AT 163 DOT com>
19099 * sdas/linksrc/lkarea.c:
19100 * sdas/linksrc/lkmem.c:
19101 Improve the error message in .mem when no enough space for the stack.
19102 Suggest the largest spare space (address and size) in the internal RAM.
19104 2015-10-28 Ben Shi <powerstudio1st AT 163 DOT com>
19106 * sdas/linksrc/lkmem.c:
19107 Fix incorrect check of "--xram-size".
19109 2015-10-27 Ben Shi <powerstudio1st AT 163 DOT com>
19112 Bug fix: char s[10] = "ab", bytes beyond "ab" sometimes aren't set to 0.
19114 2015-10-26 Philipp Klaus Krause <pkk AT spth.de>
19116 * Merge cpp-merge-upstream branch to get improved standard support.
19118 2015-10-26 Philipp Klaus Krause <pkk AT spth.de>
19121 Bump version due to improved standard support.
19123 2015-10-24 Philipp Klaus Krause <pkk AT spth.de>
19125 * src/stm8/ralloc.c,
19129 2015-10-23 Philipp Klaus Krause <pkk AT spth.de>
19131 * support/cpp/Makefile.in:
19132 Fix build-dependency of sdcpp on libiberty.
19133 * support/cpp/sdcpp.opt,
19134 support/cpp/sdcpp-opts.c,
19135 support/cpp/libcpp/init.c:
19136 Support C11 in preprocessor.
19138 Fix standard support, add support for c95 and sdcc11 dialects.
19140 2015-10-22 Ben Shi <powerstudio1st AT 163 DOT com>
19143 Add checks for NULL pointers.
19145 2015-10-19 Ben Shi <powerstudio1st AT 163 DOT com>
19150 Eliminate redundant string literals to be generated.
19151 * support/regression/tests/bug-2089.c:
19152 Add a new test case.
19154 2015-10-18 Philipp Klaus Krause <pkk AT spth.de>
19156 * support/cpp/libcpp/*:
19157 Reformat to reduce diff to upstream cpp.
19159 2015-10-17 Philipp Klaus Krause <pkk AT spth.de>
19161 * support/cpp/libcpp/*:
19162 Reformat to reduce diff to upstream cpp.
19164 2015-10-11 Philipp Klaus Krause <pkk AT spth.de>
19169 Support C95 wide string literals.
19171 2015-10-09 Philipp Klaus Krause <pkk AT spth.de>
19173 * support/cpp/libcpp/include/*:
19174 Reformat to reduce diff to upstream version.
19176 2015-10-10 Ben Shi <powerstudio1st AT 163 DOT com>
19178 * support/util/dbuf_string.c:
19179 Add check for null pointer.
19181 2015-10-09 Ben Shi <powerstudio1st AT 163 DOT com>
19184 Wrap strtoul() to support $-prefix hex numbers.
19186 2015-10-09 Philipp Klaus Krause <pkk AT spth.de>
19188 * New memory management by merging malloc branch into trunk.
19190 2015-10-09 Ben Shi <powerstudio1st AT 163 DOT com>
19192 * sdas/linksrc/lkaomf51.c:
19193 Add bound check while accessing a buffer in the heap.
19195 2015-10-08 Philipp Klaus Krause <pkk AT spth.de>
19197 * support/cpp/libcpp/files.c:
19198 Drop cpp support for Borland C.
19200 2015-10-07 Philipp Klaus Krause <pkk AT spth.de>
19202 * support/regression/tests/charconst.c,
19203 support/regression/tests/escape.c:
19204 Disable some tests for host, so we don't need a C11 host.
19206 2015-10-07 Ben Shi <powerstudio1st AT 163 DOT com>
19209 Add bound check in reorderIlist().
19210 * support/regression/bug-2423.c:
19211 Add a new test case.
19213 2015-10-06 Philipp Klaus Krause <pkk AT spth.de>
19220 support/regression/tests/charconst.c,
19221 support/regression/tests/escape.c:
19222 Implement escape sequences for wide character constants, fix universal
19225 2015-10-06 Philipp Klaus Krause <pkk AT spth.de>
19227 * device/include/uchar.h,
19236 support/regression/tests/charconst.c:
19237 Wide character constants.
19239 2015-10-05 Philipp Klaus Krause <pkk AT spth.de>
19241 * device/lib/malloc.c:
19242 Improve comments on heap data structures.
19244 2015-10-04 Philipp Klaus Krause <pkk AT spth.de>
19246 * device/include/stdlib.h,
19247 device/lib/aligned_alloc.c:
19248 Implement aligned_alloc().
19250 2015-10-02 Philipp Klaus Krause <pkk AT spth.de>
19252 * device/lib/realloc.c:
19253 Fix a bug in realloc() freeing.
19255 2015-10-02 Philipp Klaus Krause <pkk AT spth.de>
19257 * device/lib/free.c,
19258 device/lib/realloc.c,
19259 device/lib/malloc.c,
19260 device/lib/realloc.c,
19261 support/regression/tests/malloc.c:
19262 Simplify memory management, document search of free list.
19263 * support/regression/fwk/lib/testfwk.c:
19264 Support printing unsigned in test logs
19266 2015-10-02 Ben Shi <powerstudio1st AT 163 DOT com>
19269 Loose the condition of warning 116.
19271 2015-09-29 Ben Shi <powerstudio1st AT 163 DOT com>
19274 Support "pragma codeseg" and "pragma constseg" in the stm8 port.
19276 2015-09-28 Ben Shi <powerstudio1st AT 163 DOT com>
19279 Support "--codeseg" and "--constseg" on the stm8 port.
19281 2015-09-22 Maarten Brock <sourceforge.brock AT dse.nl>
19283 * device/lib/_calloc.c,
19284 * device/lib/_free.c,
19285 * device/lib/_heap.c,
19286 * device/lib/_malloc.c,
19287 * device/lib/_realloc.c: renamed all _sdcc_* to __sdcc_*,
19288 removed register keywords,
19289 changed _sdcc_heap_size to __sdcc_last_memheader,
19290 removed init_dynamic_memory() and other optimizations
19291 * support/regression/tests/malloc.c: added test for size overflow
19293 2015-09-21 Ben Shi <powerstudio1st AT 163 DOT com>
19295 * support/regression/tests/gcc-torture-execute-pr28982a.c:
19296 Enabled for the r2k and r3ka ports.
19298 2015-09-20 Philipp Klaus Krause <pkk AT spth.de>
19300 * device/lib/calloc.c,
19301 device/lib/malloc.c,
19302 device/lib/realloc.c,
19304 Use typedefs for memory block header type, use more pointers to __xdata.
19305 * device/include/stdlib.h,
19306 device/include/malloc.h:
19307 Move memory management to stdlib.h, fix stdlib.h inclusion.
19309 2015-09-20 Philipp Klaus Krause <pkk AT spth.de>
19311 * device/include/asm/*/features.h,
19312 device/include/malloc.h,
19313 device/lib/calloc.c,
19314 device/lib/malloc.c,
19315 device/lib/realloc.c,
19317 support/regression/tests/malloc.c:
19318 First version of new, more efficient memory management.
19320 2015-09-20 Ben Shi <powerstudio1st AT 163 DOT com>
19323 Fix bugs in genOr() and genXor() while operands are longlong.
19324 * support/regression/tests/longlong.c:
19327 2015-09-16 Ben Shi <powerstudio1st AT 163 DOT com>
19333 Disable nested critical block / function call, support return in inline
19334 critical functions.
19335 * support/regression/tests/critical.c:
19337 * support/regression/tests/malloc.c:
19340 2015-09-15 Philipp Klaus Krause <pkk AT spth.de>
19342 * support/regression/tests/malloc.c:
19343 More testing of memory management.
19345 2015-09-14 Philipp Klaus Krause <pkk AT spth.de>
19347 * support/regression/tests/malloc.c:
19348 More testing of memory management.
19350 2015-09-13 Philipp Klaus Krause <pkk AT spth.de>
19352 * device/lib/pic16/*
19353 Fix delarations to make pic16 lib compile again.
19355 2015-09-12 Philipp Klaus Krause <pkk AT spth.de>
19357 * src/pic14/genarith.c:
19358 Fix bug #2417 by applying patch by Juho Salminen.
19360 2015-09-10 Philipp Klaus Krause <pkk AT spth.de>
19362 * support/regression/tests/bug-2385.c:
19363 Regression test for bug #2385.
19365 2015-09-10 Ben Shi <powerstudio1st AT 163 DOT com>
19367 * support/regression/tests/critical.c:
19370 Fix a bug: inline critical functions are inlined as non-critical.
19372 2015-09-09 Philipp Klaus Krause <pkk AT spth.de>
19374 * support/regression/tests/generic.c:
19375 More testcases for _Generic.
19377 support/regression/tests/critical.c:
19380 2015-09-04 Philipp Klaus Krause <pkk AT spth.de>
19383 Fix handling of bcpl in notUsed().
19385 2015-09-03 Philipp Klaus Krause <pkk AT spth.de>
19387 * src/pic14/peeph.def:
19389 * src/stm8/peeph.def:
19390 Implement some rules for bit complement.
19392 support/regression/tests/generic.c:
19394 * src/pic16/main.c:
19395 Use zero-initializing crt0 by default.
19397 2015-08-27 Ben Shi <powerstudio1st AT 163 DOT com>
19399 * sim/ucsim/packages_in.mk:
19400 Fix a bug: simulator sz80 is not built if only z80 port is enabled.
19402 2015-08-22 Ben Shi <powerstudio1st AT 163 DOT com>
19405 Fix a bug in peephole rule condition notUsed().
19407 2015-08-22 Ben Shi <powerstudio1st AT 163 DOT com>
19409 * support/regression/tests/bug-2188.c:
19411 Apply patch #248 by Pavel Pisa <pisa@cmp.felk.cvut.cz>.
19413 2015-08-19 Ben Shi <powerstudio1st AT 163 DOT com>
19417 Correct build failure on sparc64-netbsd.
19419 2015-08-19 Ben Shi <powerstudio1st AT 163 DOT com>
19421 * support/regression/tests/condopptr.c:
19424 Improve conditional expression.
19427 Correct spots in previous commit.
19429 2015-08-17 Ben Shi <powerstudio1st AT 163 DOT com>
19433 Extend stack size on cygwin64.
19435 2015-08-15 Ben Shi <powerstudio1st AT 163 DOT com>
19438 Fix a bug in storage class check.
19439 * support/regression/tests/gcc-torture-execute-20020402-3.c:
19442 2015-08-15 Philipp Klaus Krause <pkk AT spth.de>
19445 support/regression/tests/array.c:
19446 Implement RFE #454 for index[array] access.
19450 Emit warning for non-standard label without statement.
19451 * support/regression/tests/generic.c:
19452 Disable test for host, since older host compilers are still in use.
19454 2015-08-12 Philipp Klaus Krause <pkk AT spth.de>
19461 support/regression/tests/generic.c,
19463 Implement C11 generic selections.
19465 2015-08-11 Philipp Klaus Krause <pkk AT spth.de>
19470 support/regression/tests/gcc-torture-execute-920721-3.c,
19471 support/regression/tests/gcc-torture-execute-pr34176.c,
19472 support/regression/tests/implicit_int.c:
19473 Diagnostic for implicit int.
19475 2015-08-10 Philipp Klaus Krause <pkk AT spth.de>
19477 * src/z80/peeph-z80.def:
19479 * src/z80/peeph-r2k.def,
19480 * src/z80/peeph-tlcs90.def:
19481 Synced with z80 peepholes.
19483 2015-08-09 Philipp Klaus Krause <pkk AT spth.de>
19485 * src/z80/peeph-z80.def:
19486 Fix bug #2407 using fix suggested by alvin.
19488 2015-08-02 Philipp Klaus Krause <pkk AT spth.de>
19491 Cheaper stm8 division workaround (RFE #449).
19493 Update standard compliance documentation to reflect recently implemented
19496 2015-08-01 Philipp Klaus Krause <pkk AT spth.de>
19500 src/SDCCralloc.hpp,
19502 Static code analysis to omit stm8 division workaround when safe to do so
19505 2015-07-31 Ben Shi <powerstudio1st AT 163 DOT com>
19507 * support/regression/tests/gcc-torture-execute-stdarg-5.c:
19510 2015-07-26 Philipp Klaus Krause <pkk AT spth.de>
19513 Workaround for for stm8 division hardware bug.
19515 2015-07-13 Ben Shi <powerstudio1st AT 163 DOT com>
19517 * support/cpp/configure.ac:
19518 * support/cpp/configure:
19519 * support/cpp/Makefile.in:
19520 * Makefile.common.in:
19523 2015-07-13 Ben Shi <powerstudio1st AT 163 DOT com>
19525 * sdas/linksrc/lklex.c:
19526 Support unicode character in sdld's command line.
19527 * sdas/linksrc/lkbank.c:
19528 Remove unsupported ".s28" and ".s37" file extensions.
19530 2015-07-12 Ben Shi <powerstudio1st AT 163 DOT com>
19533 * debugger/mcs51/configure:
19534 * debugger/mcs51/configure.in:
19535 * device/lib/pic14/Makefile.in:
19536 * device/lib/pic14/aclocal.m4:
19537 * device/lib/pic14/config.h.in:
19538 * device/lib/pic14/configure.in:
19539 * device/lib/pic14/libm/Makefile.in:
19540 * device/lib/pic14/libsdcc/enhanced/Makefile.in:
19541 * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in:
19542 * device/lib/pic14/libsdcc/regular/Makefile.in:
19543 * device/non-free/lib/pic14/configure:
19544 * device/non-free/lib/pic14/configure.in:
19545 * sim/ucsim/configure.in:
19546 * support/cpp/configure:
19547 * support/cpp/configure.in:
19548 * support/packihx/configure:
19549 * support/packihx/configure.in:
19550 Move all configure.in to configure.ac and update with autoconf 2.69.
19552 2015-07-10 Philipp Klaus Krause <pkk AT spth.de>
19554 * src/stm8/peeph.def:
19556 * device/lib/stm8/_mulint.s:
19557 Faster, smaller integer multiplication.
19559 2015-07-08 Ben Shi <powerstudio1st AT 163 DOT com>
19561 * support/sdbinutils/bfd/asxxxx.c:
19562 Fix a bug in check .rel format while there are comments.
19564 2015-07-06 Ben Shi <powerstudio1st AT 163 DOT com>
19568 * device/include/Makefile.in:
19569 * support/sdbinutils/Makefile.in:
19570 * support/sdbinutils/binutils/Makefile.in:
19571 Make "make install" and "make uninstall" more clear.
19573 2015-07-05 Philipp Klaus Krause <pkk AT spth.de>
19575 * support/sdbinutils/binutils/*
19576 Fix bug #2394 and do not ship files generated by yacc.
19578 2015-07-03 Philipp Klaus Krause <pkk AT spth.de>
19581 Patch from z88dk to allow comments in between rule and condition.
19583 2015-07-01 Philipp Klaus Krause <pkk AT spth.de>
19585 * Merge upstream binutils 2.25 by merging binutils branch into trunk.
19587 2015-07-01 Ben Shi <powerstudio1st AT 163 DOT com>
19589 * src/mcs51/peep.c:
19590 Add NULL pointer check.
19592 2015-06-30 Philipp Klaus Krause <pkk AT spth.de>
19595 Adjust buffer sizes RFE #441.
19597 2015-06-29 Philipp Klaus Krause <pkk AT spth.de>
19601 support/regression/tests/version.c:
19602 Implement patchlevel macro RFE #441.
19604 2015-06-28 Philipp Klaus Krause <pkk AT spth.de>
19606 * support/sdbinutils/*
19607 Merge upstream binutils 2.25.
19609 2015-06-28 Philipp Klaus Krause <pkk AT spth.de>
19611 * support/sdbinutils/*
19612 Import more parts of upstream binutils 2.23.2.
19614 2015-06-27 Philipp Klaus Krause <pkk AT spth.de>
19616 * support/sdbinutils/*
19617 Import more parts of upstream binutils 2.23.2.
19619 2015-06-26 Ben Shi <powerstudio1st AT 163 DOT com>
19621 * device/include/float.h:
19622 Hide sdcc library private macros.
19623 * support/sdbinutils/include/objalloc.h:
19624 * support/sdbinutils/libiberty/objalloc.c:
19625 Apply patches from GNU.
19627 2015-06-25 Ben Shi <powerstudio1st AT 163 DOT com>
19631 * device/non-free/include/Makefile.in:
19632 Fix the bug "make uninstall" left empty directory.
19633 * src/SDCCBBlock.c:
19634 Apply patch #158 to fix bug #1693.
19635 * support/regression/tests/version.c:
19636 Fix the failure in "make test-host".
19638 2015-06-24 Philipp Klaus Krause <pkk AT spth.de>
19642 support/regression/tests/version.c:
19643 Implement version macros RFE #441.
19645 2015-06-24 Ben Shi <powerstudio1st AT 163 DOT com>
19647 * support/regression/collate-results.py:
19648 Fix the bug that an abnormal stop in reg-rest can not be detected.
19650 2015-06-24 Philipp Klaus Krause <pkk AT spth.de>
19652 * src/z80/ralloc.c:
19658 Remove build date from version string to make reproducible builds easier.
19660 2015-06-24 Maarten Brock <sourceforge.brock AT dse.nl>
19662 * Small Device C Compiler 3.5.0 released
19663 * .version, doc/sdccman.lyx: changed sdcc version to 3.5.1
19665 2015-06-20 Maarten Brock <sourceforge.brock AT dse.nl>
19667 * support/scripts/gen_known_bugs.pl: fixed by Raphael Neider for changed
19670 2015-06-18 Maarten Brock <sourceforge.brock AT dse.nl>
19674 * doc/sdccman.lyx: version 3.5.0
19676 2015-06-18 Maarten Brock <sourceforge.brock AT dse.nl>
19678 * src/SDCCmain.c (preProcess): reverted removal of SDCC macro
19679 * src/stm8/gen.c (genLeftShiftLiteral): hushed a compiler warning
19680 * support/regression/tests/gcc-torture-execute-960218-1.c,
19681 * support/regression/tests/gcc-torture-execute-20030913-1.c: renamed test()
19682 to prevent double testing, renamed glob to prevent name conflict
19683 * support/scripts/sdcc.nsi: removed dedication to Borut Razem
19685 2015-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
19687 * support/scripts/repack_release.sh: changed mac osx snapshot source,
19688 forced uploading to directories
19690 2015-06-07 Philipp Klaus Krause <pkk AT spth.de>
19693 Add section on the use of --allow-unsafe-reads on Z80-based systems.
19695 2015-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
19699 * doc/sdccman.lyx: version 3.5.0 rc1
19700 * sdcc.spec: version 3.5.0
19701 * device/lib/pic14/libsdcc/idata.c: cosmetics
19702 * support/regression/tests/bug-2274.c: prevented double testing by rename
19703 * support/regression/tests/gcc-torture-execute-stdarg-5.c: no ASSERT(0)
19705 2015-06-05 Philipp Klaus Krause <pkk AT spth.de>
19711 Use more generic name for option for unsafe reads.
19713 2015-05-23 Ben Shi <powerstudio1st AT 163 DOT com>
19717 Support initialization of char array in form 'char arr[] = {"abc"};'.
19718 * support/regression/tests/bug-2059.c:
19719 Add a new test case.
19721 2015-05-21 Ben Shi <powerstudio1st AT 163 DOT com>
19724 Remove useless code.
19725 * support/regression/tests/bug-2384.c:
19726 Add a new test case.
19728 2015-05-19 Ben Shi <powerstudio1st AT 163 DOT com>
19730 * support/regression/tests/bug-1918.c:
19731 Add a new test case.
19733 2015-05-17 Maarten Brock <sourceforge.brock AT dse.nl>
19735 * doc/clean.mk: remove *.eps
19736 * doc/Makefile.in: use dvipdfm instead of pdflatex to enable svg graphics
19738 * configure: require latex and dvipdfm for building doc
19740 2015-05-17 Ben Shi <powerstudio1st AT 163 DOT com>
19742 * sdas/linksrc/lklex.c:
19743 Check illegal object files.
19745 2015-05-15 Ben Shi <powerstudio1st AT 163 DOT com>
19748 Fix a potential bug in simplification of nested '*' and '&' in AST.
19750 2015-05-14 Ben Shi <powerstudio1st AT 163 DOT com>
19753 simplify nested '&' and '*' in AST.
19754 * support/regression/tests/bug-2381.c:
19755 Add a new test case.
19757 2015-05-13 Ben Shi <powerstudio1st AT 163 DOT com>
19763 Add a new warning for duplicate specifiler in c89.
19765 2015-05-08 Ben Shi <powerstudio1st AT 163 DOT com>
19767 * src/SDCC.y: Turn off warning 219 for declaration (with extern) while keep
19768 for definition (without extern).
19769 * support/regression/tests/bug-2102.c:
19772 2015-05-06 Ben Shi <powerstudio1st AT 163 DOT com>
19774 * src/SDCC.y: Do not warn if a variable of a struct with a flexible array is
19775 declared with extern.
19777 Change text message of warning 219.
19778 * support/regression/tests/bug-2102.c:
19779 Supress warning 219 and improve test case.
19780 * support/regression/tests/bug-2274.c:
19781 Supress warning 84.
19783 2015-05-04 Ben Shi <powerstudio1st AT 163 DOT com>
19785 * support/regression/tests/bug-2102.c:
19786 Add a new test case.
19789 Rise warning 219 for creating an instance of a struct with a flexible array.
19791 Remove useless code.
19793 2015-05-04 Ben Shi <powerstudio1st AT 163 DOT com>
19796 Fix a bug in macro __func__ substitution.
19798 2015-05-03 Maarten Brock <sourceforge.brock AT dse.nl>
19800 * device/lib/_calloc.c: removed unused struct declarations
19801 * device/lib/pic16/libc/stdio/vfprintf.c: fixed warnings
19802 * src/SDCC.y: disabled W_ANONYMOUS_MEMBER
19803 * src/SDCCsymt.c (compStructSize): disabled W_FLEXARRAY_INSTRUCT
19804 * src/z80/main.c: fixed gbz80_port peephole pointers, and
19805 * src/ds390/main.c,
19806 * src/mcs51/main.c,
19807 * src/stm8/main.c: added peephole null-pointers, unified layout
19808 * src/stm8/ralloc.c (stm8_assignRegisters): fixed warning
19809 * support/regression/tests/bug-2320.c: fixed warning
19811 2015-05-01 Ben Shi <powerstudio1st AT 163 DOT com>
19813 * sdas/linksrc/lkar.c:
19814 * sdas/linksrc/lklib.c:
19815 * sdas/linksrc/lksdcclib.c:
19817 Remove useless code for Cygwin.
19818 * support/sdbinutils/bfd/config.bfd:
19819 * sim/ucsim/cmd.src/cmdutil.cc:
19822 2015-04-29 Ben Shi <powerstudio1st AT 163 DOT com>
19824 * support/regression/tests/gcc-torture-execute-20001011-1.c:
19826 * support/cpp/libcpp/macro.c:
19827 * support/cpp/libcpp/include/cpplib.h:
19828 * support/cpp/libcpp/init.c:
19830 Support macro __func__.
19832 2015-04-22 Philipp Klaus Krause <pkk AT spth.de>
19834 * src/z80/peeph-z80.def:
19835 Better peephole interaction for early ret statements in functions.
19837 2015-04-22 Ben Shi <powerstudio1st AT 163 DOT com>
19839 * Makefile.common.in:
19842 * support/regression/Makefile.in:
19843 * support/regression/ports/ds390/spec.mk:
19844 * support/regression/ports/hc08/spec.mk:
19845 * support/regression/ports/mcs51-common/spec.mk:
19846 * support/regression/ports/pic14/spec.mk:
19847 * support/regression/ports/pic16/spec.mk:
19848 * support/regression/ports/s08/spec.mk:
19849 * support/regression/ports/stm8/spec.mk:
19850 * support/regression/ports/ucgbz80/spec.mk:
19851 * support/regression/ports/ucr2k/spec.mk:
19852 * support/regression/ports/ucr3ka/spec.mk:
19853 * support/regression/ports/ucz180/spec.mk:
19854 * support/regression/ports/ucz80/spec.mk:
19855 * support/valdiag/Makefile.in:
19856 Auto detect python in $PATH.
19857 * support/regression/tests/z88dk.c:
19858 Fix build error in reversion #9218.
19860 2015-04-22 Philipp Klaus Krause <pkk AT spth.de>
19863 support/regression/tests/bug-2376.c:
19864 Fix peephole optimizer bug #2376.
19866 2015-04-21 Philipp Klaus Krause <pkk AT spth.de>
19874 src/z80/peeph-z80.def:
19875 Fix peephole optimizer bug #2374, more efficient calls to _Noreturn
19878 2015-04-20 Philipp Klaus Krause <pkk AT spth.de>
19882 support/regression/tests/z88dk.c:
19883 Fix peephole optimizer bug #2371.
19885 2015-04-19 Philipp Klaus Krause <pkk AT spth.de>
19890 device/lib/*/__sdcc_call_hl.s,
19891 device/lib/*/__sdcc_call_iy.s,
19893 Better handling of calls through function pointers.
19895 2015-04-18 Ben Shi <powerstudio1st AT 163 DOT com>
19897 * sim/ucsim/configure.in:
19898 * sim/ucsim/configure:
19899 * sim/ucsim/packages_in.mk:
19900 Do not build disabled ports.
19902 2015-04-17 Ben Shi <powerstudio1st AT 163 DOT com>
19904 * sdas/linksrc/Makefile.in:
19905 Fix the issue that "make install" of sdld* failed on Windows.
19907 2015-04-16 Ben Shi <powerstudio1st AT 163 DOT com>
19909 * device/include/Makefile.in:
19910 Fix the problem that the header files of ds400 are not installed.
19911 * sdas/linksrc/Makefile.in:
19912 Do not install unnecessary sdld* for disabled ports.
19914 2015-04-15 Ben Shi <powerstudio1st AT 163 DOT com>
19916 * Makefile.common.in:
19918 Partially fix bug #2369.
19921 * device/lib/Makefile.in:
19922 * src/ds400/Makefile.in:
19923 * src/ds400/main.c:
19924 * src/ds400/main.h:
19925 Delete the empty stuff src/ds400/ .
19926 * support/regression/tests/z88dk.c:
19927 Fix compiling errors.
19929 2015-04-14 Philipp Klaus Krause <pkk AT spth.de>
19936 support/regression/tests/z88dk.c:
19937 Support for __z88dk_callee calling convention on the caller side.
19939 2015-04-11 Ben Shi <powerstudio1st AT 163 DOT com>
19941 * support/scripts/sdcc.nsi:
19942 Remove savr which is disabled by default.
19944 2015-04-10 Philipp Klaus Krause <pkk AT spth.de>
19946 * support/regression/tests/z88dk.c:
19947 Fix bug number in comment.
19949 2015-04-10 Ben Shi <powerstudio1st AT 163 DOT com>
19951 * debugger/mcs51/configure:
19952 * debugger/mcs51/Makefile.in:
19953 * debugger/mcs51/configure.in:
19954 * sim/ucsim/st7.src/Makefile.in:
19955 * sim/ucsim/z80.src/Makefile.in:
19956 * sim/ucsim/stm8.src/Makefile.in:
19957 * sim/ucsim/xa.src/Makefile.in:
19958 * sim/ucsim/s51.src/Makefile.in:
19959 * sim/ucsim/avr.src/Makefile.in:
19960 * sim/ucsim/hc08.src/Makefile.in:
19961 * sim/ucsim/configure:
19962 * sim/ucsim/Makefile.in:
19963 * sim/ucsim/configure.in:
19964 Support --program-prefix and --program-suffix.
19966 2015-04-09 Philipp Klaus Krause <pkk AT spth.de>
19968 * device/include/ctype.h,
19969 device/lib/isblank.c:
19971 * device/include/stdlib.h,
19974 device/lib/atoll.c,
19975 device/lib/incl.mk,
19976 device/lib/make51lib.bat,
19977 support/regression/tests/ato.c:
19978 Faster and shorter atoi(), atol(), implemented atoll().
19987 src/z80/ralloc2.cc,
19988 support/regression/tests/z88dk.c:
19989 Support for __z88dk_fastcall calling convention.
19990 * src/stm8/peeph.def:
19991 Use relative jump on false instruction for optimizing jumps over 1-byte
19994 2015-04-06 Ben Shi <powerstudio1st AT 163 DOT com>
19996 * support/regression/bug-2368.c:
19997 Try to fix the failure in "make test-host" on sparc64-solaris.
19999 2015-04-03 Ben Shi <powerstudio1st AT 163 DOT com>
20004 Add a warning for inline __naked functions.
20006 2015-04-02 Ben Shi <powerstudio1st AT 163 DOT com>
20011 Support --program-prefix and --program-suffix while calling assembler and
20014 * src/z80/mapping.i:
20016 Add new "globalfunctionlabel".
20017 * sdas/linksrc/Makefile.in:
20018 Fix a spot in 'make install'.
20020 2015-04-01 Philipp Klaus Krause <pkk AT spth.de>
20022 * src/SDCCnaddr.hpp,
20024 Dump tree decomposition used for address space switching on --dump-graphs.
20026 2015-04-01 Ben Shi <powerstudio1st AT 163 DOT com>
20028 * sdas/as6808/Makefile.in:
20029 * sdas/as8051/Makefile.in:
20030 * sdas/as8xcxxx/Makefile.in:
20031 * sdas/asgb/Makefile.in:
20032 * sdas/asrab/Makefile.in:
20033 * sdas/asstm8/Makefile.in:
20034 * sdas/astlcs90/Makefile.in:
20035 * sdas/asz80/Makefile.in:
20036 * sdas/linksrc/Makefile.in:
20038 * support/cpp/Makefile.in:
20039 * support/librarian/Makefile.in:
20040 * support/makebin/Makefile.in:
20041 * support/packihx/Makefile.in:
20042 Fix a bug of --program-suffix on Win32 / Win64.
20044 2015-03-31 Philipp Klaus Krause <pkk AT spth.de>
20047 support/regression/tests/bug-2368.c:
20050 2015-03-27 Ben Shi <powerstudio1st AT 163 DOT com>
20052 * sdas/as6808/Makefile.in:
20053 * sdas/as8051/Makefile.in:
20054 * sdas/as8xcxxx/Makefile.in:
20055 * sdas/asgb/Makefile.in:
20056 * sdas/asrab/Makefile.in:
20057 * sdas/asstm8/Makefile.in:
20058 * sdas/astlcs90/Makefile.in:
20059 * sdas/asz80/Makefile.in:
20060 * sdas/linksrc/Makefile.in:
20062 * support/cpp/Makefile.in:
20063 * support/librarian/Makefile.in:
20064 * support/makebin/Makefile.in:
20065 * support/packihx/Makefile.in:
20066 * support/scripts/Makefile.in:
20067 Support --program-prefix and --program-suffix.
20069 2015-03-26 Ben Shi <powerstudio1st AT 163 DOT com>
20071 * support/sdbinutils/libiberty/Makefile.in:
20072 Disable make install.
20073 * support/sdbinutils/binutils/Makefile.in:
20074 * support/sdbinutils/Makefile.in:
20075 Support make uninstall.
20076 * device/non-free/lib/Makefile.in:
20077 Apply patch #245 by David Grayson.
20079 2015-03-24 Philipp Klaus Krause <pkk AT spth.de>
20081 * src/z80/peeph-z80.def:
20082 Peepholes for optimizing jump on decrement.
20084 2015-03-20 Ben Shi <powerstudio1st AT 163 DOT com>
20087 Improve error messages.
20089 2015-03-19 Ben Shi <powerstudio1st AT 163 DOT com>
20092 Fix a bug in a global char array initialized by a string.
20094 Fix a bug in a local static global array initialization.
20095 * support/regression/tests/bug-1953.c:
20098 Suggest msys while build SDCC with VS2010.
20100 2015-03-16 Philipp Klaus Krause <pkk AT spth.de>
20105 2015-03-13 Maarten Brock <sourceforge.brock AT dse.nl>
20107 * device/lib/z80/crt0.s: cosmetics
20108 * sdas/asstm8/sdasstm8.vcxproj,
20109 * sdas/asstm8/sdasstm8.vcxproj.filters: new, added
20110 * sdcc.sln: added sdasstm8
20112 2015-03-12 Ben Shi <powerstudio1st AT 163 DOT com>
20117 Add a new warning: anonymous member in struct/union.
20119 2015-03-11 Ben Shi <powerstudio1st AT 163 DOT com>
20123 Add a new special case in pointer initialization.
20124 * support/regression/tests/gcc-torture-execute-const-addr-expr-1.c:
20126 * support/regression/test-1898.c:
20127 Add a new test case.
20129 2015-03-06 Ben Shi <powerstudio1st AT 163 DOT com>
20134 Add a warning for a flexible array in a struct.
20136 2015-02-25 Philipp Klaus Krause <pkk AT spth.de>
20139 Speed up stm8 port by skipping output early in dry runs and making some
20140 aop tests more efficient,
20141 fix code generation bug in shifts.
20143 2015-02-25 Ben Shi <powerstudio1st AT 163 DOT com>
20145 * support/regression/tests/bug-2031.c:
20146 Add a new test case.
20151 Enable a global char/int/long variable initialized by an address
20154 2015-02-24 Philipp Klaus Krause <pkk AT spth.de>
20157 Fix bug in stm8 comparison code generation.
20159 2015-02-23 Ben Shi <powerstudio1st AT 163 DOT com>
20161 * support/regression/tests/bug-2357.c:
20162 Improve this test case.
20164 2015-02-22 Philipp Klaus Krause <pkk AT spth.de>
20168 Improve z88dk compability (patch provided by z88dk).
20170 2015-02-20 Ben Shi <powerstudio1st AT 163 DOT com>
20172 * support/regression/tests/bug-2357.c:
20174 * support/regression/tests/gcc-torture-execute-20000412-1.c:
20177 Change E_CODE_NO_INIT from an error to a warning.
20179 Fix a bug in selecting type of an array index.
20181 2015-02-17 Ben Shi <powerstudio1st AT 163 DOT com>
20183 * support/regression/tests/bug-1953.c:
20184 Disable failed tests.
20186 2015-02-16 Ben Shi <powerstudio1st AT 163 DOT com>
20189 Fix a bug in char array initialization with string.
20190 * support/regression/tests/bug-1953.c:
20191 Add a new test case.
20192 * support/regression/tests/gcc-torture-execute-20000801-4.c:
20195 2015-02-13 Ben Shi <powerstudio1st AT 163 DOT com>
20198 Make pointers (of a struct) initialization more generaic.
20199 * support/regression/tests/bug-2123.c:
20202 2015-02-11 Ben Shi <powerstudio1st AT 163 DOT com>
20205 Improve pointer initialization.
20206 * support/regression/tests/bug-2123.c:
20207 Add a new test case for bug #2123.
20209 2015-02-08 Ben Shi <powerstudio1st AT 163 DOT com>
20212 Allow type cast in function pointer initialization.
20213 * support/regression/tests/bug-2124.c:
20214 Add a new test case for bug #2124.
20216 2015-02-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20218 * src/SDCCtree_dec.hpp:
20219 Fix bug in weight calculation that affected tree-decompositions with
20220 imbalanced nested branches.
20221 * src/z80/peeph-gbz80.def:
20222 Fix handling of (hl-), (hl+) in peepholes.
20224 2015-02-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20226 * src/z80/mappings.i:
20227 Fix gbz80 function entry helper.
20228 * src/SDCCralloc.hpp:
20229 Use weight mechanism for deciding which subtree to process first - should
20230 reduce memory consumption and improve the heuristic in the register
20233 2015-02-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20235 * doc/Makefile.in: copy *.svg graphic files when using VPATH too
20237 2015-02-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20239 * device/lib/*/crtcall.s,
20240 device/lib/*/crtenters,
20241 device/lib/*/Makefile.in,
20243 src/z80/mappings.i,
20245 Fix name of helper function for function pointers, introduce Alan Cox'
20246 proposal for helper function for function header.
20248 2015-02-02 Ben Shi <powerstudio1st AT 163 DOT com>
20251 Add check for infinite recursive call of copyAst().
20253 2015-01-30 Philipp Klaus Krause <pkk AT spth.de>
20256 Fix references to obsolete keywords.
20258 2015-01-29 Philipp Klaus Krause <pkk AT spth.de>
20261 Reorganize documentation of language extensions, in particular named
20262 address spaces, separate mcs51isms, remove references to obsolete keywords.
20264 2015-01-28 Philipp Klaus Krause <pkk AT spth.de>
20267 Update documentation on C dialect selection.
20269 2015-01-27 Ben Shi <powerstudio1st AT 163 DOT com>
20273 * support/regression/test/bug-2349.c:
20274 Add a new test for bug #2349.
20276 2015-01-27 Philipp Klaus Krause <pkk AT spth.de>
20283 Apply patch by Pascal for trap handlers.
20285 2015-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
20288 Fix a bug in genPointerGet(): negative offset is not handled correctly.
20289 * support/regression/test/bug-2239.c:
20290 More tests are added and enabled for stm8.
20292 2015-01-24 Ben Shi <powerstudio1st AT 163 DOT com>
20296 * support/regression/test/bug-2239.c:
20297 Add a new test for bug #2239.
20299 2015-01-20 Philipp Klaus Krause <pkk AT spth.de>
20303 Make sdcc dialect of C99 the default.
20305 2015-01-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20307 * src/z80/ralloc.c,
20308 src/mcs51/ralloc.c:
20309 Fix register packing inline asm interaction bugs #2346, #2268.
20311 2015-01-09 Philipp Klaus Krause <pkk AT spth.de>
20314 Classification macros are not required in freestanding implementations.
20316 2015-01-08 Ben Shi <powerstudio1st AT 163 DOT com>
20319 Fix a bug which might be a NULL pointer access.
20320 * device/lib/time.c:
20321 Eliminate a warning. (overflow in implicit constant conversion)
20323 2015-01-06 Ben Shi <powerstudio1st AT 163 DOT com>
20326 Fix bug #2167 & #1967. (auto struct variables initialization)
20327 * support/regression/tests/gcc-torture-execute-960326-1.c:
20328 Add more test cases.
20329 * support/regression/tests/gcc-torture-execute-20050613-1.c:
20330 * support/regression/tests/gcc-torture-execute-20030408-1.c:
20333 2015-01-01 Ben Shi <powerstudio1st AT 163 DOT com>
20336 Make SDCC_VERY_PEDANTIC default, if --less-pedantic is not specified.
20338 2014-12-30 Maarten Brock <sourceforge.brock AT dse.nl>
20340 * doc/sdccman.lyx: fixed typo, webdoc #69, thanks Petr Petyovsky
20341 * sdas/linksrc/aslink.h: added include "sdccconf.h" or "sdcc_vc.h"
20342 * sdas/linksrc/lkar.c: removed include "sdccconf.h"
20344 2014-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
20346 * device/include/pic16/limits.h,
20347 * device/lib/_divsint.c,
20348 * device/lib/_divslong.c,
20349 * device/lib/_divuint.c,
20350 * device/lib/_divulong.c,
20351 * device/lib/_memset.c,
20352 * device/lib/_modsint.c,
20353 * device/lib/_modslong.c,
20354 * device/lib/_moduint.c,
20355 * device/lib/_modulong.c,
20356 * device/lib/_mulint.c,
20357 * device/lib/_mullong.c,
20358 * device/lib/hc08/_divuint.c,
20359 * device/lib/hc08/_divulong.c,
20360 * device/lib/pic16/libm/asincosf.c,
20361 * device/lib/pic16/libm/atanf.c,
20362 * device/lib/pic16/libm/logf.c,
20363 * device/lib/s08/_divuint.c,
20364 * device/lib/s08/_divulong.c: replaced deprecated predefined macros
20365 * device/lib/pic16/libio/i2c/i2copen.c: idem to fix bug 2336
20366 * src/SDCCast.c (ast_print),
20367 * src/SDCCicode.c (dbuf_printOperand): fixed warnings
20368 * support/regression/tests/bug-2313.c: fixed warning
20370 2014-12-29 Philipp Klaus Krause <pkk AT spth.de>
20372 * support/regression/tests/bug-2320.c:
20375 2014-12-28 Philipp Klaus Krause <pkk AT spth.de>
20377 * device/include/stdio.h:
20380 2014-12-27 Philipp Klaus Krause <pkk AT spth.de>
20382 * src/z80/ralloc2.cc,
20383 support/regression/tests/bug-2320.c:
20386 2014-12-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20388 * src/pic14/gen.c (aopOp): fix typo in previous commit
20390 2014-12-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20392 * src/stm8/gen.c (aopOp),
20393 * src/z80/gen.c (aopOp),
20394 * src/hc08/gen.c (aopOp),
20395 * src/mcs51/gen.c (aopOp),
20396 * src/ds390/gen.c (aopOp),
20397 * src/pic16/gen.c (pic16_aopOp),
20398 * src/pic14/gen.c (aopOp): only use spill location if isspilt set
20400 2014-12-22 Philipp Klaus Krause <pkk AT spth.de>
20405 2014-12-22 Ben Shi <powerstudio1st AT 163 DOT com>
20407 * support/regression/tests/longlong.c:
20408 Modify test cases for large signed / unsigned long long.
20410 2014-12-21 Philipp Klaus Krause <pkk AT spth.de>
20417 Remove obsolete feature macros.
20419 2014-12-21 Ben Shi <powerstudio1st AT 163 DOT com>
20422 Make AST dump more clear.
20429 * src/pic16/SDCCglue.c:
20430 make valFromLiteral() more accurate by a new unsigned long long parameter.
20431 * support/regression/tests/longlong.c:
20432 Add new test cases for large unsigned long long.
20434 2014-12-19 Ben Shi <powerstudio1st AT 163 DOT com>
20436 * support/regression/tests/longlong.c:
20437 Enable more test cases.
20440 Fix a bug: higher 4 bytes of a longlong literal are missing while dumping.
20442 Fix a bug: higher 4 bytes of a longlong value are discarded while casting
20443 from a double value.
20445 2014-12-16 Philipp Klaus Krause <pkk AT spth.de>
20449 Remove dependency on pdfopt.
20450 * support/regression/tests/bug-2313.c:
20451 Regression test for bug #2313.
20453 2014-12-13 Philipp Klaus Krause <pkk AT spth.de>
20455 * device/lib/pic16/libc/string/strncpy.c,
20456 support/regression/tests/bug-2231.c:
20457 Fix strncpy() in pic16. Patch by Diego Herranz.
20459 2014-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20461 * src/SDCCcse.c (ifxOptimize): fixed bugs #2313/2330
20463 2014-12-04 Philipp Klaus Krause <pkk AT spth.de>
20465 * support/regression/tests/gcc-torture-execute-20080529-1.c,
20466 support/regression/tests/longlong.c:
20467 Disable tests that fail due to broken gbz80 long long multiplication
20469 * support/regression/tests/bug-2231.c,
20470 support/regression/tests/float_single.c,
20471 support/regression/tests/gcc-torture-execute-stdarg-4.c,
20472 support/regression/tests/gcc-torture-execute-stdarg-5.c,
20473 support/regression/tests/vaargs.c:
20474 Disable failing tests for pic16.
20476 2014-12-03 Ben Shi <powerstudio1st AT 163 DOT com>
20478 * support/regression/tests/gcc-torture-execute-950511-1.c:
20479 Disabled. Since it fails on FreeBSD.
20481 2014-12-02 Ben Shi <powerstudio1st AT 163 DOT com>
20483 * support/regression/tests/gcc-torture-execute-20050826-1.c:
20484 * support/regression/tests/gcc-torture-execute-950511-1.c:
20487 2014-12-02 Philipp Klaus Krause <pkk AT spth.de>
20489 * device/lib/_mullonglong.c,
20490 support/regression/tests/longlong.c:
20491 Make long long multiplication independent of endianness.
20493 2014-12-02 Ben Shi <powerstudio1st AT 163 DOT com>
20495 * sim/ucsim/stm8.src/stm8.cc:
20496 Make stack larger, since some test cases cost large stack space.
20498 2014-12-02 Philipp Klaus Krause <pkk AT spth.de>
20500 * src/stm8/ralloc.c,
20502 Do not try to use spill locations that are not on the stack in ports that
20504 * support/regression/tests/longlong.c:
20505 Enable some long long tests that pass for stm8 now.
20507 2014-12-01 Philipp Klaus Krause <pkk AT spth.de>
20510 Initialize usl.spillLoc to help track down spill location issues.
20511 * src/stm8/ralloc.c:
20514 2014-11-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20519 * sdas/linksrc/lkar.c: Use configure to detect system strndup()
20520 (alternate fix for bugs #2310 and #2303)
20521 * sdas/linksrc/Makefile.in: Removed -std=c99; it caused problems with
20524 2014-11-29 Maarten Brock <sourceforge.brock AT dse.nl>
20526 * device/include/ctype.h: compare as unsigned chars, added static asserts on
20528 * device/lib/isdigit.c,
20529 * device/lib/islower.c,
20530 * device/lib/isupper.c: include stdio.h to enable the static assert in ctype.h
20531 * support/regression/tests/gcc-torture-execute-20050613-1.c: split up ASSERTs
20533 2014-11-23 Molnar Karoly <molnarkaroly AT users.sf.net>
20535 * device/include/pic14/pic14devices.txt:
20536 Bugfix, thanks to Franz.
20538 2014-11-23 Ben Shi <powerstudio1st AT 163.com>
20540 * support/regression/tests/bug-2304.c:
20541 Improve this test case.
20542 * sdas/linksrc/lkmain.c:
20545 2014-11-22 Ben Shi <powerstudio1st AT 163.com>
20548 Fix potential bugs.
20550 2014-11-22 Ben Shi <powerstudio1st AT 163.com>
20553 Add function notSimilar().
20555 Make notUsed() more aggressive.
20556 * src/stm8/peeph.def:
20559 2014-11-21 Philipp Klaus Krause <philipp@informatik.uni-frankfurt.de>
20562 Comment expaining why we can't use the byte at 0 in C.
20564 2014-11-21 Ben Shi <powerstudio1st AT 163.com>
20566 * device/lib/stm8/heap.s:
20567 * device/lib/stm8/Makefile.in:
20568 Add support for heap operation.
20569 * support/regression/tests/gcc-torture-execute-920810-1.c:
20570 * support/regression/tests/malloc:
20571 enable test cases which use malloc().
20573 2014-11-19 Ben Shi <powerstudio1st AT 163.com>
20575 * sdas/linksrc/aslink.h:
20576 Change PATH_MAX to a proper value on x86_64, for bug #2316.
20578 2014-11-18 Philipp Klaus Krause <pkk AT spth.de>
20580 * device/include/iso646.h,
20581 support/regression/tests/iso646.c:
20584 2014-11-15 Philipp Klaus Krause <pkk AT spth.de>
20586 * support/regression/tests/gcc-torture-execute-pr40057.c:
20587 Disable test for host, since it fails on NetBSD.
20589 2014-11-14 Philipp Klaus Krause <pkk AT spth.de>
20591 * support/sdbinutils/bfd/configure,
20592 support/sdbinutils/bfd/warning.m4,
20593 support/sdbinutils/binutils/configure:
20594 Fixed bug #2280 by disabling -Werror.
20595 * sdas/linksrc/Makefile.in:
20596 Fixed bugs #2310 and #2303.
20597 * support/regression/tests/gcc-torture-execute-20031012-1.c:
20598 Disable test that fails on MacOS.
20600 2014-11-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20602 * support/regression/tests/gcc-torture-execute-pr42544.c:
20603 Disable test for host, since it fails on Solaris.
20605 2014-11-11 Philipp Klaus Krause <pkk AT spth.de>
20607 * support/regression/tests/longlong.c:
20608 Disable test that fails on 32-bit hosts.
20610 2014-11-10 Philipp Klaus Krause <pkk AT spth.de>
20612 * src/z80/ralloc.c,
20616 support/regression/tests/longlong.c:
20617 Implement unused long long return values.
20619 2014-11-09 Philipp Klaus Krause <pkk AT spth.de>
20621 * src/z80/ralloc2.cc:
20622 Fix a long long register allcoation issue.
20623 * support/regression/tests/gcc-torture-execute-950511-1.c:
20624 Disable test that fails on 32-bit hosts.
20626 2014-11-08 Philipp Klaus Krause <pkk AT spth.de>
20628 * support/regression/tests/longlong.c,
20629 support/regression/tests/gcc-torture-execute-950512-1.c:
20630 Disabled test, since it fails on 32-bit hosts.
20632 2014-11-07 Philipp Klaus Krause <pkk AT spth.de>
20634 * device/lib/_modslonglong.c,
20635 device/lib/_modulonglong.c,
20636 device/lib/Makefile.in,
20637 device/lib/*/Makefile.in,
20639 Implement % for long long and unsigned long long.
20641 More sensible error behaviour when building documentation.
20644 Only warn about long long constants for large values.
20645 * device/lib/_mullonglong.c:
20646 Fix long long multiplication.
20647 * support/regression/tests/*.c:
20648 Enable some long long regression test that pass now.
20650 2014-11-06 Philipp Klaus Krause <pkk AT spth.de>
20653 More efficient assignment of literals to 16-bit globals and statics.
20655 2014-11-06 Philipp Klaus Krause <pkk AT spth.de>
20658 support/regression/tests/bug-2306.c:
20661 2014-11-06 Philipp Klaus Krause <pkk AT spth.de>
20664 support/regression/tests/bug-2304.c:
20666 * src/z80/ralloc.c,
20667 support/regression/tests/bug-2305.c:
20670 2014-10-29 Philipp Klaus Krause <pkk AT spth.de>
20672 * support/regression/tests/bug-2254.c:
20673 Regression test for bug #2254.
20675 2014-10-22 Philipp Klaus Krause <pkk AT spth.de>
20678 Spelling fix inspired by Debian patch 02_fix_spelling.
20680 2014-10-22 Ben Shi <powerstudio1st AT 163.com>
20682 * device/lib/stm8/Makefile.in:
20683 * device/stm8/_modslong.s:
20684 * device/stm8/_divslong.s:
20685 Optimized mod & div of signed long.
20687 2014-10-17 Ben Shi <powerstudio1st AT 163.com>
20689 * device/lib/stm8/Makefile.in:
20690 * device/stm8/_modulong.s:
20691 * device/stm8/_divulong.s:
20692 Optimized according to their c origination.
20694 2014-10-14 Philipp Klaus Krause <pkk AT spth.de>
20697 Improve error messages for unimplemented unused return value.
20699 2014-10-14 Ben Shi <powerstudio1st AT 163.com>
20701 * device/stm8/_modsint.s:
20702 * device/stm8/_mullong.s:
20703 Optimized with more efficient instructions.
20704 * device/stm8/_mulint.s:
20705 Reformat to more readable.
20707 2014-10-13 Philipp Klaus Krause <pkk AT spth.de>
20709 * device/stm8/_divsint.s:
20710 Optimized signed division.
20712 2014-10-11 Ben Shi <powerstudio1st AT 163.com>
20715 Delete temporary code stm_sub_func().
20716 * device/stm8/_modsint_stm8.s:
20717 * device/stm8/_mulint_stm8.s:
20718 * device/stm8/_divsint_stm8.s:
20719 * device/stm8/_mullong_stm8.s:
20721 * device/stm8/_modsint.s:
20722 * device/stm8/_mulint.s:
20723 * device/stm8/_divsint.s:
20724 * device/stm8/_mullong.s:
20726 * device/stm8/Makefile.in:
20727 Use the above new added .s files.
20729 2014-10-09 Ben Shi <powerstudio1st AT 163.com>
20732 Add stm_sub_func() for future more stm8 optimized functions.
20733 * src/stm8/peeph.def:
20734 Remove redundant rules.
20736 2014-10-03 Molnar Karoly <molnarkaroly AT users.sf.net>
20738 * support/scripts/cinc2h.pl: Updated to the gputils-1.4.0 .
20740 2014-09-29 Ben Shi <powerstudio1st AT 163.com>
20742 * device/lib/stm8/_mullong_stm8.s:
20743 * device/lib/stm8/Makefile.in:
20744 stm8 optimized version of _mullong.
20745 * src/stm8/peeph.def:
20746 add new rules to utilize the above optimized functions.
20748 2014-09-25 Philipp Klaus Krause <pkk AT spth.de>
20750 * src/z80/peeph-gbz80.def:
20751 Removed or simplification peepholes.
20753 2014-09-24 Philipp Klaus Krause <pkk AT spth.de>
20756 Remove negation by inverting jump condition.
20758 Remove cast at conditional jump.
20759 * device/include/ctype.h:
20760 Simplify classification functions.
20762 2014-09-24 Maarten Brock <sourceforge.brock AT dse.nl>
20764 * src/SDCCsymt.c (mergeSpec): added check for both static and extern
20765 (checkFunction): merge static or extern and check
20766 * device/include/ctype.h: replaced macros with direct inline versions
20767 * device/lib/isdigit.c,
20768 * device/lib/islower.c,
20769 * device/lib/isupper.c: replaced definitions with extern declaration to give
20770 inline versions external linkage
20772 2014-09-22 Ben Shi <powerstudio1st AT 163.com>
20774 * device/lib/stm8/_modsint_stm8.s:
20775 * device/lib/stm8/Makefile.in:
20776 stm8 optimized version of _modsint.
20777 * src/stm8/peeph.def:
20778 add new rules to utilize the above optimized functions.
20780 2014-09-19 Ben Shi <powerstudio1st AT 163.com>
20782 * device/lib/stm8/_divsint_stm8.s:
20783 * device/lib/stm8/_mulint_stm8.s:
20784 * device/lib/stm8/Makefile.in:
20785 stm8 optimized version of div / mul.
20786 * src/stm8/peeph.def:
20787 add new rules to utilize the above optimized functions.
20789 2014-09-19 Philipp Klaus Krause <pkk AT spth.de>
20792 Fixed double read from __sfr function parameter.
20794 2014-09-17 Molnar Karoly <molnarkaroly AT users.sf.net>
20796 * support/scripts/pic14-header-parser.pl:
20797 Creates two new groups: "regular", "enhanced"
20799 * support/scripts/pic16fam-h-gen.pl:
20800 Divides into more groups the 14-bit processors:
20801 "adc", "ccp", "pwm", "i2c", "spi", "usart"
20803 2014-09-17 Molnar Karoly <molnarkaroly AT users.sf.net>
20805 * support/scripts/pic14-header-parser.pl,
20806 support/scripts/pic16-header-parser.pl:
20809 2014-09-15 Molnar Karoly <molnarkaroly AT users.sf.net>
20811 * device/non-free/include/pic14/*.inc,
20812 device/non-free/lib/pic14/libdev/*.c:
20815 2014-09-13 Ben Shi <powerstudio1st AT 163.com>
20818 Make libstm8.lib is implicitly linked rather than explicitly designated.
20820 2014-09-04 Molnar Karoly <molnarkaroly AT users.sf.net>
20822 * support/scripts/mcs51-disasm.pl,
20823 support/scripts/optimize_pic16devices.pl:
20824 Updated unto the Perl 5.16 version.
20826 2014-09-04 Molnar Karoly <molnarkaroly AT users.sf.net>
20828 * support/scripts/cinc2h.pl:
20829 Updated unto the Perl 5.16 version.
20831 2014-09-03 Ben Shi <powerstudio1st AT 163.com>
20833 * sdas/asstm8/stm8mch.c:
20834 Fix the wrong code of the bit index in BTJF / BTJF.
20836 2014-09-01 Molnar Karoly <molnarkaroly AT users.sf.net>
20838 * device/include/pic14/pic14devices.txt: Minor bugfix.
20840 2014-08-30 Ben Shi <powerstudio1st AT 163.com>
20842 * support/regression/tests/gcc-torture-execute-pr28982a.c:
20843 * support/regression/tests/bug3475630.c:
20844 Enabled on the stm8 port.
20846 2014-08-29 Ben Shi <powerstudio1st AT 163.com>
20848 * support/regression/tests/gcc-torture-execute-pr47337.c:
20849 Enable this test case on the stm8 port.
20851 2014-08-20 Ben Shi <powerstudio1st AT 163.com>
20853 * device/lib/stm8/setjmp.s:
20854 Substitute _CODE to CODE to conform with stm8's code generator.
20855 * sdas/linksrc/lkmain.c:
20856 Revert to reversion 9059.
20858 2014-08-18 Ben Shi <powerstudio1st AT 163.com>
20860 * support/regression/tests/setjmp.c:
20861 Enabled for the stm8 port.
20862 * sdas/linksrc/lkmain.c:
20863 Avoid generating invalid instructions on MacOS.
20865 2014-08-17 Ben Shi <powerstudio1st AT 163.com>
20867 * support/regression/setjmp.c:
20868 Disabled for the stm8 port.
20870 2014-08-16 Ben Shi <powerstudio1st AT 163.com>
20873 * support/scripts/sdcc.nsi:
20874 Create a new sdldstm8 on Windows.
20875 * sdas/linksrc/Makefile.in:
20877 Create a spereated sdldstm8 on Unix like.
20879 * sdas/linksrc/sdld.c:
20880 * sdas/linksrc/sdld.h:
20881 Let the stm8 port use sdldstm8 instead of sdld.
20883 2014-08-12 Ben Shi <powerstudio1st AT 163.com>
20885 * sdcc/support/regression/tests/bug-2205.c:
20886 * sdcc/support/regression/tests/bug-971834.c:
20887 * sdcc/support/regression/tests/key.c:
20888 Make Small changes to fit LLVM/CLANG for host test.
20890 2014-08-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20892 * src/hc08/gen.c (pushSide, genPcall): fixed bug with pointer
20893 function call overwriting register parameter with function
20894 address. Optimized constant function pointer case.
20896 2014-08-06 Ben Shi <powerstudio1st AT 163.com>
20898 * sdas/linksrc/lkaomf51.c:
20899 Add array bound check to avoid crash.
20901 2014-07-30 Ben Shi <powerstudio1st AT 163.com>
20903 * sim/ucsim/st7.src/inst.cc:
20904 Eliminate warnings.
20905 * support/regression/tests/gcc-torture-execute-930628-1.c:
20906 Enable this case for the stm8 port.
20908 2014-07-29 Ben Shi <powerstudio1st AT 163.com>
20910 * support/regression/tests/gcc-torture-execute-20030714-1.c:
20911 Enable this case for the stm8 port.
20913 Fix bug #2285: an error in genCast().
20915 2014-07-22 Molnar Karoly <molnarkaroly AT users.sf.net>
20917 * support/scripts/optimize_pic16devices.pl,
20918 device/include/pic16/pic16devices.txt:
20919 Stronger optimization.
20921 2014-07-21 Ben Shi <powerstudio1st AT 163.com>
20923 * support/regression/tests/gcc-torture-execute-stdarg-4.c:
20924 * support/regression/tests/gcc-torture-execute-stdarg-5.c:
20925 Split the original gcc-torture-execute-stdarg-4.c to inline / non-inline.
20927 2014-07-20 Ben Shi <powerstudio1st AT 163.com>
20929 * support/regression/tests/gcc-torture-execute-stdarg-4.c:
20930 * support/regression/tests/gcc-torture-execute-loop-2c.c:
20931 * support/regression/tests/gcc-torture-execute-unroll-1.c:
20932 Add "static" to fit the C99 standard.
20934 2014-07-19 Ben Shi <powerstudio1st AT 163.com>
20936 * support/regression/tests/gcc-torture-execute-20001121-1.c:
20937 Add "static" to fit the C99 standard.
20939 2014-07-15 Ben Shi <powerstudio1st AT 163.com>
20942 Make calculation of instructions' length more accurate.
20944 2014-07-14 Molnar Karoly <molnarkaroly AT users.sf.net>
20946 * device/non-free/include/pic14/pic16f1yyy.h:
20947 Added the missing DEBUG config option to the enhanced midrange MCUs.
20949 2014-07-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20951 * support/regression/tests/bug2084206.c:
20952 Enable test, since #2198 is fixed.
20953 * support/regression/tests/gcc-torture-execute-20030714-1.c:
20954 Reference bug #2285.
20956 2014-07-12 Molnar Karoly <molnarkaroly AT users.sf.net>
20958 * support/scripts/cinc2h.pl: Bugfix and update.
20960 * device/non-free/include/pic14/pic16c433.h: bugfix
20962 2014-07-12 Molnar Karoly <molnarkaroly AT users.sf.net>
20964 * device/include/pic14/pic14devices.txt,
20965 device/include/pic14/pic16regs.h,
20966 device/non-free/include/pic14/pic12lf1554.h,
20967 device/non-free/include/pic14/pic12lf1559.h,
20968 device/non-free/lib/pic14/libdev/devices.txt,
20969 device/non-free/lib/pic14/libdev/pic12lf1554.c,
20970 device/non-free/lib/pic14/libdev/pic12lf1559.c,
20974 2014-07-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
20977 Remove workarounds for bug #2198.
20979 2014-07-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
20981 * sdas/linksrc/lkrloc3.c (adb_hi, adb_lo, relr3),
20982 sdas/asxxsrc/asout.c (outrxb): back port some of ASxxxx 5.06 to
20985 2014-07-08 Molnar Karoly <molnarkaroly AT users.sf.net>
20987 * device/non-free/include/pic14/pic1xxx.h,
20988 device/non-free/lib/pic14/libdev/pic1xxx.c,
20989 device/non-free/include/pic16/pic18fxxx.h,
20990 device/non-free/lib/pic16/libdev/pic18fxxx.c:
20993 * device/non-free/include/pic14/pic12f1571.h,
20994 device/non-free/include/pic14/pic12f1572.h,
20995 device/non-free/include/pic14/pic12f1612.h:
20996 Added the missing _DEBUG_ON and _DEBUG_OFF config options.
20997 (These Microchip bugs in original mpasmx includes.)
20999 2014-07-07 Ben Shi <powerstudio1st AT 163.com>
21001 * sim/ucsim/stm8.src/inst.cc:
21002 Unify all flag affection code to flag_cvh().
21004 2014-07-06 Ben Shi <powerstudio1st AT 163.com>
21006 * sim/ucsim/stm8.src/inst.cc:
21007 Merge inst_sub() to inst_sbc().
21009 2014-07-03 Ben Shi <powerstudio1st AT 163.com>
21011 * sim/ucsim/stm8.src/inst.cc:
21012 Fix potential bugs in inst_dec(), inst_inc() & inst_ldxy(): flags
21014 Make inst_addw(), inst_clr() & inst_ldxydst() more understandable.
21015 * sim/ucsim/stm8.src/stm8.cc:
21016 Fix potential bugs in CALLR & CALLF: the stack saved PC value is not
21019 2014-06-30 Ben Shi <powerstudio1st AT 163.com>
21021 * sim/ucsim/stm8.src/inst.cc:
21022 Fix potential bugs in inst_adc() & inst_add() - flags affection.
21023 Fix potential bugs in inst_sll() & inst_rlc() - reg.X & reg.Y might exceed
21025 * sim/ucsim/stm8.src/stm8.cc:
21026 Improve code quality.
21028 2014-06-25 Ben Shi <powerstudio1st AT 163.com>
21030 * sim/ucsim/stm8.src/inst.cc:
21031 Fix potential bugs of flags affection in inst_sbc() and inst_cpw().
21032 * sim/ucsim/stm8.src/stm8.cc:
21033 Fix potential bugs of flags affection in RLWA, and improve code quality of
21036 2014-06-21 Ben Shi <powerstudio1st AT 163.com>
21038 * sim/ucsim/stm8.src/inst.cc:
21039 Fix potential bugs of flags affection in inst_addw(), inst_sub() and
21041 * sim/ucsim/stm8.src/stm8.cc:
21042 Fix potential bugs of flags affection in simulation of RRWA.
21044 2014-06-20 Ben Shi <powerstudio1st AT 163.com>
21046 * sim/ucsim/stm8.src/inst.cc:
21047 Fix potential bugs of flags affection in inst_addw().
21049 2014-06-17 Ben Shi <powerstudio1st AT 163.com>
21051 * sim/ucsim/stm8.src/inst.cc:
21052 Make the comment more understandable, fix potential bugs in inst_jr().
21053 (JRSGT / JRSLE / JRSGE / JRSLT)
21055 2014-06-10 Ben Shi <powerstudio1st AT 163.com>
21057 * sim/ucsim/stm8.src/inst.cc:
21058 Add indirect addressing handling in CLR, CPW & LD.
21059 Fix potential bugs in get_dest().
21061 2014-06-03 Philipp Klaus Krause <pkk AT spth.de>
21063 * sim/ucsim/stm8.src/inst.cc,
21064 support/regression/tests/gcc-torture-execute-20021120-1.c:
21065 Fix bug #2180 by applying patch #244 by Ben Shi.
21067 2014-06-02 Philipp Klaus Krause <pkk AT spth.de>
21069 * device/lib/Makefile.in:
21070 Fix non-standard end-of-line matching (makes device libraries compile on
21073 2014-05-28 Philipp Klaus Krause <pkk AT spth.de>
21076 Fix a bug in code generation for right shift by applying patch #243 by Ben
21079 2014-05-25 Philipp Klaus Krause <pkk AT spth.de>
21081 * src/stm8/ralloc2.cc:
21082 Fix complement bug #2275.
21084 2014-05-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21086 * sim/ucsim/stm8.src/stm8.cc:
21087 Fix flag handling, patch by Ben Shi.
21089 Enable some shift optimizations that need the flag handling fix.
21091 2014-05-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21093 * src/stm8/ralloc2.cc:
21094 Fix detection of free regs for stm8.
21096 Enable optimizations for bitwise and.
21098 2014-05-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21101 More aggressive optimization of casts to bool following logic operations.
21103 2014-05-04 Maarten Brock <sourceforge.brock AT dse.nl>
21105 * src/mcs51/gen.c (saveRegisters, unsaveRegisters): fixed bug 1928,
21106 (genXpush): small optimization
21107 * src/mcs51/peep.c (termScanAtFunc): fixed return value,
21108 (scan4op: ret): fixed callee_saves
21109 * src/stm8/gen.c: MSVC is not C99 compliant
21110 * support/regression/tests/callee_saves.c: new, added
21112 2014-04-30 Philipp Klaus Krause <pkk AT spth.de>
21115 More efficient float negation.
21117 2014-04-30 Philipp Klaus Krause <pkk AT spth.de>
21119 * src/stm8/ralloc2.cc,
21121 More flexible register allocation of operands, fixed bug in intra-register
21124 2014-04-27 Philipp Klaus Krause <pkk AT spth.de>
21127 Improve loading of literals to long globals.
21129 2014-04-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21132 Fix overoptimistic stack coalescing estimate, clamp shifts.
21134 2014-04-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21137 Improve arithmetic right shift.
21139 2014-04-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21142 Various small fixes and improvements.
21143 * src/stm8/ralloc.c
21144 Prepare for register packing for assignment.
21146 2014-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
21148 * support/scripts/z80-disasm.pl: Disassembler for the z80 family.
21150 2014-04-21 Philipp Klaus Krause <pkk AT spth.de>
21153 Improve left shift by literal, preparations for patch #234.
21154 * device/lib/_mulint.c:
21155 Speed up integer multiplication by using casts.
21157 2014-04-21 Philipp Klaus Krause <pkk AT spth.de>
21160 More efficient clearing of high bytes of x and y, more efficient right
21163 Better immdInRange, patch by Ben Shi.
21164 * src/stm8/peeph.def:
21165 Peepholes to optimize stack adjustment.
21167 2014-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
21169 * support/scripts/pic16fam-h-gen.pl: updated
21171 2014-04-20 Philipp Klaus Krause <pkk AT spth.de>
21174 src/stm8/ralloc2.cc:
21175 Improve bitwise and, improve choice of shift location.
21177 2014-04-20 Molnar Karoly <molnarkaroly AT users.sf.net>
21179 * device/non-free/include/pic14/pic16fam.h:
21180 Updated and moved here: device/include/pic14/pic16fam.h
21182 2014-04-20 Philipp Klaus Krause <pkk AT spth.de>
21185 src/stm8/peeph.def:
21186 Applied a variant of patch #237 by Ben Shi, implementing RFE #400.
21188 Use mov for POINTER_SET where it makes sense.
21190 2014-04-16 Molnar Karoly <molnarkaroly AT users.sf.net>
21192 * support/scripts/cinc2h.pl,
21193 support/scripts/mcs51-disasm.pl,
21194 support/scripts/optimize_pic16devices.pl,
21195 support/scripts/pic14-header-parser.pl,
21196 support/scripts/pic16-header-parser.pl:
21197 Updated the copyright date.
21199 2014-04-16 Molnar Karoly <molnarkaroly AT users.sf.net>
21201 * device/include/pic14/pic14devices.txt,
21202 device/include/pic14/pic16regs.h,
21203 device/non-free/include/pic14/pic12f1571.h,
21204 device/non-free/include/pic14/pic12f1572.h,
21205 device/non-free/include/pic14/pic12f1612.h,
21206 device/non-free/include/pic14/pic16f1613.h,
21207 device/non-free/include/pic14/pic16f1703.h,
21208 device/non-free/include/pic14/pic16f1705.h,
21209 device/non-free/include/pic14/pic16f1707.h,
21210 device/non-free/include/pic14/pic16f1709.h,
21211 device/non-free/include/pic14/pic16f1713.h,
21212 device/non-free/include/pic14/pic16f1716.h,
21213 device/non-free/include/pic14/pic16f1717.h,
21214 device/non-free/include/pic14/pic16f1718.h,
21215 device/non-free/include/pic14/pic16f1719.h,
21216 device/non-free/lib/pic14/libdev/devices.txt,
21217 device/non-free/lib/pic14/libdev/pic12f1571.c,
21218 device/non-free/lib/pic14/libdev/pic12f1572.c,
21219 device/non-free/lib/pic14/libdev/pic12f1612.c,
21220 device/non-free/lib/pic14/libdev/pic16f1613.c,
21221 device/non-free/lib/pic14/libdev/pic16f1703.c,
21222 device/non-free/lib/pic14/libdev/pic16f1705.c,
21223 device/non-free/lib/pic14/libdev/pic16f1707.c,
21224 device/non-free/lib/pic14/libdev/pic16f1709.c,
21225 device/non-free/lib/pic14/libdev/pic16f1713.c,
21226 device/non-free/lib/pic14/libdev/pic16f1716.c,
21227 device/non-free/lib/pic14/libdev/pic16f1717.c,
21228 device/non-free/lib/pic14/libdev/pic16f1718.c,
21229 device/non-free/lib/pic14/libdev/pic16f1719.c,
21233 2014-04-13 Philipp Klaus Krause <pkk AT spth.de>
21236 Fix for 32-bit host systems (bug #2267).
21238 2014-04-12 Philipp Klaus Krause <pkk AT spth.de>
21240 * device/lib/*/Makefile.in,
21243 Do not mangle support function names. Implements RFE #405.
21245 More efficient comparisons, a modified version of patch #232 by Ben Shi.
21246 * sdas/asstm8/stm8mch.c:
21247 Fix bit handling instructions, patch #239 by Pascal S.
21249 2014-04-11 Maarten Brock <sourceforge.brock AT dse.nl>
21251 * Small Device C Compiler 3.4.0 released
21252 * .version, doc/sdccman.lyx: changed sdcc version to 3.4.1
21254 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21256 * device/lib/pic16/debug/Makefile.in: regenerated
21258 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21260 * Makefile.common.in,
21261 * Makefile.in: manual edit
21263 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21266 * debugger/mcs51/aclocal.m4
21267 * debugger/mcs51/configure
21268 * device/lib/pic14/aclocal.m4
21269 * device/lib/pic14/configure
21270 * device/lib/pic14/depcomp
21271 * device/lib/pic14/libm/Makefile.in
21272 * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in
21273 * device/lib/pic14/libsdcc/enhanced/Makefile.in
21274 * device/lib/pic14/libsdcc/regular/Makefile.in
21275 * device/lib/pic14/Makefile.in
21276 * device/lib/pic16/aclocal.m4
21277 * device/lib/pic16/configure
21278 * device/lib/pic16/depcomp
21279 * device/lib/pic16/install-sh
21280 * device/lib/pic16/libc/Makefile.in
21281 * device/lib/pic16/libio/Makefile.in
21282 * device/lib/pic16/libm/Makefile.in
21283 * device/lib/pic16/libsdcc/Makefile.in
21284 * device/lib/pic16/Makefile.in
21285 * device/lib/pic16/missing
21286 * device/lib/pic16/startup/Makefile.in
21287 * device/non-free/lib/pic14/configure
21288 * device/non-free/lib/pic16/aclocal.m4
21289 * device/non-free/lib/pic16/configure
21290 * device/non-free/lib/pic16/depcomp
21291 * device/non-free/lib/pic16/install-sh
21292 * device/non-free/lib/pic16/libdev/Makefile.in
21293 * device/non-free/lib/pic16/Makefile.in
21294 * device/non-free/lib/pic16/missing
21296 * sim/ucsim/aclocal.m4
21297 * sim/ucsim/configure
21298 * sim/ucsim/ltmain.sh
21299 * support/cpp/configure
21300 * support/packihx/configure: regenerated
21302 2014-04-02 Maarten Brock <sourceforge.brock AT dse.nl>
21305 * Makefile.in: manual edit to support option --disable-non-free
21307 2014-04-01 Maarten Brock <sourceforge.brock AT dse.nl>
21310 * support/scripts/sdcc.nsi: added dedication to Borut Razem
21311 * doc/README.txt: added STM8 target support
21313 2014-03-31 Philipp Klaus Krause <pkk AT spth.de>
21315 * Merged sdcc-stm8 branch into trunk.
21317 2014-03-29 Philipp Klaus Krause <pkk AT spth.de>
21319 * src/stm8/peeph.def:
21320 Patch #233 by Pascal S, and further peepholes for improving io access.
21322 2014-03-29 Philipp Klaus Krause <pkk AT spth.de>
21325 support/regression/tests/patch-235.c:
21326 Fix a bug in long and long long right shift on stm8.
21328 2014-03-28 Philipp Klaus Krause <pkk AT spth.de>
21331 Improve ifx code generation.
21333 2014-03-28 Philipp Klaus Krause <pkk AT spth.de>
21335 * src/stm8/gen.c: Comment for range error check in aopIsLitVal(),
21336 improve range checks in snprintf() calls,
21337 prepare for refactored version of patch #232.
21339 2014-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
21343 * doc/sdccman.lyx: version 3.4.0
21345 2014-03-21 Philipp Klaus Krause <pkk AT spth.de>
21347 * src/stm8/gen.c: Applied patch #227 by Ben Shi to fix jumping on float in y
21348 and to speed up jumping on byte in yl.
21349 * device/lib/z80/setjmp.s:
21350 Slightly more efficient longjmp().
21351 * device/lib/stm8/setjmp.s,
21352 support/regression/tests/setjmp.c:
21353 Implement setjmp() / longjmp() for stm8.
21354 * src/z80/ralloc2.cc: Allow use of hl in 16-bit additions with global
21355 variables as long as de or bc is free.
21357 2014-03-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21360 Fix example in documentation on named address spaces in ROM.
21362 2014-03-09 Molnar Karoly <molnarkaroly AT users.sf.net>
21364 * device/non-free/include/pic14/pic*.h,
21365 device/non-free/include/pic16/pic18f*.h,
21366 device/non-free/lib/pic14/libdev/pic*.c,
21367 device/non-free/lib/pic16/libdev/pic18f*.c:
21368 Regenerate the DEVICE.[ch] files with the cinc2h.pl program.
21370 2014-03-03 Maarten Brock <sourceforge.brock AT dse.nl>
21372 * src/SDCCpeeph.c (notVolatileVariable): fixed strchr params
21374 2014-03-01 Maarten Brock <sourceforge.brock AT dse.nl>
21376 * src/stm8/gen.c: retry to revert previous two changes
21378 2014-02-28 Maarten Brock <sourceforge.brock AT dse.nl>
21380 * src/stm8/gen.c: reverted previous two changes (not committed)
21383 * doc/sdccman.lyx: version 3.4.0 rc1
21384 * sdcc.spec: version 3.4.0
21386 2014-02-27 Philipp Klaus Krause <pkk AT spth.de>
21389 Simplify and improve ifx code generation.
21391 2014-02-27 Philipp Klaus Krause <pkk AT spth.de>
21393 * src/stm8/gen.c: Applied patch #227 by Ben Shi to fix jumping on float in y
21394 and to speed up jumping on byte in yl.
21396 2014-02-23 Philipp Klaus Krause <pkk AT spth.de>
21398 * src/stm8/gen.c: Applied patch #223 by Ben Shi to improve code size for
21399 signed bit-fields on stm8.
21401 Applied patch #225 by Pascal S to enable naked functions for stm8.
21403 2014-02-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21405 * src/stm8/peeph.def: Applied patch #222 by Ben Shi (new peephole to make
21406 shifts slightly more efficient).
21408 Applied patch #221 by Ben Shi (fix some bugs in shifts).
21410 2014-02-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21412 * src/SDCCicode.c (geniCodeDivision): Fixed bug 2254
21414 2014-02-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21417 Fix condition for shifting stack operands in a.
21419 2014-02-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21422 Handle signed and unsigned 8-bit operands the same in destructive ifx and.
21424 2014-02-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21426 * support/regression/tests/bug-2253.c: reduce array size for
21427 ports that do not support large local variables
21429 2014-02-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21432 support/regression/tests/bug-2253.c:
21433 Fix and improve division and multiplication, includes fix for #2253.
21435 2014-02-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21438 support/regression/tests/bug-2252.c:
21441 Fix notVolatile() for stm8.
21442 * src/stm8/peeph.def:
21443 Add some peephole rules to eliminate unnecessary loads.
21445 2014-02-09 Philipp Klaus Krause <pkk AT spth.de>
21448 Slightly more efficient complement.
21450 2014-02-08 Philipp Klaus Krause <pkk AT spth.de>
21452 * src/stm8/gen.c: Fix jump on condition that is stored in register y in
21453 reverse order (bug #2251).
21455 2014-02-02 Philipp Klaus Krause <pkk AT spth.de>
21457 * sdas/asstm8/stm8mch.c,
21459 Apply patch #215 by Ben Shi to fix bug #2227.
21461 sdas/asxxsrc/asmain.c:
21462 Fix >= comparisons.
21464 2014-01-12 Philipp Klaus Krause <pkk AT spth.de>
21466 * sdas/asstm8/stm8pst.c,
21468 Enable .optsdcc for stm8.
21470 2014-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
21472 * src/SDCCast.c (ast_print): fixed GOTO, warn for undecorated
21474 2014-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
21476 * device/lib/_gptrget.c,
21477 * device/lib/_gptrput.c,
21478 * src/ds390/main.c,
21479 * src/ds390/gen.c: renamed _ap to acc1, fixed bug 1896
21480 * support/regression/tests/gcc-torture-execute-loop-5.c: enabled for ds390
21481 * sdas/asxxsrc/aslex.c (nxtline): fixed bug 2166 and 2206
21482 * src/SDCClospre.hpp,
21483 * src/SDCCralloc.hpp: fixed MSVC warnings
21485 2014-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
21487 * doc/sdccman.lyx: applied patch 62
21488 * sdas/linksrc/lkarea.c (lnksect): fixed bug 1805
21489 * sdas/linksrc/lkmain.c (Areas51): use only for mcs51
21490 * src/hc08/main.c: mark XINIT as (CODE)
21492 2013-12-30 Philipp Klaus Krause <pkk AT spth.de>
21494 * src/hc08/ralloc2.cc,
21496 src/stm8/ralloc2.cc:
21497 Remove some GETHBIT leftovers.
21499 2013-12-30 Maarten Brock <sourceforge.brock AT dse.nl>
21501 * src/mcs51/gen.c (genGetHbit): removed
21502 * src/mcs51/main.c (hasExtBitOp): removed GETHBIT
21503 * src/SDCCast.c (optimizeGetByte, optimizeGetWord): do not use GETYBTE or
21504 GETWORD for byte or word sources
21505 (createFunction): allow xstack==NULL
21506 * src/SDCCmem.c (redoStackOffsets): allow xstack==NULL
21507 * src/SDCCerr.c (W_CONST_TOO_LARGE): fixed format bug
21508 * src/SDCCerr.h: cosmetics
21509 * src/SDCCsymt.c (mergeSpec, checkSClass): fixed bug 2068, loss of register
21512 2013-12-29 Philipp Klaus Krause <pkk AT spth.de>
21515 Revert and redo commit #8912.
21517 2013-12-27 Maarten Brock <sourceforge.brock AT dse.nl>
21519 * src/SDCCglue.c (glue): added .optsdcc --all-callee-saves, fixed bug 2090
21520 * src/SDCCmain.c (preProcess): added -D__SDCC_ALL_CALLEE_SAVES
21521 * src/SDCCglobl.h: removed xa51 MODEL_PAGE0
21522 * doc/sdccman.lyx: documented predefined macro
21524 2013-12-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21526 * support/scripts/sdcc.nsi: copy either sjlj or seh support dll
21528 2013-12-25 Maarten Brock <sourceforge.brock AT dse.nl>
21530 * device/lib/abs.c, device/lib/acosf.c, device/lib/asincosf.c,
21531 * device/lib/asinf.c, device/lib/atan2f.c, device/lib/atanf.c,
21532 * device/lib/ceilf.c, device/lib/cosf.c, device/lib/coshf.c,
21533 * device/lib/cotf.c, device/lib/expf.c, device/lib/fabsf.c,
21534 * device/lib/floorf.c, device/lib/frexpf.c, device/lib/labs.c,
21535 * device/lib/ldexpf.c, device/lib/log10f.c, device/lib/logf.c,
21536 * device/lib/modff.c, device/lib/powf.c, device/lib/rand.c,
21537 * device/lib/sincosf.c, device/lib/sincoshf.c, device/lib/sinf.c,
21538 * device/lib/sinhf.c, device/lib/sqrtf.c, device/lib/tancotf.c,
21539 * device/lib/tanf.c, device/lib/tanhf.c,
21540 * device/include/math.h: removed const from arguments
21542 * device/lib/pic14/libm/acosf.c, device/lib/pic14/libm/asincosf.c,
21543 * device/lib/pic14/libm/asinf.c, device/lib/pic14/libm/atan2f.c,
21544 * device/lib/pic14/libm/atanf.c, device/lib/pic14/libm/ceilf.c,
21545 * device/lib/pic14/libm/cosf.c, device/lib/pic14/libm/coshf.c,
21546 * device/lib/pic14/libm/cotf.c, device/lib/pic14/libm/errno.c,
21547 * device/lib/pic14/libm/expf.c, device/lib/pic14/libm/fabsf.c,
21548 * device/lib/pic14/libm/floorf.c, device/lib/pic14/libm/frexpf.c,
21549 * device/lib/pic14/libm/ldexpf.c, device/lib/pic14/libm/log10f.c,
21550 * device/lib/pic14/libm/logf.c, device/lib/pic14/libm/modff.c,
21551 * device/lib/pic14/libm/powf.c, device/lib/pic14/libm/sincosf.c,
21552 * device/lib/pic14/libm/sincoshf.c, device/lib/pic14/libm/sinf.c,
21553 * device/lib/pic14/libm/sinhf.c, device/lib/pic14/libm/sqrtf.c,
21554 * device/lib/pic14/libm/tancotf.c, device/lib/pic14/libm/tanf.c,
21555 * device/lib/pic14/libm/tanhf.c,
21556 * device/include/pic14/math.h: removed const from arguments
21558 * device/lib/pic16/libm/acosf.c, device/lib/pic16/libm/asincosf.c,
21559 * device/lib/pic16/libm/asinf.c, device/lib/pic16/libm/atan2f.c,
21560 * device/lib/pic16/libm/atanf.c, device/lib/pic16/libm/ceilf.c,
21561 * device/lib/pic16/libm/cosf.c, device/lib/pic16/libm/coshf.c,
21562 * device/lib/pic16/libm/cotf.c, device/lib/pic16/libm/errno.c,
21563 * device/lib/pic16/libm/expf.c, device/lib/pic16/libm/fabsf.c,
21564 * device/lib/pic16/libm/floorf.c, device/lib/pic16/libm/frexpf.c,
21565 * device/lib/pic16/libm/ldexpf.c, device/lib/pic16/libm/log10f.c,
21566 * device/lib/pic16/libm/logf.c, device/lib/pic16/libm/modff.c,
21567 * device/lib/pic16/libm/powf.c, device/lib/pic16/libm/sincosf.c,
21568 * device/lib/pic16/libm/sincoshf.c, device/lib/pic16/libm/sinf.c,
21569 * device/lib/pic16/libm/sinhf.c, device/lib/pic16/libm/sqrtf.c,
21570 * device/lib/pic16/libm/tancotf.c, device/lib/pic16/libm/tanf.c,
21571 * device/lib/pic16/libm/tanhf.c,
21572 * device/include/pic16/math.h: removed const from arguments
21574 * device/lib/_memchr.c, device/lib/_memcmp.c, device/lib/_memcpy.c,
21575 * device/lib/_memmove.c, device/lib/_memset.c, device/lib/_strcat.c,
21576 * device/lib/_strchr.c, device/lib/_strcmp.c, device/lib/_strcpy.c,
21577 * device/lib/_strcspn.c, device/lib/_strlen.c, device/lib/_strncat.c,
21578 * device/lib/_strncmp.c, device/lib/_strncpy.c, device/lib/_strpbrk.c,
21579 * device/lib/_strrchr.c, device/lib/_strspn.c, device/lib/_strstr.c,
21580 * device/lib/_strtok.c,
21581 * device/include/string.h: added const for const pointer arguments
21583 * device/lib/pic16/libc/string/memchr.c,
21584 * device/lib/pic16/libc/string/memcmp.c,
21585 * device/lib/pic16/libc/string/memcpy.c,
21586 * device/lib/pic16/libc/string/memmove.c,
21587 * device/include/pic16/string.h: added const for const pointer arguments
21589 * device/lib/_setjmp.c: small optimization
21590 * sdas/linksrc/lkarea.c (lnksect2): fixed s_XISEG calculation
21591 * sdas/linksrc/lkmem.c: cosmetics
21592 * src/SDCCmain.c: place xstack_loc at same address as xdata_loc by default
21593 * src/SDCCsymt.c (printFromToType): print in one go for make -j output,
21594 (compareFuncType): fixed bug 2134
21595 * sdas/astlcs90/t90mch.c (machine, 16bit indirect op): fixed warning
21596 * support/cpp/libiberty/md5.c: synced with support/sdbinutils/libiberty/md5.c
21598 2013-12-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21600 * device/lib/tlcs90/Makefile.in: fix assembler level .include
21601 when not building within source tree
21602 * sim/ucsim/utils.cc: properly enable vasprintf() declaration
21604 2013-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
21606 * src/SDCCval.c (valForStructElem): fixed bug 2122
21608 2013-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
21610 * src/SDCCmain.c (setDefaultOptions): start xdata at 1 by default, fixes bug
21612 * src/SDCCast.c (decorateType, RETURN): error on returning void expression
21613 when not using sdcc extensions
21614 * src/stm8/gen.c (genReturn): accept returning void, fixes bug 2158
21615 * support/regression/tests/gcc-torture-execute-20000314-3.c: reintroduced
21617 2013-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
21619 * src/mcs51/gen.c (aopGet): fixed for remat non-generic pointers,
21620 (genPointerGet, genPointerSet): remat all cast remat pointers
21621 * src/mcs51/ralloc.c (packRegisters): remat all cast of remat ptr
21622 * src/SDCCast.c (decorateType, CAST): fix bug 2133, array==pointer
21623 * src/SDCCmain.c: cosmetics
21624 * src/SDCCsymt.h: reordered DECLARATOR_TYPE
21625 * support/regression/tests/bug-2133.c: new, added
21626 * support/regression/tests/gcc-torture-execute-20021010-2.c,
21627 * support/regression/tests/gcc-torture-execute-20041112-1.c,
21628 * support/regression/tests/gcc-torture-execute-960116-1.c,
21629 * support/regression/tests/staticinit.c: fixed warnings
21631 2013-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
21634 * src/SDCCerr.h: added W_UNRECOGNIZED_ASM
21636 * src/z80/gen.c: cosmetics
21637 * src/SDCCpeeph.c (StrStr): added
21638 (pcDistance): largest instruction on any target is 4 bytes?
21639 * src/z80/peep.c (ISINST): use STRNCASECMP,
21640 (argCont): use StrStr,
21641 (z80instructionSize): use STRNCASECMP, W_UNRECOGNIZED_ASM,
21642 fixed some bugs, return 999 when unrecognized
21643 * support/regression/tests/bug-2222.c: removed memset and un
21644 * support/regression/tests/gcc-torture-execute-20040313-1.c: enabled for all
21645 targets with reduced footprint
21647 2013-12-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21650 Document subw uses that can be enabled once bug #2227 is fixed.
21651 * device/include/ctype.h:
21652 Provide macros that use inline functions to improve efficiency of some
21655 2013-12-18 Philipp Klaus Krause <pkk AT spth.de>
21658 support/regression/tests/float_single.c:
21659 Fix float comparison, bug #2170.
21660 * support/regression/tests/gcc-torture-execute-20050826-1.c:
21661 Use smaller array for stm8.
21663 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21665 * support/regression/tests/gcc-torture-execute-20040313-1.c:
21668 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21670 * device/include/ctype.h,
21671 device/include/stdio.h,
21672 device/lib/incl.mk,
21675 device/lib/tolower.c,
21676 device/lib/toupper.c,
21677 support/regression/tests/ctype.c:
21678 Fix ctype.h and anything in there.
21680 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21682 * device/lib/z80/crt0.s,
21683 device/lib/z180/crt0.s,
21684 device/lib/r3ka/crt0.s,
21685 device/lib/r2k/crt0.s,
21686 device/lib/gbz80/crt0.s:
21689 2013-12-18 Maarten Brock <sourceforge.brock AT dse.nl>
21691 * src/SDCCast.c (stringToSymbol, createIf): fixed bug 2163
21692 * support/regression/tests/gcc-torture-execute-string-opt-5.c: enabled for
21693 mcs51 with smaller buffer
21694 * support/regression/tests/bug-2163.c: new, added
21696 2013-12-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21698 * device/lib/tlcs90/t90regs.s,
21699 device/lib/tlcs90/crt0.s:
21702 2013-12-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21706 * src/SDCCralloc.hpp:
21707 Enable warning for non-connected live ranges for hc08 and s08.
21709 2013-12-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21711 * src/z80/gen.c: Fix cost for built-in strncpy().
21713 2013-12-16 Maarten Brock <sourceforge.brock AT dse.nl>
21715 * src/SDCCglue.c (glue): fixed bug 2212
21716 * src/z80/gen.c (genBuiltInStrncpy): fixed bug 2231
21717 * support/regression/tests/bug-2231.c: new, added
21719 2013-12-15 Maarten Brock <sourceforge.brock AT dse.nl>
21721 * src/SDCCicode.c (newiTempOperand): fixed bug 2235
21722 * support/regression/tests/bug-2235.c: new, added
21723 * src/SDCCptropt.c (ptrPseudoSymSafe): fixed bug 2216
21724 * support/regression/tests/bug-2216.c: new, added
21726 2013-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
21728 * .version, doc/sdccman.lyx: bumped version to 3.3.2
21729 * src/SDCCast.c (decorateType, NOT): fixed bug 2232
21730 * src/SDCCmain.c (printVersionInfo): mention GPL
21731 * support/regression/tests/bool.c: fixed warning
21733 2013-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
21735 * src/mcs51/gen.c (outBitC, genIfx): fixed both parts of bug 2233
21736 * support/regression/tests/bool.c: added test
21738 2013-12-02 Philipp Klaus Krause <pkk AT spth.de>
21740 * src/z80/ralloc2.cc:
21741 Fix handling of IY during accesses to global variables.
21743 2013-11-23 Philipp Klaus Krause <pkk AT spth.de>
21745 * src/SDCClospre.hpp:
21746 Fix use flag initialization in lospre edge splitting.
21748 Add comment on bug #2089 that allocates strings twice.
21750 2013-11-16 Maarten Brock <sourceforge.brock AT dse.nl>
21752 * device/lib/_divulong.c: cosmetic, use y0
21753 * device/lib/_fsadd.c: cosmetic
21754 * device/lib/clean.mk: clean pic14 and tlcs90
21755 * device/lib/ds390/tinibios.c (_sdcc_external_startup): do not change stack
21756 * device/lib/Makefile.in: use TAB's
21757 * device/non-free/lib/clean.mk: clean pic14
21758 * device/non-free/lib/pic14/Makefile.in,
21759 * sdas/as6808/clean.mk,
21760 * sdas/as8051/clean.mk,
21761 * sdas/as8xcxxx/clean.mk,
21762 * sdas/asgb/clean.mk,
21763 * sdas/asrab/clean.mk,
21764 * sdas/asstm8/clean.mk,
21765 * sdas/astlcs90/clean.mk,
21766 * sdas/asz80/clean.mk,
21767 * support/sdbinutils/Makefile.in: prevent warnings
21768 * sim/ucsim/cmd.src/clean.mk: clean cmdpars.* & cmdlex.*
21769 * src/clean.mk: clean pic14 and stm8
21770 * src/common.h: cosmetic
21771 * src/ds390/main.c (_ds390_genAssemblerPreamble): added dpl, dph, acon,
21772 (_ds390_genIVT): change addressing mode and stack at __reset_vect,
21773 (_ds390_genInitStartup): no need for 10bit stack init here
21774 * src/port.h: added rtrackUpdate
21775 * src/SDCCgen.c (emit_raw): try to track constant register contents
21776 * src/ds390/main.c,
21778 * src/pic14/main.c,
21779 * src/pic16/main.c,
21781 * src/z80/main.c (*_port): no register tracking
21782 * src/mcs51/rtrack.h: renamed rtrackUpdate to _mcs51_rtrackUpdate
21783 * src/mcs51/rtrack.c: enabled by default,
21784 implemented suggested removals
21785 * src/mcs51/main.c: use _mcs51_rtrackUpdate
21786 * src/mcs51/gen.c (genSend, genPagedPointerGet): fixed bugs obscured by
21788 (genLeftShiftLiteral): disabled assert to fix bug 2224
21789 * src/z80/z80.vcxproj,
21790 * src/z80/z80.vcxproj.filters: added peeph-tlcs90.def
21791 * support/regression/Makefile.in: clean host/spec.mk
21792 * support/regression/tests/bug-2222.c: enabled test for mcs51
21794 2013-11-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
21796 * support/regression/tests/bug-2222.c:
21797 Do not try to execute code that dereferences 0 pointer.
21799 2013-11-11 Raphael Neider <rneider AT web.de>
21801 * src/pic14/main.c,
21803 src/pic16/device.h,
21805 add warning if --use-non-free is *not* given while compiling
21806 for PIC14 or PIC16 devices; the warning can be disabled by
21807 either passing --use-non-free (usually recommended) or
21808 by passing --no-warn-non-free (usually not recommended)
21810 * device/lib/pic14/Makefile.common,
21811 device/lib/pic16/Makefile.common,
21812 device/non-free/lib/pic14/Makefile.common.in,
21813 device/non-free/lib/pic16/Makefile.common,
21814 support/regression/ports/pic14/spec.mk,
21815 support/regression/ports/pic16/spec.mk:
21816 pass --no-warn-non-free to avoid new warnings
21818 * device/lib/pic14/Makefile.in,
21819 device/lib/pic14/aclocal.m4,
21820 device/lib/pic14/configure,
21821 device/lib/pic14/libm/Makefile.in,
21822 device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
21823 device/lib/pic14/libsdcc/enhanced/Makefile.in,
21824 device/lib/pic14/libsdcc/regular/Makefile.in,
21825 device/lib/pic16/Makefile.in,
21826 device/lib/pic16/aclocal.m4,
21827 device/lib/pic16/configure,
21828 device/lib/pic16/debug/Makefile.in,
21829 device/lib/pic16/libc/Makefile.in,
21830 device/lib/pic16/libio/Makefile.in,
21831 device/lib/pic16/libm/Makefile.in,
21832 device/lib/pic16/libsdcc/Makefile.in,
21833 device/lib/pic16/startup/Makefile.in,
21834 device/non-free/lib/pic16/Makefile.in,
21835 device/non-free/lib/pic16/aclocal.m4,
21836 device/non-free/lib/pic16/configure,
21837 device/non-free/lib/pic16/libdev/Makefile.in:
21840 2013-09-30 Philipp Klaus Krause <pkk AT spth.de>
21842 * device/lib/tlcs90/stubs.s,
21843 device/lib/tlcs90/Makefile.in:
21846 2013-09-29 Philipp Klaus Krause <pkk AT spth.de>
21848 * device/include/asm/tlcs90,
21849 device/include/math.h,
21850 device/include/sdcc-lib.h,
21851 device/include/stdarg.h,
21852 device/lib/tlcs90/Makefile.in,
21853 device/lib/tlcs90/divmixed.s,
21854 device/lib/tlcs90/modmixed.s,
21858 2013-09-28 Philipp Klaus Krause <pkk AT spth.de>
21860 * src/z80/peeph-gbz80.def:
21861 Remove broken peephole rule.
21863 2013-09-27 Philipp Klaus Krause <pkk AT spth.de>
21865 * sdas/astlcs90/t90mch.c:
21866 Fix handling of 8-bit immediates, patch by Rainer Keuchel.
21867 * src/stm8/peeph.def:
21868 More flexible unreachable jump elimination.
21870 device/lib/Makefile.in,
21873 Library for TLCS-90.
21875 Fix comparisons with operand in y, fix offset in wide pointer read when
21876 optimizing for code size, fix and improve stack adjustment.
21877 * src/z80/peeph-tlcs90.def,
21880 Peephole optimization for TLCS-90.
21882 2013-09-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
21884 * src/SDCCicode.c (operandFromSymbol): don't allocate register
21885 equivalents for symbols that can't fit in HC08/S08 registers.
21886 * src/SDCClrange.c (visit): remove TARGET_HC08_LIKE exception.
21888 2013-09-26 Philipp Klaus Krause <pkk AT spth.de>
21892 notUsedFrom() for stm8.
21893 * src/z80/peeph-r2k.def,
21894 src/z80/peeph-z80.def,
21895 support/regression/tests/bug-2228.c:
21897 * sim/ucsim/stm8.src/inst.cc:
21899 * support/regression/tests/bug-2222.c:
21900 Fix use of uninitialized memory.
21902 2013-09-25 Philipp Klaus Krause <pkk AT spth.de>
21905 Improve handling of global variables in addition (and prepare for
21907 * sim/ucsim/stm8.src/inst.cc:
21910 2013-09-24 Maarten Brock <sourceforge.brock AT dse.nl>
21912 * device/include/mcs51/reg51.h: fall back to 8052.h
21913 * doc/sdccman.lyx: pragma exclude bits
21914 * src/mcs51/gen.c (genFunction, genEndFunction): applied patch 193 for
21915 pragma exclude bits
21916 * src/port.h: maxextalign warning fixed
21917 * src/SDCCglobl.h: define true and false for MSVC
21918 * src/stm8/gen.c (genCmp): fixed warning
21919 * src/stm8/ralloc2.cc (Ainst_ok): fixed warning
21921 2013-09-24 Philipp Klaus Krause <pkk AT spth.de>
21923 * src/SDCCralloc.hpp:
21924 Enable warning for non-connected live-ranges.
21926 2013-09-24 Philipp Klaus Krause <pkk AT spth.de>
21930 support/regression/tests/bug-2222.c:
21931 Fix bugs #2222, 2223.
21933 2013-09-24 Philipp Klaus Krause <pkk AT spth.de>
21935 * src/SDCCralloc.hpp,
21937 Check more carefully for undead hiding among the living variables.
21939 2013-09-23 Philipp Klaus Krause <pkk AT spth.de>
21942 Makefile.common.in,
21945 Integrate Rainer Keuchel's TLCS-90 assembler.
21947 2013-09-23 Philipp Klaus Krause <pkk AT spth.de>
21949 * src/stm8/peeph.def:
21950 Remove redundant jumps.
21952 2013-09-22 Borut Razem <borut.razem AT gmail.com>
21954 * device/non-free/lib/pic14/configure.in,
21955 device/non-free/lib/pic14/configure,
21956 device/non-free/lib/pic16/supported-devices.ac,
21957 device/non-free/lib/pic16/configure,
21958 device/lib/pic16/configure: fixed bash dependencies
21960 2013-09-21 Philipp Klaus Krause <pkk AT spth.de>
21963 More efficient stack adjustment when optimizing for code size.
21965 2013-09-21 Maarten Brock <sourceforge.brock AT dse.nl>
21967 * src/mcs51/gen.c (genEndFunction): applied patch 207 to fix bug 2221,
21968 Thanks Alex Burton!
21969 * support/regression/tests/bug-2221.c: new, added
21971 2013-09-20 Philipp Klaus Krause <pkk AT spth.de>
21974 Refactor testing for literal bytes, more efficient cast from unsigned.
21976 2013-09-20 Borut Razem <borut.razem AT gmail.com>
21978 * device/non-free/lib/pic14/configure.in,
21979 device/non-free/lib/pic14/configure,
21980 device/non-free/lib/pic16/supported-devices.ac,
21981 device/non-free/lib/pic16/configure,
21982 device/lib/pic16/configure:
21983 fixed bug #2220 Detection of 16 bit pic devices supported by gputils
21984 is not working correctly on Cygwin environment
21986 2013-09-19 Molnar Karoly <molnarkaroly AT users.sf.net>
21988 * device/include/pic14/pic14devices.txt,
21989 device/include/pic14/pic16regs.h,
21990 device/non-free/include/pic14/pic16f1704.h,
21991 device/non-free/include/pic14/pic16f1708.h,
21992 device/non-free/include/pic14/pic16lf1704.h,
21993 device/non-free/include/pic14/pic16lf1708.h,
21994 device/non-free/lib/pic14/libdev/devices.txt,
21995 device/non-free/lib/pic14/libdev/pic16f1704.c,
21996 device/non-free/lib/pic14/libdev/pic16f1708.c,
21997 device/non-free/lib/pic14/libdev/pic16lf1704.c,
21998 device/non-free/lib/pic14/libdev/pic16lf1708.c,
22002 2013-09-19 Philipp Klaus Krause <pkk AT spth.de>
22005 Enable some Rabbit optimizations for the TLCS-90.
22006 * src/SDCCtree_dec.hpp,
22007 src/SDCCralloc.hpp,
22009 src/SDCClospre.hpp:
22010 Reduce memory footprint in lospre and named address spaces, prepare for
22011 reducing memory footprint in register allocation.
22013 2013-09-17 Philipp Klaus Krause <pkk AT spth.de>
22016 More efficient zeroing of longs.
22018 Remove C99 variable declaration.
22020 2013-09-17 Philipp Klaus Krause <pkk AT spth.de>
22022 * src/stm8/ralloc.c:
22023 Do not allocate spill locations for optimized-out jump conditions.
22025 2013-09-16 Philipp Klaus Krause <pkk AT spth.de>
22028 More efficient casts to long, fix handling of register deadness in shifts.
22030 2013-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22032 * sim/ucsim/stm8.src/stm8.cc: fix simulation of LDW Y,(n,SP)
22033 to properly update N & Z flag bits
22035 2013-09-14 Philipp Klaus Krause <pkk AT spth.de>
22038 sim/ucsim/stm8.src/inst.cc:
22039 More efficient conditional jumps.
22041 2013-09-13 Philipp Klaus Krause <pkk AT spth.de>
22044 Assume spilt variables are on non-extended stack during dry runs.
22046 2013-09-12 Philipp Klaus Krause <pkk AT spth.de>
22048 * Makefile.common.in,
22051 Preparations for TLCS-90 port.
22052 * src/stm8/peeph.def:
22053 Peepholes to work around lack of RFE #357.
22055 2013-09-12 Philipp Klaus Krause <pkk AT spth.de>
22058 Negative stack adjustment efficiency, restore stack pointer from frame pointer.
22060 Provide our own isblank()-substitute for compilers that lack C99 support.
22062 2013-09-11 Philipp Klaus Krause <pkk AT spth.de>
22065 src/z80/mappings.i,
22067 Stack adjustment code refactoring.
22069 2013-09-11 Philipp Klaus Krause <pkk AT spth.de>
22078 Preparations for TLCS-90 port.
22080 2013-09-09 Philipp Klaus Krause <pkk AT spth.de>
22082 * support/regression/tests/addrspace.c:
22083 Disable test for host regression tests.
22085 Make it compile on compilers that lack C99 support.
22087 2013-09-08 Philipp Klaus Krause <pkk AT spth.de>
22093 support/regression/tests/addrspace.c:
22094 Support for const named address spaces (for variables in ROM).
22095 * src/z80/peeph-z80.def,
22096 src/z80/peeph-r2k.def:
22097 Check for volatile in peephole 1.
22099 2013-09-05 Philipp Klaus Krause <pkk AT spth.de>
22102 Fix bug #2211, fix name of codegen struct (_G vs. G).
22104 2013-09-04 Philipp Klaus Krause <pkk AT spth.de>
22106 * support/regression/tests/bitvars.c,
22107 support/regression/tests/bool.c,
22108 support/regression/tests/bug1057979.c,
22109 support/regression/tests/bug1738367.c,
22110 support/regression/tests/bug2084206.c,
22111 support/regression/tests/bug2935162.c,
22112 support/regression/tests/bug3183823.c,
22113 support/regression/tests/bug3290691.c,
22114 support/regression/tests/bug3467508.c,
22115 support/regression/tests/bug3537338.c,
22116 support/regression/tests/float_single.c,
22117 support/regression/tests/gcc-torture-execute-20000412-2.c,
22118 support/regression/tests/gcc-torture-execute-20030714-1.c,
22119 support/regression/tests/gcc-torture-execute-990524-1.c,
22120 support/regression/tests/gcc-torture-execute-pr15296.c,
22121 support/regression/tests/gcc-torture-execute-string-opt-5.c,
22122 support/regression/tests/genptrs.c,
22123 support/regression/tests/muldiv.c,
22124 support/regression/tests/onebyte.c,
22125 support/regression/tests/snprintf.c:
22126 Disable tests for the least-broken one of the broken ports.
22128 2013-09-04 Philipp Klaus Krause <pkk AT spth.de>
22131 support/regression/tests/gcc-torture-execute-20020219-1.c,
22132 support/regression/tests/gcc-torture-execute-20050104-1.c,
22133 support/regression/tests/gcc-torture-execute-920810-1.c,
22134 support/regression/tests/gcc-torture-execute-950612-1.c,
22135 support/regression/tests/gcc-torture-execute-pr42269-2.c,
22136 support/regression/tests/gcc-torture-execute-950915-1.c,
22137 support/regression/tests/gcc-torture-execute-20080529-1.c:
22138 Fix returning of long long.
22140 2013-09-04 Philipp Klaus Krause <pkk AT spth.de>
22143 Partial workaround for linker bug #2198.
22144 * support/regression/tests/bug-136564.c,
22145 support/regression/tests/bug-927659.c,
22146 support/regression/tests/bug1057979.c,
22147 support/regression/tests/bug3521024.c,
22148 support/regression/tests/funptrs.c,
22149 support/regression/tests/gcc-torture-execute-20021120-3.c,
22150 support/regression/tests/gcc-torture-execute-20030626-1.c,
22151 support/regression/tests/gcc-torture-execute-20070201-1.c,
22152 support/regression/tests/gcc-torture-execute-921208-1.c,
22153 support/regression/tests/gcc-torture-execute-930513-1.c,
22154 support/regression/tests/gcc-torture-execute-960327-1.c,
22155 support/regression/tests/gcc-torture-execute-980707-1.c,
22156 support/regression/tests/snprintf.c,
22157 support/regression/tests/gcc-torture-execute-20021118-2.c,
22158 support/regression/tests/gcc-torture-execute-20030626-2.c:
22159 Enable tests that pass due to workaround for bug #2198.
22160 * support/regression/tests/gcc-torture-execute-20030916-1.c:
22161 Enable passing test.
22163 2013-09-03 Philipp Klaus Krause <pkk AT spth.de>
22166 Implement assertion for linker bug #2198 so it is no longer silent to the
22168 * support/regression/tests/gcc-torture-execute-20030714-1.c:
22169 Disable failing test.
22171 2013-09-02 Philipp Klaus Krause <pkk AT spth.de>
22174 Pointer indirect long addressing mode.
22176 2013-09-02 Philipp Klaus Krause <pkk AT spth.de>
22178 * src/z80/ralloc2.cc:
22179 Tuned register allocation heuristic.
22181 2013-09-01 Philipp Klaus Krause <pkk AT spth.de>
22184 Fix loading of upper parts of large values through frame pointer, bug #2209.
22186 2013-08-30 Philipp Klaus Krause <pkk AT spth.de>
22189 Slightly more efficient addition and loading through frame pointer.
22191 2013-08-30 Maarten Brock <sourceforge.brock AT dse.nl>
22193 * support/regression/tests/bug-2205.c: new, added
22194 * support/regression/tests/*: set svn properties eol and keywords
22195 * device/lib/clean.mk: add stm8 port to cleaning
22197 2013-08-30 Philipp Klaus Krause <pkk AT spth.de>
22199 * src/z80/ralloc2.cc,
22200 support/regression/tests/bug-2208.c:
22203 2013-08-29 Philipp Klaus Krause <pkk AT spth.de>
22206 src/ds390/peeph.def,
22207 src/hc08/peeph.def,
22208 src/mcs51/peeph.def,
22209 src/stm8/peeph.def,
22210 src/z80/peeph-gbz80.def,
22211 src/z80/peeph-r2k.def,
22212 src/z80/peeph-z80.def:
22213 Simplified peephole rules.
22215 2013-08-29 Philipp Klaus Krause <pkk AT spth.de>
22217 * src/stm8/peeph.def:
22218 Rules for bit setting.
22220 Implement more of register use check.
22222 Fix byte skipping in subtraction.
22224 2013-08-28 Philipp Klaus Krause <pkk AT spth.de>
22227 Fix generation of temporary labels in dry runs, more efficient shift by
22228 literal, subtraction and addition, partially fix recognition of multibyte
22230 * src/stm8/peeph.def:
22231 Eliminate unreachable jumps (which can be generated by other rules).
22232 * src/stm8/ralloc2.cc:
22233 Tune register allocation heuristic.
22235 2013-08-27 Philipp Klaus Krause <pkk AT spth.de>
22238 Fix handling of A in float negation and equality comparison, more flexible
22239 addition and subtraction.
22240 * support/regression/tests/float_single.c:
22241 Enable tests for asinf(), atanf(), cosf(), sinf(), sinhf().
22243 2013-08-25 Raphael Neider <rneider AT web.de>
22245 * device/include/pic16/pic16devices.txt:
22246 add flag indicating XINST availability per device
22247 * src/pic16/device.c:
22248 parse XINST flag in pic16devices.txt
22249 * src/pic16/device.h:
22250 add field to store XINST availability per device
22251 * src/pic16/glue.c:
22252 emit warning on code breakage when XINST is supported and not
22253 explicitly disabled (#pragma config XINST=OFF).
22254 * src/pic16/main.c:
22255 detect and remember occurrence of #pragma config XINST=OFF
22256 * support/scripts/optimize_pic16devices.pl:
22257 support new XINST flag
22258 * support/scripts/pic16_update_xinst.sh:
22259 update XINST flags is pic16devices.txt from information extracted
22260 out of gputils/libgputils/gpprocessor.c
22262 2013-08-21 Philipp Klaus Krause <pkk AT spth.de>
22265 Be a little bit more flexible about addition operands - necessary to make
22268 2013-08-21 Philipp Klaus Krause <pkk AT spth.de>
22271 src/stm8/peeph.def:
22272 Eliminate dead popw / pushw pairs.
22274 2013-08-20 Philipp Klaus Krause <pkk AT spth.de>
22277 More efficient left shift by literal.
22279 2013-08-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22281 * src/SDCCast.c (decorateType): fixed bug 2205 (return discarded if
22282 missing expected operand)
22284 2013-08-20 Philipp Klaus Krause <pkk AT spth.de>
22287 More efficient right shift by literal.
22289 2013-08-08 Borut Razem <borut.razem AT gmail.com>
22291 * doc/sdccman.lyx: added some STM8 tools info, various fixes
22293 2013-08-07 Borut Razem <borut.razem AT gmail.com>
22295 * doc/sdccman.lyx: updated Sourceforge URLs
22297 2013-08-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22299 * src/SDCCast.c (decorateType): fixed bug 2201 (spurious limited
22302 2013-08-04 Philipp Klaus Krause <pkk AT spth.de>
22304 * src/stm8/peeph.def:
22305 Peepholes for in-place operations.
22307 More efficient pointer write, fix handling of a in comparison for equality.
22309 2013-08-03 Philipp Klaus Krause <pkk AT spth.de>
22312 src/stm8/peeph.def:
22313 Infrastructure for notUsed().
22315 More efficient stack-to-stack copy.
22317 2013-08-02 Philipp Klaus Krause <pkk AT spth.de>
22320 More efficient pcall.
22322 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22324 * src/SDCClospre.hpp,
22326 Fix handling of isaddr flag in optimizations.
22328 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22334 Fold offset into ADDRESS_OF, RFE #393.
22336 2013-08-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22339 More efficient zeroing of bytes, more efficient addition of constants,
22340 fix handling of a in pointer set.
22342 Fix handling of architectures that have absolute jump instructions of
22344 * src/stm8/peeph.def:
22345 More jump-to-jump optimizations.
22347 2013-08-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22349 * support/scripts/sdcc.nsi: install/uninstall stm8 related files
22351 2013-08-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22354 Smaller code for GET_VALUE_AT_ADDRESS and signed casts.
22356 2013-07-30 Philipp Klaus Krause <pkk AT spth.de>
22359 More efficient mixed-size addition of on-stack operands, and assignment
22360 to parts of x and y.
22361 * support/regression/tests/bug-136564.c,
22362 support/regression/tests/bug3521024.c,
22363 support/regression/tests/gcc-torture-execute-980707-1.c:
22364 Disable tests affected by bug #2196, 2198.
22365 * support/regression/tests/float_single.c:
22366 Disable failing sinf, cosf tests.
22367 * src/stm8/peeph.def:
22368 Tail call optimization.
22370 2013-07-30 Borut Razem <borut.razem AT gmail.com>
22372 * support/sdbinutils/*: sync with binutils 2.23.2
22374 2013-07-29 Philipp Klaus Krause <pkk AT spth.de>
22376 * src/stm8/peeph.def,
22378 Enable peepholes for inverse jumps, and labels, fix label reference
22379 counting bug #2183.
22381 2013-07-29 Borut Razem <borut.razem AT gmail.com>
22383 * support/cpp/sdcpp-diagnostic.c, upport/cpp/sdcpp-opts.c: fixed bug
22384 #2194 Missing header file produces error, but still zero exit status
22386 2013-07-27 Leland Morrison <enigmalee AT sourceforge.net>
22388 * sdas/linksrc/lkrloc3.c:
22389 prevent NULL ptr dereference when generating error message
22390 (fixes bug #2076 core dump from sdldz80
22391 if relative jump exceeds range)
22393 2013-07-26 Philipp Klaus Krause <pkk AT spth.de>
22396 src/stm8/peeph.def:
22397 Enable peephole for jp to jra optimization.
22399 2013-07-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22401 * support/regression/tests/bug-927659.c,
22402 support/regression/tests/bug1057979.c,
22403 support/regression/tests/bug2084206.c,
22404 support/regression/tests/funptrs.c,
22405 support/regression/tests/gcc-torture-execute-20020219-1.c,
22406 support/regression/tests/gcc-torture-execute-20021118-2.c,
22407 support/regression/tests/gcc-torture-execute-20021120-3.c,
22408 support/regression/tests/gcc-torture-execute-20030626-1.c,
22409 support/regression/tests/gcc-torture-execute-20030626-2.c,
22410 support/regression/tests/gcc-torture-execute-20050104-1.c,
22411 support/regression/tests/gcc-torture-execute-20070201-1.c,
22412 support/regression/tests/gcc-torture-execute-20080529-1.c,
22413 support/regression/tests/gcc-torture-execute-921208-1.c,
22414 support/regression/tests/gcc-torture-execute-930513-1.c,
22415 support/regression/tests/gcc-torture-execute-950612-1.c,
22416 support/regression/tests/gcc-torture-execute-950915-1.c,
22417 support/regression/tests/gcc-torture-execute-960327-1.c,
22418 support/regression/tests/gcc-torture-execute-pr42269-2.c,
22419 support/regression/tests/snprintf.c:
22420 Disabled tests that fail due to linker issue, bug #2196, 2198.
22421 * support/regression/tests/gcc-torture-execute-20030916-1.c:
22422 Disable failing test, bug #2200.
22424 2013-07-24 Philipp Klaus Krause <pkk AT spth.de>
22427 src/stm8/ralloc2.cc,
22429 More efficient unsigned right shifts by more than 3 bits,
22430 implement GETABIT, implement jump from and.
22433 Remove support for GETHBIT.
22435 2013-07-23 Philipp Klaus Krause <pkk AT spth.de>
22438 More efficient unsigned right shifts by more than 7 bits.
22440 2013-07-23 Philipp Klaus Krause <pkk AT spth.de>
22442 * src/SDCCralloc.hpp,
22443 src/hc08/ralloc2.cc,
22444 src/stm8/ralloc2.cc
22447 src/z80/ralloc2.cc:
22448 Consider ifx optimization in register allocation.
22449 * device/lib/_mullong.c:
22450 Fix typo in comment.
22452 2013-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22454 * src/hc08/gen.c (genLeftShift,genRightShift): fixed bug in shifting
22455 when result and shift count partially overlapped registers
22457 2013-07-22 Philipp Klaus Krause <pkk AT spth.de>
22459 * src/SDCCralloc.hpp,
22461 src/stm8/ralloc2.cc:
22462 Implement direct jump from comparison, eliminating temporary;
22463 fix operand handling in multiplication.
22465 2013-07-21 Philipp Klaus Krause <pkk AT spth.de>
22473 Reorganize debug output dump options.
22475 2013-07-20 Philipp Klaus Krause <pkk AT spth.de>
22478 More efficient zeroing and comparing.
22480 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22483 src/stm8/ralloc2.cc:
22486 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22489 More efficient long and long long shifts by small contants.
22491 2013-07-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22494 support/regression/tests/compare.c:
22495 Fix handling of comparisons to immediates for stm8.
22497 2013-07-18 Philipp Klaus Krause <pkk AT spth.de>
22499 * device/lib/_mullong.c:
22500 Use 16x16 multiplication instead of 8x8 where faster; patch #133 by Marco
22503 2013-07-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22505 * src/SDCClrange.c,
22506 support/regression/tests/bug-2197.c:
22507 Fix handling of pointer write in live-range splitting, fixing bug #2197.
22509 2013-07-16 Philipp Klaus Krause <pkk AT spth.de>
22511 * src/z80/ralloc.c,
22512 src/z80/ralloc2.cc,
22513 support/regression/tests/bug-2195.c,
22515 src/hc08/ralloc2.cc:
22516 Unify handling of register survival in old and new register allocator,
22519 2013-07-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22521 * support/regression/compact-results.py,
22522 * support/regression/collate-results.py: Also look for "unknown
22524 * sim/ucsim/st7.src/st7.cc,
22525 * sim/ucsim/hc08.src/hc08.cc,
22526 * sim/ucsim/hc08.src/inst.cc: Change result code for invalid and
22527 incomplete instructions so regression tests scripts detect problem.
22529 2013-07-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
22531 * sim/ucsim/stm8.src/stm8.cc: Change result code for invalid and
22532 incomplete instructions so regression tests scripts detect problem.
22534 2013-07-13 Philipp Klaus Krause <pkk AT spth.de>
22537 Change message text for warning on variables being dead at their definitions.
22539 2013-07-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22541 * src/SDCClospre.hpp:
22542 Fix lospre forwarding.
22544 2013-07-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
22546 * src/SDCCBBlock.c,
22550 src/SDCCralloc.hpp,
22552 Split non-connected live-ranges.
22554 2013-07-05 Philipp Klaus Krause <pkk AT spth.de>
22558 Improve const use in sets.
22562 Allow debug iCode dump after lospre.
22564 2013-07-04 Philipp Klaus Krause <pkk AT spth.de>
22568 Improve const use in bit vectors.
22570 2013-07-03 Philipp Klaus Krause <pkk AT spth.de>
22572 * src/SDCClospre.hpp:
22573 Fix invalidation in lospre forwarding.
22575 2013-07-01 Philipp Klaus Krause <pkk AT spth.de>
22577 * src/SDCClospre.cc:
22578 Mark receive opcodes as invalidating for losrpe.
22580 2013-06-30 Philipp Klaus Krause <pkk AT spth.de>
22583 Regenerated to make --disable-stm8-port work.
22585 2013-06-27 Philipp Klaus Krause <pkk AT spth.de>
22587 * src/SDCClospre.cc:
22588 Disable safety in division for stm8.
22590 2013-06-27 Philipp Klaus Krause <pkk AT spth.de>
22592 * src/SDCCnaddr.hpp:
22593 Add comment to reference the paper on bank selection.
22595 2013-06-16 Philipp Klaus Krause <pkk AT spth.de>
22597 * src/stm8/peeph.def:
22598 Reorganize rules, disable rules depending on notUsed() or unimplemented
22602 Fix const, handling of relative jumps, read from uninitialized pointer.
22604 2013-06-16 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22607 * src/stm8/peep.c: implemented stm8canAssign and stm8notUsed,
22608 fixed handling of label entities in stm8instructionSize,
22609 added internal buffer in nextToken.
22610 * src/stm8/peeph.def: uncommented a few peephole rules.
22612 2013-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
22614 * device/lib/_mullonglong.c,
22615 * sdas/as8051/i51adr.c,
22616 * sdas/linksrc/lkbank.c,
22617 * sdas/linksrc/lklibr.c,
22618 * sdas/linksrc/lkrloc.c,
22619 * sdas/linksrc/aslink.h,
22620 * src/mcs51/main.c: cosmetic changes
22621 * sdas/asxxsrc/asmain.c (main): default to 16 bit address width
22622 * sdas/as8051/i51mch.c (minit): set address width to 24 bit
22623 * sdas/as8xcxxx/ds8mch.c (machine): validate address width
22624 * sdas/asxxsrc/asdata.c,
22625 * sdas/asxxsrc/asxxxx.h: added a_bytes, a_mask, s_mask, v_mask and outradix
22626 * sdas/asxxsrc/asexpr.c (exprmasks): set a_bytes and masks
22627 * sdas/asxxsrc/aslist.c: use a_bytes
22628 * sdas/asxxsrc/asout.c: use a_bytes,
22629 (outradix, outgsd): added to output address width
22630 * sdas/linksrc/lkarea.c,
22631 * sdas/linksrc/lklist.c: small optimizations
22632 * sdas/linksrc/lkrloc3.c (relr3): use a_bytes
22633 * support/sdbinutils/bfd/asxxxx.c (asxxxx_is_rel): fixed get_eol
22635 2013-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
22637 * sdas/linksrc/lkaomf51.c (GetName, SaveLinkedFilePath): small optimization
22638 (OutputAOEMF51, CollectInfoFromCDB, ReadHexFile): fixed bug 2184
22639 * sdas/linksrc/lkmain.c: cosmetics
22640 * sdas/linksrc/lkout.c (ixx, iflush): fixed bug 1986
22641 * sdas/linksrc/lksym.c: comments
22643 2013-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
22645 * src/sdcc.vcxproj: removed boost library path
22646 * src/stm8/stm8.vcxproj,
22647 * src/stm8/stm8.vcxproj.filters: added peep.[ch]
22648 * src/z80/z80.vcxproj: fixed message typo
22649 * src/stm8/peep.c: fixed errors for MSVC (C89 compatible only):
22650 only declarations at start of block
22651 * support/packihx/packihx.c: whitespace
22653 2013-06-08 Philipp Klaus Krause <pkk AT spth.de>
22655 * src/stm8/peeph.def:
22656 Prepare for replacing absolute jumps by relative jumps and inverting jump
22660 Fix buffer overflows, improve error detection.
22662 2013-06-08 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22667 Implemented stm8instructionSize.
22669 2013-06-07 Philipp Klaus Krause <pkk AT spth.de>
22671 * src/SDCClospre.hpp:
22672 Cleanup debugging code in lospre.
22674 2013-06-06 Philipp Klaus Krause <pkk AT spth.de>
22680 2013-06-03 Maarten Brock <sourceforge.brock AT dse.nl>
22683 * src/stm8/stm8.vcxproj,
22684 * src/stm8/stm8.vcxproj.filters: added stm8 project
22685 * src/hc08/hc08.vcxproj,
22686 * src/z80/z80.vcxproj,
22687 * src/sdcc.vcxproj: use boost 1.50, the last working installer from boostpro
22688 * debugger/mcs51/symtab.h,
22694 * src/pic16/glue.c,
22696 * src/SDCCdwarf2.c,
22699 * src/z80/gen.c: fixed signed/unsigned comparison warnings
22700 * src/stm8/gen.c: fixed errors for MSVC (C89 compatible only):
22701 don't use snprintf but only SNPRINT,
22702 only declarations at start of block,
22703 don't use true/false but only TRUE/FALSE
22704 * src/stm8/main.c (stm8_defaultRules): fixed init error
22705 * src/stm8/ralloc2.cc (instruction_cost): fixed warning
22706 * src/SDCCglue.c (glue): removed target dependent code
22707 * support/regression/fwk/include/testfwk.h: removed ASSERT_FAILED,
22709 * support/regression/tests/gcc-torture-execute-20050826-1.c: use ASSERFALSE,
22710 enabled test for mcs51
22711 * support/regression/tests/gcc-torture-execute-920810-1.c: use ASSERTFALSE
22713 2013-06-03 Philipp Klaus Krause <pkk AT spth.de>
22716 More efficient register-to-register assignment using ldw.
22718 2013-06-02 Philipp Klaus Krause <pkk AT spth.de>
22720 * sim/ucsim/stm8.src/inst.cc:
22721 Fix handling of N and Z flags in addw, subw.
22722 * support/regression/tests/gcc-torture-execute-20021120-1.c:
22723 Disable failing test for stm8 (bug #2180).
22725 More efficient subtraction.
22726 * support/regression/tests/gcc-torture-execute-pr47337.c:
22727 Disable this very colatile test for stm8 for now. See bug #2172 for the
22728 longer justification.
22730 2013-06-01 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22732 * sim/ucsim/stm8.src/inst.cc:
22735 2013-05-31 Philipp Klaus Krause <pkk AT spth.de>
22742 Implement jump tables.
22744 2013-05-30 Raphael Neider <rneider AT web.de>
22746 * doc/sdccman.lyx: remove --enable-new-pics, add
22747 --no-extended-instructions, adjust section on adding devices
22749 2013-05-30 Raphael Neider <rneider AT web.de>
22751 * device/lib/pic16/configure.ac,
22752 * device/non-free/lib/pic16/configure.ac: remove obsolete option
22753 --enable-new-pics, use common device support detection from
22754 supported-devices.ac and the generated processors.ac
22755 * device/non-free/lib/pic16/supported-devices.ac: fragment from
22756 configure.ac performing detection of devices supported by gputils;
22757 device detection also performs linking step for robustness
22759 * device/lib/pic16/libio/adc.ignore,
22760 * device/lib/pic16/libio/i2c.ignore,
22761 * device/lib/pic16/libio/usart.ignore: use full device id (18fxxxx)
22763 * device/lib/pic16/libio/mkmk.sh,
22764 * device/non-free/lib/pic16/libdev/mkmk.sh,
22765 * device/non-free/lib/pic16/libdev/testall.sh:
22766 derive device list from files in non-free/lib/pic16/libdev rather
22767 than the manually maintained pics.all, enclose each device in
22768 ENABLE_<DEVICE> conditionals
22770 * device/non-free/lib/pic16/update.sh: script to update the build
22771 system to be run whenever the set of devices supported by sdcc
22772 changed; generates processor.ac and reconfigures all PIC16 libs
22774 * support/scripts/cinc2h.pl: update instructions regarding adding
22775 support for new devices
22777 * device/lib/pic16/libio/Makefile.am: regenerated from mkmk.sh
22778 * device/non-free/lib/pic16/libdev/Makefile.am:
22779 regenerated from mkmk.sh
22780 * device/non-free/lib/pic16/pics.all: removed (no longer used)
22781 * device/non-free/lib/pic16/processors.ac: added, list of automake
22782 conditionals for automatic detection of devices supported by
22783 gputils, generated from update.sh
22785 * device/lib/pic16/Makefile.in,
22786 * device/lib/pic16/aclocal.m4,
22787 * device/lib/pic16/configure,
22788 * device/lib/pic16/debug/Makefile.in,
22789 * device/lib/pic16/libc/Makefile.in,
22790 * device/lib/pic16/libio/Makefile.in,
22791 * device/lib/pic16/libm/Makefile.in,
22792 * device/lib/pic16/libsdcc/Makefile.in,
22793 * device/lib/pic16/startup/Makefile.in,
22794 * device/non-free/lib/pic16/Makefile.in,
22795 * device/non-free/lib/pic16/aclocal.m4,
22796 * device/non-free/lib/pic16/configure,
22797 * device/non-free/lib/pic16/libdev/Makefile.in: regenerated
22799 2013-05-30 Raphael Neider <rneider AT web.de>
22801 * device/lib/pic14/configure.in: remove now obsolete --enable-new-pics,
22802 check support for enhanced cores and extended instruction set,
22803 * device/lib/pic14/Makefile.am: build libsdcce.a iff enhanced cores
22804 are supported, use special version avoiding extended instructions
22805 if those are not supported by gputils
22806 * device/lib/pic14/libm/Makefile.am: build libme.a iff enhanced cores
22807 are supported, avoid extended instructions if not supported by
22809 * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.am,
22810 * device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in,
22811 * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget1.S,
22812 * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget2.S,
22813 * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget3.S,
22814 * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrget4.S,
22815 * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput1.S,
22816 * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput2.S,
22817 * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput3.S,
22818 * device/lib/pic14/libsdcc/enhanced-no-xinst/_gptrput4.S,
22819 * device/lib/pic14/libsdcc/enhanced-no-xinst/macros.inc:
22820 special version of gptr* for enhanced cores without using extended
22822 * device/non-free/lib/pic14/configure.in: remove now obsolete option
22823 --enable-new-pics, improve gputils device support detection support
22824 by also performing linking, export list of supported devices to
22826 * device/non-free/lib/pic14/libdev/Makefile.in: accept list of devices
22827 to build from configure
22829 * device/lib/pic14/Makefile.in,
22830 * device/lib/pic14/aclocal.m4,
22831 * device/lib/pic14/configure,
22832 * device/lib/pic14/libm/Makefile.in,
22833 * device/lib/pic14/libsdcc/enhanced/Makefile.in,
22834 * device/lib/pic14/libsdcc/regular/Makefile.in,
22835 * device/non-free/lib/pic14/configure:
22838 2013-05-30 Raphael Neider <rneider AT web.de>
22840 * src/pic14/main.c, src/pic14/main.h: add option to avoid generating
22841 instructions from the extended instruction set in order to work
22842 around issues with gputils-0.13.6
22843 * src/pic14/gen.c (inc_fsr): avoid generating ADDFSR if
22844 --no-extended-instructions is specified
22846 2013-05-30 Philipp Klaus Krause <pkk AT spth.de>
22849 support/regression/tests/bug-2175.c:
22852 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
22855 Fix ADDRESS_OF with result in y for variables at sp + 2, more efficient
22856 assignment to stack using ldw.
22858 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
22860 * device/lib/_divsint.c,
22861 device/lib/_divslong.c,
22862 device/lib/_modsint.c,
22863 device/lib/_modslong.c:
22864 Remove dependencies of signed division support functions on unsigned
22865 division support functions.
22868 Fix partial saving of Y in division and multiplication, implement unsigned
22871 2013-05-29 Philipp Klaus Krause <pkk AT spth.de>
22875 support/regression/tests/gcc-torture-execute-20010129-1.c,
22876 support/regression/tests/gcc-torture-execute-pr28982a.c,
22877 support/regression/tests/gcc-torture-execute-930614-2.c,
22878 support/regression/tests/gcc-torture-execute-20021120-1.c:
22879 Support for calls to functions returning long from functions that use
22882 2013-05-28 Philipp Klaus Krause <pkk AT spth.de>
22884 * src/stm8/ralloc2.cc,
22888 support/regression/tests/bp.c,
22889 support/regression/tests/gcc-torture-execute-20071030-1.c,
22890 support/regression/tests/gcc-torture-execute-990513-1.c,
22891 support/regression/tests/gcc-torture-execute-pr47538.c,
22892 support/regression/tests/gcc-torture-execute-980707-1.c,
22893 support/regression/tests/bug2094505.c,
22894 support/regression/tests/gcc-torture-execute-20031012-1.c,
22895 support/regression/tests/gcc-torture-execute-20030916-1.c:
22896 Support for extended stack on stm8, more efficient ADDRESS_OF.
22898 2013-05-27 Philipp Klaus Krause <pkk AT spth.de>
22901 More efficient pointer access, more efficient loading of constants to
22902 stack, fix handling of shift count deadness.
22903 * sim/ucsim/stm8.src/inst.cc:
22904 Fix ldw pointer write (bug #2174).
22905 * support/regression/tests/gcc-torture-execute-pr47538.c:
22906 Disable volatile test affected by bug #2171.
22907 * src/stm8/ralloc2.cc:
22908 Implement heuristic bias for register assignment.
22910 2013-05-26 Philipp Klaus Krause <pkk AT spth.de>
22913 More efficient zeroing by pointer, more efficient unsigned cast,
22914 preparations for more efficient pointer access.
22916 Allow offset in pointer read.
22917 * sim/ucsim/stm8.src/inst.cc:
22918 Fix handling of N and Z flag in ldw.
22920 More efficient initialization.
22922 2013-05-25 Philipp Klaus Krause <pkk AT spth.de>
22925 More efficient addition.
22927 2013-05-25 Borut Razem <borut.razem AT gmail.com>
22929 * src/SDCCopt.c: fixed bug #2165 - "Broken comparison" by disabling
22930 optimization of comparison unsigned with 2^n literal since it is broken
22931 * support/regression/test/compare_2_n.m4: added test for bug #2165
22933 2013-05-25 Philipp Klaus Krause <pkk AT spth.de>
22935 * Merged stm8 branch.
22937 2013-05-25 Philipp Klaus Krause <pkk AT spth.de>
22939 * support/regression/tests/float_single.c,
22940 support/regression/tests/gcc-torture-execute-20030714-1.c,
22941 support/regression/tests/gcc-torture-execute-20050826-1.c:
22942 STM8: Disable failing tests.
22944 2013-05-25 Borut Razem <borut.razem AT gmail.com>
22946 * Makefile.in: applied patch #211 - "sdbinutils is installed twice",
22947 thanks to Tijl Coosemans
22949 2013-05-24 Philipp Klaus Krause <pkk AT spth.de>
22951 * support/regression/tests/gcc-torture-execute-20010224-1.c:
22952 STM8: Disable test that fails due to known CSE bug #1968.
22953 * support/regression/ports/stm8/spec.mk:
22954 STM8: Remove definition for __reentrant.
22956 STM8: Fix handling of out-of-range offsets.
22958 2013-05-23 Philipp Klaus Krause <pkk AT spth.de>
22961 STM8: Fix float negation, fix large stack-to-stack copy under high
22962 register pressure, fix handling of immediate operands.
22963 * support/regression/tests/gcc-torture-execute-20030408-1.c:
22964 STM8: Disable test for known front-end bug.
22965 * sim/ucsim/stm8.src/inst.cc:
22966 STM8: Fix handling of V and H flags in cpw.
22967 * sim/ucsim/stm8.src/inst.cc:
22968 STM8: Silence some warnings.
22969 * src/stm8/ralloc.c:
22970 STM8: Fix missing include.
22971 * support/regression/tests/gcc-torture-execute-20050613-1.c:
22972 STM8: Disable regression test that fails due to front-end bug.
22974 2013-05-22 Philipp Klaus Krause <pkk AT spth.de>
22977 STM8: More efficient xor, or, and. Fix overwriting of shift count in
22978 shifts, fix comparison with upper byte in a, fix long comparison stacked
22979 offset, fix unsigned long / unsigned long long comparison.
22981 2013-05-22 Philipp Klaus Krause <pkk AT spth.de>
22984 STM8: Disable broken optimization of comparisons into and.
22986 STM8: Slightly more efficient shifts, fix long ifx, fix use of word
22987 rotation in copy, fix handling of a in signed cast.
22989 2013-05-21 Valentin Dudouyt <valentin dudouyt AT gmail.com>
22993 STM8: Fixed init code: some of GSINIT parts aren't executed under certain
22994 linking conditions.
22996 2013-05-20 Maarten Brock <sourceforge.brock AT dse.nl>
22998 * support/scripts/sdcc.nsi: added RequestExecutionLevel admin
23000 2013-05-20 Philipp Klaus Krause <pkk AT spth.de>
23003 More efficient cast from _Bool,
23005 Fix recognition of xor as writing a in peepholes.
23007 2013-05-20 Maarten Brock <sourceforge.brock AT dse.nl>
23009 * Small Device C Compiler 3.3.0 released
23010 * .version, doc/sdccman.lyx: changed sdcc version to 3.3.1
23012 2013-05-19 Philipp Klaus Krause <pkk AT spth.de>
23015 STM8: Fix long and long long comparison.
23017 2013-05-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23020 STM8: Give up trying to fix big-endian bit-fields. Make bit-fields
23023 2013-05-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23025 * sim/ucsim/stm8.src/instcl.h,
23026 sim/ucsim/stm8.src/inst.cc,
23027 sim/ucsim/stm8.src/stm8mac.h,
23028 sim/ucsim/stm8.src/glob.cc,
23029 sim/ucsim/stm8.src/stm8.cc,
23030 sdas/asstm8/stm8mch.c:
23031 STM8: Patches by Valentin Dudouyt to fix simulator.
23033 STM8: Fix conditional jump, address generation for on-stack variables.
23034 * device/lib/_mullong.c,
23035 device/lib/_mulint.c,
23036 device/lib/stm8/Makefile.in,
23037 device/lib/_mulschar.c,
23038 device/lib/_modschar.c,
23039 device/lib/_divschar.c,
23042 STM8: Multiplication and division fixes.
23044 2013-05-18 Philipp Klaus Krause <pkk AT spth.de>
23047 STM8: Fix offset in wide addition, fix handling of a in copy from
23048 registers to global, fix stack adjustment for large variables, fix large
23049 arithmetic signed right shift.
23051 2013-05-18 Maarten Brock <sourceforge.brock AT dse.nl>
23053 * doc/INSTALL.txt: small update
23054 * support/scripts/repack_release.sh: added windows x64 setup
23056 2013-05-17 Philipp Klaus Krause <pkk AT spth.de>
23059 STM8: Fix bit-field access.
23060 * sim/ucsim/stm8.src/inst.cc:
23061 STM8: Fix handling of carry bit in negation in simulator.
23063 2013-05-16 Philipp Klaus Krause <pkk AT spth.de>
23066 STM8: Fix endianness for initializers.
23068 2013-05-15 Philipp Klaus Krause <pkk AT spth.de>
23070 * support/regression/ports/stm8/support.c:
23071 STM8: Remove unneeded global variable that clashes with identifiers in
23073 * support/regression/tests/malloc.c,
23074 support/regression/tests/gcc-torture-execute-920810-1.c:
23075 STM8: Disable regression tests for unimplemented malloc().
23077 STM8: Fix saving of a in early stack-to-stack copy, fix offset in stacked
23078 register operand, fix handling of operand in wide register in pointer set,
23079 fix endless loop in shifts.
23081 2013-05-12 Philipp Klaus Krause <pkk AT spth.de>
23083 * sim/ucsim/stm8.src/inst.cc:
23084 STM8: Fix clr, partially by patch by Valentin Dudouyt.
23086 STM8: Patch by Valentin Dudouyt to initialize global and static
23089 2013-05-12 Philipp Klaus Krause <pkk AT spth.de>
23091 * sim/ucsim/stm8.src/inst.cc:
23092 STM8: Patch by Valentin Dudouyt to fix ldw.
23094 STM8: Patches by Valentin Dudouyt to fix handling of global variables and
23097 2013-05-11 Philipp Klaus Krause <pkk AT spth.de>
23099 * sim/ucsim/stm8.src/inst.cc,
23100 sim/ucsim/stm8.src/instcl.h,
23101 sim/ucsim/stm8.src/stm8.cc,
23102 sim/ucsim/stm8.src/stm8mac.h,
23103 support/regression/ports/stm8/support.c:
23104 STM8: Patches by Valentin Dudouyt: The last bits to enable regression
23105 testing, fix bug in wide addition.
23106 * support/regression/tests/0fail.c,
23107 support/regression/tests/0pass.c:
23108 Removed dummy tests.
23110 STM8: Fix handling of large operands partially in x in comparison for
23111 equality, be more careful in partial move for cast, fix signed cast.
23114 More efficient cast from _Bool.
23116 2013-05-11 Molnar Karoly <molnarkaroly AT users.sf.net>
23118 * device/include/pic14/pic14devices.txt,
23119 device/include/pic14/pic16regs.h,
23120 device/non-free/include/pic14/pic16f753.h,
23121 device/non-free/include/pic14/pic16hv753.h,
23122 device/non-free/lib/pic14/libdev/devices.txt,
23123 device/non-free/lib/pic14/libdev/pic16f753.c,
23124 device/non-free/lib/pic14/libdev/pic16hv753.c,
23128 2013-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
23130 * sdas/doc/asmlnk.txt: updated for all steps towards ASxxxx v5
23131 * sdas/doc/asxhtm.html: removed
23134 * doc/sdccman.lyx: version 3.3.0
23136 2013-05-10 Philipp Klaus Krause <pkk AT spth.de>
23139 STM8: Fix endianness in stack / stack copy.
23141 2013-05-09 Philipp Klaus Krause <pkk AT spth.de>
23144 STM8: Fix multibyte false Ifx.
23146 2013-05-07 Borut Razem <borut.razem AT gmail.com>
23148 * support/scripts/sdcc.nsi: removed dedication to Dennis M. Ritchie,
23149 corrected ChangeLog path
23151 2013-05-05 Philipp Klaus Krause <pkk AT spth.de>
23154 STM8: Fix endianness in register / stack copy.
23156 2013-05-04 Maarten Brock <sourceforge.brock AT dse.nl>
23160 * doc/sdccman.lyx: version 3.3.0 rc1
23161 * sdcc.spec: version 3.3.0
23162 * sdas/asxxsrc/asout.c: suppress warning
23164 2013-05-04 Philipp Klaus Krause <pkk AT spth.de>
23167 STM8: Fix stack variable offset.
23169 2013-05-04 Philipp Klaus Krause <pkk AT spth.de>
23172 More accurately model behaviour of xor for peepholes.
23173 * sdas/asstm8/stm8mch.c,
23174 sdas/asxxsrc/asout.c:
23175 Applied patch from Valentin Dudouyt to make range check stm8-specific.
23177 2013-05-01 Philipp Klaus Krause <pkk AT spth.de>
23179 * src/z80/peeph-z80.def,
23180 src/z80/peeph-r2k.def:
23181 Fix generation of extra # in peephole.
23183 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23186 STM8: Fix memory leak in conditional jump.
23188 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23190 * support/regression/tests/gcc-torture-execute-20000314-3.c:
23191 STM8: Removed regression test, since it tests for non-standard gcc behaviour.
23193 STM8: Fix saving of a on stack in binary complement.
23195 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23199 src/stm8/ralloc2.cc:
23200 STM8: Implement unsigned division.
23202 2013-04-30 Philipp Klaus Krause <pkk AT spth.de>
23204 * support/regression/tests/bp.c,
23205 support/regression/tests/bug2094505.c,
23206 support/regression/tests/bug3475630.c,
23207 support/regression/tests/gcc-torture-execute-20010129-1.c,
23208 support/regression/tests/gcc-torture-execute-20021120-1.c,
23209 support/regression/tests/gcc-torture-execute-20030916-1.c,
23210 support/regression/tests/gcc-torture-execute-pr28982a.c,
23211 support/regression/tests/gcc-torture-execute-20031012-1.c,
23212 support/regression/tests/gcc-torture-execute-20071030-1.c,
23213 support/regression/tests/gcc-torture-execute-930614-2.c,
23214 support/regression/tests/gcc-torture-execute-930628-1.c,
23215 support/regression/tests/gcc-torture-execute-980707-1.c,
23216 support/regression/tests/gcc-torture-execute-990513-1.c:
23217 STM8: Disable some regression tests that need support for extended stack
23220 STM8: Improve error reporting for unimplemented extended stack operands,
23222 * device/lib/_divschar.c,
23223 device/lib/_modschar.c,
23224 device/lib/stm8/Makefile.in:
23225 STM8: Support routines for signed char divide and modulo.
23227 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23230 STM8: Fix stack handling in equality comparison, handle dead code, fix
23233 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23236 STM8: Implement DUMMY_READ_VOLATILE.
23238 2013-04-29 Philipp Klaus Krause <pkk AT spth.de>
23241 STM8: Implement read from signed bit-field.
23243 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23245 * sdas/asxxsrc/asout.c,
23247 STM8: Applied patched from Valentin Dudouyt to improve error checking in
23248 assembler, implement initialization of globals, __interrupt.
23250 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23254 STM8: Implement multiplication.
23256 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23259 STM8: Fix asmop freeing for GET_VALUE_AT_ADDRESS, do not share symbol
23260 aops to fix double free, fix large comparison, implement bit-field writes.
23262 2013-04-28 Philipp Klaus Krause <pkk AT spth.de>
23265 STM8: Fix unsigned cast, implement read from unsigned bit-field.
23266 * support/regression/tests/0fail.c,
23267 support/regression/tests/0pass.c:
23268 Dummy tests for debugging regression testing.
23270 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
23273 STM8: Fix in handling of result in a in addition, minor improvements.
23275 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
23278 STM8: Fix stack handling in signed cast, fix wide right shift, minor
23281 2013-04-26 Philipp Klaus Krause <pkk AT spth.de>
23284 STM8: Fix handling of a in addition, subtraction and negation, more
23285 flexible copy, fix comparison.
23287 2013-04-25 Philipp Klaus Krause <pkk AT spth.de>
23290 STM8: Update TODO/todo comments to reflect known bug vs optimization
23293 2013-04-24 Philipp Klaus Krause <pkk AT spth.de>
23296 STM8: Various fixes.
23298 2013-04-23 Philipp Klaus Krause <pkk AT spth.de>
23301 STM8: Make lack of support for bit-fields explicit, implement binary
23302 complement, minor improvements.
23304 2013-04-23 Philipp Klaus Krause <pkk AT spth.de>
23307 STM8: Fix large operands in equality comparison of register with literal
23309 * src/stm8/ralloc2.cc:
23310 STM8: Fix liveness of registers at parameter pushes.
23312 2013-04-23 Philipp Klaus Krause <pkk AT spth.de>
23315 STM8: Fix parameter stack offset, fix handling of a in GET_VALUE_AT_ADDRESS.
23317 2013-04-22 Philipp Klaus Krause <pkk AT spth.de>
23320 STM8: Fix returning 4-byte values, fix saving of x, y over call, fix
23321 handling of registers in stack-to-stack copy.
23323 2013-04-21 Molnar Karoly <molnarkaroly AT users.sf.net>
23325 * device/include/pic14/pic16regs.h:
23326 New common header for the pic14 family.
23328 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23330 * device/lib/stm8/Makefile.in:
23331 STM8: Add missing integer support functions.
23333 STM8: Enable inline asm.
23335 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23337 * support/regression/Makefile.in,
23338 support/regression/ports/stm8/spec.mk,
23339 support/regression/ports/stm8/support.c,
23340 support/regression/ports/stm8/uCsim.cmd:
23341 STM8: Basic infrastructure for regression tests, partially from a patch
23342 by Valentin Dudouyt.
23344 STM8: Name mangling for address generation.
23346 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23348 * device/lib/Makefile.in:
23349 STM8: Enable building standard library.
23351 2013-04-21 Philipp Klaus Krause <pkk AT spth.de>
23355 STM8: Applied patch from Valentin Dudouyt to implement __critical.
23357 2013-04-19 Philipp Klaus Krause <pkk AT spth.de>
23359 * device/lib/stm8/Makefile.in:
23360 STM8: Disable building some library files.
23362 STM8: Fix comparison.
23364 STM8: Disable some annoying debug output.
23366 2013-04-19 Philipp Klaus Krause <pkk AT spth.de>
23369 sdas/asstm8/stm8mch.c:
23370 STM8: Applied patch from Valentin Dudouyt to support addw sp, #byte.
23371 * src/stm8/ralloc2.cc:
23372 STM8: Enabled cost function for more iCodes.
23374 STM8: Fixes for logic ops, RETURN, '-', stack-to-stack copy, implement
23375 more operands for comparison.
23377 2013-04-18 Philipp Klaus Krause <pkk AT spth.de>
23380 STM8: Disable generation of jump tables.
23382 STM8: Implement more comparison operands, fix for stack-to-stack
23383 temporary assignment.
23385 2013-04-18 Philipp Klaus Krause <pkk AT spth.de>
23388 STM8: Endianness fixes, implement dummy pointer reads, implement '!',
23389 implement more operands in logic ops, implement more return operands,
23390 implement more operands for cast to _Bool, implement more operands for
23393 2013-04-18 Borut Razem <borut.razem AT gmail.com>
23395 * device/non-free/lib/pic14/libdev/mkall.sh,
23396 device/examples/mcs51/simple/test,
23397 device/examples/mcs51/simple/go,
23398 device/examples/mcs51/simple2/go,
23399 device/examples/mcs51/simple2/test,
23401 use /bin/sh instead of /bin/bash to enable compilation on OpenBSD
23403 2013-04-17 Philipp Klaus Krause <pkk AT spth.de>
23406 STM8: Fix for cast to bool.
23408 2013-04-17 Philipp Klaus Krause <pkk AT spth.de>
23411 STM8: Implement more shifts, unary minus for float, implement large
23412 return values, save regs over calls, coalescing.
23414 2013-04-16 Philipp Klaus Krause <pkk AT spth.de>
23417 STM8: Fix emission of rlwa, fix 16-bit increment with result in x,
23420 2013-04-15 Philipp Klaus Krause <pkk AT spth.de>
23423 STM8: Fixes for reading / writing through pointer, implement more IFX,
23424 fix wide subtraction and compariosn.
23426 2013-04-15 Philipp Klaus Krause <pkk AT spth.de>
23429 STM8: Now that we know more about sp-manipulation, we can do it smarter.
23431 2013-04-14 Molnar Karoly <molnarkaroly AT users.sf.net>
23433 * support/scripts/mcs51-disasm.pl:
23434 The overlapped block and instruction it is no longer a fatal error.
23436 2013-04-14 Philipp Klaus Krause <pkk AT spth.de>
23439 STM8: Applied patch from Valentin Dudouyt to set default code loc.
23441 STM8: Be more cautious about arithmetic on stack pointer.
23443 2013-04-13 Philipp Klaus Krause <pkk AT spth.de>
23452 Remove option --main-return, make the behaviour previously invoked by
23453 --main-return the default.
23455 2013-04-13 Philipp Klaus Krause <pkk AT spth.de>
23457 * sdas/asstm8/stm8.h,
23458 sdas/asstm8/stm8mch.c,
23459 sdas/asstm8/stm8pst.c,
23463 STM8: Applied patches from Valentin Dudouyt containing various fixes.
23465 2013-04-11 Philipp Klaus Krause <pkk AT spth.de>
23469 Fix handling of stack part of local variables.
23471 2013-04-11 Philipp Klaus Krause <pkk AT spth.de>
23474 STM8: Implement basic pointer writes, fix handling of 16-bit literals.
23476 2013-04-10 Philipp Klaus Krause <pkk AT spth.de>
23479 STM8: END_FUNCTION stack adjustment fix, more efficient zeroing, addition
23480 fix, return value use.
23482 2013-04-09 Philipp Klaus Krause <pkk AT spth.de>
23485 STM8: Fix for GET_VALUE_AT_ADDRESS, fixes for shift by literal, implement
23486 call by pointer, minor improvements.
23488 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23491 STM8: Allow more operands in xor, and, or.
23493 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23496 STM8: Implement integer unary minus, or fix.
23498 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23501 STM8: Implement more comparisons, stack handling fix.
23503 STM8: Allow returning long long (not implemented in code genration yet).
23505 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23508 STM8: Stack adjustment fixes, signed cast fix, ifx fix,
23509 GET_VALUE_AT_ADDRESS fix.
23511 2013-04-08 Philipp Klaus Krause <pkk AT spth.de>
23514 STM8: Implement cast to _Bool.
23515 * device/include/sdcc-lib.h,
23516 device/include/asm/stm8/features.h:
23517 STM8: Port feature header.
23518 * device/include/math.h,
23519 device/include/stdarg.h:
23520 STM8: Port feature configuration.
23522 2013-04-07 Philipp Klaus Krause <pkk AT spth.de>
23525 STM8: Allow more operand types in Ifx, implement more casts.
23527 2013-04-06 Philipp Klaus Krause <pkk AT spth.de>
23530 STM8: Fixes for stack pointer handling.
23532 2013-04-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23534 * support/regression/tests/literalop.c,
23535 support/regression/tests/bitwise.c: Fix host regression failues on
23537 * support/regression/tests/align.c: do not include stdalign.h on
23538 hosts that do not support it
23540 2013-04-06 Philipp Klaus Krause <pkk AT spth.de>
23543 STM8: Implement comparison for more operand types.
23545 2013-04-02 Philipp Klaus Krause <pkk AT spth.de>
23559 support/regression/tests/assert.c,
23560 support/regression/tests/align.c:
23561 Support for C11 _Static_assert static assertions and _Alignas alignment
23564 2013-04-01 Philipp Klaus Krause <pkk AT spth.de>
23569 STM8: Implement on-stack register passing, taking addresses of on-stack
23570 variables, handling of on-stack parameter operands.
23572 2013-03-31 Philipp Klaus Krause <pkk AT spth.de>
23577 Deprecation warning for --small-is-8bits.
23578 * device/include/assert.h:
23579 Prepare for static assertions.
23583 2013-03-30 Philipp Klaus Krause <pkk AT spth.de>
23586 Update and reorganize manual.
23588 Kill i186 and tcls900h ports.
23590 2013-03-29 Philipp Klaus Krause <pkk AT spth.de>
23596 device/include/stdalign.h,
23597 device/include/stddef.h,
23598 device/include/stdnoreturn.h,
23599 support/regression/tests/align.c:
23600 Support for C11 _Alignof operator.
23602 2013-03-24 Philipp Klaus Krause <pkk AT spth.de>
23605 Use mlt for multiplication by constant in z180 port.
23606 * src/SDCCralloc.hpp:
23607 Add comment to reference the paper on the register allocator.
23609 2013-03-16 Philipp Klaus Krause <pkk AT spth.de>
23614 2013-03-18 Borut Razem <borut.razem AT gmail.com>
23616 * support/scripts/gen_known_bugs.pl: use http instead https since the
23617 LWP::Protocol::https perl module seems not to be installed by default
23619 2013-03-16 Molnar Karoly <molnarkaroly AT users.sf.net>
23621 * device/include/pic14/pic14devices.txt,
23622 device/non-free/include/pic14/pic16f1788.h,
23623 device/non-free/include/pic14/pic16f1789.h,
23624 device/non-free/lib/pic14/libdev/Makefile.in,
23625 device/non-free/lib/pic14/libdev/devices.txt,
23626 device/non-free/lib/pic14/libdev/pic16f1788.c,
23627 device/non-free/lib/pic14/libdev/pic16f1789.c,
23629 New devices: PIC16F1788, PIC16F1789
23631 2013-03-15 Borut Razem <borut.razem AT gmail.com>
23633 * support/scripts/gen_known_bugs.pl: adapted for Allura bug tracker
23635 2013-03-14 Philipp Klaus Krause <pkk AT spth.de>
23638 Fix bug #2142 (ld is fixed, upper case still open).
23640 2013-03-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23642 * support/scripts/mcs51-disasm.pl:
23643 Filters the invalid instructions and code cleaning.
23645 2013-03-12 Sourceforge
23647 * Project upgrade: Bug and RFE numbers after this
23648 Use a numbering system different from the one
23649 used before (also some other changes).
23651 2013-03-05 Molnar Karoly <molnarkaroly AT users.sf.net>
23652 * device/non-free/include/pic14/pic16f1784.h,
23653 device/non-free/include/pic14/pic16f1786.h,
23654 device/non-free/include/pic14/pic16f1787.h,
23655 device/non-free/include/pic16/pic18f65j94.h,
23656 device/non-free/include/pic16/pic18f66j60.h,
23657 device/non-free/include/pic16/pic18f66j65.h,
23658 device/non-free/include/pic16/pic18f66j94.h,
23659 device/non-free/include/pic16/pic18f66j99.h,
23660 device/non-free/include/pic16/pic18f67j60.h,
23661 device/non-free/include/pic16/pic18f67j94.h,
23662 device/non-free/include/pic16/pic18f85j94.h,
23663 device/non-free/include/pic16/pic18f86j60.h,
23664 device/non-free/include/pic16/pic18f86j65.h,
23665 device/non-free/include/pic16/pic18f86j94.h,
23666 device/non-free/include/pic16/pic18f86j99.h,
23667 device/non-free/include/pic16/pic18f87j60.h,
23668 device/non-free/include/pic16/pic18f87j94.h,
23669 device/non-free/include/pic16/pic18f95j94.h,
23670 device/non-free/include/pic16/pic18f96j60.h,
23671 device/non-free/include/pic16/pic18f96j65.h,
23672 device/non-free/include/pic16/pic18f96j94.h,
23673 device/non-free/include/pic16/pic18f96j99.h,
23674 device/non-free/include/pic16/pic18f97j60.h,
23675 device/non-free/include/pic16/pic18f97j94.h,
23676 support/scripts/cinc2h.pl:
23677 Updated based on the gputils.
23679 2013-03-03 Raphael Neider <rneider AT web.de>
23681 * src/pic14/gen.c (popGet): improve debugging output,
23682 (SetIrp): handle PO_IMMEDIATES correctly, restructure code,
23683 (genUnpackBits): handle dummy reads w/o result correctly,
23684 (genNearPointerGet): handle dummy reads w/o result efficiently,
23685 together this fixes #3606703
23686 * src/pic14/gen.c (genConstPointerGet):
23687 read AOP_SIZE(result) bytes from source, fixes #3606709
23689 2013-02-25 Raphael Neider <rneider AT web.de>
23691 * src/pic14/ralloc.c (packRegsForOneuse):
23692 prevent NULL ptr dereference (fixes bug #3605966)
23694 2013-02-24 Raphael Neider <rneider AT web.de>
23696 * device/lib/pic14/libsdcc/ulong2fs.c:
23697 prefer 'while (COND) {}' over 'if (COND) do {} while (COND)'
23698 * src/pic14/gen.c (genAnd):
23699 fix for loop condition in ulong2fs.c (fixes #3605855)
23700 * device/lib/pic14/libm/Makefile.am:
23701 fix typo in CFLAGS for libme (fixes #3605860)
23703 2013-02-17 Raphael Neider <rneider AT web.de>
23705 * device/non-free/lib/pic14/configure.in,
23706 device/non-free/lib/pic16/configure.ac:
23707 Check and display devices missing in gputils before proceeding
23708 and request updating gputils if any to-be-supported is missing
23709 * device/non-free/lib/pic14/configure,
23710 device/non-free/lib/pic16/configure:
23713 2013-02-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23715 * support/scripts/mcs51-disasm.pl:
23716 Use default sfr and sbit names if no header file.
23718 2013-02-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23721 Code generation fixes and refactoring, implement ^, CALL.
23723 Enable lospre for stm8.
23725 Correctly announce lack of multiplication support.
23727 2013-02-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23730 Basic code generation infrastructure for &, |, RETURN, <, >.
23732 2013-02-10 Molnar Karoly <molnarkaroly AT users.sf.net>
23734 * support/scripts/mcs51-disasm.pl: Adds used count to sfr, sbit and bit lists.
23736 2013-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
23740 Various code generation fixes, improvements, debug messages.
23741 * device/lib/stm8/Makefile.in:
23742 Fix some hc08 leftovers.
23744 2013-02-08 Molnar Karoly <molnarkaroly AT users.sf.net>
23746 * support/scripts/mcs51-disasm.pl: bugfix
23748 2013-02-03 Molnar Karoly <molnarkaroly AT users.sf.net>
23750 * support/scripts/mcs51-disasm.pl: Improved recognition of jump tables.
23752 2013-02-03 Molnar Karoly <molnarkaroly AT users.sf.net>
23754 * support/scripts/mcs51-disasm.pl: Improved recognition of jump tables and
23757 2013-02-03 Molnar Karoly <molnarkaroly AT users.sf.net>
23759 * support/scripts/mcs51-disasm.pl: Bugfix and count of references in the RAM.
23761 2013-02-01 Molnar Karoly <molnarkaroly AT users.sf.net>
23763 * support/scripts/mcs51-disasm.pl: Small refinements.
23765 2013-01-31 Molnar Karoly <molnarkaroly AT users.sf.net>
23767 * support/scripts/mcs51-disasm.pl: Use IRAM key in name-list file.
23769 2013-01-29 Philipp Klaus Krause <philipp AT colecovision.eu>
23772 Use clr for more efficient zeroing.
23774 2013-01-29 Molnar Karoly <molnarkaroly AT users.sf.net>
23776 * support/scripts/mcs51-disasm.pl: Use informations of the OSEG area from
23779 2013-01-28 Molnar Karoly <molnarkaroly AT users.sf.net>
23781 * support/scripts/mcs51-disasm.pl: New command option: --name-list
23783 2013-01-28 Philipp Klaus Krause <pkk AT spth.de>
23786 More efficient calls to _Noreturn functions.
23788 2013-01-28 Molnar Karoly <molnarkaroly AT users.sf.net>
23790 * support/scripts/mcs51-disasm.pl: Improved finds of stack. Prints into
23793 2013-01-27 Philipp Klaus Krause <pkk AT spth.de>
23797 More efficient calls to _Noreturn functions.
23799 2013-01-27 Molnar Karoly <molnarkaroly AT users.sf.net>
23801 * support/scripts/mcs51-disasm.pl: Prints the map of RAM, list of bits and
23804 2013-01-27 Molnar Karoly <molnarkaroly AT users.sf.net>
23806 * support/scripts/mcs51-disasm.pl: Improved recognition of jump tables.
23808 2013-01-26 Molnar Karoly <molnarkaroly AT users.sf.net>
23810 * support/scripts/mcs51-disasm.pl: New command option: --recognize-jump-tables
23812 2013-01-24 Molnar Karoly <molnarkaroly AT users.sf.net>
23814 * support/scripts/mcs51-disasm.pl: New command option: --find-lost-labels
23816 2013-01-23 Molnar Karoly <molnarkaroly AT users.sf.net>
23818 * support/scripts/mcs51-disasm.pl:
23819 New feature in "Public labels" section: (calls: ..., jumps: ...)
23820 ("number of calls" and "number of jumps")
23822 2013-01-21 Molnar Karoly <molnarkaroly AT users.sf.net>
23824 * support/scripts/mcs51-disasm.pl: Bugfix and more proposal for use.
23826 2013-01-20 Molnar Karoly <molnarkaroly AT users.sf.net>
23828 * support/scripts/mcs51-disasm.pl: Additional informations about direction
23831 2013-01-20 Molnar Karoly <molnarkaroly AT users.sf.net>
23833 * support/scripts/mcs51-disasm.pl: "Public variables" -> "Public labels"
23835 2013-01-20 Molnar Karoly <molnarkaroly AT users.sf.net>
23837 * support/scripts/mcs51-disasm.pl: Improved handling of blocks and
23838 lists of labels and variables.
23840 2013-01-19 Molnar Karoly <molnarkaroly AT users.sf.net>
23842 * support/scripts/mcs51-disasm.pl: Expanded assembly mode and nicer tables.
23844 2013-01-15 Raphael Neider <rneider AT web.de>
23846 * device/lib/pic16/libsdcc/long/modulong.c:
23847 return ~0UL instead of looping endlessly on divide-by-0,
23850 2013-01-13 Raphael Neider <rneider AT web.de>
23852 * src/pic14/gen.c (genDataPointerSet):
23853 fix and simplify operand size detection, fixes #3600361
23854 * src/pic14/main.c (keywords[]):
23855 remove unsupported "pdata", fixes #3600724
23857 2013-01-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23859 * support/scripts/cinc2h.pl: Canceled the command option: --create-sfr16
23860 * device/non-free/include/pic16/pic18*.h,
23861 device/non-free/lib/pic16/libdev/pic18*.c: Canceled the __sfr16 type.
23863 2013-01-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23865 * support/scripts/mcs51-disasm.pl: New command option: --assembly-source
23867 2013-01-13 Molnar Karoly <molnarkaroly AT users.sf.net>
23869 * support/scripts/cinc2h.pl: New command option: --create-sfr16
23870 (This option is for the time being operates only at the pic16 series.)
23871 * device/non-free/include/pic16/pic18*.h,
23872 device/non-free/lib/pic16/libdev/pic18*.c: Implementation of the __sfr16
23875 2013-01-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23877 * support/scripts/mcs51-disasm.pl: New command option: --no-explanations
23879 2013-01-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23881 * support/scripts/mcs51-disasm.pl: New command option: --hex-constant
23883 2013-01-12 Molnar Karoly <molnarkaroly AT users.sf.net>
23885 * support/scripts/mcs51-disasm.pl: Faster the decoding of instructions.
23887 2013-01-11 Molnar Karoly <molnarkaroly AT users.sf.net>
23889 * support/scripts/mcs51-disasm.pl: More control characters are recognized.
23890 Refinement the align of explanations.
23892 2013-01-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23894 * src/hc08/main.c: Nearly exact instruction sizes for peephole
23895 branch optimizations.
23897 2013-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23899 * src/mcs51/gen.c (genSend): "fix" for bug #3600343
23901 2013-01-10 Molnar Karoly <molnarkaroly AT users.sf.net>
23903 * support/scripts/mcs51-disasm.pl: Simplified the code.
23905 2013-01-10 Molnar Karoly <molnarkaroly AT users.sf.net>
23907 * doc/sdccman.lyx: Expanded the 6.2 (Tools) table.
23909 2013-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23911 * src/hc08/ralloc.c (packRegisters),
23912 * src/hc08/gen.c (aopForRemat): allow more rematerializations of
23914 * src/hc08/ralloc2.cc (operand_is_ax): fixed bug that misidentified
23915 some register assignments as the register pair AX
23917 2013-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23921 * src/SDCCast.c: Move the test condition of a for-loop to the end of
23922 the loop if it is always true for the first iteration of the loop
23923 and has no side-effects.
23925 2013-01-09 Molnar Karoly <molnarkaroly AT users.sf.net>
23927 * support/scripts/mcs51-disasm.pl: Internal restructuring an bug fixes.
23929 2013-01-08 Molnar Karoly <molnarkaroly AT users.sf.net>
23931 * support/scripts/mcs51-disasm.pl: Prints in table the embedded constants.
23933 2013-01-07 Molnar Karoly <molnarkaroly AT users.sf.net>
23935 * support/scripts/mcs51-disasm: Renamed to mcs51-disasm.pl
23937 2013-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
23940 * src/hc08/ralloc2.cc: Support more register combinations
23941 with pointer get/set and ifx iCodes. Allow rmw instructions to
23942 use X as a scratch register.
23943 * sim/ucsim/hc08.src/inst.cc: Fixed bug with cbeq using stack operand
23946 2012-01-07 Philipp Klaus Krause <pkk AT spth.de>
23949 Infrastructure for the stm8 port.
23951 2012-01-06 Philipp Klaus Krause <pkk AT spth.de>
23954 Infrastructure for the stm8 port.
23956 2013-01-06 Philipp Klaus Krause <pkk AT spth.de>
23960 Minor code cleanup.
23962 2013-01-06 Molnar Karoly <molnarkaroly AT users.sf.net>
23964 * support/scripts/mcs51-disasm:
23965 Changes in the commandline options:
23966 Renamed --code-size to --rom-size.
23968 New: --verbose, --const-area
23969 Extracts more informations from map file.
23971 2012-01-06 Philipp Klaus Krause <pkk AT spth.de>
23973 * src/stm8/ralloc.c,
23975 Infrastructure for the stm8 port.
23977 2013-01-06 Borut Razem <borut.razem AT gmail.com>
23979 * src/SDCCasm.c, src/SDCCasm.h: excluded unused asm mappings
23981 2012-01-06 Philipp Klaus Krause <pkk AT spth.de>
23983 * src/stm8/ralloc.c,
23984 src/stm8/ralloc2.cc:
23985 Register allocation infrastructure for the stm8 port.
23987 Code generation infrastructure for the stm8 port.
23989 2013-01-05 Molnar Karoly <molnarkaroly AT users.sf.net>
23991 * support/scripts/mcs51-disasm: More informations from map file.
23993 2013-01-05 Molnar Karoly <molnarkaroly AT users.sf.net>
23995 * support/scripts/mcs51-disasm: The required perl version: 5.12.0
23996 One repair: The unknown instruction is actually simple embedded
23999 2013-01-05 Molnar Karoly <molnarkaroly AT users.sf.net>
24001 * support/scripts/mcs51-disasm: New commandline option: --map-file
24002 More detailed comments of instructions.
24004 2013-01-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24006 * src/hc08/ralloc.h,
24007 * src/hc08/ralloc.c,
24009 * src/hc08/gen.c: Removed some unused fields of the asmop
24010 struct. Made checking asmops for registers more efficient.
24012 2013-01-04 Molnar Karoly <molnarkaroly AT users.sf.net>
24014 * support/scripts/mcs51-disasm: New commandline option: --code-size
24015 In addition, limited tracking of some register (Rx, DPTR).
24017 2013-01-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24019 * src/hc08/ralloc.c: Removed old code from the original fork
24020 from mcs51 that was not being used. Brought the old register
24021 allocator up to date with the current code generator.
24022 * src/hc08/gen.c: Support ldhx/sthx with stack operands on s08.
24023 Avoid using hx to assign literals to stack operands on hc08.
24025 2013-01-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24027 * src/hc08/gen.c (genAssignLit): fixed bug on systems that default
24030 2013-01-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24032 * src/hc08/gen.c: Fixed code size regression on s08 from overuse
24033 of indexed addressing mode. Clean out some old, unused source.
24034 Initialize hc08_aop_pass[] only once. Correct costs in
24035 accopWithAop() for 2 byte instructions. Small improvements
24036 to addition and subtraction.
24038 2013-01-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24040 * device/non-free/include/pic14/pic16f720.h,
24041 device/non-free/include/pic14/pic16f721.h,
24042 device/non-free/include/pic14/pic16lf1902.h,
24043 device/non-free/include/pic14/pic16lf1903.h,
24044 device/non-free/include/pic16/pic18f65j94.h,
24045 device/non-free/include/pic16/pic18f66j60.h,
24046 device/non-free/include/pic16/pic18f66j65.h,
24047 device/non-free/include/pic16/pic18f66j94.h,
24048 device/non-free/include/pic16/pic18f66j99.h,
24049 device/non-free/include/pic16/pic18f67j60.h,
24050 device/non-free/include/pic16/pic18f67j94.h,
24051 device/non-free/include/pic16/pic18f85j94.h,
24052 device/non-free/include/pic16/pic18f86j60.h,
24053 device/non-free/include/pic16/pic18f86j65.h,
24054 device/non-free/include/pic16/pic18f86j94.h,
24055 device/non-free/include/pic16/pic18f86j99.h,
24056 device/non-free/include/pic16/pic18f87j60.h,
24057 device/non-free/include/pic16/pic18f87j94.h,
24058 device/non-free/include/pic16/pic18f95j94.h,
24059 device/non-free/include/pic16/pic18f96j60.h,
24060 device/non-free/include/pic16/pic18f96j65.h,
24061 device/non-free/include/pic16/pic18f96j94.h,
24062 device/non-free/include/pic16/pic18f96j99.h,
24063 device/non-free/include/pic16/pic18f97j60.h,
24064 device/non-free/include/pic16/pic18f97j94.h,
24065 device/non-free/lib/pic14/libdev/pic16f720.c,
24066 device/non-free/lib/pic14/libdev/pic16f721.c,
24067 device/non-free/lib/pic14/libdev/pic16lf1902.c,
24068 device/non-free/lib/pic14/libdev/pic16lf1903.c:
24069 Updated based on the gputils.
24071 2013-01-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24074 * src/hc08/gen.c: More optimization of literal constant assignments.
24075 Use indexed addressing mode in place of extended in some contexts.
24077 2013-01-01 Molnar Karoly <molnarkaroly AT users.sf.net>
24079 * support/scripts/mcs51-disasm: Disassembler for the mcs51 family.
24081 2013-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24083 * src/hc08/peeph.def: Removed peephole rule #8 since it is handled
24084 in code generator now. Added rules for dbnz.
24085 * src/hc08/gen.c: Rewrote genDbnz(). Minor improvements to genCmp()
24086 and asmopToBool(). Removed some totally wrong code from genIfx().
24088 2012-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24090 * src/hc08/ralloc.h,
24091 * src/hc08/ralloc.c,
24092 * src/hc08/gen.c: optimization of literal constant loads/transfers
24094 2012-12-31 Raphael Neider <rneider AT web.de>
24096 * src/pic14/genarith.c (genAddLit): fixed coding style,
24097 fixed #3599010 by adding implementation of (int + X)
24098 for X in [0x0102; 0x01FE]
24100 2012-12-29 Philipp Klaus Krause <pkk AT spth.de>
24103 src/stm8/ralloc2.cc:
24104 Infrastructure for STM8 port.
24106 2012-12-29 Philipp Klaus Krause <pkk AT spth.de>
24108 * src/SDCCbtree.cc:
24111 2012-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
24113 * sdcc_vc.h.in: converted TABs to spaces
24114 * src/SDCCast.c(expandInlineFuncs): even MSVC 2012 still does not support
24115 C99 randomly placed declarations, please place all declarations at the
24117 * src/sdcc.vcxproj,
24118 * src/sdcc.vcxproj.filters: added SDCCbtree.cc and SDCCbtree.h
24119 * src/SDCCbtree.cc: fixed STX usage
24121 2012-12-29 Philipp Klaus Krause <pkk AT spth.de>
24123 * src/stm8/ralloc2.cc,
24126 Infrastructure for STM8 port.
24128 2012-12-28 Philipp Klaus Krause <pkk AT spth.de>
24130 * src/stm8/ralloc2.cc,
24133 Infrastructure for STM8 port.
24135 2012-12-28 Philipp Klaus Krause <pkk AT spth.de>
24137 * support/regression/tests/gcc-torture-execute-20011126-1.c,
24138 support/regression/tests/gcc-torture-execute-20000717-2.c,
24139 support/regression/tests/gcc-torture-execute-921202-2.c,
24140 support/regression/tests/gcc-torture-execute-20050104-1.c:
24141 Enable some long long regression tests, that now seem to work even on
24144 2012-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
24146 * doc/sdccman.lyx: small update about sdas390
24147 * sdas/asgb/gbpst.c: enable macros
24148 * sdas/asxxsrc/aslex.c (nxtline): also fix macro case
24149 * sdas/asxxsrc/asmcro.c,
24150 * sdas/asxxsrc/asout.c,
24151 * sdas/asxxsrc/asxxxx.h: small step to ASxxxx v5
24152 * src/mcs51/gen.c(genJumpTab): use optimize.codeSpeed and options.acall_ajmp
24153 * src/SDCCast.c(createFunction): fixed warning
24154 * src/SDCCpeeph.c: cosmetics
24155 * support/regression/tests/bug3467508.c: suppress warnings
24156 * support/regression/tests/gcc-torture-execute-20050125-1.c: fixed warning
24157 * support/regression/tests/gcc-torture-execute-20050224-1.c: shortened test,
24158 always perform ASSERT for correct statistics
24159 * support/regression/tests/gcc-torture-execute-20051104-1.c: added comments
24160 * support/regression/tests/gcc-torture-execute-doloop-2.c: always ASSERT
24161 * support/regression/tests/key.c,
24162 * support/regression/tests/long_asm_line.c,
24163 * support/regression/tests/macro.c: use at least one ASSERT
24165 2012-12-28 Philipp Klaus Krause <pkk AT spth.de>
24167 * src/stm8/ralloc2.cc,
24173 Infrastructure for STM8 port.
24175 2012-12-27 Philipp Klaus Krause <pkk AT spth.de>
24177 * Merged blocktree branch.
24179 2012-12-27 Philipp Klaus Krause <pkk AT spth.de>
24182 Handle emission of long long constants.
24183 Emit error message for unknown sizes instead of failing silently.
24185 2012-12-27 Maarten Brock <sourceforge.brock AT dse.nl>
24188 * sdcc_vc.h.in: moved strto(u)ll macros and fixed warnings
24190 2012-12-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24192 * src/SDCCglue.c (emitOverlay): fixed bug #3596899
24193 * support/regression/tests/gcc-tortue-execute-20021118-2.c:
24194 re-enabled test (fixed by my 2012-12-26 commit)
24196 2012-12-26 Maarten Brock <sourceforge.brock AT dse.nl>
24198 * src/SDCCval.c: inserted macros for strtoll and strtoull
24200 2012-12-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24206 * src/SDCCast.h: Fixed some scope related bugs including
24207 #3190029 (improved previous fix), #3513308, and #3511513
24208 * support/regression/tests/gcc-torture-execute-960116-1.c:
24211 2012-12-26 Borut Razem <borut.razem AT gmail.com>
24213 * support/sdbinutils/binutils/configure.in,
24214 support/sdbinutils/binutils/configure:
24215 fixed bug #3527589 - "Build fails on archlinux ppc"
24217 2012-12-25 Borut Razem <borut.razem AT gmail.com>
24219 * src/pic14/gen.c, src/pic14/main.c:
24220 applied patch #3193179 - "pic14 naked ISR handler"
24221 implementing RFE #1432077 - "naked for pic14",
24222 thanks to Wolfgang Jung
24224 2012-12-23 Vaclav Peroutka <vaclavpe AT seznam.cz>
24226 * sim/ucsim/configure
24227 sim/ucsim/configure.in
24228 sim/ucsim/main_in.mk
24229 sim/ucsim/packages_in.mk
24231 sim/ucsim/st7.src/(c).1
24232 sim/ucsim/st7.src/Makefile.in
24233 sim/ucsim/st7.src/clean.mk
24234 sim/ucsim/st7.src/conf.mk
24235 sim/ucsim/st7.src/glob.cc
24236 sim/ucsim/st7.src/glob.h
24237 sim/ucsim/st7.src/inst.cc
24238 sim/ucsim/st7.src/instcl.h
24239 sim/ucsim/st7.src/regsst7.h
24240 sim/ucsim/st7.src/simst7.cc
24241 sim/ucsim/st7.src/simst7cl.h
24242 sim/ucsim/st7.src/sst7.cc
24243 sim/ucsim/st7.src/st7.cc
24244 sim/ucsim/st7.src/st7cl.h
24245 sim/ucsim/st7.src/st7mac.h
24246 sim/ucsim/stm8.src/inst.cc
24247 sim/ucsim/stm8.src/instcl.h
24248 sim/ucsim/stm8.src/stm8.cc
24249 sim/ucsim/stm8.src/stm8mac.h
24251 2012-12-23 Philipp Klaus Krause <pkk AT spth.de>
24255 src/stm8/ralloc2.cc,
24257 Infrastructure for STM8 port.
24259 2012-12-22 Philipp Klaus Krause <pkk AT spth.de>
24268 Basic infrastructure for STM8 port.
24270 2012-12-21 Philipp Klaus Krause <pkk AT spth.de>
24272 * Makefile.common.in,
24275 sim/ucsim/aclocal.m4,
24276 sim/ucsim/configure,
24278 debugger/mcs51/aclocal.m4,
24281 src/stm8/Makefile.in,
24283 src/stm8/peeph.def,
24285 device/lib/stm8/Makefile.in,
24287 Basic build infrastructure for STM8 port.
24289 2012-12-20 Philipp Klaus Krause <pkk AT spth.de>
24291 * src/SDCCbtree.cc:
24292 BTREE_DEBUG macro for enabling debub messages in blocktree-based allocator.
24294 2012-12-20 Philipp Klaus Krause <pkk AT spth.de>
24296 * support/regression/tests/frexpf.c:
24299 Do not attempt to restore pair using dec, when it has been pushed.
24301 2012-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24303 * src/SDCCval.c (constVal),
24304 * sdas/asxxsrc/aslex.c (nxtline): fixed warnings
24306 2012-12-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24308 * src/SDCCbtree.cc:
24309 Special handling for parameters in btree-based stack allocation.
24311 2012-12-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24313 * src/SDCCralloc.hpp:
24314 Send error message about invalid root to cerr instead of cout.
24316 2012-12-19 Borut Razem <borut.razem AT gmail.com>
24318 * src/SDCCmain.c, src/SDCCglobl.h, support/cpp/sdcpp.opt,
24319 support/cpp/libcpp/init.c, support/cpp/sdcpp-opts.c
24320 fixed bug 3572584 - "Trigraphs don't work", 2nd try:
24321 trigraphs are enabled by default in sdcpp
24323 2012-12-16 Borut Razem <borut.razem AT gmail.com>
24325 * src/SDCCglobl.h, src/SDCCmain.c:
24326 fixed bug 3572584 - "Trigraphs don't work"
24328 2012-12-14 Philipp Klaus Krause <pkk AT spth.de>
24330 * src/SDCCbtree.cc,
24332 Fixes for block-based stack allocation.
24334 2012-12-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24341 Fixes for block-based stack allocation.
24343 2012-12-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24349 Infrastructure for block-based stack allocation.
24351 2012-12-09 Philipp Klaus Krause <pkk AT spth.de>
24354 Do not generate redundant loads when fetching pair from regs.
24356 2012-12-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24358 * support/scripts/cinc2h.pl,
24359 support/scripts/pic14-header-parser.pl,
24360 support/scripts/pic16-header-parser.pl: I changed the copyright.
24362 2012-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24364 * src/SDCC.y (labeled_statement): fixed bug #3590884
24366 2012-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24368 * src/SDCCcse.c (algebraicOpts),
24369 * src/SDCCicode.c (operandOperation),
24370 * src/SDCCsymt.c (bitsForType),
24372 * src/SDCCval.c: working towards long long constant support
24374 2012-11-25 Molnar Karoly <molnarkaroly AT users.sf.net>
24376 * device/non-free/include/pic16/pic18f6390.h,
24377 device/non-free/lib/pic16/libdev/pic18f6390.c:
24378 Repaired wrong address of RCREG, 0x0FA0 --> 0x0FAE.
24380 2012-11-25 Molnar Karoly <molnarkaroly AT users.sf.net>
24382 * device/non-free/include/pic16/pic18f63j11.h,
24383 device/non-free/lib/pic16/libdev/pic18f63j11.c:
24384 Repaired wrong address of RCREG, 0x0FD0 --> 0x0FAE.
24386 2012-11-24 Borut Razem <borut.razem AT gmail.com>
24388 * doc/sdccman.lyx: LyX format update to lyxformat 413, LyX 2.x.x
24390 2012-11-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24392 * src/SDCCtree_dec.hpp:
24393 Ensure we have an empty bag at the root in nice tree decompositions.
24394 * support/regression/tests/gcc-torture-execute-20060110-1.c:
24395 Disable test which fails on arm for gbz80 due to unimplemented long long constants.
24397 2012-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24399 * doc/sdccman.lyx: removed duplicate commands my lyx edit added
24401 2012-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24403 * doc/sdccman.lyx: document --no-ret-without-call and fix some typos
24405 2012-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
24407 * src/mcs51/gen.c (emitDummyCall): use temporary label,
24408 (genPcall): use temporary label call instead of pushes,
24409 (genJumpTab): optimized thresholds and always use jmp @a+dptr
24410 * src/mcs51/peep.c (scan4op): detect lcall temporary label
24411 * src/mcs51/ralloc.c: cosmetics
24413 2012-11-18 Molnar Karoly <molnarkaroly AT users.sf.net>
24415 * support/scripts/pic16-header-parser.pl:
24416 New capability: Handling of I/O pins of the peripheral.
24417 The program creates six files in the actual directory:
24418 adc.tables, ccp.tables, pwm.tables, i2c.tables,
24419 spi.tables, usart.tables
24421 2012-11-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24425 * src/mcs51/gen.c (emitDummyCall,genJumpTab, genPcall):
24426 added --no-ret-without-call option for compatibility with
24427 Infineon's Memory Extension Stack
24429 2012-11-15 Maarten Brock <sourceforge.brock AT dse.nl>
24432 * support/scripts/sdcc.nsi: added sdas390
24434 2012-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24436 * src/SDCCast.c (decorateType): fixed bug #3577669
24437 * support/regression/tests/gcc-torture-execute-20021010-1.c: reenabled
24439 2012-11-13 Maarten Brock <sourceforge.brock AT dse.nl>
24441 * configure: added as8xcxxx to CONFIG_FILES
24443 2012-11-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24445 * src/z80/mappings.i:
24446 Fix use of and macro for z80asm assembler.
24448 2012-11-12 Maarten Brock <sourceforge.brock AT dse.nl>
24452 * Makefile.in: added as8xcxxx
24453 * Makefile.common.in: fixed OPT_DISABLE_DS390
24454 * sdas/as8051/i51mch.c,
24455 * sdas/as8051/i51pst.c: removed flat24
24457 * sdas/as8xcxxx/clean.mk,
24458 * sdas/as8xcxxx/ds8.h,
24459 * sdas/as8xcxxx/ds8adr.c,
24460 * sdas/as8xcxxx/ds8mch.c,
24461 * sdas/as8xcxxx/ds8pst.c,
24462 * sdas/as8xcxxx/Makefile.in,
24463 * sdas/as8xcxxx/sdas390.vcxproj,
24464 * sdas/as8xcxxx/sdas390.vcxproj.filters: new, added sdas390
24465 * sdas/asxxsrc/asdata.c: removed flat24Mode
24466 * sdas/asxxsrc/asexpr.c: added exprmasks()
24467 * sdas/asxxsrc/asmain.c: removed S_FLAT24 case
24468 * sdas/asxxsrc/asout.c: outr*() synced with ASxxxx v5
24469 * sdas/asxxsrc/asxxxx.h: next step to ASxxxx v5
24470 * sdas/asxxsrc/sdas.c,
24471 * sdas/asxxsrc/sdas.h: added TARGET_ID_DS390
24472 * src/ds390/gen.c: replaced ACC.x with ACC[x]
24473 * src/ds390/main.c: issue .DS80C390 and .amode instead of .flat24,
24476 2012-11-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24478 * support/regression/ports/ucr2k/spec.mk:
24479 Make ucr2k timeout the same as ucr3ka.
24480 * support/regression/tests/gcc-torture-execute-20111208-1.c:
24481 Disable test for gcc older than 5.0.
24483 2012-11-10 Borut Razem <borut.razem AT gmail.com>
24485 * support/regression/ports/ds390/spec.mk:
24486 doubled timeout since the gcc-torture-execute-20050224-1
24487 regression test stil fails with timeout on i586-mingw32msvc
24489 2012-11-09 Borut Razem <borut.razem AT gmail.com>
24491 * support/regression/fwk/lib/testfwk.c:
24492 "code" substituted with "__code"
24494 2012-11-08 Borut Razem <borut.razem AT gmail.com>
24496 * support/sdbinutils/bfd/Makefile.am,
24497 support/sdbinutils/bfd/Makefile.in,
24498 support/sdbinutils/include/opcode,
24499 support/sdbinutils/include/opcode/ia64.h,
24500 support/sdbinutils/include/opcode/sparc.h,
24501 support/sdbinutils/include/mach-o/x86-64.h,
24502 support/sdbinutils/bfd/verilog.c,
24503 support/sdbinutils/bfd/tekhex.c,
24504 support/sdbinutils/bfd/cpu-ia64-opc.c,
24505 support/sdbinutils/bfd/coff-ia64.c,
24506 support/sdbinutils/bfd/peXXigen.c,
24507 support/sdbinutils/bfd/elfnn-ia64.c,
24508 support/sdbinutils/bfd/bdfwin.c,
24509 support/sdbinutils/opcodes,
24510 support/sdbinutils/opcodes/ia64-opc.h:
24511 removed unused files
24512 * Makefile.in, support/scripts/sdcc.nsi, doc/sdccman.lyx,
24513 support/sdbinutils/binutils/Makefile.am,
24514 support/sdbinutils/binutils/Makefile.in,
24515 support/sdbinutils/bfd/targets.c,
24516 support/sdbinutils/binutils/ieee.c,
24517 support/sdbinutils/binutils/rddbg.c,
24518 support/sdbinutils/binutils/not-strip.c,
24519 support/sdbinutils/binutils/objcopy.c,
24520 support/sdbinutils/binutils/budbg.h,
24521 support/sdbinutils/binutils/rdcoff.c,
24522 support/sdbinutils/binutils/wrstabs.c,
24523 support/sdbinutils/binutils/debug.c,
24524 support/sdbinutils/binutils/debug.h,
24525 support/sdbinutils/binutils/stabs.c,
24526 support/sdbinutils/include/ieee.h:
24527 added binary target support, added sdobjcopy utility
24528 * support/regression/ports/ds390/spec.mk,
24529 support/regression/ports/mcs51-common/spec.mk,
24530 support/regression/ports/ucr3ka/spec.mk:
24531 increased timeouts due to the gcc-torture-execute-20050224-1
24532 regression test timeout failures
24534 2012-11-07 Borut Razem <borut.razem AT gmail.com>
24536 * support/sdbinutils/bfd/Makefile.am,
24537 support/sdbinutils/bfd/*.c:
24538 removed unused machine an backend files
24540 2012-11-06 Borut Razem <borut.razem AT gmail.com>
24542 * support/sdbinutils/bfd/targets.c:
24543 removed unneeded vectors and flavours
24544 * support/sdbinutils/bfd/targets.c,
24545 support/sdbinutils/bfd/config.bfd:
24546 support/sdbinutils/binutils/configure.in,
24547 support/sdbinutils/binutils/configure,
24548 removed all unused vectors; hardcode default target to asxxxx
24549 * support/sdbinutils/bfd/configure.in,
24550 support/sdbinutils/bfd/configure,
24551 support/sdbinutils/bfd/Makefile.in,
24552 support/sdbinutils/bfd/archures.c,
24553 support/sdbinutils/bfd/Makefile.am,
24554 support/sdbinutils/bfd/config.bfd:
24555 removed all unused architectures
24557 2012-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24559 * support/sdbinutils/bfd/targets.c: reenable asxxxx
24561 2012-11-05 Borut Razem <borut.razem AT gmail.com>
24563 * support/sdbinutils/*:
24564 sdbinutils synced with binutils-2.23
24566 2012-11-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24568 * src/z80/peeph-z80.def,
24569 src/z80/peeph-r2k.def:
24570 Fix condition on bc in peephole rule.
24572 2012-11-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24574 * support/regression/tests/gcc-torture-execute-20040313-1.c:
24575 Disabled test, since it fails on 32-bit Linux.
24577 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24579 * device/lib/pic16/startup/crt0i.c,
24580 device/lib/pic16/startup/crt0iz.c: Was reduced size of the code.
24582 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24584 * doc/sdccman.lyx: Added new pic18f97j94 family.
24586 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24588 * support/scripts/cinc2h.pl,
24589 support/scripts/pic14-header-parser.pl,
24590 support/scripts/pic16-header-parser.pl: Toggle execution flag.
24592 2012-11-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24595 Fixed bug in assignment from register pair iy to extended stack, fix #3582658.
24597 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24599 * support/scripts/cinc2h.pl: Changed option "-c" onto "-o".
24600 * support/scripts/pic14-header-parser.pl,
24601 support/scripts/pic16-header-parser.pl,
24602 support/scripts/pic16fam-h-gen.pl: Updated my email address.
24604 2012-11-02 Molnar Karoly <molnarkaroly AT users.sf.net>
24606 * device/include/pic16/pic16devices.txt,
24607 device/include/pic16/pic18fregs.h,
24608 device/lib/pic16/libio/Makefile.am,
24609 device/lib/pic16/libio/Makefile.in,
24610 device/lib/pic16/libio/adc.ignore,
24611 device/lib/pic16/libio/i2c.ignore,
24612 device/lib/pic16/libio/usart.ignore,
24613 device/non-free/include/pic16/pic18f65j94.h,
24614 device/non-free/include/pic16/pic18f66j94.h,
24615 device/non-free/include/pic16/pic18f66j99.h,
24616 device/non-free/include/pic16/pic18f67j94.h,
24617 device/non-free/include/pic16/pic18f85j94.h,
24618 device/non-free/include/pic16/pic18f86j94.h,
24619 device/non-free/include/pic16/pic18f86j99.h,
24620 device/non-free/include/pic16/pic18f87j94.h,
24621 device/non-free/include/pic16/pic18f95j94.h,
24622 device/non-free/include/pic16/pic18f96j94.h,
24623 device/non-free/include/pic16/pic18f96j99.h,
24624 device/non-free/include/pic16/pic18f97j94.h,
24625 device/non-free/lib/pic16/libdev/Makefile.am,
24626 device/non-free/lib/pic16/libdev/Makefile.in,
24627 device/non-free/lib/pic16/libdev/pic18f65j94.c,
24628 device/non-free/lib/pic16/libdev/pic18f66j94.c,
24629 device/non-free/lib/pic16/libdev/pic18f66j99.c,
24630 device/non-free/lib/pic16/libdev/pic18f67j94.c,
24631 device/non-free/lib/pic16/libdev/pic18f85j94.c,
24632 device/non-free/lib/pic16/libdev/pic18f86j94.c,
24633 device/non-free/lib/pic16/libdev/pic18f86j99.c,
24634 device/non-free/lib/pic16/libdev/pic18f87j94.c,
24635 device/non-free/lib/pic16/libdev/pic18f95j94.c,
24636 device/non-free/lib/pic16/libdev/pic18f96j94.c,
24637 device/non-free/lib/pic16/libdev/pic18f96j99.c,
24638 device/non-free/lib/pic16/libdev/pic18f97j94.c,
24639 device/non-free/lib/pic16/pics.all: Support for new devices.
24641 2012-11-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24643 * src/z80/ralloc2.cc:
24644 Fix non-destructive bitwise and with single-bit literal for extended stack operands.
24646 Fix built-in memset() for argument c in register pair hl.
24648 2012-11-01 Molnar Karoly <molnarkaroly AT users.sf.net>
24650 * device/non-free/include/pic14/pic1*.h,
24651 device/non-free/include/pic16/pic1*.h,
24652 device/non-free/lib/pic14/pic1*.c,
24653 device/non-free/lib/pic16/pic1*.c: recreated
24654 * support/scripts/cinc2h.pl: Updated my email address.
24656 2012-11-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24659 Fix long shifts for result in a permutation of operand registers.
24661 2012-10-31 Maarten Brock <sourceforge.brock AT dse.nl>
24663 * sdas/asxxxsrc/asout.c (outdp): oops, forgot to commit this
24665 2012-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.s>
24667 * sdas/asxxxsrc/asout.c (outdp): fix to match prototype
24669 2012-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
24671 * sdas/as6808/as_hc08.vcxproj,
24672 * sdas/as6808/as_hc08.vcxproj.filters,
24673 * sdas/as8051/asx8051.vcxproj,
24674 * sdas/as8051/asx8051.vcxproj.filters,
24675 * sdas/asgb/asgb.vcxproj,
24676 * sdas/asgb/asgb.vcxproj.filters,
24677 * sdas/asrab/asrab.vcxproj,
24678 * sdas/asrab/asrab.vcxproj.filters,
24679 * sdas/asz80/as_z80.vcxproj,
24680 * sdas/asz80/as_z80.vcxproj.filters: added asmcro.c
24681 * sdas/as6808/m08mch.c,
24682 * sdas/as6808/m6808.h,
24683 * sdas/asxxsrc/asxxxx.h: outdp, chkindx synced with ASxxxx v5
24684 * device/lib/_gptrput.c: lock up on code write
24686 2012-10-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24688 * support/regression/ports/ds390/spec.mk,
24689 support/regression/ports/mcs51-common/spec.mk:
24690 Slightly increase timeouts.
24691 * support/regression/tests/gcc-torture-execute-20051104-1.c,
24692 support/regression/tests/gcc-torture-execute-950426-1.c,
24693 support/regression/tests/gcc-torture-execute-20021204-1.c:
24694 Disable warning on assigning string literal to non-const pointer.
24696 2012-10-24 Philipp Klaus Krause <pkk AT spth.de>
24698 * support/regression/tests/gcc-torture-execute-20070724-1.c:
24699 Disabled test on gcc older than 5.0.
24701 2012-10-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24703 * support/regression/tests/gcc-torture-execute-20050613-1.c:
24704 Disable a test for mcs51, where it fails for stack-auto.
24706 2012-10-19 Philipp Klaus Krause <pkk AT spth.de>
24708 * support/regression/tests/gcc-torture-execute-20060929-1.c,
24709 support/regression/tests/gcc-torture-execute-20070201-1.c:
24710 Disable tests on gcc older than 5.0.
24712 2012-10-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24715 support/regression/tests/gcc-torture-execute-20060930-2.c:
24716 Fixed bug #3577673.
24717 * support/regression/tests/gcc-torture-execute-20060127-1.c,
24718 support/regression/tests/gcc-torture-execute-20060110-2.c:
24719 Note that these are affected by lack of support for long long literals.
24721 2012-10-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24723 * support/regression/tests/gcc-torture-execute-20041210-1.c,
24724 support/regression/tests/gcc-torture-execute-20050218-1.c,
24725 support/regression/tests/gcc-torture-execute-20051110-1.c,
24726 support/regression/tests/gcc-torture-execute-20041112-1.c,
24727 support/regression/tests/gcc-torture-execute-20040820-1.c,
24728 support/regression/tests/gcc-torture-execute-20040704-1.c,
24729 support/regression/tests/gcc-torture-execute-20050826-1.c,
24730 support/regression/tests/gcc-torture-execute-20040311-1.c,
24731 support/regression/tests/gcc-torture-execute-20040319-1.c,
24732 support/regression/tests/gcc-torture-execute-20051110-2.c,
24733 support/regression/tests/gcc-torture-execute-20071213-1.c,
24734 support/regression/tests/gcc-torture-execute-20040409-1.c,
24735 support/regression/tests/gcc-torture-execute-20070724-1.c,
24736 support/regression/tests/gcc-torture-execute-20050826-2.c,
24737 support/regression/tests/gcc-torture-execute-20051021-1.c,
24738 support/regression/tests/gcc-torture-execute-20050613-1.c,
24739 support/regression/tests/gcc-torture-execute-20041113-1.c,
24740 support/regression/tests/gcc-torture-execute-20050104-1.c,
24741 support/regression/tests/gcc-torture-execute-20040409-2.c,
24742 support/regression/tests/gcc-torture-execute-20071205-1.c,
24743 support/regression/tests/gcc-torture-execute-20041212-1.c,
24744 support/regression/tests/gcc-torture-execute-20040409-3.c,
24745 support/regression/tests/gcc-torture-execute-20050131-1.c,
24746 support/regression/tests/gcc-torture-execute-20040411-1.c,
24747 support/regression/tests/gcc-torture-execute-20041114-1.c,
24748 support/regression/tests/gcc-torture-execute-20040706-1.c,
24749 support/regression/tests/gcc-torture-execute-20040313-1.c,
24750 support/regression/tests/gcc-torture-execute-20040831-1.c,
24751 support/regression/tests/gcc-torture-execute-20050713-1.c,
24752 support/regression/tests/gcc-torture-execute-20111208-1.c,
24753 support/regression/tests/gcc-torture-execute-20050410-1.c,
24754 support/regression/tests/gcc-torture-execute-20040331-1.c,
24755 support/regression/tests/gcc-torture-execute-20051104-1.c,
24756 support/regression/tests/gcc-torture-execute-20071108-1.c,
24757 support/regression/tests/gcc-torture-execute-20050106-1.c,
24758 support/regression/tests/gcc-torture-execute-20041213-2.c,
24759 support/regression/tests/gcc-torture-execute-20040823-1.c,
24760 support/regression/tests/gcc-torture-execute-20040707-1.c,
24761 support/regression/tests/gcc-torture-execute-20070201-1.c,
24762 support/regression/tests/gcc-torture-execute-20071011-1.c,
24763 support/regression/tests/gcc-torture-execute-20050124-1.c,
24764 support/regression/tests/gcc-torture-execute-20071216-1.c,
24765 support/regression/tests/gcc-torture-execute-20050125-1.c,
24766 support/regression/tests/gcc-torture-execute-20040208-1.c,
24767 support/regression/tests/gcc-torture-execute-20050929-1.c,
24768 support/regression/tests/gcc-torture-execute-20071030-1.c,
24769 support/regression/tests/gcc-torture-execute-20050502-1.c,
24770 support/regression/tests/gcc-torture-execute-20040423-1.c,
24771 support/regression/tests/gcc-torture-execute-20050224-1.c,
24772 support/regression/tests/gcc-torture-execute-20041126-1.c,
24773 support/regression/tests/gcc-torture-execute-20041011-1.c,
24774 support/regression/tests/gcc-torture-execute-20071210-1.c,
24775 support/regression/tests/gcc-torture-execute-20050502-2.c,
24776 support/regression/tests/gcc-torture-execute-20041019-1.c,
24777 support/regression/tests/gcc-torture-execute-20070212-1.c,
24778 support/regression/tests/gcc-torture-execute-20040218-1.c,
24779 support/regression/tests/gcc-torture-execute-20070623-1.c,
24780 support/regression/tests/gcc-torture-execute-20071202-1.c,
24781 support/regression/tests/gcc-torture-execute-20070212-2.c,
24782 support/regression/tests/gcc-torture-execute-20051215-1.c,
24783 support/regression/tests/gcc-torture-execute-20071219-1.c,
24784 support/regression/tests/gcc-torture-execute-20070212-3.c,
24785 support/regression/tests/gcc-torture-execute-20040309-1.c,
24786 support/regression/tests/gcc-torture-execute-20050111-1.c,
24787 support/regression/tests/gcc-torture-execute-20070517-1.c,
24788 support/regression/tests/gcc-torture-execute-20040917-1.c:
24789 Added remaining parts (excluding tests for builtin functions and
24790 IEEE-compliane for floating-point) of the execute part
24791 of the gcc torture stest uite to regression tests.
24793 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24795 * device/lib/pic16/libio/i2c/i2copen.c:
24796 Bugfix: TRISCbits.TRISC2 --> TRISCbits.TRISC4
24798 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24800 * device/include/pic16/usart.h: Supplement to "USART styles".
24801 * device/lib/pic16/libio/usart/uopen.c:
24802 Use the (__SDCC_USART_STYLE == 1865850) condition.
24804 New line at the end of the "Authors and interested persons" section.
24806 2012-10-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24808 * support/regression/tests/gcc-torture-execute-20020213-1.c,
24809 support/regression/tests/gcc-torture-execute-20020615-1.c,
24810 support/regression/tests/gcc-torture-execute-20020508-1.c,
24811 support/regression/tests/gcc-torture-execute-20020911-1.c,
24812 support/regression/tests/gcc-torture-execute-20020321-1.c,
24813 support/regression/tests/gcc-torture-execute-20020402-1.c,
24814 support/regression/tests/gcc-torture-execute-20021015-1.c,
24815 support/regression/tests/gcc-torture-execute-20020920-1.c,
24816 support/regression/tests/gcc-torture-execute-20020508-2.c,
24817 support/regression/tests/gcc-torture-execute-20020402-2.c,
24818 support/regression/tests/gcc-torture-execute-20020508-3.c,
24819 support/regression/tests/gcc-torture-execute-20020510-1.c,
24820 support/regression/tests/gcc-torture-execute-20021204-1.c,
24821 support/regression/tests/gcc-torture-execute-20020206-1.c,
24822 support/regression/tests/gcc-torture-execute-20020402-3.c,
24823 support/regression/tests/gcc-torture-execute-20020805-1.c,
24824 support/regression/tests/gcc-torture-execute-20020215-1.c,
24825 support/regression/tests/gcc-torture-execute-20020904-1.c,
24826 support/regression/tests/gcc-torture-execute-20020716-1.c,
24827 support/regression/tests/gcc-torture-execute-20020413-1.c,
24828 support/regression/tests/gcc-torture-execute-20020216-1.c,
24829 support/regression/tests/gcc-torture-execute-20020503-1.c,
24830 support/regression/tests/gcc-torture-execute-20020225-1.c,
24831 support/regression/tests/gcc-torture-execute-20020118-1.c,
24832 support/regression/tests/gcc-torture-execute-20021010-1.c,
24833 support/regression/tests/gcc-torture-execute-20020127-1.c,
24834 support/regression/tests/gcc-torture-execute-20020225-2.c,
24835 support/regression/tests/gcc-torture-execute-20020529-1.c,
24836 support/regression/tests/gcc-torture-execute-20020611-1.c,
24837 support/regression/tests/gcc-torture-execute-20020619-1.c,
24838 support/regression/tests/gcc-torture-execute-20021010-2.c,
24839 support/regression/tests/gcc-torture-execute-20020423-1.c,
24840 support/regression/tests/gcc-torture-execute-20020307-1.c,
24841 support/regression/tests/gcc-torture-execute-20020226-1.c,
24842 support/regression/tests/gcc-torture-execute-20021011-1.c,
24843 support/regression/tests/gcc-torture-execute-20020201-1.c,
24844 support/regression/tests/gcc-torture-execute-20020103-1.c,
24845 support/regression/tests/gcc-torture-execute-20021118-1.c,
24846 support/regression/tests/gcc-torture-execute-20020916-1.c,
24847 support/regression/tests/gcc-torture-execute-20020720-1.c,
24848 support/regression/tests/gcc-torture-execute-20020129-1.c,
24849 support/regression/tests/gcc-torture-execute-20021118-2.c,
24850 support/regression/tests/gcc-torture-execute-20020810-1.c,
24851 support/regression/tests/gcc-torture-execute-20020219-1.c,
24852 support/regression/tests/gcc-torture-execute-20021111-1.c,
24853 support/regression/tests/gcc-torture-execute-20020506-1.c,
24854 support/regression/tests/gcc-torture-execute-20021119-1.c,
24855 support/regression/tests/gcc-torture-execute-20021118-3.c,
24856 support/regression/tests/gcc-torture-execute-20021120-1.c,
24857 support/regression/tests/gcc-torture-execute-20021120-2.c,
24858 support/regression/tests/gcc-torture-execute-20020614-1.c,
24859 support/regression/tests/gcc-torture-execute-20020819-1.c,
24860 support/regression/tests/gcc-torture-execute-20021120-3.c,
24861 support/regression/tests/gcc-torture-execute-20021219-1.c,
24862 support/regression/tests/gcc-torture-execute-20020328-1.c,
24863 support/regression/tests/gcc-torture-execute-20060929-1.c,
24864 support/regression/tests/gcc-torture-execute-20060412-1.c,
24865 support/regression/tests/gcc-torture-execute-20060930-1.c,
24866 support/regression/tests/gcc-torture-execute-20060930-2.c,
24867 support/regression/tests/gcc-torture-execute-20060905-1.c,
24868 upport/regression/tests/gcc-torture-execute-20060110-1.c,
24869 support/regression/tests/gcc-torture-execute-20060127-1.c,
24870 support/regression/tests/gcc-torture-execute-20060110-2.c,
24871 support/regression/tests/gcc-torture-execute-20060102-1.c,
24872 support/regression/tests/gcc-torture-execute-20061101-2.c,
24873 support/regression/tests/gcc-torture-execute-20060910-1.c:
24874 More tests from gcc.
24876 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24878 * support/scripts/cinc2h.pl: Comfortable version.
24879 Writes to the separate directory (device and header) the *.C and
24880 *.H files. Removed the --create-pseudo-registers option.
24882 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24884 * device/include/pic16/usart.h:
24885 Simplification the definition of __SDCC_NO_SPBRGH.
24886 Thanks to Diego Herranz.
24888 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24890 * support/scripts/pic18fam-h-gen.pl,
24891 device/non-free/include/pic16/pic18fam.h:
24892 Repaired the wrong classification of "__SDCC_PIC16_FAMILY 1865850"
24893 in the (E)USART style.
24895 2012-10-16 Molnar Karoly <molnarkaroly AT users.sf.net>
24897 * doc/sdccman.lyx: Added the new pic processors.
24899 2012-10-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24902 Fixed typo in --std-c89 option description.
24904 2012-10-16 Borut Razem <borut.razem AT gmail.com>
24906 * support/sdbinutils/opcodes/ia64-opc.h:
24907 fixed bug #3577586 - missing binutils headers on ia64
24909 2012-10-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
24911 * device/include/mcs51/lint.h:
24912 Fixed bug #3577318.
24914 2012-10-13 Maarten Brock <sourceforge.brock AT dse.nl>
24916 * sdas/as6808/m08mch.c,
24917 * sdas/as6808/m08pst.c,
24918 * sdas/as6808/m6808.h,
24919 * sdas/as6808/Makefile.in,
24920 * sdas/as8051/i51mch.c,
24921 * sdas/as8051/i51pst.c,
24922 * sdas/as8051/Makefile.in,
24924 * sdas/asgb/gbadr.c,
24925 * sdas/asgb/gbmch.c,
24926 * sdas/asgb/Makefile.in,
24927 * sdas/asrab/Makefile.in,
24928 * sdas/asrab/rab.h,
24929 * sdas/asrab/rabadr.c,
24930 * sdas/asrab/rabmch.c,
24931 * sdas/asrab/rabpst.c,
24932 * sdas/asxxsrc/asdata.c,
24933 * sdas/asxxsrc/asexpr.c,
24934 * sdas/asxxsrc/aslex.c,
24935 * sdas/asxxsrc/aslist.c,
24936 * sdas/asxxsrc/asmain.c,
24937 * sdas/asxxsrc/asxxxx.h,
24938 * sdas/asxxsrc/asmcro.c,
24939 * sdas/asz80/Makefile.in,
24940 * sdas/asz80/z80.h,
24941 * sdas/asz80/z80adr.c,
24942 * sdas/asz80/z80mch.c,
24943 * sdas/asz80/z80pst.c: added ASxxxx v5 macro support
24945 2012-10-13 Philipp Klaus Krause <pkk AT spth.de>
24947 * src/SDCCtree_dec.hpp,
24948 src/SDCCralloc.hpp:
24949 Fixed bug #3566360.
24951 2012-10-08 Borut Razem <borut.razem AT gmail.com>
24953 * support/sdbinutils/include/opcode/ia64.h: added since build
24954 on IA64 fails with elf64-ia64.c:27:25: error: opcode/ia64.h:
24955 No such file or directory
24957 2012-10-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
24959 * src/mcs51/gen.c (genPagedPointerGet): fixed bug #3527222
24960 * support/regression/tests/gcc-torture-execute-921013-1.c: reenabled
24961 * src/mcs51/gen.c (genCast),
24962 * src/ds390/gen.c (genCast): fixed bug3467508 regression test failures
24963 * support/regression/tests/bug3467508.c: reenabled for mcs51 and ds390
24965 2012-10-08 Maarten Brock <sourceforge.brock AT dse.nl>
24967 * sdas/asgb/asgb.vcxproj,
24968 * sdas/asgb/asgb.vcxproj.filters,
24969 * sdas/asgb/Makefile.in,
24970 * sdas/asgb/gbext.c: removed gbext.c
24971 * sdas/as8051/i51mch.c,
24972 * sdas/as8051/i8051.h,
24973 * sdas/asgb/gbadr.c,
24974 * sdas/asgb/gbmch.c,
24975 * sdas/asrab/rabadr.c,
24976 * sdas/asz80/z80adr.c,
24977 * sdas/asxxsrc/asdata.c,
24978 * sdas/asxxsrc/aslist.c,
24979 * sdas/asxxsrc/asout.c,
24980 * sdas/asxxsrc/asxxxx.h: and yet another step towards ASxxxx v5
24982 2012-10-06 Maarten Brock <sourceforge.brock AT dse.nl>
24984 * sdas/as6808/m08pst.c,
24985 * sdas/as8051/i51pst.c,
24986 * sdas/asgb/gbpst.c,
24987 * sdas/asrab/rabpst.c,
24988 * sdas/asz80/z80pst.c,
24989 * sdas/asxxsrc/asdata.c,
24990 * sdas/asxxsrc/asdbg.c,
24991 * sdas/asxxsrc/aslex.c,
24992 * sdas/asxxsrc/aslist.c,
24993 * sdas/asxxsrc/asmain.c,
24994 * sdas/asxxsrc/assubr.c,
24995 * sdas/asxxsrc/asxxxx.h: use ASxxxx v5 file structs
24997 2012-10-06 Borut Razem <borut.razem AT gmail.com>
24999 * support/scripts/optimize_pic16devices.pl:
25000 updated with the latest version from Molnar Karoly
25001 * support/scripts/pic14-header-parser.pl,
25002 support/scripts/pic16-header-parser.pl: applied patch #3567006 -
25003 New support/scripts/pic1[46]-header-parser.pl,
25004 thanks to Molnar Karoly
25006 2012-10-05 Borut Razem <borut.razem AT gmail.com>
25008 * support/scripts/zip-pic16devices.pl,
25009 device/include/pic16/pic16devices.txt:
25010 applied patch #3574556 - Compressed pic16devices.txt file,
25011 thanks to Molnar Karoly
25012 * support/scripts/optimize_pic16devices.pl:
25013 renamed from zip-pic16devices.pl
25014 * support/scripts/inc2h-pic16.pl, support/scripts/inc2h.pl:
25015 removed, functionaly replaced by cinc2h.pl
25017 2012-10-03 Maarten Brock <sourceforge.brock AT dse.nl>
25019 * sdas/asxxsrc/asdata.c,
25020 * sdas/asxxsrc/asdbg.c,
25021 * sdas/asxxsrc/asexpr.c,
25022 * sdas/asxxsrc/aslex.c,
25023 * sdas/asxxsrc/aslist.c,
25024 * sdas/asxxsrc/asmain.c,
25025 * sdas/asxxsrc/asout.c,
25026 * sdas/asxxsrc/asxxxx.h: another step to ASxxxx v5
25028 2012-10-03 Borut Razem <borut.razem AT gmail.com>
25030 * device/non-free/lib/pic16/libdev/mkmk.sh:
25031 applied patch #3574102 - Modification of device/non-free/lib/pic16/libdev/mkmk.sh
25033 2012-10-02 Borut Razem <borut.razem AT gmail.com>
25035 * device/include/pic16/pic18fregs.h,
25036 device/include/pic16/pic16devices.txt,
25037 device/lib/pic16/libio/Makefile.am,
25038 device/lib/pic16/libio/adc.ignore,
25039 device/lib/pic16/libio/i2c.ignore,
25040 device/lib/pic16/libio/usart.ignore,
25041 device/lib/pic16/libio/Makefile.in,
25042 device/non-free/lib/pic16/libdev/Makefile.in,
25043 device/non-free/lib/pic16/libdev/Makefile.am,
25044 device/non-free/lib/pic16/pics.all,
25045 device/non-free/include/pic16pic18f13k22.h,
25046 device/non-free/lib/pic16/libdev/pic18f13k22.c,
25047 device/non-free/include/pic16pic18f14k22.h,
25048 device/non-free/lib/pic16/libdev/pic18f14k22.c,
25049 device/non-free/include/pic16pic18f24j11.h,
25050 device/non-free/lib/pic16/libdev/pic18f24j11.c,
25051 device/non-free/include/pic16pic18f24k50.h,
25052 device/non-free/lib/pic16/libdev/pic18f24k50.c,
25053 device/non-free/include/pic16pic18f25j11.h,
25054 device/non-free/lib/pic16/libdev/pic18f25j11.c,
25055 device/non-free/include/pic16pic18f25k50.h,
25056 device/non-free/lib/pic16/libdev/pic18f25k50.c,
25057 device/non-free/include/pic16pic18f25k80.h,
25058 device/non-free/lib/pic16/libdev/pic18f25k80.c,
25059 device/non-free/include/pic16pic18f26j11.h,
25060 device/non-free/lib/pic16/libdev/pic18f26j11.c,
25061 device/non-free/include/pic16pic18f26j13.h,
25062 device/non-free/lib/pic16/libdev/pic18f26j13.c,
25063 device/non-free/include/pic16pic18f26j53.h,
25064 device/non-free/lib/pic16/libdev/pic18f26j53.c,
25065 device/non-free/include/pic16pic18f26k80.h,
25066 device/non-free/lib/pic16/libdev/pic18f26k80.c,
25067 device/non-free/include/pic16pic18f27j13.h,
25068 device/non-free/lib/pic16/libdev/pic18f27j13.c,
25069 device/non-free/include/pic16pic18f27j53.h,
25070 device/non-free/lib/pic16/libdev/pic18f27j53.c,
25071 device/non-free/include/pic16pic18f44j11.h,
25072 device/non-free/lib/pic16/libdev/pic18f44j11.c,
25073 device/non-free/include/pic16pic18f45j11.h,
25074 device/non-free/lib/pic16/libdev/pic18f45j11.c,
25075 device/non-free/include/pic16pic18f45k50.h,
25076 device/non-free/lib/pic16/libdev/pic18f45k50.c,
25077 device/non-free/include/pic16pic18f45k80.h,
25078 device/non-free/lib/pic16/libdev/pic18f45k80.c,
25079 device/non-free/include/pic16pic18f46j11.h,
25080 device/non-free/lib/pic16/libdev/pic18f46j11.c,
25081 device/non-free/include/pic16pic18f46j13.h,
25082 device/non-free/lib/pic16/libdev/pic18f46j13.c,
25083 device/non-free/include/pic16pic18f46j53.h,
25084 device/non-free/lib/pic16/libdev/pic18f46j53.c,
25085 device/non-free/include/pic16pic18f46k80.h,
25086 device/non-free/lib/pic16/libdev/pic18f46k80.c,
25087 device/non-free/include/pic16pic18f47j13.h,
25088 device/non-free/lib/pic16/libdev/pic18f47j13.c,
25089 device/non-free/include/pic16pic18f47j53.h,
25090 device/non-free/lib/pic16/libdev/pic18f47j53.c,
25091 device/non-free/include/pic16pic18f63j11.h,
25092 device/non-free/lib/pic16/libdev/pic18f63j11.c,
25093 device/non-free/include/pic16pic18f63j90.h,
25094 device/non-free/lib/pic16/libdev/pic18f63j90.c,
25095 device/non-free/include/pic16pic18f64j11.h,
25096 device/non-free/lib/pic16/libdev/pic18f64j11.c,
25097 device/non-free/include/pic16pic18f64j90.h,
25098 device/non-free/lib/pic16/libdev/pic18f64j90.c,
25099 device/non-free/include/pic16pic18f65j10.h,
25100 device/non-free/lib/pic16/libdev/pic18f65j10.c,
25101 device/non-free/include/pic16pic18f65j11.h,
25102 device/non-free/lib/pic16/libdev/pic18f65j11.c,
25103 device/non-free/include/pic16pic18f65j15.h,
25104 device/non-free/lib/pic16/libdev/pic18f65j15.c,
25105 device/non-free/include/pic16pic18f65j90.h,
25106 device/non-free/lib/pic16/libdev/pic18f65j90.c,
25107 device/non-free/include/pic16pic18f65k22.h,
25108 device/non-free/lib/pic16/libdev/pic18f65k22.c,
25109 device/non-free/include/pic16pic18f65k80.h,
25110 device/non-free/lib/pic16/libdev/pic18f65k80.c,
25111 device/non-free/include/pic16pic18f65k90.h,
25112 device/non-free/lib/pic16/libdev/pic18f65k90.c,
25113 device/non-free/include/pic16pic18f66j10.h,
25114 device/non-free/lib/pic16/libdev/pic18f66j10.c,
25115 device/non-free/include/pic16pic18f66j11.h,
25116 device/non-free/lib/pic16/libdev/pic18f66j11.c,
25117 device/non-free/include/pic16pic18f66j15.h,
25118 device/non-free/lib/pic16/libdev/pic18f66j15.c,
25119 device/non-free/include/pic16pic18f66j16.h,
25120 device/non-free/lib/pic16/libdev/pic18f66j16.c,
25121 device/non-free/include/pic16pic18f66j90.h,
25122 device/non-free/lib/pic16/libdev/pic18f66j90.c,
25123 device/non-free/include/pic16pic18f66j93.h,
25124 device/non-free/lib/pic16/libdev/pic18f66j93.c,
25125 device/non-free/include/pic16pic18f66k22.h,
25126 device/non-free/lib/pic16/libdev/pic18f66k22.c,
25127 device/non-free/include/pic16pic18f66k80.h,
25128 device/non-free/lib/pic16/libdev/pic18f66k80.c,
25129 device/non-free/include/pic16pic18f66k90.h,
25130 device/non-free/lib/pic16/libdev/pic18f66k90.c,
25131 device/non-free/include/pic16pic18f67j10.h,
25132 device/non-free/lib/pic16/libdev/pic18f67j10.c,
25133 device/non-free/include/pic16pic18f67j11.h,
25134 device/non-free/lib/pic16/libdev/pic18f67j11.c,
25135 device/non-free/include/pic16pic18f67j90.h,
25136 device/non-free/lib/pic16/libdev/pic18f67j90.c,
25137 device/non-free/include/pic16pic18f67j93.h,
25138 device/non-free/lib/pic16/libdev/pic18f67j93.c,
25139 device/non-free/include/pic16pic18f67k22.h,
25140 device/non-free/lib/pic16/libdev/pic18f67k22.c,
25141 device/non-free/include/pic16pic18f67k90.h,
25142 device/non-free/lib/pic16/libdev/pic18f67k90.c,
25143 device/non-free/include/pic16pic18f83j11.h,
25144 device/non-free/lib/pic16/libdev/pic18f83j11.c,
25145 device/non-free/include/pic16pic18f83j90.h,
25146 device/non-free/lib/pic16/libdev/pic18f83j90.c,
25147 device/non-free/include/pic16pic18f84j11.h,
25148 device/non-free/lib/pic16/libdev/pic18f84j11.c,
25149 device/non-free/include/pic16pic18f84j90.h,
25150 device/non-free/lib/pic16/libdev/pic18f84j90.c,
25151 device/non-free/include/pic16pic18f85j10.h,
25152 device/non-free/lib/pic16/libdev/pic18f85j10.c,
25153 device/non-free/include/pic16pic18f85j11.h,
25154 device/non-free/lib/pic16/libdev/pic18f85j11.c,
25155 device/non-free/include/pic16pic18f85j15.h,
25156 device/non-free/lib/pic16/libdev/pic18f85j15.c,
25157 device/non-free/include/pic16pic18f85j90.h,
25158 device/non-free/lib/pic16/libdev/pic18f85j90.c,
25159 device/non-free/include/pic16pic18f85k22.h,
25160 device/non-free/lib/pic16/libdev/pic18f85k22.c,
25161 device/non-free/include/pic16pic18f85k90.h,
25162 device/non-free/lib/pic16/libdev/pic18f85k90.c,
25163 device/non-free/include/pic16pic18f86j10.h,
25164 device/non-free/lib/pic16/libdev/pic18f86j10.c,
25165 device/non-free/include/pic16pic18f86j11.h,
25166 device/non-free/lib/pic16/libdev/pic18f86j11.c,
25167 device/non-free/include/pic16pic18f86j15.h,
25168 device/non-free/lib/pic16/libdev/pic18f86j15.c,
25169 device/non-free/include/pic16pic18f86j16.h,
25170 device/non-free/lib/pic16/libdev/pic18f86j16.c,
25171 device/non-free/include/pic16pic18f86j72.h,
25172 device/non-free/lib/pic16/libdev/pic18f86j72.c,
25173 device/non-free/include/pic16pic18f86j90.h,
25174 device/non-free/lib/pic16/libdev/pic18f86j90.c,
25175 device/non-free/include/pic16pic18f86j93.h,
25176 device/non-free/lib/pic16/libdev/pic18f86j93.c,
25177 device/non-free/include/pic16pic18f86k22.h,
25178 device/non-free/lib/pic16/libdev/pic18f86k22.c,
25179 device/non-free/include/pic16pic18f86k90.h,
25180 device/non-free/lib/pic16/libdev/pic18f86k90.c,
25181 device/non-free/include/pic16pic18f87j10.h,
25182 device/non-free/lib/pic16/libdev/pic18f87j10.c,
25183 device/non-free/include/pic16pic18f87j11.h,
25184 device/non-free/lib/pic16/libdev/pic18f87j11.c,
25185 device/non-free/include/pic16pic18f87j72.h,
25186 device/non-free/lib/pic16/libdev/pic18f87j72.c,
25187 device/non-free/include/pic16pic18f87j90.h,
25188 device/non-free/lib/pic16/libdev/pic18f87j90.c,
25189 device/non-free/include/pic16pic18f87j93.h,
25190 device/non-free/lib/pic16/libdev/pic18f87j93.c,
25191 device/non-free/include/pic16pic18f87k22.h,
25192 device/non-free/lib/pic16/libdev/pic18f87k22.c,
25193 device/non-free/include/pic16pic18f87k90.h,
25194 device/non-free/lib/pic16/libdev/pic18f87k90.c,
25195 device/non-free/include/pic16pic18f2439.h,
25196 device/non-free/lib/pic16/libdev/pic18f2439.c,
25197 device/non-free/include/pic16pic18f2458.h,
25198 device/non-free/lib/pic16/libdev/pic18f2458.c,
25199 device/non-free/include/pic16pic18f2539.h,
25200 device/non-free/lib/pic16/libdev/pic18f2539.c,
25201 device/non-free/include/pic16pic18f2553.h,
25202 device/non-free/lib/pic16/libdev/pic18f2553.c,
25203 device/non-free/include/pic16pic18f4439.h,
25204 device/non-free/lib/pic16/libdev/pic18f4439.c,
25205 device/non-free/include/pic16pic18f4458.h,
25206 device/non-free/lib/pic16/libdev/pic18f4458.c,
25207 device/non-free/include/pic16pic18f4539.h,
25208 device/non-free/lib/pic16/libdev/pic18f4539.c,
25209 device/non-free/include/pic16pic18f4553.h,
25210 device/non-free/lib/pic16/libdev/pic18f4553.c,
25211 device/non-free/include/pic16pic18f6310.h,
25212 device/non-free/lib/pic16/libdev/pic18f6310.c,
25213 device/non-free/include/pic16pic18f6390.h,
25214 device/non-free/lib/pic16/libdev/pic18f6390.c,
25215 device/non-free/include/pic16pic18f6393.h,
25216 device/non-free/lib/pic16/libdev/pic18f6393.c,
25217 device/non-free/include/pic16pic18f6410.h,
25218 device/non-free/lib/pic16/libdev/pic18f6410.c,
25219 device/non-free/include/pic16pic18f6490.h,
25220 device/non-free/lib/pic16/libdev/pic18f6490.c,
25221 device/non-free/include/pic16pic18f6493.h,
25222 device/non-free/lib/pic16/libdev/pic18f6493.c,
25223 device/non-free/include/pic16pic18f6525.h,
25224 device/non-free/lib/pic16/libdev/pic18f6525.c,
25225 device/non-free/include/pic16pic18f6621.h,
25226 device/non-free/lib/pic16/libdev/pic18f6621.c,
25227 device/non-free/include/pic16pic18f6628.h,
25228 device/non-free/lib/pic16/libdev/pic18f6628.c,
25229 device/non-free/include/pic16pic18f6723.h,
25230 device/non-free/lib/pic16/libdev/pic18f6723.c,
25231 device/non-free/include/pic16pic18f8310.h,
25232 device/non-free/lib/pic16/libdev/pic18f8310.c,
25233 device/non-free/include/pic16pic18f8390.h,
25234 device/non-free/lib/pic16/libdev/pic18f8390.c,
25235 device/non-free/include/pic16pic18f8393.h,
25236 device/non-free/lib/pic16/libdev/pic18f8393.c,
25237 device/non-free/include/pic16pic18f8410.h,
25238 device/non-free/lib/pic16/libdev/pic18f8410.c,
25239 device/non-free/include/pic16pic18f8490.h,
25240 device/non-free/lib/pic16/libdev/pic18f8490.c,
25241 device/non-free/include/pic16pic18f8493.h,
25242 device/non-free/lib/pic16/libdev/pic18f8493.c,
25243 device/non-free/include/pic16pic18f8525.h,
25244 device/non-free/lib/pic16/libdev/pic18f8525.c,
25245 device/non-free/include/pic16pic18f8621.h,
25246 device/non-free/lib/pic16/libdev/pic18f8621.c,
25247 device/non-free/include/pic16pic18f8628.h,
25248 device/non-free/lib/pic16/libdev/pic18f8628.c,
25249 device/non-free/include/pic16pic18f8723.h,
25250 device/non-free/lib/pic16/libdev/pic18f8723.c:
25251 applied patch #3573506 - Support of new PIC18Fxxx devices
25252 thanks to Molnar Karoly
25253 * device/include/pic16/pic18fregs.h:
25254 applied patch #3573796 - Correction the bug of pic18fregs.h
25255 thanks to Molnar Karoly
25257 2012-09-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25265 A bit of consistency in port structure style.
25267 2012-10-01 Borut Razem <borut.razem AT gmail.com>
25269 * support/scripts/cinc2h.pl:
25270 applied patch #3572693: Correction of cinc2h.pl
25271 thanks to Molnar Karoly
25272 * device/non-free/include/pic14/*.h,
25273 device/non-free/lib/pic14/libdev/*.c,
25274 device/non-free/include/pic16/*.h,
25275 device/non-free/lib/pic16/libdev/*.c,
25276 device/lib/pic16/libio/usart/uopen.c: applied patch #3571327 -
25277 Regenerate the DEVICE.[ch] files with the cinc2h.pl program.
25278 thanks to Molnar Karoly
25280 2012-09-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25282 * device/lib/r2k/crt0.s,
25283 device/lib/z180/crt0.s,
25284 device/lib/r3ka/crt0.s,
25285 device/lib/z80/crt0.s,
25286 device/lib/z80/crtcall.s,
25297 Most of RFE #3565759.
25298 * device/lib/r2k/Makefile.in,
25299 device/lib/z180/Makefile.in,
25300 device/lib/r3ka/Makefile.in,
25301 device/lib/z80/Makefile.in:
25302 Removed obsolete RLE initialization support.
25304 2012-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
25306 * sdas/as6808/m08pst.c,
25307 * sdas/as8051/i51pst.c,
25308 * sdas/asgb/gbpst.c,
25309 * sdas/asrab/rabpst.c,
25310 * sdas/asz80/z80pst.c,
25311 * sdas/asxxsrc/asdata.c,
25312 * sdas/asxxsrc/asmain.c,
25313 * sdas/asxxsrc/asxxxx.h: next step to ASxxxx v5
25315 2012-09-27 Borut Razem <borut.razem AT gmail.com>
25317 * support/scripts/inc2h.pl, support/scripts/cinc2h.pl,
25318 support/scripts/inc2h-pic16.pl: fixed typo tbut
25320 2012-09-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25322 * support/regression/tests/bug3467508.c:
25323 Regression test for bug #3467508.
25325 2012-09-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25327 * src/SDCCast.c (decorateType): fixed bug #3467508
25329 2012-09-26 Borut Razem <borut.razem AT gmail.com>
25331 * support/scripts/cinc2h.pl: added,
25332 thanks to Molnar Karoly
25334 2012-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
25336 * sdas/asrab/rabbitext.c: removed
25337 * sdas/asrab/rabbit.h, sdas/asrab/rab.h,
25338 * sdas/asrab/rabbitadr.c, sdas/asrab/rabadr.c,
25339 * sdas/asrab/rabbitmch.c, sdas/asrab/rabmch.c,
25340 * sdas/asrab/rabbitpst.c, sdas/asrab/rabpst.c: renamed
25341 * sdas/asrab/asrab.vcxproj,
25342 * sdas/asrab/asrab.vcxproj.filters,
25343 * sdas/asrab/Makefile.in: updated
25344 * sdas/as6808/m08pst.c,
25345 * sdas/as8051/i51pst.c,
25346 * sdas/asgb/gbpst.c,
25347 * sdas/asrab/rabpst.c,
25348 * sdas/asz80/z80pst.c,
25349 * sdas/asxxsrc/asmain.c,
25350 * sdas/asxxsrc/asxxxx.h: next small steps towards ASxxxx v5
25352 2012-09-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25354 * src/SDCCicode.c (geniCodePostInc/Dec, geniCodePreInc/Dec):
25356 * support/regression/tests/gcc-tortute-execute-950426-1.c:
25359 2012-09-23 Maarten Brock <sourceforge.brock AT dse.nl>
25361 * sdas/asxxsrc/asdata.c,
25362 * sdas/asxxsrc/asdbg.c,
25363 * sdas/asxxsrc/aslist.c,
25364 * sdas/asxxsrc/asmain.c,
25365 * sdas/asxxsrc/assym.c,
25366 * sdas/asxxsrc/aslex.c,
25367 * sdas/asxxsrc/assubr.c,
25368 * sdas/asxxsrc/asxxxx.h: next small steps towards ASxxxx v5
25370 2012-09-19 Maarten Brock <sourceforge.brock AT dse.nl>
25372 * sdas/asz80/Makefile.in,
25373 * sdas/asz80/as_z80.vcxproj,
25374 * sdas/asz80/as_z80.vcxproj.filters,
25375 * sdas/asz80/z80ext.c: removed z80ext.c
25376 * sdas/as8051/i51mch.c,
25377 * sdas/asxxsrc/asmain.c,
25378 * sdas/asz80/z80.h,
25379 * sdas/asz80/z80mch.c: small step towards ASxxxx v5
25381 2012-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25383 * src/pic16/glue.c (pic16_initPointer): fixed pointer initialization
25384 from address of struct/union
25386 2012-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
25388 * sdas/asxxsrc/asdata.c,
25389 * sdas/asxxsrc/asexpr.c,
25390 * sdas/asxxsrc/aslist.c,
25391 * sdas/asxxsrc/asmain.c,
25392 * sdas/asxxsrc/asxxxx.h,
25393 * sdas/linksrc/aslink.h,
25394 * sdas/linksrc/lklist.c,
25396 * src/mcs51/main.c,
25397 * src/z80/main.c: again a small step towards ASxxxx v5
25399 2012-09-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25401 * src/z80/ralloc2.cc (inst_sane): fixed bug #3558402
25403 2012-09-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25405 * support/regression/tests/bug3564649.c:
25406 Disable test for host, since we cannot assume C11 support yet.
25408 2012-09-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25410 * support/regression/tests/gcc-torture-execute-20030209-1.c:
25411 Reduced array size, reenabled test.
25412 * support/regression/tests/gcc-torture-execute-991016-1.c:
25413 Enabled test for targets that support long long, since returning long long was implemented some time ago.
25415 2012-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25417 * src/SDCCglue.c (emitRegularMap, printIvalType, printIvalBitFields),
25418 * src/SDCCast.c (constExprValue): fixed bug #3560781 and related
25419 * support/regression/tests/bug3564649.c: ensure noreturn function
25422 2012-09-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25425 More efficient stack pointer restoration.
25426 * support/regression/tests/bug3564649.c:
25427 Regression test for bug #3564649.
25429 2012-09-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25431 * support/valdiag/tests/tentdecl.c,
25432 * support/valdiag/tests/primtypes.c,
25433 * support/valdiag/tests/constantRange.c,
25434 * support/valdiag/tests/funcdec.c,
25435 * support/valdiag/tests/overflow.c,
25436 * support/valdiag/Makefile.in,
25437 * support/valdiag/valdiag.py: update to work with current SDCC version
25439 2012-09-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25441 * src/SDCCBBlock.c (iCode2eBBlock),
25442 * src/SDCCcflow.c (eBBSuccessors): fixed bug #3564649
25444 2012-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
25446 * sdas/as8051/i51mch.c,
25447 * sdas/as8051/i8051.h,
25448 * sdas/asxxsrc/asdata.c,
25449 * sdas/asxxsrc/asxxxx.h: another small step towards ASxxxx v5
25451 2012-09-12 Leland Morrison <enigmalee AT sourceforge.net>
25453 * sdas/asz80/z80.h, sdas/asz80/z80pst.c, sdas/asz80/z80mch.c,
25454 * sdas/asz80/z80adr.c: added support for undocument z80 instructions
25456 2012-09-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25459 * src/SDCCicode.c (isOperandInBitSpace): new function
25460 * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #3564969
25462 2012-09-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25464 * src/SDCCsymt.c (computeType): fixed bug #3564104
25465 * support/regression/tests/bug3564104.c: reenabled test
25467 2012-09-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25470 Fixed bug #3566191 by disabling register tracking for iy.
25473 Enabled rematerialization by register allocation for gbz80.
25475 2012-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25477 * support/regression/tests/inline.c: added test for bug #3564755
25478 * support/regression/tests/bug3565757.c: temporarily disabled bool
25480 * src/SDCCast.c: fixed bugs #3566114 and #3539508
25482 2012-09-09 Borut Razem <borut.razem AT gmail.com>
25484 * configure.in, configure, sdccconf_in.h:
25485 removed (commented out) avr and xa51 configuration options
25487 2012-09-09 Maarten Brock <sourceforge.brock AT dse.nl>
25489 * sdas/as8051/Makefile.in,
25490 * sdas/as8051/asx8051.vcxproj,
25491 * sdas/as8051/asx8051.vcxproj.filters,
25492 * sdas/as8051/i51ext.c: removed i51ext.c
25493 * sdas/as6808/m08mch.c, sdas/as6808/m08pst.c,
25494 * sdas/as8051/i51mch.c, sdas/as8051/i51pst.c,
25495 * sdas/asgb/gbmch.c, sdas/asgb/gbpst.c,
25496 * sdas/asrab/rabbitmch.c, sdas/asrab/rabbitpst.c,
25497 * sdas/asz80/z80mch.c, sdas/asz80/z80pst.c,
25498 * sdas/asxxsrc/asdata.c, sdas/asxxsrc/asexpr.c,
25499 * sdas/asxxsrc/aslist.c, sdas/asxxsrc/asmain.c,
25500 * sdas/asxxsrc/asout.c, sdas/asxxsrc/asxxxx.h: small step towards ASxxxx v5
25501 * src/mcs51/gen.c(freeAsmop): fix for MSVC
25502 * src/SDCCsymt.c(typeFromStr): added 'C' for const
25503 * src/z80/main.c(_z80_builtins): use 'C' to fix warnings
25505 2012-09-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25508 support/regression/tests/bug3565757.c:
25509 Fixed bug #3565757.
25511 2012-09-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25514 support/regression/tests/bug3559997.c:
25515 Fixed bug #3559997.
25517 2012-09-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25519 * src/SDCCsymt.c (checkSClass),
25520 * src/SDCCast.c (expandInlineFuncs): fixed bug #3564755
25522 2012-09-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25524 * src/SDCCval.c (cheapestVal): fixed bug #3563977
25525 * support/regression/tests/enum.c: tests added for bug #3563977
25527 2012-09-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25529 * src/SDCCicode.c (operandOperation): fixed bug #3537139
25531 2012-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25533 * sdas/linksrc/aslink.h,
25534 * sdas/linksrc/lkarea.c,
25535 * sdas/linksrc/lkelf.c,
25536 * src/hc08/gen.c: Fixed bug #3536431
25538 2012-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25540 * src/SDCClospre.hpp:
25541 More verbose lospre debug output.
25542 * support/regression/tests/bug3564104.c:
25543 Regression test for #3564104.
25545 2012-08-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25547 * src/z80/ralloc2.cc,
25549 Fix for handling of parameters in the z80-related ports.
25551 2012-08-27 Borut Razem <borut.razem AT gmail.com>
25554 fixed muldiv regression test failures on ARM architecture
25556 2012-08-25 Borut Razem <borut.razem AT gmail.com>
25559 fixed muldiv regression test failures on ARM architecture
25561 2012-08-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25564 support/regression/tests/bug3561215.c:
25565 Fixed bug #3561215.
25567 2012-08-22 Maarten Brock <sourceforge.brock AT dse.nl>
25569 * src/mcs51/gen.c: Reinserted break in proper context
25571 2012-08-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25574 Remove out-of-context break.
25576 2012-08-20 Maarten Brock <sourceforge.brock AT dse.nl>
25578 * src/mcs51/gen.c (aopPtrForSym): added warning for memory space overflow,
25580 (freeForBranchAsmop, freeForBranchAsmops): need extra ic parameter
25581 (aopPut, genFarPointerSet): partial fix for bug 3534523
25583 2012-08-17 Borut Razem <borut.razem AT gmail.com>
25585 * src/SDCCasm.c, SDCCsymt.h: fixed failing regression tests if
25586 sdcc compiled on ARM architecture where default "char" is "unsigned char"
25588 2012-08-13 Borut Razem <borut.razem AT gmail.com>
25590 * support/regression/tests/bitvars.c,
25591 support/regression/tests/funsigned-char.c:
25592 fixed for gcc hosts with unsigned char (ARM architecture)
25594 2012-08-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25597 Improve code generation for and with result in register and bit complement operand.
25599 2012-08-04 Borut Razem <borut.razem AT gmail.com>
25601 * device/include/pic14/pic14devices.txt:
25602 applied patch minor-pic12lf1552-error.diff from
25603 #3553952 - "New devices to pic14 series and pic16fam-h-gen.pl update II."
25604 thanks to Molnar Karoly
25606 2012-08-03 Borut Razem <borut.razem AT gmail.com>
25608 * support/scripts/pic16fam-h-gen.pl,
25609 device/include/pic14/pic14devices.txt,
25610 device/non-free/lib/pic14/libdev/devices.txt,
25611 device/non-free/lib/pic14/libdev/Makefile.in,
25612 device/non-free/include/pic14/pic16fam.h,
25613 doc/sdccman.lyx: updated,
25614 device/non-free/include/pic14/pic16f723a.h,
25615 device/non-free/include/pic14/pic16f1512.h,
25616 device/non-free/include/pic14/pic16f723.h,
25617 device/non-free/include/pic14/pic16f727.h,
25618 device/non-free/include/pic14/pic12f617.h,
25619 device/non-free/include/pic14/pic16f1513.h,
25620 device/non-free/include/pic14/pic12f609.h,
25621 device/non-free/include/pic14/pic16f724.h,
25622 device/non-free/include/pic14/pic16f707.h,
25623 device/non-free/include/pic14/pic12lf1552.h,
25624 device/non-free/include/pic14/pic16f610.h,
25625 device/non-free/include/pic14/pic16f631.h,
25626 device/non-free/include/pic14/pic16f677.h,
25627 device/non-free/include/pic14/pic16f722a.h,
25628 device/non-free/include/pic14/pic12f615.h,
25629 device/non-free/include/pic14/pic16f722.h,
25630 device/non-free/include/pic14/pic16f726.h,
25631 device/non-free/lib/pic14/libdev/pic16f723.c,
25632 device/non-free/lib/pic14/libdev/pic16f727.c,
25633 device/non-free/lib/pic14/libdev/pic12f617.c,
25634 device/non-free/lib/pic14/libdev/pic16f1513.c,
25635 device/non-free/lib/pic14/libdev/pic12f609.c,
25636 device/non-free/lib/pic14/libdev/pic16f724.c,
25637 device/non-free/lib/pic14/libdev/pic16f707.c,
25638 device/non-free/lib/pic14/libdev/pic12lf1552.c,
25639 device/non-free/lib/pic14/libdev/pic16f610.c,
25640 device/non-free/lib/pic14/libdev/pic16f631.c,
25641 device/non-free/lib/pic14/libdev/pic16f677.c,
25642 device/non-free/lib/pic14/libdev/pic16f722a.c,
25643 device/non-free/lib/pic14/libdev/pic12f615.c,
25644 device/non-free/lib/pic14/libdev/pic16f722.c,
25645 device/non-free/lib/pic14/libdev/pic16f726.c,
25646 device/non-free/lib/pic14/libdev/pic16f723a.c,
25647 device/non-free/lib/pic14/libdev/pic16f1512.c: added,
25648 applied patch #3553952 - "New devices to pic14 series and pic16fam-h-gen.pl update II."
25649 thanks to Molnar Karoly
25650 * device/non-free/include/pic14/pic16f1516.h,
25651 device/non-free/include/pic14/pic16f1517.h,
25652 device/non-free/include/pic14/pic16f1518.h,
25653 device/non-free/include/pic14/pic16f1519.h:
25654 applied patch #3553938 - "pic16f151[6-9].h unnecessary ANSC[01] bits"
25655 thanks to Molnar Karoly
25657 2012-08-01 Borut Razem <borut.razem AT gmail.com>
25659 * device/non-free/include/pic14/pic12f752.h,
25660 device/non-free/include/pic14/pic16f1784.h,
25661 device/non-free/include/pic14/pic10f322.h,
25662 device/non-free/include/pic14/pic16f1454.h,
25663 device/non-free/include/pic14/pic16f1786.h,
25664 device/non-free/include/pic14/pic12f1501.h,
25665 device/non-free/include/pic14/pic10f320.h,
25666 device/non-free/include/pic14/pic16f1787.h,
25667 device/non-free/lib/pic14/libdev/pic16f1787.c,
25668 device/non-free/lib/pic14/libdev/pic10f320.c,
25669 device/non-free/lib/pic14/libdev/pic16f1784.c,
25670 device/non-free/lib/pic14/libdev/pic12f752.c,
25671 device/non-free/lib/pic14/libdev/pic16f1454.c,
25672 device/non-free/lib/pic14/libdev/pic10f322.c,
25673 device/non-free/lib/pic14/libdev/pic16f1786.c,
25674 device/non-free/lib/pic14/libdev/pic12f1501.c,
25675 support/scripts/pic16fam-h-gen.pl,
25676 device/include/pic14/pic14devices.txt,
25677 device/non-free/include/pic14/pic16fam.h,
25678 device/non-free/lib/pic14/libdev/devices.txt,
25679 device/non-free/lib/pic14/libdev/Makefile.in,
25681 applied patch #3553108 - "New devices to pic14 series and pic16fam-h-gen.pl update",
25682 thanks to Molnar Karoly
25684 2012-08-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25687 src/z80/ralloc2.cc,
25689 Provide --fno-omit-frame-pointer option for not omitting frame pointer.
25691 2012-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25693 * src/SDCCicode.c (geniCodeAdd): made fix for bug 3537338 endian
25696 2012-07-21 Borut Razem <borut.razem AT gmail.com>
25698 * src/pic14/main.c: fixed bug
25699 #3546732 - "pic16f1507lib: No such file or directory"
25701 2012-07-21 Maarten Brock <sourceforge.brock AT dse.nl>
25703 * src/SDCCmem.c (allocGlobal, allocLocal): added check if bit space exists
25704 * src/SDCCsymt.c (computeType): fixed bug 3531687
25707 * src/SDCCsymt.h: renamed RESULT_TYPE_BIT to RESULT_TYPE_BOOL
25708 * support/regression/tests/bug3531687.c: reinserted char > bool test
25709 * support/regression/tests/bug3537338.c: use _STATMEM for more coverage
25710 * support/regression/tests/gcc-torture-execute-930513-1.c: modified to
25711 accept "<NO FLOAT>" and prevent buffer overrun
25713 2012-07-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25715 * src/SDCClospre.hpp (implement_lospre_assignment): explicitly ignore
25716 vertices created from newly split edges
25717 * src/SDCCopt.c (eBBlockFromiCode): reenable lospre
25719 2012-07-19 Maarten Brock <sourceforge.brock AT dse.nl>
25721 * src/SDCCicode.c (geniCodeAdd): fixed bug 3537338
25722 * src/ds390/gen.c (genMultOneByte): handle long result for pointer offsets
25723 * src/mcs51/gen.c (genLeftShiftLiteral, genRightShiftLiteral),
25724 * src/z80/gen.c (genLeftShiftLiteral): added wassert
25725 * support/regression/tests/bug3537338.c: new, added
25727 2012-07-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
25729 * src/SDCCopt.c: temporarily disable lospre until I can figure out
25730 why it's failing on some hosts.
25732 2012-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
25734 * sdcc.sln: sdcdb depends on config
25735 * all.vcxproj: excluded copy to bin\ from debug build as it seems to mess up
25737 * all.vcxproj.filters: added sdasrab.exe
25738 * src/sdcc.vcxproj.filters,
25739 * src/sdcc.vcxproj: removed SDCC.y dependency from lexing
25740 added version.h to Header Files
25741 added SDCClospre.cc and SDCClospre.hpp
25743 * src/yacc.vcxproj: updated all custom build commands and dependencies
25744 * src/SDCCast.c (decorateType, '='): fixed lost linenumber in bug 3540054
25745 * src/SDCCsymt.c (dbuf_printTypeChain): removed 'd'
25746 * sdas/asrab/rabbitmch.c (machine): removed const to fix prototype conflict
25747 * src/SDCClospre.cc (lospre): fixed warning
25749 * src/SDCCutil.c (processStrSet): fix warning by using explicit function ptr
25751 2012-07-15 Borut Razem <borut.razem AT gmail.com>
25753 * src/SDCCmain.c, src/SDCCutil.c, src/SDCCutil.h, src/SDCCsystem.c,
25754 src/mcs51/main.c, src/ds390/main.c, src/z80/main.c, src/hc08/main.c,
25755 src/pic14/main.c, src/pic16/main.c, src/avr/main.c, src/xa51/main.c:
25756 properly quoted file names when transferred to preprocessor,
25757 assembler and linker
25758 * support/scripts/repack_release.sh: added -pr to usage
25760 2012-07-12 Borut Razem <borut.razem AT gmail.com>
25762 * src/SDCCerr.c, src/SDCCerr.h, src/pic16/main.c, src/pic16/main.h,
25763 src/pic16/glue.c, src/pic16/device.h, src/SDCCast.c, src/SDCCast.h,
25764 doc/sdccman.lyx: properly fixed bug
25765 #3539804 - pragma config and certain string constants
25767 2012-07-11 Borut Razem <borut.razem AT gmail.com>
25769 * support/scripts/repack_release.sh: implemented feature request
25770 #3472159 - sdcc-3.1.0.tar.bz2 will untar with name sdcc;
25771 the result will be seen at the next sdcc release 3.3.0
25773 2012-07-11 Philipp Klaus Krause <pkk AT spth.de>
25775 * src/z80/peeph-z80.def:
25778 2012-07-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25780 * Merged the lospre branch.
25782 2012-07-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25786 Disable cost function debugging output.
25788 2012-07-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25790 * Merged the smallopts branch.
25792 2012-07-09 Borut Razem <borut.razem AT gmail.com>
25794 * Small Device C Compiler 3.2.0 released
25795 * .version, doc/sdccman.lyx: changed sdcc version to 3.2.1
25797 2012-07-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25800 Disable lospre for ports unrelated to z80 or hc08.
25802 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25805 Improve code generation for multiplication by literal.
25807 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25810 Fix bug in built-in strchr().
25811 * device/lib/Makefile.in:
25812 Fix building of strcpy() for mcs51.
25814 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25817 Fix bug in stack restoration for built-in functions.
25818 * device/lib/_strchr.c,
25819 device/lib/_strncpy.c:
25820 Fix conflict between built-in and non built-in functions.
25822 2012-07-07 Borut Razem <borut.razem AT gmail.com>
25824 * support/scripts/repack_release.sh:
25825 updated, added -dl, -r and -ul command line options
25827 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25832 Provide option to allow unsafe reads in lospre.
25834 2012-07-07 Philipp Klaus Krause <pkk AT spth.de>
25836 * src/SDCClospre.hpp,
25840 2012-07-06 Philipp Klaus Krause <pkk AT spth.de>
25842 * src/SDCClospre.hpp,
25844 Preparations for safety in lospre.
25846 2012-07-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25848 * src/SDCClospre.hpp,
25850 Preparations for safety.
25852 2012-07-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25854 * src/SDCClospre.hpp:
25855 Fix for out-of-memory handling in lospre.
25857 2012-07-06 Borut Razem <borut.razem AT gmail.com>
25859 * src/pic16/main.c: bug patched with sdcc-3.2.0-config_fix.diff
25860 #3539804 - #pragma config and certain string constants,
25861 thanks to Herbert Potzl
25863 2012-07-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25865 * src/SDCClospre.cc:
25866 Preparations for safety in lospre.
25868 2012-06-30 Borut Razem <borut.razem AT gmail.com>
25870 * support/scripts/sdcc.nsi:
25871 fixed 'Installer suggest "C:\Program Files\SDCC" instead of
25872 "C:\Program Files (x86)\SDCC"' problem
25874 2012-07-04 Philipp Klaus Krause <pkk AT spth.de>
25877 Fix for operand handling in built-in memset().
25879 Convert zero-length built-in memcpy(), strncpy(), memset()
25880 back to ensure any volatiles are read. Fixes #3538725.
25882 2012-06-30 Philipp Klaus Krause <pkk AT spth.de>
25884 * src/z80/ralloc2.cc,
25886 Fix stack adjustment after call and omission of frame pointer for --reserve-regs-iy.
25888 2012-06-28 Maarten Brock <sourceforge.brock AT dse.nl>
25891 * sdas/asrab/asrab.vcxproj: renamed output to sdasrab
25892 * all.vcxproj: added sdasrab.exe and sdldrab.exe
25893 * src/sdcc.vcxproj: removed parsing SDCC.y
25894 * src/yacc.vcxproj: cosmetics
25895 * sdas/as6808/m6808.h,
25896 * sdas/as8051/i8051.h,
25898 * sdas/asrab/rabbit.h,
25899 * sdas/asz80/z80.h: removed (conflicting) prototypes for machine and minit
25900 * src/hc08/ralloc.c (packRegisters): fixed bug indicated by a warning
25901 * src/pic14/gen.c (genDataPointerGet, genConstPointerGet),
25902 * src/pic14/genarith.c (genAddLit),
25903 * src/pic14/glue.c (pic14_constructAbsMap, emitInitVal)
25904 * src/pic16/device.h (PIC16_device),
25905 * src/pic16/gen.c (pic16_storeForReturn, genAnd, genXor, genAssign),
25906 * src/pic16/glue.c (pic16_printIvalType, pic16_printIvalChar,
25907 pic16_printIvalBitFields, pic16_printIvalUnion),
25908 * src/z80/ralloc2.cc (iy_reserved, Ainst_ok, omit_frame_ptr): fixed warnings
25910 2012-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25915 device/include/string.h:
25916 Built-in strncpy().
25918 2012-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25920 * src/SDCCralloc.hpp,
25921 src/z80/ralloc2.cc,
25923 src/hc08/ralloc2.cc,
25924 device/include/string.h:
25927 Fix out-of-array read.
25929 2012-06-27 Borut Razem <borut.razem AT gmail.com>
25932 unescape file names from preprocessor, 3rd try
25933 * device/non-free/lib/pic16/libdev/Makefile.am,
25934 device/non-free/lib/pic16/libdev/Makefile.in,
25935 device/non-free/lib/pic14/libdev/Makefile.in:
25936 gputils supports all devices supported by SDCC
25938 2012-06-27 Philipp Klaus Krause <pkk AT spth.de>
25944 2012-06-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25946 * device/lib/z180/Makefile.in,
25947 device/lib/incl.mk,
25948 device/lib/r3ka/Makefile.in,
25949 device/lib/gbz80/Makefile.in,
25950 device/lib/s08/Makefile.in,
25951 device/lib/r2k/Makefile.in,
25952 device/lib/hc08/Makefile.in,
25953 device/lib/z180/strcpy.s
25954 device/lib/r3ka/strcpy.s
25955 device/lib/z80/strcpy.s
25956 device/lib/r2k/strcpy.s:
25957 Use ldi for strcpy().
25959 2012-06-27 Borut Razem <borut.razem AT gmail.com>
25962 unescape file names from preprocessor, 2nd try
25964 2012-06-26 Borut Razem <borut.razem AT gmail.com>
25966 * src/SDCC.lex, src/SDCCerr.c, src/SDCCerr.h:
25967 unescape file names from preprocessor
25969 2012-06-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25972 Use xor to zero the accumulator in a few more places.
25974 2012-06-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25977 Improve memset() for small sizes, RFE #3537534.
25979 2012-06-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25981 * src/z80/ralloc2.cc:
25982 Improve handling of hl in additions with on-stack param operands.
25984 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
25986 * device/lib/z180/shift.s,
25987 device/lib/r3ka/shift.s,
25988 device/lib/z80/shift.s,
25989 device/lib/gbz80/shift.s,
25990 device/lib/r2k/shift.s,
25994 device/lib/z180/Makefile.in,
25995 device/lib/z180/stubs.s,
25996 device/lib/r3ka/Makefile.in,
25997 device/lib/r3ka/stubs.s,
25998 device/lib/z80/Makefile.in,
25999 device/lib/z80/stubs.s,
26000 device/lib/gbz80/stubs.s,
26001 device/lib/gbz80/Makefile.in,
26002 device/lib/r2k/Makefile.in,
26003 device/lib/r2k/stubs.s:
26004 Code generation instead of support calls for all shifts.
26006 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26009 Better cost estimation for loading parameters into pairs,
26010 more efficient loading from stack into iy for Rabbits.
26012 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26015 Use dec r and inc a in comparison for equality.
26017 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26020 src/z80/ralloc2.cc:
26021 Use 16-bit sbc in subtraction and comparison.
26023 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26026 Improve handling of pointers to long and long long.
26028 2012-06-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26031 Minor addition improvement,
26032 refactoring of pair test code.
26034 2012-06-25 Borut Razem <borut.razem AT gmail.com>
26036 * src/regression/Makefile:
26037 applied patch #3537593 - pic16 regression patch,
26038 thanks to Don Wooton
26040 2012-06-24 Borut Razem <borut.razem AT gmail.com>
26042 * support/scripts/repack_release.sh: updated
26044 2012-06-24 Maarten Brock <sourceforge.brock AT dse.nl>
26046 * src/mcs51/gen.c (genLeftShiftLiteral): commented out wassert to work
26049 2012-06-21 Borut Razem <borut.razem AT gmail.com>
26051 * device/non-free/lib/pic14/libdev/devices.txt,
26052 device/non-free/lib/pic14/libdev/Makefile.in,
26053 device/non-free/lib/pic14/libdev/pic16c782.c,
26054 device/non-free/lib/pic14/libdev/pic16f676.c,
26055 device/non-free/lib/pic14/libdev/pic16f1782.c,
26056 device/non-free/lib/pic14/libdev/pic16c770.c,
26057 device/non-free/lib/pic14/libdev/pic16f716.c,
26058 device/non-free/lib/pic14/libdev/pic16f1503.c,
26059 device/non-free/lib/pic14/libdev/pic16f1507.c,
26060 device/non-free/lib/pic14/libdev/pic16f1783.c,
26061 device/non-free/lib/pic14/libdev/pic16c771.c,
26062 device/non-free/lib/pic14/libdev/pic16c925.c,
26063 device/non-free/lib/pic14/libdev/pic16f1508.c,
26064 device/non-free/lib/pic14/libdev/pic16f1823.c,
26065 device/non-free/lib/pic14/libdev/pic16c432.c,
26066 device/non-free/lib/pic14/libdev/pic16c717.c,
26067 device/non-free/lib/pic14/libdev/pic16c781.c,
26068 device/non-free/lib/pic14/libdev/pic12f675.c,
26069 device/non-free/lib/pic14/libdev/pic16c926.c,
26070 device/non-free/lib/pic14/libdev/pic16f1509.c,
26071 device/non-free/lib/pic14/libdev/pic12f629.c,
26072 device/non-free/lib/pic14/libdev/pic16f684.c,
26073 device/non-free/lib/pic14/libdev/pic16f688.c,
26074 device/non-free/lib/pic14/libdev/pic16f630.c,
26075 device/non-free/lib/pic14/libdev/pic16f747.c,
26076 device/non-free/lib/pic14/libdev/pic16c946.c,
26077 device/non-free/include/pic14/pic16c782.h,
26078 device/non-free/include/pic14/pic16f676.h,
26079 device/non-free/include/pic14/pic16f1509.h,
26080 device/non-free/include/pic14/pic16c770.h,
26081 device/non-free/include/pic14/pic16f716.h,
26082 device/non-free/include/pic14/pic16f1782.h,
26083 device/non-free/include/pic14/pic16c771.h,
26084 device/non-free/include/pic14/pic16c925.h,
26085 device/non-free/include/pic14/pic16f1503.h,
26086 device/non-free/include/pic14/pic16f1507.h,
26087 device/non-free/include/pic14/pic16f1783.h,
26088 device/non-free/include/pic14/pic16c432.h,
26089 device/non-free/include/pic14/pic16c717.h,
26090 device/non-free/include/pic14/pic16c781.h,
26091 device/non-free/include/pic14/pic12f675.h,
26092 device/non-free/include/pic14/pic16c926.h,
26093 device/non-free/include/pic14/pic16f1508.h,
26094 device/non-free/include/pic14/pic16f1823.h,
26095 device/non-free/include/pic14/pic12f629.h,
26096 device/non-free/include/pic14/pic16f684.h,
26097 device/non-free/include/pic14/pic16f688.h,
26098 device/non-free/include/pic14/pic16f630.h:
26099 device/non-free/include/pic14/pic16f747.h:
26100 device/non-free/include/pic14/pic16c946.h:
26101 applied modified patch
26102 #3536909 - "Pic14 device and header upgrade.",
26103 thanks to Molnar Karoly
26104 * support/scripts/inc2h.pl: applied modified patch
26105 #3536022 - "Error in the inc2h.pl program.",
26106 thanks to Molnar Karoly
26107 * device/non-free/include/pic14/recreate.sh:
26108 generate NO_LEGACY_NAMES block if exists in the old version
26109 * src/pic14/genarith.c: applied patch
26110 #3521376 - "pic14 incorrect asm op code",
26111 thanks to Raphael Neider
26113 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26115 * src/SDCCralloc.hpp,
26123 src/z80/ralloc2.cc,
26125 src/hc08/ralloc2.cc:
26126 Nice fix for bug #3536902.
26128 More efficient built-in memcpy() for small copies.
26130 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26132 * src/SDCCralloc.hpp,
26135 Ugly hack to fix bug #3536902.
26137 2012-06-21 Leland Morrison <enigmalee AT sourceforge.net>
26139 * sim/ucsim/z80.src/inst_r2k.cc:
26140 Fix flags for rl de, rr d, rr hl (merged by Philipp Klaus Krause from smallopts branch).
26142 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26145 Fix spilling of comitted pair after ex (sp), dd.
26147 2012-06-21 Maarten Brock <sourceforge.brock AT dse.nl>
26149 * device/include/mcs51/cc2530.h: renamed TR0 to TESTREG0
26151 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26154 Use destructive increment in comparison for equality with #0xff,
26155 more efficient assignment of 16-byte values,
26156 fix spilling of comitted pair after ex (sp), dd.
26158 2012-06-21 Philipp Klaus Krause <pkk AT spth.de>
26161 Enable use of rl de in destructive and.
26163 2012-06-20 Leland Morrison <enigmalee AT sourceforge.net>
26165 * sim/ucsim/z80.src/inst_r2k.cc:
26166 Fix flags for rl de, rr d, rr hl.
26168 2012-06-20 Philipp Klaus Krause <pkk AT spth.de>
26171 Improve destructive and.
26173 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26175 * src/z80/peeph-z80.def,
26176 src/z80/peeph-r2k.def:
26177 Minor peephole fix.
26179 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26182 More efficient assignment for global variables.
26184 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26187 Fix bug in & 0x8000 with ifx for unsigned int.
26189 2012-06-19 Philipp Klaus Krause <pkk AT spth.de>
26192 Refactor code for setup for built-in memcpy(),
26193 use ex de, hl in register move,
26194 use cp instead of xor for clearing the carry flag.
26196 2012-06-18 Philipp Klaus Krause <pkk AT spth.de>
26200 Document relation between offsetFold() and packPointerOp().
26202 2012-06-18 Borut Razem <borut.razem AT gmail.com>
26204 * doc/sdccman.lyx, device/include/pic14/pic14devices.txt,
26205 device/non-free/lib/pic14/libdev/devices.txt,
26206 device/non-free/lib/pic14/libdev/Makefile.in,
26207 device/non-free/include/pic14/pic16f883.h,
26208 device/non-free/include/pic14/pic16f884.h,
26209 device/non-free/include/pic14/pic16f882.h,
26210 device/non-free/lib/pic14/libdev/pic16f884.c,
26211 device/non-free/lib/pic14/libdev/pic16f882.c,
26212 device/non-free/lib/pic14/libdev/pic16f883.c:
26213 applied patch #3531530 - new CPU support (pic16f882, 883, 884),
26214 thanks to Molnar Karoly
26216 2012-06-18 Philipp Klaus Krause <pkk AT spth.de>
26218 * src/z80/peeph-z80.def,
26219 src/z80/peeph-r2k.def:
26220 Some more peepholes that help when framepointer is omitted.
26222 Handle cpl, ldir, di, ei, out, in, mul and bool in read analysis.
26224 2012-06-18 Philipp Klaus Krause <pkk AT spth.de>
26227 src/z80/ralloc2.cc:
26228 Improve shifts by non-literal.
26230 2012-06-17 Borut Razem <borut.razem AT gmail.com>
26232 * support/scripts/sdcc.nsi:
26233 added removal of include\asm\r3ka\*.h
26234 * device/non-free/include/pic14/pic16fam.h,
26235 support/scripts/pic16fam-h-gen.pl:
26236 applied patch #3531531 - The pic16fam-h-gen correction,
26237 thanks to Molnar Karoly
26238 * support/scripts/repack_release.sh:
26239 remove unneeded directories produced by sdbinutils
26241 2012-06-17 Philipp Klaus Krause <pkk AT spth.de>
26246 Warn when encountering long long literals.
26248 2012-06-17 Philipp Klaus Krause <pkk AT spth.de>
26251 Improve destructive and.
26253 2012-06-16 Leland Morrison <enigmalee AT sourceforge.net>
26255 * sdas/asz80/z80mch.c: Change to report error for invalid operands
26256 to z180 tst instruction.
26258 2012-06-09 Borut Razem <borut.razem AT gmail.com>
26260 * .version, sdcc.spec, doc/sdccman.lyx:
26261 changed sdcc version to 3.2.0
26263 2012-06-16 Philipp Klaus Krause <pkk AT spth.de>
26266 Implement #3512989.
26268 2012-06-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26270 * support/regression/ports/pic14/support.c:
26271 Fix for renamed __asm.
26272 * support/regression/tests/gcc-torture-execute-pr31169.c,
26273 support/regression/tests/bitfields.c,
26274 support/regression/tests/gcc-torture-execute-20100316-1.c,
26275 support/regression/tests/gcc-torture-execute-pr38422.c,
26276 support/regression/tests/gcc-torture-execute-921016-1.c:
26277 Disable tests that use bitfields of size greater than 8 bits, which is not yet supported by the pic16 port.
26279 2012-06-15 Leland Morrison <enigmalee AT sourceforge.net>
26281 * sim/ucsim/z80.src/z80cl.h, z80.cc, inst_ed.cc:
26282 Added in0, out0, and tst instructions for z180 support.
26284 2012-06-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26286 * src/SDCClospre.hpp:
26287 Fix lospre nonforward-substitution of POINTER_SET.
26288 * src/SDCClospre.cc:
26289 Improve handling of invalidation at POINTER_SET.
26291 2012-06-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26293 * support/regression/tests/and_survive.c:
26294 Test non-destructive and, regression test for #3534833.
26295 * support/regression/tests/gcc-torture-execute-980707-1.c:
26296 Adapted and enabled test for mcs51.
26298 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26301 Fix cost calculation for branches.
26303 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26306 Improve storing of hx in assignment.
26308 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26311 Fix for 16-bit addition to avoid generating invalid add hl, iy.
26313 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26316 Improve multiplication for Rabbits.
26318 2012-06-13 Leland Morrison <enigmalee AT sourceforge.net>
26320 * sdas/asz80/z80mch.c: Allow the tst instruction for z180/.hd64 to
26321 use the two operand form (tst a,X) (fixes bug #3534833)
26323 2012-06-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26326 Improve one-byte shifts, use fix of #3534833 in non-destructive and.
26328 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26331 Improve right shift.
26333 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26336 Improve 16-bit addition with operand in hl and result in iy.
26338 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26340 * src/z80/ralloc2.cc,
26342 Improvements to left shift by literal.
26344 2012-06-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26346 * src/z80/ralloc2.cc,
26349 Improvements to non-destructive and, including #3526286.
26351 2012-06-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26356 Implement --nolospre option for disabling lospre.
26358 2012-06-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26361 Fix debug output for GET_VALUE_AT_ADDRESS right operand.
26363 2012-06-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26365 * src/SDCClospre.hpp:
26366 Fix handling of IFX in forward substitution.
26368 2012-06-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26370 * src/SDCClospre.cc:
26371 Disable lospre of assignments with iTemp source.
26373 2012-06-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26375 * src/SDCClospre.hpp,
26377 Reorganize forward substitution code, lospre for GET_VALUE_AT_ADDRESS.
26379 2012-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
26381 * src/SDCCast.c (decorateType, &/|/^): optimize bool with literal,
26382 (optimizeGetAbit): prevent memory leak
26383 * src/SDCCcse.c (algebraicOpts): optimize bool XOR literal
26384 * src/SDCCsymt.c (computeType): also remove const from result,
26385 fixed bug 3531687 by removing wrong CHAR = ? 1 : 0 optimization to BOOL
26387 * src/SDCCval.c (constBoolVal): new function
26388 (cheapestVal): added BOOL for 0 or 1,
26389 * support/regression/tests/bug3531687.c: enabled test, removed unrelated
26390 and already covered test
26391 * support/regression/tests/getbyte.c: new, added
26393 2012-06-09 Borut Razem <borut.razem AT gmail.com>
26395 * support/regression/ports/pic14/spec.mk,
26396 support/regression/ports/pic16/spec.mk:
26397 fixed pic -> pic14, --non-free -> --use-non-free
26399 2012-06-09 Philipp Klaus Krause <pkk AT spth.de>
26401 * src/z80/ralloc2.cc:
26402 Disallow source operand in h or l for >= 16-bit addition that also has a
26403 source operand on extended stack. Final part of fix for bug #3531660.
26404 * support/regression/tests/bug3531687.c:
26405 Regression test for bug #3531687.
26407 2012-06-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26409 * src/SDCCopt.c: fixed several missing def/use problems including
26411 * src/SDCCBBlock.c (addiCodeToeBBlock): fixed bug #3511516
26412 * src/hc08/ralloc.c (packRegisters): fixed bug #3531045
26413 * support/regression/tests/gcc-torture-execute-980604-1.c: reenabled
26414 * support/regression/tests/gcc-torture-execute-980205.c: reenabled
26416 2012-06-07 Philipp Klaus Krause <pkk AT spth.de>
26419 Fix handling of --fomit-frame-pointer for z180, r2k and r3ka port.
26421 2012-06-07 Maarten Brock <sourceforge.brock AT dse.nl>
26423 * src/ds390/gen.c (genAssign): no assignment for ruonly to ruonly
26425 * src/SDCCerr.c: W_COMP_RANGE, W_EMPTY_SOURCE_FILE & W_CONTROL_FLOW are pedantic
26426 * src/SDCCast.c (processParms): no cast for signedness only,
26427 (resultTypePropagate): propagate for GETHBIT, GETABIT, GETBYTE & GETWORD,
26428 (decorateType: BITWISEAND): rearrange first,
26429 (decorateType: RETURN): no cast for signedness only,
26430 (optimizeGetHbit, optimizeGetAbit): use bitsForType instead of getSize and
26431 propagate resultType,
26432 (optimizeGetByte, optimizeGetWord): handle offset 0
26433 * src/SDCClabel.c (deleteIfx),
26434 * src/SDCCcse.c (ifxOptimize): W_CONTROL_FLOW is pedantic,
26435 (algebraicOpts: BITWISEAND, OR): use bitsForType instead of getSize
26436 * src/SDCCicode.c (geniCodeLogic): W_COMP_RANGE is pedantic,
26437 (geniCodeUnary, geniCodeBinary): added param resType,
26438 (checkTypes): no cast for signedness only,
26439 (ast2iCode): propagate tree->ftype
26440 * src/SDCCopt.c (optimizeCastCast): use bitsForType instead of getSize
26441 * src/SDCCsymt.c (comparePtrType): only cast signedness if necessary
26443 * src/SDCCicode.h: cosmetics
26445 2012-06-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26447 * src/hc08/gen.c: fixed bugs #3531546 and #3531545
26449 2012-06-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26452 Fix 16-Bit addition for interleaved pairs. Partial fix for bug #3531660.
26454 2012-06-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26457 Fix POINTER_SET with surviving result partially in hl. Partial fix for bug #3531660.
26459 2012-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
26461 * device/lib/_autobaud.c: cosmetics
26462 * device/lib/printfl.c: fixed bug 3513300
26464 2012-06-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26466 * src/hc08/gen.c: Fixed bug #3531544. Fixed cast from h to hx.
26468 2012-06-05 Borut Razem <borut.razem AT gmail.com>
26470 * support/sdbinutils/libiberty/makefile.in:
26471 excluded pex*.c files from build since pex-unix.c doesn't
26472 compile on cygwim mingw and they are not needed by sdbinutils
26473 * doc/sdccman.lyx: compiler macro definitions not starting with
26474 double underscore characters are deprecated if --std-cXX
26475 command line option is defined;
26476 new compiler macros for processor definition were introduced
26477 for pic14 and pic16 targets
26479 2012-06-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26481 * src/z80/ralloc2.cc:
26482 Disallow surviving hl in addition with extended stack operands. Partial fix for bug #3531660.
26484 2012-06-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26486 * src/mcs51/ralloc.c (packForPush),
26487 * src/ds390/ralloc.c (packForPush),
26488 * src/hc08/ralloc.c (packForPush),
26489 * src/pic14/ralloc.c (packForPush),
26490 * src/pic16/ralloc.c (packForPush): fixed bug #3527285
26492 2012-06-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26495 Fix corner case in addition with extended stack right operand and low result byte in hl. Partial fix for bug #3531660.
26497 2012-06-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26499 * src/z80/ralloc2.cc:
26500 Disallow use of hl over comparison when there is an extended stack operand. Partial fix for bug #3531660.
26502 Save a during GET_VALUE_AT_ADDRESS when storing to extended stack operand. Partial fix for bug #3531660.
26504 2012-06-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26506 * src/hc08/gen.c (loadRegIndex, storeRegIndexed): added missing
26509 2012-06-03 Borut Razem <borut.razem AT gmail.com>
26511 * src/pic14/main.c, src/pic16/main.c: re-enabled deprecated
26512 macros not starting with double underscore characters in
26513 combination with --std-cXX
26514 * device/include/pic16/pic18fregs.h: modified for __SDCC_PICXXX
26516 2012-06-03 Philipp Klaus Krause <pkk AT spth.de>
26519 Fix handling of extended stack operands in 16-bit unary minus and signed comparison. Partial fix for bug #3531660.
26521 2012-06-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26524 * src/hc08/ralloc.c: RFE 3526269 and 3526268
26526 2012-06-02 Philipp Klaus Krause <pkk AT spth.de>
26529 Fixed bug #3531540.
26531 2012-06-02 Philipp Klaus Krause <pkk AT spth.de>
26533 * src/SDCCerr.c, src/SDCCerr.h: added W_STRING_CANNOT_BE_TERMINATED
26534 src/SDCCast.c (createIvalCharPtr): fixed #3007799: generate different warning
26535 for initializer strings that fit in buffer without terminating '\0'. According
26536 C99 $6.7.8:14 this is allowed. With --less-pedantic no warning is generated.
26537 Modified version of patch by Jan Waclawek.
26539 2012-06-02 Borut Razem <borut.razem AT gmail.com>
26541 * src/SDCCmain.c, src/pic14/main.c, src/pic16/main.c,
26542 support/scripts/pic14fam-h-gen.pl,
26543 applied modified patch
26544 #3531337 - The pic14 port, automatically creates the -DpicXXX,
26545 thanks to Molnar Karoly
26546 * support/scripts/pic16fam-h-gen.pl: modified for __SDCC_PICXXX
26547 * device/non-free/include/pic14/pic14fam.h,
26548 device/non-free/include/pic16/pic16fam.h: (re)generated
26550 2012-06-01 Borut Razem <borut.razem AT gmail.com>
26552 * doc/README.txt, doc/INSTALL.txt: updated for SDCC 3.2.0 release
26554 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26556 * src/z80/peeph-z80.def,
26557 src/z80/peeph-r2k.def:
26558 Shift optimization.
26560 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26562 * src/SDCClospre.cc,
26565 src/SDCClospre.hpp:
26566 Relax lospre type checking.
26568 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26570 * src/SDCClospre.cc:
26571 Disable lospre for literla assignments (can be reenabled once ports can rematerialize this).
26572 * src/SDCClospre.hpp:
26573 Improve handling of volatile.
26575 2012-06-01 Philipp Klaus Krause <pkk AT spth.de>
26578 Always use 16-bit addition when an operand and the result are in hl.
26580 2012-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26582 * src/hc08/gen.c: Preparations for further pointer offset
26583 optimizations. Bug fixes for certain register assignment cases
26584 in complement, unary minus, bitwise operators, and bitfield
26587 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26590 Fix handling of a in casts, bug #3531118.
26592 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26595 Updated manual (mostly r3ka and s08 port).
26597 2012-05-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26599 * src/SDCClospre.hpp:
26600 Fix handling of invalidating iCodes in lospre.
26601 * src/SDCClospre.cc:
26602 Fix multiround-lospre.
26604 2012-05-31 Borut Razem <borut.razem AT gmail.com>
26606 * debugger/mcs51/cmd.c: fixed bug #3530998 - source code bug..
26608 2012-05-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26610 * src/SDCCsymt.h: handle up to 8 registers per symbol for long long
26613 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26615 * src/z80/ralloc.h,
26617 src/z80/ralloc2.cc:
26618 More flexible handling of a during pointer access in z80-related ports.
26620 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26622 * src/z80/peeph-r2k.def:
26623 Fix invalid stack-relative increment.
26625 More efficient handling of 16-bit stores to stack.
26627 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26629 * sim/ucsim/z80.src/inst_r2k.cc:
26630 Fix handling of carry in 16-bit shift rotate instructions.
26632 Better 16 bit signed comparison for z80 related (except gbz80).
26634 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26637 Allow result of GET_VALUE_AT_ADDRESS in A for z80-related ports.
26639 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26642 Improve storing of literals to stack for Rabbits.
26644 2012-05-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26647 Fix multibyte global to global assignment on gbz80 with de alive.
26649 2012-05-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26651 * src/hc08/ralloc2.cc (operand_sane): fixed erroneous rejection of
26652 single byte operand register assignment due to out of bounds
26655 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26658 Fix for surviving pair in bitfield write.
26660 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26662 * src/SDCClospre.hpp:
26663 Fix for handling global variables over calls in lospre.
26665 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26669 Added assertions to debug rematerialization issues.
26671 2012-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26673 * src/hc08/ralloc.c (moveSendToCall, packRegisters): move SEND iCodes
26674 to immediately precede their CALL/PCALL for better live range info.
26675 * src/hc08/gen.c (genSend): fixed bug swapping SEND iCode order.
26677 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26679 * src/SDCClospre.hpp:
26680 Fix invalid memory access bug.
26682 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26684 * src/SDCClospre.hpp,
26686 Fix handling of ADDRESS_OF in lospre forward assignment.
26688 2012-05-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26691 Fixed bug #3530276.
26693 2012-05-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26695 * src/SDCCbitv.c (bitVectSetBit, bitVectUnSetBit),
26696 * src/hc08/ralloc2.cc (set_surviving_regs),
26697 * src/z80/ralloc2.cc (set_surviving_regs): Prohibit negative bit
26698 position in bit vectors to avoid memory corruption
26699 * device/lib/clean.mk: add s08 and r3ka ports to cleaning
26701 2012-05-28 Philipp Klaus Krause <pkk AT spth.de>
26704 Use Rabbit's cast to bool instruction for zeroing h,
26705 more efficient loading of pairs in shifts.
26707 Handle bool in instruction size calculations.
26709 2012-05-28 Borut Razem <borut.razem AT gmail.com>
26711 * src/pic16/main.c: allow underscore characters in #pragma config
26713 2012-05-28 Philipp Klaus Krause <pkk AT spth.de>
26715 * src/SDCClospre.hpp,
26717 Improve handling of results of substituted instructions in lospre.
26719 2012-05-27 Philipp Klaus Krause <pkk AT spth.de>
26721 * src/SDCClospre.hpp,
26723 Fix handling of --max-allocs-per-node in lospre.
26725 2012-05-26 Borut Razem <borut.razem AT gmail.com>
26727 * src/pic16/main.c: allow space characters in #pragma config
26729 2012-05-25 Borut Razem <borut.razem AT gmail.com>
26731 * doc/sdccman.lyx: corrected #pragma configure to #pragma config
26733 2012-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26735 * src/SDCClospre.hpp:
26736 Improve handling of --max-allocs-per-node in lospre.
26738 2012-05-25 Maarten Brock <sourceforge.brock AT dse.nl>
26740 * src/hc08/gen.c (genPointerSet): fixed warning
26742 2012-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26746 src/SDCClospre.hpp,
26748 Fixes for handling of globals and volatile in lospre.
26750 2012-05-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26752 * support/scripts/sdcc.nsi: fix my typo in r3ka path
26754 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26756 * src/SDCClospre.hpp,
26760 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26762 * src/z80/peeph-r2k.def,
26763 src/z80/peeph-z80.def,
26764 src/z80/peeph-gbz80.def:
26767 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26769 * src/z80/ralloc2.cc,
26771 Non-destructive & with bit literal.
26773 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26775 * src/SDCClospre.hpp,
26777 Preparations for lospre.
26779 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26781 * src/hc08/peeph.def:
26782 Improve elimination of branches.
26784 2012-05-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26786 * src/SDCClospre.hpp,
26788 Preparations for lospre.
26790 More verbose debugging for variables that are not in registers, but should be.
26792 2012-05-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26794 * support/scripts/sdcc.nsi: added r3ka and s08 to installer
26795 * support/sdbinutils/binutils/configure.in,
26796 * support/sdbinutils/binutils/configure: fix bug #3527589
26797 * src/SDCCcse.c (newCseDef): fix bug #3528899
26799 2012-05-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
26801 * src/SDCClospre.hpp,
26803 Preparations for lospre.
26805 2012-05-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26807 * src/hc08/gen.c: Preparations for further pointer offset
26810 2012-05-22 Philipp Klaus Krause <pkk AT spth.de>
26812 * src/hc08/peeph.def:
26813 Allow disabling of tail-call and jump to return optimization.
26815 2012-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26817 * src/hc08/gen.c: Fixed inconsistent offsets for 16-bit register
26818 accesses. Removed broken and unused AOP_STR type. Prohibit loading
26819 h via hx from volatile operands.
26821 2012-05-21 Philipp Klaus Krause <pkk AT spth.de>
26823 * support/regression/tests/memory.c,
26829 Use lsidr for built-in memset() for r3ka.
26831 Use ldhx, sthx for memory-to-memory assignment and cast.
26832 * src/hc08/peeph.def:
26833 Basic tail call optimization.
26835 2012-05-21 Philipp Klaus Krause <pkk AT spth.de>
26838 More efficient loading of H and HX for hc08 and s08.
26840 2012-05-21 Philipp Klaus Krause <pkk AT spth.de>
26842 * support/regression/tests/setjmp.c:
26843 Enable test for r3ka.
26844 * support/regression/tests/gcc-torture-execute-pr28982a.c,
26845 support/regression/tests/gcc-torture-execute-20010224-1.c,
26846 support/regression/tests/gcc-torture-execute-20030408-1.c:
26847 Disable tests for r3ka.
26848 * support/regression/Makefile.in:
26849 Add ucr3ka target to z80 target.
26851 2012-05-21 Leland Morrison <enigmalee AT sourceforge.net>
26853 * SDCCpeeph.c, peep.c: Fixed so that R2K instructions are
26854 recognized for -mr3ka target by the peephole optimizer.
26856 2012-05-20 Leland Morrison <enigmalee AT sourceforge.net>
26858 * support/regression/Makefile.in, support/regression/ports/ucr3ka/*,
26859 support/regression/fwk/include/testfwk.h: added test-ucr3ka to
26860 run regression tests on the rabbit 3000A port
26862 2012-05-20 Leland Morrison <enigmalee AT sourceforge.net>
26864 * device/include/sdcc-lib.h, device/include/math.h: Added conditional
26866 * devince/include/asm/r3ka/features.h: Added to allow customizations
26869 2012-05-20 Leland Morrison <enigmalee AT sourceforge.net>
26871 * src/sdas/asrab/rabbitpst.c: Added mnemonics for rabbit 3000A
26872 * src/sdas/asrab/rabbitmch.c: Added .r3k flag and rabbit 3000A
26873 instructions, changed much of the indentation to make gnu style,
26874 and update two functions declarations from K&R style
26875 * src/sdas/asrab/rabbit.h: Added constants for rabbit 3000 support
26877 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26880 Emit cost information only when --fverbose-asm is used.
26882 2012-05-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
26884 * src/hc08/gen.c: Fixed yet more problems with registers possibly
26885 clobbered in division/modulus. Optimized GET_VALUE_AT_ADDRESS
26886 including handling non-zero right operand.
26887 * src/hc08/ralloc.c: Allow packRegsForSupport() to optimize
26888 conditions computed for IFX. Handle non-zero right operand
26889 for GET_VALUE_AT_ADDRESS when generating pseudo symbol.
26890 * src/SDCCopt.c: Let GET_VALUE_AT_ADDRESS have non-zero right
26891 operand for HC08-like ports. Fix def/use info on operands
26892 converted to integer support function calls.
26894 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26897 Regenerated, so building with r3ka port disabled works now.
26899 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26902 Improved code for PCALL.
26904 2012-05-20 Philipp Klaus Krause <pkk AT spth.de>
26907 src/hc08/ralloc2.cc:
26908 Improved code for GET_VALUE_AT_ADDRESS.
26910 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26913 Improve addition for hc08 and s08.
26915 Fix name of r3ka library.
26917 Fix name of s08 library.
26919 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26921 * sim/ucsim/hc08.src/hc08.cc:
26922 Fix sthx with ext operand on s08.
26924 Use ldhx, cphx and sthx with ext operands for s08 in places where we use them for hc08 with imm operands.
26926 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26928 * sdas/as6808/m08mch.c,
26929 sdas/as6808/m6808.h,
26930 sdas/as6808/m08pst.c,
26931 src/SDCCralloc.hpp,
26934 src/hc08/ralloc2.cc:
26937 2012-05-19 Philipp Klaus Krause <pkk AT spth.de>
26939 * support/regression/tests/bug3223041.c:
26940 Do not handle hc08 as special case.
26942 2012-05-18 Philipp Klaus Krause <pkk AT spth.de>
26944 * device/lib/r3ka/Makefile.in:
26945 Fix building of r3ka lib.
26946 * device/lib/s08/Makefile.in:
26947 Fix building of s08 lib.
26948 * support/regression/Makefile.in,
26949 support/regression/ports/s08,
26950 support/regression/fwk/include/testfwk.h,
26951 support/regression/tests/gcc-torture-execute-func-ptr-1.c,
26952 support/regression/tests/gcc-torture-execute-991112-1.c,
26953 support/regression/tests/gcc-torture-execute-921208-1.c,
26954 support/regression/tests/bug3379723.c,
26955 support/regression/tests/gcc-torture-execute-930702-1.c,
26956 support/regression/tests/float_single.c,
26957 support/regression/tests/gcc-torture-execute-20000412-2.c,
26958 support/regression/tests/gcc-torture-execute-20080529-1.c,
26959 support/regression/tests/gcc-torture-execute-20030209-1.c,
26960 support/regression/tests/gcc-torture-execute-950915-1.c,
26961 support/regression/tests/bug1723128.c,
26962 support/regression/tests/gcc-torture-execute-20001221-1.c,
26963 support/regression/tests/gcc-torture-execute-20030307-1.c,
26964 support/regression/tests/gcc-torture-execute-950612-1.c,
26965 support/regression/tests/gcc-torture-execute-20001108-1.c,
26966 support/regression/tests/cse.c:
26967 Regression testing for s08 port.
26968 * device/include/stdarg.h:
26969 Fix variable arguments for s08.
26970 * device/lib/_mullong.c:
26971 Fix long multiplication for s08.
26973 2012-05-18 Philipp Klaus Krause <pkk AT spth.de>
26984 device/lib/Makefile.in,
26986 Dummy (behaves as HC08) S08 port.
26988 2012-05-18 Philipp Klaus Krause <pkk AT spth.de>
26990 * device/include/stdarg.h,
26991 device/include/string.h,
26992 device/include/setjmp.h,
26993 device/lib/Makefile.in,
27001 sim/ucsim/aclocal.m4,
27002 sim/ucsim/configure,
27004 Dummy (behaves as Rabbit 2000/3000) Rabbit 3000A port.
27006 2012-05-17 Leland Morrison <enigmalee AT sourceforge.net>
27008 * sim/ucsim/hc08/hc08.cc: Fix for opcodes 0xAE, 0xBE, and 0xCE op-decode
27010 2012-05-17 Philipp Klaus Krause <pkk AT spth.de>
27012 * support/regression/tests/bug3521024.c:
27013 Regression test for bug #3521024.
27015 2012-05-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27017 * src/hc08/gen.c: Use non-destructive bit tests when possible
27018 (rfe #3526285). Fixed loss of association between generated
27019 assembly and iCodes.
27020 * src/hc08/peeph.def: Additional rules for conditional branches and
27021 to remove unused labels.
27023 2012-05-16 Maarten Brock <sourceforge.brock AT dse.nl>
27025 * support/regression/Makefile.in: renamed test-z80 and test-gbz80 to test-rr...
27026 * support/regression/ports/gbz80,
27027 * support/regression/ports/rrgbz80: renamed to rrgbz80
27028 * support/regression/ports/z80,
27029 * support/regression/ports/rrz80: renamed to rrz80
27030 * support/regression/tests/gcc-torture-execute-921013-1.c: disabled for xstack
27032 2012-05-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27034 * src/hc08/gen.c (genAnd): added forgotten ifx->generated = TRUE
27036 2012-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
27038 * support/regression/tests/gcc-torture-execute-961017-2.c: use less loops to
27041 2012-05-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27043 * sim/ucsim/hc08.src/hc08.cc,
27044 * sim/ucsim/hc08.src/inst.cc: Fixed simulation of brset/brclr. Keep
27045 track of instruction cycle times.
27046 * src/hc08/gen.c (genAnd): Use brset/brclr where possible
27048 2012-05-14 Leland Morrison <enigmalee AT sourceforge.net>
27050 * sim/ucsim/stypes.h,
27051 * sim/ucsim/globals.cc: add R3KA (rabbit 3000A) processor type
27052 * sim/ucsim/z80.src/r2k.cc,
27053 * sim/ucsim/z80.src/simz80.cc: added initialization code for R3KA support
27054 * sim/ucsim/z80.src/r2kcl.h,
27055 * sim/ucsim/z80.src/inst_ed_r2k.cc: support for r3ka instructions
27056 * sim/ucsim/z80.src/inst_ed.cc: change to allow overloading of inst_ed_
27058 2012-05-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27060 * src/SDCClospre.hpp,
27062 Early preparations for lospre.
27064 2012-05-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27066 * src/SDCClospre.hpp:
27067 Early preparations for lospre.
27069 2012-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27071 * src/hc08/gen.c: correct some dry run costs, update genDivOneByte()
27072 and genModOneByte() to handle all register operand posibilities
27074 2012-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
27076 * sim/ucsim/pobj.cc,
27077 * sim/ucsim/pobjcl.h: made cl_list::at inline
27078 * sim/ucsim/s51.src/regs51.h: added AP
27079 * sim/ucsim/s51.src/uc390.cc (inst_inc_dptr): fixed sel bug,
27080 (disass): show inc/dec dptr,
27081 (print_regs): show DPTR0, DPTR1 and AP
27082 * src/ds390/gen.c (genGenPointerGet, genGenPointerSet): fixed bug 3509705
27083 * support/regression/compact-results.py: align results
27084 * support/regression/tests/gcc-torture-execute-921013-1.c: enabled tests
27086 2012-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27088 * src/SDCClospre.hpp,
27090 Early preparations for lospre.
27092 2012-05-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27097 Preparations for finding lospre optimization candidates.
27099 2012-05-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27101 * src/z80/ralloc2.cc,
27102 src/hc08/ralloc2.c:
27103 Bypass dry run for generated ic.
27105 2012-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
27108 * src/hc08/gen.c (aopName): compile conditionally,
27109 (assignResultValue): MSVC has no true/false,
27110 (hasInchc08): fixed warning,
27111 (genReceive): declarations first
27112 * src/hc08/ralloc.c: include dbuf_string.h,
27113 (createStackSpil): removed unused slocBuffer
27114 * src/hc08/hc08.vcxproj.filters,
27115 * src/hc08/hc08.vcxproj: added ralloc2.cc and boost include dir
27116 * src/z80/gen.c (genCmp): fixed uninitialised warning
27117 * src/SDCCicode.h: cosmetics
27119 2012-05-09 Philipp Klaus Krause <pkk AT spth.de>
27121 * src/SDCCralloc.hpp,
27122 src/hc08/ralloc2.cc:
27123 Added some debug info code.
27125 2012-05-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27127 * src/SDCClospre.hpp,
27128 src/SDCCralloc.hpp,
27132 Declare some data types for lospre.
27134 2012-05-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27138 Remove some unused variables.
27140 2012-05-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27142 * src/hc08/gen.c (aopOp): Handle spill location correctly even
27143 though it is not actually allocated during dry run
27145 2012-05-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27147 * support/regression/ports/ds390/spec.mk:
27148 Increase timeout from 40 to 60, since ds390 simulation on NetBSD is slow.
27150 2012-05-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27152 * src/hc08/gen.c (aopAdrStr): handle incompletely initialized
27153 spill location symbols during dry run
27155 2012-05-06 Borut Razem <borut.razem AT gmail.com>
27157 * .version, doc/sdccman.lyx: bumped version to 3.1.5
27158 * ChangeLog: removed unicode BOM
27159 * support/sdbinutils/binutils/Makefile.am,
27160 support/sdbinutils/binutils/Makefile.in:
27161 fixed the first part of bug #3518739 - Build weird behaviour...
27163 2012-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
27165 * support/regression/tests/gcc-torture-execute-pr44555.c: test was not
27166 disabled for gcc 4.4.3, now it is for all 4.x.x < 4.6.0
27168 2012-05-05 Philipp Klaus Krause <pkk AT spth.de>
27172 * src/SDCCralloc.hpp,
27178 * src/hc08/ralloc.c,
27179 * src/hc08/ralloc.h,
27180 * src/hc08/ralloc2.cc,
27181 * src/yacc.vcxproj,
27183 * src/z80/ralloc.c,
27184 * src/z80/ralloc2.cc: Merged optralloc-hc08 branch
27186 2012-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
27189 * configure_vc.awk,
27191 * sdcc_vc.h.in, sdcc_vc_in.h: renamed sdcc_vc_in.h to sdcc_vc.h.in
27192 * src/SDCCval.c (byteOfVal),
27193 * src/z80/gen.c (genLeftShiftLiteral, genPointerGet),
27194 * src/mcs51/gen.c (genLeftShiftLiteral): fixed warnings
27195 * src/SDCCnaddr.hpp: renamed cfg_node to cfg_naddr_node
27196 * src/SDCCralloc.hpp: default_constructor_of_cfg_node_called and
27197 cfg_node constructor disabled to fix bug 3521407
27198 * src/SDCCtree_dec.hpp: set svn properties
27199 * support/regression/ports/mcs51-common/spec.mk: fixed SIM_TIMEOUT bug
27200 * support/regression/tests/bug-3495411.c: enabled for mcs51
27201 * support/regression/tests/gcc-torture-execute-20000622-1.c,
27202 * support/regression/tests/gcc-torture-execute-20010924-1.c,
27203 * support/regression/tests/gcc-torture-execute-961004-1.c,
27204 * support/regression/tests/gcc-torture-execute-961125-1.c,
27205 * support/regression/tests/gcc-torture-execute-990404-1.c: suppressed warnings
27207 2012-05-05 Philipp Klaus Krause <pkk AT spth.de>
27209 * support/regression/tests/gcc-torture-execute-20080529-1.c:
27210 Disable test for gcc older than 5.0.
27212 2012-05-05 Borut Razem <borut.razem AT gmail.com>
27214 * support/regression/ports/ds390/spec.mk,
27215 support/regression/ports/hc08/spec.mk,
27216 support/regression/ports/mcs51-common/spec.mk,
27217 support/regression/ports/pic14/spec.mk,
27218 support/regression/ports/pic16/spec.mk,
27219 support/regression/ports/ucgbz80/spec.mk,
27220 support/regression/ports/ucr2k/spec.mk,
27221 support/regression/ports/ucz180/spec.mk,
27222 support/regression/ports/ucz80/spec.mk: use SIM_TIMEOUT
27224 2012-05-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27226 * support/regression/ports/ucgbz80/spec.mk:
27227 Increase timeout from 20s to the 30s other ports use to get rid of NetBSD/sparc64 regression failure.
27229 2012-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27233 Revive old register allocator for --oldralloc.
27235 2012-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27243 Made --oldralloc less port-specific.
27245 2012-05-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27247 * src/z80/gen.c (aopPut3): added missing declarations
27249 2012-05-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27252 Remove obsolete genPointerGetSetOfs().
27254 2012-05-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27256 * configure: regenerated from new configure.in
27258 2012-05-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27261 More efficent storing of registers pairs to top of stack.
27263 2012-05-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27265 * support/regression/tests/gcc-torture-execute-20101013-1.c:
27266 Disable test until nonzero integer constants work.
27268 2012-05-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27271 * src/SDCCval.c (byteOfVal): new function
27272 * src/z80/gen.c (aopGet, gencjneshort),
27273 * src/SCCglue.c (aopLiteralLong): use byteOfVal() to access value
27276 * sdccconf_in.h: find/define appropriate 64-bit integer
27277 * src/SDCCsymt.h: start of support for 64-bit literal
27279 2012-04-30 Leland Morrison <enigmalee AT sourceforge.net>
27281 * sim/ucsim/app.cc: reduced the frequency of checks for user input
27283 2012-04-26 Philipp Klaus Krause <pkk AT spth.de>
27286 Improve code generation for comparison to zero.
27288 2012-04-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27290 * support/librarian/sdcclib.c:
27291 Do not depend on PATH_MAX, fix #3521650.
27292 * sdas/asxxsrc/asxxxx.h:
27293 Use FILENAME_MAX if PATH_MAX is not defined.
27295 2012-04-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27297 * src/hc08/gen.c: Optimize access to h/hx on top of stack. Compute
27299 * src/hc08/ralloc2.cc: Compute cost of SEND. Support xa and ax
27300 with GETBYTE and GETWORD.
27302 2012-04-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27304 * src/hc08/gen.c: Rewrite genSend to fix problem with register
27305 clobbering. Allow use of tsx with function return values.
27306 * src/hc08/ralloc.c: Removed unneed constraint on stack operands
27308 2012-04-25 Borut Razem <borut.razem AT gmail.com>
27310 * src/common.h, src/ds390/main.c: include SDCCsystem.h in common.h
27311 * src/SDCCmain.c: added newline at end of file
27312 * src/SDCCicode.c: use TRUE instead of undefined true
27313 * src/SDCCicode.h: fixed declaration of isOperandLiteral()
27315 2012-04-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27317 * src/z80/peeph-gbz80.def:
27318 Removed peephole that resulted in invalid or operand on gbz80.
27320 2012-04-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27325 2012-04-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27327 * src/hc08/gen.c: Fixed bug with cpx use. Optimize stack adjustments
27328 of +/-1. Use mov #0 instead of clr with volatile operands to avoid
27329 read side effect. Avoid using x as stack frame base unless it saves
27332 2012-04-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27337 GET_VALUE_AT_ADDRESS with offset for z80, z180 and r2k.
27339 2012-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27341 * src/hc08/gen.c: Index stack frame via x instead of sp when convenient
27343 2012-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27345 * src/hc08/gen.c: Use msb to lsb order in assignment for compatibility
27346 with hardware hardware registers. Expanded use of cpx and ldhx
27347 instructions. Removed some old unused code. Fixed a stack bug in
27350 2012-04-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27353 Enable replacing division by power of two by conditional addition and shift (for hc08, z80, z180, gbz80 and r2k).
27356 Fortify a "/* I assume that [...]" comment by an assertion that would have saved me some time.
27358 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27361 Enable CSE for an approx. 0.1-0.2% code size reduction.
27363 2012-04-22 Raphael Neider <rneider AT web.de>
27365 * device/lib/pic16/libsdcc/gptr/eeprom{8,16}_gptrput[1234].c:
27366 fix accessing EECON1.WREN
27368 2012-04-22 Raphael Neider <rneider AT web.de>
27370 * device/non-free/lib/pic14/libdev/Makefile.in:
27371 build 16f72[01] only if --enable-new-pics is given, as the
27372 devices are not supported in the current gputils release 0.14.1
27374 2012-04-21 Maarten Brock <sourceforge.brock AT dse.nl>
27376 * src/ds390/main.c: undo removed include to fix implicit declaration
27378 2012-04-21 Philipp Klaus Krause <pkk AT spth.de>
27381 Preparations for replacing division by power of two by conditional addition and shift.
27382 * support/regression/tests/longlong.c,
27383 support/regression/tests/gcc-torture-execute-pr42269-2.c,
27384 support/regression/tests/gcc-torture-execute-20080529-1.c,
27385 support/regression/tests/gcc-torture-execute-950503-1.c,
27386 support/regression/tests/float_single.c:
27387 Enable more tests for hc08.
27389 2012-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27391 * src/hc08/gen.c: fix bugs in genRLC, genRRC, and genJumpTab; support large stack
27392 offsets in rmwWithAop; optimized asmopToBool
27393 * src/hc08/ralloc.c: fix bug in findAssignToSym
27395 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27397 * src/hc08/ralloc2.cc,
27399 Allow some use of ax.
27401 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27403 * src/hc08/ralloc2.cc,
27407 2012-04-19 Raphael Neider <rneider AT web.de>
27409 * device/lib/pic16/libc/stdio/strmmssp.c:
27410 fixed use of access bank vs. BSR
27412 * device/lib/pic16/libsdcc/gptr/eeprom{8,16}_gptr{get,put}[1234].c,
27413 device/lib/pic16/libsdcc/gptr/eeprom{8,16}_write.c:
27414 implement EEPROM read/write access
27416 * device/lib/pic16/libsdcc/gptr/gptr{get,put}[1234].c:
27417 call EEPROM dispatchers on EEPROM accesses
27419 * device/lib/pic16/libsdcc/Makefile.am:
27420 add gptr EEPROM accessors
27422 * device/non-free/lib/pic16/libdev/gptr/*:
27423 dispatch EEPROM accesses to the appropriate implementations
27424 based on device capabilities (no eeprom, 8 or 16 bit EEPROM
27427 * device/non-free/lib/pic16/libdev/mkmk.sh,
27428 device/non-free/lib/pic16/libdev/newdevices.txt:
27429 improved to automatically add SSPBUF workaround
27430 plus EEPROM dispatchers as required by the devices
27432 * device/non-free/lib/pic16/libdev/pic18f1330.c,
27433 device/non-free/lib/pic16/libdev/pic18f1220.c,
27434 device/non-free/lib/pic16/libdev/pic18f4450.c:
27435 removed manual SSPBUF workaround
27437 * device/non-free/lib/pic16/libdev/fake_sspbuf.c:
27438 provide automatic SSPBUF workaround
27440 * device/lib/pic16/libsdcc/Makefile.in,
27441 device/non-free/lib/pic16/libdev/Makefile.am,
27442 device/non-free/lib/pic16/libdev/Makefile.in:
27445 2012-04-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27447 * src/hc08/ralloc2.cc,
27449 Made hc08 code generation more robust wrt. surviving registers and register operands.
27451 2012-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27453 * src/hc08/gen.c: rewrite genCast for register source/results
27455 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27457 * src/hc08/ralloc2.cc,
27459 Fixes for the cost function (reducing code size and exposing code generation issues).
27461 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27463 * src/hc08/ralloc2.cc,
27465 Made hc08 code generation more robust wrt. surviving registers and register operands.
27467 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27470 Preparations for removing accuse.
27472 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27474 * src/hc08/ralloc2.cc,
27476 Fix xa to hx assignment.
27478 2012-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27480 * src/hc08/ralloc2.cc:
27481 Fix assignment of nRegs and regs for accuse symbols.
27483 2012-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27485 * src/hc08/gen.c: fixed div/mod sign ext. to work with register result
27487 2012-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27489 * src/hc08/ralloc2.cc,
27491 Made hc08 code generation more robust wrt. surviving registers and register operands.
27493 2012-04-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27495 * src/hc08/ralloc2.cc,
27497 Made hc08 code generation more robust wrt. surviving registers and register operands.
27499 2012-04-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27501 * src/hc08/ralloc2.cc,
27503 Handling of pointer access in new allocator.
27505 2012-04-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27507 * src/SDCCralloc.hpp,
27510 src/z80/ralloc2.cc,
27512 src/hc08/ralloc2.cc,
27514 Improve hc08 cost function.
27516 2012-04-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27518 * src/hc08/ralloc2.cc,
27520 Made hc08 code generation more robust wrt. surviving registers and register operands.
27522 2012-04-14 Raphael Neider <rneider AT web.de>
27524 * src/pic16/genarith.c (pic16_genMult8XLit_n,pic16_genMult8X8_n):
27525 work around early clobbering of input operands, fixes #3515677;
27526 clean up, eliminate dead code
27528 2012-04-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27530 * src/hc08/gen.c: fix isDead status for register H
27532 2012-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27534 * src/SDCCralloc.hpp,
27535 src/hc08/ralloc2.cc,
27537 Made hc08 code generation more robust wrt. surviving registers and register operands.
27539 2012-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27541 * src/hc08/ralloc.h,
27542 src/hc08/ralloc2.cc,
27544 src/z80/ralloc2.cc:
27545 Introduce isDead for hc08 registers.
27547 2012-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27549 * src/hc08/gen.c (asmOp): always keep pointer to operand in asmop
27550 * src/hc08/ralloc2.cc (instruction_cost): reenable !, IFX, and CAST
27552 2012-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27554 * src/SDCCsymt.c (newBoolLink): return bool instead of bit if no
27556 * src/hc08/gen.c: Fixed no register assigned to iTemp for IFX.
27557 Guarded more instances of emitLabel for dry run
27559 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27562 Fix genPointerGet with postincrement and result in h.
27564 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27566 * support/regression/tests/gcc-torture-execute-920428-1.c:
27569 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27572 Fix handling of isFree for register operands.
27574 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27577 More flexible use of A in cast.
27579 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27581 * src/hc08/ralloc2.cc:
27582 Fix checking of XA and reenable use of assignment.
27584 Additional debugging output.
27586 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27589 Additional assertion.
27590 * src/hc08/ralloc.c:
27591 Avoid buffer overflow.
27592 * src/hc08/ralloc2.cc:
27593 Do not use assignment for now.
27595 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27599 Made isOperandLiteral() work on const operand *.
27601 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27603 * src/hc08/ralloc.c:
27606 Made genDjnz() more flexible.
27607 * src/hc08/ralloc2.cc:
27608 Disallow X, A for now.
27610 2012-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27612 * src/SDCCralloc.hpp,
27613 src/z80/ralloc2.cc,
27614 src/hc08/ralloc2.cc:
27615 Make optimal register allocator less port-specific.
27617 2012-04-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27619 * src/SDCCralloc.hpp,
27621 src/hc08/ralloc2.cc,
27625 Optimal register allocator for hc08 working partially.
27627 2012-04-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27629 * src/SDCCcse.c (ifOperandsHave): fixed bug #3516746
27631 2012-04-11 Philipp Klaus Krause <pkk AT spth.de>
27633 * support/regression/tests/string.c:
27634 Added test for strrchr().
27637 Fixed memory leaks.
27639 2012-04-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27641 * src/SDCCralloc.hpp,
27645 Enable new allocator as dummy, spilling everything.
27647 2012-04-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27649 * src/z80/ralloc.c,
27650 src/hc08/ralloc2.cc,
27652 Preparations for optimal register allocation for hc08.
27654 2012-04-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27656 * support/regression/Makefile.in,
27657 support/regression/collate-results.py : another fix for bug #3477347
27658 * support/regression/ports/hc08/spec.mk: increase timeout to 30 seconds
27660 2012-04-08 Borut Razem <borut.razem AT gmail.com>
27663 don't emit leading whitespaces in inline asm, 2nd try
27664 fixed bug #3515390 - asm with leading whitespace passed to backends
27665 * src/z80/peep.c: made z80instructionSize() function more
27666 robust: accept arbitrary number of arbitrary space characters
27667 between mnemonic and the first operand
27669 2012-04-07 Philipp Klaus Krause <pkk AT spth.de>
27671 * src/z80/ralloc2.cc:
27676 2012-04-07 Borut Razem <borut.razem AT gmail.com>
27678 * src/common.h, SDCCglobal.h: fixed mingw32 build on derna:
27679 macros min and max should not be defined when compiled with C++
27680 * src/pic16/device.c, src/pic16/genarith.c, src/pic16/gen.c,
27681 src/pic16/pcode.c, src/pic16/glue.c:
27682 applied patch #3515647 - Correction patch on the PIC16's branch,
27683 thanks to Molnar Karoly
27685 2012-04-07 Philipp Klaus Krause <pkk AT spth.de>
27687 * src/SDCCralloc.hpp:
27688 Additional assertion to track down #3475617 and #3506333.
27690 2012-04-06 Borut Razem <borut.razem AT gmail.com>
27692 * src/SDCCgen.c, src/SDCCgen.h, src/SDCCralloc.hpp, src/common.h,
27693 src/mcs51/gen.c, src/pic14/gen.c, src/z80/gen.c,
27694 src/pic16/gen.c, src/ds390/gen.c, src/hc08/gen.c:
27695 fixed NetBSD sparc64 build, code beautification,
27696 additional unification of target code generation
27697 * support/cpp/configure.in, support/cpp/configure,
27698 support/cpp/system.h: fixed sdcc configure include paths
27699 * src/SDCCgen.c: don't emit leading whitespaces in inline asm;
27700 fixed bug #3515390 - asm with leading whitespace passed to backends
27702 2012-04-05 Philipp Klaus Krause <pkk AT spth.de>
27704 * support/regression/tests/gcc-torture-execute-20080529-1.c:
27705 Disable test for gcc older than 5.0.
27706 * src/z80/ralloc2.cc,
27707 src/SDCCralloc.hpp,
27710 Made optimal allocator less z80-specific.
27712 2012-04-04 Borut Razem <borut.razem AT gmail.com>
27714 * support/cpp/system.h, support/cpp/libiberty/filenames.h,
27715 support/cpp/libiberty/md5.c, support/cpp/libiberty/obstack.h:
27716 sdcpp partially synchronized with GCC CPP release version 4.7.0
27717 * support/cpp/sdcpp.vcxproj: enhancements, added custom build messages
27719 2012-04-03 Philipp Klaus Krause <pkk AT spth.de>
27721 * src/SDCCralloc.hpp:
27722 Additional assertions to track down #3475617 and #3506333.
27724 2012-04-02 Philipp Klaus Krause <pkk AT spth.de>
27731 device/include/stdint.h
27732 device/lib/_rlslonglong.c
27733 device/lib/_divslonglong.c
27734 device/lib/z180/Makefile.in
27735 device/lib/z180/stubs.s
27736 device/lib/_mullonglong.c
27737 device/lib/_rrslonglong.c
27738 device/lib/z80/Makefile.in
27739 device/lib/z80/stubs.s
27740 device/lib/gbz80/stubs.s
27741 device/lib/gbz80/Makefile.in
27742 device/lib/_rlulonglong.c
27743 device/lib/Makefile.in
27744 device/lib/_divulonglong.c
27745 device/lib/_divslonglong_rrx_s.c
27746 device/lib/_rrslonglong_rrx_s.c
27747 device/lib/_divulonglong_rrx_s.c
27748 device/lib/_rrulonglong_rrx_s.c
27749 device/lib/_rrulonglong.c
27750 device/lib/_rlslonglong_rrx_s.c
27751 device/lib/r2k/Makefile.in
27752 device/lib/r2k/stubs.s
27753 device/lib/_rlulonglong_rrx_s.c
27754 device/lib/hc08/Makefile.in
27755 device/lib/hc08/_ret.c
27756 support/regression/tests/gcc-torture-execute-991216-1.c
27757 support/regression/tests/gcc-torture-execute-pr47337.c
27758 support/regression/tests/gcc-torture-execute-991216-2.c
27759 support/regression/tests/gcc-torture-execute-pr20187-1.c
27760 support/regression/tests/gcc-torture-execute-20000121-1.c
27761 support/regression/tests/gcc-torture-execute-960801-1.c
27762 support/regression/tests/gcc-torture-execute-930111-1.c
27763 support/regression/tests/gcc-torture-execute-20001112-1.c
27764 support/regression/tests/gcc-torture-execute-20101013-1.c:
27765 long long for hc08.
27767 support/regression/tests/gcc-torture-execute-pr47337.c,
27768 support/regression/tests/gcc-torture-execute-961213-1.c:
27769 Fixed bug #3513892.
27770 * src/SDCCralloc.hpp:
27771 Additional assertions to track down #3475617.
27772 * src/z80/ralloc.c:
27773 Assertion for local variables outside of functions.
27775 2012-04-01 Philipp Klaus Krause <pkk AT spth.de>
27777 * device/lib/Makefile.in,
27778 device/lib/*/Makefile.in,
27779 device/lib/*/stubs.s,
27780 device/lib/_divslonglong_rrx_s.c,
27781 device/lib/_rrslonglong_rrx_s.c,
27782 support/regression/tests/gcc-torture-execute-20101013-1.c,
27783 support/regression/tests/gcc-torture-execute-950512-1.c:
27784 long long division.
27785 * support/regression/tests/gcc-torture-execute-920612-1.c,
27786 support/regression/tests/gcc-torture-execute-920711-1.c:
27787 Disable tests for gcc older than 5.0.
27788 * support/regression/tests/longlong.c,
27789 support/regression/tests/gcc-torture-execute-960801-1.c,
27790 support/regression/tests/longlong.c:
27791 Disable long long tests since they fail on 32-bit systems.
27793 2012-03-31 Borut Razem <borut.razem AT gmail.com>
27795 * src/SDCCgen.c, src/SDCCgen.h, src/ds390/gen.c,
27796 src/ds390/main.c, src/hc08/gen.c, src/hc08/main.c,
27797 src/mcs51/gen.c, src/pic14/gen.c, src/pic16/gen.c,
27798 src/z80/gen.c, src/z80/gen.h:
27799 introduced labelKey2num label handling macro
27801 2012-03-30 Borut Razem <borut.razem AT gmail.com>
27803 * src/common.h, src/Makefile.in, src/SDCCgen.c, src/SDCCgen.h,
27804 src/SDCCasm.c, src/SDCCasm.h, src/SDCCdebug.c,
27805 src/SDCCdebug.h, src/SDCCpeeph.c, src/SDCCpeeph.h,
27806 src/avr/gen.c, src/ds390/gen.c, src/ds390/gen.h,
27807 src/ds390/main.c, src/ds390/main.h, src/hc08/gen.c,
27808 src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/main.h,
27809 src/pic14/gen.c, src/pic16/gen.c, src/z80/gen.c,
27810 sdcc_vc_in.h, src/sdcc.vcxproj, src/sdcc.vcxproj.filters:
27811 unification of target code generation
27813 2012-03-30 Philipp Klaus Krause <pkk AT spth.de>
27815 * device/lib/z180/stubs.s,
27816 device/lib/z80/stubs.s,
27817 device/lib/gbz80/stubs.s,
27818 support/regression/tests/longlong.c,
27819 support/regression/tests/gcc-torture-execute-*.c:
27820 Made TODO comments more specific wrt. to what sdcc functionality is required for enabling the test, enabled more long long tests.
27822 2012-03-30 Borut Razem <borut.razem AT gmail.com>
27824 * configure.in, configure, sdccconf_in.h:
27825 added check if c supports tags in unnamed struct,
27826 fixed IS_VALID_OPTION
27827 * sim/ucsim/configure.in, sim/ucsim/configure:
27828 fixed IS_VALID_OPTION
27829 * sim/ucsim/aclocal.m4: regenerated
27830 * src/pic14/Makefile.in: removed unneeded PORT
27832 2012-03-30 Philipp Klaus Krause <pkk AT spth.de>
27835 Fix for returning long long, fixes #3512403.
27836 * device/lib/z180/stubs.s,
27837 device/lib/z80/stubs.s,
27838 device/lib/gbz80/stubs.s,
27839 support/regression/tests/longlong.c:
27840 More tests for long long.
27841 * support/regression/tests/gcc-torture-execute-*.c:
27842 Made TODO comments more specific wrt. to what sdcc functionality is required for enabling the test.
27843 * device/lib/_rrslonglong_rrx_s.c,
27844 device/lib/_rrulonglong_rrx_s.c,
27845 device/lib/_rlulonglong_rrx_s.c:
27846 Fixes for long long shift.
27848 2012-03-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27850 * src/SDCCsymt.c (initCSupport),
27851 device/lib/_rrslonglong_rrx_s.c,
27852 device/lib/_rrulonglong_rrx_s.c:
27853 Fixed declarations for shift support functions.
27854 * device/lib/*z*/Makefile.in,
27855 device/lib/Makefile.in,
27856 device/lib/_r??longlong_rrx_s.c,
27857 device/lib/_mullonglong.c:
27858 Shift and multiplication support for long long.
27860 2012-03-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27863 src/z80/ralloc2.cc:
27864 More flexible use of de for gbz80.
27866 2012-03-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27868 * src/SDCCsymt.c (initCSupport): fixed declarations for shift support functions
27869 * src/SDCCsymt.c (initBuiltIns),
27870 src/SDCCast.c (funcOfTypeVarg),
27871 src/SDCCast.h: added some const qualifiers
27873 2012-03-29 Philipp Klaus Krause <pkk AT spth.de>
27876 src/z80/ralloc2.cc:
27877 More flexible use of de for gbz80.
27879 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27881 * src/z80/ralloc2.cc:
27882 Allow some use of de on gbz80.
27885 * device/lib/_rrslonglong_rrx_s.c,
27886 device/lib/_rrulonglong_rrx_s.c:
27887 Support functions for shifting long long.
27889 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27891 * src/z80/ralloc2.cc,
27894 Remove support for using the old allocator for A, while using the new allocator for other registers.
27896 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27899 Enabled exact cost function for gbz80.
27901 Fixed a gbz80 comparison bug.
27903 2012-03-28 Borut Razem <borut.razem AT gmail.com>
27905 * src/SDCCval.c, src/SDCCval.h, src/SDCCicode.c:
27906 double2ul converted from macro to a function
27908 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27911 Better support for returning long long, now works for gbz80, too.
27913 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27916 Better assignment for large variables.
27918 Fix code size calculation bug.
27920 2012-03-28 Borut Razem <borut.razem AT gmail.com>
27922 * configure.in, configure, sdccconf_in.h,
27923 sim/ucsim/configure.in, sim/ucsim/configure,
27924 sim/ucsim/ddconfig_in.h:
27925 use AC_C_BIGENDIAN instead of SDCC_BUILD_BIGENDIAN
27926 * support/cpp/config.in: regenerated
27927 * custom_in.h, sim/ucsim/custom_in.h: removed
27929 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27931 * device/include/stdint.h:
27932 Use long long for intmax_t where available.
27934 2012-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27936 * support/regression/tests/gcc-torture-execute-981001-1.c: Revert my
27937 previous edit since it was not needed
27939 2012-03-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27942 support/regression/tests/longlong.c:
27943 Fixed returning long long, and reenabled test.
27945 2012-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27947 * support/regression/tests/gcc-torture-execute-981001-1.c: Only use
27948 __reentrant for SDCC and not for test-host
27949 * support/regression/tests/gcc-torture-execute-930106-1.c: Reenabled
27951 2012-03-28 Philipp Klaus Krause <pkk AT spth.de>
27953 * support/regression/tests/gcc-torture-execute-981001-1.c:
27954 Fixed #3511512 / #3511513.
27956 2012-03-27 Philipp Klaus Krause <pkk AT spth.de>
27960 support/regression/tests/gcc-torture-execute-960801-1.c,
27961 support/regression/tests/longlong.c:
27962 Support for returning long long and unsigned long long in z80, z180 and r2k port.
27964 2012-03-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27967 Fixed stack unbalance bug.
27969 2012-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27971 * src/SDCCasm.c (FileBaseName): fixed bug 3511092
27973 2012-03-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
27975 * support/regression/tests/gcc-torture-execute-9*.c:
27976 Added some more tests from the execute part of the gcc torture regression test suite.
27978 2012-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27980 * src/mcs51/ralloc.c (packForPush),
27981 src/ds390/ralloc.c (packForPush),
27982 src/hc08/ralloc.c (packForPush): fixed bug #3502628
27983 * support/regression/tests/gcc-torture-execute-20010403-1.c: reenabled
27984 * src/hc08/ralloc.c (packRegisters, packForPush): use packForPush
27985 for SEND iCodes too.
27987 2012-03-25 Maarten Brock <sourceforge.brock AT dse.nl>
27989 * src/mcs51/ralloc.c (packForPush): fixed bug 3502621
27990 * support/regression/tests/gcc-torture-execute-20030117-1.c: enabled test
27992 2012-03-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
27994 * src/SDCCast.c (isConformingBody): fixed bug #3509715
27995 * support/regression/tests/gcc-torture-execute-930513-2.c: reenabled
27996 * src/SDCCast.c (decorateType): fixed bug #3509713
27997 * support/regression/tests/gcc-torture-execute-930429-1.c: reenabled
27998 * src/SDCCicode.c (geniCodeAssign): fixed bug #3509712
27999 * support/regression/tests/gcc-torture-execute-921016-1.c: reenabled
28000 * src/SDCCopt.c (optimizeCastCast): fixed bug #3509711
28001 * support/regression/tests/gcc-torture-execute-921218-1.c: reenabled
28003 2012-03-24 Borut Razem <borut.razem AT gmail.com>
28005 * support/makebin/makebin.c: applied modified patch
28006 #3510671 - [makebin / gbz80] add nintendo logo info in ROM header,
28007 thanks to Noel Lemouel
28009 2012-03-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28011 * support/regression/Makefile.in,
28012 support/regression/ports/ds390/spec.mk,
28013 support/regression/ports/hc08/spec.mk,
28014 support/regression/ports/mcs51-common/spec.mk,
28015 support/regression/ports/pic14/spec.mk,
28016 support/regression/ports/pic16/spec.mk,
28017 support/regression/ports/ucgbz80/spec.mk,
28018 support/regression/ports/ucr2k/spec.mk,
28019 support/regression/ports/ucz180/spec.mk,
28020 support/regression/ports/ucz80/spec.mk,
28021 support/regression/ports/xa51/spec.mk: attempt to fix bug #3477347
28023 2012-03-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28026 src/SDCCcse.c: handle possible pointer aliasing more conservatively
28027 * src/z80/gen.c (genFunction): reset stack.pushed at function start too
28029 2012-03-22 Philipp Klaus Krause <pkk AT spth.de>
28031 * support/regression/tests/gcc-torture-execute-941021-1.c:
28032 Disable test for gcc older than 5.0.
28034 2012-03-22 Borut Razem <borut.razem AT gmail.com>
28036 * doc/sdccman.lyx: double underlined keywords,
28037 fixed bug #3510011 - Wrong keyword
28038 * src/sdcc.vcxproj, src/sdcc.vcxproj.filters:
28039 added some missing header files
28041 2012-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28044 src/SDCCsymt.c (initCSupport, typeFromStr, printTypeChainRaw),
28045 src/SDCCopt.c (cnvToFloatCast, cnvToFixed16x16Cast, cnvFromFloatCast,
28046 cnvFromFixed16x16Cast, convilong): ongoing upgrades for long long type
28048 2012-03-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28050 * src/hc08/gen.c (transferAopAop): fixed bug 3509707
28051 * support/regression/tests/gcc-torture-execute-930603-1.c: reenabled
28053 2012-03-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28055 * support/regression/tests/gcc-torture-execute-92*,
28056 support/regression/tests/gcc-torture-execute-93*,
28057 support/regression/tests/gcc-torture-execute-94*:
28058 Added some more tests from the execute part of the gcc torture regression test suite.
28060 2012-03-20 Borut Razem <borut.razem AT gmail.com>
28062 * src/mcs51/gen.c, src/SDCCasm.c, src/SDCCasm.h, src/z80/gen.c,
28063 src/SDCCutil.c, src/ds390/gen.c, src/hc08/gen.c:
28064 code cleaning, optimization, ...
28066 2012-03-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28068 * device/include/stdint.h,
28069 device/include/string.h,
28070 device/include/stddef.h,
28071 device/include/stdlib.h,
28072 device/include/stdio.h,
28073 device/include/time.h,
28074 device/include/errno.h:
28075 rsize_t, errno_t, constraint_handler_t, RSIZE_MAX from annex K (bounds-checking) of the C11 standard.
28077 2012-03-19 Borut Razem <borut.razem AT gmail.com>
28079 * src/SDCC.lex, doc/sdccman.lyx: removed asm() pseudo function
28080 since it is not standard-compliant
28082 2012-03-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28085 Handle gbz80 (hl+) and (hl-).
28087 2012-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28089 * support/regression/Makefile.in,
28090 support/regression/collate-results.py: Summarize any failures in a
28091 nicer format instead of all run together on one line
28092 * src/ds390/gen.c (genPlusIncr): fix problem with dereferencing a
28093 generic pointer via a struct losing pointer type byte
28095 2012-03-18 Borut Razem <borut.razem AT gmail.com>
28097 * doc/sdccman.lyx,src/avr/gen.c, src/ds390/gen.c,
28098 src/hc08/gen.c, src/mcs51/gen.c, src/pic14/gen.c,
28099 src/pic16/device.c, src/pic16/gen.c, src/pic16/glue.c,
28100 src/pic16/pcode.c, src/SDCC.lex, src/SDCC.y, src/SDCCast.c,
28101 src/SDCCglue.c, src/SDCCsymt.h, src/SDCCutil.c,
28102 src/SDCCutil.h, src/SDCCval.c:
28103 implemented feature request #2815320 - please add asm()
28104 pseudo function as alternate
28105 * sdcc.sln, src/sdcc.vcxproj, src/sdcc.vcxproj.filters,
28107 re-itroduced yacc project
28108 * .version, doc/sdccman.lyx: bumped version to 3.1.4
28109 * config.vcxproj, src/ds390/ds390.vcxproj,
28110 src/hc08/hc08.vcxproj, src/mcs51/mcs51.vcxproj,
28111 src/pic14/pic14.vcxproj, src/pic16/pic16.vcxproj,
28112 src/sdcc.vcxproj, src/yacc.vcxproj, src/z80/z80.vcxproj,
28113 all.vcxproj, all.vcxproj.filters:
28114 VS project enhancements
28115 * src/SDCC.y, src/SDCCsymt.h, src/SDCCutil.c, src/SDCCutil.h,
28116 src/SDCCval.c: fixed flaws in previous commit
28117 * src/SDCCsymt.c, src/pic14/glue.c, src/cdbFile.c:
28118 fixed printing size_t type numbers
28120 2012-03-18 Maarten Brock <sourceforge.brock AT dse.nl>
28122 * src/ds390/gen.c (aopGet, aopPut),
28123 * src/mcs51/gen.c (aopGet, aopPut): fixed bug 3496842
28124 * support/regression/tests/sfr16.c: enabled test and fixed for ds390
28126 2012-03-17 Borut Razem <borut.razem AT gmail.com>
28128 * support/regression/tests/strstr.c,
28129 support/regression/tests/strcpy.c,
28130 support/regression/tests/strcmp.c,
28131 support/regression/tests/strtok.c,
28132 support/regression/tests/strncmp.c,
28133 support/regression/tests/strspn.c,
28134 support/regression/tests/strpbrk.c,
28135 support/regression/tests/string.c:
28136 merged strstr.c, strcpy.c, strcmp.c, strtok.c, strncmp.c,
28137 strspn.c, and strpbrk.c to string.c, added test for
28140 2012-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28142 * sdas/linksrc/lkarea.c (lnksect2): applied fix from Tim Schuerewegen
28145 2012-03-16 Borut Razem <borut.razem AT gmail.com>
28147 * sdcc.sln, src/sdcc.vcxproj, src/sdcc.vcxproj.filters,
28149 project src renamed to sdcc, removed project yacc
28150 * doc/sdccman.lyx, src/SDCCasm.c, src/SDCCicode.h,
28151 src/SDCCast.c, src/SDCCast.h, src/pic16/main.c:
28152 implemeted pragma config for pic16 target, solution
28153 of bug #3486890 - pic16 port config directive warning
28154 * src/Makefile.in, src/sdcc.vcxproj:
28155 fixed bug #3506236: sdcc.exe unicode problem? by generating
28158 2012-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28160 * sdas/linksrc/lkarea.c (allocate_space,find_empty_space): fixed bound
28161 checking errors on allocation bitmap (possbile fix for bug #3502626)
28163 2012-03-16 Raphael Neider <rneider AT web.de>
28165 * device/non-free/lib/pic16/libdev/pic18f1330.c:
28166 add dummy SSPBUF symbol as required by __stream_putchar/printf
28167 * device/non-free/lib/pic16/libdev/testall.sh:
28168 test using printf_tiny() for greater confidence
28170 2012-03-14 Borut Razem <borut.razem AT gmail.com>
28172 * debugger/mcs51/sdcdb.c, src/mcs51/gen.c, src/SDCCopt.c,
28173 src/hc08/gen.c, src/hc08/ralloc.c, src/ds390/gen.c,
28174 src/ds390/ralloc.c, sim/ucsim/cmd.src/cmdset.cc,
28175 sim/ucsim/cmd.src/cmdstat.cc, sim/ucsim/cmd.src/cmdgui.cc,
28176 sim/ucsim/z80.src/inst.cci, sdas/asxxsrc/asout.c:
28177 fixed gcc 4.6.1 warnimgs, mainly warning: 'xxx' may be used
28178 uninitialized in this function [-Wuninitialized]
28180 2012-03-14 Philipp Klaus Krause <pkk AT spth.de>
28182 * src/z80/ralloc.c,
28183 support/regression/tests/bug3502965.c:
28184 Fixed bug #3502965.
28185 * support/regression/tests/gcc-torture-execute-20030209-1.c,
28186 support/regression/tests/gcc-torture-execute-20031012-1.c:
28187 Added explanation for why tests don't work on gbz80.
28189 Reenable non-compliant SDCC macros (but not for --std-c89, --std-c99, --std-c11).
28190 * src/z80/ralloc2.cc:
28191 More flexible handling of accumulator in multiplication and return.
28193 2012-03-14 Borut Razem <borut.razem AT gmail.com>
28195 * device/non-free/include/*, device/non-free/lib/*:
28196 added info about "The header files should state that they are
28197 only to be used with authentic Microchip devices" Microchip
28198 requirement and GPL incompatibility
28200 2012-03-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28202 * support/regression/tests/gcc-torture-execute-20010224-1.c,
28203 support/regression/tests/gcc-torture-execute-20030714-1.c:
28204 Disable tests for gcc older than 5.0.
28206 2012-03-13 Borut Razem <borut.razem AT gmail.com>
28208 * device/include/*, device/lib/*: corrected GPL license version
28209 from 2.1 to 2: GPLv2.1 does not exist
28211 2012-03-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28213 * support/regression/tests/gcc-torture-execute-2001*.c,
28214 support/regression/tests/gcc-torture-execute-2003*.c:
28215 Added some more tests from the execute part of the gcc torture regression test suite.
28217 2012-03-12 Borut Razem <borut.razem AT gmail.com>
28219 * doc/TININative.txt: removed, available at
28220 http://sourceforge.net/apps/trac/sdcc/wiki/Using%20SDCC%20to%20develop%20Native%20Java%20functions
28222 don't generate unusable html and txt versions of sdccman
28224 2012-03-11 Philipp Klaus Krause <pkk AT spth.de>
28227 src/z80/peeph-r2k.def,
28228 src/z80/peeph-z80.def,
28229 support/regression/tests/bug3501942.c:
28230 Fixed bug #3501942.
28232 2012-03-11 Philipp Klaus Krause <pkk AT spth.de>
28235 Fixed bug that made copying from hl to iy ineffcient on r2k,
28236 fix another check in commitPair(), improved stack adjustment
28237 after function call.
28239 2012-03-11 Raphael Neider <rneider AT web.de>
28241 * device/lib/pic16/libio/usart/uopen.c:
28242 properly setup BAUDCONbits.BRG16, closes #3495815
28244 * device/non-free/include/pic16/pic18f1220.h:
28245 added BAUDCON alias and structure definition for BAUDCTL
28247 2012-03-10 Borut Razem <borut.razem AT gmail.com>
28250 documented support for 18f1230/18f1330 device family
28252 2012-03-10 Raphael Neider <rneider AT web.de>
28255 device/lib build depends on sdcc-sdbinutils
28257 * device/include/pic16/adc.h,
28258 device/include/pic16/pic16devices.txt,
28259 device/include/pic16/pic18fregs.h,
28260 device/lib/pic16/libio/Makefile.am,
28261 device/lib/pic16/libio/adc/adcbusy.c,
28262 device/lib/pic16/libio/adc/adcopen.c,
28263 device/lib/pic16/libio/adc/adcsetch.c,
28264 device/lib/pic16/libio/i2c.ignore,
28265 device/lib/pic16/libio/usart/uopen.c,
28266 device/non-free/include/pic16/pic18f1230.h,
28267 device/non-free/include/pic16/pic18f1330.h,
28268 device/non-free/lib/pic16/libdev/Makefile.am,
28269 device/non-free/lib/pic16/libdev/pic18f1230.c,
28270 device/non-free/lib/pic16/libdev/pic18f1330.c,
28271 device/non-free/lib/pic16/pics.all,
28272 support/scripts/pic18fam-h-gen.pl:
28273 add support for 18f1230 and 18f1330 devices
28275 * device/lib/pic16/libio/mkmk.sh:
28276 adjust path to pics.all
28278 * device/lib/pic16/libdev:
28279 removed obsolete, empty directory
28281 * device/lib/pic16/libio/Makefile.in,
28282 device/non-free/include/pic16/pic18fam.h,
28283 device/non-free/lib/pic16/libdev/Makefile.in:
28286 2012-03-10 Borut Razem <borut.razem AT gmail.com>
28288 * doc/README.txt, doc/sdccman.lyx:
28289 backslashes replaced with slashes in non-free paths;
28290 obsoleted special sdcc keywords which are not preceded
28291 by a double underscore
28292 * support/scripts/inc2h-pic16.pl, support/scripts/inc2h.pl:
28293 added comment about Microchip "The header files should state
28294 that they are only to be used with authentic Microchip
28295 devices" requirement.
28297 2012-03-10 Philipp Klaus Krause <pkk AT spth.de>
28300 Fixed bug #3501019.
28302 2012-03-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28304 * src/mcs51/gen.c (genCast): fixed bug #3486542
28305 * support/regression/tests/gcc-torture-execute-pr15296.c: re-enabled
28307 2012-03-09 Borut Razem <borut.razem AT gmail.com>
28310 added info about included code from gcc test suite
28312 replaced test -e with -f, since -e is not available in sh
28315 2012-03-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28318 Use 16-bit addition instructions for 8-bit additions when cheaper and possible.
28320 2012-03-07 Borut Razem <borut.razem AT gmail.com>
28322 * Makefile.in: copy correct sdbinutils executables to bin
28324 2012-03-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28326 * src/SDCCopt.c (getAddrspaceiCode),
28327 src/SDCCralloc.hpp (create_cfg): properly handle IFX and
28330 2012-03-06 Borut Razem <borut.razem AT gmail.com>
28332 * Makefile.in, support/sdbinutils/binutils/Makefile.am,
28333 support/sdbinutils/binutils/Makefile.in,
28334 support/scripts/sdcc.nsi,
28335 support/sdbinutils/bfd/asxxxx.c,
28336 support/sdbinutils/binutils/nm.c:
28337 added sdnm sdbinutils utility
28339 2012-03-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28342 Fixed bug #3496508.
28344 2012-03-05 Borut Razem <borut.razem AT gmail.com>
28347 disable -O2 optimization for gcc 4.6.3, see bug #3285611
28348 * support/scripts/sdcc_mingw32: minor cosmetical fix
28349 * configure.in, configure, config.guess, config.sub:
28350 added host and build type detection
28351 * device/lib/pic14/Makefile.in,
28352 device/lib/pic14/libm/Makefile.in: regenerated
28354 2012-03-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28356 * src/SDCCopt.c (separateAddressSpaces): fixed bug #3476041
28358 2012-03-04 Borut Razem <borut.razem AT gmail.com>
28360 * doc/README.txt, doc/sdccman.lyx: small corrections
28361 * src/SDCC.lex: removed forward declaration of non existing
28362 function deprecated_keyword(), removed macro TKEYWORDSDCC
28363 * support/cpp/opts.c, support/cpp/sdcpp.c,
28364 support/cpp/version.c, support/cpp/version.h:
28365 updated version to 4.6.3
28367 2012-03-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28372 * src/SDCC.y: fix struct/union tag scope problems
28373 (including bug #3487670)
28374 * support/regression/tests/structscope.c: new tests
28376 2012-03-03 Borut Razem <borut.razem AT gmail.com>
28378 * support/regression/ports/ucz80/spec.mk,
28379 support/regression/ports/ucz180/spec.mk:
28380 simulation timeout doubled due to several tests
28381 failures on sparc64-unknown-netbsd platform
28383 2012-03-02 Philipp Klaus Krause <pkk AT spth.de>
28387 support/regression/tests/bug-3495411.c,
28388 Fixed #3495411 and another --oldralloc bug.
28390 2012-03-02 Borut Razem <borut.razem AT gmail.com>
28392 * doc/sdccman.lyx: fixed pdf generation;
28393 added chapter 1.2 SDCC Suite Licenses;
28394 libraries license should be at least as liberal as the GPLv2+LE;
28395 note about GPL incompatible pic device libraries;
28396 added link to "List of the SDCC library" wiki page;
28397 added link to "SDCC - Small Device C Compiler Wiki" wiki page;
28398 use term "SDCC suite";
28399 formatting cleaning
28400 * doc/README.txt: changed chapters Licenses and Authors and interested persons
28402 2012-03-01 Borut Razem <borut.razem AT gmail.com>
28404 * support/regression/ports/ucz80/spec.mk:
28405 simulation timeout increased to 20s due to several tests
28406 failures on sparc64-unknown-netbsd platform
28407 * configure.in, configure: report CPPFLAGS and LDFLAGS settings
28408 * support/sdbinutils/bfd/configure.in,
28409 support/sdbinutils/bfd/configure,
28410 PKGVERSION set to (sdbinutils derived from GNU Binutils),
28411 BUGURL set to http://sourceforge.net/tracker/?group_id=599&atid=100599
28412 * support/sdbinutils/binutils/version.c:
28413 --vesion shows sd* names instead GNU *
28415 2012-03-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28417 * support/regression/tests/gcc-torture-execute-20080506-1.c,
28418 support/regression/tests/gcc-torture-execute-20080506-2.c:
28419 Disable tests for gcc versions earlier than 5.0.
28421 2012-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28423 * support/regression/tests/cse.c: new tests checking for CSE problems
28425 2012-02-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28427 * support/regression/tests/2000*.c:
28428 More tests from gcc.
28430 2012-02-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28432 * support/regression/tests/gcc-torture-execute-20000402-1.c:
28433 Disable test since unsigned long long is not yet fully supported.
28434 * support/regression/tests/gcc-torture-execute-20000314-1.c:
28437 2012-02-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28439 * support/regression/tests/2000*.c:
28440 More tests from gcc.
28442 2012-02-26 Borut Razem <borut.razem AT gmail.com>
28444 * support/regression/ports/ds390/spec.mk:
28445 simulation timeout icreased to 40s due to
28446 gcc-torture-execute-20090113-1 test failure on
28447 x86_64-w64-mingw32 and sparc64-unknown-netbsd platforms
28448 * doc/README.txt: added gbz80 to supported targets,
28449 explanation of sdcc run time libraries licensing
28451 2012-02-26 Philipp Klaus Krause <pkk AT spth.de>
28453 * device/include/mcs51/compiler.h:
28454 Update for SDCC -> __SDCC rename.
28455 * support/regression/tests/gcc-torture-execute-pr49161.c,
28456 support/regression/tests/gcc-torture-execute-pr49039.c,
28457 support/regression/tests/gcc-torture-execute-pr48809.c,
28458 support/regression/tests/gcc-torture-execute-pr48973-1.c,
28459 support/regression/tests/gcc-torture-execute-pr48973-2.c:
28460 Disable tests for all gcc older than 5.0.
28462 Document feature macro rename.
28464 2012-02-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28466 * src/ds390/gen.c (genAssign): fixed bug #3463343
28467 * support/regression/tests/gcc-torture-execute-string-opt-5.c:
28468 reenabled for ds390
28469 * src/ds390/gen.c (genPlus, genMinus): fix bug #3486541
28470 * support/regression/tests/gcc-torture-execute-pr20527-1.c:
28471 reenabled for ds390
28473 2012-02-26 Borut Razem <borut.razem AT gmail.com>
28475 * doc/sdccman.lyx: documented support for 16f720/16f721
28477 2012-02-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28479 * support/regression/tests/gcc-torture-execute-stdarg-4.c:
28480 reenabled for ds390
28482 2012-02-25 Borut Razem <borut.razem AT gmail.com>
28484 * configure.in, configure, Makefile.in, sdcc.sln,
28485 doc/sdccman.lyx, support/sdranlib/*: support/sdranlib removed
28486 * .version, doc/sdccman.lyx: bumped version to 3.1.3
28488 2012-02-25 Raphael Neider <rneider AT web.de>
28490 * device/include/pic14/pic14devices.txt,
28491 device/non-free/include/pic14/pic16f720.h,
28492 device/non-free/include/pic14/pic16f721.h,
28493 device/non-free/lib/pic14/libdev/Makefile.in,
28494 device/non-free/lib/pic14/libdev/devices.txt,
28495 device/non-free/lib/pic14/libdev/pic16f720.c,
28496 device/non-free/lib/pic14/libdev/pic16f721.c:
28497 added support for 16f720/16f721
28499 * device/non-free/include/pic14/pic14regs.h:
28500 fixed to use __SDCC_PROCESSOR instead of SDCC_PROCESSOR
28502 * device/non-free/lib/pic16/libdev/testall.sh:
28503 test support for all devices by compiling a source file
28505 2012-02-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28507 * src/SDCCcse.c: fixed bug #3473062
28508 * src/z80/gen.c (genCmpGt, genCmpLt),
28509 src/hc08/gen.c (genCmp, genCmpEQorNE),
28510 src/pic16/gen.c (genCmpGt, genCmpLt),
28511 src/pic14/gen.c (genCmpGt, genCmpLt): fixed bug #3487025
28513 2012-02-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28515 * support/regression/tests/gcc-torture-execute-pr42833.c:
28516 Disable test for all gcc versions earlier than 5.0.
28518 2012-02-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28520 * src/SDCCast.c (createDo): fixed bug #3489326
28522 2012-02-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28525 More efficient access to two-byte variables near the stack pointer for r2k, fix a bug when fetching 1-byte variables.
28527 2012-02-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28530 src/z80/peeph-z80.def:
28531 More efficient access to two-byte variables near the stack pointer.
28532 * support/regression/tests/gcc-torture-execute-pr42833.c:
28533 Disable test for even more gcc versions.
28535 2012-02-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28539 support/regression/*:
28540 sdcc macro mess cleanup, fix #3490776.
28542 2012-02-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28544 * support/regression/tests/bug2935162.c,
28545 * device/include/limits.h: changed constants to be compatible with
28546 both C89 and C99 integer constant type rules
28547 * src/SDCCval.c (constVal): fixed bug #3489899
28548 * src/mcs51/peeph.def: don't tail call optimize longjmp()
28549 * src/SDCCsymt.c (addSymChain): fixed bug #3489870
28551 2012-02-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28553 * device/include/setjmp.h,
28554 support/regression/tests/setjmp.c,
28555 device/lib/_setjmp.c:
28556 Rename HIDE_LONGJMP to __SDCC_HIDE_LONGJMP for standard compliance, enable setjmp/longjmp for z180 and r2k.
28558 2012-02-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28560 * src/SDCCcse.c (cseBBlock): fixed bug #3482753
28561 * support/regression/tests/bug3482753.c: new
28563 2012-02-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28567 src/SDCCast.c (decorateType, processParms, checkPtrCast, copyAstValues):
28570 2012-02-19 Philipp Klaus Krause <pkk AT spth.de>
28573 support/regression/tests/gcc-torture-execute-pr39339.c:
28574 Fixed bug #3486544.
28576 2012-02-19 Philipp Klaus Krause <pkk AT spth.de>
28579 support/regression/tests/gcc-torture-execute-pr43236.c,
28580 support/regression/tests/gcc-torture-execute-20090113-1.c:
28581 Fixed bugs #3486543 and #3487324.
28583 2012-02-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28586 src/SDCCsymt.c (findSymWithLevel),
28587 src/SDCCast.c (resolveSymbols, processBlockVars): fixed bugs 3403429,
28589 * support/regression/tests/bug3403429.c: enabled test
28591 2012-02-18 Philipp Klaus Krause <pkk AT spth.de>
28593 * support/regression/tests/gcc-torture-execute-pr44468.c,
28594 support/regression/tests/gcc-torture-execute-pr43438.c,
28595 support/regression/tests/gcc-torture-execute-pr45034.c:
28596 Disable tests for older gcc.
28598 2012-02-17 Philipp Klaus Krause <pkk AT spth.de>
28600 * device/lib/z80/divunsigned.s,
28601 device/lib/z180/divunsigned.s,
28602 device/lib/r2k/divunsigned.s:
28603 Remove some leftover code for handling division by zero (patch by parerga, #3488149).
28605 2012-02-17 Philipp Klaus Krause <pkk AT spth.de>
28607 * support/regression/tests/gcc-torture-execute-pr37924.c:
28608 Fix gcc compilation failure.
28610 2012-02-16 Philipp Klaus Krause <pkk AT spth.de>
28612 * src/z80/peeph-r2k.def:
28613 Use some peepholes useful when omitting the frame pointer from z80 for r2k.
28615 Improve code generation for r2k when omitting frame pointer, enable use of ld iy, hl on r2k.
28617 2012-02-16 Borut Razem <borut.razem AT gmail.com>
28619 * support/sdbinutils/include/opcode/sparc.h,
28620 support/sdbinutils/include/aout/sun4.h:
28621 added for NetBSD/sparc64 bfd build
28623 2012-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28625 * src/hc08/main.c (hasExtBitOp),
28626 src/hc08/gen.c (genGetAbit, genGetByte, genGetWord, genhc08Code):
28627 implemented the GETABIT, GETBYTE, and GETWORD iCodes for HC08
28629 2012-02-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28632 Cheaper signed comparison when right operand is a literal.
28633 * support/regression/tests/gcc-torture-execute-pr37924.c:
28634 Disable even more of a test for older gcc.
28636 2012-02-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28638 * support/regression/tests/gcc-torture-execute-pr37924.c,
28639 support/regression/tests/gcc-torture-execute-pr33779-2.c:
28640 Disable tests for older gcc.
28642 Fix setting of CurrFunc for non-functions.
28646 src/z80/ralloc2.cc:
28647 Fixes for --fomit-frame-pointer, omit frame pointer by default for
28648 functions with low register pressure and few stack accesses.
28650 2012-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28652 * src/SDCCast.c (createWhile, createDo, backPatchLabels): put label
28653 nodes above IFX nodes rather than between IFX and condition
28654 * src/SDCCicode.c (geniCodeIfx, ast2iCode): fixed bug #3429793
28656 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28658 * src/z80/ralloc2.cc,
28661 Omit frame pointer for functions with low register pressure and few parameter accesses.
28663 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28666 Fix addition when multiple operands are on the stack and --fomit-frame-pointer is used.
28668 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28670 * src/z80/peeph-z80.def,
28672 src/z80/ralloc2.cc:
28673 Generate better code when using --fomit-frame-ppinter.
28675 2012-02-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28677 * support/regression/tests/gcc-torture-execute-pr28651.c:
28678 Disable test for older gcc.
28680 2012-02-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28682 * support/regression/tests/gcc-torture-execute-pr49073.c,
28683 support/regression/tests/gcc-torture-execute-pr36691.c:
28684 Disabled some tests for older gcc.
28685 * support/regression/tests/gcc-torture-execute-*.c:
28686 Added some more tests from the execute part of the gcc torture regression test suite.
28688 Improve handling of bc, de in addition.
28690 Remove leftover legacy keyword function.
28692 2012-02-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28694 * src/z80/ralloc2.cc,
28696 Improve handling of hl in address calculations, minor decrement improvement.
28698 2012-02-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28700 * support/regression/tests/gcc-torture-execute-pr34070-1.c,
28701 support/regression/tests/gcc-torture-execute-pr34070-2.c:
28702 Disable more tests for older gcc
28703 * support/regression/tests/gcc-torture-execute-pr15296.c,
28704 support/regression/tests/bug1115321.c: Fix test to be compatible
28705 with hosts in which int and pointers differ in size.
28707 2012-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28709 * support/regression/tests/gcc-torture-execute-pr42833.c:
28710 don't redefine ssize_t if host already defines
28712 2012-02-12 Raphael Neider <rneider AT web.de>
28714 * src/pic14/pcode.c (newpCodeOpBit):
28715 prevent SIGSEGV on copying temporary registers
28717 * src/pic14/gen.c (gen{,End}Function, gen{,End}Critical, genpic14Code),
28718 src/pic16/gen.c (gen{,End}Function, gen{,End}Critical, genpic16Code):
28719 implement __critical (block and function attribute, PIC14 limited to
28720 no-arg functions: arg0 in W would be corrupted)
28722 2012-02-12 Philipp Klaus Krause <pkk AT spth.de>
28724 * support/regression/tests/gcc-torture-execute-pr42833.c,
28725 support/regression/tests/gcc-torture-execute-pr44555.c,
28726 support/regression/tests/gcc-torture-execute-pr48809.c,
28727 support/regression/tests/gcc-torture-execute-pr48973-1.c,
28728 support/regression/tests/gcc-torture-execute-pr48973-2.c,
28729 support/regression/tests/gcc-torture-execute-pr49039.c,
28730 support/regression/tests/gcc-torture-execute-pr49123.c,
28731 support/regression/tests/gcc-torture-execute-pr49161.c,
28732 support/regression/tests/gcc-torture-execute-pr49768.c:
28733 Disable some tests for older gcc.
28735 2012-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28737 * support/sdbinutils/include/mach-o/*: added missing files for Mac OS
28739 2012-02-12 Raphael Neider <rneider AT web.de>
28741 * src/pic14/gen.c (genGetABit, genpic14Code),
28742 src/pic14/main.c (hasExtBitOp),
28743 src/pic16/gen.c (genGetABit, genpic16Code),
28744 src/pic16/main.c (hasExtBitOp):
28745 implement GETABIT iCode, fixes #2986039
28747 2012-02-11 Raphael Neider <rneider AT web.de>
28749 * device/include/pic16/signal.h:
28750 explicitly access SFRs via access bank, closes #3482876
28752 2012-02-11 Raphael Neider <rneider AT web.de>
28754 * device/include/pic14/pic14devices.txt,
28755 device/non-free/include/pic14/pic16f1946.h,
28756 device/non-free/include/pic14/pic16f1947.h,
28757 device/non-free/lib/pic14/libdev/Makefile.in,
28758 device/non-free/lib/pic14/libdev/devices.txt,
28759 device/non-free/lib/pic14/libdev/pic16f1946.c,
28760 device/non-free/lib/pic14/libdev/pic16f1947.c,
28762 enabled/added devices
28764 * device/non-free/lib/pic14/libdev/testall.sh:
28765 test support for all devices by compiling a source file
28767 * device/non-free/lib/pic14/libdev/mkall.sh,
28768 support/scripts/inc2h.pl:
28769 improved regenerating device support files
28771 2012-02-11 Borut Razem <borut.razem AT gmail.com>
28773 * device/include/pic14/pic14devices.txt,
28774 device/non-free/include/pic14/pic16f1503.h,
28775 device/non-free/include/pic14/pic16f1507.h,
28776 device/non-free/include/pic14/pic16f1508.h,
28777 device/non-free/include/pic14/pic16f1509.h,
28778 device/non-free/include/pic14/pic16f1516.h,
28779 device/non-free/include/pic14/pic16f1517.h,
28780 device/non-free/include/pic14/pic16f1518.h,
28781 device/non-free/include/pic14/pic16f1519.h,
28782 device/non-free/include/pic14/pic16f1526.h,
28783 device/non-free/include/pic14/pic16f1527.h,
28784 device/non-free/lib/pic14/libdev/Makefile.in,
28785 device/non-free/lib/pic14/libdev/devices.txt,
28786 device/non-free/lib/pic14/libdev/pic16f1503.c,
28787 device/non-free/lib/pic14/libdev/pic16f1507.c,
28788 device/non-free/lib/pic14/libdev/pic16f1508.c,
28789 device/non-free/lib/pic14/libdev/pic16f1509.c,
28790 device/non-free/lib/pic14/libdev/pic16f1516.c,
28791 device/non-free/lib/pic14/libdev/pic16f1517.c,
28792 device/non-free/lib/pic14/libdev/pic16f1518.c,
28793 device/non-free/lib/pic14/libdev/pic16f1519.c,
28794 device/non-free/lib/pic14/libdev/pic16f1526.c,
28795 device/non-free/lib/pic14/libdev/pic16f1527.c:
28796 applied patch #3471142: [PIC14] more enchanced core devices,
28797 thanks to Gal Zsolt
28798 * doc/sdccman.lyx: added new 16f15xx devices to the list
28799 * support/sdbinutils/include/fopen-bin.h:
28800 added, required by mingw build
28801 * Makefile.in: added EXEEXT required by mingw build
28802 * support/scripts/sdcc_mingw32: added TARGETAR
28804 2012-02-11 Philipp Klaus Krause <pkk AT spth.de>
28806 * support/regression/tests/gcc-torture-execute-pr20601-1.c:
28807 Disabled test for host, since _Noreturn support is required.
28808 * support/regression/tests/gcc-torture-execute-pr23047.c:
28809 Removed test, since it seems to test for implementation-defined behaviour.
28810 * support/regression/tests/gcc-torture-execute-pr33779-1.c:
28811 Use exact-width integer types from stdint.h instead, no longer require long to be 32 bits.
28813 2012-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28815 * src/z80/ralloc2.cc,
28817 Increase flexibility of handling of register pair hl over function calls.
28819 2012-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28821 * support/regression/tests/*
28822 Added some more tests from the execute part of the gcc torture regression test suite.
28824 2012-02-10 Borut Razem <borut.razem AT gmail.com>
28826 * configure, Makefile.in, configure.in, sdccconf_in.h,
28827 device/lib/z180/Makefile.in, device/lib/small/Makefile.in,
28828 device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in,
28829 device/lib/ds390/Makefile.in, device/lib/medium/Makefile.in,
28830 device/lib/Makefile.in, device/lib/ds400/Makefile.in,
28831 device/lib/mcs51/Makefile.in, device/lib/huge/Makefile.in,
28832 device/lib/large/Makefile.in, device/lib/r2k/Makefile.in,
28833 device/lib/hc08/Makefile.in, Makefile.common.in,
28834 support/scripts/sdcc.nsi, support/sdbinutils/*:
28835 device/lib/z180/Makefileadded sdbinutils: sdar and sdranlib
28836 * device/lib/z180/Makefile:
28837 deleted, generated from device/lib/z180/Makefile.in
28839 2012-02-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28842 Fix for yesterdays addition improvement, decide in which pair
28843 to increment in code generator instead of peephole optimizer.
28845 2012-02-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28848 src/z80/peeph-z80.def:
28849 Minor addition improvement.
28851 2012-02-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28854 Use bit instruction for & in jump condition.
28856 src/z80/peeph-z80.def:
28857 Minor peephole improvements.
28859 2012-02-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28861 * src/z80/ralloc2.cc,
28863 Improve handling of register pairs, in particular hl.
28865 2012-02-06 Philipp Klaus Krause <pkk AT spth.de>
28868 Fixed bug #3073647.
28872 2012-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
28874 * support/regression/tests/bug2935162.c: don't assume 32-bit long host
28876 2012-02-06 Philipp Klaus Krause <pkk AT spth.de>
28879 Fixed bug #3482732.
28880 * src/SDCClrange.h,
28883 support/Regression/bug3482217.c:
28884 Fixed bug #3482217.
28886 2012-02-04 Maarten Brock <sourceforge.brock AT dse.nl>
28888 * src/SDCCval.c (constVal): fixed bug 2935162
28889 * support/regression/tests/bug2935162.c: new, added
28891 2012-02-03 Philipp Klaus Krause <pkk AT spth.de>
28895 src/z80/ralloc2.cc:
28896 Fixes for #3482732, preparations for exact cost function in gbz80 port.
28898 2012-02-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28901 Fix generation of invalid instructions when --reserve-regs-iy is used.
28903 2012-01-31 Borut Razem <borut.razem AT gmail.com>
28905 * support/regression/ports/ucgbz80/spec.mk:
28906 simulation timeout increased to 20s due to timeout failure on
28907 gcc-torture-execute-divcmp-3 regressin test on
28908 mypants.neurotica.com NetBSD/Sparc64 build machine
28910 2012-01-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28912 * src/z80/ralloc2.cc,
28913 support/regression/tests/bug3482146.c:
28914 Fixed bug #3482146.
28916 2012-01-31 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28918 * support/regression/tests/bug3482146.c:
28919 Regression test for bug #3482146.
28921 2012-01-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28924 Fixed bug #3480597.
28926 2012-01-29 Borut Razem <borut.razem AT gmail.com>
28928 * support/regression/tests/key.c: fixed for Mac OS X
28930 2012-01-28 Maarten Brock <sourceforge.brock AT dse.nl>
28932 * src/mcs51/gen.c (genJumpTab): fixed bug 3480545
28933 * support/regression/tests/bug3480545.c: new, added
28935 2012-01-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28938 support/regression/tests/gcc-torture-execute-stdarg-4.c:
28941 2012-01-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28943 * src/z80/peeph-gbz80.def:
28944 Fix remaining gbz80 regression failures when using --max-allocs-per-node 5.
28946 Fix right shift for gbz80 using --max-allocs-per-node 1.
28948 2012-01-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28951 Fix comparison and unary minus for gbz80 when many operands are on the stack.
28953 2012-01-26 Raphael Neider <rneider AT web.de>
28955 * src/pic14/pcodepeep.c,
28958 src/pic16/device.c,
28959 src/pic16/pcodepeep.c,
28961 src/pic16/pcoderegs.c,
28962 src/pic16/ralloc.c,
28964 src/pic16/genutils.c: avoid compiler warnings
28966 2012-01-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28968 * support/cpp/libcpp/internal.h,
28969 support/cpp/sdcpp.c,
28970 support/cpp/libcpp/lex.c:
28971 Remove support for _asm and _endasm, rename macros that had names reserved for the implementation.
28972 * support/regression/tests/key.c:
28973 Regression test for obsolete keywords.
28975 2012-01-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28978 Correctly handle some forgotten corner cases in the fix for #3427564.
28980 2012-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
28983 Mention -mz180, -mr2k, named address spaces and use non-deprectaed form of sdcc-specific keywords.
28985 Remove support for deprecated keywords.
28987 Fixed bug #3427564.
28989 2012-01-25 Borut Razem <borut.razem AT gmail.com>
28991 * device/lib/make51lib.bat: rewritten for ar / sdranlib
28993 2012-01-23 Borut Razem <borut.razem AT gmail.com>
28995 * doc/sdccman.lyx: pic14 enhanced cores enabled by default
28997 2012-01-22 Borut Razem <borut.razem AT gmail.com>
28999 * configure.in, configure: corrected test if ar accepts -S option
29001 2012-01-22 Maarten Brock <sourceforge.brock AT dse.nl>
29003 * support/regression/tests/bug3475630.c,
29004 * support/regression/tests/bug3475656.c: fixed for mcs51, native eol
29005 * device/include/mcs51/stc12.h: new, added, thanks intron
29007 2012-01-21 Philipp Klaus Krause <pkk AT spth.de>
29009 * src/z80/ralloc2.cc,
29010 support/regression/tests/bug3475630.c:
29011 Fixed bug #3475630.
29012 * support/regression/tests/bug3475656.c:
29013 Regression test for bug #3475656.
29015 2012-01-21 Philipp Klaus Krause <pkk AT spth.de>
29017 * src/z80/peeph-gbz80.def:
29018 Enable some more peephole rules for the gbz80.
29020 2012-01-21 Borut Razem <borut.razem AT gmail.com>
29022 * support/regression/tests/bug2942343.c: corrected test if SDCC
29024 2012-01-20 Borut Razem <borut.razem AT gmail.com>
29026 * device/lib/pic14/Makefile.am, device/lib/pic14/Makefile.in,
29027 device/lib/pic14/libm/Makefile.am,
29028 device/lib/pic14/libm/Makefile.in:
29029 added template for NEW_PICS
29030 * device/non-free/lib/pic14/libdev/Makefile.in:
29031 pic14 enhanced cores enabled by default
29033 2012-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29035 * support/regression/tests/bug2942343.c: disable for test-host
29036 * support/regression/tests/bug3475990.c: skip named address space
29037 declaration for test-host
29039 2012-01-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29041 * src/SDCCnaddr.hpp:
29042 Fix preprocessing step for named address spaces.
29044 2012-01-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29046 * src/SDCCnaddr.cc,
29050 support/regression/tests/bug3475990.c:
29051 Fixed bug #3475990.
29053 2012-01-19 Borut Razem <borut.razem AT gmail.com>
29055 * device/lib/pic14/configure.in, device/lib/pic14/configure,
29056 device/lib/pic14/Makefile.am, device/lib/pic14/Makefile.in,
29057 device/lib/pic14/libm/Makefile.am,
29058 device/lib/pic14/libm/Makefile.in:
29059 pic14 enhanced cores enabled by default; gputils 0.14.1 or
29062 2012-01-18 Maarten Brock <sourceforge.brock AT dse.nl>
29064 * device/lib/_fsget1arg.c,
29065 * device/lib/_fsget2args.c: cosmetics
29066 * device/lib/_fsnormalize.c: fixed bug 3474855
29067 * support/regression/tests/bug3474855.c: new, added
29069 2012-01-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29072 Fix signed comparison on gbz80.
29073 * device/lib/_memmove.c:
29074 Fix comparison in pointer location for memmove().
29075 * src/z80/peeph-gbz80.def:
29076 Enable some jump peepholes for gbz80.
29078 2012-01-15 Philipp Klaus Krause <pkk AT spth.de>
29083 Pretend to live in the year 2012 to not cause suspicion.
29084 * device/lib/_memmove.c:
29085 Simplified test deciding copy direction for memmove().
29086 * src/z80/peeph-gbz80.def:
29087 Use gbz80-specific load-and-increment/decrement instructions.
29088 * src/z80/mappings.i:
29089 Use more intuitive add sp, d syntax instead of lda sp, d(sp).
29091 2012-01-15 Borut Razem <borut.razem AT gmail.com>
29093 * sdas/asrab/Makefile.in: fixed linking with -lm math library
29094 * src/SDCCnaddr.cc: removed unicode BOM
29095 * device/lib/pic14/configure.in, device/lib/pic14/configure,
29096 device/lib/pic14/aclocal.m4: fixed transfer of gcc CFLAGS to
29097 sdcc while generating dependencies
29099 2012-01-14 Philipp Klaus Krause <pkk AT spth.de>
29102 Fixed bug #3473863 in increment of pointers, fixed similar bug in equality comparison.
29103 * support/regression/tests/memory.c:
29104 Enable a memchr() test.
29105 * support/regression/tests/bug2729218.c:
29106 Move struct out of ROM for gbz80.
29108 2012-01-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29111 Remove unnecessary value calculation in _hasNativeMulFor().
29113 2012-01-14 Maarten Brock <sourceforge.brock AT dse.nl>
29116 * doc/sdccman.lyx: bumped version to 3.1.2
29117 * src/SDCCicode.c (checkTypes): fixed bug 2942343
29118 * src/SDCCnaddr.cc: svn properties
29119 * src/SDCCnaddr.hpp: removed some typename keywords for MSVC,
29121 * src/src.vcxproj: added SDCCnaddr.*, added boost include path
29122 * src/z80/z80.vcxproj: upgraded boost include path
29123 * support/regression/tests/bug2942343.c: new, added
29125 2012-01-11 Borut Razem <borut.razem AT gmail.com>
29127 * src/SDCC.lex: removed #line rule handled by preprocessor
29129 2012-01-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29134 src/z80/ralloc2.cc,
29138 Make optimal placement of bank-selection instructions configurable using
29139 --max-allocs-per-node and --dump-graphs options.
29141 2012-01-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29143 * src/SDCCnaddr.hpp,
29146 Optimal placement of bank-switching calls.
29148 2012-01-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29154 src/z80/ralloc2.cc,
29157 Preparations for optimal placement of bank-switching calls.
29159 2012-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29161 * src/SDCCicode.c: fixed bug 3466784
29163 2012-01-09 Leland Morrison <enigmalee AT sourceforge.net>
29165 * sim/ucsim/z80.src/glob_lr35902.cc: disassemble for gb processor
29166 * sim/ucsim/z80.src/inst_lr35902.cc: instruction simulation for gb
29167 * sim/ucsim/z80.src/lr35902.cc,
29168 * sim/ucsim/z80.src/lr35902cl.h: definition of gb processor
29169 * sim/ucsim/z80.src/z80cl.h,
29170 * sim/ucsim/z80.src/z80.cc: added peek1 function to look at next opcode
29171 * sim/ucsim/z80.src/glob.cc: fixes to disassembly for "ld e,<byte>",
29172 "inc (hl)", and "dec (hl)" for z80 processor
29173 * sim/ucsim/z80.src/glob.h: added declaration for gb disassembly table
29174 * sim/ucsim/z80.src/inst_r2k.h: fix to sign extension for add sp,d
29175 * sim/ucsim/z80.src/simz80.cc: added -tlr35902 option for gameboy
29176 * support/regression/Makefile.in,
29177 * support/regression/ports/ucgbz80/*: added option to run regression
29178 tests for the gb processor using ucsim
29180 2012-01-08 Maarten Brock <sourceforge.brock AT dse.nl>
29182 * src/SDCC.lex: included io.h for read() declaration with MSVC,
29184 * src/SDCCerr.c: made W_LIT_OVERFLOW pedantic
29185 * src/SDCCglue.c (printIvalType, printIvalBitFields),
29186 * src/SDCCicode.c checkTypes): removed lessPedantic check
29187 * src/SDCCicode.c (geniCodeCast): fixed bug 3470368
29189 2012-01-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29192 Fixed width of lower part of large literals.
29194 2012-01-06 Borut Razem <borut.razem AT gmail.com>
29196 * sdas/linksrc/Makefile.in: removed LKLIB
29197 * device/non-free/lib/Makefile.in: removed SOURCES
29199 2012-01-04 Philipp Klaus Krause <pkk AT spth.de>
29202 More explicit stack size reporting for hc08.
29204 2012-01-04 Maarten Brock <sourceforge.brock AT dse.nl>
29206 * src/SDCCopt.c (killDeadCode): fixed bug 2862308
29207 * support/regression/tests/bug2862308.c: new, added
29209 2012-01-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29212 support/regression/tests/gcc-torture-execute-string-opt-5.c:
29213 Fixed bug #3463342.
29215 2012-01-03 Maarten Brock <sourceforge.brock AT dse.nl>
29217 * sdas/as6808/m08ext.c,
29218 * sdas/as6808/as_hc08.vcxproj,
29219 * sdas/as6808/as_hc08.vcxproj.filters,
29220 * sdas/as6808/Makefile.in: removed m08ext.c
29221 * sdas/as6808/m08adr.c,
29222 * sdas/as6808/m08mch.c,
29223 * sdas/as6808/m08pst.c,
29224 * sdas/as6808/m6808.h,
29225 * sdas/asxxsrc/asout.c: synced with ASxxxx v5 to fix bug 2894291
29227 2012-01-02 Borut Razem <borut.razem AT gmail.com>
29229 * sdcc/SDCC.lex: included unistd.h, needed by flex 2.5.4 on
29230 NetBSD 5.0.1 sparc64 for read() declaration
29231 * sdas/linksrc/lkar.h: '\n' replaced by '\012'
29233 2012-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
29235 * src/src.vcxproj: increased stack size 32M/64M so it never overflows
29236 * src/Makefile.in: added flex fast flag -f
29237 * src/SDCC.lex: removed preprocessor warning and error rules,
29238 removed EOL after #... rules
29240 2011-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
29242 * device/lib/clean.mk: added z180 and r2k
29243 * sim/ucsim/cmd.src/cmdlex.l: fixed unused yyunput warning
29244 * src/hc08/main.c: removed unused BSEG
29245 * src/SDCCglue.c (glue): suppress unused segments
29246 * src/SDCCmem.c (allocMap, initMem): skip when name==NULL,
29247 (allocGlobal): use x_abs for __at on z80, fixed bug 2040874
29248 * src/z80/main.c: removed ISEG, XSEG, BSEG, OVERLAY, added DABS (x_abs)
29249 * support/regression/fwk/include/testfwk.h,
29250 * support/regression/tests/absolute.c: z80 supports __at
29252 2011-12-29 Borut Razem <borut.razem AT gmail.com>
29254 * support/cpp/libcpp/lex.c:
29255 partialy synchronized with sdcpp 4.6.[12]: no mmx, sse, altivec
29256 * support/cpp/version.c: updated version to 4.6.2
29257 * support/cpp/configure.in, support/cpp/configure,
29258 support/cpp/config.in: WORDS endianness detection
29260 2011-12-27 Maarten Brock <sourceforge.brock AT dse.nl>
29263 * src/SDCC.y: fixed bugs 1810965 and 2698805
29264 * src/SDCCsymt.c (checkSClass): removed old hack-o-matic
29265 * support/regression/tests/bug1810965.c: new, added
29267 2011-12-26 Philipp Klaus Krause <pkk AT spth.de>
29269 * src/SDCCralloc.hpp:
29270 Reduce stack space usage in recursion.
29272 2011-12-25 Maarten Brock <sourceforge.brock AT dse.nl>
29274 * device/lib/r2k/setjmp.s,
29275 * device/lib/z180/setjmp.s,
29276 * device/lib/z80/setjmp.s: optimized
29277 * device/lib/r2k/*,
29278 * device/lib/z180/*,
29279 * device/lib/z80/*: use native eol
29281 2011-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
29283 * device/include/setjmp.h: changed longjmp return type to void
29284 * device/lib/_setjmp.c: but use int for the implementation
29286 2011-12-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29288 * src/SDCCopt.c (replaceRegEqv): fixed bug 2938101
29290 2011-12-23 Philipp Klaus Krause <pkk AT spth.de>
29295 Warn about return statements in _Noreturn functions.
29296 * device/include/setjmp.h,
29297 device/lib/_setjmp.c:
29298 Make longjmp() a _Noreturn function, as required by the C11 standard.
29301 Do some basic optimizations for _Noreturn functions.
29303 2011-12-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29305 * src/SDCClabel.c (labelIfx): fixed bug 3463455
29306 * support/regression/tests/gcc-torture-execute-loop-12.c:
29307 reenable tests for hc08 and ds390
29308 * support/regression/compact-results.py: wider test name field
29310 2011-12-22 Maarten Brock <sourceforge.brock AT dse.nl>
29312 * src/SDCCerr.c: changed E_NONRENT_ARGS description
29314 2011-12-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29319 Add option and pragma for ISO C11.
29320 * support/regression/tests/gcc-torture-execute-anon-1.c:
29321 Disable for compilers other than sdcc and use sdcc in C11 mode.
29326 device/include/stdnoreturn.h:
29327 Accept C11 keyword _Noreturn.
29328 * device/include/stdio.h:
29329 Do not declare gets() in C11 mode.
29331 2011-12-21 Maarten Brock <sourceforge.brock AT dse.nl>
29333 * sdas/as6808/Makefile.in,
29334 * sdas/as8051/Makefile.in,
29335 * sdas/asgb/Makefile.in,
29336 * sdas/asrab/Makefile.in,
29337 * sdas/asz80/Makefile.in: reverted as it fails to build without error
29339 2011-12-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29341 * support/regression/tests/gcc-torture-execute-pure-1.c,
29342 support/regression/tests/gcc-torture-execute-string-opt-17.c,
29343 support/regression/tests/gcc-torture-execute-pta-field-1.c,
29344 support/regression/tests/gcc-torture-execute-string-opt-18.c,
29345 support/regression/tests/gcc-torture-execute-struct-ini-1.c,
29346 support/regression/tests/gcc-torture-execute-pta-field-2.c,
29347 support/regression/tests/gcc-torture-execute-ptr-arith-1.c,
29348 support/regression/tests/gcc-torture-execute-unroll-1.c,
29349 support/regression/tests/gcc-torture-execute-struct-ini-2.c,
29350 support/regression/tests/gcc-torture-execute-struct-ini-3.c,
29351 support/regression/tests/gcc-torture-execute-string-opt-5.c,
29352 support/regression/tests/gcc-torture-execute-stdarg-3.c,
29353 support/regression/tests/gcc-torture-execute-shiftopt-1.c,
29354 support/regression/tests/gcc-torture-execute-struct-ini-4.c,
29355 support/regression/tests/gcc-torture-execute-stdarg-4.c,
29356 support/regression/tests/gcc-torture-execute-switch-1.c,
29357 support/regression/tests/gcc-torture-execute-scope-1.c,
29358 support/regression/tests/gcc-torture-execute-loop-10.c,
29359 support/regression/tests/gcc-torture-execute-loop-11.c,
29360 support/regression/tests/gcc-torture-execute-loop-12.c,
29361 support/regression/tests/gcc-torture-execute-loop-13.c,
29362 support/regression/tests/gcc-torture-execute-loop-14.c,
29363 support/regression/tests/gcc-torture-execute-loop-15.c,
29364 support/regression/tests/gcc-torture-execute-loop-1.c,
29365 support/regression/tests/gcc-torture-execute-loop-2.c,
29366 support/regression/tests/gcc-torture-execute-loop-2c.c,
29367 support/regression/tests/gcc-torture-execute-loop-2d.c,
29368 support/regression/tests/gcc-torture-execute-loop-3b.c,
29369 support/regression/tests/gcc-torture-execute-loop-3.c,
29370 support/regression/tests/gcc-torture-execute-loop-3c.c,
29371 support/regression/tests/gcc-torture-execute-loop-5.c,
29372 support/regression/tests/gcc-torture-execute-loop-6.c,
29373 support/regression/tests/gcc-torture-execute-loop-7.c,
29374 support/regression/tests/gcc-torture-execute-loop-8.c,
29375 support/regression/tests/gcc-torture-execute-loop-9.c,
29376 support/regression/tests/gcc-torture-execute-func-ptr-1.c,
29377 support/regression/tests/gcc-torture-execute-const-addr-expr-1.c,
29378 support/regression/tests/gcc-torture-execute-divmod-1.c,
29379 support/regression/tests/gcc-torture-execute-divcmp-4.c,
29380 support/regression/tests/gcc-torture-execute-divconst-1.c,
29381 support/regression/tests/gcc-torture-execute-compare-1.c,
29382 support/regression/tests/gcc-torture-execute-divconst-2.c,
29383 support/regression/tests/gcc-torture-execute-compare-2.c,
29384 support/regression/tests/gcc-torture-execute-compare-3.c,
29385 support/regression/tests/gcc-torture-execute-loop-12.c,
29386 support/regression/tests/gcc-torture-execute-doloop-1.c,
29387 support/regression/tests/gcc-torture-execute-doloop-2.c,
29388 support/regression/tests/gcc-torture-execute-enum-2.c,
29389 support/regression/tests/gcc-torture-execute-ifcvt-onecmpl-abs-1.c,
29390 support/regression/tests/gcc-torture-execute-divcmp-1.c,
29391 support/regression/tests/gcc-torture-execute-enum-3.c,
29392 support/regression/tests/gcc-torture-execute-cmpsf-1.c,
29393 support/regression/tests/gcc-torture-execute-mod-1.c,
29394 support/regression/tests/gcc-torture-execute-divcmp-2.c,
29395 support/regression/tests/gcc-torture-execute-int-compare.c,
29396 support/regression/tests/gcc-torture-execute-divcmp-3.c,
29397 support/regression/tests/gcc-torture-execute-anon-1.c,
29398 support/regression/tests/gcc-torture-execute-arith-1.c,
29399 support/regression/tests/gcc-torture-execute-postmod-1.c,
29400 support/regression/tests/gcc-torture-execute-bitfld-1.c,
29401 support/regression/tests/gcc-torture-execute-pending-4.c:
29402 Added some tests from the execute part of the gcc torture regression test suite.
29404 2011-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
29406 * sdas/as6808/Makefile.in,
29407 * sdas/as8051/Makefile.in,
29408 * sdas/asgb/Makefile.in,
29409 * sdas/asrab/Makefile.in,
29410 * sdas/asz80/Makefile.in: added dependencies
29412 2011-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
29414 * sdas/asz80/z80pst.c: forgot this one, probably sdas dependencies are
29417 2011-12-18 Maarten Brock <sourceforge.brock AT dse.nl>
29419 * debugger/mcs51/sdcdb.c (escapeQuotes): fixed warning
29420 * sdas/asrab/rabbitmch.c: fixed bug 3461821 by calling outrb with 0
29421 * sdas/as6808/m08pst.c,
29422 * sdas/as8051/i51adr.c,
29423 * sdas/as8051/i51mch.c,
29424 * sdas/as8051/i51pst.c,
29425 * sdas/as8051/i8051.h,
29426 * sdas/asgb/gbpst.c,
29427 * sdas/asxxsrc/asdata.c,
29428 * sdas/asxxsrc/asexpr.c,
29429 * sdas/asxxsrc/aslex.c,
29430 * sdas/asxxsrc/aslist.c,
29431 * sdas/asxxsrc/asmain.c,
29432 * sdas/asxxsrc/asout.c,
29433 * sdas/asxxsrc/assym.c,
29434 * sdas/asxxsrc/asxxxx.h,
29435 * sdas/asz80/z80mch.c,
29436 * sdas/linksrc/aslink.h,
29437 * sdas/linksrc/lkarea.c,
29438 * sdas/linksrc/lkhead.c,
29439 * sdas/linksrc/lklex.c,
29440 * sdas/linksrc/lklist.c,
29441 * sdas/linksrc/sdld.c,
29442 * sdas/linksrc/sdld.h: another step towards ASxxxx v5
29443 * sdas/asrab/rabbit.h,
29444 * sdas/asrab/rabbitadr.c,
29445 * sdas/asrab/rabbitext.c,
29446 * sdas/asrab/rabbitpst.c: native line endings, no TABs
29447 * src/ds390/main.c,
29448 * src/mcs51/main.c,
29449 * src/z80/main.c: asxxx -z flag is now case INsensitive
29450 * src/hc08/main.c: fixed bug 1666106 by adding (PAG) to DSEG and OSEG
29451 * src/SDCCglobl.h: fixed -E comment
29452 * src/SDCCicode.c (geniCodeAdd),
29453 * src/SDCCsymt.c (compStructSize): added error for unknown struct size
29454 * src/SDCClabel.c: no TABs
29456 2011-12-17 Maarten Brock <sourceforge.brock AT dse.nl>
29458 * device/include/mcs51/cc2530.h: new, added, thanks Zafi Ramarosandratana
29460 2011-12-08 Maarten Brock <sourceforge.brock AT dse.nl>
29462 * device/lib/_atof.c,
29463 * device/lib/_divuint.c,
29464 * device/lib/_divulong.c,
29465 * device/lib/_fsadd.c,
29466 * device/lib/acosf.c,
29467 * device/lib/asincosf.c,
29468 * device/lib/asinf.c,
29469 * device/lib/cosf.c,
29470 * device/lib/cotf.c,
29471 * device/lib/expf.c,
29472 * device/lib/printf_large.c,
29473 * device/lib/sincosf.c,
29474 * device/lib/sincoshf.c,
29475 * device/lib/sinf.c,
29476 * device/lib/tancotf.c,
29477 * device/lib/tanf.c,
29478 * support/regression/tests/bug1337835.c,
29479 * support/regression/tests/bug2719592.c,
29480 * support/regression/tests/bug2805333.c,
29481 * support/regression/tests/bug3223041.c,
29482 * support/regression/tests/bug3290691.c,
29483 * support/regression/tests/funptrs.c: changed BOOL to bool
29485 2011-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
29487 * device/include/stdbool.h: removed BOOL
29488 * src/SDCCast.c (decorateType, addess of),
29489 * src/SDCCsymt.c (checkSClass): fixed bug 2934292
29490 * support/regression/tests/bool.c: enabled function pointer tests
29492 2011-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
29494 * sdas/linksrc/aslink.h,
29495 * sdas/linksrc/lkarea.c,
29496 * sdas/linksrc/lkbank.c,
29497 * sdas/linksrc/lkdata.c,
29498 * sdas/linksrc/lklex.c,
29499 * sdas/linksrc/lklist.c,
29500 * sdas/linksrc/lkmain.c,
29501 * sdas/linksrc/lknoice.c,
29502 * sdas/linksrc/lkout.c,
29503 * sdas/linksrc/lkrloc.c,
29504 * sdas/linksrc/lkrloc3.c,
29505 * sdas/linksrc/lks19.c,
29506 * sdas/linksrc/lksym.c,
29507 * sdas/linksrc/Makefile.in: and another step towards ASxxxx v5
29509 2011-12-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29511 * src/z80/ralloc.c:
29512 Fixed bug #3441816.
29514 2011-12-04 Maarten Brock <sourceforge.brock AT dse.nl>
29516 * sdas/linksrc/aslink.h,
29517 * sdas/linksrc/aslink.vcxproj,
29518 * sdas/linksrc/aslink.vcxproj.filters,
29519 * sdas/linksrc/lkar.c,
29520 * sdas/linksrc/lkarea.c,
29521 * sdas/linksrc/lkbank.c,
29522 * sdas/linksrc/lkdata.c,
29523 * sdas/linksrc/lkhead.c,
29524 * sdas/linksrc/lklex.c,
29525 * sdas/linksrc/lklibr.c,
29526 * sdas/linksrc/lklist.c,
29527 * sdas/linksrc/lkmain.c,
29528 * sdas/linksrc/lkmem.c,
29529 * sdas/linksrc/lknoice.c,
29530 * sdas/linksrc/lkout.c,
29531 * sdas/linksrc/lkrloc.c,
29532 * sdas/linksrc/lkrloc3.c,
29533 * sdas/linksrc/lks19.c,
29534 * sdas/linksrc/lksdcclib.c,
29535 * sdas/linksrc/lksdcdb.c,
29536 * sdas/linksrc/lksym.c,
29537 * sdas/linksrc/Makefile.in: next step towards ASxxxx v5
29538 * src/SDCCmem.c (allocIntoSeg): MSVC 2010 still needs all declarations at
29539 the start of a block in C mode
29540 * src/z80/gen.c (genPointerSet): fixed warning
29541 * src/SDCCast.c (processParms): removed incorrect function pointer check
29542 * support/regression/tests/bug3440327.c: reenabled test for mcs51
29544 2011-12-03 Philipp Klaus Krause <pkk AT spth.de>
29546 * support/regression/tests/bug3444293.c
29547 Fix warning in regression test.
29549 2011-12-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29553 Rename IS_ASSOCIATIVE to IS_COMMUTATIVE.
29555 2011-12-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29557 * src/z80/ralloc2.cc,
29559 src/z80/peeph-z80.def:
29560 Minor improvements in pointer handling for the z80 backends.
29562 2011-12-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29565 Disable hidden jump-to-jump optimization for mcs51, since it breaks large and huge.
29567 2011-11-30 Philipp Klaus Krause <pkk AT spth.de>
29569 * support/regression/tests/bug3440327.c:
29570 Disable bug 3440327 test on mcs51.
29572 2011-11-30 Philipp Klaus Krause <pkk AT spth.de>
29575 Cleanup leftover warning.
29577 2011-11-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29579 * src/z80/ralloc2.cc,
29581 src/z80/peeph-z80.def:
29582 Some small improvements to the generated code.
29584 2011-11-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29586 * src/z80/ralloc2.cc,
29587 support/regression/tests/bug3444293.c:
29588 Fixed bug #3444293.
29590 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29592 * support/regression/tests/bug3440327.c:
29593 Regression test for bug #3440327.
29595 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29598 Optimize hidden jump-to-jump.
29600 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29603 Replaced some uses of isLastUse() by the safer isPairDead().
29605 2011-11-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29607 * Merged the addrspacequal branch (named address spaces).
29609 2011-11-28 Borut Razem <borut.razem AT gmail.com>
29611 * sim/ucsim/libltdl: direcrory removed since it is not used
29612 * support/scripts/gen_known_bugs.pl: warious fixes
29613 * src/pic16/ralloc.c, sim/ucsim/pobj.cc, sim/ucsim/utils.cc,
29614 sdas/linksrc/lkmain.c:
29615 fixed bug #3444387: Minor spelling fix in binary files;
29616 thanks to Gudjon I. Gudjonsson for the patch
29618 2011-11-27 Borut Razem <borut.razem AT gmail.com>
29620 * Small Device C Compiler 3.1.0 released
29621 * .version, doc/sdccman.lyx: changed sdcc version to 3.1.1
29622 * support/scripts/gen_known_bugs.pl: adopted to the new SF bug tracker
29624 2011-11-21 Philipp Klaus Krause <pkk AT spth.de>
29627 Fixed bug #3440327.
29629 2011-11-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29635 Error message for implicit casts between named address spaces, fix live-range analysis (regression tests passing now).
29637 2011-11-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29642 Error message for attemting to use named address spacces for auto variables.
29644 2011-11-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29647 Fix broken control and data flow handling (regression tests passing now, exept for bug-895992.c).
29649 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29652 Improve handling of variables in named address space passed as parameters.
29654 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29657 Avoid emitting some unecessary bank switching calls.
29659 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29662 Keep global named address spaces alive over functions.
29664 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29668 Debug message cleanup, reenable address space splitting.
29670 2011-11-14 Raphael Neider <rneider AT web.de>
29672 * device/include/pic14/pic14devices.txt,
29673 * device/non-free/include/pic14/pic16f145[589].h,
29674 * device/non-free/include/pic14/pic16f178[23].h,
29675 * device/non-free/lib/pic14/libdev/Makefile.in,
29676 * device/non-free/lib/pic14/libdev/devices.txt,
29677 * device/non-free/lib/pic14/libdev/pic16f145[589].c,
29678 * device/non-free/lib/pic14/libdev/pic16f178[23].c:
29679 add support for 16f145[589] and 16f178[23] devices
29681 * device/non-free/include/pic14/pic12f683.h,
29682 * device/non-free/lib/pic14/libdev/pic12f683.c:
29683 updated from new sources
29686 update device list, clarify use of NO_LEGACY_NAMES
29688 2011-11-13 Maarten Brock <sourceforge.brock AT dse.nl>
29690 * doc/sdccman.lyx: added the boost dependency,
29691 --peep-return, --no-peep-return, --fomit-frame-pointer,
29692 the use of .omf extension,
29693 single mnemonic per assembly line,
29694 available peephole functions
29696 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29701 Basic support for pointers into named address spaces.
29703 2011-11-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29711 Debug messages related to pointers to named address spaces.
29713 2011-11-12 Borut Razem <borut.razem AT gmail.com>
29715 * added XXX_bits deprecation note in chapter
29716 1.4 Compatibility with previous versions
29718 2011-11-11 Raphael Neider <rneider AT web.de>
29720 * device/non-free/lib/pic14/libdev/mkall.sh:
29721 simplify device library update process further
29723 * support/scripts/inc2h.pl:
29724 avoid generating duplicate bit defines;
29725 rename XXX_bits to XXXbits to be compatible with PIC16 and HiTech,
29726 but retain XXX_bits symbols for compatibility (to prevent legacy
29727 names from being visible, #define NO_LEGACY_NAMES before
29728 #include'ing device headers
29730 * device/include/pic14/pic14devices.txt,
29731 * device/non-free/lib/pic14/libdev/devices.txt:
29732 updated device names: 16{f => lf}190x, 1{2 => 6}f1847,
29733 no devices exist with the original names
29735 * device/non-free/include/pic14/pic12f1840.h,
29736 * device/non-free/include/pic14/pic16f1507.h,
29737 * device/non-free/include/pic14/pic16f182[34589].h,
29738 * device/non-free/include/pic14/pic16f1847.h,
29739 * device/non-free/include/pic14/pic16f193[89].h,
29740 * device/non-free/include/pic14/pic16lf190[23467].h,
29741 * device/non-free/lib/pic14/libdev/Makefile.in,
29742 * device/non-free/lib/pic14/libdev/pic12f1840.c,
29743 * device/non-free/lib/pic14/libdev/pic16f1507.c,
29744 * device/non-free/lib/pic14/libdev/pic16f182[34589].c,
29745 * device/non-free/lib/pic14/libdev/pic16f1847.c,
29746 * device/non-free/lib/pic14/libdev/pic16f193[89].c,
29747 * device/non-free/lib/pic14/libdev/pic16lf190[23467].c:
29748 add device libraries for more enhanced core devices,
29749 no legacy names (XXX_bits) here!
29751 * device/non-free/include/pic14/pic*.h,
29752 * device/non-free/lib/pic14/libdev/pic*.c:
29753 regenerated from new sources using the new inc2h.pl
29755 * doc/sdccman.lyx: updated list of supported devices,
29756 documented change of naming schemes and the use of
29757 #define NO_BIT_DEFINES and #define NO_LEGACY_NAMES
29759 2011-11-11 Borut Razem <borut.razem AT gmail.com>
29761 * src/SDCCsystem.c: removed wine bug workaround:
29762 wine bug #25062 was fixed in wine 1.3.
29764 2011-11-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29769 Use named address space as segment name for the linker.
29771 2011-11-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29777 Basic compiler-side named address space support.
29779 2011-11-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29786 Preparations for named address space support.
29788 2011-11-08 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
29795 Preparations for named address space support.
29797 2011-11-05 Borut Razem <borut.razem AT gmail.com>
29799 * src/port.mk: fixed bug #3401455: Missing dependency
29800 * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
29801 changed sdcc version to 3.1.0
29802 * doc/README.txt, support/scripts/sdcc.nsi: updated, small textual fix
29804 2011-11-05 Maarten Brock <sourceforge.brock AT dse.nl>
29806 * device/include/mcs51/cc2430.h: applied patch 3114002, thanks to
29809 2011-11-05 Raphael Neider <rneider AT web.de>
29811 * device/include/pic14/pic14devices.txt: add descriptions for a number
29812 of devices with enhanced cores; support for most of them remains
29813 incomplete due to lacking support by gputils
29814 * device/non-free/include/pic14/pic16f1826.h,
29815 * device/non-free/include/pic14/pic16f1827.h,
29816 * device/non-free/include/pic14/pic16f1933.h,
29817 * device/non-free/lib/pic14/libdev/Makefile.in,
29818 * device/non-free/lib/pic14/libdev/devices.txt,
29819 * device/non-free/lib/pic14/libdev/pic16f1826.c,
29820 * device/non-free/lib/pic14/libdev/pic16f1827.c,
29821 * device/non-free/lib/pic14/libdev/pic16f1933.c: add support for some
29822 of the newly described devices; 16f1826/7 libraries are disabled in
29823 the Makefile due to lacking support from gputils
29824 * doc/sdccman.lyx: fix list of supported devices
29826 2011-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29828 * src/mcs51/ralloc.c (isFree),
29829 * src/ds390/ralloc.c (isFree): fixed bug #3400845
29830 * src/SDCCast.c (decorateTree),
29831 * src/mcs51/gen.c (assignResultValue): fixed bug #3419769
29832 * sdas/linksrc/lkmain.c (main): fixed bug #3362385
29833 * src/ds390/ralloc.c (packRegisters): fixed bug #3432159
29834 * support/regression/tests/condopptr.c: enable for all targets
29836 2011-11-03 Borut Razem <borut.razem AT gmail.com>
29838 * support/scripts/sdcc.nsi: updated to support pic14 enhanced devices
29840 2011-11-02 Raphael Neider <rneider AT web.de>
29842 * device/include/pic14/pic14devices.txt: prevent SDCC from assuming
29843 a single data bank by specifying more memmap records (per device)
29845 2011-11-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29847 * src/SDCCast.c (decorateType): allow array/integral type
29848 combination in conditional operator (will promote to pointer)
29849 * support/regression/tests/condopptr.c: new regression
29850 test to check pointer operand cases in conditional operator
29852 2011-11-01 Raphael Neider <rneider AT web.de>
29854 * src/pic14/gen.c (inc_fsr): new code to handle FSR{,0} increments,
29855 (emitPtrByteGet,emitPtrByteSet): fix pointer derefence,
29856 (genNearPointerGet,genNearPointerSet): fixed for enhanced cores,
29857 really closes #3431024
29858 * src/pic14/pcode.c (pCodeInitRegisters):
29859 declare all "core registers" to reside in all banks to avoid
29860 unnecessary BANKSELs
29861 * doc/sdccman.lyx: document definition of config words and the use
29862 of libsdcce.lib and libme.lib for enhanced pic14 devices
29864 2011-11-01 Raphael Neider <rneider AT web.de>
29866 * src/pic14/main.c (_pic14_do_link):
29867 link with libsdcce.lib for enhanced devices
29869 * device/lib/Makefile.in:
29870 find, copy, and rename enhanced core libraries as well
29872 * device/lib/pic14/NEWS:
29873 document structural changes and support for enhanced cores
29875 * device/lib/pic14/Makefile.am,
29876 * device/lib/pic14/Makefile.common,
29877 * device/lib/pic14/Makefile.common.in (removed),
29878 * device/lib/pic14/Makefile.rules (removed),
29879 * device/lib/pic14/Makefile.subdir (removed),
29880 * device/lib/pic14/configure.in:
29881 switch pic14 library to Autotools-based build system,
29882 support --enable-new-pics
29884 * device/lib/pic14/libm/Makefile.am,
29885 * device/lib/pic14/libsdcc/Makefile.in (removed),
29886 * device/lib/pic14/libsdcc/enhanced/Makefile.am,
29887 * device/lib/pic14/libsdcc/regular/Makefile.am:
29888 build separate libm and libsdcc for regular and enhanced cores
29890 * device/lib/pic14/libsdcc/{ => regular/,enhanced/}_gptrget{1,2,3,4}.S,
29891 * device/lib/pic14/libsdcc/{ => regular/,enhanced/}_gptrput{1,2,3,4}.S,
29892 * device/lib/pic14/libsdcc/{ => regular/,enhanced/}macros.inc:
29893 separated implementation of generic pointer routines and
29894 reimplemented for enhanced devices
29896 * device/lib/pic14/libsdcc/{ => regular/}shadowregs.c:
29897 moved to be included only in the non-enhanced devices' libsdcc.lib
29899 * device/{ => non-free/}lib/pic14/libdev/devices.txt,
29900 * device/{ => non-free/}lib/pic14/libdev/pic14ports.txt:
29901 make libdev/ more self-contained
29903 * device/non-free/lib/pic14/libdev/mkall.sh:
29904 interactively update device library files (.c and .h)
29906 * device/non-free/include/pic14/pic12f635.h,
29907 * device/non-free/include/pic14/pic16f616.h,
29908 * device/non-free/include/pic14/pic16f688.h,
29909 * device/non-free/include/pic14/pic16f785.h,
29910 * device/non-free/include/pic14/pic16f913.h,
29911 * device/non-free/include/pic14/pic16f914.h,
29912 * device/non-free/include/pic14/pic16f916.h,
29913 * device/non-free/include/pic14/pic16f917.h,
29914 * device/non-free/include/pic14/pic16hv616.h,
29915 * device/non-free/lib/pic14/libdev/pic12f1822.c,
29916 * device/non-free/lib/pic14/libdev/pic16f616.c,
29917 * device/non-free/lib/pic14/libdev/pic16f688.c,
29918 * device/non-free/lib/pic14/libdev/pic16f785.c,
29919 * device/non-free/lib/pic14/libdev/pic16f886.c,
29920 * device/non-free/lib/pic14/libdev/pic16f887.c,
29921 * device/non-free/lib/pic14/libdev/pic16f913.c,
29922 * device/non-free/lib/pic14/libdev/pic16f914.c,
29923 * device/non-free/lib/pic14/libdev/pic16f916.c,
29924 * device/non-free/lib/pic14/libdev/pic16f917.c,
29925 * device/non-free/lib/pic14/libdev/pic16hv616.c:
29926 updated from recent gputils' headers
29928 * device/non-free/include/pic14/pic16f193{4,6,7}.h,
29929 * device/non-free/lib/pic14/libdev/Makefile.in,
29930 * device/non-free/lib/pic14/libdev/devices.txt,
29931 * device/non-free/lib/pic14/libdev/pic16f193{4,6,7}.c:
29932 add support for 16f1934/16f1936/16f1937 devices
29934 * device/lib/pic14/Makefile.in,
29935 * device/lib/pic14/aclocal.m4,
29936 * device/lib/pic14/config.h.in,
29937 * device/lib/pic14/configure,
29938 * device/lib/pic14/depcomp,
29939 * device/lib/pic14/install-sh,
29940 * device/lib/pic14/libm/Makefile.in,
29941 * device/lib/pic14/libsdcc/enhanced/Makefile.in,
29942 * device/lib/pic14/libsdcc/regular/Makefile.in,
29943 * device/lib/pic14/missing,
29944 * device/lib/pic16/configure,
29945 * device/non-free/lib/pic14/configure,
29946 * device/non-free/lib/pic16/configure:
29947 automatically (re)generated files
29949 2011-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29951 * src/SDCCsymt.c (computeType): fixed bug #3431210
29953 2011-10-31 Raphael Neider <rneider AT web.de>
29955 * src/pic14/device.c (init_pic): reformatted,
29956 fixup enhanced cores' name for INDF
29957 * src/pic14/pcode.c, src/pic14/pcode.h, src/pic14/ralloc.h:
29958 provide indirect memory access registers for enhanced cores
29959 * src/pic14/gen.c (setup_fsr):
29960 setup FSR0L and FSR0H on enhanced cores,
29961 fix access to INDF vs. INDF0, closes #3431024
29963 2011-10-30 Raphael Neider <rneider AT web.de>
29965 * src/pic14/device.c, src/pic14/device.h,
29966 device/include/pic14/pic14devices.txt:
29967 declare enhanced cores as such
29969 do not save/restore W, STATUS, BSR, FSRx, or PCLATH around
29970 interrupts on enhanced devices, as these registers will be
29971 saved automatically and FSR is not present on these devices
29973 2011-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
29975 * src/SDCCast.c (processParams): fixed bug #3424385
29977 2011-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
29979 * sdas/linksrc/lkmain.c (main): fixed banking, bug 3420365
29980 * src/SDCCast.c: cosmetics
29982 2011-10-25 Borut Razem <borut.razem AT gmail.com>
29984 * configure.in, configure, Makefile.in, device/lib/z180/Makefile.in,
29985 device/lib/z180/Makefile, device/lib/z80/Makefile.in,
29986 device/lib/gbz80/Makefile.in, device/lib/ds390/Makefile.in,
29987 device/lib/Makefile.in, device/lib/ds400/Makefile.in,
29988 device/lib/ds400/ds400rom.c, device/lib/mcs51/Makefile.in,
29989 device/lib/r2k/Makefile.in, device/lib/hc08/Makefile.in,
29990 device/non-free/lib/Makefile.in, all.vcxproj,
29991 doc/sdccman.lyx, sdcc.sln, support/scripts/sdcc.nsi:
29992 asranlib renamed to sdranlib
29993 * sdas/asranlib/*: sdas/asranlib moved to support/sdranlib
29995 2011-10-23 Raphael Neider <rneider AT web.de>
29997 * device/include/pic14/pic14devices.txt:
29998 fix config word addresses for 12f1822/3, add 16f1934/6/7 family
30000 2011-10-21 Raphael Neider <rneider AT web.de>
30002 * src/pic14/device.c, src/pic14/device.h, src/pic14/ralloc.c:
30003 rewrite config word handling to support locations other than
30004 0x2007 and 0x2008 (16f1936 has config words at 0x8007, 0x8008)
30005 * device/include/pic14/pic14devices.txt:
30006 replace confsiz directive with list of config word addresses
30008 2011-10-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30010 * device/include/string.h,
30011 device/lib/_memcpy.c,
30012 device/lib/_memset.c:
30013 Reenable built-in memset() for z80, enable it and built-in memcpy() for z180 and r2k.
30015 2011-10-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30017 * Makefile.common.in:
30018 Handle OPT_DISABLE_GBZ80.
30020 2011-10-20 Philipp Klaus Krause <pkk AT spth.de>
30022 * device/include/string.h:
30023 Disable built-in memset until the library build problem is fixed.
30025 2011-10-19 Philipp Klaus Krause <pkk AT spth.de>
30030 device/include/string.h,
30031 support/regression/tests/memory.c:
30032 Built-in memset() for z80, z180 and r2k.
30034 2011-10-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30037 Use ld hl, n (sp) on the gbz80.
30038 * src/z80/ralloc2.cc:
30039 When in doubt, try to honour register keyword.
30041 2011-10-19 Borut Razem <borut.razem AT gmail.com>
30043 * Makefile.common.in: added OPT_DISABLE_Z180, OPT_DISABLE_R2K
30045 2011-10-18 Borut Razem <borut.razem AT gmail.com>
30047 * doc/sdccman.lyx: changed MS Visual C++ 6.0 to MS Visual C++ 2010,
30048 reverted to LyX version 1.6.7 format, as proposed by Robert Larice
30049 * support/cpp/sdcpp-opts.c: fixed bug #3388478:
30050 Preprocessor Error when Invoking sdcc with -E/-M/-MM and -o
30052 2011-10-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30055 Fixed bug #3424968.
30057 2011-10-17 Philipp Klaus Krause <pkk AT spth.de>
30059 * device/include/iso646.h,
30060 support/regression/tests/iso646.c:
30061 Added macros required by C99 (this header is now C99-compliant).
30062 * device/include/limits.h:
30063 Removed UCHAR_MIN, added macros for long long (this header is now C99-compliant).
30064 * device/include/stdint.h:
30065 Code cleanup, added macros for 64 bit integers, wchar_t and wint_t (this header is now C99-compliant except for intmax_t and uintmax_t having less than 64 bits).
30066 * device/include/string.h:
30067 Renamed namespace-polluting _SIZE_T_DEFINED.
30068 * device/include/stddef.h:
30069 Renamed namespace-polluting _SIZE_T_DEFINED, added ptrdiff_t and wchar_t (this header is now C99-compliant).
30070 * device/include/stdio.h:
30071 Renamed namespace-polluting _SIZE_T_DEFINED.
30072 * device/include/stdarg.h,
30073 support/regression/tests/vaargs.c:
30074 Fixed va_end, added va_copy (this header is now C99-compliant).
30076 2011-10-16 Borut Razem <borut.razem AT gmail.com>
30078 * support/scripts/sdcc.nsi: added dedication to Dennis M. Ritchie
30079 * support/cpp/c-ppoutput.c:
30080 fixed bug #3408654: SDCC shows wrong line number in warning 94:
30081 disabled # LINE directive generation in __asm __endasm block
30083 2011-10-16 Raphael Neider <rneider AT web.de>
30085 * device/include/pic16/i2c.h,
30086 * device/lib/pic16/libio/i2c/i2cwritec.c:
30087 addressed issues from #3413443
30088 * device/include/pic16/adc.h,
30089 * device/lib/pic16/libio/adc/adcopen.c:
30090 addressed issues from #3409666
30092 2011-10-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30094 * support/regression/collate-results.py,
30095 support/regression/compact-results.py: fixed bug #3413437
30097 2011-10-15 Philipp Klaus Krause <pkk AT spth.de>
30100 support/regression/tests/bug3424150.c:
30101 Fixed bug #3424150.
30103 2011-10-15 Philipp Klaus Krause <pkk AT spth.de>
30106 Mentioned z180 and r2k ports and long long data type in manual.
30108 2011-10-14 Borut Razem <borut.razem AT gmail.com>
30110 * support/scripts/sdcc.nsi: remove include/asm/r2k directoriy
30111 during uninstallation
30112 * */*.dsw, */*.dsw: removed obsolete VS6 project files
30113 * support/Util: renamed to support/util
30115 2011-10-13 Borut Razem <borut.razem AT gmail.com>
30117 * .version, doc/sdccman.lyx: bumped version to 3.0.6
30119 disable -O2 optimization for i386 Linux and mingw platforms
30120 (solaris i386 is OK);
30121 see patch #3285611: Workaround gcc 4.6.0 bug with sdcc 3.0.0
30123 Microsoft C compiler doesn't support hexadecimal floating-point
30126 2011-10-12 Borut Razem <borut.razem AT gmail.com>
30128 * device/include/Makefile.in:
30129 fixed detection if files with the given extension exist;
30130 specially treat z80 family: z180, r2k and gbz80 targets
30131 * support/scripts/sdcc.nsi: added Rabbit 2000 support
30132 * sdas/asrab/asrab.vcxproj, sdas/asrab/asrab.vcxproj.filters,
30133 sdcc.sln, src/src.vcxproj, src/src.vcxproj.filters,
30134 src/z80/z80.vcxproj, src/z80/z80.vcxproj.filters:
30135 added sdasrab assembler to the project
30136 * debugger/mcs51/simi.c: cygwin doesn't support O_ASYNC
30138 2011-10-11 Borut Razem <borut.razem AT gmail.com>
30140 * device/include/Makefile.in: install/copy only existing files
30141 * src/SDCCicode.c: disable -O2 optimization for all i386 platforms;
30142 see patch #3285611: Workaround gcc 4.6.0 bug with sdcc 3.0.0
30144 2011-10-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30147 Fixed bug #3413688.
30149 2011-10-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30151 * sdas/asrab/rabbit.h,
30152 sdas/asrab/rabbitadr.c,
30153 sdas/asrab/rabbitmch.c:
30154 Leland Morrison's fix for ld n (hl), hl and ld hl, n (hl).
30155 * src/z80/peeph-r2k.def:
30156 Enable peepholes using ld hl, n (hl).
30158 2011-10-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30163 Fix code generation for handling of rematerialization by the new
30164 register allocator, enable it for the ports with exact cost function
30165 and remove the option.
30167 2011-10-10 Borut Razem <borut.razem AT gmail.com>
30169 * support/scripts/sdcc.nsi: removed include/z80 added include/z180
30171 2011-10-09 Raphael Neider <rneider AT web.de>
30173 * src/SDCCval.c (constVal): avoid compiler warning
30174 * src/pic16/gen.c (genPcall): do not clobber interrupt flags in
30175 INTCON during indirect function call, closes #3420588
30177 2011-10-09 Philipp Klaus Krause <pkk AT spth.de>
30179 * Merge the Rabbit2000 branch.
30181 2011-10-09 Philipp Klaus Krause <pkk AT spth.de>
30183 * device/include/z80/z180.h,
30184 device/include/z80/types.h,
30185 device/include/z80/README,
30186 device/include/z80/z180.h:
30187 Move z180 include file.
30189 2011-10-09 Philipp Klaus Krause <pkk AT spth.de>
30192 Cleanup z180 library handling.
30194 2011-10-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30196 * support/scripts/sdcc.nsi: add Z180 lib and include files to package
30198 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30202 Use r2k-specific ld n (sp), hl, ld n (sp), iy, ld n (ix), ld iy, n (sp), ld hl, n (sp) and ld hl, n (ix).
30204 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30208 src/z80/peeph-r2k.def,
30209 src/z80/peeph-z80.def:
30210 Preparations for use of r2k-specific ld hl, n (sp) and ld hl, n (ix).
30212 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30215 Preparations for use of r2k-specific ld iy,hl.
30217 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30220 src/z80/peeph-r2k.def,
30221 src/z80/peeph-z80.def:
30222 Allow use of r2k-specific ld hl, (hl) instruction.
30224 2011-10-07 Philipp Klaus Krause <pkk AT spth.de>
30227 Make better use of the r2k-specific add sp, d instruction.
30229 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30232 More flexible use of r2k-specific and hl, de instruction.
30234 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30237 Allow use of r2k-specific instructions in right shift.
30238 * sim/ucsim/z80.src/inst.cc:
30239 Fix flag handling in z80/z180/r2k rrca instruction.
30240 * sim/ucsim/z80.src/inst_r2k.cc:
30241 Fix handling of carry bit in r2k 16-bit rr and rl instructions.
30243 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30245 * src/z80/peeph-z80.def,
30246 src/z80/peeph-r2k.def:
30247 Minor peephole improvement.
30249 2011-10-04 Philipp Klaus Krause <pkk AT spth.de>
30251 * sim/ucsim/z80.src/inst_r2k.cc:
30252 Fix signed multiplication to use two's complement instead of sign-magnitude, 3rd attempt.
30254 2011-10-04 Philipp Klaus Krause <pkk AT spth.de>
30256 * sim/ucsim/z80.src/inst_r2k.cc:
30257 Fix signed multiplication to use two's complement instead of sign-magnitude, 2nd attempt.
30259 2011-10-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30261 * sim/ucsim/z80.src/inst_r2k.cc,
30262 sim/ucsim/z80.src/r2k.cc,
30263 sim/ucsim/z80.src/z80cl.h,
30264 sim/ucsim/z80.src/inst_ed_r2k.cc,
30265 sim/ucsim/z80.src/inst_xd.cc,
30266 sim/ucsim/z80.src/r2kcl.h,
30267 sim/ucsim/z80.src/glob.cc:
30268 Leland Morrison's support for some more r2k-specific instructions.
30270 2011-10-04 Philipp Klaus Krause <pkk AT spth.de>
30272 * sim/ucsim/z80.src/inst_r2k.cc:
30273 Fix signed multiplication to use two's complement instead of sign-magnitude.
30275 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30277 * sim/ucsim/z80.src/r2k.cc,
30278 sim/ucsim/z80.src/r2kcl.h:
30279 Forgotten files from Leland Morrison's Rabbit 2000 ucsim port.
30281 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30284 sim/ucsim/z80.src/inst_r2k.cc:
30285 Fixed multiplication using r2k mul instruction.
30287 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30289 * sdas/asrab/rabbitmch.c:
30290 Leland Morrison's support for ld iy, hl.
30292 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30294 * sim/ucsim/z80.src/inst_r2k.cc,
30295 sim/ucsim/z80.src/glob_r2k.cc,
30296 sim/ucsim/z80.src/inst_ed_r2k.cc:
30297 Forgotten files from Leland Morrison's Rabbit 2000 ucsim port, support for r2k mul and ld iy, hl instructions in ucsim.
30299 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30302 Handle r2k mul instruction in code size calculation.
30304 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30306 * sim/ucsim/z80.src/Makefile.in,
30307 sim/ucsim/z80.src/z80cl.h,
30308 sim/ucsim/z80.src/regsz80.h,
30309 sim/ucsim/z80.src/sz80.cc,
30310 sim/ucsim/z80.src/z80mac.h,
30311 sim/ucsim/z80.src/inst_xd.cc,
30312 sim/ucsim/z80.src/z80.cc,
30313 sim/ucsim/z80.src/glob.cc,
30314 sim/ucsim/z80.src/inst_dd.cc,
30315 sim/ucsim/z80.src/glob.h,
30316 sim/ucsim/z80.src/inst_fd.cc,
30317 sim/ucsim/z80.src/simz80.cc,
30318 sim/ucsim/stypes.h,
30319 sim/ucsim/sim.src/uc.cc,
30320 sim/ucsim/globals.cc:
30321 Leland Morrison's Rabbit 2000 ucsim port.
30323 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30326 Use add sp, #n in function entry in r2k port.
30328 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30331 Use Rabbit-specific instructions in and, multiplication and assignment for r2k port.
30333 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30337 Preparations for use of add sp, #n in function entry in r2k port.
30339 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30341 * support/regression/tests/bug1115321.c
30342 support/regression/Makefile.in
30343 support/regression/fwk/include/testfwk.h
30344 support/regression/ports/ucr2k
30345 Leland Morrison's Rabbit 2000 regression test port.
30347 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30350 Fix library path. r2k port works now.
30352 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30354 * device/include/stdint.h:
30355 Enable 64 bit integer types for r2k port.
30357 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30359 * device/include/asm/r2k,
30360 device/include/asm/r2k/features.h,
30361 device/lib/r2k/Makefile.in,
30366 device/lib/Makefile.in,
30368 device/lib/r2k/Makefile.in,
30369 device/lib/r2k/strlen.s:
30370 r2k library cleanup.
30372 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30375 device/include/sdcc-lib.h,
30376 device/include/math.h,
30377 device/include/stdarg.h:
30378 Leland Morrison's Rabbit 2000 library port.
30380 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30390 Fix code size for ex (sp), hl in r2k port.
30392 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30394 * src/SDCCralloc.hpp,
30398 src/z80/peeph-r2k.def,
30400 src/z80/mappings.i,
30404 Leland Morrison's Rabbit 2000 compiler port.
30406 2011-10-03 Philipp Klaus Krause <pkk AT spth.de>
30409 sdas/asrab/Makefile.in,
30410 sdas/asrab/rabbitext.c,
30411 sdas/asrab/clean.mk,
30412 sdas/asrab/rabbit.h,
30413 sdas/asrab/rabbitadr.c,
30414 sdas/asrab/rabbitpst.c,
30415 sdas/asrab/rabbitmch.c:
30416 Leland Morrison's assembler for Rabbit 2000 and Rabbit 4000.
30418 2011-10-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30420 * sim/ucsim/hc08.src/glob.cc: add HCS08 instructions to disassembler
30421 * src/SDCCval.c: fixed constant to avoid unintended long long literal
30423 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30425 * device/include/stdint.h:
30426 Added typedefs for 64-bit integer types.
30428 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30433 Error for invalid integer suffix, as in 1ullul.
30435 2011-10-01 Raphael Neider <rneider AT web.de>
30437 * device/non-free/include/pic14/pic12f1822.h,
30438 device/non-free/lib/pic14/libdev/pic12f1822.c,
30439 device/include/pic14/pic14devices.txt,
30440 device/lib/pic14/libdev/devices.txt:
30441 Add support for 12f1822 devices, requires --enable-new-pics to be
30442 passed to configure, closes #3416092.
30444 * device/non-free/lib/pic14/libdev/Makefile.in,
30445 device/non-free/lib/pic14/configure.in:
30446 Add --enable-new-pics switch to build device libs for devices added
30447 to gputils only after the 0.13.7 release; by default, only libs for
30448 devices that are supported in gputils 0.13.7 are built to avoid build
30451 * device/non-free/lib/pic14/configure:
30454 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30457 Slightly more informative error message when attempting to multiply, etc long long.
30459 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30462 Reorganized pointer access functions, fixed the remaining warning in the z80 port.
30464 2011-10-01 Borut Razem <borut.razem AT gmail.com>
30466 * src/SDCCerr.c, src/SDCCerr.h, src/SDCC.lex:
30467 SDCCerr code cleanup
30469 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30472 Reorganized pointer access functions, fixed the remaining warning in the z80 port.
30474 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30477 Enable long long for gbz80 and z180 ports.
30479 Fixed use of pic16 functions in pic14 port.
30481 2011-10-01 Philipp Klaus Krause <pkk AT spth.de>
30483 * src/src/izt/tlcs900h.c,
30486 Added missing long long type size entries.
30488 2011-10-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30490 * src/ds390/main.c: added missing long long type size entries
30492 2011-10-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30494 * sim/ucsim/z80.src/sz80.cc: enable sz80 -H option
30495 * sim/ucsim/globals.cc,
30496 * sim/ucsim/globals.h,
30497 * sim/ucsim/stypes.h,
30498 * sim/ucsim/hc08.src/shc08.cc,
30499 * sim/ucsim/hc08.src/hc08.cc,
30500 * sim/ucsim/hc08.src/hc08cl.h,
30501 * sum/ucsim/hc08.src/inst.cc,
30502 * sum/ucsim/hc08.src/instcl.h,
30503 * sum/ucsim/hc08.src/hc08mac.h: Add support for HCS08 instructions
30505 2011-09-30 Philipp Klaus Krause <pkk AT spth.de>
30521 Very basic (no multiplication/division/shift/return) support for long long for the Z80.
30523 2011-09-30 Philipp Klaus Krause <pkk AT spth.de>
30528 Drop support for declarations like "long short short long short int x;".
30530 2011-09-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30533 configure: create device/lib/z180/Makefile during configuration
30535 2011-09-28 Philipp Klaus Krause <pkk AT spth.de>
30537 * src/z80/ralloc2.cc,
30539 Handle the trivial casts more like assignments, allow hl in operands for unary minus.
30541 2011-09-28 Philipp Klaus Krause <pkk AT spth.de>
30544 Reconstruct ChangeLog entries lost during the z180 branch merge.
30546 2011-09-25 Philipp Klaus Krause <pkk AT spth.de>
30549 Always use native multiplication for Z80 and Z180 when the result is 8 bits.
30551 2011-09-25 Philipp Klaus Krause <pkk AT spth.de>
30554 Always use of Z180 mlt instruction for unsigned 8x8 multiplication,
30555 fixed bug in register-to-register cast.
30557 2011-09-24 Philipp Klaus Krause <pkk AT spth.de>
30560 Handle Z180 mlt instruction in peephole optimizer.
30562 2011-09-24 Philipp Klaus Krause <pkk AT spth.de>
30564 * Merged z180 branch.
30566 2011-09-24 Maarten Brock <sourceforge.brock AT dse.nl>
30568 * device/lib/printf_large.c: accept int modifiers
30570 2011-09-24 Philipp Klaus Krause <pkk AT spth.de>
30572 * sim/ucsim/globals.cc,
30573 sim/ucsim/z80.src/inst_ed.cc:
30574 Report mlt instructions as invalid in simulator when running in Z80 mode.
30576 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30581 sim/ucsim/z80.src/inst_ed.cc:
30582 Enable use of Z180 multiplication instructions.
30584 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30586 * support/regression/tests/bug1115321.c:
30587 Fix last remaining ucz180 regression test failure.
30589 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30591 * device/include/string.h,
30592 device/include/sdcc-lib.h,
30593 device/include/math.h,
30594 device/include/stdarg.h,
30595 device/lib/_malloc.c,
30596 device/lib/_realloc.c,
30597 device/lib/_free.c,
30598 device/lib/Makefile.in,
30599 sim/ucsim/z80.src/z80cl.h,
30600 sim/ucsim/z80.src/z80.cc,
30601 sim/ucsim/z80.src/simz80.cc,
30602 sim/ucsim/stypes.h,
30603 sim/ucsim/globals.cc,
30604 sim/ucsim/globals.h,
30605 sdas/linksrc/lkarea.c,
30606 sdas/linksrc/sdld.c,
30607 sdas/linksrc/sdld.h,
30608 sdas/linksrc/lkrloc.c,
30609 support/regression/Makefile.in,
30610 support/regression/fwk/include/testfwk.h,
30611 device/include/asm/z180,
30612 device/include/asm/z180/features.h,
30614 device/lib/z180/divunsigned.s,
30615 device/lib/z180/Makefile.in,
30616 device/lib/z180/crtcall.s,
30617 device/lib/z180/mulchar.s,
30618 device/lib/z180/README,
30619 device/lib/z180/mul.s,
30620 device/lib/z180/stubs.s,
30621 device/lib/z180/setjmp.s,
30622 device/lib/z180/abs.s,
30623 device/lib/z180/memmove.s,
30624 device/lib/z180/fstubs.s,
30625 device/lib/z180/modmixed.s,
30626 device/lib/z180/putchar.s,
30627 device/lib/z180/strlen.s,
30628 device/lib/z180/crt0.s,
30629 device/lib/z180/divmixed.s,
30630 device/lib/z180/modsigned.s,
30631 device/lib/z180/crt0_rle.s,
30632 device/lib/z180/Makefile,
30633 device/lib/z180/modunsigned.s,
30634 device/lib/z180/divsigned.s,
30635 device/lib/z180/heap.s,
30636 device/lib/z180/shift.s,
30637 support/regression/ports/ucz180,
30638 support/regression/ports/ucz180/spec.mk,
30639 support/regression/ports/ucz180/uCsim.cmd,
30640 support/regression/ports/ucz180/support.asm:
30641 Z180 port passes all regression tests except for one.
30643 2011-09-23 Philipp Klaus Krause <pkk AT spth.de>
30646 support/regression/tests/bug2942247.c:
30647 Fixed bug #2942247.
30649 2011-09-22 Maarten Brock <sourceforge.brock AT dse.nl>
30651 * src/SDCC.y (abstract_declarator2): fixed bug 3190029
30652 * support/regression/tests/bug3190029.c: new, added
30654 2011-09-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30658 device/include/stdbool.h,
30659 support/regression/bool.c,
30662 _Bool support for the pics.
30664 2011-09-19 Raphael Neider <rneider AT web.de>
30666 * device/lib/pic16/libio/adc/adcopen.c:
30667 suppress 'pcfg unused' compiler warning
30669 * device/lib/pic16/Makefile.common
30670 device/non-free/lib/pic16/Makefile.common:
30671 move -Ipath to AM_CPPFLAGS for use by depmod
30673 * device/lib/pic16/configure.ac,
30674 device/non-free/lib/pic16/configure.ac:
30675 add --enable-new-pics switch to build support libs for devices added
30676 to gputils only after the 0.13.7 release; by default, only libs for
30677 devices that are supported in gputils 0.13.7 are built to avoid build
30680 * device/lib/pic16/libio/Makefile.am,
30681 device/non-free/lib/pic16/libdev/Makefile.am:
30682 honor --enable-new-pics switch to include/exclude certain devices
30685 document the new configure switch
30687 * device/lib/pic16/Makefile.in,
30688 * device/lib/pic16/aclocal.m4,
30689 * device/lib/pic16/configure,
30690 * device/lib/pic16/debug/Makefile.in,
30691 * device/lib/pic16/libc/Makefile.in,
30692 * device/lib/pic16/libio/Makefile.in,
30693 * device/lib/pic16/libm/Makefile.in,
30694 * device/lib/pic16/libsdcc/Makefile.in,
30695 * device/lib/pic16/startup/Makefile.in,
30696 * device/non-free/lib/pic16/Makefile.in,
30697 * device/non-free/lib/pic16/aclocal.m4,
30698 * device/non-free/lib/pic16/configure,
30699 * device/non-free/lib/pic16/libdev/Makefile.in:
30702 2011-09-18 Maarten Brock <sourceforge.brock AT dse.nl>
30704 * src/ds390/gen.c (genFunction),
30705 * src/mcs51/gen.c (genFunction): handle function pointers, fixed bug 3410620
30706 * src/SDCCsymt.c (compareFuncType): check regbank for non-isr,
30707 (dbuf_printTypeChain): print reentrancy, register bank & bankswitching
30708 * src/SDCCsymt.h: removed unused & buggy IFFUNC_RBANK
30709 * support/Util/dbuf.c (dbuf_set_length): auto-init dbuf
30710 * support/regression/tests/bug3410620.c: new, added
30712 2011-09-18 Philipp Klaus Krause <pkk AT spth.de>
30714 * src/SDCCralloc.hpp,
30715 support/regression/tests/bug3410878.c:
30716 Fixed bug #3410878.
30718 2011-09-18 Maarten Brock <sourceforge.brock AT dse.nl>
30720 * src/SDCCast.c (processParms): fixed bugs 3166064 and 3394118
30721 * support/regression/tests/bug3166064.c: new, added
30723 * doc/sdccman.lyx: bumped version to 3.0.5
30725 2011-09-15 Maarten Brock <sourceforge.brock AT dse.nl>
30727 * src/SDCCval.c (getNelements): fixed bug 3135551
30728 * support/regression/tests/bug3135551.c: new, added
30729 * src/ds390/gen.c (genInline),
30730 * src/hc08/gen.c (genInline),
30731 * src/mcs51/gen.c (genInline),
30732 * src/pic14/gen.c (genInline),
30733 * src/pic16/gen.c (genInline),
30734 * src/z80/gen.c (genInline),
30735 * support/cpp/c-ppoutput.c (scan_translation_unit),
30736 * support/cpp/libcpp/lex.c (cpp_output_line): replaced character by '\x87'
30738 2011-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
30740 * src/ds390/gen.c (genInline),
30741 * src/hc08/gen.c (genInline),
30742 * src/mcs51/gen.c (genInline),
30743 * src/pic14/gen.c (genInline),
30744 * src/pic16/gen.c (genInline),
30745 * src/z80/gen.c (genInline): convert (0x87) to newline
30746 * support/cpp/libcpp/include/cpplib.h: removed IN_ASM, added ENTER_ASM and
30748 * support/cpp/c-ppoutput.c (scan_translation_unit),
30749 * support/cpp/libcpp/lex.c (_cpp_process_line_notes, _cpp_lex_direct,
30750 cpp_output_token, cpp_output_line): fixed bugs 3407198 and 3407279 by
30751 inserting (0x87) for newlines
30752 * support/regression/tests/bug1505956.c: added tests
30754 2011-09-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30757 support/regression/tests/bug3401973.c:
30758 Fixed bug #3401973.
30760 2011-09-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30763 support/regression/bug3407632.c:
30764 Fixed bug #3407632.
30766 2011-09-10 Maarten Brock <sourceforge.brock AT dse.nl>
30768 * sdas/linksrc/aslink.h: added pcb & rterr, modified lkglist
30769 * sdas/linksrc/lkarea.c (find_empty_space, allocate_space): changed warnings
30770 * sdas/linksrc/lkdata.c: added pcb & rterr
30771 * sdas/linksrc/lkeval.c (eval, expr, term): no signed arithmetic,
30772 (term): accept closing quotes
30773 * sdas/linksrc/lklist.c: sync with ASxxxx 5
30774 * sdas/linksrc/lkmain.c (link_main): reset a_bytes and hilo to defaults 2,0
30776 * sdas/linksrc/lkrloc.c (relr): set default pcb
30778 2011-09-09 Borut Razem <borut.razem AT gmail.com>
30780 * support/cpp/md5.h:
30781 included stdint.h for uintptr_t declaration
30783 2011-09-08 Borut Razem <borut.razem AT gmail.com>
30785 * support/cpp/md5.h:
30786 fixed WIN64 warning: cast from pointer to integer of different size
30788 2011-09-07 Borut Razem <borut.razem AT gmail.com>
30790 * support/cpp/version.c: updated version to 4.6.1
30792 2011-09-06 Borut Razem <borut.razem AT gmail.com>
30794 * debugger/mcs51/sdcdb.h, src/SDCCsystem.c, src/pic14/glue.c:
30795 fixed WIN64 warnings: cast from pointer to integer of different size
30796 * src/SDCCsystem.c: fixed WIN64 TRUE and FALSE redefinition
30797 * src/SDCCglobal.c: fixed stack overflow
30799 2011-09-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30801 * src/SDCCralloc.hpp:
30802 Connect unconnected live-ranges instead of just spilling.
30804 2011-09-06 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30807 Minor cleanup from the stack-compact branch.
30809 2011-09-05 Maarten Brock <sourceforge.brock AT dse.nl>
30811 * device/lib/sincoshf.c: fixed bug 3326853
30813 2011-09-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
30815 * support/regression/tests/bug1723128.c: fixed bug 3403038
30817 2011-09-04 Philipp Klaus Krause <pkk AT spth.de>
30820 support/regression/tests/bug3404101.c:
30821 Fixed bug #3404101.
30823 2011-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
30825 * Makefile.in: added some dependencies to fix bug 3148465
30826 * src/mcs51/gen.c (gencjneshort,genOr): small optimizations
30828 * src/SDCCicode.c (operandType): fixed warning
30829 * src/SDCCsymt.h: cosmetics
30830 * src/z80/gen.c: fixed warnings
30831 * support/cpp/sdcpp-opts.c (sdcpp_common_init): return true on success
30833 2011-09-04 Borut Razem <borut.razem AT gmail.com>
30835 * support/scripts/sdcc.nsi: include readline5.dll in 64bit package
30837 2011-09-03 Maarten Brock <sourceforge.brock AT dse.nl>
30839 * support/regression/tests/bug3368945.c,
30840 * support/regression/tests/bug3381400.c,
30841 * support/regression/tests/bug3397636.c: fixed line endings and svn props
30842 * support/regression/tests/bug3401973.c: put large struct in large memory
30843 * support/regression/tests/bug3403429.c: fixed warnings, explained bug
30845 2011-09-03 Philipp Klaus Krause <pkk AT spth.de>
30848 Basic working z180 port.
30850 2011-09-03 Philipp Klaus Krause <pkk AT spth.de>
30860 src/SDCCralloc.hpp,
30865 Basic infrastructure for z180 port.
30867 2011-09-02 Philipp Klaus Krause <pkk AT spth.de>
30869 * tests/bug3403429.c:
30870 Regression test for bug 3403429.
30872 2011-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30875 Use res instead of and to clear sign bit.
30877 2011-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
30879 * device/lib/_fsgt.c,
30880 * device/lib/_fslt.c: test for -0.0
30881 * src/ds390/gen.c (toBoolean),
30882 * src/hc08/gen.c (asmopToBool),
30883 * src/mcs51/gen.c (toBoolean),
30884 * src/z80/gen.c (_toBoolean): ignore sign of float,
30885 (aopDump): disabled unused code
30886 * support/regression/tests/float_single.c: enabled floorf(1.0-0.000001),
30888 * support/regression/tests/bug3183823.c: new, added
30890 2011-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30892 * support/regression/tests/bug3401973.c:
30893 Regression test for bug 3401973.
30895 2011-09-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30897 * support/regression/tests/bug1723128.c:
30898 Disable failing regression test for hc08.
30900 2011-09-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30905 device/include/stdbool.h:
30906 _Bool / bool for hc08.
30908 2011-09-01 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30912 Minor code cleanup.
30914 2011-09-01 Borut Razem <borut.razem AT gmail.com>
30916 * support/scripts/sdcc.nsi:
30917 don't include readline5.dll in 64bit package;
30918 remove libgcc_s_sjlj-1.dll and libstdc++-6.dll on uninstallation;
30919 don't install 64 bit version on 32 bit Windows;
30920 use proper Program Files and registry for 64 bit installation
30921 * support/regression/ports/pic14/spec.mk,
30922 support/regression/ports/pic16/spec.mk,
30923 support/regression/ports/hc08/spec.mk,
30924 support/regression/ports/ds390/spec.mk,
30925 support/regression/ports/ucz80/spec.mk,
30926 support/regression/ports/mcs51-common/spec.mk:
30927 configurable $(WINE)
30929 2011-08-31 Borut Razem <borut.razem AT gmail.com>
30931 * support/scripts/sdcc.nsi: introduced WIN64 for 64bit dlls inclusion
30933 2011-08-30 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30935 * src/SDCCralloc.hpp:
30936 Construct conflict graph again instead of trusting the one from sdcc.
30938 2011-08-30 Philipp Klaus Krause <pkk AT spth.de>
30940 * device/lib/tancotf.c,
30941 device/lib/acosf.c,
30943 device/lib/asincosf.c,
30944 device/lib/_fsadd.c,
30945 device/lib/asinf.c,
30946 device/lib/printf_large.c,
30947 device/lib/_divulong.c,
30948 device/lib/_atof.c,
30951 device/lib/sincosf.c,
30953 device/lib/sincoshf.c,
30957 2011-08-30 Borut Razem <borut.razem AT gmail.com>
30959 * support/cpp/libcpp/lex.c:
30960 reverted to revision r6084 (before sdcpp 4.6.1 synchronization),
30961 partialy re-synchronized with sdcpp 4.6.1
30962 * support/cpp/libcpp/macro.c: fixed naked hash handling
30963 * support/regression/test/bitfields.c:
30964 fixed a regtest failure on i386 and x86_64 host architectures with
30965 gcc 4.6 by turning off the -O2 optimization
30967 2011-08-29 Borut Razem <borut.razem AT gmail.com>
30969 * support/cpp/libiberty/getpwd.c: reverted; it was committed by mistake
30970 * support/cpp/libcpp/lex.c: disable fast scanner using SSE due to
30971 bug #3400132: fatal error: ../gcc/config/i386/cpuid.h
30973 2011-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
30975 * device/lib/ds390/Makefile.in: added gptr_cmp.rel
30977 2011-08-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
30979 * device/include/stdbool.h,
30980 support/regression/tests/bool.c:
30981 Fixed bug #2939485.
30983 2011-08-28 Maarten Brock <sourceforge.brock AT dse.nl>
30985 * device/lib/ds390/gptr_cmp.c: new, added
30986 * src/ds390/gen.c (loadDptrFromOperand): factored out,
30987 (genFarPointerGet, genCodePointerGet, genGenPointerGet, genFarPointerSet,
30988 genGenPointerSet): use loadDptrFromOperand
30989 (genCmp, gencjneshort): fixed generic pointer comparison
30990 * support/regression/tests/genptrs.c: expanded and enabled tests for ds390
30992 2011-08-28 Borut Razem <borut.razem AT gmail.com>
30995 applied patch #3285611: Workaround gcc 4.6.0 bug with sdcc 3.0.0,
30997 * support/cpp/libiberty/concat.c, support/cpp/libiberty/filenames.h,
30998 support/cpp/libiberty/hashtab.c, support/cpp/libiberty/vasprintf.c,
30999 support/cpp/libiberty/xmemdup.c, support/cpp/libiberty/hashtab.h,
31000 support/cpp/libiberty/splay-tree.c, support/cpp/libiberty/lbasename.c,
31001 support/cpp/libiberty/splay-tree.h, support/cpp/libiberty/getpwd.c,
31002 support/cpp/libiberty/fopen_unlocked.c, support/cpp/libcpp/directives.c,
31003 support/cpp/libcpp/macro.c, support/cpp/libcpp/files.c,
31004 support/cpp/libcpp/include/cpplib.h, support/cpp/libcpp/include/symtab.h,
31005 support/cpp/libcpp/include/line-map.h, support/cpp/libcpp/init.c,
31006 support/cpp/libcpp/errors.c, support/cpp/libcpp/expr.c,
31007 support/cpp/libcpp/internal.h, support/cpp/libcpp/lex.c,
31008 support/cpp/libcpp/system.h, support/cpp/libcpp/charset.c,
31009 support/cpp/sdcpp-diagnostic.c, support/cpp/sdcpp.h,
31010 support/cpp/sdcpp-opts.c:
31011 SDCPP synchronized with GCC CPP release version 4.6.1
31013 2011-08-27 Philipp Klaus Krause <pkk AT spth.de>
31019 support/regression/tests/bool.c:
31020 Fixed bug #3031197.
31022 2011-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
31025 * src/ds390/gen.c: synced all shift functions
31027 2011-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
31029 * src/mcs51/gen.c: use !tlabeldef and #!constbyte,
31030 merged Push into emitpush,
31031 changed many aopGet(dname=TRUE) to FALSE
31032 (aopForRemat): do not warn for intermediate generic pointers,
31033 (aopPut): use static dbuf_s,
31034 (loadDptrFromOperand): optimized for AOP_DPTR,
31035 (pointToEnd, findLabelBackwards, old adjustArithmeticResult): removed,
31036 * src/mcs51/gen.h: cosmetics
31037 * src/ds390/gen.c: synchronized with mcs51, removed genArrayInit
31038 * src/ds390/gen.h: cosmetics
31039 * src/SDCCcse.c (algebraicOpts CAST): handle generic pointers
31040 * src/SDCCglue.c (aopLiteralLong): handle size=3 for ds390 dptr,
31041 (initPointer): no warning for castable pointers
31042 * src/SDCCicode.c (operandOperation EQ_OP): handle literal pointers,
31043 (getPtrType): removed
31044 (geniCodeCast): removed strange hidden cast after cse fix
31045 (geniCodeAddressOf): removed op->isaddr check for operandFromOperand
31046 * src/z80/gen.c (aopForRemat): synced with mcs51 for CAST,
31047 (regMove): fixed warnings
31048 * support/regression/tests/bug3389647.c: new, added
31050 2011-08-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31052 * src/z80/ralloc2.cc,
31053 support/regression/tests/bug3397636.c:
31054 Fixed bug #3397636.
31056 2011-08-25 Borut Razem <borut.razem AT gmail.com>
31058 * src/pic14/pcodepeep.c, src/pic16/pcodepeep.c:
31059 fixed name clash with mingw_w64: _DLL renamed to DLList
31060 * src/SDCCutil.c: added MINGW64 build environment detection
31061 * debugger/mcs51/simi.c, debugger/mcs51/cmd.c, debugger/mcs51/sdcdb.c,
31062 debugger/mcs51/break.c:
31063 fixed name clash with mingw_w64 objidl.h: undefine DATADIR
31064 * debugger/mcs51/sdcdb.c(escapeQuotes): expand buffer if necessary
31066 2011-08-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31069 Fixed bug #3396441.
31071 2011-08-17 Borut Razem <borut.razem AT gmail.com>
31073 * device/non-free/lib/pic16/libdev/Makefile.in:
31074 regenerated to include support for pic18f2xk22/pic18f4xk22 family
31076 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31079 Redid documentation change, in LyX 1.6 format this time.
31081 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31084 Reverted documentation change, to avoid LyX version incompability.
31086 2011-08-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31089 Document --reserve-regs-iy option and __smallc calling convention.
31091 2011-08-15 Maarten Brock <sourceforge.brock AT dse.nl>
31093 * src/SDCCast.c(decorateType, EQ_OP NE_OP): fixed floatFromVal bug on big
31094 endian host for pointers
31096 2011-08-14 Borut Razem <borut.razem AT gmail.com>
31098 * src/SDCC.y, src/SDCC.lex, src/pic14/ralloc.c, src/pic16/ralloc.c:
31099 fixed clash with i586-mingw32msvc/include/windef.h
31101 2011-08-12 Maarten Brock <sourceforge.brock AT dse.nl>
31103 * device/lib/mcs51/gptr_cmp.asm: new, added
31104 * device/lib/mcs51/Makefile.in: added gptr_cmp.rel
31105 * src/mcs51/gen.c(aopGet AOP_LIT): fixed generic pointer type
31106 (toBoolean, genCmp, gencjneshort): fixed generic pointer comparison
31107 * src/SDCCast.c(checkPtrCast): no warning for banked function pointers,
31108 (decorateType, EQ_OP NE_OP): optimize ifx(0==op) and null pointers
31109 * src/SDCCglue.c(aopLiteralGptr): added,
31110 (printIvalCharPtr): fixed generic pointers
31111 * support/regression/tests/genptrs.c: new, added
31112 * support/regression/tests/bug3366711.c: fixed warning
31113 * support/regression/tests/inline.c: split #ifdef for readability
31115 2011-08-09 Borut Razem <borut.razem AT gmail.com>
31117 * support/regression/Makefile.in: fixed dependency checking using vpath
31119 2011-08-07 Borut Razem <borut.razem AT gmail.com>
31121 * src/SDCCopt.c: fixed bug #3387421: Incorrect code in revision 6723,
31122 optimize '>' and '>=' also in case when the following instruction
31124 * support/regression/test/compare_2_n.c:
31125 added test cases for bug #3387421 and for 0x0000 and 0xffff
31127 2011-08-06 Borut Razem <borut.razem AT gmail.com>
31129 * doc/Makefile.in: applied patch #3387171:
31130 Binary build fails due to documentation cleanup,
31131 thanks Strobl Anton
31132 * src/SDCCopt.c: further enhancements & fixes of patch #2702889:
31133 added <= and >= optimizations, optimize > only if IFX
31134 * support/regression/test/compare_2_n.c: added test cases without IFX
31136 2011-08-05 Philipp Klaus Krause <pkk AT spth.de>
31139 support/regression/tests/bug3368945.c:
31140 Fixed bug #3386945.
31142 2011-08-05 Philipp Klaus Krause <pkk AT spth.de>
31145 Fixed bitfield unpacking bug #3386784.
31147 2011-08-05 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31149 * src/z80/peeph-z80.def:
31150 Minor peephole improvements.
31152 Removed incorrect comment regarding arithmetic right shift.
31154 2011-08-04 Philipp Klaus Krause <pkk AT spth.de>
31157 Handle cp, improve accuracy of checking for hl reads in notUsed().
31158 * src/z80/peeph-z80.def:
31159 Minor peephole improvements.
31160 * src/z80/ralloc2.c:
31161 Allow accumulator arguments in bitwise complement.
31163 2011-08-04 Philipp Klaus Krause <pkk AT spth.de>
31165 * src/z80/ralloc2.cc:
31166 Fixed bug #3385978.
31168 2011-08-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31170 * support/regression/tests/bug3381400.c:
31171 Don't try to compile the sfr stuff on host.
31173 2011-08-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31176 Minor improvement in 8-bit by literal multiplication.
31178 2011-08-03 Borut Razem <borut.razem AT gmail.com>
31180 * sdcc development documentation moved from doc to sdcc wiki:
31181 * doc/builtins.txt: removed,
31182 published as Developer Documentation on SDCC wiki at
31183 http://sourceforge.net/apps/trac/sdcc/wiki/Builtins
31184 * doc/macro-sys-design.txt: removed,
31185 published as Developer Documentation on SDCC wiki at
31186 http://sourceforge.net/apps/trac/sdcc/wiki/Macro%20system%20design
31187 * doc/random-notes.txt: removed,
31188 published as Developer Documentation on SDCC wiki at
31189 http://sourceforge.net/apps/trac/sdcc/wiki/Random%20notes%20about%20sdcc%20and%20how%20it%20works
31190 * doc/cdbfileformat.lyx: removed,
31191 published as Developer Documentation on SDCC wiki at
31192 https://sourceforge.net/apps/trac/sdcc/wiki/CDB%20File%20Format
31193 * doc/test_suite_spec.lyx: removed,
31194 published as an Obsolete document on SDCC wiki at
31195 http://sourceforge.net/apps/trac/sdcc/wiki/Proposed%20Test%20Suite%20Design
31196 * doc/avr/avr_design.txt: removed,
31197 published as an Obsolete document on SDCC wiki at
31198 http://sourceforge.net/apps/trac/sdcc/wiki/Design%20Document%20for%20AVR%20Port
31199 * doc/z80/combined_i186_z80_design.tex, doc/z80/*: removed,
31200 published as an Obsolete document on SDCC wiki at
31201 http://sourceforge.net/apps/trac/sdcc/wiki/Combined%20i186/Z80%20backend%20design
31202 * doc/choices.txt: removed,
31203 published as an Obsolete document on SDCC wiki at
31204 http://sourceforge.net/apps/trac/sdcc/wiki/Some%20of%20the%20implementation%20choices
31205 * doc/libdoc.txt: removed,
31206 published as an Obsolete document on SDCC wiki at
31207 http://sourceforge.net/apps/trac/sdcc/wiki/List%20of%20the%20SDCC%20library
31208 * doc/figures/ddd_example.png, doc/figures/ddd_example.eps: removed,
31209 pucure inserted into page "Visually debug for 8051 under Windows using DDD/SDCDB/S51" at
31210 http://sourceforge.net/apps/trac/sdcc/wiki/Visually%20debug%20for%208051%20under%20Windows%20using%20DDD/SDCDB/S51
31212 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31215 src/z80/peeph-z80.def:
31216 Fixed code generation bug in 8-bit multiplication with operands and e (hl).
31218 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31220 * src/z80/peeph-z80.def:
31221 Minor peephole improvement.
31223 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31225 * src/SDCCralloc.hpp:
31226 Fixed SIGSEGV that occured for extremly low values of --max-allocs-per-node.
31228 2011-08-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31231 support/regression/tests/bug3381400.c:
31232 Fixed bug #3381400.
31234 2011-08-03 Borut Razem <borut.razem AT gmail.com>
31236 * support/regression/Makefile.in,
31237 support/regression/ports/ds390/spec.mk:
31238 added m4 preprocessing of .m4 regtest files
31239 * support/regression/tests/compare_2_n.m4:
31240 adopted for m4 preprocessing, renamed to .m4
31241 * support/regression/m4include/*: added
31243 2011-08-01 Borut Razem <borut.razem AT gmail.com>
31245 * support/regression/tests/inline.c:
31246 excluded failing regression test case on Mac OS X GCC 4.0.1
31248 2011-07-31 Maarten Brock <sourceforge.brock AT dse.nl>
31250 * src/mcs51/gen.c(genEndFunction): added mov PSW removal based on patch
31251 2702889 by Hubert Sack
31252 * src/mcs51/ralloc.c: added findAllBankregs, mcs51_allBankregs
31253 * src/mcs51/ralloc.h: added mcs51_allBankregs
31255 2011-07-30 Maarten Brock <sourceforge.brock AT dse.nl>
31257 * device/lib/_setjmp.c: fixed mcs51 stack-auto and xstack implementations
31258 * src/SDCCopt.c(miscOpt): added my doubts
31259 * support/regression/tests/bug3379723.c: disabled for hc08 which has no sfr
31260 * support/regression/tests/setjmp.c: test only on supported targets
31261 * support/regression/tests/bug3361290.c,
31262 * support/regression/tests/bug3366711.c,
31263 * support/regression/tests/bug3379723.c: set native eolstyle property
31265 2011-07-28 Philipp Klaus Krause <pkk AT spth.de>
31267 * device/include/setjmp.h,
31268 device/lib/z80/Makefile.in,
31269 device/lib/z80/setjmp.s,
31270 support/regression/tests/setjmp.c:
31271 setjmp() and longjmp() for the Z80.
31273 2011-07-28 Philipp Klaus Krause <pkk AT spth.de>
31275 * device/include/setjmp.h,
31276 device/lib/_setjmp.c,
31277 support/regression/tests/setjmp.c:
31278 Fixed some setjmp() / longjmp() bugs.
31279 * support/regression/tests/bug3379723.c:
31280 Do not compile on host.
31282 2011-07-27 Borut Razem <borut.razem AT gmail.com>
31284 * src/SDCCopt.c: fixed bug
31285 #3378933: Regression test compare_2_n.c fails on sparc machines
31286 * support/regression/test/compare_2_n.c:
31287 reenabled bug #3378933 test case
31289 2011-07-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31292 support/regression/tests/bug3379732.c:
31293 Bitwise-op cleanup, fixed bug #3379732.
31295 2011-07-26 Borut Razem <borut.razem AT gmail.com>
31297 * support/regression/test/literalop.c:
31298 disabled failing test on i386 and sparc64 NetBSD gcc 4.1
31299 * support/regression/test/compare_2_n.c:
31300 excluded failing test on NetBSD sparc64 and Solaris sparc machines
31302 see bug #3378933: Regression test compare_2_n.c fails on sparc machines
31304 2011-07-24 Borut Razem <borut.razem AT gmail.com>
31306 * support/regression/test/bitfields.c:
31307 fixed a regtest failure on Solaris i386 host with gcc 4.6
31308 by turning off the -O2 optimization
31309 * support/regression/tests/compare_2_n.c:
31310 added test for unsigned long type
31312 2011-07-23 Borut Razem <borut.razem AT gmail.com>
31314 * debugger/mcs51/acinclude.m4, debugger/mcs51/configure: fix for solaris
31315 * support/regression/test/bitfields.c:
31316 fixed a strange failure on Solaris i386 host with gcc 4.6
31318 2011-07-22 Borut Razem <borut.razem AT gmail.com>
31320 * src/SDCCmem.c, src/SDCCopt.c: applied 2nd and 3rd part of patch
31321 #2702889 - Summary of all uncommitted changes I applied on "my" SDCC
31323 * support/regression/tests/compare_2_n.c: added
31325 2011-07-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31328 Reduce default value for --max-allocs-per-node to reduce compiler runtime.
31330 2011-07-19 Borut Razem <borut.razem AT gmail.com>
31332 * src/z80/gen.c: fixed MSVC 2010 compilation
31334 2011-07-16 Borut Razem <borut.razem AT gmail.com>
31336 * debugger/mcs51/simi.c:
31337 define BSD_COMP on Solaris so that gcc includes <sys/filio.h>
31338 which defines FIONBIO
31340 2011-07-15 Borut Razem <borut.razem AT gmail.com>
31342 * support/regression/tests/bug1665511.c:
31343 fixed host regression test bus error crash on sparc Solaris
31345 2011-07-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31348 src/z80/peeph-z80.def:
31349 Optimized jumptable generation.
31351 2011-07-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31354 labelJTInRange() fix, to ensure that jp by jr replacement is correct in jumptables.
31356 2011-07-14 Borut Razem <borut.razem AT gmail.com>
31358 * device/include/pic16/pic18fregs.h,
31359 device/include/pic16/pic16devices.txt,
31360 device/include/pic16/adc.h,
31361 device/lib/pic16/libio/adc/adcsetch.c,
31362 device/lib/pic16/libio/adc/adcopen.c,
31363 device/lib/pic16/libio/adc/adcbusy.c,
31364 device/lib/pic16/libio/Makefile.am,
31365 device/non-free/include/pic16/pic18fam.h,
31366 device/non-free/lib/pic16/libdev/Makefile.am,
31367 device/non-free/lib/pic16/pics.all,
31368 support/scripts/pic18fam-h-gen.pl,
31369 device/non-free/include/pic16/pic18f26k22.h,
31370 device/non-free/include/pic16/pic18f46k22.h,
31371 device/non-free/include/pic16/pic18f23k22.h,
31372 device/non-free/include/pic16/pic18f43k22.h,
31373 device/non-free/include/pic16/pic18f24k22.h,
31374 device/non-free/include/pic16/pic18f44k22.h,
31375 device/non-free/include/pic16/pic18f25k22.h,
31376 device/non-free/include/pic16/pic18f45k22.h,
31377 device/non-free/lib/pic16/libdev/pic18f26k22.c,
31378 device/non-free/lib/pic16/libdev/pic18f46k22.c,
31379 device/non-free/lib/pic16/libdev/pic18f23k22.c,
31380 device/non-free/lib/pic16/libdev/pic18f43k22.c,
31381 device/non-free/lib/pic16/libdev/pic18f24k22.c,
31382 device/non-free/lib/pic16/libdev/pic18f44k22.c,
31383 device/non-free/lib/pic16/libdev/pic18f25k22.c,
31384 device/non-free/lib/pic16/libdev/pic18f45k22.c:
31385 applied patch #3311538 - Add new pic18f2xk22/pic18f4xk22 family,
31386 thanks Strobl Anton
31387 * doc/sdccman.lyx: added support for pic18f2xk22/pic18f4xk22 family
31389 2011-07-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31391 * src/z80/ralloc.c,
31392 support/regression/tests/bug3366711.c:
31393 Fixed bug #3366711.
31395 2011-07-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31398 Refactored register shuffling code, fixing a memcpy() bug.
31400 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31403 support/regression/tests/bug3361290.c:
31404 Fixed bug #3361290.
31406 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31409 Fixed bug #3361280.
31411 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31413 * device/include/string.h,
31414 device/lib/strxfrm.c,
31415 device/lib/incl.mk:
31416 Added missing strxfrm() and strcoll() functions.
31418 2011-07-09 Philipp Klaus Krause <pkk@spth.de>
31421 Fixed bug #3107180.
31423 2011-06-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31425 * src/z80/peeph-z80.def:
31428 2011-06-29 Philipp Klaus Krause <pkk@spth.de>
31431 Character and string handling in C sucks.
31433 2011-06-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31435 * src/z80/peeph-z80.def:
31436 Minor peephole improvement.
31438 2011-06-29 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31441 Improve accuracy of label reference counting.
31443 2011-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31446 src/z80/peeph-z80.def:
31447 Fixed #2970351, reenabling basic tail-call optimization.
31449 2011-06-28 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31451 * src/z80/mappings.i,
31454 src/z80/ralloc2.cc:
31455 Fix --fomit-frame-pointer for z80.
31457 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31459 * src/z80/peeph-z80.def:
31460 Minor peephole improvement.
31462 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31464 * src/z80/peeph-z80.def:
31465 Peephole renumbering.
31467 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31469 * src/z80/peeph-z80.def:
31470 Remove unused (sdcc lib, regr. tests, contiki OS, libcv, my own programs) peepholes.
31472 2011-06-25 Philipp Klaus Krause <pkk AT spth.de>
31477 2011-06-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31480 Fixed broken use of large return values.
31482 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31485 Restore RFE #3284870, which was lost during the optralloc merge.
31487 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31489 * src/z80/ralloc2.cc:
31490 Disallow use of h or l operand in addition when result in true symop.
31492 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31494 * src/z80/ralloc.h,
31496 src/z80/ralloc2.cc,
31497 src/SDCCralloc.hpp,
31499 Fixed bug #3325223.
31501 2011-06-23 Philipp Klaus Krause <pkk AT spth.de>
31504 Disable labelIfx() optimization when using --nolabelopt.
31506 2011-06-22 Maarten Brock <sourceforge.brock AT dse.nl>
31508 * src/ds390/ralloc.c(packRegsDPTRnuse): fixed bug 1665511
31509 * support/regression/tests/bug1665511.c: new, added
31511 2011-06-19 Borut Razem <borut.razem AT gmail.com>
31513 * doc/sdccman.lyx: fixed bug #3322383 - Spelling mistakes
31514 * .version, doc/sdccman.lyx: changed sdcc version to 3.0.4
31516 2011-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
31518 * support/regression/tests/bug1962613.c: fixed clash with Bessel functions
31519 * support/regression/tests/strtok.c: disabled test for GCC on Solaris
31521 2011-06-15 Philipp Klaus Krause <pkk AT spth.de>
31523 * sim/ucsim/z80.src/inst_xd.cc:
31524 Fixed bug #3315215.
31526 2011-06-11 Philipp Klaus Krause <pkk AT spth.de>
31530 Fixed bug #3315124.
31532 2011-06-11 Maarten Brock <sourceforge.brock AT dse.nl>
31534 * support/regression/tests/bug3299577.c: fixed warnings
31535 * support/regression/tests/abs.c,
31536 support/regression/tests/bool.c,
31537 support/regression/tests/bug-1292721.c,
31538 support/regression/tests/bug-2646174.c,
31539 support/regression/tests/bug-2890326.c,
31540 support/regression/tests/bug-2982135.c,
31541 support/regression/tests/bug-3034585.c,
31542 support/regression/tests/bug-3117729.c,
31543 support/regression/tests/bug-3184920.c,
31544 support/regression/tests/bug1477149.c,
31545 support/regression/tests/bug1536762.c,
31546 support/regression/tests/bug1838000.c,
31547 support/regression/tests/bug2084206.c,
31548 support/regression/tests/bug2729218.c,
31549 support/regression/tests/bug2862650.c,
31550 support/regression/tests/bug3029630.c,
31551 support/regression/tests/bug3130806.c,
31552 support/regression/tests/bug3166208.c,
31553 support/regression/tests/bug3303325.c,
31554 support/regression/tests/bugs-1596270-1736867.c,
31555 support/regression/tests/interrupt.c,
31556 support/regression/tests/memory.c,
31557 support/regression/tests/strcmp.c,
31558 support/regression/tests/strcpy.c,
31559 support/regression/tests/strncmp.c,
31560 support/regression/tests/strpbrk.c,
31561 support/regression/tests/strspn.c: changed svn eol-style
31563 2011-06-10 Philipp Klaus Krause <pkk AT spth.de>
31565 * Merge the optralloc branch.
31567 2011-06-10 Philipp Klaus Krause <pkk AT spth.de>
31570 Fixed register-assignment-related multiplication bug.
31572 2011-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
31574 * src/SDCCcse.c(cseBBlock): fixed the fix
31576 2011-06-09 Philipp Klaus Krause <pkk AT spth.de>
31582 Rename __optlink to __smallc.
31584 2011-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
31586 * src/SDCCcse.c(cseBBlock): fixed cse bug 2729218 reading pointer for result
31587 * src/SDCCdflow.c: cosmetics
31588 * src/SDCCicode.c(operandOperation): fixed fatal error for literal pointer
31589 * src/SDCCmain.c(linkEdit): only use -M for mcs51 and ds390
31590 * src/SDCCopt.c: fixed warnings
31591 * src/SDCCval.c(floatFromVal, ulFromVal): handle structs
31592 * support/regression/tests/bug2729218.c: new, added
31593 * src/SDCCcse.c(cseBBlock): fixed the fix
31595 2011-06-08 Philipp Klaus Krause <pkk AT spth.de>
31597 * Merge from trunk.
31599 2011-06-05 Philipp Klaus Krause <pkk AT spth.de>
31601 * src/SDCCralloc.hpp,
31603 Ensure that SEND iCodes, except for the first in each chain are deactivated for cost function calculation.
31605 2011-06-05 Philipp Klaus Krause <pkk AT spth.de>
31608 Fixed use of arbitrary register combinations as return value.
31610 2011-06-01 Philipp Klaus Krause <pkk AT spth.de>
31612 * src/z80/ralloc2.cc,
31615 Emit info about the register assignment being optimal when using --fverbose-asm.
31617 2011-05-27 Philipp Klaus Krause <pkk AT spth.de>
31619 * Merge from trunk.
31621 2011-05-27 Philipp Klaus Krause <pkk AT spth.de>
31623 * src/SDCCtree_dec.hpp,
31624 src/z80/ralloc2.cc:
31625 Workarounds for compiler warnings.
31627 2011-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
31629 * src/hc08/main.c(hc08_dwarfRegNum): fixed interface
31630 * src/mcs51/gen.c: fixed MSVC errors by changing snprintf to SNPRINTF
31631 * src/port.h: fixed regNum and getRegName function pointer definitions
31632 * src/z80/gen.c(genJumpTab): fixed warning
31634 2011-05-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31637 Workarounds for compiler warnings.
31639 2011-05-26 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31641 * Merge from trunk.
31643 2011-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31647 src/z80/ralloc2.cc:
31648 Exact cost for builtin function calls.
31650 2011-05-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31652 * src/SDCCtree_dec.hpp,
31653 src/SDCCralloc.hpp,
31654 src/z80/ralloc2.cc:
31655 Fixed bug in Thorup heuristic, that resulted in much higher width of tree-decomposition.
31657 2011-05-21 Philipp Klaus Krause <pkk AT spth.de>
31659 * Merge from trunk.
31661 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31664 Remove unnecessary statement, debug message cleanup.
31666 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31668 * src/SDCCtree_dec.hpp,
31669 src/SDCCralloc.hpp,
31671 Debug message cleanup.
31673 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31676 Ported reorganization of cast to bool from trunk.
31678 2011-05-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31680 * Merge from trunk.
31682 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31685 support/regression/tests/bug3303325.c:
31686 Merge from trunk: Fixed bug #3303325.
31688 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31691 Code cleanup wrt. temporary labels.
31693 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31696 Give an error when boost is not detected.
31698 2011-05-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31700 * Merge from trunk.
31702 2011-05-16 Philipp Klaus Krause <pkk@spth.de>
31705 Fixed crash when running on cygwin.
31707 2011-05-15 Philipp Klaus Krause <pkk@spth.de>
31709 * Merge from trunk.
31711 2011-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
31713 * sdas/linksrc/aslink.vcxproj,
31714 * sdas/linksrc/aslink.vcxproj.filters: added lkbank.c
31715 * src/z80/ralloc.c: moved z80_init_asmops prototype
31717 2011-05-13 Philipp Klaus Krause <pkk@spth.de>
31719 * Merge from trunk.
31721 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31723 * src/SDCCralloc.hpp,
31725 Make STX library optional and detect it in configure script.
31727 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31730 Minor code cleanup and cost function accuracy improvement.
31732 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31734 * Merge from trunk.
31736 2011-05-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31738 * src/z80/peeph-z80.def:
31739 Fixed some bit-manipulation peepholes for immediate operands.
31741 Fixed operand loading in complement.
31743 2011-05-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31745 * Merge from trunk.
31747 2011-05-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31752 Reintegrated old register allocator (option --oldralloc).
31754 2011-05-09 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31756 * src/SDCCralloc.hpp,
31757 src/z80/ralloc2.cc:
31758 Handle the check for result bytes overwriting operand bytes in the conflict graph instead of the cost function.
31760 2011-05-08 Philipp Klaus Krause <pkk@spth.de>
31762 * src/z80/ralloc2.cc
31763 Fixed over-eager early HLinst_OK() use.
31765 2011-05-08 Philipp Klaus Krause <pkk@spth.de>
31767 * Merge from trunk.
31769 2011-05-06 Philipp Klaus Krause <pkk@spth.de>
31772 Remove some leftover debug stuff.
31773 * src/z80/peeph-z80.def:
31774 Generalize optimization of bit setting and resetting.
31776 2011-05-06 Philipp Klaus Krause <pkk@spth.de>
31778 * Merge everything except src/z80/gen.c from trunk,
31779 but mark gen.c as merged, so that further changes in gen.c
31782 2011-05-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31784 * src/SDCCralloc.hpp,
31786 Improved performance, reduced memory usage.
31788 2011-05-02 Borut Razem <borut.razem AT gmail.com>
31790 * configure.in, configure:
31791 don't use "-pipe" on x86 Solaris g++, since src/z80/ralloc2.cc dies
31793 2011-04-29 Philipp Klaus Krause <pkk@spth.de>
31795 * Merge everything except src/z80/gen.c from trunk.
31797 2011-04-29 Philipp Klaus Krause <pkk@spth.de>
31799 * src/SDCCralloc.hpp,
31801 Some performance improvements.
31803 2011-04-25 Philipp Klaus Krause <pkk@spth.de>
31805 * Merge everything except src/z80/gen.c from trunk.
31807 2011-04-25 Maarten Brock <sourceforge.brock AT dse.nl>
31809 * debugger/mcs51/cmd.c,
31810 * debugger/mcs51/symtab.c,
31811 * src/z80/ralloc2.cc: fixed some warnings
31812 * sdas/linksrc/aslink.vcxproj,
31813 * sdas/linksrc/aslink.vcxproj.filters: added lksdcdb.c
31815 * src/src.vcxproj.filters,
31816 * sdcc.sln: added dependencies on config, removed avr & xa51
31817 * sdcc_vc_in.h: set OPT_DISABLE_AVR & OPT_DISABLE_XA51
31818 * src/pic14/ralloc.h: fixed rename of struct regs to reg_info
31819 * src/z80/gen.c: replaced true/false with TRUE/FALSE
31821 2011-04-21 Philipp Klaus Krause <pkk@spth.de>
31825 src/mcs51/ralloc.c,
31827 src/mcs51/ralloc.h,
31829 src/mcs51/rtrack.c,
31834 src/pic14/pcodepeep.c,
31835 src/pic14/pcoderegs.c,
31836 src/pic14/ralloc.c,
31838 src/pic14/ralloc.h,
31847 src/pic16/device.c,
31848 src/pic16/device.h,
31850 src/pic16/pcoderegs.c,
31851 src/pic16/ralloc.c,
31853 src/pic16/ralloc.h,
31864 src/ds390/ralloc.h,
31867 src/ds390/ralloc.c,
31869 Renamed regs struct to reg_info, since g++ pollutes the global namespace with "regs" on OpenSolaris, even when using --std=c++98.
31871 2011-04-21 Philipp Klaus Krause <pkk@spth.de>
31873 * Merge everything except src/z80/gen.c from trunk.
31875 2011-04-20 Philipp Klaus Krause <pkk@spth.de>
31878 Fixed bug in assignments to bitfields of size < 8.
31880 2011-04-20 Philipp Klaus Krause <pkk@spth.de>
31882 * src/SDCCralloc.hpp:
31883 Allow extremly low values of --max-allocs-per-node.
31885 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31888 Make some cheapMove()s for more optimization potential (moving some optimizations from the peephole optimizer to code generation, where they can be seen by the cost function).
31890 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31892 * src/z80/peeph-z80.def:
31893 Added some peephole rules to better optimize shifting and dead loads.
31895 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31897 * Merge everything except src/z80/gen.c from trunk.
31899 2011-04-19 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31902 Fixed result assignment bug in addition.
31904 2011-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31910 Added --optralloc-remat option for handling rematerialization in the new allocator,
31911 fixed cost function bug when reading beyond the size of operands,
31912 removed option for the use of an exact cost function and made the exact cost function the default,
31913 improved code generation for addition.
31915 2011-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31918 Fixed a bug triggered by assigning rematerializeable variables to register A or IY.
31920 2011-04-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31922 * Merge everything except src/z80/gen.c from trunk.
31924 2011-04-17 Philipp Klaus Krause <pkk AT spth.de>
31927 Fixed bug in bitfield reading that occoured when reading from (HL) and writing the result to L.
31929 2011-04-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31931 * Merge everything except src/z80/gen.c from trunk.
31933 2011-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31935 * Merge everything except src/z80/gen.c from trunk.
31937 2011-04-13 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31940 Some optimizations for using a pointer to a bitfield in iy,
31941 improve pushing of 4-byte parameters.
31943 2011-04-12 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
31946 Fixed genAssign to be able to handle arbitrary register-to-register assignments.
31948 2011-04-11 Philipp Klaus Krause <pkk AT spth.de>
31951 Fixed another genPointerGet() bug.
31953 2011-04-10 Borut Razem <borut.razem AT gmail.com>
31955 * src/z80/gen.c: dbuf-ized
31956 * src/SDCCglobl.h: sync with trunk
31958 2011-04-10 Philipp Klaus Krause <pkk AT spth.de>
31961 Cleaned up some leftover debug messages,
31962 fixed assignment of lh to hl,
31963 implemented exact cost for EXSTK to SFR assignment,
31964 fixed genPointerGet() bug that made simplefloat regression tests fail.
31966 2011-04-09 Philipp Klaus Krause <pkk AT spth.de>
31969 Added warning in commitPair() for lh to hl assignment.
31971 2011-04-09 Philipp Klaus Krause <pkk AT spth.de>
31974 Fixed bug that could result in slightly wrong cost function.
31976 2011-04-09 Borut Razem <borut.razem AT gmail.com>
31979 * support/regression/tests/bug3166208.c: sync with trunk
31981 2011-04-09 Borut Razem <borut.razem AT gmail.com>
31983 * src/z80/gen.c, src/z80/ralloc2.cc:
31984 changed with the Philipp's version from his private
31985 sdcc-or-2011-4-8 branch; fixed MSVC 2010 compilation
31986 * src/SDCCicode.c: dbuf_detach() replaced with dbuf_destroy()
31987 * support/regression/ports/ucz80/spec.mk:
31988 added --optralloc-exact-cost to SDCCFLAGS
31990 2011-04-09 Borut Razem <borut.razem AT gmail.com>
31992 * sim/ucsim/cmd.src/cmdpars.y: removed warnings
31993 * support/regression/tests/logic.c, src/SDCCpeeph.c, src/SDCCasm.c,
31994 src/SDCCicode.c, src/SDCCglobl.h, src/SDCCsystem.c:
31995 sync with optralloc branch
31997 2011-04-08 Philipp Klaus Krause <pkk AT spth.de>
31999 * src/z80/ralloc.c:
32000 Fixed bug that allowed old register allocator to use IY even when the new one does, too,
32001 which led to conflicts in the assignment.
32003 2011-04-07 Philipp Klaus Krause <pkk AT spth.de>
32010 src/z80/peeph-z80.def:
32011 Added new peephole function notUsedFrom() to check for variable uses starting from label,
32012 added it as condition in peepholes where appropriate, modified notUsed()
32013 peephole function to not rely on first argument being constant or %1.
32015 2011-04-07 Philipp Klaus Krause <pkk AT spth.de>
32018 Fixed SIGSEGV crash due to incorrect register pair cache spilling.
32020 2011-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
32022 * device/lib/mcs51/Makefile.in,
32023 * device/lib/mcs51/crtxpopbits.asm, device/lib/mcs51/crtxpopr0.asm: renamed
32024 * device/lib/mcs51/crtxpop.asm,
32025 * device/lib/mcs51/crtxpush.asm,
32026 * device/lib/mcs51/crtxpushr0.asm,
32027 * src/mcs51/gen.c (xstackRegisters, saveRegisters, unsaveRegisters,
32028 genSend): fixed for new register order
32030 2011-04-06 Philipp Klaus Krause <pkk AT spth.de>
32033 Give warning instead of crashing when failing to parse ex line node.
32035 2011-04-05 Borut Razem <borut.razem AT gmail.com>
32037 * src/src.vcxproj, src/src.vcxproj.filters, src/z80/gen.c:
32038 fixed MSVC 2010 compilation
32039 * src/SDCCasm.c, src/SDCCasm.h:
32040 removed tsprintf(), dbuf_tprintf() is used instead
32041 * src/z80/gen.c: fixed bug in fetchLitPair()
32043 2011-04-05 Philipp Klaus Krause <pkk AT spth.de>
32045 * src/z80/ralloc2.cc:
32046 Avoid assignments where the result overwrites operands in some unary operations.
32048 Avoid unnecessary saving of iy in builtin memcpy().
32050 2011-04-05 Philipp Klaus Krause <pkk AT spth.de>
32052 * src/z80/ralloc2.cc:
32053 Avoid assignments where the result overwrites operands in subtraction, addition, bitwise and, xor;
32054 get correct cost for bitwise or.
32056 Remove workaround for result overwritings operands in addition; fixed commitPair() for swapped bytes in target.
32058 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32061 Fixed broken or when result is sfr.
32062 * src/z80/peeph-z80.def:
32063 Fixed broken peephole for combining additions next to pushes.
32065 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32067 * src/z80/ralloc2.cc,
32069 Allow iy as operand to left shift and decrement.
32071 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32073 * src/z80/ralloc2.cc:
32074 Fixed broken caching of values in hl during pointer assignment.
32076 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32078 * src/z80/ralloc2.cc:
32079 Do not allocate operands to hl when the code generator will use (hl) for the result in addition.
32081 2011-04-04 Philipp Klaus Krause <pkk AT spth.de>
32084 Fix for restoring of register iy when other register pairs are restored as well.
32086 2011-03-31 Philipp Klaus Krause <pkk AT spth.de>
32088 * src/z80/peeph-z80.def:
32089 Fix peephole 76' so it doesn't overwrite accumulator during multibyte addition.
32091 2011-03-31 Philipp Klaus Krause <pkk AT spth.de>
32094 Fix for genPointerGet when result is lh.
32096 2011-03-31 Philipp Klaus Krause <pkk AT spth.de>
32099 Fix for addition with literal when right operand is partially in hl.
32101 2011-03-31 Maarten Brock <sourceforge.brock AT dse.nl>
32103 * src/mcs51/ralloc.c (regs8051, serialRegAssign),
32104 * src/mcs51/ralloc.h: prefer to use adjacent ascending registers
32106 2011-03-30 Maarten Brock <sourceforge.brock AT dse.nl>
32108 * sdas/linksrc/lklex.c,
32109 * src/SDCCast.c: small fixes
32111 2011-03-29 Borut Razem <borut.razem AT gmail.com>
32113 * Partially merge from trunk
32115 2011-03-29 Philipp Klaus Krause <pkk AT spth.de>
32119 src/z80/ralloc2.cc,
32120 src/z80/peeph-z80.def:
32121 Handle IY in the new allocator.
32123 2011-03-28 Philipp Klaus Krause <pkk AT spth.de>
32125 * src/SDCCralloc.hpp,
32126 src/z80/ralloc2.cc,
32130 Preparations for handling IY in the new allocator.
32132 2011-03-28 Philipp Klaus Krause <pkk AT spth.de>
32134 * src/z80/ralloc2.cc,
32137 Fixes for the exact cost function.
32139 2011-03-28 Maarten Brock <sourceforge.brock AT dse.nl>
32141 * sdas/linksrc/lklex.c,
32142 * src/SDCCast.c: small fixes
32144 2011-03-28 Borut Razem <borut.razem AT gmail.com>
32146 * src/z80/gen.c: fixed bug, introduced during code cleaning
32148 2011-03-28 Philipp Klaus Krause <pkk AT spth.de>
32159 Support for designated initializers, thanks C. Scott and R. Quattlebaum.
32161 2011-03-27 Maarten Brock <sourceforge.brock AT dse.nl>
32163 * sdas/as6808/m08mch.c, sdas/as6808/m08pst.c,
32164 * sdas/as8051/i51mch.c, sdas/as8051/i51pst.c,
32165 * sdas/asgb/gbmch.c, sdas/asgb/gbpst.c,
32166 * sdas/asz80/z80mch.c, sdas/asz80/z80pst.c,
32167 * sdas/asxxsrc/asdata.c, sdas/asxxsrc/asexpr.c,
32168 * sdas/asxxsrc/aslist.c, sdas/asxxsrc/asmain.c,
32169 * sdas/asxxsrc/asout.c, sdas/asxxsrc/asxxxx.h,
32170 * sdas/linksrc/aslink.h, sdas/linksrc/lkaomf51.c,
32171 * sdas/linksrc/lkar.c, sdas/linksrc/lkarea.c,
32172 * sdas/linksrc/lkdata.c, sdas/linksrc/lkelf.c,
32173 * sdas/linksrc/lkeval.c, sdas/linksrc/lkhead.c,
32174 * sdas/linksrc/lkihx.c, sdas/linksrc/lklex.c,
32175 * sdas/linksrc/lklib.c, sdas/linksrc/lklibr.c,
32176 * sdas/linksrc/lklist.c, sdas/linksrc/lkmain.c,
32177 * sdas/linksrc/lkmem.c, sdas/linksrc/lkrloc.c,
32178 * sdas/linksrc/lksym.c, sdas/linksrc/lksdcclib.c: first steps towards ASxxxx 5
32180 2011-03-27 Borut Razem <borut.razem AT gmail.com>
32182 * src/z80/main.c, src/z80/gen.c, src/z80/gen.h,
32183 src/z80/ralloc.c, src/z80/ralloc.h,
32184 src/mcs51/gen.c, src/ds390/gen.c:
32185 dbuf-ized, get rid of global buffer, code cleaning
32186 * src/SDCCasm.c, src/SDCCasm.h:
32188 * support/Util/dbuf.c, support/Util/dbuf.h:
32189 added dbuf_is_initialized()
32191 2011-03-26 Borut Razem <borut.razem AT gmail.com>
32193 * src/mcs51/gen.c, src/mcs51/gen.h,
32194 src/mcs51/ralloc.c, src/mcs51/ralloc.h,
32195 src/ds390/gen.c, src/ds390/ralloc.c:
32196 dbuf-ized, get rid of global buffer, code cleaning
32198 2011-05-26 Philipp Klaus Krause <pkk AT spth.de>
32200 * src/SDCCcse.c (boolCast):
32201 Fully reenabled boolCast, and fixed my stupid typo that triggered bug 3223041.
32203 2011-03-25 Maarten Brock <sourceforge.brock AT dse.nl>
32205 * src/hc08/gen.c: cosmetics
32206 * src/hc08/ralloc.c (packRegsForAssign): fixed bug 1477149 & SINHF,
32207 throughout synced with mcs51/ralloc.c
32208 * support/regression/tests/float_single.c: enabled SINHF
32210 2011-03-25 Philipp Klaus Krause <pkk AT spth.de>
32212 * src/SDCCcse.c (boolCast, cseBBlock):
32213 Reenabled boolCast except for the one case that triggers bug 3223041.
32215 2011-03-24 Philipp Klaus Krause <pkk AT spth.de>
32217 * src/z80/ralloc.c,
32219 src/z80/ralloc2.cc:
32222 2011-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
32224 * src/SDCCsymt.h: added IS_BOOLEAN
32225 * src/SDCCast.c (getResultTypeFromType),
32226 * src/SDCCicode.c (geniCodeLogic, geniCodeLogicAndOr, ast2iCode),
32227 * src/SDCCsymt.c (computeTypeOr, computeType, compareType),
32228 * src/SDCCval.c (checkConstantRange): use IS_BOOLEAN
32229 * src/SDCCcse.c (boolCast, cseBBlock): disabled boolCast fixed bug 3223041
32230 * src/z80/gen.c (_toBoolean): added parameter needflag,
32231 (_castBoolean, genCast): castBoolean factored out of genCast
32232 * support/regression/tests/bug3223041.c: modified for hc08 without _Bool
32234 2011-03-24 Borut Razem <borut.razem AT gmail.com>
32236 * src/SDCCglue.c, src/ds390/gen.c, src/ds390/gen.h,
32237 src/ds390/ralloc.c, src/ds390/ralloc.h, src/SDCCptropt.c,
32238 src/SDCCptropt.h, src/SDCCicode.c, src/SDCCicode.h:
32239 dbuf-ized, get rid of global buffer, code cleaning,
32240 use dbuf_tprintf() instead of tsprintf()
32242 2011-03-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32244 * src/SDCCralloc.hpp,
32246 src/z80/ralloc2.cc:
32247 Make sdcc the best compiler for the Z80.
32249 2011-03-22 Philipp Klaus Krause <pkk AT spth.de>
32252 sfr fixes for accurate cost function.
32254 2011-03-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32257 src/SDCCralloc.hpp,
32258 src/z80/ralloc2.cc:
32259 Code reorganization for a more accurate cost function.
32262 2011-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
32264 * support/regression/ports/ds390/spec.mk,
32265 * support/regression/ports/hc08/spec.mk,
32266 * support/regression/ports/ucz80/spec.mk: fixed output
32268 2011-03-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32270 * src/z80/ralloc2.cc,
32272 Code reorganization for a more accurate cost function.
32274 2011-03-21 Borut Razem <borut.razem AT gmail.com>
32276 * src/SDCCmacro.c: fixed bug, introduced 2011-03-20:
32277 call dbuf_vprintf() instead dbuf_printf() in mvsprintf()
32279 2011-03-21 Maarten Brock <sourceforge.brock AT dse.nl>
32281 * src/ds390/gen.c (genRet): forgot the _endLazyDPSEvaluation
32282 * support/regression/compact-results.py: new, added
32283 * support/regression/Makefile.in: print test name and compact results after
32284 running the test for better progress insight with make -j
32286 2011-03-21 Borut Razem <borut.razem AT gmail.com>
32288 * src/SDCCval.c, src/SDCCval.h, src/SDCCast.c: dbuf-ized
32290 2011-03-20 Philipp Klaus Krause <pkk AT spth.de>
32292 * src/SDCCralloc.hpp,
32294 src/z80/ralloc2.cc,
32296 Code reorganization for a more accurate cost function.
32298 2011-03-20 Philipp Klaus Krause <pkk AT spth.de>
32302 Register allocator option cleanup.
32304 2011-03-20 Borut Razem <borut.razem AT gmail.com>
32306 * src/SDCCicode.c, src/SDCCicode.h, src/SDCCsymt.c, src/SDCCsymt.h,
32307 src/port.h, src/SDCCast.c, src/SDCCast.h, src/SDCCBBlock.c,
32308 src/SDCCBBlock.h, src/z80/main.c, src/pic16/main.c:
32309 dbuf-ized, get rid of global buffer, code cleaning
32310 * src/SDCCmacro.c, src/SDCCmain.c, support/Util/NewAlloc.c,
32311 support/Util/newalloc.h: introduced Safe_strndup()
32313 2011-03-20 Maarten Brock <sourceforge.brock AT dse.nl>
32315 * src/ds390/gen.c (movc, toCarry): replaced movc with toCarry,
32316 (genNot, genSend, genRet): used toCarry,
32317 (genAnd, genOr, genXor): fixed bug 3223041
32318 * src/mcs51/gen.c (toCarry): handle IS_OP_ACCUSE,
32319 (genCmpEq, genAnd, genOr, genXor): fixed bug 3223041
32320 * support/regression/tests/bug3223041.c: new, added
32322 2011-03-20 Borut Razem <borut.razem AT gmail.com>
32324 * src/SDCCmain.c, src/SDCCmacro.c, src/SDCCmacro.h, src/SDCCutil.c,
32325 src/SDCCutil.h: dbuf-ized SDCCmacro.c
32326 * src/SDCCutil.c, src/SDCCutil.h, src/SDCCmain.c, src/ds390/main.c, src/z80/main.c:
32327 dbuf-ized buildCmdLine(), moved to SDCCutil
32328 * src/SDCCbuild_cmd.[ch]: deleted
32330 2011-03-20 Borut Razem <borut.razem AT gmail.com>
32332 * src/SDCCmain.c, src/SDCCmacro.c, src/SDCCmacro.h, src/SDCCutil.c,
32333 src/SDCCutil.h: dbuf-ized SDCCmacro.c
32334 * src/SDCCutil.c, src/SDCCutil.h, src/SDCCmain.c, src/ds390/main.c, src/z80/main.c:
32335 dbuf-ized buildCmdLine(), moved to SDCCutil
32336 * src/SDCCbuild_cmd.[ch]: deleted
32338 2011-03-19 Borut Razem <borut.razem AT gmail.com>
32340 * src/SDCCmain.c, src/SDCCutil.c, src/SDCCutil.h, src/SDCCmacro.c,
32342 fixed bug #3152525:
32343 sdcc doesn't pass double-quotes from -D option to sdcpp
32344 * debugger/mcs51/simi.c:
32345 call ioctl(sock, FIONBIO, &iMode)
32346 replaced with fcntl(sock, F_SETFL, FNONBLOCK | FASYNC) on *nix
32348 2011-03-19 Maarten Brock <sourceforge.brock AT dse.nl>
32350 * sdas/asxxsrc/asmain.c (main): fixed warning
32351 * sdas/linksrc/lkaomf51.c (OutputAOEMF51): fixed bug 1630751
32352 (ParseRegisters, CollectInfoFromCDB): get address for ascending registers
32353 * src/cdbFile.c: cosmetics
32354 * support/regression/fwk/lib/statics.c,
32355 * support/regression/tests/bug1477149.c: fixed for type float
32356 * sdas/linksrc/lkaomf51.c: disabled DODUMP
32358 2011-03-18 Borut Razem <borut.razem AT gmail.com>
32360 * sdas/asxxsrc/asmain.c:
32361 reverted incorrect fix for bug #3195019:
32362 option -o just instructs sdas to generate an object file,
32363 it doesn't take an object output file name as argument
32364 * sdas/asxxsrc/asmain.c:
32365 hopefully properly fixed bug #3195019
32367 2011-03-18 Maarten Brock <sourceforge.brock AT dse.nl>
32369 * src/cdbFile.c (cdbWriteBasicSymbol),
32370 * src/SDCCglue.c (emitDebugSym),
32371 * debugger/mcs51/symtab.c (gc_strcat, symLookup): concatenate module and
32372 function name seperated by . for locals to fix bug 1477149 with --debug
32373 * sdas/linksrc/lkaomf51.c (CollectInfoFromCDB): split S:L and L:L locals,
32374 F:F are static, check modules for L:F and L:X
32375 * src/SDCCdebug.c: cosmetics
32376 * src/SDCCglue.c (emitOverlay): fixed bug 1477149
32377 * support/regression/fwk/lib/statics.c,
32378 * support/regression/ports/ds390/fwk.lib,
32379 * support/regression/ports/gbz80/fwk.lib,
32380 * support/regression/ports/hc08/fwk.lib,
32381 * support/regression/ports/ucz80/fwk.lib,
32382 * support/regression/tests/bug1477149.c: new, added
32383 * support/regression/ports/ds390/spec.mk,
32384 * support/regression/ports/hc08/spec.mk,
32385 * support/regression/ports/mcs51-common/spec.mk
32386 * support/regression/ports/ucz80/spec.mk: added FWKLIB and statics.rel
32387 * support/regression/ports/host/spec.mk.in: added statics.o
32388 * support/regression/ports/mcs51-common/fwk.lib: added statics.rel
32389 * .version: bumped to 3.0.2
32390 * src/cdbFile.c (cdbWriteBasicSymbol): applied patch from bug 1627975,
32393 2011-03-17 Borut Razem <borut.razem AT gmail.com>
32395 * src/SDCCloop.c, src/SDCCsymt.c, src/SDCCast.c:
32396 fixed empty statement warnings
32397 * sdas/asxxsrc/asmain.c:
32398 fixed bug #3195019: sdcc generates .rel instead of .o
32400 removed -O2 from CPPFLAFS
32402 2011-03-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32404 * src/z80/ralloc2.cc,
32408 Code reorganization for a more accurate cost function.
32410 2011-03-16 Philipp Klaus Krause <pkk AT spth.de>
32412 * src/SDCCralloc.hpp,
32416 2011-03-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32418 * src/z80/ralloc2.cc,
32422 Code reorganization for a more accurate cost function.
32424 2011-03-15 Borut Razem <borut.razem AT gmail.com>
32426 * debugger/mcs51/configure.in, debugger/mcs51/configure:
32427 added C99_FLAG to CFLAGS and MAKEDEP for SunPro C compiler
32428 * debugger/mcs51/simi.c: include <sys/filio.h> in Solaris
32430 2011-03-15 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32434 src/z80/ralloc2.cc,
32436 Code reorganization for a more accurate cost function.
32438 2011-03-14 Maarten Brock <sourceforge.brock AT dse.nl>
32440 * src/SDCCglue.c (pointerTypeToGPByte),
32441 * src/ds390/gen.c (genCast): ds390 function pointer is no CPOINTER
32443 2011-03-14 Borut Razem <borut.razem AT gmail.com>
32445 * configure, configure.in: don't use C99_FLAG in CXXFLAGS
32446 for SunPro C++ compiler
32448 2011-03-13 Maarten Brock <sourceforge.brock AT dse.nl>
32450 * src/SDCCast.c (processParms): fixed bug 2084206,
32451 (getLeftResultType): return RESULT_TYPE_GPTR for generic pointers,
32452 (decorateType, CAST): don't change function pointer to CPOINTER
32453 when resulttype is generic pointer, necessary for varargs
32454 * support/regression/tests/bug2084206.c: new, added
32456 2011-03-13 Borut Razem <borut.razem AT gmail.com>
32458 * src/SDCCglobl.h: don't incude stdbool.h if compiled with c++
32460 2011-03-13 Philipp Klaus Krause <pkk AT spth.de>
32462 * src/z80/ralloc2.cc:
32463 Preparations for rematerialization support in new allocator.
32464 * src/z80/ralloc.c:
32465 Old register allocator cleanup.
32467 Code reorganization for a more accurate cost function.
32469 2011-03-09 Philipp Klaus Krause <pkk AT spth.de>
32472 support/regression/tests/memory.c:
32473 Completed fix for #3188357.
32475 2011-03-07 Borut Razem <borut.razem AT gmail.com>
32477 * configure, configure.in, src/Makefile.in: CXXFLAGS fixes
32479 2011-03-06 Borut Razem <borut.razem AT gmail.com>
32481 * sim/ucsim/cmd.src/Makefile.in:
32482 fixed for bison, byacc and flex version 2.5.4
32484 2011-03-05 Philipp Klaus Krause <pkk AT spth.de>
32487 Partial fix for #3188357.
32489 2011-03-05 Borut Razem <borut.razem AT gmail.com>
32491 * sim/ucsim/configure, sim/ucsim/cmd.src/cmdlexcl.h,
32492 sim/ucsim/cmd.src/Makefile.in, sim/ucsim/cmd.src/newcmd.cc,
32493 sim/ucsim/cmd.src/cmdset.cc, sim/ucsim/cmd.src/cmdlex.l,
32494 sim/ucsim/cmd.src/newcmdposix.cc, sim/ucsim/cmd.src/newcmdwin32.cc,
32495 sim/ucsim/cmd.src/cmdpars.y, sim/ucsim/configure.in:
32496 use bison instead of unsupported bison++
32497 * sim/ucsim/cmd.src/flex_lexer.h, sim/ucsim/cmd.src/cmdpars.cc,
32498 sim/ucsim/cmd.src/cmdpars.h, sim/ucsim/cmd.src/FlexLexer.h,
32499 sim/ucsim/cmd.src/cmdlex.cc: deleted
32501 2011-03-03 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32503 * sim/ucsim/z80.src/inst_cb.cc:
32504 Fixed broken res b, a instruction.
32506 2011-03-02 Borut Razem <borut.razem AT gmail.com>
32508 * src/SDCCmain.c, doc/sdccman.lyx:
32509 fixed use of SDCC_LIB environment variable:
32510 first search in $SDCC_LIB/<model>
32511 then search in $SDCC_LIB
32513 2011-03-02 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32515 * src/z80/ralloc2.cc:
32516 Improved coalescing.
32518 src/z80/peeph-z80.def:
32519 Minor improvements.
32521 2011-02-27 Philipp Klaus Krause <pkk AT spth.de>
32523 * src/z80/ralloc2.cc,
32527 src/z80/peeph-z80.def:
32528 Various minor improvements.
32530 2011-02-26 Philipp Klaus Krause <pkk AT spth.de>
32532 * src/z80/peeph-z80.def
32533 Minor peephole improvements.
32535 2011-02-24 Borut Razem <borut.razem AT gmail.com>
32537 * doc/sdccman.lyx: fixed bug #3191324: PIC instructions in documentation
32539 2011-02-23 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32542 src/z80/peeph-z80.def:
32545 2011-02-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32547 * src/z80/ralloc2.cc,
32549 src/z80/peeph-z80.def:
32550 Improvements for --optralloc-all.
32552 2011-02-20 Philipp Klaus Krause <pkk AT spth.de>
32556 src/z80/ralloc2.cc:
32557 Fixes for --fomit-frame-pointer.
32561 2011-02-19 Philipp Klaus Krause <pkk AT spth.de>
32563 * src/SDCCralloc.hpp,
32564 src/z80/ralloc2.cc:
32568 Fixes for --reserve-regs-iy.
32569 * support/regression/tests/bug-3184920.c:
32572 2011-02-19 Maarten Brock <sourceforge.brock AT dse.nl>
32574 * debugger/mcs51/cmd.c,
32575 * debugger/mcs51/sdcdb.c,
32576 * debugger/mcs51/simi.c,
32577 * debugger/mcs51/symtab.c,
32579 * src/version.awk: cosmetic changes
32580 * src/pic14/gen.c (genDataPointerSet),
32581 * src/pic14/glue.c (emitIvals),
32582 * src/SDCCsystem.c: fixed warnings
32583 * src/SDCCerr.c (setWarningDisabled): check errNum
32584 * src/SDCCpeeph.c: added optimizeReturn
32585 * src/mcs51/peeph.def: disabled 237.x, fixed bug 1653651
32586 * src/SDCCglobl.h: added options.peepReturn
32587 * src/SDCCmain.c (parseCmdLine): added --peep-return & --no-peep-return
32588 * support/scripts/resource.rc: replaced include "winres.h" with "winresrc.h"
32589 * support/scripts/winres.h: deleted
32591 2011-01-18 Philipp Klaus Krause <pkk AT spth.de>
32593 * src/z80/peeph-z80.def,
32594 support/regression/tests/bug-3184920.c:
32595 Fix for #3184920 from trunk.
32597 2011-02-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32599 * support/scripts/sdcc.nsi:
32601 * src/z80/ralloc2.cc:
32602 Fix for --optralloc-all.
32604 Fix for --reserve-regs-iy.
32606 2011-02-16 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32608 * src/SDCCralloc.hpp,
32609 src/z80/ralloc2.cc:
32610 Improved heuristics wrt. junction nodes.
32613 support/scripts/resource.rc:
32616 Improved addition by increment.
32618 2011-02-10 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32620 * src/SDCCralloc.hpp,
32621 src/z80/ralloc2.cc:
32622 Early elimination of some impossible assignments.
32624 2011-02-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32626 * src/z80/ralloc2.cc,
32628 Avoid result overwriting operand bug in |.
32630 2011-02-07 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32632 * src/SDCCtree_dec.hpp,
32633 src/SDCCralloc.hpp,
32634 src/z80/ralloc2.cc:
32635 Changed style from Allman to GNU.
32637 2011-02-07 Borut Razem <borut.razem AT gmail.com>
32639 * Merged from trunk
32641 2011-02-06 Maarten Brock <sourceforge.brock AT dse.nl>
32643 * all.vcxproj: fixed missing ;'s
32644 * all.vcxproj.filters: added sdld6808, sdldgb, sdldz80
32646 2011-02-05 Philipp Klaus Krause <pkk AT spth.de>
32648 * src/SDCCicode.c (setOperandType),
32649 support/regression/tests/bug-221168.c,
32650 support/regression/tests/bug3166208.c:
32651 Maarten's fix of #3166208 from trunk.
32653 2011-02-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32657 sdas/linksrc/Makefile.in,
32658 support/makebin/makebin.c,
32659 support/regression/tests/bug3130806.c:
32662 2011-02-04 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32664 * sim/ucsim/z80.src/inst_cb.cc:
32667 2011-01-27 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32669 * src/z80/ralloc2.cc:
32670 Improved handling of HL.
32672 2011-01-26 Philipp Klaus Krause <pkk AT spth.de>
32674 * src/z80/ralloc2.cc:
32675 Improved handling of HL.
32677 2011-01-26 Philipp Klaus Krause <pkk AT spth.de>
32679 * src/z80/ralloc2.cc,
32680 src/z80/peeph-z80.def:
32681 Improved handling of A and HL.
32683 2011-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32685 * Makefile.common.in,
32686 src/z80/ralloc2.cc,
32688 src/z80/peeph-z80.def:
32689 Improved handling of A and HL.
32691 2011-01-25 Borut Razem <borut.razem AT gmail.com>
32694 removed MSCV 2010 warning C4018: '<' : signed/unsigned mismatch
32695 * src/SDCCsysytem.c, src/SDCCutil.c: removed MSCV 2010 warnings
32697 2011-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32699 * src/SDCCralloc.hpp,
32700 src/z80/ralloc2.cc:
32701 Improved handling of A and HL.
32703 2011-01-25 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32706 src/SDCCralloc.hpp,
32710 Modified fix for MSVC 2010 warnings, changed handling of --max-allocs-per-node option.
32712 2011-01-24 Borut Razem <borut.razem AT gmail.com>
32714 * src/SDCCralloc.hpp, src/z80/main.c, src/z80/ralloc2.cc,
32715 src/z80/z80.h, src/z80/z80.vcxproj: fixed msvc 2010 warnings
32717 2011-01-24 Philipp Klaus Krause <pkk AT spth.de>
32719 * src/z80/ralloc2.cc,
32721 Improved handling of HL in the new allocator.
32723 2011-01-24 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32725 * src/z80/ralloc2.cc:
32726 Fixed bug in handling of register A.
32728 2011-01-24 Philipp Klaus Krause <pkk AT spth.de>
32730 * src/SDCCralloc.hpp,
32731 src/z80/ralloc2.cc,
32735 Improved handling of A in the new register allocator and made it the default.
32737 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32742 Added option to handle hl, but not a (or iy) by new allocator.
32744 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32747 src/SDCCtree_dec.hpp,
32749 src/z80/ralloc2.cc:
32750 Feature enable macro cleanup.
32752 2011-01-23 Borut Razem <borut.razem AT gmail.com>
32754 * sdcc.sln, */*.vcxproj: MSVC 2010 project files cleaning
32755 * */*.vcxproj.filters: added to svn
32756 * debugger/mcs51/simi.c:
32757 fixed warning C4273: '_environ' : inconsistent dll linkage
32758 * Merged from trunk
32760 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32762 * src/SDCCtree_dec.hpp,
32763 src/SDCCralloc.hpp,
32764 src/z80/ralloc2.cc:
32765 Re-rooting of the tree-decomposition.
32767 2011-01-23 Philipp Klaus Krause <pkk AT spth.de>
32769 * src/SDCCtree_dec.hpp,
32770 src/SDCCralloc.hpp,
32771 src/z80/ralloc2.cc:
32772 Fixed MSVC++ compilation problem, preparations for re-rooting the tree decomposition.
32774 2011-01-23 Borut Razem <borut.razem AT gmail.com>
32776 * src/avr/avr.vcxproj, src/ds390/ds390.vcxproj, src/hc08/hc08.vcxproj,
32777 src/mcs51/mcs51.vcxproj, src/pic14/pic14.vcxproj,
32778 src/pic16/pic16.vcxproj, src/xa51/xa51.vcxproj, src/z80/z80.vcxproj:
32779 remove /Zm1000 command line option from all projects
32781 2011-01-22 Borut Razem <borut.razem AT gmail.com>
32783 * all.vcxproj, config.vcxproj, sdas/linksrc/sdld_all.vcxproj,
32784 src/avr/avra.vcxproj, src/ds390/ds390a.vcxproj,
32785 src/hc08/hc08a.vcxproj, src/mcs51/mcs51a.vcxproj,
32786 src/pic14/pic14a.vcxproj, src/pic16/pic16a.vcxproj,
32787 src/src.vcxproj, src/xa51/xa51a.vcxproj, src/yacc.vcxproj,
32788 src/z80/z80a.vcxproj, support/cpp/sdcppa.vcxproj:
32789 fixed Custom Builds
32791 2011-01-22 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32793 * src/SDCCtree_dec.hpp,
32794 src/SDCCralloc.hpp,
32795 src/z80/ralloc2.cc:
32796 Simplified allocation algorithm by requiring leafs of the tree decomposition to be empty.
32798 2011-01-22 Borut Razem <borut.razem AT gmail.com>
32800 * src/z80/main.c(598):
32801 fixed error C2065: 'false' : undeclared identifier
32803 2011-01-22 Philipp Klaus Krause <pkk AT spth.de>
32805 * src/SDCCtree_dec.hpp:
32806 Fixed vertex iterator / descriptor problem that caused errors in MSVC++.
32808 2011-01-22 Philipp Klaus Krause <pkk AT spth.de>
32810 * src/SDCCralloc.hpp,
32812 Disabled forgotten debug message.
32814 2011-01-22 Philipp Klaus Krause <pkk AT spth.de>
32817 src/SDCCralloc.hpp,
32821 src/z80/ralloc2.cc:
32822 Added option to enable experimental support for A and HL.
32824 2011-01-21 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32826 * src/SDCCtree_dec.hpp:
32827 Added missing boost:: prefix.
32829 2011-01-21 Maarten Brock <sourceforge.brock AT dse.nl>
32832 * [*].vcxproj: added project files for Microsoft Visual C++ Express 2010
32834 2011-01-21 Maarten Brock <sourceforge.brock AT dse.nl>
32836 * sdas/linksrc/sdld_all.dsp: renamed dldgb.exe to sdldgb.exe
32839 * src/ds390/ralloc.c,
32843 * src/pic14/ralloc.c,
32845 * src/pic16/genutils.c,
32848 * src/SDCClrange.c,
32849 * src/xa51/ralloc.c,
32851 * src/z80/ralloc.c,
32852 * src/z80/ralloc2.cc: renamed union operand to union svt,
32853 added OP_KEY and OP_TYPE, use OP_xxx macros more often
32855 2011-01-20 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32857 * src/SDCCralloc.hpp,
32860 src/z80/ralloc2.cc:
32861 Handle A in new register allocator.
32863 2011-01-18 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32865 * src/z80ralloc2.cc:
32868 2011-01-18 Philipp Klaus Krause <pkk AT spth.de>
32870 * src/z80ralloc2.cc:
32871 Preparaton for use of a and hl in the new allocator.
32873 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32875 * src/SDCCtree_dec.hpp:
32876 Fixed const-correctness of iterators.
32878 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32881 Fixed confusion of std::map/std::multimap iterators.
32883 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32885 * src/SDCCtree_dec.hpp
32886 Fixed std::vector<bool> active initalization in tree_decomposition_from_elimination_ordering()
32888 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32890 * src/SDCCralloc.hpp,
32891 src/z80/ralloc2.cc:
32892 Made operands in assign_cost() const.
32894 2011-01-17 Maarten Brock <sourceforge.brock AT dse.nl>
32896 * src/SDCCralloc.hpp: do not include "sdccconf.h" directly, it does not
32897 exist when building with MSVC. Let it come through SDCCglobl.h
32899 2011-01-17 Borut Razem <borut.razem AT gmail.com>
32901 * Merged from trunk
32903 2011-01-17 Philipp Klaus Krause <pkk AT spth.de>
32907 src/SDCCralloc.hpp,
32908 src/z80/ralloc2.cc:
32909 Split validateOpType() into const and non-const version.
32911 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32913 * src/SDCCralloc.hpp:
32914 Some documenting comments.
32916 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32918 * src/z80/ralloc2.cc:
32919 Fixed some forgotten debug statements.
32921 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32923 * src/SDCCralloc.hpp,
32924 src/z80/ralloc2.cc:
32925 Fixed the allocator for gbz80.
32927 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32929 * src/SDCCtree_dec.hpp,
32930 src/z80/tree_dec.hh,
32931 src/SDCCralloc.hpp,
32932 src/z80/ralloc2.cc:
32933 Moved some generic parts of the new allocator out of the z80 directory.
32935 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32937 * src/z80/ralloc2.cc:
32940 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32942 * src/z80/ralloc2.cc:
32943 Preparations for the use of a better cost function and handling a, hl and iy in the new allocator.
32945 2011-01-17 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
32949 src/z80/ralloc2.cc:
32950 Improved variable handling and C++ standard conformance.
32952 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32954 * src/z80/ralloc2.cc:
32955 Removed local assignment map.
32957 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32961 Makefile.common.in,
32970 src/z80/tree_dec.hh,
32971 src/z80/ralloc2.cc:
32972 Initial import of the new register allocator.
32974 2011-01-16 Borut Razem <borut.razem AT gmail.com>
32976 * Created Optimal Register allocator (optralloc) branch
32978 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32982 Comment on the effects of dead code on live ranges.
32984 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32988 Make argument to validateOpType const.
32990 2011-01-16 Philipp Klaus Krause <pkk AT spth.de>
32992 * src/z80/peeph-z80.def:
32993 Two new peephole rules, optimizing code frequently generated by the new allocator.
32995 2011-01-16 Borut Razem <borut.razem AT gmail.com>
32997 * support/regression/collate-results.py: count invalid instructions
32998 * sim/ucsim/z80.src/inst_xxcb.cc (inst_XXcb_set): fixed SET and RES handling
33000 2011-01-15 Borut Razem <borut.razem AT gmail.com>
33002 * src/SDCCmain.c, src/SDCCdwarf2.c, src/SDCCdwarf2.h, src/z80/gen.c,
33003 src/SDCCglobl.h, src/pic16/pcode.h, src/pic16/pcode.c,
33004 src/SDCCsystem.c, src/SDCC.lex:
33005 code cleaning: removed warnings, use const char *
33006 * src/pic14/glue.c (emitIvals): removed empty line generation
33008 2011-01-15 Philipp Klaus Krause <pkk AT spth.de>
33011 Use Maarten's better bool scheme.
33013 2011-01-15 Philipp Klaus Krause <pkk AT spth.de>
33018 Makefile.common.in,
33027 src/z80/tree_dec.hh,
33028 src/z80/ralloc2.cc,
33029 src/z80/peeph-z80.def:
33030 Reverted to old register allocator.
33032 2011-01-15 Philipp Klaus Krause <pkk AT spth.de>
33034 * src/z80/ralloc2.cc:
33035 Small change for MSVC compability:
33037 2011-01-14 Philipp Klaus Krause <pkk AT spth.de>
33039 * src/z80/tree_dec.hh,
33040 src/z80/ralloc2.cc:
33041 Added GPLv2 or later license text.
33043 2011-01-14 Philipp Klaus Krause <pkk AT spth.de>
33045 * src/z80/ralloc.c:
33046 Remove some no longer used remains of the old register allocator.
33048 2011-01-14 Philipp Klaus Krause <pkk AT spth.de>
33051 Enable new register allocator options for the GBZ80.
33053 2011-01-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33055 * src/z80/ralloc.c,
33056 src/z80/ralloc2.cc:
33057 Use new register allocator for the GBZ80.
33059 2011-01-14 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33064 Makefile.common.in,
33073 src/z80/tree_dec.hh,
33074 src/z80/ralloc2.cc,
33075 src/z80/peeph-z80.def:
33076 New register allocator for the Z80.
33078 2011-01-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33081 Use bool from stdbool.h, except for MSVC, where unsigned char is used. For #3150686.
33083 2011-01-11 Philipp Klaus Krause <philipp AT informatik.uni-frankfurt.de>
33088 Changed class to xclass in sym_link for C++ compability, for #3150686.
33090 2011-01-11 Maarten Brock <sourceforge.brock AT dse.nl>
33092 * src/SDCCicode.c (geniCodeAdd): fixed bug 3153956
33093 * support/regression/tests/bug3037889.c: added test for bug 3153956
33095 2010-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
33097 * debugger/mcs51/simi.c (waitForSim): implemented timeout,
33098 (openSimulator): use non-blocking socket mode
33100 2010-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
33102 * debugger/mcs51/cmd.c (commonSetUserBp): fixed bug 1185014
33104 2010-12-19 Borut Razem <borut.razem AT siol.net>
33106 * src/ds390/main.c, src/Makefile.in, src/SDCCbuild_cmd.c,
33107 src/SDCCbuild_cmd.h, src/SDCCmain.c, src/src.dsp, src/z80/main.c:
33108 support/Util/BuildCmd.[ch] moved / renamed to src/SDCCbuild_cmd.[ch]
33110 2010-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
33112 * debugger/mcs51/cmd.c (printOrSetSymValue),
33113 * debugger/mcs51/simi.h (memcache_t),
33114 * debugger/mcs51/simi.c (getMemCache, getMemString, simSetValue,
33115 simGetValue): made size unsigned
33116 (init_winsock): fixed uninitialized iResult,
33117 (openSimulator): removed intptr_t cast
33118 * debugger/mcs51/sdcdb.c: include <direct.h> for chdir(),
33119 (parseCmdLine): access() is not portable, replaced with fopen/fclose,
33120 (main): fixed bug 3137466
33121 * debugger/mcs51/sdcdb.h: include sdcc_vc.h or sdcccon.h
33122 * debugger/mcs51/sdcdb.dsp: new, added
33123 * sdcc.dsw: added sdcdb.dsp
33124 * sdas/asxxsrc/asmain.c (asmbl): error only if is_sdas()
33125 * debugger/mcs51/sdcdb.c (searchDirsFname): retry with '_' replaced
33128 2010-12-18 Maarten Brock <sourceforge.brock AT dse.nl>
33130 * sdas/as8051/i51adr.c,
33131 * sdas/as8051/i51ext.c,
33132 * sdas/as8051/i51mch.c,
33133 * sdas/as8051/i51pst.c,
33134 * sdas/as8051/i8051.h,
33135 * sdas/asxxsrc/asdata.c,
33136 * sdas/asxxsrc/asdbg.c,
33137 * sdas/asxxsrc/aslex.c,
33138 * sdas/asxxsrc/aslist.c,
33139 * sdas/asxxsrc/asout.c,
33140 * sdas/asxxsrc/assubr.c,
33141 * sdas/asxxsrc/assym.c,
33142 * sdas/asxxsrc/asxxxx.h,
33143 * sdas/asxxsrc/sdas.c,
33144 * sdas/asxxsrc/strcmpi.c: cosmetic, replaced tabs with spaces
33145 * sdas/asxxsrc/asmain.c (asmbl): error on multiple mnemonics on one line
33146 * support/cpp/libcpp/include/cpplib.h: added PREV_NL
33147 * support/cpp/libcpp/lex.c (_cpp_process_line_notes, cpp_output_line),
33148 * support/cpp/c-ppoutput.c (scan_translation_unit): fix macros w/o __asm
33149 * support/regression/tests/bug1505956.c: new, added
33151 2010-12-16 Maarten Brock <sourceforge.brock AT dse.nl>
33153 * support/cpp/c-ppoutput.c (scan_translation_unit): fix bug 1505956/1406219
33154 * support/cpp/libcpp/include/cpplib.h: added IN_ASM
33155 * support/cpp/libcpp/internal.h: added n__endasm to spec_nodes
33156 * support/cpp/libcpp/lex.c (_cpp_process_line_notes): return int in_asm on
33157 continued inline asm lines,
33158 (_cpp_lex_direct): set/reset in_asm flag,
33159 (cpp_output_line): insert __endasm; __asm to fix bug 1505956/1406219
33160 * support/cpp/libcpp/macro.c (macro_real_token_count): fixed warning
33161 * support/cpp/sdcpp.c (sdcpp_init_options): init n__endasm
33163 2010-12-14 Borut Razem <borut.razem AT siol.net>
33165 * src/SDCCdwarf2.c, src/SDCCset.c, src/pic16/pcode.c:
33166 fixed some defects, reported by Wipro DeepCheck static analysis tool
33168 2010-12-13 Borut Razem <borut.razem AT siol.net>
33170 * src/pic14/main.c, src/pic16/main.c:
33171 fixed bug #3113082: Filenames with spaces fail on pic backend
33173 2010-12-11 Borut Razem <borut.razem AT siol.net>
33175 * src/pic14/main.c:
33176 fixed bug #3135245: --use-non-free set the wrong dir for the lib
33178 2010-12-10 Philipp Klaus Krause <pkk AT spth.de>
33181 Fixed signed comparison for gbz80.
33183 2010-12-06 Philipp Klaus Krause <pkk AT spth.de>
33186 Optimized boolean ternary operator.
33188 2010-12-06 Borut Razem <borut.razem AT siol.net>
33190 * src/Makefile.in, src/SDCCmain.c, src/src.dsp,
33191 src/pic14/main.c, src/z80/main.c, src/pic16/main.c,
33192 src/ds390/main.c, src/SDCCsystem.c, src/SDCCsystem.h:
33193 support/Util/MySystem.[ch] moved / renamed src/SDCCsystem.[ch]
33194 * src/SDCCargs.h, src/SDCCasm.h, src/SDCCast.h:
33197 2010-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
33199 * device/include/stdio.h,
33200 * device/lib/printf_fast.c,
33201 * device/lib/printf_tiny.c: fixed bug 3108582
33203 2010-12-05 Maarten Brock <sourceforge.brock AT dse.nl>
33205 * src/z80/peep.c (z80instructionSize): fixed warning
33206 * support/regression/tests/bug-3117729.c: fixed and enabled for mcs51
33208 2010-12-05 Borut Razem <borut.razem AT siol.net>
33211 fixed bug #312815: Top level Makefile variable is mis-spelled
33213 2010-12-02 Philipp Klaus Krause <pkk AT spth.de>
33215 * support/regression/tests/bug-3117729.c:
33216 Disabled test for mcs51.
33218 2010-11-29 Philipp Klaus Krause <pkk AT spth.de>
33220 * support/regression/tests/bug-3117729.c:
33221 Added bug description.
33223 2010-11-28 Philipp Klaus Krause <pkk AT spth.de>
33225 * src/z80/peeph-z80.def,
33226 support/regression/tests/bug-3117729.c:
33227 Fixed #3117729, minor peephole improvements.
33229 2010-11-28 Philipp Klaus Krause <pkk AT spth.de>
33233 Fixed #3117748, improved fix for #3109557.
33235 2010-11-26 Raphael Neider <rneider AT web.de>
33237 * src/pic14/glue.c (emitIvals): end retlw instruction with newline,
33240 2010-11-21 Philipp Klaus Krause <pkk AT spth.de>
33246 2010-11-21 Philipp Klaus Krause <pkk AT spth.de>
33248 * src/z80/peeph-z80.def:
33249 Minor peephole fix.
33251 2010-11-15 Maarten Brock <sourceforge.brock AT dse.nl>
33253 * src/ds390/main.c (_ds390_genIVT, _ds390_genInitStartup): keep flat24 mode
33254 off before _sdcc_external_startup is called
33255 * device/lib/ds390/tinibios.c (_sdcc_external_startup): pop 16 bit address,
33256 push 24 bit, don't call anything before the changeover to flat24 mode
33257 * support/regression/ports/ds390/spec.mk: start uCsim in 16 bit mode
33259 2010-11-07 Borut Razem <borut.razem AT siol.net>
33261 * Makefile.common.in, sdcc_vc_in.h, sdccconf_in.h, src/pic14/main.c,
33262 src/port.h, src/SDCCast.c, src/SDCCmain.c, src/SDCCopt.c,
33263 src/SDCCpeeph.c, src/SDCCsymt.c:
33264 TARGET_ID_PIC1 renamed to TARGET_ID_PIC14,
33265 TARGET_IS_PIC renamed to TARGET_IS_PIC14
33266 OPT_DISABLE_PIC renamed to OPT_DISABLE_PIC14
33267 * support/Util/dbuf.c, support/Util/dbuf.h: added function dbuf_detach_c_str()
33269 2010-11-06 Borut Razem <borut.razem AT siol.net>
33271 * support/Util/MySystem.c: use native WIN32 API calls in sdcc_pclose()
33273 2010-11-05 Borut Razem <borut.razem AT siol.net>
33275 * support/Util/MySystem.c: use native WIN32 sdcc_popen and sdcc_pclose
33276 solution due to a bug in wine msvrct.dll popen implementation
33277 * support/Util/MySystem.c, support/Util/MySystem.h, src/SDCCmain.c,
33278 src/ds390/main.c, src/pic14/main.c, src/pic16/main.c, src/z80/main.c:
33279 my_xxxx() renamed to sdcc_xxxx()
33281 2010-11-05 Philipp Klaus Krause <pkk AT spth.de>
33284 Optimization for & on booleans.
33286 src/z80/peeph-z80.def,
33287 support/regression/tests/bitopcse.c:
33288 Fixes for z80 using --reserve-regs-iy and gbz80.
33290 2010-11-05 Raphael Neider <rneider AT web.de>
33292 * sdas/as8051/Makefile.in,
33293 sdas/asz80/Makefile.in,
33294 sdas/as6808/Makefile.in,
33295 sdas/asgb/Makefile.in: fix order of linking with -lm
33297 2010-11-03 Philipp Klaus Krause <pkk AT spth.de>
33301 Improvements relating to the use of hl as an alternative to iy.
33303 2010-11-03 Philipp Klaus Krause <pkk AT spth.de>
33310 src/z80/peeph-z80.def:
33311 Some steps towards implementing #3074318, and minor gbz80 fixes.
33313 2010-11-03 Philipp Klaus Krause <pkk AT spth.de>
33319 2010-11-03 Maarten Brock <sourceforge.brock AT dse.nl>
33321 * src/SDCCmain.c (setIncludePath): fixed uninitialized target
33323 2010-11-03 Borut Razem <borut.razem AT siol.net>
33325 * device/include/pic14/sdcc-lib.h:
33326 directories */pic renamed to */pic14
33328 2010-11-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
33330 * src/mcs51/peeph.def: added peepholes 248.n to 248.p
33331 optimizing and/or/xor to xdata arrays
33333 2010-11-02 Borut Razem <borut.razem AT siol.net>
33335 * device/include/Makefile.in, device/non-free/include/Makefile.in,
33336 device/lib/Makefile.in, device/lib/pic14/configure,
33337 device/lib/pic14/configure.in, device/lib/pic14/Makefile.common.in,
33338 device/lib/pic16/aclocal.m4, device/lib/pic16/configure,
33339 device/lib/pic16/configure.ac, device/non-free/lib/Makefile.in,
33340 device/non-free/lib/pic14/configure,
33341 device/non-free/lib/pic14/configure.in,
33342 device/non-free/lib/pic14/libdev/Makefile.in,
33343 device/non-free/lib/pic14/libdev/mkall.sh,
33344 device/non-free/lib/pic14/Makefile.common.in,
33345 device/non-free/lib/pic16/configure,
33346 device/non-free/lib/pic16/configure.ac:
33347 directories */pic renamed to */pic14
33349 2010-11-01 Borut Razem <borut.razem AT siol.net>
33351 * Small Device C Compiler 3.0.0 released
33352 * .version, doc/sdccman.lyx: changed sdcc version to 3.0.1
33353 * device/include/pic, device/include/asm/pic, device/lib/pic,
33354 device/non-free/include/pic, device/non-free/lib/pic,
33355 sdcc/src/pic: renamed to */pic14
33356 * configure, configure.in, regression/Makefile, src/SDCCmain.c,
33357 device/include/Makefile.in, device/non-free/include/Makefile.in,
33358 support/regression/ports/pic14/spec.mk, support/scripts/sdcc.nsi,
33359 device/non-free/lib/Makefile.in, device/lib/Makefile.in,
33360 sdcc.dsw, src/pic14/pic14.dsp, src/pic14/pic14a.dsp, src/src.dsp:
33361 directories */pic renamed to */pic14
33362 * src/pic16/gen.c: _naked renamed to __naked
33363 * support/scripts/repack_release.sh:
33364 fix if the packages are not in current directory
33366 2010-10-23 Borut Razem <borut.razem AT siol.net>
33368 * device/lib/pic/libsdcc/fs2ulong.c, device/lib/pic/libsdcc/fslt.c,
33369 device/lib/pic/libsdcc/fseq.c, device/lib/pic/libsdcc/ulong2fs.c,
33370 device/lib/pic/libsdcc/fsgt.c, device/lib/pic/libsdcc/fsdiv.c,
33371 device/lib/pic/libsdcc/fsneq.c, device/lib/pic/libsdcc/fsadd.c,
33372 device/lib/pic/libsdcc/fssub.c, device/lib/pic/libsdcc/fsmul.c,
33373 device/lib/ds400/ds400rom.c:
33374 sdcc library license changed to GPL+LE
33375 * support/scripts/sdcc.nsi:
33376 no need to copy readline5.dll
33378 2010-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
33380 * doc/sdccman.lyx: documented --model-huge and other small updates
33382 2010-10-17 Borut Razem <borut.razem AT siol.net>
33384 * support/cpp/sdcpp-opts.c:
33385 fixed bug #3088672: -M (& -MM) not suppressing warnings
33386 * doc/sdccman.lyx: small cosmetic changes
33388 2010-10-16 Maarten Brock <sourceforge.brock AT dse.nl>
33390 * device/include/mcs51/C8051F920.h: patch 3088689, thanks Steven Borley
33392 2010-10-16 Raphael Neider <rneider AT web.de>
33394 * device/lib/Makefile.in, device/non-free/lib/Makefile.in:
33395 fix parallel make on cygwin by preventing multiple rules
33396 from generating the same library files
33398 2010-10-14 Raphael Neider <rneider AT web.de>
33400 * device/lib/pic/configure.in,
33401 device/lib/pic16/configure.ac,
33402 device/non-free/lib/pic/configure.in,
33403 device/non-free/lib/pic16/configure.ac: abort configure if gputils
33404 are unavailable while the pic14 or pic16 port is enabled
33405 * device/lib/pic/configure,
33406 device/lib/pic16/configure,
33407 device/non-free/lib/pic/configure,
33408 device/non-free/lib/pic16/configure: regenerated
33409 * device/non-free/lib/Makefile.in: avoid trying to install from
33410 non-existing BUILDDIR (if both pic ports are disabled)
33411 * doc/sdccman.lyx: fix supported pic14 devices (16hv616 and 16hv785)
33412 * src/SDCCmain.c (setIncludePath): do not use 'target' uninitialized
33414 2010-10-12 Raphael Neider <rneider AT web.de>
33416 * src/SDCCmain.c (setIncludePath): handle special case of pic14 paths
33417 * src/pic/main.c (__pic14_initPaths): removed, handled in SDCCmain.c
33419 2010-10-12 Borut Razem <borut.razem AT siol.net>
33421 * device/lib/pic/Makefile.in, device/non-free/lib/pic/Makefile.in:
33422 fixed target "all" if gputils not found
33424 2010-10-11 Borut Razem <borut.razem AT siol.net>
33426 * doc/sdccman.lyx: fixes proposed by Sebastien Lorquet
33428 2010-10-10 Borut Razem <borut.razem AT siol.net>
33430 * support/cpp/sdcpp-diagnostic.c, support/cpp/sdcpp.h:
33431 define inhibit_warnings
33432 * src/SDCCmain.c: removed readCfgFile() call
33433 * support/scripts/sdcc.nsi:
33434 added include/ds390/*.h and include/ds400/*.h to the package
33435 * src/regression/Makefile, src/regression/inline.c,
33436 src/regression/string1.c: added non-free search path,
33437 fixed deprecated keyword warnings
33438 * device/lib/Makefile.in device/non-free/lib/Makefile.in:
33439 fixed bug #3084827:
33440 Building fails at non-free when disabling PIC/PIC16
33442 2010-10-09 Borut Razem <borut.razem AT siol.net>
33444 * support/cpp/auto-host_vc_in.h, support/cpp/libcpp/include/cpplib.h,
33445 support/cpp/sdcpp-diagnostic.c:
33446 fixed bug #3080422: #error not working as expected
33447 * src/SDCCmain.c, src/SDCCglobl.h:
33448 --non-free and SDCC_NON_FREE changed to --use-non-free and
33450 * doc/sdccman.lyx: documented --non-free
33451 * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
33452 changed sdcc version to 3.0.0
33453 * src/SDCCmain.c: removed function readCfgFile()
33454 * support/scripts/repack_release.sh:
33457 2010-10-08 Borut Razem <borut.razem AT siol.net>
33459 * sim/ucsim/s51.src/Makefile.in:
33460 fixed bug 3082829: S51 is not installed in recent SDCC versions
33462 2010-10-06 Borut Razem <borut.razem AT siol.net>
33464 * sdcc/configure, sdcc/configure.in:
33465 show non-free search paths
33466 * support/scripts/sdcc_mingw32, support/scripts/sdcc_cygwin_mingw32:
33467 define non_free_include_dir_suffix and non_free_lib_dir_suffix
33468 * support/scripts/sdcc.nsi:
33469 remove non-free directory on uninstall
33470 * support/regression/ports/pic14/spec.mk,
33471 support/regression/ports/pic16/spec.mk:
33472 add --non-free option for pic* regression tests
33474 2010-10-05 Borut Razem <borut.razem AT siol.net>
33476 * support/scripts/sdcc.nsi:
33477 added non-free/lib/pic*/*.lib files to the win32 setup package,
33478 remove non-free directory on uninstall
33480 2010-10-04 Borut Razem <borut.razem AT siol.net>
33482 * src/SDCCmain.c: defined symbol SDCC_NON_FREE when --non-free command
33483 line option is used
33484 * configure.in, configure, Makefile.in, device/lib/pic/configure.in,
33485 device/lib/pic/configure, device/lib/pic/Makefile.in,
33486 device/lib/pic/Makefile.common.in, device/lib/pic16/configure.ac,
33487 device/lib/pic16/configure, device/lib/pic16/Makefile.am,
33488 device/lib/pic16/Makefile.in,
33489 device/lib/pic16/Makefile.common,
33490 device/lib/pic16/libm/Makefile.in,
33491 device/lib/pic16/debug/Makefile.in,
33492 device/lib/pic16/libio/Makefile.in,
33493 device/lib/pic16/startup/Makefile.in,
33494 device/lib/pic16/libsdcc/Makefile.in,
33495 device/lib/pic16/libc/Makefile.in,
33496 support/scripts/sdcc.nsi:
33497 pic* device files moved to non-free
33498 * device/include/pic/*.h: moved to device/non-free/include/pic
33499 * device/include/pic16/*.h: moved to device/non-free/include/pic16
33500 * device/lib/pic/libdev/*.c, device/lib/pic/libdev/mkall.sh:
33501 moved to device/non-freelib/pic/libdev
33502 * device/lib/pic16/libdev/*.c, device/lib/pic16/libdev/mkmk.sh,
33503 device/lib/pic16/libdev/Makefile.am,
33504 device/lib/pic16/libdev/Makefile.in:
33505 moved to device/non-free/lib/pic16/libdev
33506 * device/lib/pic16/pics.all: moved to device/non-free/lib/pic16
33507 * device/non-free/include/Makefile.in,
33508 device/non-free/include/clean.mk,
33509 device/non-free/lib/pic16/config.h.in,
33510 device/non-free/lib/pic16/configure,
33511 device/non-free/lib/pic16/Makefile.in,
33512 device/non-free/lib/pic16/configure.ac,
33513 device/non-free/lib/pic16/Makefile.common,
33514 device/non-free/lib/pic16/bootstrap.sh,
33515 device/non-free/lib/pic16/depcomp,
33516 device/non-free/lib/pic16/Makefile.am,
33517 device/non-free/lib/pic16/missing,
33518 device/non-free/lib/pic16/aclocal.m4,
33519 device/non-free/lib/pic16/install-sh,
33520 device/non-free/lib/Makefile.in,
33521 device/non-free/lib/clean.mk,
33522 device/non-free/lib/pic/configure,
33523 device/non-free/lib/pic/Makefile.in,
33524 device/non-free/lib/pic/Makefile.subdir,
33525 device/non-free/lib/pic/configure.in,
33526 device/non-free/lib/pic/Makefile.rules,
33527 device/non-free/lib/pic/Makefile.common.in,
33528 device/non-free/lib/incl.mk: added
33530 2010-10-03 Borut Razem <borut.razem AT siol.net>
33532 * device/include/mcs51/ser_ir.h, device/lib/ser_ir_cts_rts.c,
33533 device/lib/ser_ir.c, device/include/pic16/pic18fregs.h:
33534 sdcc library license changed to GPL+LE
33535 * configure.in, configure, sdccconf_in.h, sdcc_vc_in.h:
33536 introduced NON_FREE_INCLUDE_DIR_SUFFIX and NON_FREE_LIB_DIR_SUFFIX
33537 * src/SDCCmain.c, src/SDCCglobl.h:
33538 search / include non-free libraries and header files
33539 * .version, doc/sdccman.lyx: bumped version to 2.9.8
33541 2010-10-02 Maarten Brock <sourceforge.brock AT dse.nl>
33543 * device/include/stdlib.h,
33544 * device/lib/_atof.c,
33545 * device/lib/_atoi.c,
33546 * device/lib/_atol.c: fixed const in prototypes
33548 2010-09-28 Philipp Klaus Krause <pkk AT spth.de>
33551 support/regression/tests/bug-3034585.c:
33554 2010-09-27 Maarten Brock <sourceforge.brock AT dse.nl>
33557 * src/SDCCerr.h: added W_DEPRECATED_OPTION
33558 * src/ds390/main.c,
33559 * src/mcs51/main.c,
33560 * src/SDCCmain.c (linkEdit): deprecated --no-pack-iram
33562 2010-09-26 Philipp Klaus Krause <pkk AT spth.de>
33564 * src/hc08/peeph.def:
33569 Minor spelling corrections in comments.
33571 2010-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
33573 * src/SDCCicode.c (geniCodeStruct): fixed bug 3029630
33574 * support/regression/tests/bug3029630.c: new, added
33576 2010-09-24 Borut Razem <borut.razem AT siol.net>
33578 * device/include/mcs51/XC866.h: fixed copy & paste error in the comment
33580 2010-09-22 Borut Razem <borut.razem AT siol.net>
33582 * device/include/mcs51/XC866.h, device/include/mcs51/reg764.h,
33583 device/include/mcs51/at89s8253.h:
33584 sdcc library license changed to GPL+LE
33586 2010-09-20 Philipp Klaus Krause <pkk AT spth.de>
33588 * src/doc/sdccman.lyx:
33591 2010-09-19 Borut Razem <borut.razem AT siol.net>
33593 * support/regression/ports/pic14/spec.mk,
33594 support/regression/ports/pic16/spec.mk,
33595 support/regression/ports/ds390/spec.mk,
33596 support/regression/ports/hc08/spec.mk,
33597 support/regression/ports/ucz80/spec.mk,
33598 support/regression/ports/mcs51-common/spec.mk:
33599 fixed mingw32 cross compiled regression tests:
33600 include top source directory when cross compiling,
33601 launch win32 native simulator with wine,
33602 removed wrong quotes, call build machine native timeout utility
33603 * src/SDCCmain.c, src/ds390/main.c:
33604 ds390 default library path was wrong
33605 * src/SDCC.lex: implemented punctuators, as defined in
33606 ISO/IEC 9899:1999, chapter 6.4.6#3
33607 support/regression/tests/preproc.c: punctuators regression test
33609 2010-09-19 Maarten Brock <sourceforge.brock AT dse.nl>
33611 * src/SDCCicode.c (geniCodeJumpTable): fixed bug 3069862
33612 * support/regression/tests/bug2947189.c: new, added
33614 2010-09-18 Borut Razem <borut.razem AT siol.net>
33616 * debugger/mcs51/cmd.c:
33617 fixed warning: suggest explicit braces to avoid ambiguous 'else'
33619 2010-09-18 Philipp Klaus Krause <pkk AT spth.de>
33621 * src/doc/sdccman.lyx:
33622 Minor update in ANSI conformance section.
33624 2010-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
33626 * src/SDCCast.c (ast_print): fixed for MSVC
33627 * src/SDCCicode.c (geniCodeJumpTable): fixed bug 2947189
33628 * support/librarian/sdcclib.c: test return values of system and fgets
33630 2010-09-13 Borut Razem <borut.razem AT siol.net>
33632 * device/lib/_divulong.c, device/lib/_decdptr.c, device/lib/_divuint.c,
33633 device/lib/pic16/libsdcc/long/divulong.c,
33634 device/lib/pic16/libsdcc/int/divuint.c,
33635 device/lib/pic16/libsdcc/char/divuchar.c,
33636 device/lib/hc08/_divuint.c, device/lib/hc08/_divulong.c,
33637 device/lib/hc08/_mullong.c:
33638 sdcc library license changed to GPL+LE
33640 2010-09-13 Raphael Neider <rneider AT web.de>
33642 * configure.in, custom_in.h:
33643 revive support for big-endian machines, broken since r5954
33644 * sim/ucsim/configure.in, sim/ucsim/custom.h, sim/ucsim/custom_in.h:
33645 have configure create custom.h next to ddconfig.h in the build tree
33646 so that CPP will find it
33647 * configure, sdccconf_in.h, sim/ucsim/configure,
33648 sim/ucsim/ddconfig_in.h: regenerated
33650 2010-09-13 Borut Razem <borut.razem AT siol.net>
33652 * device/lib/pic16/libc/utils/cvtdec.S,
33653 device/lib/pic16/libc/stdlib/g_ftoa.S:
33654 sdcc library license changed to GPL+LE
33656 2010-09-12 Borut Razem <borut.razem AT siol.net>
33658 * debugger/mcs51/cmd.c, src/SDCCpeeph.c, src/SDCChasht.c,
33659 src/SDCCval.c, src/SDCCicode.c, src/SDCCset.c, src/SDCCglue.c,
33660 src/z80/gen.c, src/pic16/pcodepeep.c, src/pic16/pcoderegs.c,
33661 src/pic16/pcode.c, src/SDCCast.c, sdas/asranlib/asranlib.c,
33662 support/makebin/makebin.c, support/Util/findme.c:
33663 fixed defects, reported by Wipro DeepCheck static analysis tool
33664 src/SDCCerr.h, src/SDCCglobl.h, src/common.h:
33665 introduced sdcc style assert
33666 * ../asxxxx: removed copy of asxxxx v2.0 sources from sdcc source tree:
33667 asxxxx v3.0 sources are availeble at
33668 http://shop-pdp.kent.edu/ashtml/asxarc.htm
33670 2010-09-11 Borut Razem <borut.razem AT siol.net>
33672 * debugger/mcs51/cmd.c, src/SDCCbitv.c, sdas/asranlib/asranlib.c:
33673 fixed defects, reported by Wipro Static Analysis Report On SDCC
33674 * src/SDCCsymt.c: fixed redundant variable in SDCCsymt.c: getSpec(),
33675 thanks to Jan Waclawek
33677 2010-09-11 Maarten Brock <sourceforge.brock AT dse.nl>
33679 * src/mcs51/gen.c (genFunction, genEndFunction): use bitVectIsZero,
33680 (genLiteralAssign): factored out of genAssign,
33681 (litPut): new helper function for genDataPointerSet,
33682 (genDataPointerSet, genAssign): use genLiteralAssign instead of patch
33683 1490145 for consistency
33685 2010-09-07 Philipp Klaus Krause <pkk AT spth.de>
33688 src/z80/peeph-z80.def:
33690 * sim/ucsim/z80.src/inst.cc:
33693 2010-09-06 Raphael Neider <rneider AT web.de>
33695 * configure.in, debugger/mcs51/configure.in,
33696 device/lib/pic/configure.in, device/lib/pic16/configure.ac,
33697 sim/ucsim/configure.in, sim/ucsim/custom.h,
33698 sim/ucsim/ddconfig_in.h, support/packihx/configure.in:
33699 updated build system to allow autoreconf -fi to set up the project,
33702 2010-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
33704 * device/include/mcs51/AT89C513xA.h: new, added, thanks Anirban Brahmachari
33706 2010-08-26 Philipp Klaus Krause <pkk AT spth.de>
33708 * src/z80/peeph-z80.def:
33711 2010-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
33713 * src/ds390/gen.c (genCast): fixed bug with ruonly src and dest downcast,
33714 (AOP_IS_STR): replaced thoughout with IS_OP_RUONLY,
33716 (genDjnz): fixed bug 2995824
33717 * src/mcs51/gen.c (continueIfTrue, jumpIfTrue, jmpTrueOrFalse, genAnd,
33718 genOr, genXor, genDjnz): fixed bugs 2989562 and 2995824
33719 * src/ds390/ralloc.c,
33720 * src/SDCC.lex: cosmetic changes
33721 * support/regression/tests/bug2686159.c: disabled segfaulting test on host
33722 * support/regression/tests/bug2989562.c: new, added
33724 2010-08-24 Maarten Brock <sourceforge.brock AT dse.nl>
33726 * src/SDCCcse.c (cseBBlock): fixed bug 2686159 with part of patch by Robert
33728 * src/SDCCBBlock.c,
33729 * src/SDCCglobl.h: cosmetic changes
33730 * support/regression/tests/bug2686159.c: new, added
33732 2010-08-23 Maarten Brock <sourceforge.brock AT dse.nl>
33734 * src/mcs51/gen.c (genAnd, genOr, genXor): fixed bug 2944399
33735 * src/mcs51/ralloc.c (packRegsForAccUse): disabled strange exception
33736 * support/regression/tests/bug2944399.c: new, added
33738 2010-08-22 Borut Razem <borut.razem AT siol.net>
33740 * device/include/mcs51/msc1210.h:
33741 sdcc library license changed to GPL+LE
33743 2010-08-20 Raphael Neider <rneider AT web.de>
33745 * device/include/pic16/adc.h,
33746 * device/include/pic16/pic18fam.h,
33747 * device/include/pic16/usart.h,
33748 * device/lib/pic16/libio/adc/*.c,
33749 * device/lib/pic16/libio/usart/*.c
33751 * support/scripts/inc2h-pic16.pl,
33752 * support/scripts/pic18fam-h-gen.pl: automatized device I/O style
33753 classification, provide USART initialization for more devices,
33754 addresses item 2 from #1631532.
33756 2010-08-18 Borut Razem <borut.razem AT siol.net>
33758 * sdas/asxxsrc/asdbg.c:
33760 * device/include/malloc.h, device/include/mcs51/serial.h,
33761 device/lib/serial.c: sdcc library license changed to GPL+LE
33763 2010-08-17 Maarten Brock <sourceforge.brock AT dse.nl>
33765 * sdas/as6808/as_hc08.dsp,
33766 * sdas/as8051/asx8051.dsp,
33767 * sdas/asgb/asgb.dsp,
33768 * sdas/asz80/as_z80.dsp: asnoice.c renamed to asdbg.c (sync with asxxxx)
33770 2010-08-17 Borut Razem <borut.razem AT siol.net>
33772 * sdas/as8051/Makefile.in, sdas/asz80/Makefile.in,
33773 sdas/as6808/Makefile.in, sdas/asgb/Makefile.in:
33774 asnoice.c renamed to asdbg.c (sync with asxxxx)
33775 * sdas/asxxsrc/asxxxx.h:
33776 reverted fix for bug 3041470,
33777 DefineCDB_Line() renamed to DefineSDCC_Line() (sync with asxxxx)
33778 * sdas/asxxsrc/asmain.c:
33779 DefineCDB_Line() renamed to DefineSDCC_Line() (sync with asxxxx)
33780 * sdas/asxxsrc/asdbg.c: renamed from asxxsrc/asnoice.c,
33781 use dbuf to dynamically allocate debug symbol
33782 * sdas/linksrc/aslink.h:
33783 changed NCPS to PATH_MAX - quick & dirty fix for asld part of
33784 bug 3041470; proper solution would be support of arbitrary identifier
33785 lenght using dynamic buffers
33787 2010-08-16 Raphael Neider <rneider AT web.de>
33789 * src/pic16/glue.c (pic16emitStaticSeg): allow extern declarations with
33790 incomplete types, fixes #3041150
33792 2010-08-15 Maarten Brock <sourceforge.brock AT dse.nl>
33794 * sdas/asxxsrc/asxxxx.h: changed NCPS to PATH_MAX to fix bug 3041470
33796 2010-08-15 Borut Razem <borut.razem AT siol.net>
33798 * support/regression/tests/bug3037889.c:
33799 testBug3037889() renamed to Bug3037889()
33800 so that the function is compiled but not executed
33801 * src/pic/ralloc.c:
33802 fixed bug #3038483: running make of revision 5905 produces warnings
33804 2010-08-13 Borut Razem <borut.razem AT siol.net>
33806 * device/lib/pic16/libc/stdio/fprintf.c,
33807 device/lib/pic16/libc/stdio/printf.c,
33808 device/lib/pic16/libc/stdio/printf_small.c,
33809 device/lib/pic16/libc/stdio/printf_tiny.c,
33810 device/lib/pic16/libc/stdio/putchar.c,
33811 device/lib/pic16/libc/stdio/sprintf.c,
33812 device/lib/pic16/libc/stdio/streams.c,
33813 device/lib/pic16/libc/stdio/strmgpsim.c,
33814 device/lib/pic16/libc/stdio/strmmssp.c,
33815 device/lib/pic16/libc/stdio/strmputchar.c,
33816 device/lib/pic16/libc/stdio/strmusart.c,
33817 device/lib/pic16/libc/stdio/vfprintf.c,
33818 device/lib/pic16/libc/stdio/vprintf.c,
33819 device/lib/pic16/libc/stdio/vsprintf.c:
33820 sdcc library license changed to GPL+LE
33822 2010-08-12 Maarten Brock <sourceforge.brock AT dse.nl>
33824 * src/SDCCloop.c (basicInduction): fixed bug 3034976 with patch 3043854,
33825 thanks Ruud van Silfhout
33826 * support/regression/tests/bug3037889.c: added test for bug 3034976
33828 2010-08-10 Maarten Brock <sourceforge.brock AT dse.nl>
33830 * src/ds390/gen.c: fixed by applying patch from bug 3037889, thanks Patrik
33833 * src/SDCCerr.c (vwerror, werror, werrorfl): return if warning was printed
33834 * src/SDCCast.c (checkPtrCast): only print from and to types when warning
33835 or error was printed
33836 * support/regression/tests/bug3037889.c: new, added
33838 2010-08-09 Maarten Brock <sourceforge.brock AT dse.nl>
33840 * support/regression/tests/bug1757671.c: fixed for 64 bit arch
33841 * src/SDCCval.c (valMinus): applied new patch from bug 3037889,
33842 thanks Patrik Persson
33844 2010-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
33846 * src/SDCCval.c (valMinus): applied patch from bug 3037889 though not fixed,
33847 thanks Patrik Persson
33848 * src/z80/gen.c (genCmp): fixed bug 3041519
33850 2010-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
33852 * sim/ucsim/z80.src/inst.cc (inst_add): moved add_HL_Word to z80mac.h,
33853 (inst_daa, inst_scf, inst_ccf, inst_sub): fixed flags
33854 (inst_jp): fixed JP PO/PE
33855 * sim/ucsim/z80.src/inst_ed.cc (inst_ed): fixed flags
33856 * sim/ucsim/z80.src/inst_xd.cc (inst_Xd_add): moved add_IX_Word to z80mac.h
33857 * sim/ucsim/z80.src/instcl.h: cosmetics
33858 * sim/ucsim/z80.src/z80.cc (print_regs): print N flag
33859 * sim/ucsim/z80.src/z80mac.h: fixed flags
33860 * src/z80/gen.c (genIfxJump): simplified
33861 (genCmp): fixed bug 1757671
33862 * device/include/stdbool.h: __SDCC_WEIRD_BOOL==2 for hc08/pic14/pic16
33863 * support/regression/tests/bool.c: run test only once,
33864 run half the cases for __bit
33865 * support/regression/tests/bug1757671.c: new, added
33867 2010-08-07 Philipp Klaus Krause <pkk AT spth.de>
33870 support/regression/tests/bool.c:
33873 2010-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
33876 * src/SDCCerr.h: added E_INCOMPLETE_FIELD
33877 * src/SDCCsymt.c (checkStructFlexArray, compStructSize): fixed bug 1518279
33879 2010-08-05 Borut Razem <borut.razem AT siol.net>
33881 * device/include/mcs51at89S8252.h, device/include/mcs51/at89c55.h,
33882 device/include/mcs51/at89x51.h, sdcc/device/include/mcs51/at89x52.h,
33883 device/include/mcs51/ser.h, device/lib/_ser.c:
33884 sdcc library license changed to GPL+LE
33886 2010-08-04 Borut Razem <borut.razem AT siol.net>
33888 * sim/ucsim/cmd.src/cmdlex.cc: regenerated,
33889 fix for patch #3038644: Fix for GCC-4.4 compile error
33890 * device/include/z80/z180.h, device/include/hc08/mc68hc908apxx.h,
33891 sdcc/device/include/hc08/mc68hc908jkjl.h:
33892 sdcc library license changed to GPL+LE
33894 2010-08-04 Maarten Brock <sourceforge.brock AT dse.nl>
33896 * src/ds390/gen.c (genCmpGt, genCmpLt),
33897 * src/mcs51/gen.c (genCmpGt, genCmpLt): fixed bug 1994062 part 1
33898 (genCmp): use optimization from bug 1994062
33899 * src/SDCCast.c (decorateType '['): fixed bug 1994062 part 2
33900 * src/SDCCset.c: cosmetic changes
33901 * support/regression/tests/bug1994062.c: new, added
33903 2010-08-03 Raphael Neider <rneider AT web.de>
33905 * device/include/pic16/stdio.h,
33906 * device/lib/pic16/libc/stdio/putchar.c: resurrect PUTCHAR macro,
33909 2010-08-03 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
33911 * src/mcs51/peeph.def: fixed bug #3038728 (consecutive &=
33912 on volatile variable)
33914 2010-08-03 Raphael Neider <rneider AT web.de>
33916 * src/pic/gen.c (genDataPointerSet): properly determine operand size,
33919 2010-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
33921 * src/ds390/gen.c (genCast),
33922 * src/mcs51/gen.c (genCast): always copy the pointer
33923 * src/hc08/gen.c: cosmetic changes
33924 * src/SDCCast.h: added checkPtrCast
33925 * src/SDCCicode.c (geniCodeCast),
33926 * src/SDCCast.c (checkPtrCast): factored out of geniCodeCast,
33927 (decorateType CAST): check pointer casts
33929 * src/SDCCerr.h: changed error E_CANNOT_USE_GENERIC_POINTER to warning
33930 W_USING_GENERIC_POINTER
33931 * src/SDCCglue.c (aopLiteralLong): moved check to decorateType,
33932 (pointerTypeToGPByte): exit on internal error, return -1 for GPTR warning
33933 (_printPointerType): handle 4 byte pointers,
33934 (printGPointerType): copy whole generic pointer when warned
33935 * support/regression/tests/bug3027957.c (correct): added for bug 3034400
33937 2010-08-02 Philipp Klaus Krause <pkk AT spth.de>
33939 * sim/ucsim/z80.src/inst.cc:
33941 * support/regression/tests/bug2862650.c:
33942 Improved redundancy.
33944 2010-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
33946 * src/SDCCicode.c (ast2iCode): fixed bug 1962613
33947 * support/regression/tests/bug1962613.c: new, added
33948 * src/SDCCsymt.c (compareTypeExact): fixed the fix for bug 1929140
33949 * support/regression/tests/bug1115321.c: fixed next problem on solaris
33951 2010-08-01 Philipp Klaus Krause <pkk AT spth.de>
33953 * support/regression/tests/bug2862650.c:
33954 Redundant regression test for #2862650.
33956 2010-08-01 Borut Razem <borut.razem AT siol.net>
33958 * device/include/ds80c390.h, device/include/tinibios.h,
33959 device/include/time.h, device/include/ds390/serial390.h,
33960 device/lib/time.c, device/lib/gets.c, device/lib/ds390/lcd390.c,
33961 device/lib/ds390/tinibios.c, device/lib/ds390/rtc390.c,
33962 device/lib/ds390/i2c390.c, device/lib/ds400/tinibios.c:
33963 sdcc library license changed to GPL+LE
33965 2010-07-30 Borut Razem <borut.razem AT siol.net>
33967 * device/lib/printf_large.c, device/lib/sprintf.c,
33968 device/lib/vprintf.c:
33969 sdcc library license changed to GPL+LE
33971 2010-07-30 Maarten Brock <sourceforge.brock AT dse.nl>
33973 * src/SDCC.y: fixed bug 1579664
33974 * support/regression/tests/bug1579664.c: new, added
33975 * src/SDCCsymt.c (compareTypeExact): fixed bug 1929140
33976 * support/regression/tests/bug1929140.c: new, added
33978 2010-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
33982 * src/SDCCglue.c (printIvalCharPtr),
33983 * src/SDCCicode.c (geniCodeCast): changed E_LITERAL_GENERIC and
33984 E_NONPTR2_GENPTR to warnings
33985 * support/regression/tests/bug1115321.c: fixed problem on solaris
33986 * support/regression/tests/literalop.c: only test char overflow on SDCC
33988 2010-07-29 Borut Razem <borut.razem AT siol.net>
33990 * support/regression/tests/literalop.c:
33991 fixed regresssion test failure on host target (gcc -O2):
33992 the test result was udefined according to C standard 6.5 #5 and
33993 implementation dependent, so it was removed.
33994 Thanks to Jan Waclawek for the explanation that it is not a gcc bug.
33996 2010-07-28 Maarten Brock <sourceforge.brock AT dse.nl>
33998 * device/lib/printf_large.c: small optimization
33999 * src/hc08/gen.c (transferRegReg, genPointerGet): fixed bug 1115321
34000 * src/hc08/ralloc.c: cosmetic changes
34001 * src/pic16/glue.c (pic16emitStaticSeg),
34002 * src/SDCCglue.c (emitStaticSeg): fixed bug 1474589
34003 * src/z80/gen.c: fixed some warnings
34004 * support/regression/tests/bug1115321.c: new, added
34006 2010-07-26 Borut Razem <borut.razem AT siol.net>
34009 applied patch #3034715: Report correct host for x86_64 Macs,
34010 thanks to Patrik Persson
34012 2010-07-26 Philipp Klaus Krause <pkk AT spth.de>
34016 support/regression/tests/float_single.c:
34019 2010-07-25 Philipp Klaus Krause <pkk AT spth.de>
34024 2010-07-25 Borut Razem <borut.razem AT siol.net>
34026 * src/SDCCerr.c, src/SDCCerr.h, src/SDCC.y, src/SDCC.lex,
34027 src/SDCCast.c, src/SDCCast.h, device/include/stddef.h,
34028 device/include/pic16/stddef.h, support/regression/tests/zeropad.c,
34029 support/regression/tests/offsetof.c:
34030 applied patch #2801126: __builtin_offsetof implementation,
34031 thanks to Robert Larice
34032 * support/regression/ports/pic16/spec.mk,
34033 support/regression/ports/pic16/support.c:
34034 _asm and _endasm changed to __asm and __endasm, reentrant changed to __reentrant
34035 * device/include/pic16/stdlib.h: added declarations of abs() and labs()
34037 2010-07-24 Borut Razem <borut.razem AT siol.net>
34039 * device/lib/pic16/libm/*, device/lib/pic16/libio/adc/*,
34040 device/lib/pic16/libio/i2c/*, device/lib/pic16/libio/usart/*,
34041 device/lib/pic16/libsdcc/long/*,
34042 device/lib/pic16/libsdcc/fixed16x16/*,
34043 device/lib/pic16/libsdcc/stack/*, device/lib/pic16/libsdcc/lregs/*,
34044 device/lib/pic16/libsdcc/char/*:
34045 sdcc library license changed to GPL+LE
34047 2010-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
34049 * src/mcs51/ralloc.c,
34050 * src/SDCCicode.c: cosmetic changes
34051 * src/mcs51/gen.c (genPointerGet, genPointerSet),
34052 * src/SDCCglue.c (aopLiteralLong),
34053 * src/SDCCsymt.c (computeType),
34054 * src/SDCCval.c (valPlus),
34055 * src/z80/ralloc.c (serialRegAssign, packRegisters): fixed bug 3027957
34056 * support/regression/tests/bug3027957.c: new, added
34057 * support/regression/fwk/include/testfwk.h: removed flaky NULL definition
34058 * support/regression/tests/absolute.c,
34059 * support/regression/tests/bug-2982135.c,
34060 * support/regression/tests/bug-524691.c,
34061 * support/regression/tests/bug1496419.c,
34062 * support/regression/tests/bug2817646.c,
34063 * support/regression/tests/driverstruct.c: include <stddef.h> for NULL
34065 2010-07-18 Maarten Brock <sourceforge.brock AT dse.nl>
34067 * src/SDCCast.c (decorateType CAST): fixed bug 2941749
34068 * src/SDCCBBlock.c,
34069 * src/SDCCcse.c: cosmetic changes
34070 * src/SDCCglue.c (printIvalPtr): added names
34071 * support/regression/ports/ds390/spec.mk,
34072 * support/regression/ports/hc08/spec.mk,
34073 * support/regression/ports/mcs51-common/spec.mk,
34074 * support/regression/ports/ucz80/spec.mk: added .PRECIOUS for using -j
34075 * support/regression/tests/absolute.c: added test for bug 2941749
34077 2010-07-17 Maarten Brock <sourceforge.brock AT dse.nl>
34081 * src/SDCCicode.c: cosmetic changes
34082 * src/SDCCloop.c (loopInduction): fixed bug 2889032
34083 * support/regression/tests/bug2889032.c: new, added
34085 2010-07-15 Borut Razem <borut.razem AT siol.net>
34087 * sdas/as8051/Makefile.in, sdas/asz80/Makefile.in,
34088 sdas/linksrc/Makefile.in, sdas/as6808/Makefile.in,
34089 sdcc/sdas/asgb/Makefile.in:
34090 fixed bug #3030113: assembler Makefile.in missing trailing '@' on
34093 2010-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
34095 * src/SDCCsymt.h: added IS_SMALL_PTR
34096 * src/mcs51/ralloc.c (packRegsForOneuse): check for small pointers, check
34097 all subsequent params to fix bug 3004918
34098 * support/regression/tests/bug3004918.c: new, added
34099 * src/SDCCloop.c: cosmetic changes
34100 * src/mcs51/main.c (_mcs51_keywords): removed duplicate keywords,
34101 (get_model): fixed bug 3018737
34103 2010-07-10 Maarten Brock <sourceforge.brock AT dse.nl>
34105 * src/SDCCast.c (processParms): fixed bug 3002698
34106 * src/SDCCast.h: cosmetic changes
34108 2010-07-05 Borut Razem <borut.razem AT siol.net>
34110 * support/regression/ports/pic14/spec.mk,
34111 support/regression/ports/pic16/spec.mk,
34112 support/regression/ports/ds390/spec.mk,
34113 support/regression/ports/hc08/spec.mk,
34114 support/regression/ports/ucz80/spec.mk,
34115 support/regression/ports/mcs51-common/spec.mk:
34116 mingw build cross reggression testing with wine
34118 2010-07-03 Philipp Klaus Krause <pkk AT spth.de>
34120 * support/scripts/sdcc.nsi: removed unix2dos conversion
34122 2010-06-28 Philipp Klaus Krause <pkk AT spth.de>
34124 * device/lib/z80/modmixed.s:
34125 Fixed missing line.
34127 2010-06-25 Borut Razem <borut.razem AT siol.net>
34129 * device/lib/pic16/libsdcc/float/*, device/lib/pic16/startup/*:
34130 sdcc library license changed to GPL+LE
34132 2010-06-25 Philipp Klaus Krause <pkk AT spth.de>
34134 * device/lib/z80/mod.s,
34135 device/lib/z80/Makefile.in,
34136 device/lib/z80/modmixed.s,
34137 device/lib/z80/modsigned.s,
34138 device/lib/z80/divmixed.s,
34139 device/lib/z80/divsigned.s,
34140 device/lib/z80/modunsigned.s:
34141 Z80 division library reorganization.
34143 2010-06-23 Philipp Klaus Krause <pkk AT spth.de>
34145 * device/lib/z80/divsigned.s:
34151 src/z80/peeph-z80.def,
34152 Implemented correct instruction size calculation, replacing estimate.
34154 2010-06-20 Borut Razem <borut.razem AT siol.net>
34156 * src/SDCCmain.c, src/pic/main.c, src/pic16/main.c:
34157 fixed bug #3015137: -c -o not working as expected (caused by fix for
34159 * device/lib/pic16/libc/string/*, device/lib/pic16/libc/utils/cnvint.S,
34160 device/lib/pic16/libc/utils/cnvfrac.S:
34161 sdcc library license changed to GPL+LE
34163 2010-06-19 Borut Razem <borut.razem AT siol.net>
34165 * device/include/pic/pic14devices.txt,
34166 device/include/pic16/pic16devices.txt:
34167 license changed to GPL - files are not part of sdcc library
34168 * device/lib/z80/divunsigned.s, device/lib/pic16/debug/gstack/gstack.c,
34169 device/lib/pic16/libsdcc/int/*, device/lib/pic16/libc/stdlib/*:
34170 sdcc library license changed to GPL+LE
34172 2010-06-15 Philipp Klaus Krause <pkk AT spth.de>
34174 * device/lib/z80/abs.s,
34175 device/lib/z80/Makefile.in:
34176 Z80-specific abs().
34178 2010-06-14 Philipp Klaus Krause <pkk AT spth.de>
34183 src/mcs51/peeph.def,
34184 src/ds390/peeph.def,
34188 src/z80/peeph-z80.def,
34189 src/z80/peeph-gbz80.def:
34192 2010-06-13 Maarten Brock <sourceforge.brock AT dse.nl>
34194 * sdas/linksrc/lksym.c,
34195 * src/ds390/main.c,
34196 * src/SDCCast.c: cosmetic changes
34197 * src/SDCC.y: removed type_specifier2, moved AT into type_specifier,
34199 * src/SDCCsymt.c (addDecl): fixed char* __code __at(N) bug
34200 * support/regression/tests/absolute.c: added test for bug 29979999
34202 2010-06-12 Borut Razem <borut.razem AT siol.net>
34204 * device/include/asm/pic/features.h, device/include/pic/*.h,
34205 device/include/pic/p16f_common.inc:
34206 sdcc library license changed to GPL+LE
34208 2010-06-10 Philipp Klaus Krause <pkk AT spth.de>
34212 Improved canAssign().
34214 2010-06-07 Philipp Klaus Krause <pkk AT spth.de>
34223 src/z80/peeph-z80.def,
34227 Added canAssign() for use in peepholes.
34229 2010-06-07 Philipp Klaus Krause <pkk AT spth.de>
34232 src/z80/mappings.i,
34233 src/z80/peeph-gbz80.def:
34234 Move generation of short jumps into peepholes.
34236 2010-06-05 Borut Razem <borut.razem AT siol.net>
34238 * device/include/asm/pic16/features.h, device/include/pic16/*.h,
34239 device/include/pic16/pic16devices.txt,
34240 device/include/pic16/p18fxxx.inc, device/lib/pic16/libsdcc/*.c:
34241 sdcc library license changed to GPL+LE
34243 2010-06-05 Maarten Brock <sourceforge.brock AT dse.nl>
34245 * sdas/asranlib/asranlib.c (do_ranlib): fixed text output
34248 * src/SDCC.y: changed E_STORAGE_CLASS_SPECIFIED_FOR_PARAMETER to
34249 E_STORAGE_CLASS_FOR_PARAMETER
34252 * src/SDCCval.c: cosmetic changes
34255 * src/SDCCsymt.h: removed double underscores from function names,
34258 2010-06-03 Philipp Klaus Krause <pkk AT spth.de>
34260 * device/lib/_memcpy,
34261 device/lib/_memmove.c:
34264 2010-06-02 Borut Razem <borut.razem AT siol.net>
34266 * doc/sdccman.lyx: corrected z80 assembler name, corrected revision
34269 2010-06-01 Philipp Klaus Krause <pkk AT spth.de>
34272 Optimization of multibyte comparison.
34275 src/z80/peeph-z80.def:
34276 Peephole barriers, fixes #1677178.
34278 2010-05-31 Borut Razem <borut.razem AT siol.net>
34280 * debugger/mcs51/simi.c, debugger/mcs51/cmd.c, debugger/mcs51/sdcdb.c,
34281 debugger/mcs51/sdcdb.h: enhanced help text formating, added usage
34282 (-h, -?, --help) and verbose (-v) command line options, SDCDB_VERSION
34284 * doc/sdccman.lyx: asxxxx and aslink renamed to sdas and sdld
34286 2010-05-30 Philipp Klaus Krause <pkk AT spth.de>
34288 * src/z80/peeph-z80.def:
34289 Minor peephole improvement.
34291 2010-05-25 Philipp Klaus Krause <pkk AT spth.de>
34294 Simplified division optimization.
34296 Fixed comment alignment.
34298 src/z80/peeph-z80.def:
34299 Peephole improvements, mostly negation.
34301 2010-05-24 Borut Razem <borut.razem AT siol.net>
34303 * src/SDCC.y, src/SDCCsymt.h: test if the parameter is a valid storage
34305 * src/hc08/gen.c, support/regression/tests/bug1875933.c:
34306 fixed bug #3006063: xor broken
34308 2010-05-23 Philipp Klaus Krause <pkk AT spth.de>
34310 * support/regression/tests/bug1875933.c:
34311 Disabled recently introduced regression test on hc08, since it never worked there.
34313 2010-05-23 Philipp Klaus Krause <pkk AT spth.de>
34316 src/z80/peeph-z80.def:
34317 Minor peephole improvements.
34319 2010-05-23 Borut Razem <borut.razem AT siol.net>
34321 * src/SDCCerr.c, src/SDCCerr.h, src/SDCCsymt.h, src/SDCC.y:
34322 fixed bug #2811521: sdcc doesn't accept register storage class
34325 2010-05-21 Philipp Klaus Krause <pkk AT spth.de>
34331 support/regression/tests/bug1875933.c:
34332 Completed fix for #1875933 applying #2892763.
34334 2010-05-21 Philipp Klaus Krause <pkk AT spth.de>
34338 support/regression/tests/memory.c:
34339 Fixed bug #2995398.
34341 2010-05-16 Philipp Klaus Krause <pkk AT spth.de>
34344 A tiny step toward implementing #1921061.
34346 2010-05-16 Philipp Klaus Krause <pkk AT spth.de>
34348 * src/z80/peeph-z80.def:
34349 Minor peephole improvements.
34351 2010-05-13 Borut Razem <borut.razem AT siol.net>
34353 * sdas/asxxsrc/asmain.c: fixed bug #2914707: as-z80 segmentation fault
34355 2010-05-10 Borut Razem <borut.razem AT siol.net>
34357 * src/Makefile.in: added -Wall
34358 * sdas/linksrc/lkarea.c: fixed bug #2999446: ds390 xram limit at 0x400000
34359 * asxxsrc/asmain.c: fixed compiler warning
34361 2010-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
34363 * support/cpp/sdcpp.dsp: added sdcpp-diagnostic.c
34365 2010-05-06 Maarten Brock <sourceforge.brock AT dse.nl>
34367 * device/lib/_strtok.c: cosmetic changes
34368 * sdas/linksrc/aslink.dsp: removed lkgb.c
34369 * src/SDCCast.c (gatherImplicitVariables): fixed bug 2956580, const iTemp
34370 * src/z80/peeph-gbz80.def (rule 16): fixed non-existent operandsNotSame bug
34371 * support/regression/tests/bug2956580.c: new, added
34373 2010-05-05 Borut Razem <borut.razem AT siol.net>
34375 * support/cpp/sdcpp.opt: fixed bug #2996806: Werror broken
34377 2010-05-04 Borut Razem <borut.razem AT siol.net>
34379 * debugger/mcs51/sdcdb.c: fixed compiler warnings
34381 2010-05-03 Borut Razem <borut.razem AT siol.net>
34383 * support/cpp/Makefile.in, support/cpp/sdcpp-diagnostic.c,
34384 support/cpp/sdcpp.h, support/cpp/sdcpp-opts.c:
34385 added c_cpp_error diagnostic callback function
34387 2010-05-01 Maarten Brock <sourceforge.brock AT dse.nl>
34389 * device/include/mcs51/C8051F330.h,
34390 * device/include/mcs51/C8051F336.h,
34391 * device/include/mcs51/C8051F350.h,
34392 * device/include/mcs51/C8051F410.h,
34393 * device/include/mcs51/C8051T630.h: applied patch 2994867, thanks Steven Borley
34395 2010-04-22 Borut Razem <borut.razem AT siol.net>
34397 * support/cpp/libcpp/charset.c, support/cpp/libcpp/directives.c,
34398 support/cpp/libcpp/errors.c, support/cpp/libcpp/expr.c,
34399 support/cpp/libcpp/files.c, support/cpp/libcpp/identifiers.c,
34400 support/cpp/libcpp/include/cpp-id-data.h,
34401 support/cpp/libcpp/include/cpplib.h,
34402 support/cpp/libcpp/include/line-map.h,
34403 support/cpp/libcpp/include/symtab.h, support/cpp/libcpp/init.c,
34404 support/cpp/libcpp/internal.h, support/cpp/libcpp/lex.c,
34405 support/cpp/libcpp/line-map.c, support/cpp/libcpp/macro.c,
34406 support/cpp/libcpp/mkdeps.c, support/cpp/libcpp/symtab.c,
34407 support/cpp/libcpp/traditional.c, support/cpp/libiberty/filenames.h,
34408 support/cpp/libiberty/hashtab.c, support/cpp/libiberty/hashtab.h,
34409 support/cpp/libiberty/obstack.h, support/cpp/libiberty/safe-ctype.h,
34410 support/cpp/libiberty/splay-tree.h, support/cpp/sdcpp.c,
34411 support/cpp/sdcpp.h, support/cpp/sdcpp-opts.c:
34412 SDCPP synchronized with GCC CPP release version 4.5.0
34414 2010-04-14 Borut Razem <borut.razem AT siol.net>
34416 * sim/ucsim/configure, sim/ucsim/configure.in, sim/ucsim/ddconfig_in.h:
34417 fixed bug #2986676: ucz80 fails to run z80 regtests on Solaris
34419 * sdccconf_in.h: corrected endianness detection on solaris
34420 * debugger/mcs51/symtab.c, debugger/mcs51/configure,
34421 debugger/mcs51/Makefile.in, debugger/mcs51/simi.c,
34422 debugger/mcs51/cmd.c, debugger/mcs51/symtab.h,
34423 debugger/mcs51/configure.in, debugger/mcs51/sdcdb.c,
34424 debugger/mcs51/config.h.in, debugger/mcs51/break.c:
34425 code cleaning: removed warnings, added -Wall c compiler flag, ...
34427 2010-04-12 Borut Razem <borut.razem AT siol.net>
34429 * device/lib/pic/libsdcc/*.[cS], device/lib/pic/*.[cS]:
34430 sdcc library license changed to GPL+LE
34432 2010-04-11 Borut Razem <borut.razem AT siol.net>
34434 * sim/ucsim/configure.in:
34436 * device/lib/pic/libm/expf.c:
34438 * device/include/mcs51/uPSD32xx.h:
34439 sdcc library license changed to GPL+LE
34441 2010-04-10 Borut Razem <borut.razem AT siol.net>
34443 * support/regression/ports/host/spec.mk.in:
34444 reverted change made 2010-04-08, since the include is needed by
34445 the libmullong.c regression test
34446 * device/lib/pic/libm/*.c:
34447 sdcc library license changed to GPL+LE
34449 2010-04-09 Borut Razem <borut.razem AT siol.net>
34451 * device/include/mcs51/msm8xc154s.h:
34452 sdcc library license changed to GPL+LE
34454 2010-04-08 Philipp Klaus Krause <pkk AT spth.de>
34455 * support/regression/tests/bug-2982135.c:
34456 Fixed a stupid mistake.
34458 2010-04-08 Borut Razem <borut.razem AT siol.net>
34460 * support/regressuin/test/bitvars.c:
34461 fixed failing test on on Solaris i386 SunPro C compiler;
34462 it behaves differently if -xO2 option is set or not
34463 * src/SDCCast.c, src/SDCCast.h:
34464 fixed SunPro C warning: anonymous struct declaration
34465 * device/include/mcs51/C8051F336.h, device/include/mcs51/C8051T610.h,
34466 device/include/mcs51/p89lpc938.h, device/include/mcs51/C8051F920.h,
34467 device/include/mcs51/C8051T600.h, device/include/mcs51/C8051T630.h,
34468 sdcc/device/include/hc08/mc68hc908qy.h, device/include/hc08/mc68hc908gp32.h:
34469 sdcc library license changed to GPL+LE
34470 * support/regression/ports/host/spec.mk.in: removed unneeded include
34471 * sim/ucsim/cmd.src/Makefile.in:
34472 sh test doesn't understand -e option
34473 * sim/ucsim/cmd.src/FlexLexer.h:
34474 fixed warning about missing newline at last line
34476 2010-04-07 Philipp Klaus Krause <pkk AT spth.de>
34477 * src/z80/ralloc.c,
34478 support/regression/tests/bug-2982135.c:
34479 Fixed bug #2982135.
34481 2010-04-06 Philipp Klaus Krause <pkk AT spth.de>
34483 src/z80/peeph-z80.def
34484 Minor improvements, workaround for bug #2970351.
34485 * device/lib/z80/divunsigned.s,
34486 device/lib/z80/Makefile.in,
34487 device/lib/z80/div.s,
34488 device/lib/z80/divmixed.s
34489 device/lib/z80/divsigned.s:
34490 Division library reorganization.
34492 2010-04-05 Borut Razem <borut.razem AT siol.net>
34494 * sdcc/sim/ucsim/gui.src/Makefile.in:
34495 fixed for Solaris if CURSES_PKGS is empty
34496 * sdcc/device/include/mcs51/at89c51snd1c.h:
34497 sdcc library license changed to GPL+LE
34499 2010-04-04 Borut Razem <borut.razem AT siol.net>
34501 * device/include/hc08/mc68hc908jb8.h:
34502 sdcc library license changed to GPL+LE
34503 * sdas/linksrc/Makefile.in: Solaris make (GNU Make 3.81) doesn't like
34504 $$() syntax; converted to ``
34506 2010-04-03 Borut Razem <borut.razem AT siol.net>
34508 * device/include/mcs51/p89lpc933_4.h, device/include/mcs51/p89lpc935_6.h,
34509 device/include/mcs51/p89v66x.h, device/include/mcs51/p89c66x.h,
34510 device/include/mcs51/at89Sx051.h: sdcc library license changed to GPL+LE
34512 2010-04-03 Philipp Klaus Krause <pkk AT spth.de>
34514 Fixed bug #2977331.
34516 2010-04-01 Borut Razem <borut.razem AT siol.net>
34518 * support/regression/ports/host/spec.mk.in:
34519 fixed execution of host regression tests on Mac OS X
34521 2010-03-28 Borut Razem <borut.razem AT siol.net>
34523 * device/include/ds400/ds400rom.h, device/include/asm/gbz80/features.h,
34524 device/lib/z80/crt0.s, device/lib/gbz80/stubs.s,
34525 device/lib/gbz80/div.s, device/lib/gbz80/fstubs.s,
34526 device/lib/gbz80/putchar.s, device/lib/gbz80/crt0.s,
34527 device/lib/gbz80/crt0_rle.s, device/lib/gbz80/heap.s,
34528 device/lib/gbz80/mul.s, device/lib/gbz80/shift.s,
34529 device/lib/ds400/memcpyx.c, device/lib/hc08/_mulint.c,
34530 device/lib/hc08/_ret.c, device/lib/hc08/_mullong.c,
34531 device/lib/mcs51/crtpagesfr.asm, device/lib/mcs51/crtxpush.asm,
34532 device/lib/mcs51/crtxpopbits.asm, device/lib/mcs51/crtxpushr0.asm,
34533 device/lib/mcs51/crtbank.asm, device/lib/mcs51/crtcall.asm,
34534 device/lib/mcs51/crtxinit.asm, device/lib/mcs51/crtstart.asm,
34535 device/lib/mcs51/crtxstack.asm, device/lib/mcs51/crtxclear.asm,
34536 device/lib/mcs51/crtclear.asm, device/lib/mcs51/crtxpop.asm,
34537 * device/include/asm/mcs51/features.h, device/include/mcs51/*.h:
34538 sdcc library license changed to GPL+LE
34540 2010-03-25 Borut Razem <borut.razem AT siol.net>
34542 * sdcc/configure, sdcc/configure.in, sdcc/sdccconf_in.h,
34543 sdcc/sim/ucsim/configure, sdcc/sim/ucsim/configure.in,
34544 sdcc/sim/ucsim/ddconfig_in.h:
34545 fixed endianness detection, enabled NetBSD build
34546 * sim/ucsim/cmd.src/cmdpars.cc:
34547 fixed alloca detection on Solaris x86. This is actually bison++ bug.
34548 * support/regression/tests/bitfields.c,
34549 support/regression/tests/literalop.c,
34550 support/regression/tests/bitwise.c,
34551 support/regression/tests/swap.c:
34552 fixed host regression tests on NetBSD sparc64
34554 2010-03-23 Borut Razem <borut.razem AT siol.net>
34556 * device/include/*.h, device/include/asm/z80/features.h,
34557 device/include/asm/default/features.h, device/include/z80/*.h,
34558 device/lib/z80/*.s, device/include/asm/ds390/features.h,
34559 device/lib/ds390/memcpyx.c, device/lib/ds390/putchar.c:
34560 sdcc library license changed to GPL+LE
34562 2010-03-20 Borut Razem <borut.razem AT siol.net>
34564 * main_in.mk, configure, debugger/mcs51/configure,
34565 debugger/mcs51/Makefile.in, debugger/mcs51/configure.in,
34566 configure.in, src/Makefile.in, src/port.mk, sim/ucsim/configure,
34567 sim/ucsim/cmd.src/Makefile.in, , sim/ucsim/xa.src/Makefile.in,
34568 sim/ucsim/z80.src/Makefile.in, sim/ucsim/gui.src/Makefile.in,
34569 sim/ucsim/gui.src/serio.src/Makefile.in,
34570 sim/ucsim/gui.src/obsolete/portmon.src/Makefile.in,
34571 sim/ucsim/sim.src/Makefile.in, sim/ucsim/main_in.mk,
34572 sim/ucsim/configure.in, sim/ucsim/hc08.src/Makefile.in:
34575 2010-03-20 Borut Razem <borut.razem AT siol.net>
34577 * configure.in, configure, support/regression/tests/bitfields.c,
34578 support/regression/tests/bug-1981238.c,
34579 support/regression/tests/preproc.c,
34580 support/regression/tests/strtok.c,
34581 support/regression/tests/structflexarray.c,
34582 support/regression/tests/malloc.c:
34583 regression test fixed for SunPro C compiler
34584 * support/regression/ports/host/spec.mk:
34585 adapted for SunPro C compiler & renamed to spec.mk.in
34586 * support/regression/Makefile.in:
34587 include ./ports/$(PORT)/spec.mk if exists
34588 * device/lib/Makefile.in:
34589 Solaris make (GNU Make 3.81) doesn't like $$() syntax;
34592 2010-03-19 Borut Razem <borut.razem AT siol.net>
34594 * configure.in, configure, device/lib/z80/Makefile.in,
34595 device/lib/gbz80/Makefile.in, device/lib/ds390/Makefile.in,
34596 device/lib/Makefile.in, device/lib/ds400/Makefile.in,
34597 device/lib/mcs51/Makefile.in, device/lib/hc08/Makefile.in:
34598 autoconf test if ar accepts -S (GNU ar does, BSD ar does not)
34599 * src/pic/ralloc.c: Solaris SunPro C compiler doesn't like (void)0
34601 2010-03-18 Borut Razem <borut.razem AT siol.net>
34603 * sim/ucsim/ddconfig_in.h:
34604 fixed endianness detection, so that it works on Solaris
34606 2010-03-17 Borut Razem <borut.razem AT siol.net>
34608 * configure.in, configure, debugger/mcs51/configure.in,
34609 debugger/mcs51/configure, sim/ucsim/configure.in,
34610 sim/ucsim/configure, sim/ucsim/aclocal.m4, src/SDCCutil.c:
34611 preparations for *BSD and Solaris ports
34612 * configure, debugger/mcs51/configure, debugger/mcs51/configure.in,
34613 configure.in, sim/ucsim/configure, sim/ucsim/cmd.src/Makefile.in,
34614 sim/ucsim/xa.src/Makefile.in, sim/ucsim/z80.src/Makefile.in,
34615 sim/ucsim/gui.src/Makefile.in,
34616 sim/ucsim/gui.src/serio.src/Makefile.in,
34617 sim/ucsim/gui.src/obsolete/portmon.src/Makefile.in,
34618 sim/ucsim/sim.src/Makefile.in, sim/ucsim/configure.in,
34619 sim/ucsim/hc08.src/Makefile.in, sim/ucsim/s51.src/Makefile.in,
34620 sim/ucsim/avr.src/Makefile.in, sdas/as8051/Makefile.in,
34621 sdas/asz80/Makefile.in, sdas/linksrc/Makefile.in,
34622 sim/ucsim/main_in.mk: portable -Wall
34623 * support/cpp/Makefile.in, support/cpp/libiberty/alloca.c:
34626 2010-03-15 Borut Razem <borut.razem AT siol.net>
34628 * device/lib/*.c: sdcc library license changed to GPL+LE
34630 2010-03-13 Borut Razem <borut.razem AT siol.net>
34632 * support/scripts/sdcc.nsi: removed lib/src/z80/*.c from the package
34633 * src/z80/gen.c: fixed warning: suggest parentheses around assignment
34634 used as truth value
34635 * sdas/asxxsrc/sdas.c, sdas/linksrc/sdld.c:
34636 fixed warning: implicit declaration of function 'tolower'
34637 * sdas/asxxsrc/asmain.c: fixed warning: variable not initialized
34638 * device/include/limits.h, device/include/stdint.h,
34639 device/include/float.h, device/include/typeof.h,
34640 device/include/stddef.h, device/include/sdcc-lib.h,
34641 device/include/stdlib.h, device/include/stdio.h,
34642 device/include/math.h, device/include/asm/default/features.h,
34643 device/include/assert.h, device/include/setjmp.h,
34644 device/include/stdbool.h, device/include/ctype.h,
34645 device/include/stdarg.h, device/include/errno.h:
34646 sdcc library license changed to GPL+LE
34648 2009-03-11 Raphael Neider <rneider AT web.de>
34650 * device/include/pic/pic16f616.h,
34651 device/include/pic/pic16hv616.h,
34652 device/lib/pic/libdev/devices.txt,
34653 device/lib/pic/libdev/pic16f616.c,
34654 device/lib/pic/libdev/pic16hv616.c:
34655 add support for 16f616 and 16hv616 devices
34657 2010-03-09 Philipp Klaus Krause <pkk AT spth.de>
34658 * device/lib/gbz80/Makefile.in,
34659 device/lib/gbz80/printf.c:
34660 Made gbz80 port use the generic printf routine family.
34662 2010-03-07 Philipp Klaus Krause <pkk AT spth.de>
34664 support/regression/tests/float_single.c:
34665 gbz80 port regression test fixes.
34667 2010-03-06 Borut Razem <borut.razem AT siol.net>
34669 * src/hc08/main.c: fixed hc08 target:
34670 reintroduced MODAL_SMALL and MODEL_LARGE
34672 2010-03-04 Borut Razem <borut.razem AT siol.net>
34674 * src/SDCCmain.c, src/port.h, src/avr/main.c, src/ds390/main.c,
34675 src/hc08/main.c, src/mcs51/main.c, src/pic16/main.c, src/pic/main.c,
34676 src/xa51/main.c, src/z80/main.c: get_model() moved to the traget
34677 * src/mcs51/rtrack.c: removed MSVC warnings:
34678 integral size mismatch in argument; conversion supplied
34679 * src/SDCCglobl.h: introduced NO_MODEL
34681 2010-03-03 Borut Razem <borut.razem AT siol.net>
34683 * all.dsp: added makebin to project
34684 * src/SDCCmain.c: fixed lib suffix,
34685 get_lib_suffix() renamed to get_model(),
34686 added pic* handling to get_model()
34688 2010-03-02 Borut Razem <borut.razem AT siol.net>
34690 * src/SDCCmain.c, src/pic/main.c, src/pic16/main.c:
34691 lib suffix is a part of lib dir set
34692 * support/scripts/Makefile.in, support/scripts/clean.mk:
34693 added clean Makefile target for scripts
34695 2010-03-02 Maarten Brock <sourceforge.brock AT dse.nl>
34697 * src/SDCCmain.c(get_lib_suffix): added huge model
34699 2010-02-26 Borut Razem <borut.razem AT siol.net>
34701 * sdcc/support/scripts/as2gbmap.py:
34702 use pre-python 2.6 exceptin handling syntax
34704 2010-02-25 Borut Razem <borut.razem AT siol.net>
34706 * configure.in, configure, Makefile.in, support/scripts/Makefile.in:
34707 "compile" as2gbmap.py: copy it to bin/as2gbmap and make it executable
34708 * support/scripts/sdcc.nsi: include bin/as2gbmap.cmd to the package
34710 2010-02-24 Borut Razem <borut.razem AT siol.net>
34712 * sdcc/support/scripts/as2gbmap.py:
34713 sort symbols by value for rrgb outout,
34714 handle file open errors
34715 * doc/sdccman.lyx: documented changed library format to ar in 2.9.0;
34716 documented makebin and as2gbmap.py
34718 2010-02-23 Borut Razem <borut.razem AT siol.net>
34720 * src/SDCCmain.c, src/z80/main.c, sdas/linksrc/lkdata.c,
34721 sdas/linksrc/lklist.c, sdas/linksrc/lkmain.c, sdas/linksrc/lkrloc.c,
34722 sdas/linksrc/aslink.h:
34723 removed geneneration of no$gmb symbol file and rrgb map file
34724 * sdas/linksrc/Makefile.in: removed compilation of lkgb.c
34725 * sdcc/support/scripts/as2gbmap.py:
34726 added option -j to convert from asxxxx to no$gmb symbol file format
34727 * sdas/linksrc/lkgb.c, sdas/linksrc/lkgg.c: deleted from svn
34729 2010-02-21 Borut Razem <borut.razem AT siol.net>
34731 * support/makebin/makebin.c:
34732 check if fopen() succeeded
34733 * support/regression/ports/gbz80/spec.mk:
34734 sdlsgb now creates .ihx file and makebin converts it to .gb;
34735 removed -m (Load map file) rrgb command line option, since sdlsgb
34736 doesn't generate a rrgb compatible map file
34737 * src/SDCCmain.c: search C runtime initialization object files
34738 crt0.rel in system library directories, then in user defined
34739 library directories - third try
34740 * support/scripts/as2gbmap.py: converter from asxxxx to rrgb map
34743 2010-02-21 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34745 * src/mcs51/rt rack.c: fixed two warnings reported in #2955971
34746 by Hubert Sack. (2nd warning found a bug)
34748 2010-02-20 Philipp Klaus Krause <pkk AT spth.de>
34749 * device/lib/gbz80/mul.s,
34750 device/lib/gbz80/Makefile.in:
34751 Fixed multiplication in gbz80 port.
34753 2010-02-20 Philipp Klaus Krause <pkk AT spth.de>
34754 * device/lib/gbz80/div.s:
34755 Fixed mixed-sign division and modulo in gbz80 port.
34757 2010-02-20 Borut Razem <borut.razem AT siol.net>
34759 * support/makebin/makebin.c: added support for GameBoy binary file format,
34760 added optional input and output file names arguments,
34761 making it (hopefully) more robust, ...
34762 * all.dsp, sdcc.dsw, support/makebin/makebin.dsp:
34763 added makebin to the MSVC project
34764 * src/SDCCmain.c: fixed bug #2955614 - Regression - Warning: Couldn't find
34766 2010-02-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34768 * src/mcs51/rtrack.h,
34769 src/mcs51/rtrack.c,
34770 src/mcs51/ralloc.h,
34771 src/mcs51/gen.c: Implemented tracking of symbols and dptr.
34772 Set environment variable SDCC_REGTRACK if you want to enable
34773 register tracking. If you want diagnostic output use option
34774 --fverbose-asm and additionally set SDCC_REGTRACK_VERBOSE
34776 2010-02-18 Borut Razem <borut.razem AT siol.net>
34778 * src/SDCCmain.c: search C runtime initialization object files
34779 crt0.rel in system library directories, then in user defined
34780 library directories
34782 2010-02-16 Borut Razem <borut.razem AT siol.net>
34784 * support/scripts/sdcc.nsi: remove crt0.rel for z80 and gb
34786 fixed the fist part of bug #2951083: -o not working as expected:
34787 rename the linker output file name to -o binary file name
34788 * sdas/linksrc/lkaomf51.c:
34789 fixed the second part of bug #2951083: -o not working as expected:
34790 remove the file extension in any case
34792 2010-02-16 Philipp Klaus Krause <pkk AT spth.de>
34794 * src/z80/peeph-gbz80.def,
34795 device/include/asm/z80/features.h,
34796 device/lib/gbz80/Makefile.in,
34797 device/lib/gbz80/div.s,
34798 device/lib/gbz80/mul.s,
34799 support/regression/ports/gbz80/spec.mk:
34800 Made gbz80 regression tests compile again.
34802 2010-02-11 Borut Razem <borut.razem AT siol.net>
34804 * sdas/linksrc/lkmain.c: removed unneeded gb linker initialization
34806 2010-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
34808 * device/lib/clean.mk: also clean huge library
34810 2010-02-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34812 * src/mcs51/gen.c: (genAssign literal) loading via accumulator if it
34813 pays off. Could eventually also be enabled for assigning to registers
34815 2010-02-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34817 * src/mcs51/peeph.def: added rules 105.b and 114.x improving parameter
34818 passing for models large and huge.
34819 Regression test suite is about 1% smaller for model large
34821 2010-02-09 Borut Razem <borut.razem AT siol.net>
34823 * sdas/asxxsrc/sdas.c, sdas/linksrc/sdld.c:
34824 convert parogram name to lower case since on Win 9x program names
34825 in argv[0] are always upper case;
34826 added diagnostic if SDAS_DIAG and/or SDLD_DIAG environment
34829 2010-02-08 Borut Razem <borut.razem AT siol.net>
34831 * src/avr/gen.c, src/avr/gen.h, src/cdbFile.c, src/ds390/gen.c,
34832 src/ds390/gen.h, src/hc08/gen.c, src/hc08/gen.h, src/mcs51/gen.c,
34833 src/mcs51/gen.h, src/mcs51/main.c, src/pic16/gen.c, src/pic16/gen.h,
34834 src/pic16/main.c, src/pic/gen.c, src/pic/gen.h, src/port.h,
34835 src/SDCCBBlock.c, src/SDCCdebug.c, src/SDCCdebug.h, src/SDCCdwarf2.c,
34836 src/SDCCdwarf2.h, src/SDCCglobl.h, src/SDCCglue.c, src/SDCCmain.c,
34837 src/xa51/gen.c, src/xa51/gen.h, src/xa51/main.c, src/z80/gen.c,
34838 src/z80/gen.h, src/z80/main.c:
34839 get rid of scratchFileName, const string pointers
34840 * src/SDCCmain.c, src/xa51/main.c, src/mcs51/main.c, sdcc_vc_in.h:
34841 fixed bug #2947712: SDCC completely broken in multiple ways
34842 * sdas/linksrc/lklist.c, sdas/linksrc/lkmain.c:
34843 reintroduced gameboy map file format, required by rrgb simulator,
34844 reenabled gameboy regression tests
34846 2010-02-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
34848 * src/mcs51/peeph.def: added rules 272.x helping literal left shifts
34850 2010-02-07 Borut Razem <borut.razem AT siol.net>
34852 * src/SDCCmain.c, src/SDCCglobl.h, src/z80/main.c, src/hc08/main.c,
34853 sdas/linksrc/lkmain.c, sdas/linksrc/lkar.c, sdas/linksrc/lkrloc.c:
34854 fixed output file format handling
34855 * src/SDCCmain.c, src/port.h, src/xa51/main.c, src/mcs51/main.c,
34856 src/z80/main.c, src/ds390/main.c, src/hc08/main.c:
34857 list of standard library files moved to port structure,
34858 defined for each target
34859 * sdas/linksrc/lkmain.c: re-added the gb version of map()
34861 2010-02-06 Maarten Brock <sourceforge.brock AT dse.nl>
34863 * device/lib/_setjmp.c: fixed --stack-auto for model-huge
34864 * support/regression/Makefile.in: keep the hex-file
34866 2010-02-05 Philipp Klaus Krause <pkk AT spth.de>
34869 src/z80/mappings.i,
34870 src/z80/peeph-z80.def:
34871 Decompose multiline macros, fixing #1570701, #1921731.
34873 2010-02-04 Borut Razem <borut.razem AT siol.net>
34875 * src/mcs51/main.c, src/z80/main.c, src/ds390/main.c, src/hc08/main.c,
34876 src/xa51/main.c, src/SDCCmain.c, src/port.h:
34877 list of C runtime initialization object files crt0.rel moved to port
34878 structure, defined for each target
34880 2010-02-02 Philipp Klaus Krause <pkk AT spth.de>
34882 * src/z80/peeph-gbz80.def,
34883 src/z80/mappings.i:
34884 Fixed gbz80 port to work with new assembler.
34886 2010-02-02 Maarten Brock <sourceforge.brock AT dse.nl>
34888 * src/SDCCsymt.c(addSymChain): fixed --xstack float support in model-huge
34890 2010-02-01 Maarten Brock <sourceforge.brock AT dse.nl>
34892 * src/SDCCmain.c(assemble): don't destroy asmName twice
34894 2010-02-01 Maarten Brock <sourceforge.brock AT dse.nl>
34896 * src/ds390/ralloc.c (packRegsDPTRuse): fixed bug 2938110
34897 * support/regression/tests/bug2938110.c: new, added
34899 2010-02-01 Borut Razem <borut.razem AT siol.net>
34901 * sdas/linksrc/lkar.c, sdas/linksrc/lksdcclib.c:
34902 detection of asxxxx v3.0 and higher rel files
34904 2010-01-31 Philipp Klaus Krause <pkk AT spth.de>
34906 * src/z80/peeph-z80.def:
34909 2010-01-30 Maarten Brock <sourceforge.brock AT dse.nl>
34912 * configure.in: added device/lib/huge/Makefile
34914 2010-01-30 Maarten Brock <sourceforge.brock AT dse.nl>
34916 * device/include/asm/mcs51/features.h: added _RETURN
34917 * device/include/setjmp.h: adapted for model-huge
34918 * device/lib/_setjmp.c: adapted for xstack and model-huge
34919 * device/lib/_decdptr.c(_decdptr): __naked
34920 * device/lib/_logexpf.c (_fs_cordic_rshift_r765_unsigned): __naked
34921 * device/lib/_mullong.c: use _AUTOMEM from sdcc-lib.h
34922 * device/lib/_startup.c (_sdcc_external_startup): __nonbanked
34923 * device/lib/_strlen.c,
34924 * device/lib/abs.c,
34925 * device/lib/labs.c: use _RETURN
34926 * device/lib/cotf.c,
34927 * device/lib/tanf.c,
34928 * device/lib/tancotf.c (tancotf): changed iscotan to BOOL
34929 * device/lib/expf.c,
34930 * device/lib/logf.c: adapted for model-huge
34931 * device/lib/printf_large.c: set USE_FLOATS for ds390, xstack, model-huge
34932 * device/lib/huge: added directory
34933 * device/lib/huge/Makefile.in: new, added
34934 * src/mcs51/gen.c (aopPut, Push): factored out Push,
34935 (getFreePtr): save R0 in B for PCALL,
34936 (opIsGptr): also true for banked function pointers,
34937 (saveRegisters, unsaveRegisters): always save for banked functions,
34939 (genCall, genPcall, genEndFunction): even static functions are banked in
34940 model-huge, address could be taken,
34941 (genPcall): don't kill R0-R2 before genSend
34942 * src/mcs51/main.c (_mcs51_keywords): added nonbanked,
34943 (_mcs51_finaliseOptions): added MODEL_HUGE,
34944 xstack float lib is not reentrant,
34945 (mcs51_port): added MODEL_HUGE, fixed banked_overhead bug
34946 * src/mcs51/peep.c (termScanAtFunc): always abort for banked call and R0-R2
34947 * src/SDCC.y: remoed warning W_BANKED_WITH_STATIC
34948 * src/SDCCast.c (funcOfType): all C support routines are nonbanked,
34949 (processParms): fixed banked function pointer is no codepointer,
34950 (createFunction): fixed banked_overhead bug
34951 * src/SDCCerr.c: W_BANKED_WITH_STATIC no longer used
34952 * src/SDCCglue.c (_printPointerType): added size parameter,
34953 (printIvalFuncPtr): adapted for banked function pointer,
34954 (glue): added MODEL_HUGE
34955 * src/SDCCmain.c (optionsTable, parseCmdLine, preProcess): added
34956 MODEL_HUGE, --model-huge and OPTION_HUGE_MODEL
34957 * src/SDCCmem.c (allocParms): moved banked_overhead to createFunction
34958 * src/SDCCsymt.c (getSize): adapted for model-huge,
34959 (checkFunction): merge banked/nonbanked from prototype into definition,
34960 (initCSupport): all C support routines are made nonbanked in funcOfType
34961 * src/SDCCsymt.h: added BANKED_FUNCTIONS, adapted IFFUNC_ISBANKEDCALL
34962 * src/z80/gen.c (emitCall): even static functions are banked in
34963 model-large and model-medium, address could be taken
34964 * support/regression/Makefile.in: added target test-mcs51-huge
34965 * support/regression/ports/mcs51-common/support.c: added PSBANK,
34966 (_sdcc_external_startup): must be nonbanked
34967 * support/regression/ports/mcs51-xstack-auto/spec.mk: moved USE_FLOATS to
34969 * support/regression/ports/mcs51-huge: added directory
34970 * support/regression/ports/mcs51-huge/spec.mk: new, added
34971 * support/regression/tests/bug1678803.c,
34972 * support/regression/tests/bug1712928.c: adapted for model-huge
34973 * support/regression/tests/float_single.c: added putchar for debugging
34974 * support/regression/tests/snprintf.c: adapted for model-huge
34976 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
34981 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
34986 2010-01-29 Philipp Klaus Krause <pkk AT spth.de>
34991 2010-01-29 Borut Razem <borut.razem AT siol.net>
34993 * sdcc/src/xa51/main.c, sdcc/src/mcs51/main.c, sdcc/src/SDCCmain.c,
34994 sdcc/src/z80/main.c, sdcc/src/ds390/main.c, sdcc/src/hc08/main.c,
34995 sdcc/sdas/asxxsrc/asmain.c:
34996 fixed bug #2925290: SDCC assemblers do not process "-o" option correctly
34997 The sdas command line syntax is now compatible with asxxxx v5.0
34999 2010-01-24 Philipp Klaus Krause <pkk AT spth.de>
35000 * support/regression/tests/bool.c,
35001 support/regression/tests/bitopcse.c,
35002 device/include/stdbool.h:
35003 Added test for bool.
35005 2010-01-24 Borut Razem <borut.razem AT siol.net>
35008 fixed declaration in the middle of the block
35009 * support/cpp/ansidecl.h, support/cpp/libcpp/directives.c,
35010 support/cpp/libcpp/errors.c, support/cpp/libcpp/init.c,
35011 support/cpp/libcpp/internal.h, support/cpp/libcpp/lex.c,
35012 support/cpp/libiberty.h, support/cpp/libiberty/hex.c,
35013 support/cpp/libiberty/md5.c, support/cpp/libiberty/splay-tree.c,
35015 SDCPP synchronized with GCC CPP release version 4.4.3
35017 2010-01-24 Philipp Klaus Krause <pkk AT spth.de>
35029 src/z80/peeph-z80.def,
35033 device/include/stdbool.h,
35034 support/regression/tests/bug1546986.c,
35035 support/regression/tests/constantRange.c,
35036 support/regression/tests/bug2805333.c,
35037 support/regression/tests/bug1337835.c,
35038 support/regression/tests/bitopcse.c,
35039 support/regression/tests/bug1723128.c,
35040 support/regression/tests/bug-908454.c,
35041 support/regression/tests/bug1734654.c,
35042 support/regression/tests/bug1745717.c,
35043 support/regression/tests/bug2719592.c,
35044 support/regression/tests/bug1738367.c,
35045 support/regression/tests/funptrs.c,
35046 support/regression/tests/bug1509084.c,
35047 support/regression/tests/bug1788177.c,
35048 support/regression/tests/bitvars.c:
35049 Finally implemented true _Bool support.
35051 doc/random-notes.txt:
35054 2010-01-24 Borut Razem <borut.razem AT siol.net>
35056 * sdas/as8051/i51adr.c, sdas/as8051/i51pst.c, sdas/asz80/z80pst.c,
35057 sdas/asz80/z80adr.c, sdas/linksrc/lkdata.c, sdas/linksrc/lkmain.c,
35058 sdas/linksrc/aslink.h, sdas/as6808/m08adr.c, sdas/as6808/m08pst.c,
35059 sdas/asxxsrc/asmain.c, sdas/asxxsrc/asxxxx.h, sdas/asxxsrc/aslex.c,
35060 sdas/asxxsrc/asdata.c, sdas/asgb/gbadr.c, sdas/asgb/gbpst.c:
35061 optimized .optsdcc handling
35063 2010-01-23 Borut Razem <borut.razem AT siol.net>
35065 * src/SDCCicode.c, src/SDCCast.c, src/SDCCast.h:
35066 fixed bug #1767885: Parameters lost from scope of intermediate inline function
35067 applied patches from Pavel Pisa; tahks Pavel
35068 * support/regression/tests/inline.c:
35069 merged inline regression tests bug1717305.c, bug1864577.c and bug 1767885
35071 2010-01-18 Borut Razem <borut.razem AT siol.net>
35073 * src/SDCCmain.c, sdas/linksrc/lkmain.c, sdas/linksrc/aslink.h:
35074 fixed bug #2933892 - Weird default ouput location for linker - regression
35075 The sdld command line syntax is now compatible with asxxxx v5.0
35077 2010-01-18 Philipp Klaus Krause <pkk AT spth.de>
35080 Taking the address of _Bool works on the z80 and gbz80 ports.
35082 2010-01-17 Philipp Klaus Krause <pkk AT spth.de>
35090 src/z80/peeph-z80.def,
35091 device/include/stdbool.h,
35092 device/lib/z80/crt0.s:
35093 Support for bool on the Z80 (RFE #1751355).
35094 * device/lib/z80/asm_strings.s,
35095 device/lib/z80/mulchar.s,
35096 device/lib/z80/stubs.s,
35097 device/lib/z80/fstubs.s,
35098 device/lib/z80/heap.s,
35099 device/lib/gbz80/stubs.s,
35100 device/lib/gbz80/fstubs.s,
35101 device/lib/gbz80/asm_strings.s,
35102 device/lib/gbz80/heap.s:
35103 Z80 library cleanup.
35105 Enable jump-to-jump optimizations for jump table entries.
35107 2010-01-16 Borut Razem <borut.razem AT siol.net>
35109 * doc/sdccman.lyx: sfr at to __sfr __at
35111 2010-01-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35113 * src/SDCCmain.c: added ReadcfgFile() - get options from
35116 2010-01-15 Borut Razem <borut.razem AT siol.net>
35118 * support/regression/ports/hc08/support.c,
35119 support/regression/ports/pic14/support.c,
35120 support/regression/ports/pic16/support.c,
35121 support/regression/ports/xa51/support.c,
35122 support/regression/tests/macro.c:
35123 _asm and _endasm changed to __asm and __endasm
35125 2010-01-15 Philipp Klaus Krause <pkk AT spth.de>
35127 * device/lib/gbz80/string.c:
35128 Removed unused gbz80-specific string routines.
35130 2010-01-14 Borut Razem <borut.razem AT siol.net>
35132 * src/SDCCerr.c, src/SDCCerr.h, src/SDCC.lex, doc/sdccman.lyx,
35133 device/include/mcs51/mcs51reg.h,
35134 support/regression/tests/bug2817646.c,
35135 support/regression/tests/driverstruct.c,
35136 support/regression/tests/nullstring.c,
35137 support/regression/tests/bug1546986.c,
35138 support/regression/tests/bug-1981238.c,
35139 support/regression/tests/array.c,
35140 support/regression/tests/bug-1699804.c,
35141 support/regression/tests/bug-221100.c,
35142 support/regression/tests/bug1839277.c,
35143 support/regression/tests/bug-460010.c,
35144 support/regression/tests/bug1921073.c,
35145 support/regression/tests/bug1839321.c,
35146 support/regression/tests/float.c,
35147 support/regression/tests/simplefloat.c,
35148 support/regression/tests/bug2783061.c,
35149 support/regression/tests/critical.c,
35150 support/regression/tests/bug1551947.c,
35151 support/regression/tests/bug663539.c,
35152 support/regression/tests/absolute.c,
35153 support/regression/tests/bug-221168.c,
35154 support/regression/tests/bug-716242.c,
35155 support/regression/tests/bug1348008.c,
35156 support/regression/tests/bug1928022.c,
35157 support/regression/tests/bug1938300.c,
35158 support/regression/tests/bug-880197.c,
35159 support/regression/tests/bug1536762.c,
35160 support/regression/tests/bug1198642.c,
35161 support/regression/tests/bug1749275.c,
35162 support/regression/tests/bitopcse.c,
35163 support/regression/tests/bug1535242.c,
35164 support/regression/tests/bug-868103.c,
35165 support/regression/tests/using.c,
35166 support/regression/tests/bug1723128.c,
35167 support/regression/tests/bug1750318.c,
35168 support/regression/tests/bug1409955.c,
35169 support/regression/tests/bug1856409.c,
35170 support/regression/tests/regtrack.c,
35171 support/regression/tests/setjmp.c,
35172 support/regression/tests/bug1618050.c,
35173 support/regression/tests/float_single.c,
35174 support/regression/tests/malloc.c,
35175 support/regression/tests/bug-524691.c,
35176 support/regression/tests/bug1908493.c,
35177 support/regression/tests/bug2761883.c,
35178 support/regression/tests/sfr16.c,
35179 support/regression/tests/zeropad.c,
35180 support/regression/tests/staticinit.c,
35181 support/regression/tests/bug2655200.c,
35182 support/regression/tests/bug2435941.c,
35183 support/regression/fwk/include/testfwk.h,
35184 support/regression/fwk/lib/testfwk.c,
35185 support/regression/ports/pic14/spec.mk,
35186 support/regression/ports/ds390/spec.mk,
35187 support/regression/ports/ds390/support.c,
35188 support/regression/ports/hc08/spec.mk,
35189 support/regression/ports/ucz80/spec.mk,
35190 support/regression/ports/mcs51-common/spec.mk,
35191 support/regression/ports/mcs51-common/T2_isr.c,
35192 support/regression/ports/mcs51-common/support.c,
35193 support/regression/generate-cases.py:
35194 implemented RFE #2931693: deprecate warnings for sdcc specific keyword
35195 * configure.in, configure:
35196 implemented RFE #2932327: remove unsupported and broken targets xa51 and avr
35197 * .version, doc/sdccman.lyx: bumped version to 2.9.7
35199 2010-01-11 Borut Razem <borut.razem AT siol.net>
35201 * configure.in, configure, Makefile.in, sdcc.dsw,
35202 sdas/asranlib/asranlib.dsp, sdas/asranlib/Makefile.in:
35203 sdas/aslink renamed to sdas/linksrc
35205 2009-01-10 Raphael Neider <rneider AT web.de>
35207 * src/pic/gen.c (genCmp): do not clobber CARRY when storing the
35208 result of the comparison (fixes #2929477), cosmetic changes
35210 2010-01-10 Borut Razem <borut.razem AT siol.net>
35212 * configure.in, configure, Makefile.in, sdas/*/Makefile.in,
35213 sdcc/sdcc.dsw, sdas/asranlib/asranlib.dsp, config.dsp:
35214 as renamed to sdas, as/link renamed to sdas/aslink,
35215 as/z80 renamed to sdac/asz80, as/mcs51 renamed to sdas/as8051,
35216 as/hc80 renamed to sdcc/sdas/as6808
35217 * debugger/mcs51/cmd.c, sim/ucsim/utils.cc, sdcc/sdas/aslink/lklibr.c,
35218 support/cpp/libcpp/macro.c: fixed compiler warnings
35220 2010-01-09 Borut Razem <borut.razem AT siol.net>
35222 * as/*/conf.mk: removed
35224 as/*/Makefile.in: use common as/conf.mk
35225 as/*/clean.in: unified
35226 * src/SDCCmain.c, src/z80/main.c,
35227 device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in,
35228 as/asxxsrc/asmain.c, as/link/aslink.h,
35229 support/regression/Makefile.in,
35230 support/regression/ports/ucz80/spec.mk:
35231 object file extension for z80 and gb targets changed from .o to .rel
35232 * .version, doc/sdccman.lyx: bumped version to 2.9.6
35234 2010-01-04 Borut Razem <borut.razem AT siol.net>
35236 * doc/sdccman.lyx, support/cpp/libcpp/internal.h,
35237 support/cpp/libcpp/lex.c, support/cpp/sdcpp.c:
35238 fixed bug #2919991: #Pragma preproc_asm cannot be used by -- std-c99.
35239 * support/cpp/libcpp/macro.c, support/cpp/version.c:
35240 SDCPP synchronized with GCC CPP release version 4.4.2
35241 * as/link/lklist.c: fixed NULL pointer dereference
35242 * as/link/lkmain.c: do not complaint when opening optional adb files
35244 2009-12-31 Borut Razem <borut.razem AT siol.net>
35246 * as/link/lkarea.c, as/link/lkdata.c, as/link/lklist.c,
35247 as/link/lks19.c, as/link/lkmain.c, as/link/lkeval.c,
35248 as/link/lklibr.c, as/link/lkaomf51.c, as/link/lkhead.c,
35249 as/link/lklex.c, as/link/lkrloc.c, as/link/aslink.h:
35250 sync with aslink 2.0
35251 * as/link/lks19.c: include "sdld.c"
35252 * as/link/aslink.dsp: cleaning
35253 * as/link/aslink.h: changed the type Character Type Definitions to char
35255 2009-12-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
35257 * src/hc08/gen.c: fixed bug 2912013
35259 2009-12-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35261 * as/link/aslink.dsp, as/link/sdld_all.dsp: fixed destination path of
35262 sdld.exe, sdldz80.exe, sdldgb.exe, and sdld6808.exe
35264 2009-12-21 Borut Razem <borut.razem AT siol.net>
35266 * Makefile.in: fixed hc08
35267 * Makefile.in, as/link/Makefile.in: fixed installation
35269 2009-12-20 Borut Razem <borut.razem AT siol.net>
35271 * as/link/lkmain.c, as/link/lksdcclib.c,
35272 as/link/lklib.c, as/link/lklex.c, as/link/aslink.h:
35273 fixed "o" file extension for z80 and gb targets
35275 2009-12-19 Borut Razem <borut.razem AT siol.net>
35277 * configure, Makefile.in, configure.in, as/link/Makefile.in,
35278 all.dsp, as/link/aslink.dsp, as/link/sdld_all.dsp,
35279 as/link/lkmain.c, as/link/lkgb.c, as/link/lkihx.c,
35280 as/link/sdld.c, as/link/sdld.h, as/link/lkmem.c,
35281 as/link/clean.mk, as/link/lkrloc.c: modified
35282 as/link/lkarea.c, as/link/readme.390, conf.mk, aslink.dsp:
35283 moved from as/link/mcs51,
35284 as/link/z80, as/link/mcs51, as/link/hc08: removed,
35285 unification of lkarea.c, one polymorphic sdld
35286 * as/asxxsrc/sdas.h, as/asxxsrc/sdas.c:
35287 renamed TRAGET_IS_XXXX to TARGET_ID_XXXX
35288 * .version, doc/sdccman.lyx: bumped version to 2.9.5
35290 2009-12-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
35292 * device/lib/abs.c, device/lib/labs.c: assembler version
35293 for mcs51, other targets slightly shorter too
35294 * support/regression/tests/abs.c: added regression test
35296 2009-12-17 Indy Sams < drift_solutions AT users.sourceforge.net >
35298 * device/lib/_strpbrk.c: fixed bug #2908537 (svn commit by Frieder)
35300 2009-12-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
35302 * support/regression/tests/strpbrk.c: added regression test
35304 2009-12-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35306 * device/include/mcs51/w7100.h: added.
35308 2009-12-16 Borut Razem <borut.razem AT siol.net>
35311 as/link/z80/Makefile.in, as/link/z80/linkz80.dsp,
35312 as/link/z80/linkgbz80.dsp,
35313 as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
35314 as/link/hc08/Makefile.in, as/link/hc08/link_hc08.dsp,
35315 as/link/z80/lkihx.c, as/link/hc08/lkihx.c
35316 as/link/mcs51/lkihx.c: unification of lkihx.c
35318 2009-12-14 Raphael Neider <rneider AT web.de>
35320 * device/include/pic16/pic16devices.txt:
35321 mask _XINST for 18f97j60 family, fix configword locations
35322 * device/include/pic16/pic18f24j50.h,
35323 device/include/pic16/pic18f25j50.h,
35324 device/include/pic16/pic18f44j50.h,
35325 device/include/pic16/pic18f45j50.h,
35326 device/include/pic16/pic18f46j50.h,
35327 device/include/pic16/pic18f66j60.h,
35328 device/include/pic16/pic18f66j65.h,
35329 device/include/pic16/pic18f67j60.h,
35330 device/include/pic16/pic18f86j60.h,
35331 device/include/pic16/pic18f86j65.h,
35332 device/include/pic16/pic18f87j60.h,
35333 device/include/pic16/pic18f96j60.h,
35334 device/include/pic16/pic18f96j65.h,
35335 device/include/pic16/pic18f97j60.h:
35336 add symbolic addresses to configuration bits
35337 * device/include/pic16/pic18fregs.h: add __CONFIG() macro
35339 2009-12-14 Borut Razem <borut.razem AT siol.net>
35341 * src/SDCCmain.c: fixed crashing if -o option is not defined,
35342 bug #2913769: sdcc crashes on cygwin
35343 * as/link/lkgb.c, as/link/z80/lkihx.c, as/link/lkrloc.c,
35344 as/link/z80/Makefile.in, as/link/z80/linkz80.dsp,
35345 as/link/z80/linkgbz80.dsp,
35346 as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
35347 as/link/hc08/Makefile.in, as/link/hc08/link_hc08.dsp,
35348 as/link/z80/lkrloc.c, as/link/hc08/lkrloc.c
35349 as/link/mcs51/lkrloc.c:
35350 unification of lkrloc.c
35352 2009-12-13 Borut Razem <borut.razem AT siol.net>
35354 * as/link/aslink.h. as/link/lksym.c, as/link/lkstore.c:
35355 StrStore() replaced with strsto(), removed as/link/lkstore.c
35356 * as/link/lkgb.c, as/link/lkgg.c, as/link/z80/lkgb.c,
35357 as/link/z80/lkgg.c, as/link/z80/Makefile.in,
35358 as/link/z80/linkz80.dsp, as/link/z80/linkgbz80.dsp,
35359 as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
35360 as/link/hc08/Makefile.in, as/link/hc08/link_hc08.dsp:
35361 as/link/z80/lkgb.c and as/link/z80/lkgg.c moved to as/link
35362 * as/link/lkelf.c: added casts to new()
35363 * as/link/lkmem.c: fixed code asld6808 crash
35364 * all.dsp, as/link/z80/linkz80.dsp, as/link/z80/linkgbz80.dsp:
35365 fixed for new sdld names
35366 * src/SDCCmain.c: fixed cygwin compilation
35368 2009-12-12 Borut Razem <borut.razem AT siol.net>
35370 * as/link/z80/lkmain.c: removed
35371 * as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
35372 as/link/z80/Makefile.in: use as/link/lkmain.c
35373 * as/link/lkmain.c: fixed command line option handling
35374 * src/port.h, src/SDCCmain.c, src/z80/main.c:
35375 fixed crt object file handling with asld, ...
35376 * as/link/lkdata.c, as/link/mcs51/lkarea.c,
35377 as/link/aslink.h, as/link/hc08/Makefile.in,
35378 as/link/mcs51/Makefile.in, as/link/z80/Makefile.in,
35379 as/link/z80/linkz80.dsp, as/link/z80/linkgbz80.dsp,
35380 as/link/mcs51/aslink.dsp, as/link/hc08/link_hc08.dsp:
35382 as/link/z80/lks19.c, as/link/z80/lkmem.c,
35383 as/link/mcs51/lks19.c, as/link/mcs51/lkmem.c,
35384 as/link/hc08/lks19.c, as/link/hc08/lkmem.c,
35385 as/link/hc08/lkelf.c: moved to as/link
35386 unification of lkelf.c, lks19.c and lkmem.c
35388 2009-12-10 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35390 * all.dsp, as/link/hc08/link_hc08.dsp, as/link/mcs51/aslink.dsp:
35391 renamed linker executables.
35393 2009-12-04 Borut Razem <borut.razem AT siol.net>
35395 * support/scripts/sdcc.nsi: renamed liker executables
35396 * as/link/mcs51/Makefile.in, as/link/hc08/Makefile.in:
35397 fixed installation linker executable name
35399 2009-12-03 Borut Razem <borut.razem AT siol.net>
35401 * device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in,
35402 device/lib/ds390/Makefile.in, device/lib/Makefile.in,
35403 device/lib/ds400/Makefile.in, device/lib/mcs51/Makefile.in,
35404 device/lib/hc08/Makefile.in:
35405 fixed bug #2907642: version of make > 3.80 required to build SDCC
35406 * as/asxxsrc/asxxxx.h: fixed typo
35408 2009-12-02 Borut Razem <borut.razem AT siol.net>
35410 * as/link/hc08/link_hc08.dsp, as/link/mcs51/aslink.dsp,
35411 as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
35412 as/link/lkmain.c: re-enabled msvc build
35414 2009-12-01 Borut Razem <borut.razem AT siol.net>
35416 * as/link/aslink.h, as/link/lkmain.c, as/link/z80/Makefile.in,
35417 as/link/z80/lkmain.c:
35418 temporarily re-added special lkmain.c for z80 and gb targets
35420 2009-11-29 Borut Razem <borut.razem AT siol.net>
35422 * src/mcs51/main.c, src/z80/main.c, src/hc08/main.c, src/ds390/main.c,
35423 as/asxxsrc/sdas.c, as/link/Makefile.in, as/link/lkmain.c,
35424 as/link/z80/Makefile.in, as/link/mcs51/Makefile.in,
35425 as/link/hc08/Makefile.in, as/link/aslink.h, as/link/sdlink.[ch],
35426 as/link/sdld.[ch], as/asxxsrc/sdas.c, as/link/lkdata.c,
35428 fixed bug in target detection, sdlink renamed to sdld
35430 2009-11-28 Borut Razem <borut.razem AT siol.net>
35432 * as/asxxsrc/asdata.c, as/asxxsrc/asmain.c, as/asxxsrc/asxxxx.h:
35433 mark sdas specifics
35434 * as/asxxsrc/sdas.c, as/asxxsrc/sdas.h, as/link/aslink.h,
35435 as/link/hc08/lkarea.c, as/link/hc08/lkmain.c, as/link/hc08/lkmem.c,
35436 as/link/hc08/Makefile.aslink, as/link/hc08/Makefile.in,
35437 as/link/lkmain.c, as/link/Makefile.in, as/link/mcs51/lkmain.c,
35438 as/link/mcs51/Makefile.aslink, as/link/mcs51/Makefile.in,
35439 as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
35440 as/link/z80/lkarea.c, as/link/z80/lkgb.c, as/link/z80/lkmain.c,
35441 as/link/z80/lkmem.c, as/link/z80/Makefile.in, src/ds390/main.c,
35442 src/hc08/main.c, src/mcs51/main.c, src/z80/main.c,
35443 as/link/sdlink.[ch]:
35444 lkmain.c unification; linkers renamed to sdlinkXXXX
35446 2009-11-27 Borut Razem <borut.razem AT siol.net>
35448 * sim/ucsim/config.guess, sim/ucsim/ltmain.sh, sim/ucsim/config.sub:
35449 upgraded to libtool 2.2.5,
35450 fixed dug #2897829: ancient-libtool sim/ucsim/ltmain.sh 1.4.2
35452 2009-11-06 Raphael Neider <rneider AT web.de>
35454 * src/pic/gen.c (pic14_getDataSize): use true size of generic
35455 pointers to fix assignment of the result of pointer arithmetics
35457 2009-11-05 Raphael Neider <rneider AT web.de>
35459 * src/pic/gen.c (genUnpackBits): setup FSR before using it, fixes
35460 "[Sdcc-user] The damned loop from hell"; plus cosmetic changes
35462 2009-11-04 Maarten Brock <sourceforge.brock AT dse.nl>
35464 * src/SDCCmem.c(defaultOClass, allocDefault): refactored
35465 * src/SDCCmem.h: added defaultOClass
35466 * src/SDCCsymt.c(processFuncArgs): use defaultOClass to support storage
35467 class in parameters, fixes bug 2761883
35468 * support/regression/tests/bug2761883.c: new, added
35469 * doc/sdccman.lyx: removed warning about ignored storage class in params
35471 2009-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
35473 * src/SDCCast.c(constExprTree): struct fields have a constant offset
35475 2009-11-01 Maarten Brock <sourceforge.brock AT dse.nl>
35477 * src/SDCCglue.c(initValPointer): fixed bug 1503239
35478 * support/regression/tests/bug1928022.c: added test cases
35480 2009-11-01 Philipp Klaus Krause <pkk AT spth.de>
35483 * src/mcs51/peeph.def,
35484 * src/avr/peeph.def,
35485 * src/z80/peeph-z80.def,
35486 * src/ds390/peeph.def,
35487 * support/regression/tests/bug-2890326.c:
35488 Fixed bug #2890326.
35490 2009-11-01 Maarten Brock <sourceforge.brock AT dse.nl>
35492 * src/SDCCsymt.c(addSymChain, checkDecl): fixed bug 1470790
35493 * support/regression/tests/zeropad.c: added test
35495 2009-11-01 Maarten Brock <sourceforge.brock AT dse.nl>
35497 * src/SDCCast.c(decorateType,CAST): fold literal pointers
35498 * src/SDCCdflow.c(usedInRemaining),
35499 * src/SDCCicode.c(geniCodeCall): fix for non-symbol values
35500 * src/SDCCsymt.c(isConstant): reverted, make literals const instead
35501 * src/SDCCval.c(constFloatVal, constFixed16x16Val, constVal, constCharVal,
35502 strVal): make literals const
35504 (valForStructElem): fixed bug 1928022 with folded literal pointers
35505 * src/ds390/gen.c(genCall),
35506 * src/hc08/gen.c(genCall),
35507 * src/mcs51/gen.c(genCall),
35508 * src/z80/gen.c(emitCall): handle literal function pointers
35509 * support/regression/tests/bug1928022.c: new, added
35511 2009-10-30 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35513 * device/include/mcs51/P89LPC922.h, device/include/mcs51/P89LPC932.h,
35514 device/include/mcs51/p89lpc938.h: fixed bug 2889428, double definition
35516 * device/include/mcs51/p89lpc925.h: for consistency with the other lpc
35517 files, renamed CMP1b and CMP2b to CMP_1 and CMP_2.
35519 2009-10-28 Maarten Brock <sourceforge.brock AT dse.nl>
35521 * src/SDCCast.c(newIfxNode): fixed bug 2887512
35522 (decorateType, '='): use different error for function pointers
35523 * src/SDCCglue.c(printIvalFuncPtr): fixed bug 2806238, don't throw away
35524 function pointer value just like that
35525 (printIval): use different error for function pointers
35526 * src/SDCCsymt.c(compareFuncType, compareType): new function to compare
35527 function pointer types
35528 (isConstant): treat literals as constant too to warn before bug 2887512
35530 2009-10-26 Borut Razem <borut.razem AT siol.net>
35532 * doc/cdbfileformat.lyx, doc/sdccman.lyx, doc/test_suite_spec.lyx:
35533 converted to LyX 1.6.4 (\lyxformat 345) format
35535 2009-10-25 Maarten Brock <sourceforge.brock AT dse.nl>
35537 * as/link/mcs51/lkarea.c(lnkarea2): fixed bug 2839083
35539 2009-10-24 Maarten Brock <sourceforge.brock AT dse.nl>
35541 * src/SDCCast.c(decorateType): also set OCLS for PTR_OP, fixed bug 2823963
35542 * src/SDCCast.h: cosmetic changes
35544 * src/SDCCicode.h: moved setOClass prototype
35545 * support/regression/tests/bug2823963.c: new, added
35547 2009-10-22 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35549 * device/include/mcs51/p89lpc9321.h, device/include/mcs51/p89lpc9331.h,
35550 device/include/mcs51/p89lpc9351.h: added
35552 2009-10-21 Maarten Brock <sourceforge.brock AT dse.nl>
35554 * src/SDCCast.c(createIvalPtr),
35555 * src/SDCCglue.c(printIvalFuncPtr): fixed bug 2881971
35556 * support/regression/tests/zeropad.c: added test
35558 2009-10-18 Borut Razem <borut.razem AT siol.net>
35560 * support/scripts/sdcc.nsi: assemblers renamed to sdasxxxx
35562 2009-10-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35564 * src/mcs51/gen.c: Fixed bug 2880909
35565 * all.dsp, device/lib/make51lib.bat: renamed assemblers to sdasxxxx
35567 2009-10-17 Borut Razem <borut.razem AT siol.net>
35569 * as/asgb/asgb.dsp, as/asgb/Makefile.in, as/asxxsrc/asexpr.c,
35570 as/asxxsrc/asmain.c, as/asxxsrc/asout.c, as/asxxsrc/sdas.c,
35571 as/asxxsrc/sdas.h, as/hc08/as_hc08.dsp, as/hc08/Makefile.in,
35572 as/mcs51/asx8051.dsp, as/mcs51/Makefile.in, as/z80/as_z80.dsp,
35573 as/z80/Makefile.in, device/lib/gbz80/Makefile.in,
35574 device/lib/hc08/Makefile.in, device/lib/mcs51/Makefile.in,
35575 device/lib/z80/Makefile.in, src/ds390/main.c, src/hc08/main.c,
35576 src/mcs51/main.c, src/z80/main.c,
35577 support/regression/ports/gbz80/spec.mk,
35578 support/regression/ports/hc08/spec.mk,
35579 support/regression/ports/ucz80/spec.mk,
35580 support/regression/ports/z80/spec.mk:
35581 assemblers renamed to sdasxxxx:
35582 as-gbz80 -> sdasgb,
35583 as-hc08 -> sdas6808
35584 asx8051 -> sdas8051
35586 * .version, doc/sdccman.lyx: bumped version to 2.9.4
35588 2009-10-12 Maarten Brock <sourceforge.brock AT dse.nl>
35590 * device/lib/_fsadd.c: optimized (for mcs51-xstack) and enhanced precision
35591 to fix some float_single regression tests
35592 * device/lib/_fssub.c: optimized
35593 * device/lib/asinf.c,
35594 * device/lib/acosf.c,
35595 * device/lib/asincosf.c: optimized
35596 * device/lib/mcs51/crtxpop.asm,
35597 * device/lib/mcs51/crtxpopbits.asm,
35598 * device/lib/mcs51/crtxpush.asm,
35599 * device/lib/mcs51/crtxpushr0.asm: new (slow) helper functions for xstack
35600 * device/lib/mcs51/Makefile.in: added crtxpush... and crtxpop...
35601 * src/mcs51/gen.c(aopForSym): optimized stack access
35602 (xstackRegisters): new, calculates bitmask
35603 (saveRegisters, unsaveRegisters): use (slow) crtxpush/pop to save memory
35604 (genFunction): optimized stack access
35605 * src/mcs51/peep.c(removeDeadMove): removed unused parm
35606 * support/regression/tests/float_single.c: enabled now passing tests
35608 2009-10-12 Borut Razem <borut.razem AT siol.net>
35610 * as/link/aslink.h, as/link/hc08/lkarea.c, as/link/hc08/lkmain.c,
35611 as/link/lkdata.c, as/link/lksym.c, as/link/mcs51/lkarea.c,
35612 as/link/mcs51/lkmain.c, as/link/z80/lkarea.c, as/link/z80/lkmain.c:
35613 itroduced zflag for case senditivity; zflag is forced to 1
35615 2009-10-10 Borut Razem <borut.razem AT siol.net>
35617 * as/asgb/Makefile.in, as/z80/Makefile.in: added -lm to LDFLAGS
35619 2009-10-10 Borut Razem <borut.razem AT siol.net>
35621 * as/hc08/m08adr.c, as/hc08/m08mch.c, as/hc08/m6808.h,
35622 as/mcs51/i51adr.c, as/mcs51/i51mch.c, as/mcs51/i51pst.c,
35623 as/mcs51/i8051.h, as/z80/z80.h, as/z80/z80adr.c, as/z80/z80mch.c:
35624 targets synced with asxxxx v2.0 and later
35625 * as/asgb/asgb.dsp, as/asgb/clean.mk, as/asgb/conf.mk, as/asgb/gb.h,
35626 as/asgb/gbadr.c, as/asgb/gbext.c, as/asgb/gbmch.c, as/asgb/gbpst.c,
35627 as/asgb/Makefile.in,
35628 as/Makefile.in, as/z80/as_gbz80.dsp,
35629 as/mcs51/i51ext.c, as/z80/Makefile.in, as/z80/z80.h, as/z80/z80adr.c,
35630 as/z80/z80ext.c, as/z80/z80mch.c, as/z80/z80pst.c,
35631 configure, configure.in, Makefile.in, sdcc.dsw:
35632 split asz80 and asgb
35633 * as/asgb/gb.h, as/asgb/gbmch.c, as/asxxsrc/asdata.c,
35634 as/asxxsrc/asexpr.c, as/asxxsrc/aslex.c, as/asxxsrc/asmain.c,
35635 as/asxxsrc/asxxxx.h, as/hc08/m08adr.c, as/hc08/m08mch.c,
35636 as/hc08/m6808.h, as/link/aslink.h, as/link/hc08/lkarea.c,
35637 as/link/hc08/lkelf.c, as/link/hc08/lkihx.c, as/link/hc08/lkmain.c,
35638 as/link/hc08/lkrloc.c, as/link/hc08/lks19.c, as/link/lkdata.c,
35639 as/link/lkeval.c, as/link/lkhead.c. as/link/lklist.c,
35640 as/link/lknoice.c, as/link/lksym.c, as/link/mcs51/lkarea.c,
35641 as/link/mcs51/lkihx.c, as/link/mcs51/lkmain.c,
35642 as/link/mcs51/lkrloc.c, as/link/mcs51/lks19.c, as/link/z80/lkarea.c,
35643 as/link/z80/lkihx.c, as/link/z80/lkmain.c, as/link/z80/lkrloc.c,
35644 as/link/z80/lks19.c, as/mcs51/i51mch.c, as/mcs51/i8051.h,
35645 as/z80/z80.h, as/z80/z80mch.c: type Addr_T renamed to a_uint,
35646 function comma() moved to aslex.c
35648 2009-10-09 Maarten Brock <sourceforge.brock AT dse.nl>
35651 * src/SDCCsymt.c(mergeDeclSpec): fixed bug 1376285
35653 2009-10-08 Maarten Brock <sourceforge.brock AT dse.nl>
35656 * src/SDCCerr.h: changed W_STRUCT_AS_ARG to error E_STRUCT_AS_ARG
35657 * src/SDCCsymt.c(aggregateToPointer),
35658 * src/SDCCast.c(processParms): throw error for struct parameters,
35661 2009-10-07 Maarten Brock <sourceforge.brock AT dse.nl>
35663 * src/SDCCglue.c(initValPointer, initPointer): fixed bug 2166213
35665 2009-10-05 Borut Razem <borut.razem AT siol.net>
35667 * as/asxxsrc/asmain.c:
35668 removed forced wide listing format for symbol table and
35669 removed forced enable case sensitivity for symbols in case of sdas
35671 2009-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
35673 * as/asxxsrc/assubr.c: include sdas.h
35674 * as/asxxsrc/assym.c(symeq): type of n is size_t
35675 * src/SDCCglue.c(initPointer): fixed bug 2655200 by using oclass->ptrType
35676 * support/regression/tests/bug2655200.c: enabled --model-medium
35678 2009-10-04 Borut Razem <borut.razem AT siol.net>
35680 * as/asxxsrc/asdata.c, as/asxxsrc/aslex.c, as/asxxsrc/assubr.c,
35681 as/asxxsrc/assym.c, as/asxxsrc/asxxxx.h:
35682 partially synced with asxxxx v2.0
35683 * src/ds390/main.c, src/hc08/main.c, src/mcs51/main.c, src/z80/main.c:
35684 added -z and -w option to assembler invocation
35686 2009-10-04 Maarten Brock <sourceforge.brock AT dse.nl>
35688 * device/include/string.h,
35689 * device/lib/_strlen.c: return size_t
35690 * device/lib/_memchr.c,
35691 * device/lib/_strcspn.c: cosmetic changes
35692 * device/lib/sincosf.c,
35693 * device/lib/cosf.c,
35694 * device/lib/sinf.c: use BOOL instead of larger int
35696 * src/z80/mappings.i: cosmetic changes
35697 * src/SDCCsymt.c (pointerTypes, mergeDeclSpec, checkSClass): fixed bug 2817646
35698 (checkFunction): disabled __naked
35699 (dbuf_printTypeChain): more like RFE 2824498, print C-ish
35700 (isRestrict): added
35701 * src/SDCCsymt.h: added IS_RESTRICT, mergeDeclSpec, isRestrict
35702 * src/SDCC.y: use mergeDeclSpec to fix bug 2817646
35703 * src/SDCCicode.c (checkPtrQualifiers, checkTypes, geniCodeAssign,
35704 geniCodeParms, geniCodeCall): fixed bug 1302048
35706 * src/SDCCerr.h: added warning W_TARGET_LOST_QUALIFIER
35707 * support/regression/tests/bug-136564.c,
35708 * support/regression/tests/bug-223113.c,
35709 * support/regression/tests/bug1839277.c,
35710 * support/regression/tests/bug2655200.c: added necessary const keywords
35711 * support/regression/tests/strtok.c: removed incorrect const keyword
35712 * support/regression/tests/bug2817646.c: new, added
35714 * doc/sdccman.lyx: bumped version to 2.9.3
35716 2009-10-03 Philipp Klaus Krause <pkk AT spth.de>
35717 * src/z80/z80-peeph.def:
35718 Reenabled unproblematic peephole changes.
35720 2009-10-03 Philipp Klaus Krause <pkk AT spth.de>
35721 * src/z80/z80-peeph.def:
35722 Reverted recent peephole changes.
35724 2009-09-30 Philipp Klaus Krause <pkk AT spth.de>
35726 A step towards #1923898.
35728 2009-09-29 Philipp Klaus Krause <pkk AT spth.de>
35730 Minor 16-bit addition improvement.
35732 2009-09-28 Philipp Klaus Krause <pkk AT spth.de>
35733 * src/z80/ralloc.c,
35734 * src/z80/peeph-z80.def:
35735 Improved usage of accumulator as inter-i-code temporary.
35737 2009-09-28 Philipp Klaus Krause <pkk AT spth.de>
35739 Burn the corpses to fight necromancy.
35741 2009-09-27 Philipp Klaus Krause <pkk AT spth.de>
35743 * src/z80/ralloc.c,
35744 * src/z80/peeph-z80.def
35745 Improved usage of accumulator as inter-i-code temporary.
35747 2009-09-26 Philipp Klaus Krause <pkk AT spth.de>
35748 * src/z80/peeph-z80.def:
35749 Minor peephole improvement.
35751 2009-09-26 Philipp Klaus Krause <pkk AT spth.de>
35753 src/z80/peeph-z80.def:
35756 2009-09-20 Philipp Klaus Krause <pkk AT spth.de>
35757 * device/include/string.h,
35758 device/lib/_strspn.c,
35759 device/lib/incl.mk,
35760 device/lib/_memchr.c,
35761 device/lib/_strcspn.c,
35762 device/lib/_memcmp.c:
35763 Minor string library improvements, including #772292.
35765 2009-09-20 Philipp Klaus Krause <pkk AT spth.de>
35767 Fixed #2819835 applying #2853488.
35769 2009-09-20 Philipp Klaus Krause <pkk AT spth.de>
35770 * debugger/mcs51/sdcdb.c,
35773 src/z80/mappings.i,
35776 support/librarian/sdcclib.c:
35777 Applied spelling patch #2862563.
35779 2009-09-15 Maarten Brock <sourceforge.brock AT dse.nl>
35781 * device/include/mcs51/at89Sx051.h: new, added, applied patch 2858106,
35784 2009-09-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
35786 * device/include/mcs51/p89v51rd2.h: Watchdog Timer Control sfr is
35789 2009-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
35791 * src/mcs51/gen.c (genAnd, genOr): applied patch for bug 2719592,
35792 thanks to Robert Larice
35793 * support/regression/tests/bug2719592.c: new, added
35795 2009-09-02 Borut Razem <borut.razem AT siol.net>
35797 * support/regression/ports/gbz80/spec.mk,
35798 support/regression/ports/ucz80/spec.mk,
35799 support/regression/ports/z80/spec.mk: fixed *z80 regression test if
35800 built ran directly from sdcc source directory
35802 2009-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
35804 * as/asxxsrc/asmain.c,
35805 * as/asxxsrc/asxxxx.h: fixed warning, main should return int
35806 * as/hc08/Makefile.in,
35807 * as/mcs51/Makefile.in: added -lm to LDFLAGS
35809 2009-08-31 Raphael Neider <rneider AT web.de>
35811 * device/lib/_fsmul.c, device/lib/pic/libsdcc/fsmul.c,
35812 device/lib/pic16/libsdcc/float/fsmul.c: fix overflow during rounding
35813 * support/regression/tests/float.c: add testcase for the fix
35815 2009-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
35817 * src/mcs51/gen.c (aopGet): applied patch 2837100 to fix bug 2805333
35818 * support/regression/tests/bug2805333.c: new, added,
35819 thanks Ruud van Silfhout
35821 2009-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
35823 * device/include/ctype.h: removed _REENTRANT as they are already with
35824 --stack-auto, optimized _tolower and _toupper with char casts
35825 * device/include/string.h,
35826 * device/lib/_strcat.c,
35827 * device/lib/_strchr.c,
35828 * device/lib/_strcmp.c,
35829 * device/lib/_strcpy.c,
35830 * device/lib/_strcspn.c,
35831 * device/lib/_strlen.c,
35832 * device/lib/_strncat.c,
35833 * device/lib/_strncmp.c,
35834 * device/lib/_strncpy.c,
35835 * device/lib/_strpbrk.c,
35836 * device/lib/_strrchr.c,
35837 * device/lib/_strspn.c,
35838 * device/lib/_strstr.c,
35839 * device/lib/_strtok.c,
35840 * device/lib/pic16/libc/stdio/printf_small.c,
35841 * device/lib/pic16/libc/stdio/printf_tiny.c,
35842 * device/lib/pic16/libc/stdio/vfprintf.c,
35843 * device/lib/printf_large.c,
35844 * device/lib/time.c: added required const keywords to pointers
35845 * device/lib/pic16/debug/Makefile.in: changed ommitFramePtr to omitFramePtr
35846 * support/regression/tests/bug-716242.c,
35847 * support/regression/tests/nullstring.c,
35848 * support/regression/tests/strstr.c,
35849 * support/regression/tests/strtok.c: added const and set svn-properties
35850 * support/regression/tests/bug1908493.c: added cast
35851 * support/regression/tests/float_single.c: fixed check for result=0.0
35853 2009-08-28 Borut Razem <borut.razem AT siol.net>
35855 * as/asxxsrc/asout.c: as/mcs51/asout.c moved to as/asxxsrc/asout.c
35856 * as/mcs51/asout.c, as/hc08/asout.c, as/z80/asout.c: removed
35857 * as/asxxsrc/sdas.c, as/asxxsrc/sdas.h:
35858 added function is_sdas_target_mcs51_like()
35859 * as/z80/as_gbz80.dsp, as/hc08/as_hc08.dsp, as/z80/as_z80.dsp,
35860 as/mcs51/asx8051.dsp, as/hc08/Makefile.in, as/mcs51/Makefile.in,
35861 as/z80/Makefile.in: updated project files
35862 * as/asxxsrc/asexpr.c: as/mcs51/asexpr.c moved to as/asxxsrc/asexpr.c
35863 * as/mcs51/asexpr.c, as/hc08/asexpr.c, as/z80/asexpr.c: removed
35864 * as/z80/as_gbz80.dsp, as/hc08/as_hc08.dsp, as/z80/as_z80.dsp,
35865 as/mcs51/asx8051.dsp, as/hc08/Makefile.in, as/mcs51/Makefile.in,
35866 as/z80/Makefile.in: updated project files
35867 * support/regression/ports/z80/spec.mk:
35868 unified as-z80 and as-gbz80 call convention with other assemblers
35870 2009-08-27 Borut Razem <borut.razem AT siol.net>
35872 * as/asxxsrc/asmain.c:
35873 HUGE changed to ASXXXX_HUGE due to redefinition in math.h
35874 * support/regression/ports/gbz80/spec.mk,
35875 support/regression/ports/ucz80/spec.mk,
35876 support/regression/ports/z80/spec.mk:
35877 unified as-z80 and as-gbz80 call convention with other assemblers
35879 2009-08-26 Borut Razem <borut.razem AT siol.net>
35881 * as/asxxsrc/sdas.c, as/asxxsrc/sdas.h: added
35882 * as/asxxsrc/asmain.c: calls sdas
35883 * src/z80/main.c: unified as-z80 and as-gbz80 call convention with
35885 * as/hc08/Makefile.in, as/mcs51/Makefile.in, as/z80/Makefile.in,
35886 as/hc08/as_hc08.dsp, as/mcs51/asx8051.dsp, as/z80/as_gbz80.dsp,
35887 as/z80/as_z80.dsp: updated project files
35888 * device/lib/z80/Makefile.in, device/lib/gbz80/Makefile.in:
35889 unified call convention, sync with device/lib/z80/Makefile.in
35890 * as/asxxsrc/aslist.c: as/mcs51/aslist.c moved to as/asxxsrc/aslist.c
35891 * as/asxxsrc/asxxxx.h, as/z80/asout.c, as/mcs51/asout.c,
35893 HUGE changed to ASXXXX_HUGE due to redefinition in math.h
35894 * as/asxxsrc/asmain.c: forced wflag and zflag
35895 * as/z80/aslist.c, as/mcs51/aslist.c, as/hc08/aslist.c: removed
35897 2009-08-25 Borut Razem <borut.razem AT siol.net>
35899 * as/hc08/Makefile.in, as/mcs51/Makefile.in, as/z80/Makefile.in:
35900 removed duplicated asdata.c
35901 * as/hc08/aslist.c, as/hc08/asmain.c, as/hc08/asout.c,
35902 as/mcs51/aslist.c, as/mcs51/asmain.c, as/mcs51/asout.c:
35903 fixed copy&paste problem in S_ORG
35904 * as/asxxsrc/asmain.c, as/hc08/Makefile.in, as/mcs51/Makefile.in,
35905 as/z80/Makefile.in,
35906 * as/mcs51/asx8051.dsp, as/z80/as_z80.dsp, as/hc08/as_hc08.dsp,
35907 as/z80/as_gbz80.dsp: as/mcs51/asmain.c moved to s/asxxsrc/asmain.c
35908 * as/hc08/asmain.c, as/z80/asmain.c: removed
35909 * as/asxxsrc/asmain.c, as/asxxsrc/asdata.c, as/asxxsrc/asxxxx.h:
35910 added wflag and zflag
35911 * as/hc08/aslist.c, as/hc08/asout.c, as/mcs51/aslist.c,
35912 as/mcs51/asout.c: fixed compiler wrning about unused variables
35914 2009-08-24 Borut Razem <borut.razem AT siol.net>
35916 * as/asxxsrc/asdata.c, as/asxxsrc/asxxxx.h, as/asxxsrc/aslex.c,
35917 as/asxxsrc/asnoice.c, as/asxxsrc/assubr.c, as/asxxsrc/assym.c,
35918 as/hc08/asexpr.c, as/hc08/aslist.c, as/hc08/asmain.c,
35919 as/hc08/asout.c, as/hc08/m08adr.c, as/hc08/m08ext.c,
35920 as/hc08/m08mch.c, as/hc08/m08pst.c, as/mcs51/asexpr.c,
35921 as/mcs51/aslist.c, as/mcs51/asmain.c, as/mcs51/asout.c,
35922 as/mcs51/i51adr.c, as/mcs51/i51ext.c, as/mcs51/i51mch.c,
35923 as/mcs51/i51pst.c, as/z80/asexpr.c, as/z80/aslist.c,
35924 as/z80/asmain.c, as/z80/asout.c, as/z80/z80adr.c,
35925 as/z80/z80ext.c, as/z80/z80mch.c, as/z80/z80pst.c,
35926 as/hc08/as_hc08.dsp, as/mcs51/asx8051.dsp, as/z80/as_gbz80.dsp,
35928 as/hc08/Makefile.in, as/mcs51/Makefile.in, as/z80/Makefile.in:
35929 as/mcs51/asdata.c moved to as/asxxsrc/asdata.c,
35930 as/mcs51/asm.h moved to as/asxxsrc/asxxxx.h
35931 * as/hc08/asdata.c, as/mcs51/asdata.c, as/z80/asdata.c,
35932 as/hc08/asm.h, as/mcs51/asm.h, as/z80/asm.h: removed
35934 2009-08-10 Borut Razem <borut.razem AT siol.net>
35936 * as/asxxsrc/assubr.c, as/hc08/asm.h, as/hc08/asmain.c,
35937 as/mcs51/asm.h, as/mcs51/asmain.c, as/z80/asm.h:
35938 increnemt aserr only on fatal errors
35940 2009-08-09 Borut Razem <borut.razem AT siol.net>
35942 * as/asxxsrc/assubr.c: moved and mergerd from as/mcs51/assubr.c
35943 as/hc08/assubr.c, as/mcs51/assubr.c, as/z80/assubr.c: deleted
35944 as/hc08/asmain.c, as/mcs51/asmain.c: removed variable fatalError
35945 * as/z80/as_gbz80.dsp, as/hc08/as_hc08.dsp,
35946 as/z80/as_z80.dsp, as/mcs51/asx8051.dsp: assubr.c moved to as/asxxsrc
35947 * as/hc08/Makefile.as_hc08, as/mcs51/Makefile.asx8051,
35948 as/hc08/Makefile.bcc, as/link/hc08/Makefile.bcc,
35949 as/link/mcs51/Makefile.bcc, as/mcs51/Makefile.bcc,
35950 as/z80/Makefile.bcc, device/examples/ds390/tinitalk/Makefile.bcc,
35951 Makefile.bcc, src/avr/Makefile.bcc, src/ds390/Makefile.bcc,
35952 src/hc08/Makefile.bcc, src/izt/Makefile.bcc, src/Makefile.bcc,
35953 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/pic/Makefile.bcc,
35954 src/xa51/Makefile.bcc, src/z80/Makefile.bcc, Bcc.inc
35955 support/cpp/Makefile.bcc, support/librarian/Makefile.bcc,
35956 support/packihx/Makefile.bcc: removed unmaintained makefiles,
35957 implemented RFE #2786753: Remove Borland C support
35958 * support/Util/dbuf_string.h: include stdio.h
35960 2009-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
35962 * device/lib/pic16/libc/Makefile.in,
35963 * device/lib/pic16/libdev/Makefile.in,
35964 * device/lib/pic16/libio/Makefile.in,
35965 * device/lib/pic16/libm/Makefile.in,
35966 * device/lib/pic16/libsdcc/Makefile.in,
35967 * device/lib/pic16/startup/Makefile.in,
35968 * device/lib/pic16/Makefile.common,
35969 * device/lib/pic16/Makefile.in,
35970 * src/hc08/main.c (_hc08_setDefaultOptions),
35971 * src/pic16/gen.c (genFunction, genEndFunction),
35975 * src/z80/gen.c (genFunction),
35976 * doc/sdccman.lyx: changed ommitFramePtr to omitFramePtr
35977 * src/mcs51/main.c (_mcs51_finaliseOptions),
35978 * src/SDCCmain.c (parseCmdLine): moved mcs51 specific code for float_rent
35980 * src/SDCCast.c (decorateType): removed incorrect fix for bug 1372851 which
35982 (CodePtrPointsToConst),
35983 * src/SDCCicode.c (isOperandVolatile),
35984 * src/SDCCsymt.h (IS_CONSTANT, IS_VOLATILE),
35985 * src/SDCCsymt.c (structElemType, checkSClass, isConstant, isVolatile)
35986 * src/SDCCglue.c (emitRegularMap, initPointer),
35987 * src/pic16/glue.c (pic16_initPointer): skip arrays when setting/checking
35988 const/volatile, fixes bugs 1372851 and 1458678
35989 * src/SDCCbitv.c (bitVectnBitsOn): made mask const
35990 * src/SDCCicode.c (opFromOpWithDU),
35991 * src/SDCCopt.c (replaceRegEqv): use OPDEFS and OP_USES
35992 * src/SDCCptropt.c: cosmetic changes
35993 * src/z80/gen.c (isRegString, isConstantString): renamed isConstant and
35995 * support/regression/tests/bug1458678.c: new, added
35997 2009-08-06 Philipp Klaus Krause <pkk AT spth.de>
36001 * src/z80/peeph-z80.def:
36004 2009-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
36006 * as/link/lksym.c (newsym): only allow redefinition in ABS area
36009 * src/mcs51/main.c,
36010 * src/z80/main.c: made RSEG absolute
36011 * src/SDCCglue.c (emitDebugSym): new, factored out
36012 (emitRegularMap): add org 0x0000 to SFR/SBIT,
36013 (emitRegularMap, emitStaticSeg) fixed bug for absolute debug symbols
36015 * src/SDCCsymt.h: cosmetic changes
36016 * src/SDCCsymt.c (dbuf_printTypeChain): implemented RFE 2824498
36018 2009-07-26 Borut Razem <borut.razem AT siol.net>
36020 * support/regression/Makefile.in,
36021 support/regression/ports/pic14/spec.mk,
36022 support/regression/ports/z80/spec.mk,
36023 support/regression/ports/pic16/spec.mk,
36024 support/regression/ports/gbz80/spec.mk,
36025 support/regression/ports/ds390/spec.mk,
36026 support/regression/ports/hc08/spec.mk,
36027 support/regression/ports/ucz80/spec.mk,
36028 support/regression/ports/host/spec.mk,
36029 support/regression/ports/mcs51-common/spec.mk,
36030 support/regression/ports/xa51/spec.mk:
36031 preparations for running WIN32 regression test on Linux / wine
36033 2009-07-22 Borut Razem <borut.razem AT siol.net>
36035 * support/scripts/sdcc.nsi: add SDCC bin directory to path if silent mode
36037 2009-07-20 Maarten Brock <sourceforge.brock AT dse.nl>
36039 * as/asranlib/asranlib.dsp: removed all windows library dependencies
36040 * as/mcs51/asx8051.dsp: no debugging for Release build
36042 * src/SDCCast.c (createRMW): IS_DEREF now also checks for PTR_OP
36043 * src/SDCCicode.c (geniCodeStruct): added assert for really being a struct,
36044 (ast2iCode): IS_DEREF now also checks for PTR_OP, fixes bug 2821333
36045 * src/SDCCptropt.c: changed all TAB's to spaces
36046 * support/regression/tests/float_single.c,
36047 * device/lib/asincosf.c: removed unnecessary macros, const on global always
36048 means 'put it in code memory', and 'reentrant' is predefined in testfwk.h
36050 2009-07-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36052 * doc/sdccman.lyx: various changes
36053 * src/SDCCmain.c: fix typo in help text
36055 2009-07-19 Borut Razem <borut.razem AT siol.net>
36057 * src/SDCCast.c: removed check for "unanticipated opcode in tree",
36058 introduced with patch #2802510
36060 2009-07-18 Borut Razem <borut.razem AT siol.net>
36062 * src/SDCCmain.c: RFE #1204438 - make SDCC a multicall binary,
36064 * as/link/lkar.c: fixed bug 2817508 - double free or memory corruption
36066 * src/SDCCast.c, support/regression/tests/bug2740884.c:
36067 applied patch #2802510 - fix for bug #2740884,
36068 fixed bug #2740884 - Incorrect assignment in array of structs,
36069 thanks to Robert Larice
36070 * as/hc08/clean.mk, as/link/clean.mk, as/link/hc08/clean.mk,
36071 as/link/mcs51/clean.mk, as/link/z80/clean.mk, as/mcs51/clean.mk,
36072 as/z80/clean.mk, device/lib/clean.mk, device/lib/large/Makefile.in,
36073 device/lib/Makefile.in, device/lib/mcs51/Makefile.in,
36074 device/lib/medium/Makefile.in, device/lib/pic/Makefile.in,
36075 device/lib/small/Makefile.in, support/cpp/Makefile.in:
36076 applied patch #2801385 - make clean and distclean,
36077 fixed bug #2799101 - make clean does not remove .obj in /as,
36078 fixed bug #2783160 - "make distclean" fails to clean properly,
36079 thanks to Robert Larice
36080 * .version, doc/sdccman.lyx: changed sdcc version to 2.9.2
36082 2009-07-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36084 * src/SDCCmain.c: make SDCC a multicall binary, RFE #1204438,
36085 allows choosing the port by renaming the sdcc binary
36086 (to f.e. z80-sdcc) or by calling SDCC from a suitable link
36087 (parameter -m takes precedence)
36088 * src/SDCCglue.c: be more verbose about constants in code space
36090 2009-07-07 Raphael Neider <rneider AT web.de>
36092 * src/pic16/device.c (find_in_list): ignore case during device
36093 selection, fixes #2816817
36095 2009-06-24 Raphael Neider <rneider AT web.de>
36097 * src/pic/ralloc.c (pic14_assignRegisters): avoid incorrect register
36098 reuse among functions (fixes #2810015), cosmetic changes
36100 2009-06-22 Raphael Neider <rneider AT web.de>
36102 * device/include/pic16/adc.h,
36103 device/include/pic16/pic16devices.txt,
36104 device/include/pic16/pic18f1[34]k50.h,
36105 device/include/pic16/pic18f[24][456]j50.h,
36106 device/include/pic16/pic18f[68][56]27.h,
36107 device/include/pic16/pic18f[68][67]22.h,
36108 device/include/pic16/pic18fregs.h,
36109 device/lib/pic16/libdev/Makefile.am,
36110 device/lib/pic16/libdev/pic18f1[34]k50.c,
36111 device/lib/pic16/libdev/pic18f[24][456]j50.c,
36112 device/lib/pic16/libdev/pic18f[68][56]27.c,
36113 device/lib/pic16/libdev/pic18f[68][67]22.c,
36114 device/lib/pic16/libio/Makefile.am,
36115 device/lib/pic16/libio/adc/adcbusy.c,
36116 device/lib/pic16/libio/adc/adcopen.c,
36117 device/lib/pic16/libio/adc/adcsetch.c,
36118 device/lib/pic16/libio/i2c/i2copen.c,
36119 device/lib/pic16/pics.all,
36120 doc/sdccman.lyx: added families 18f1[34]k50 (#2783178),
36121 18f[24][456]j50 (#2794505), and 18f[68][56]27/18f[68][67]22
36122 * device/lib/pic16/aclocal.m4,
36123 device/lib/pic16/configure,
36124 device/lib/pic16/Makefile.in,
36125 device/lib/pic16/debug/Makefile.in,
36126 device/lib/pic16/libc/Makefile.in,
36127 device/lib/pic16/libdev/Makefile.in,
36128 device/lib/pic16/libio/Makefile.in,
36129 device/lib/pic16/libm/Makefile.in,
36130 device/lib/pic16/libsdcc/Makefile.in,
36131 device/lib/pic16/startup/Makefile.in: regenerated
36133 2009-06-13 Borut Razem <borut.razem AT siol.net>
36135 * src/SDCCasm.c: fixed bug #2805536: Assembly code comment cause Internal Error
36136 * support/regression/tests/macro.c: new, added
36138 2009-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
36141 * src/SDCCsymt.c (finalizeSpec),
36142 * src/SDCCsymt.h: applied patch for bug 2798646, thanks Robert Larice
36143 * src/SDCCsymt.c (initCSupport): also handle --funsigned-char for floating
36144 point support routines
36145 * src/z80/ralloc.c (regTypeNum): fixed warning
36146 * device/lib/_atof.c,
36147 * support/regression/tests/args.c,
36148 * support/regression/tests/arithcse.c,
36149 * support/regression/tests/bitvars.c,
36150 * support/regression/tests/compare.c,
36151 * support/regression/tests/onebyte.c,
36152 * support/regression/tests/shifts.c,
36153 * support/regression/tests/uminus.c,
36154 * support/regression/tests/vaargs.c: fixed for --funsigned-char
36156 2009-05-30 Borut Razem <borut.razem AT siol.net>
36158 * device/include/mcs51/80c51xa.h: moved to device/include/xa51
36159 device/include/mcs51/ds400rom.h: moved to device/include/ds400
36160 device/include/mcs51/serial390.h: moved to device/include/ds390
36161 device/include/mcs51/ds80c390.h, device/include/mcs51/tinibios.h:
36162 moved back to device/include, since they are used also by ds400
36163 device/include/Makefile.in: new include directories ds390, ds400
36165 * device/include/stdlib.h: coorected types for _itoa and _ltoa
36166 * device/lib/ds400/Makefile.in: added include serch path include/ds400
36168 2009-05-25 Philipp Klaus Krause <pkk AT spth.de>
36170 Fixed an ancient, but difficult to reproduce and detect bug, that
36171 led to stack corruption under certain conditions.
36173 2009-05-25 Borut Razem <borut.razem AT siol.net>
36175 * device/include/80c51xa.h, device/include/ds400rom.h,
36176 device/include/ds80c390.h, device/include/ser.h,
36177 device/include/ser_ir.h, device/include/serial.h,
36178 device/include/serial390.h, device/include/tinibios.h:
36179 moved to device/include/mcs51/
36180 device/include/z180.h:
36181 moved to device/include/z80/
36182 implemented RFE #1930974: Some device specific header files are not
36185 2009-05-24 Philipp Klaus Krause <pkk AT spth.de>
36187 * src/z80/ralloc.c,
36188 src/z80/peeph-z80.def,
36190 Propagate rematerializability over addition of constants.
36192 2009-05-24 Philipp Klaus Krause <pkk AT spth.de>
36194 * src/z80/ralloc.c:
36195 Improved use of hl as inter-i-code temporary.
36197 2009-05-24 Philipp Klaus Krause <pkk AT spth.de>
36200 Fixed bug #2795942.
36202 2009-05-22 Raphael Neider <rneider AT web.de>
36204 * src/pic16/gen.c (genGenericShift): do not overwrite the shift count
36205 for `val = 1 << val', fixes bug #2795131
36207 2009-05-18 Maarten Brock <sourceforge.brock AT dse.nl>
36209 * src/SDCCglue.c (printIvalBitFields): cleaned up
36210 * src/pic16/glue.c (pic16_printIvalBitFields): same fix for bug 2791782
36212 2009-05-17 Maarten Brock <sourceforge.brock AT dse.nl>
36214 * device/lib/_iscntrl.c,
36215 * device/lib/_isdigit.c,
36216 * device/lib/_isgraph.c,
36217 * device/lib/_islower.c,
36218 * device/lib/_isprint.c,
36219 * device/lib/_ispunct.c,
36220 * device/lib/_isspace.c,
36221 * device/lib/_isupper.c,
36222 * device/lib/_isxdigit.c,
36223 * device/lib/_ltoa.c,
36224 * device/lib/pic16/libc/ctype/iscntrl.c,
36225 * device/lib/pic16/libc/ctype/isdigit.c,
36226 * device/lib/pic16/libc/ctype/isgraph.c,
36227 * device/lib/pic16/libc/ctype/islower.c,
36228 * device/lib/pic16/libc/ctype/isprint.c,
36229 * device/lib/pic16/libc/ctype/ispunct.c,
36230 * device/lib/pic16/libc/ctype/isspace.c,
36231 * device/lib/pic16/libc/ctype/isupper.c,
36232 * device/lib/pic16/libc/ctype/isxdigit.c,
36233 * device/lib/pic16/libc/stdlib/ltoa.c: fixed warnings after patch 2704189
36234 * src/SDCCglue.c (printIvalBitFields): fixed bug 2791782, a bug with
36235 bitfields in next integer and an endianness bug for hc08
36236 * support/regression/tests/bitfields.c: added testcase for these bugs
36238 2009-05-09 Philipp Klaus Krause <pkk AT spth.de>
36240 * src/z80/ralloc.c,
36242 support/regression/test/bug-2646174.c:
36243 Fixed bug #2646174.
36245 2009-05-09 Philipp Klaus Krause <pkk AT spth.de>
36247 * src/z80/peeph-z80.def:
36248 Fixed bug #1924707.
36250 2009-05-09 Borut Razem <borut.razem AT siol.net>
36252 * doc/sdccman.lyx: implemented RFE #2786753: Remove Borland C support
36254 2009-05-09 Maarten Brock <sourceforge.brock AT dse.nl>
36256 * device/include/mcs51/uPSD32xx.h: added, thanks G.H.J. Morsink
36257 * device/include/mcs51/C8051F920.h: added, from patch 2486338,
36258 thanks Steven Borley
36260 2009-05-07 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
36262 * support/librarian/sdcclib.c: fixed bugs in GetNameFromPath() and
36263 ChangeExtension(). Thanks to Jon Nall for pointed the bug out and
36266 2009-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
36268 * doc/sdccman.lyx: documented pointer casting for vararg function params
36270 2009-05-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
36272 * as/link/hc08/link_hc08.dsp, as/link/mcs51/aslink.dsp,
36273 as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp: replaced getline.c
36276 2009-05-04 Borut Razem <borut.razem AT siol.net>
36278 * support/cpp/sdcpp.c, support/cpp/version.c: fixed crash due to
36279 missing initialization of line_table,
36280 corrected sdcpp version to 4.4.0
36282 2009-04-19 Philipp Klaus Krause <pkk AT spth.de>
36284 * device/lib/z80/div.s:
36285 Applied patch #2764475 from Marco Bodrato to speed up Z80 division.
36287 2009-05-03 Borut Razem <borut.razem AT siol.net>
36289 * as/link/hc08/Makefile.in, as/link/mcs51/Makefile.in,
36290 as/link/z80/Makefile.in, as/link/lk_readnl.c, as/link/lk_readnl.h,
36291 as/link/lklib.c, as/link/lkrel.c, as/link/lksdcclib.c:
36292 getline renamed to lk_readln to prevent conflicts with Fedora 11
36293 glibc-2.9.90-19 getline;
36294 see https://bugzilla.redhat.com/show_bug.cgi?id=488217
36296 2009-05-01 Maarten Brock <sourceforge.brock AT dse.nl>
36298 * src/SDCCast.c (processParms): fixed bug 2783061 by applying patch from
36299 Keith Packard, thanks
36300 * support/regression/tests/bug2783061.c: new, added
36302 2009-04-28 Borut Razem <borut.razem AT siol.net>
36304 * support/cpp/output.h, support/cpp/opts-common.c,
36305 support/cpp/c-ppoutput.c, support/cpp/cppdefault.c,
36306 support/cpp/system.h, support/cpp/cppdefault.h,
36307 support/cpp/prefix.c, support/cpp/except.h, support/cpp/hwint.h,
36308 support/cpp/prefix.h, support/cpp/libiberty/safe-ctype.h,
36309 support/cpp/libiberty/filenames.h, support/cpp/libiberty/xstrdup.c,
36310 support/cpp/libiberty/md5.c, support/cpp/libiberty/obstack.h,
36311 support/cpp/sdcpp.c, support/cpp/intl.h, support/cpp/sdcpp.h
36312 support/cpp/libcpp/symtab.c, support/cpp/libcpp/directives.c,
36313 support/cpp/libcpp/macro.c, support/cpp/libcpp/include/cpplib.h,
36314 support/cpp/libcpp/include/symtab.h,
36315 support/cpp/libcpp/include/line-map.h,
36316 support/cpp/libcpp/include/cpp-id-data.h,
36317 support/cpp/libcpp/include/mkdeps.h, support/cpp/libcpp/files.c,
36318 support/cpp/libcpp/line-map.c, support/cpp/libcpp/init.c,
36319 support/cpp/libcpp/identifiers.c, support/cpp/libcpp/ucnid.h,
36320 support/cpp/libcpp/traditional.c, support/cpp/libcpp/errors.c,
36321 support/cpp/libcpp/expr.c, support/cpp/libcpp/internal.h,
36322 support/cpp/libcpp/mkdeps.c, support/cpp/libcpp/lex.c,
36323 support/cpp/libcpp/system.h, support/cpp/libcpp/charset.c,
36324 support/cpp/opts.h, support/cpp/sdcpp-opts.c:
36325 SDCPP synchronized with GCC CPP release version 4.4.0.
36326 SDCPP license changed to GPL version 3 or later.
36328 2009-04-28 Borut Razem <borut.razem AT siol.net>
36330 * fixed GCC 4.4.0 mingw compilation:
36331 sim/ucsim/cmd.src/cmdlex.cc: regenerated - added #include <stdio.h>
36332 * src/SDCCsymt.c: fixed warning:
36333 suggest parentheses around operand of '!' or change '&' to '&&' or
36335 * support/scripts/sdcc_mingw32: sync with sdcc-build
36337 2009-04-27 Raphael Neider <rneider AT web.de>
36339 * src/pic16/gen.c (genNearPointerGet): fix double indirect
36340 access to bitfields (#2782405)
36342 2009-04-27 Borut Razem <borut.razem AT siol.net>
36344 * fixed GCC 4.4.0 mingw compilation:
36345 * sim/ucsim/cmd.src/cmdlex.l: added #include <stdio.h>
36346 * support/cpp/sdcpp-opts.c: fixed warning:
36347 unknown conversion type character 'm' in format,
36348 use strerror(errno) instead of %m glibc extension format specifier
36349 * src/SDCCsymt.c: fixed warning:
36350 suggest parentheses around operand of '!' or change '&' to '&&' or
36352 * src/pic16/pcode.c, src/pic16/glue.c: fixed warning:
36353 unknown conversion type character 'h' in format,
36354 replaced hh printf format specifier with parameter casting to
36357 2009-04-19 Philipp Klaus Krause <pkk AT spth.de>
36359 * device/lib/z80/shift.s,
36360 device/lib/z80/memmove.s,
36361 device/lib/z80/mul.s,
36362 device/lib/z80/mulchar.s,
36363 device/lib/z80/div.s,
36364 device/lib/z80/mod.s:
36365 Applied patch #2762516 from Marco Bodrato containing minor
36366 improvements of many Z80 asm routines.
36368 2009-04-19 Philipp Klaus Krause <pkk AT spth.de>
36370 * support/regression/tests/strtok.c,
36371 support/regression/tests/strstr.c,
36372 support/regression/tests/strspn.c,
36373 support/regression/tests/strncmp.c,
36374 support/regression/tests/strcpy.c,
36375 support/regression/tests/strcmp.c:
36376 Added some regression tests by Ruud van Silfhout from patch #2321830.
36378 2009-04-13 Borut Razem <borut.razem AT siol.net>
36380 * device/lib/Makefile.in, device/lib/ds390/Makefile.in,
36381 device/lib/ds400/Makefile.in, device/lib/gbz80/Makefile.in,
36382 device/lib/hc08/Makefile.in, device/lib/mcs51/Makefile.in,
36383 device/lib/z80/Makefile.in: override PORTDIR in sub-makefiles
36385 2009-04-13 Raphael Neider <rneider AT web.de>
36387 * device/lib/pic16/bootstrap.sh: avoid symlinks
36388 * device/lib/pic16/configure.ac,
36389 device/lib/pic16/configure.gnu: removed obsolete configure-wrapper
36391 2009-04-13 Borut Razem <borut.razem AT siol.net>
36393 * device/lib/Makefile.in: remove abspath for PORTDIR, introduced in
36394 svn revision #5341, since it makes asranlib to fail on cygming and
36395 mingw builds: win32 native asranlib doesn't understand cygwin paths.
36397 2009-04-10 Raphael Neider <rneider AT web.de>
36399 * device/lib/pic/libsdcc/fs2ulong.c, device/lib/pic/libsdcc/fsadd.c,
36400 device/lib/pic/libsdcc/fsdiv.c, device/lib/pic/libsdcc/fseq.c,
36401 device/lib/pic/libsdcc/fsgt.c, device/lib/pic/libsdcc/fslt.c,
36402 device/lib/pic/libsdcc/fsmul.c, device/lib/pic/libsdcc/fsneq.c,
36403 device/lib/pic/libsdcc/fssub.c, device/lib/pic/libsdcc/ulong2fs.c,
36404 device/lib/pic16/libsdcc/float/fs2ulong.c,
36405 device/lib/pic16/libsdcc/float/fsadd.c,
36406 device/lib/pic16/libsdcc/float/fsdiv.c,
36407 device/lib/pic16/libsdcc/float/fsmul.c: fixed pic14 libraries, merge
36408 changes from the pic16 port, minor code cleanup
36409 * src/pic/gen.c: implemented genUminusFloat(), fixed warning and style
36411 2009-04-09 Philipp Klaus Krause <pkk AT spth.de>
36413 * device/lib/z80/mod.s,
36414 device/lib/z80/Makefile.in,
36415 device/lib/z80/div.s,
36416 device/lib/z80/modsigned.s,
36417 device/lib/z80/divsigned.s:
36418 Applied patch #2741451 from Marco Bodrato
36419 and moved functions for signed modulo into
36422 2009-04-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36424 * src/mcs51/peeph.def: disabled rule 270, fixing bug #2736282
36426 2009-04-04 Philipp Klaus Krause <pkk AT spth.de>
36429 src/z80/peeph-z80.def:
36430 Improved caching of pointers in hl and iy.
36431 device/lib/z80/div.s:
36432 Applied patch #2727917 from Marco Bodrato.
36434 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36436 * src/z80/ralloc.c:
36437 Enabled use of hl as inter-i-code temporary.
36439 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36441 * src/z80/peeph-z80.def:
36442 Reenabled peephole 0t.
36444 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36447 Fixed bugs #2728224, #2728218.
36448 src/z80/peeph-z80.def:
36449 Workaround for bug #2728445.
36450 support/regression/tests/memory.c:
36451 Added test for memcmp().
36453 2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
36455 * device/lib/z80/mul.s,
36456 device/lib/z80/memmove.s,
36457 device/lib/z80/strlen.s:
36458 Minor improvements, code cleanup and license clarification.
36460 2009-04-01 Philipp Klaus Krause <pkk AT spth.de>
36462 * device/lib/z80/mul.s:
36463 Minor improvement in Z80 16x16 bit multiplication.
36465 2009-03-23 Borut Razem <borut.razem AT siol.net>
36467 * src/SDCCval.c, src/SDCCmain.c, device/include/limits.h,
36468 device/include/pic/limits.h, device/include/pic16/limits.h,
36469 device/lib/_fs2schar.c, device/lib/pic/libsdcc/fs2schar.c,
36470 device/lib/pic16/libsdcc/float/fs2schar.c, doc/sdccman.lyx,
36471 support/regression/tests/funsigned-char.c:
36472 applied patch 2704189: character constant sign fix
36473 thanks to Robert Larice
36475 2009-03-22 Borut Razem <borut.razem AT siol.net>
36477 * Small Device C Compiler 2.9.0 released
36478 * .version, doc/sdccman.lyx: changed sdcc version to 2.9.1
36480 2009-03-15 Borut Razem <borut.razem AT siol.net>
36482 * support/scripts/repack_release.sh: added
36484 2009-03-13 Borut Razem <borut.razem AT siol.net>
36486 * doc/sdccman.lyx: "freeware" replaced with "free open source"
36488 2009-03-12 Borut Razem <borut.razem AT siol.net>
36490 * src/z80/peep.c: #2652979: --debug crashes sdcc
36492 2009-03-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36495 support/regression/tests/bug2655200.c:
36496 applied modified patch from Robert Larice <larice AT vidisys.de>
36497 fixing original report of bug #2655200: pointer to pdata memory
36498 not correctly initialized
36500 2009-03-11 Borut Razem <borut.razem AT siol.net>
36502 * as/asranlib/asranlib.c: retain the original file mode
36504 2009-03-10 Borut Razem <borut.razem AT siol.net>
36506 * src/mcs51/gen.c, src/z80/gen.c, src/hc08/gen.c, src/ds390/gen.c,
36507 support/regression/tests/bug1875933.c:
36508 fixed bug #1875933: Evelyn jumps into the void
36509 thanks to Robert Larice
36511 2009-03-10 Raphael Neider <rneider AT web.de>
36513 * src/pic16/pcode.c (LinkFlow): fix invalid cast from pCodeLabel
36514 to pCodeInstruction to avoid a segmentation fault
36516 2009-03-03 Borut Razem <borut.razem AT siol.net>
36518 * device/lib/printf_large.c: fixed bug #2656821: bug in printf
36520 2009-03-03 Raphael Neider <rneider AT web.de>
36522 * device/lib/pic/libdev/Makefile.in: build device-specific
36523 libraries for the correct processor, fixes #2654585
36525 2009-03-01 Raphael Neider <rneider AT web.de>
36527 * device/lib/Makefile.in: fixed parallel builds (i.e., make -jN, N>1)
36529 2009-03-01 Borut Razem <borut.razem AT siol.net>
36531 * src/z80/peep.c: fixed bug #2648964: --i-code-in-asm crashes sdcc
36532 * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
36533 changed sdcc version to 2.9.0
36535 2009-03-01 Maarten Brock <sourceforge.brock AT dse.nl>
36537 * src/mcs51/ralloc.c (spillThis, spilSomething): fixed bug 2435941
36538 (serialRegAssign): do not spil bit registers
36539 throughout cosmetic changes
36540 * support/regression/tests/bug2435941.c: new, added
36542 2009-02-28 Raphael Neider <rneider AT web.de>
36544 * src/regression/compare10.c,
36545 src/regression/compare7.c,
36546 src/regression/compare8.c,
36547 src/regression/compare9.c: reset watchdog timer in time
36548 * src/regression/configword.c: apply patch from #2488150
36549 * src/pic/glue.c (pic14createInterruptVect): pin RESET vector
36550 handler to 0x0000 as the linker no longer knows STARTUP sections
36551 * src/pic/pcode.c (register_reassign, ReuseReg): applied modified
36552 patch #2512926 to (mostly) fix #1762626, cosmetic changes
36553 * src/pic/pcodepeep.c: remove reference to nonexisting function
36555 2009-02-28 Raphael Neider <rneider AT web.de>
36557 * device/include/pic16/signal.h: avoid multiline inline
36558 assembler statements in macros, addresses #2644965
36560 2009-02-27 Raphael Neider <rneider AT web.de>
36562 * device/include/pic16/pic18f[24][3456]k20.h,
36563 device/include/pic16/pic18f[68][567]j50.h,
36564 device/include/pic16/pic18f[68]6j55.h,
36565 device/lib/pic16/libdev/pic18f[24][3456]k20.c,
36566 device/lib/pic16/libdev/pic18f[68][567]j50.c,
36567 device/lib/pic16/libdev/pic18f[68]6j55.c,
36568 device/include/pic16/pic18fregs.h,
36569 device/include/pic16/pic16devices.txt,
36570 device/lib/pic16/pics.all,
36571 device/lib/pic16/libdev/Makefile.am,
36572 device/lib/pic16/libio/Makefile.am: added/re-enabled many device
36573 families (87j50 family contributed by Robert Wuest)
36575 * device/include/pic16/adc.h,
36576 device/lib/pic16/libio/adc/adcbusy.c,
36577 device/lib/pic16/libio/adc/adcclose.c,
36578 device/lib/pic16/libio/adc/adcconv.c,
36579 device/lib/pic16/libio/adc/adcopen.c,
36580 device/lib/pic16/libio/adc/adcsetch.c: added 65j50-style ADC
36582 * doc/sdccman.lyx: updated list of supported devices, fixed typo
36583 * device/lib/pic16/Makefile.common: do not suppress assembler warnings
36585 * device/lib/pic16/Makefile.in,
36586 device/lib/pic16/libm/Makefile.in,
36587 device/lib/pic16/debug/Makefile.in,
36588 device/lib/pic16/libio/Makefile.in,
36589 device/lib/pic16/startup/Makefile.in,
36590 device/lib/pic16/libsdcc/Makefile.in,
36591 device/lib/pic16/libdev/Makefile.in,
36592 device/lib/pic16/libc/Makefile.in: regenerated
36594 2009-02-27 Borut Razem <borut.razem AT siol.net>
36596 * as/z80/asexpr.c, as/z80/z80mch.c: re-fixed bugs
36597 #1829678 and #1704376 in the way proposed by Alan Baldwin
36599 2009-02-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
36601 * device/include/mcs51/at89c51ed2.h: Fixed address of SFR P5. Thanks
36602 to Steve Qu for the fix.
36604 2009-02-23 Borut Razem <borut.razem AT siol.net>
36606 * as/z80/asexpr.c: fixed bug #1829678: Z-80 CP A,<xxx> assembly
36607 it is already fixed for mcs51 and hc08 targets
36608 * as/z80/z80mch.c: fixed bug #1704376: missing as-z80 errors
36610 2009-02-22 Borut Razem <borut.razem AT siol.net>
36612 * device/lib/Makefile.in: fixed parenthesis error
36613 * doc/sdccman.lyx: fixed webdocs bug #2071421: error in the manual,
36614 fixed webdocs bug #1967920: --version
36616 2009-02-18 Maarten Brock <sourceforge.brock AT dse.nl>
36618 * device/include/mcs51/at89c51ed2.h: fixed bug #2071949 bitmask RBCK wrong
36620 2009-02-17 Maarten Brock <sourceforge.brock AT dse.nl>
36622 * as/link/mcs51/lkihx.c (hexRecord): bugfix do not insert extended address
36623 when addresses are unsorted
36625 2009-02-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36627 * device/include/mcs51/p89v66x.h: added ENBOOT thanks
36628 Gudjon Gudjonsson <gudjon AT gudjon.org>
36629 * device/include/mcs51/p89c66x.h: fixed some defines
36630 * device/include/mcs51/p89v66x.h: fixed some sbit addresses
36631 * doc/sdccman.lyx: added <NO FLOAT> to index, try to reanimate
36634 2009-02-14 Borut Razem <borut.razem AT siol.net>
36636 * doc/sdccman.lyx: corrected cpp info
36638 2009-02-13 Borut Razem <borut.razem AT siol.net>
36640 * as/Makefile.in: *.doc renamed to *.txt
36642 2009-02-11 Borut Razem <borut.razem AT siol.net>
36644 * as/doc/aslnk.doc, as/doc/abstra.doc: renamed to *.txt
36645 * as/doc/aslnk.txt, as/doc/asxhtml.html: changed licens to GPLv3
36647 2009-02-11 Borut Razem <borut.razem AT siol.net>
36649 * doc/sdccman.lyx: documented ar format libraries
36651 2009-02-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
36653 * support/regression/tests/float_single.c: added regression
36654 test. Some testpoints for probably rarely used functions
36655 (acosf, sinhf, tanf, expf) disabled for some targets
36657 2009-02-10 Raphael Neider <rneider AT web.de>
36659 * src/pic16/gen.c (pic16_freeAsmop): avoid NULL pointer dereference,
36660 (genAssign): fixed for operands on the stack
36662 * device/lib/pic16/libc/stdio/vfprintf.c,
36663 device/lib/pic16/configure.ac,
36664 device/lib/pic16/Makefile.common: add configurable support for
36665 printing floats via ./configure --enable-floats
36666 * device/lib/pic16/configure,
36667 device/lib/pic16/Makefile.in,
36668 device/lib/pic16/libm/Makefile.in,
36669 device/lib/pic16/debug/Makefile.in,
36670 device/lib/pic16/libio/Makefile.in,
36671 device/lib/pic16/startup/Makefile.in,
36672 device/lib/pic16/libsdcc/Makefile.in,
36673 device/lib/pic16/libdev/Makefile.in,
36674 device/lib/pic16/libc/Makefile.in: regenerated
36675 * doc/sdccman.lyx: documented float support and how to get it
36676 * doc/Makefile.in: fixed race condition on parallel builds
36678 * device/lib/pic16/libc/stdio/sprintf.c,
36679 device/lib/pic16/libc/stdio/vsprintf.c: do not mess up the user's
36680 pointer to the string buffer, enlarge buffer for x_ftoa()
36682 2009-02-10 Borut Razem <borut.razem AT siol.net>
36684 * device/lib/printf_tiny.c: replaced non-C89 comments '//' with '/* */'
36686 2009-02-10 Raphael Neider <rneider AT web.de>
36688 * device/include/pic16/pic18f*.h: add bit aliases in INTCONbits_t
36690 2009-02-09 Raphael Neider <rneider AT web.de>
36692 * src/pic16/pcode.c (assignToSameBank): add force argument to ignore
36693 artificial bank size limits for compound data (structs, arrays),
36694 avoids assert if --obanksel=N, N > 1, is given
36696 2009-02-09 Borut Razem <borut.razem AT siol.net>
36698 * as/asranlib/asranlib.c, link/lkar.c: don't check the padding bytes since
36699 the openSUSE GNU ar (GNU Binutils; openSUSE 11.0) 2.18.50.20080409-11.1
36700 uses '`' character instead '\n' for padding
36701 * as/asranlib/asranlib.c: made it more robust
36703 2009-02-08 Borut Razem <borut.razem AT siol.net>
36705 * as/COPYING3: added
36706 * support/scripts/sdcc.nsi: added COPYING3.txt to the package
36707 * device/lib/Makefile.in: reenable floating point in model-xstack-auto
36710 2009-02-07 Borut Razem <borut.razem AT siol.net>
36712 * as/asranlib/asranlib.c: fixed BSD header length calculation
36713 * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.9
36714 due sdcc asxxxx license change to GPLv3
36716 2009-02-05 Borut Razem <borut.razem AT siol.net>
36718 * as/asranlib/asranlib.c, link/lkar.h, link/lkar.c:
36719 added support for BSD (Mac OS X) ar format
36720 * as/asxxsrc/aslex.c, as/as/asxxsrc/asnoice.c, as/as/asxxsrc/assym.c,
36721 as/as/hc08/asdata.c, as/hc08/asexpr.c, as/hc08/aslist.c,
36722 as/hc08/asm.h, as/hc08/asmain.c, as/hc08/asout.c, as/hc08/assubr.c,
36723 as/hc08/m08adr.c, as/hc08/m08ext.c, as/hc08/m08mch.c,
36724 as/hc08/m08pst.c, as/hc08/m6808.h, as/link/aslink.h,
36725 as/link/hc08/lkarea.c, as/link/hc08/lkelf.c, as/link/hc08/lkihx.c,
36726 as/link/hc08/lkmain.c, as/link/hc08/lkmem.c, as/link/hc08/lkrloc.c,
36727 as/link/hc08/lks19.c, as/link/lkaomf51.c, as/link/lkdata.c,
36728 as/link/lkeval.c, as/link/lkhead.c, as/link/lklex.c, as/link/lklib.c,
36729 as/link/lklibr.c, as/link/lklibr.h, as/link/lklist.c,
36730 as/link/lknoice.c, as/link/lkrel.c, as/link/lkrel.h,
36731 as/link/lksdcclib.c, as/link/lkstore.c, as/link/lksym.c,
36732 as/link/mcs51/lkarea.c, as/link/mcs51/lkihx.c,
36733 as/link/mcs51/lkmain.c, as/link/mcs51/lkmem.c,
36734 as/link/mcs51/lkrloc.c, as/link/mcs51/lks19.c, as/link/z80/lkarea.c,
36735 as/link/z80/lkgb.c, as/link/z80/lkgg.c, as/link/z80/lkihx.c,
36736 as/link/z80/lkmain.c, as/link/z80/lkrloc.c, as/link/z80/lks19.c,
36737 as/mcs51/asdata.c, as/mcs51/asexpr.c, as/mcs51/aslist.c,
36738 as/mcs51/asm.h, as/mcs51/asmain.c, as/mcs51/asout.c,
36739 as/mcs51/assubr.c, as/mcs51/i51adr.c, as/mcs51/i51ext.c,
36740 as/mcs51/i51mch.c, as/mcs51/i51pst.c, as/mcs51/i8051.h,
36741 as/xa51/xa_link.c, as/xa51/xa_main.c, as/xa51/xa_main.h,
36742 as/xa51/xa_rasm.l, as/xa51/xa_rasm.y, as/xa51/xa_version.h,
36743 as/z80/asdata.c, as/z80/asexpr.c, as/z80/aslist.c, as/z80/asm.h,
36744 as/z80/asmain.c, as/z80/asout.c, as/z80/assubr.c, as/z80/z80.h,
36745 as/z80/z80adr.c, as/z80/z80ext.c, as/z80/z80mch.c, as/z80/z80pst.c:
36746 changed license to GPL either version 3, or (at your option) any
36749 2009-02-05 Borut Razem <borut.razem AT siol.net>
36751 * as/asranlib/asranlib.c, link/lkar.h, link/lkar.c:
36752 added support for BSD (Mac OS X) ar format
36754 2009-02-02 Borut Razem <borut.razem AT siol.net>
36756 * device/lib/gbz80/Makefile.in, device/lib/hc08/Makefile.in,
36757 device/lib/z80/Makefile.in:
36758 chose source files in the PORT directory if they are available
36760 2009-02-01 Raphael Neider <rneider AT web.de>
36762 * device/lib/pic16/libdev/pic18f1220.c,
36763 * device/lib/pic16/libdev/pic18f4450.c:
36764 define SSPBUF to allow use of printf
36766 2009-02-01 Borut Razem <borut.razem AT siol.net>
36768 * device/lib/Makefile.in, device/lib/gbz80/Makefile.in,
36769 device/lib/hc08/Makefile.in, device/lib/incl.mk,
36770 device/lib/z80/Makefile.in:
36771 don't remake libraries
36772 * support/regression/tests/snprintf.c:
36773 reenable floating point in small-xstack-auto library
36775 2009-01-26 Raphael Neider <rneider AT web.de>
36777 * src/pic16/ralloc.c (packForPush): disabled to fix #2496919
36779 2009-01-25 Raphael Neider <rneider AT web.de>
36781 * src/pic16/main.c (_pic16_linkEdit): prepend -L paths to linker
36782 search path instead of appending them
36784 2009-01-24 Borut Razem <borut.razem AT siol.net>
36786 * as/asranlib/asranlib.h: changed type of offset to unsigned int to
36787 make it work on ppc Mac OS X (off_t is 64 bit and is not converted
36788 to 32 bit unsigned int when calling sputl() since it is a macro
36789 * as/link/lkar.c: changed the initialization of This->loaded
36791 2009-01-23 Borut Razem <borut.razem AT siol.net>
36793 * as/link/lkar.h: changed type of ar_size to size_t to make it work on
36794 ppc Mac OS X (off_t is 64 bit and is not converted to 32 bit
36795 unsigned int when calling new(), since asxxxx doesn't use function
36798 2009-01-21 Borut Razem <borut.razem AT siol.net>
36800 * as/link/lkar.h: sgetl and sputl are independent of endianness
36801 * as/link/sdxxxx_config.h.in: removed endianness detection
36803 2009-01-20 Borut Razem <borut.razem AT siol.net>
36805 * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.8
36806 due creation of ar format libraries
36807 * support/scripts/sdcc.nsi:
36808 don't add nonexistent object files to the package
36810 2009-01-19 Borut Razem <borut.razem AT siol.net>
36812 * Makefile.in, configure.in, configure,
36813 device/lib/Makefile.in, device/lib/ds390/Makefile.in,
36814 device/lib/ds400/Makefile.in, device/lib/gbz80/Makefile.in,
36815 device/lib/hc08/Makefile.in, device/lib/large/Makefile.in,
36816 device/lib/mcs51/Makefile.in, device/lib/medium/Makefile.in,
36817 device/lib/small/Makefile.in,
36818 device/lib/z80/Makefile.in: create ar format libraries
36819 * support/regression/ports/mcs51-xstack-auto/spec.mk:
36820 use device/lib/Makefile to create library
36821 * support/regression/tests/snprintf.c:
36822 floating point is not enabled in small-xstack-auto library
36823 * device/lib/libfloat.lib, device/lib/libint.lib,
36824 device/lib/liblong.lib, device/lib/libsdcc.lib: removed
36826 2009-01-18 Borut Razem <borut.razem AT siol.net>
36828 * support/cpp/auto-host.h: fixed warning: "__STDC__" redefined,
36829 warning: extra tokens at end of #endif directive
36831 2009-01-11 Borut Razem <borut.razem AT siol.net>
36833 * Makefile.in: added SDCC_ASRANLIB to PKGS
36835 2009-01-10 Borut Razem <borut.razem AT siol.net>
36837 * support/scripts/sdcc.nsi: added asranlib.exe to the install package
36838 * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.7
36839 due added support for ar format libraries
36841 2009-01-09 Borut Razem <borut.razem AT siol.net>
36843 * as/asranlib/Makefile.in, as/asranlib/asranlib.dsp,
36844 as/asranlib/asranlib.c: added asranlib
36845 * as/link/lkar.c, as/link/lkar.h: added support for ar format libraries
36846 * Makefile.in, as/link/hc08/Makefile.in,
36847 as/link/hc08/link_hc08.dsp, as/link/lklib.c, as/link/lklibr.c,
36848 as/link/lklibr.h, as/link/lkrel.c, as/link/lkrel.h,
36849 as/link/lksdcclib.c, as/link/mcs51/Makefile.in,
36850 as/link/mcs51/aslink.dsp, as/link/z80/Makefile.in,
36851 as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp, configure,
36852 configure.in, sdcc.dsw: modified to support ar format libraries
36854 2009-01-08 Maarten Brock <sourceforge.brock AT dse.nl>
36856 * src/SDCCast.c (decorateType RETURN): use RESULT_TYPE_GPTR for generic
36859 2009-01-05 Philipp Klaus Krause <pkk AT spth.de>
36861 * sim/ucsim/z80.src/inst_ed.cc:
36862 Fixed bug #2488074, which made regression tests fail.
36864 2009-01-05 Philipp Klaus Krause <pkk AT spth.de>
36866 * device/lib/z80/mod.s,
36867 device/lib/z80/div.s,
36868 device/lib/z80/mulchar.s,
36869 device/lib/z80/mul.s,
36870 device/lib/z80/divsigned.s,
36871 device/lib/z80/Makefile.in:
36872 Implemented RFE #1702376.
36874 2009-01-05 Borut Razem <borut.razem AT siol.net>
36876 * as/link/lksdcclib.c:
36877 fixed linker hanging in INDEXLIB is not defined (hc08)
36879 2009-01-04 Philipp Klaus Krause <pkk AT spth.de>
36882 Implemented RFE #2485684, and some further improvements of HL caching
36883 including a bugfix.
36884 * src/z80/peeph-z80.def:
36885 Fixed a bug exposed by implementing RFE #2485684.
36887 2009-01-04 Philipp Klaus Krause <pkk AT spth.de>
36889 * src/z80/peeph-z80.def:
36890 Peephole improvements.
36893 device/include/string.h,
36894 device/lib/z80/memmove.s:
36895 Minor code cleanup.
36896 * device/lib/z80/Makefile.in,
36897 device/lib/Makefile.in,
36898 support/regression/tests/memory.c,
36899 device/lib/z80/strlen.s:
36900 Partially implemented RFE #2471534.
36902 2009-01-04 Borut Razem <borut.razem AT siol.net>
36904 * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.6
36905 due changes in sdcc asxxxx linkers - it sholud be done 2 days ago :(
36906 * doc/README.txt: updated John Hartman's e-mail address
36907 * as/link/lkrel.c, as/link/lksdcclib.c:
36908 fixed bug #2484677: Linker hangs
36909 * src/z80/peep.c: fixed msvc warning C4047:
36910 'return' : 'int ' differs in levels of indirection from 'char *'
36911 * config.dsp: as/lib corrected to as/link
36913 2009-01-04 Philipp Klaus Krause <pkk AT spth.de>
36916 Implemented RFE #2484693.
36917 * src/z80/peeph-z80.def:
36918 Some peephole improvements.
36920 2009-01-03 Borut Razem <borut.razem AT siol.net>
36922 * as/link/lklibr.c:
36923 fixed warning: 'ret' may be used uninitialized in this function
36925 2009-01-02 Borut Razem <borut.razem AT siol.net>
36927 * as/link/lklib.c, as/link/lksdcclib.c, as/link/lklibr.h,
36928 as/link/getline.[ch], as/link/lkrel.[ch]: added,
36929 made support for differnet library formats more flexible,
36930 preparation for support of ar format
36931 * as/link/lklibr.c, as/link/z80/Makefile.in,
36932 as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
36933 as/link/hc08/link_hc08.dsp, as/link/hc08/Makefile.in,
36934 as/link/mcs51/aslink.dsp, as/link/mcs51/Makefile.in,
36935 as/link/hc08/lkelf.c, as/link/aslink.h:
36936 made support for differnet library formats more flexible,
36937 preparation for support of ar format
36939 2009-01-01 Borut Razem <borut.razem AT siol.net>
36941 * as/link/asxxxx_config.h.in:
36942 fixed warning: extra tokens at end of #endif directive
36944 fixed warning: suggest parentheses around && within ||
36945 * device/lib/Makefile.in: allow whitespaces at the end of lines in
36946 ports.build, in order to make it work on cygwin - it seems to be a
36947 bug in cygwin grep: CR is not treated as part of end-of-line
36949 2008-12-31 Borut Razem <borut.razem AT siol.net>
36951 * configure, configure.in, config.dsp, config_vc.awk,
36952 as/link/asxxxx_config.h.in, as/link/hc08/lkelf.c, as/link/aslink.h,
36953 as/link/hc08/Makefile.in, as/link/mcs51/Makefile.in:
36954 introduced asxxxx_config.h.in
36956 2008-12-30 Philipp Klaus Krause <pkk AT spth.de>
36959 src/z80/peeph-z80.def:
36960 Minor addition improvement.
36962 2008-12-30 Raphael Neider <rneider AT web.de>
36964 * as/link/hc08/lkelf.c, as/link/lkaomf51.c, as/link/lklibr.c,
36965 as/link/z80/lkgb.c, debugger/mcs51/cmd.c, sim/ucsim/utils.cc,
36966 src/SDCCasm.c, support/Util/dbuf_string.c, support/cpp/c-ppoutput.c,
36967 support/cpp/libcpp/lex.c, support/cpp/libcpp/macro.c,
36968 support/librarian/sdcclib.c, support/makebin/makebin.c:
36969 partially revert changes from r5293..r5295
36971 2008-12-29 Philipp Klaus Krause <pkk AT spth.de>
36973 * src/z80/peeph-z80.def:
36974 Minor peephole improvement.
36976 2008-12-29 Raphael Neider <rneider AT web.de>
36978 * src/pic/pcode.c (insertBankSel, FixRegisterBanking): emit
36979 incorrectly discarded BANKSELs
36981 2008-12-29 Philipp Klaus Krause <pkk AT spth.de>
36983 * support/regression/tests/memory.c:
36984 Added simple test for memset(), memcpy() and memmove()
36986 2008-12-29 Borut Razem <borut.razem AT siol.net>
36988 * sdcc/support/scripts/sdcc.nsi: removed $INSTDIR\lib\src\z80\*.c
36990 2008-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
36992 * src/mcs51/peeph.def (177.e): replaced notVolatile(%3) with
36993 operandsNotRelated(%1 %3), had to change (a)r%1 to (a)%1 for this to work
36994 (177.j): added new rule
36995 * src/SDCCsymt.h: added RESULT_TYPE_GPTR
36996 * src/SDCCast.c (processParms): use RESULT_TYPE_GPTR for generic ptr parms,
36997 (decorateType CAST): propagate storage class to generic pointer results
36999 2008-12-27 Philipp Klaus Krause <pkk AT spth.de>
37001 * device/lib/z80/string.c,
37002 device/lib/z80/printf.c,
37003 device/lib/z80/mul.s:
37004 z80 library cleanup
37006 Fixed code generation bug exposed by builtin memcpy().
37008 2008-12-27 Philipp Klaus Krause <pkk AT spth.de>
37010 * device/lib/_memcpy.c:
37011 fixed conflict with builtin memcpy()
37013 2008-12-26 Borut Razem <borut.razem AT siol.net>
37015 * support/librarian/sdcclib.c:
37016 fixed bug 2466950: "sdcclib broken"
37017 by removing fgets return value check
37019 2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
37022 device/include/string.h: Implemented RFE #1914254
37024 2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
37025 * device/lib/z80/Makefile.in,
37026 device/lib/Makefile.in,
37027 device/lib/z80/memmove.s: Implemented RFE #1914256
37029 2008-12-26 Philipp Klaus Krause <pkk AT spth.de>
37031 * src/z80/peeph-z80.def: fixed a bug in peephole 0zf
37032 * src/z80/peep.c: improved checks for unused data
37034 src/z80/main.c: Implemented RFE #1899189
37036 2008-12-25 Borut Razem <borut.razem AT siol.net>
37038 * support/regression/Makefile.in:
37039 add -I$(INC_DIR) to SDCCFLAGS only if INC_DIR is defined
37041 2008-12-25 Philipp Klaus Krause <pkk AT spth.de>
37043 * src/z80/peeph-z80.def: minor peephole improvements
37045 2008-12-21 Borut Razem <borut.razem AT siol.net>
37047 * support/librarian/sdcclib.c: fixed build failure on Mac OS X
37048 due to redefinition of symbol __assert
37049 sdcclib.c:53:1:warning: "__assert" redefined
37050 /Xcode2.5/SDKs/MacOSX10.4u.sdk/usr/include/assert.h:80:1:
37051 warning: this is the location of the previous definition
37053 2008-12-20 Raphael Neider <rneider AT web.de>
37055 * debugger/mcs51/break.c, debugger/mcs51/cmd.c,
37056 debugger/mcs51/simi.c, debugger/mcs51/symtab.c,
37057 support/cpp/libcpp/macro.c: fix format string errors
37059 * sim/ucsim/s51.src/timer2.cc: add clarifying parens
37061 * src/pic/device.c: partial rewrite using strtok,
37062 quieten compiler warnings, adopt SDCC coding style
37064 * as/link/hc08/lkelf.c, as/link/lkaomf51.c, as/link/lklibr.c,
37065 as/link/z80/lkgb.c, as/z80/asout.c, debugger/mcs51/cmd.c,
37066 sim/ucsim/utils.cc, src/SDCCasm.c, support/Util/dbuf_string.c,
37067 support/cpp/c-ppoutput.c, support/cpp/libcpp/lex.c,
37068 support/librarian/sdcclib.c, support/makebin/makebin.c:
37069 quieten most compiler warnings
37071 * sim/ucsim/avr.src/arith_inst.cc: quieten compiler warnings,
37072 probably fix operator precedence bug
37074 * doc/clean.mk: quieten rm if no .lyx is present
37076 2008-12-19 Borut Razem <borut.razem AT siol.net>
37078 * doc/sdccman.lyx, doc/random-notes.txt, doc/avr/avr_design.txt,
37079 doc/TININative.txt, doc/macro-sys-design.txt, doc/libdoc.txt,
37080 doc/README.txt, doc/test_suite_spec.lyx:
37081 applied patch 2446381: Dcoumentation spelling correcitons
37082 thanks to Steven Borley
37084 2008-12-16 Raphael Neider <rneider AT web.de>
37086 * device/include/pic/pic12f629.h,
37087 device/include/pic/pic12f675.h,
37088 device/lib/pic/libdev/pic12f629.c,
37089 device/lib/pic/libdev/pic12f675.c: consolidated, added TRISIO bits
37091 2008-12-14 Borut Razem <borut.razem AT siol.net>
37093 * doc/sdccman.lyx, cdbfileformat.lyx, test_suite_spec.lyx:
37094 converted to LyX 1.5.7 (\lyxformat 276) format
37096 2008-12-07 Borut Razem <borut.razem AT siol.net>
37098 * support/regression/tests/bitfields.c:
37099 added test case for bug #2366757
37101 2008-12-07 Raphael Neider <rneider AT web.de>
37103 * src/pic16/glue.c (pic16_printIvalBitFields): prevent
37104 NULL pointer dereference, closes #2366757
37106 2008-11-25 Raphael Neider <rneider AT web.de>
37108 * device/include/pic16/pic16devices.txt,
37109 sdcc/src/pic16/device.c,
37110 sdcc/src/pic16/device.h: implicitly disable XINST
37111 whenever CONFIG4L is set via an additional optional
37112 argument to the configword directive in pic16devices.txt
37114 2008-11-24 Raphael Neider <rneider AT web.de>
37116 * device/lib/pic16/configure.ac,
37117 device/lib/pic16/Makefile.common: fixed quoting issues
37119 * device/lib/pic16/configure,
37120 device/lib/pic16/debug/Makefile.in,
37121 device/lib/pic16/libc/Makefile.in,
37122 device/lib/pic16/libdev/Makefile.in,
37123 device/lib/pic16/libio/Makefile.in,
37124 device/lib/pic16/libm/Makefile.in,
37125 device/lib/pic16/libsdcc/Makefile.in,
37126 device/lib/pic16/Makefile.in,
37127 device/lib/pic16/startup/Makefile.in: regenerated
37129 * src/pic16/main.c (_pic16_finaliseOptions): revert to
37132 2008-11-24 Raphael Neider <rneider AT web.de>
37134 * src/pic16/main.c (_pic16_finaliseOptions): do not quote the
37135 argument of --asm= or --link= to allow for
37136 --asm="sh script --options", the user can double quote the
37137 argument if needed: --asm="'c:/program files/gpasm' -q",
37138 also fix some potential buffer overflows
37140 2008-11-19 Borut Razem <borut.razem AT siol.net>
37143 fixed 2314467: sdccman.lyx: fix "--" in command line parameters
37144 thanks Mauro Giachero
37146 2008-11-16 Borut Razem <borut.razem AT siol.net>
37148 * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.5
37149 * doc/sdccman.lyx: documented fixed unnamed bit-field initialization
37151 2008-11-15 Borut Razem <borut.razem AT siol.net>
37153 * src/pic16/glue.c, src/SDCC.y, src/SDCCast.c, src/SDCCglue.c,
37154 src/SDCCsymt.c, src/SDCCsymt.h:
37155 fixed RFE #2291335 : Unnamed bit-field initialization
37156 * support/regression/tests/bitfields.c:
37157 added test case for RFE #2291335
37158 * support/regression/tests/bug-1981238.c:
37159 don't initialize unnamed bit-fields
37161 2008-11-11 Raphael Neider <rneider AT web.de>
37163 * device/include/pic16/pic18f25j10.h,
37164 device/include/pic16/pic18f45j10.h: remove useless boilerplate
37166 * device/include/pic16/adc.h,
37167 device/lib/pic16/libio/adc/adcbusy.c,
37168 device/lib/pic16/libio/adc/adcclose.c,
37169 device/lib/pic16/libio/adc/adcconv.c,
37170 device/lib/pic16/libio/adc/adcopen.c,
37171 device/lib/pic16/libio/adc/adcread.c,
37172 device/lib/pic16/libio/adc/adcsetch.c: generalized, documented,
37173 and fixed ADC routines to work for more target devices,
37174 incorporates patch #2036130 by Nick Materer
37176 2008-11-10 Steven Borley <steven.borley AT partnerelectronics.com>
37178 * device/include/ctype.h,
37179 * device/include/ds400rom.h,
37180 * device/include/ds80c390.h,
37181 * device/include/float.h,
37182 * device/include/math.h,
37183 * device/include/serial.h,
37184 * device/include/stdbool.h,
37185 * device/include/tinibios.h: replaced non-C89 '//' with '/* */',
37187 * device/include/mcs51/C8051F336.h,
37188 * device/include/mcs51/C8051T600.h,
37189 * device/include/mcs51/C8051T610.h,
37190 * device/include/mcs51/C8051T630.h: new, added, patch 2183334
37191 (svn commit by Maarten Brock <sourceforge.brock AT dse.nl>)
37193 2008-11-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
37195 * device/include/mcs51/P89LPC922.h: fixed #2255989, thanks kubi57
37197 2008-11-10 Raphael Neider <rneider AT web.de>
37199 * device/lib/pic16/libdev/mkmk.sh: obey pics.all
37200 * device/lib/pic16/libio/mkmk.sh: properly match whole lines in
37201 .ignore files, fixes IO libs for 18f242, 18f252, 18f442, and 18f452
37202 (patch by Nick Materer, #2253980)
37204 * device/lib/pic16/libio/adc.ignore,
37205 device/lib/pic16/libio/i2c.ignore,
37206 device/lib/pic16/libio/usart.ignore,
37207 device/lib/pic16/pics.all: updated to build more device libs
37209 * device/lib/pic16/libdev/Makefile.am,
37210 device/lib/pic16/libdev/Makefile.in,
37211 device/lib/pic16/libio/Makefile.am,
37212 device/lib/pic16/libio/Makefile.in: regenerated
37214 * src/pic16/device.c (pic16_dump_usection): fixed output of multiple
37215 names per memory location, applied SDCC style to more functions
37217 2008-11-09 Gudjon I. Gudjonsson <gudjon AT gudjon.org>
37219 * device/include/mcs51/p89lpc933_4.h: new NXP header file
37220 * device/include/mcs51/p89lpc935_6.h: new NXP header file
37221 * device/include/mcs51/p89v66x.h: minor changes
37222 (svn commit by Frieder Ferlemann <Frieder.Ferlemann AT web.de>)
37224 2008-11-09 Raphael Neider <rneider AT web.de>
37226 * device/include/pic/pic14devices.txt: fixed memory description for
37227 12f629 and 12f675, closes #2236240
37229 2008-11-06 Borut Razem <borut.razem AT siol.net>
37231 * src/SDCCmain.c: fixed bug #2224960: sdcc -MM no working correctly
37232 pass system include paths with -isystem to sdcpp
37233 * src/SDCCglue.c, src/pic/glue.c, src/pic16/glue.c: removed unneeded
37234 functions (closePipes), (closeTmpFiles) and (rmTmpFiles)
37236 2008-11-02 Raphael Neider <rneider AT web.de>
37238 * doc/sdccman.lyx: updated the sections on the library build process
37239 and on how to add support for new devices, and documented known
37240 problems with the extended instruction set including a workaround
37242 2008-11-01 Raphael Neider <rneider AT web.de>
37244 * device/include/pic16/adc.h,
37245 device/include/pic16/pic16devices.txt,
37246 device/include/pic16/pic18f2410.h,
37247 device/include/pic16/pic18f2510.h,
37248 device/include/pic16/pic18f2515.h,
37249 device/include/pic16/pic18f2610.h,
37250 device/include/pic16/pic18f4410.h,
37251 device/include/pic16/pic18f4510.h,
37252 device/include/pic16/pic18f4515.h,
37253 device/include/pic16/pic18f4610.h,
37254 device/include/pic16/pic18fregs.h,
37255 device/lib/pic16/libdev/Makefile.am,
37256 device/lib/pic16/libdev/Makefile.in,
37257 device/lib/pic16/libdev/pic18f2410.c,
37258 device/lib/pic16/libdev/pic18f2510.c,
37259 device/lib/pic16/libdev/pic18f2515.c,
37260 device/lib/pic16/libdev/pic18f2610.c,
37261 device/lib/pic16/libdev/pic18f4410.c,
37262 device/lib/pic16/libdev/pic18f4510.c,
37263 device/lib/pic16/libdev/pic18f4515.c,
37264 device/lib/pic16/libdev/pic18f4610.c,
37265 device/lib/pic16/libio/Makefile.am,
37266 device/lib/pic16/libio/Makefile.in,
37267 device/lib/pic16/pics.all: added support for 18f[24][456]10
37268 and 18f[24]515 devices
37269 * doc/sdccman.lyx: updated list of supported PIC16 devices
37271 * src/pic/glue.c, src/pic/pcode.c, src/pic/pcodeflow.c,
37272 src/pic16/glue.c, src/pic16/pcode.c, src/pic16/pcodeflow.c,
37273 src/xa51/gen.c: avoid compiler warnings
37274 * support/scripts/inc2h-pic16.pl: removed trailing whitespace
37276 2008-10-22 Gudjon I. Gudjonsson <gudjon AT gudjon.org>
37278 * device/include/mcs51/p89v66x.h: NXP header file
37279 * device/include/mcs51/p89c66x.h: fixed an SBIT definition
37280 (svn commit by Frieder Ferlemann <Frieder.Ferlemann AT web.de>)
37282 2008-10-14 Raphael Neider <rneider AT web.de>
37284 * device/lib/pic16/libdev/Makefile.am,
37285 device/lib/pic16/libio/Makefile.am: enable building libraries for
37286 18f2321, 18f4321, 18f2523, 18f4620, 18f66j60, 18f66j65, 18f67j60,
37287 18f86j60, 18f86j65, 18f87j60, 18f96j60, 18f96j65, and 18f97j60
37288 * device/lib/pic16/libdev/Makefile.in,
37289 device/lib/pic16/libio/Makefile.in: regenerated
37291 2008-10-14 Raphael Neider <rneider AT web.de>
37293 * device/include/pic16/pic18f2450.h,
37294 device/include/pic16/pic18f4450.h,
37295 device/lib/pic16/libdev/pic18f2450.c,
37296 device/lib/pic16/libdev/pic18f4450.c,
37297 device/include/pic16/adc.h,
37298 device/include/pic16/pic16devices.txt,
37299 device/include/pic16/pic18fregs.h,
37300 device/lib/pic16/libdev/Makefile.am,
37301 device/lib/pic16/libdev/Makefile.in,
37302 device/lib/pic16/libio/Makefile.am,
37303 device/lib/pic16/libio/Makefile.in,
37304 device/lib/pic16/pics.all: added 18f2450 and 18f4450, closes #1844525
37306 * device/lib/pic16/libsdcc/stack/stack.S: there is no need to pin the
37307 stack to a fixed location, relax it to automatically work with all
37308 but the smallest devices (256 byte RAM devices need #pragma stack)
37310 2008-10-09 Maarten Brock <sourceforge.brock AT dse.nl>
37312 * debugger/mcs51/break.c: bugfix from patch 1989966, thanks Risto Huotari
37313 * debugger/mcs51/simi.c: bugfix from patch 1989972, thanks Risto Huotari
37314 * device/lib/_strcspn.c: fixed bug 2140931
37316 2008-10-06 Raphael Neider <rneider AT web.de>
37318 * device/include/pic16/stdio.h,
37319 device/lib/pic16/libc/stdio/putchar.c: putchar should not be
37320 declared __naked for convenience, named all arguments
37321 * device/lib/pic16/libc/stdio/strmgpsim.c,
37322 device/lib/pic16/libc/stdio/strmmssp.c,
37323 device/lib/pic16/libc/stdio/strmusart.c: cosmetic changes
37325 * src/pic16/pcode.c (createReachingDefinitions): avoid segfault on
37326 empty __naked functions,
37327 * (pCodeLabelDestruct, pic16_unlinkpCode, pic16_pCodeUnlink): fix
37328 corner cases (unlink first/last pCode in list), reuse more code
37330 2008-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
37332 * src/ds390/main.c (_ds390_genInitStartup): added
37333 * src/SDCCpeeph.c (getPatternVar): new, added,
37334 (labelInRange): fixed bug 2115959
37335 * src/mcs51/peeph.def (rules 193.x to 198.x): check for labelInRange
37336 * src/SDCCicode.h: added newiTempOperand
37337 * src/SDCCcse.c (algebraicOpts): fixed bug for x*-1,
37338 added optimizations for 0/x and x/-1, see also patch 2142900
37339 * support/regression/tests/onebyte.c (testMul): added test cases
37341 2008-09-20 Borut Razem <borut.razem AT siol.net>
37343 * src/pic16/glue.c:
37344 definition of absolute address symbols without initial value,
37345 fixed SDCC crash "do not know how to intialize symbol"
37347 2008-09-16 Maarten Brock <sourceforge.brock AT dse.nl>
37349 * device/lib/z80/mul.s (__mulsuchar_rrx_s, __muluschar_rrx_s),
37350 * device/lib/z80/div.s (__divsuchar_rrx_s, __modsuchar_rrx_s,
37351 __divuschar_rrx_s, __moduschar_rrx_s): added mixed signedness versions
37352 * device/lib/z80/stubs.s: added stubs for above functions
37353 * src/SDCCopt.c (convilong),
37354 * src/SDCCsymt.c (initCSupport): fixed bug 1900961
37355 * src/SDCCsymt.h (__muldiv): enlarged for mixed signedness
37356 * src/z80/main.c (_hasNativeMulFor): fixed bug, I think
37357 * support/regression/tests/onebyte.c: enabled all tests for z80
37359 2008-09-15 Borut Razem <borut.razem AT siol.net>
37361 * device/include/pic16/stdio.h, device/lib/pic16/libc/stdio/streams.c,
37362 device/lib/pic16/libc/stdio/printf.c,
37363 device/lib/pic16/libc/stdio/strmusart.c,
37364 device/lib/pic16/libc/stdio/printf_tiny.c,
37365 device/lib/pic16/libc/stdio/sprintf.c,
37366 device/lib/pic16/libc/stdio/strmgpsim.c,
37367 device/lib/pic16/libc/stdio/putchar.c,
37368 device/lib/pic16/libc/stdio/fprintf.c,
37369 device/lib/pic16/libc/stdio/strmmssp.c,
37370 device/device/lib/pic16/libc/stdio/vprintf.c,
37371 device/lib/pic16/libc/stdio/printf_small.c,
37372 device/lib/pic16/libc/stdio/vsprintf.c,
37373 device/lib/pic16/libc/stdio/strmputchar.c,
37374 device/lib/pic16/libc/Makefile.am,
37375 device/lib/pic16/libc/Makefile.in:
37376 *printf now returns int, puchar.c moved from stdlib to stdio,
37377 *printf format parameter type changed from char * to const char *,
37378 added GNU link excetion text to library source files,
37379 applyed GNU coding style, removed useless svn ids,
37380 added BINARY_SPECIFIER macro re-enables the use of the removed 'b'
37381 binary specifier: "%b", "%hb" and "%lb"
37382 * device/lib/pic16/libc/stdio/vfprintf.c:
37383 applied patch #2044424: PIC16: vfprintf
37384 thanks Mauro Giachero
37385 * support/regression/tests/bug1057979.c:
37386 removed old pic16 sprintf specifics
37387 * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.4
37388 * doc/sdccman.lyx: documented 'b' binary format specifier removal
37390 2008-09-15 Raphael Neider <rneider AT web.de>
37392 * src/pic16/device.c (pic16_dump_usection): force udata sections
37393 into the addressable range (0..0xFFF), workaround for a gpsim
37394 bug preventing simulation of regtest bug1750318
37395 * src/pic16/ralloc.c (deassignLRs): cosmetic changes,
37396 (serialRegAssign): fixed regtest bug-971834,
37397 (pic16_packRegisters): avoid null-pointer dereference
37399 2008-09-14 Raphael Neider <rneider AT web.de>
37401 * src/pic16/gen.c, src/pic16/ralloc.c: use
37402 SYM_SPIL_LOC/SPIL_LOC macros, no functional changes
37403 * src/pic16/ralloc.c (rematStr): reimplemented, fixes #1818857
37405 2008-09-12 Borut Razem <borut.razem AT siol.net>
37407 * support/regression/fwk/testfwk.h:
37408 define pdata as data for pic16 target
37409 thanks Mauro Giachero
37411 2008-09-11 Borut Razem <borut.razem AT siol.net>
37413 * support/regression/tests/bug-221100.c, support/regression/shifts.c,
37414 support/regression/absolute.c:
37415 applied patch #2105615: Some PIC16 testcase fixlets
37416 thanks Mauro Giachero
37418 2008-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
37420 * src/z80/gen.c (genCmpGt, genCmpLt): fixed bug 2094505
37421 * support/regression/tests/bug2094505.c: new, added
37423 2008-09-07 Borut Razem <borut.razem AT siol.net>
37425 * src/SDCCglue.c, src/SDCCast.c:
37426 fixed throw of "excess elements" warning for char arrays
37427 * support/regression/tests/nullstring.c:
37428 disable warning about excess elements in array of chars initializer
37430 2008-09-07 Maarten Brock <sourceforge.brock AT dse.nl>
37432 * as/z80/aslist.c (lstsym): changed old K&R to ANSI
37433 * src/SDCCicode.c (geniCodeCritical): fixed bug for hc08
37434 * src/z80/gen.c (genCritical, genEndCritical): fixed bug 2077267
37435 * support/regression/tests/bug2077267.c: new, added
37437 2008-09-05 Raphael Neider <rneider AT web.de>
37439 * configure.in, Makefile.common.in: add support for ccache,
37440 remove spurious $VERSION output, detect doc-tools even without
37441 --enable-doc to facilitate later manual doc-builds, minor cleanup
37442 * configure: regenerated
37444 * doc/Makefile.in: quieten pdflatex, makeindex, and latex2html,
37445 avoid races in parallel VPATH builds
37446 * doc/clean.mk: remove .lyx files in the builddir for VPATH builds
37447 * doc/sdccman.lyx: mention --without-ccache configure option
37449 2008-09-01 Raphael Neider <rneider AT web.de>
37451 * src/pic16/gen.c (pic16_derefPtr): handle CPOINTERs as well
37452 * (genConstPointerGet): fix reading bitfields from __code space
37453 * src/pic16/glue.c (pic16_printIvalBitFields): correctly mask
37454 bitfield initializers (fix regression test bug1856409.c)
37455 * (pic16_printIvalCharPtr,pic16_printIvalPtr): generalized to support
37458 2008-08-31 Raphael Neider <rneider AT web.de>
37460 * src/pic16/gen.c (genAssign): removed useless compiler output
37461 * (genPointerGet,genPointerSet,genCast),
37462 src/pic16/glue.c (pic16_printGPointerType):
37463 also handle PPOINTERs just to avoid spurious asserts
37464 * (pic16_printIvalType,pic16_printIvalBitFields):
37465 generalized to arbitrary type/bitfield sizes, allows compilation of
37466 regression test bug-1981238.c
37467 * (pic16_printIvalChar): fix regression test structflexarray.c
37468 * (pic16_printIvalArray): avoid SIGSEGV on uninitialized strings
37469 in initialized structs and fix #1843745
37470 * (pic16_printIvalStruct): always output initializers for all fields,
37471 even those not explicitly given, fixes zeropad.c regression test
37472 * (pic16_printIvalUnion): fix union initializers (bug1426356.c,
37473 #2073635, #1567098, and #1485812)
37474 * src/pic16/main.c (_pic16_keywords): remove unsupported 'pdata'
37476 2008-08-31 Borut Razem <borut.razem AT siol.net>
37478 * support/regression/tests/bug-895992.c,
37479 support/regression/tests/onebyte.c:
37480 enabled pic16 regression testing since the bugs
37481 1511794: pic16: regression test bug-895992.c fails
37482 1444425: onebyte.c regression tes fails on pic16
37483 are fixed, probably by fixing
37484 2048464: PIC16: fix genUminus - addresses not.c regression test
37485 * src/SDCCsymt.c, src/SDCCglue.c,
37486 support/regression/tests/bug-1981238.c:
37487 applied patch 2076664: fix #1981238 + SIGSEGV in SDCCGlue.c
37490 2008-08-30 Borut Razem <borut.razem AT siol.net>
37492 * support/cpp/libcpp/files.c: SDCPP synchronized with GCC CPP
37493 release version 4.3.2
37495 2008-08-24 Raphael Neider <rneider AT web.de>
37497 * device/lib/pic16/configure, device/lib/pic16/configure.ac:
37498 always use the sdcc from the current build tree (ignore $CC from
37499 the environment, fixes compile farm builds)
37500 * device/lib/Makefile.in: rename .a into .lib for compatibility,
37501 remove more build products from install directory
37502 * sdcc/src/pic16/main.c (_pic16_linkEdit,_pic16_finaliseOptions)
37503 * sdcc/support/scripts/sdcc.nsi: revert to .lib extension for libs
37505 2008-08-24 Borut Razem <borut.razem AT siol.net>
37507 * src/SDCC.y: applied patch
37508 2050245: Fix # 1963382
37510 1963382: Listing File - C file comment is incorrect
37513 2008-08-23 Borut Razem <borut.razem AT siol.net>
37515 * src/pic16/gen.c: applied patch
37516 2048464: PIC16: fix genUminus - addresses not.c regression test
37517 thanks Mauro Giachero
37519 2008-08-22 Borut Razem <borut.razem AT siol.net>
37521 * device/lib/pic16/configure, device/lib/pic16/configure.ac,
37522 src/pic16/main.c: allow spaces in gpasm and gplink paths
37524 2008-08-15 Philipp Klaus Krause <pkk AT spth.de>
37527 * src/z80/peeph-z80.def: minor peephole improvement
37529 2008-08-15 Raphael Neider <rneider AT web.de>
37531 * src/z80/gen.c (_vemit2): suppress compiler warning
37533 * src/pic/*.[ch]: make proper use of header files and avoid
37534 ad-hoc extern declarations, mark module-local helpers 'static',
37535 removed dead/replaced code, no functional changes
37536 * src/pic16/pcode.c: disentangled from pic14 backend
37538 2008-08-14 Philipp Klaus Krause <pkk AT spth.de>
37540 * src/z80/gen.c: fixed #2051348
37541 * support/regression/tests/bug-2051348.c: regression test for #2051348
37543 2008-08-10 Raphael Neider <rneider AT web.de>
37546 * Makefile.common.in: export PACKAGE for $docdir,
37547 fixes #1957036, avoid some "underquoted definition" warnings
37548 * configure: regenerated
37550 2008-08-10 Raphael Neider <rneider AT web.de>
37552 * device/lib/pic16/**: build pic16 library using autotools for
37553 improved dependency tracking
37555 * device/lib/Makefile.in,
37556 * src/pic16/main.c,
37557 * support/scripts/sdcc.nsi: adapt to changes in filenames (s/.lib/.a/)
37559 2008-08-10 Raphael Neider <rneider AT web.de>
37561 * src/pic/pcode.c (ReuseReg): do not overlay the registers used for
37562 local variables if --nooverlay is given, workaround for #2023121
37564 2008-08-08 Raphael Neider <rneider AT web.de>
37566 * src/pic16/genarith.c (genAddLit): fix structure access (#1888004)
37568 2008-08-08 Raphael Neider <rneider AT web.de>
37570 * src/pic/pcoderegs.c,
37572 * src/pic16/pcode.c: replace own SAFE_snprintf with common SNPRINTF
37574 2008-08-07 Borut Razem <borut.razem AT siol.net>
37576 * src/SDCCval.c, src/SDCCmain.c, src/SDCC.lex,
37577 device/lib/pic/Makefile.rules, device/lib/ds390/Makefile.in,
37578 device/lib/ds400/Makefile.in, device/lib/hc08/Makefile.in,
37579 support/cpp/libcpp/lex.c, doc/sdccman.lyx:
37580 applied modified patch 2038174: Add support for binary constants v2
37581 thanks Mauro Giachero
37582 * .version, doc/sdccman.lyx: bumped sdcc version to 2.8.3
37584 2008-08-04 Raphael Neider <rneider AT web.de>
37587 * src/pic16/device.h,
37588 * src/pic16/glue.c,
37589 * src/pic16/main.c: enable --optimize-goto by default
37591 * device/lib/pic16/Makefile.common.in: suppress removed option
37594 * src/pic16/genutils.c: avoid too long relative branches (#2031890)
37596 2008-07-30 Borut Razem <borut.razem AT siol.net>
37598 * src/pic16/device.c, src/pic16/glue.c, src/pic16/pcode.c:
37599 applied patch 22032433: PIC16: fix constant strings,
37600 thanks Mauro Giachero
37602 2008-07-29 Borut Razem <borut.razem AT siol.net>
37604 * src/pic16/gen.c: applied patches:
37605 2030306: [1/3] PIC16: fix failing rotate.c tests on 16-bit variables,
37606 2030307: [2/3] PIC16: fix failing rotate.c tests for 32-bit var (1),
37607 2030310: [3/3] PIC16: fix failing rotate.c tests for 32-bit var (2),
37608 thanks Mauro Giachero
37610 2008-07-13 Philipp Klaus Krause <pkk AT spth.de>
37612 * src/port.h: Fixed typo in comment
37614 2008-07-12 Philipp Klaus Krause <pkk AT spth.de>
37616 * src/z80/mappings.i: Implemented RFE #1919415
37617 * src/z80/peeph-z80.def: Implemented RFE #1919415, #1861376,
37618 #1880202, #1914434, prepared for RFE #1703943
37620 2008-07-12 Philipp Klaus Krause <pkk AT spth.de>
37622 * src/z80/peeph.def,
37623 * src/z80/peeph-z80.def,
37624 * src/z80/peeph-gbz80.def: separate Z80 from GBZ80 peepholes in
37625 preparation for Z80 peephole improvements
37627 2008-06-21 Raphael Neider <rneider AT web.de>
37629 * device/include/pic16/pic18f66j60.h,
37630 * device/include/pic16/pic18f66j65.h,
37631 * device/include/pic16/pic18f67j60.h,
37632 * device/include/pic16/pic18f86j60.h,
37633 * device/include/pic16/pic18f86j65.h,
37634 * device/include/pic16/pic18f87j60.h,
37635 * device/include/pic16/pic18f96j60.h,
37636 * device/include/pic16/pic18f96j65.h,
37637 * device/include/pic16/pic18f97j60.h,
37638 * device/lib/pic16/libdev/pic18f66j60.c,
37639 * device/lib/pic16/libdev/pic18f66j65.c,
37640 * device/lib/pic16/libdev/pic18f67j60.c,
37641 * device/lib/pic16/libdev/pic18f86j60.c,
37642 * device/lib/pic16/libdev/pic18f86j65.c,
37643 * device/lib/pic16/libdev/pic18f87j60.c,
37644 * device/lib/pic16/libdev/pic18f96j60.c,
37645 * device/lib/pic16/libdev/pic18f96j65.c,
37646 * device/lib/pic16/libdev/pic18f97j60.c,
37647 * device/include/pic16/pic16devices.txt,
37648 * device/include/pic16/pic18fregs.h,
37649 * device/lib/pic16/pics.all: added new devices
37651 * device/include/pic16/adc.h,
37652 * device/lib/pic16/libio/adc/adcbusy.c,
37653 * device/lib/pic16/libio/adc/adcopen.c,
37654 * device/lib/pic16/libio/adc/adcsetch.c,
37655 * device/lib/pic16/libio/i2c/i2copen.c,
37656 * device/lib/pic16/libio/usart/uopen.c: adapted to new devices,
37657 all changes from a patch by Anton Strobl
37659 2008-06-12 Borut Razem <borut.razem AT siol.net>
37661 * sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/bp.cc,
37662 sim/ucsim/xa.src/xa.cc, sim/ucsim/xa.src/xacl.h,
37663 sim/ucsim/z80.src/z80cl.h, sim/ucsim/z80.src/z80.cc,
37664 sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
37665 sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
37666 sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/uc390.cc,
37667 sim/ucsim/s51.src/uc51.cc, sim/ucsim/s51.src/uc390cl.h,
37668 sim/ucsim/avr.src/avrcl.h, sim/ucsim/avr.src/avr.cc:
37669 fixed bug 1990586: s51 simulator, uc::disass() unimplemented
37670 by applying the modified patch from Risto Huotari
37672 2008-06-04 Maarten Brock <sourceforge.brock AT dse.nl>
37675 * doc/sdccman.lyx: bumped sdcc version to 2.8.2
37676 * src/ds390/gen.c (aopPutUsesAcc, genAddrOf): fixed bug 1015185
37677 * src/mcs51/gen.c (genNearPointerGet, genNearPointerSet): fixed bug 1938300
37678 * support/regression/tests/bug1938300.c: new, added
37680 2008-06-03 Maarten Brock <sourceforge.brock AT dse.nl>
37682 * device/include/asm/ds390/features.h,
37683 * device/include/asm/mcs51/features.h,
37684 * device/include/mcs51/regc515c.h: inserted LGPL notice
37686 2008-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
37688 * device/lib/gbz80/div.s,
37689 * device/lib/z80/div.s: fixed bug 1904314 by applying a modified part of
37690 patch 1597883, Thanks Robert Ramey
37692 2008-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
37694 * src/SDCCast.c (createIvalType, createIvalStruct, createIvalArray,
37695 createIvalCharPtr, createIvalPtr, createIval),
37697 * src/SDCCval.c (convertIListToConstList, list2expr): handle incomplete
37698 initializers for local auto variables
37699 * support/regression/tests/zeropad.c: added testcase for auto initializers
37701 2008-05-26 Raphael Neider <rneider AT web.de>
37703 * device/lib/pic16/startup/crt0.c,
37704 * device/lib/pic16/startup/crt0i.c,
37705 * device/lib/pic16/startup/crt0iz.c: clean up, make use of access bank
37706 explicit, fixed curr_entry loop for >= 256 initializer records,
37707 removed debug code (write to 0xf7e)
37709 2008-05-25 Raphael Neider <rneider AT web.de>
37711 * device/include/pic/pic16f627a.h,
37712 * device/include/pic/pic16f628a.h,
37713 * device/include/pic/pic16f648a.h: added missing ports
37715 2008-05-20 Maarten Brock <sourceforge.brock AT dse.nl>
37717 * device/include/float.h: added __INFINITY
37718 * device/lib/_fsadd.c: handle overflows
37719 * device/lib/_fsmul.c,
37720 * device/lib/_fsdiv.c: use __INFINITY
37721 * device/lib/_fseq.c,
37722 * device/lib/_fsneq.c: handle -0.0
37723 * sim/ucsim/s51.src/uc89c51r.cc,
37724 * sim/ucsim/s51.src/uc89c51rcl.h: fixed bug 1385430
37725 * sim/ucsim/sim.src/hwcl.h: */* confuses VC
37726 * src/mcs51/gen.c (genSend): fixed bug with --xstack
37727 * support/regression/ports/mcs51-xstack-auto/spec.mk: print floats
37728 * support/regression/tests/snprintf.c: test bug with --xstack
37730 2008-05-19 Philipp Klaus Krause <pkk AT spth.de>
37732 * src/SDCCpeeph.c (callFuncByName):
37733 Support nested parenthesis in peephole function arguments (#1967300)
37735 2008-05-19 Raphael Neider <rneider AT web.de>
37737 * src/pic16/gen.c (pic16_emitpLabel,pic16_emitpLabelFORCE):
37738 fixed duplicate labels (#1911325)
37740 2008-05-19 Raphael Neider <rneider AT web.de>
37742 * src/regression/empty.c: suppress warning
37743 * src/regression/pointer1.c: enabled index_by_pointer()
37744 * src/regression/inline.c: now works for pic16 as well
37746 * src/pic16/device.c: include dbuf declarations
37747 * src/pic16/device.h: removed obsolete prototypes
37749 * src/pic16/gen.c, src/pic16/gen.h: moved generic pointer tags
37750 * src/pic16/glue.c: made purely local functions static,
37751 (pic16_printGPointerType, pic16_printIvalCharPtr,
37752 pic16_printIvalFuncPtr, pic16_printIvalPtr): fixed initialized
37753 generic pointers' tags (#1961866)
37755 * src/pic16/pcode.c (assignValnums): optimize literal assignments
37757 2008-05-19 Borut Razem <borut.razem AT siol.net>
37759 * support/scripts/sdcc.nsi: remove uninstall.exe after uninstallation,
37760 fixed typo, uninstall include/pic16/pic16devices.txt
37762 2008-05-18 Borut Razem <borut.razem AT siol.net>
37764 * support/Utils/dbuf_string.[ch]: added dbuf_chomp(),
37765 the buffer is null terminated
37766 * src/device/pic16.c:
37767 applied modified patch 1965676: Patch for Win32 16 bit PIC
37768 * sdcc_vc_in.h: defined YY_NO_UNISTD_H
37770 2008-05-16 Maarten Brock <sourceforge.brock AT dse.nl>
37772 * src/SDCC.lex (check_type),
37773 * src/SDCC.y (type_specifier2 TYPE_NAME): fixed bug 1925942
37774 * as/hc08/clean.mk,
37775 * as/mcs51/clean.mk,
37776 * as/z80/clean.mk: also clean *.dep
37777 * device/lib/pic16/libsdcc/stack/Makefile,
37778 * sim/ucsim/libtool: removed as they are rebuild by configure
37779 * src/clean.mk: removed izt, so Makefile is not deleted for distclean
37781 2008-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
37783 * src/SDCCast.c (fixupInline, createFunction): save currBlockno in
37784 fixupInline instead of createFunction to fix bug 1864577
37785 (inlineFindMaxBlockno): removed, use global blockNo
37786 * src/SDCCglobl.h: added blockNo
37788 * src/z80/peep.h: modified properties
37789 * support/regression/tests/bug1864577.c: new, added
37791 2008-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
37793 * as/mcs51/asdata.c,
37794 * as/mcs51/asm.h: added org_cnt
37795 * as/mcs51/asmain.c (main, asmbl): fixed bug 1957716, changed old K&R to ANSI
37796 * as/mcs51/asout.c: changed old K&R to ANSI
37797 * as/mcs51/Makefile.in: use common identifiers
37798 * as/hc08/asdata.c,
37799 * as/hc08/asexpr.c,
37801 * as/hc08/asmain.c,
37803 * as/hc08/Makefile.bcc,
37804 * as/hc08/Makefile.in: synchronized with as/mcs51/*
37805 * sdcc_vc_in.h: added define __func__
37806 * src/SDCCast.c (expandInlineFuncs): applied patch 1957148 to fix bug 1717305,
37807 Thanks Ruud van Silfhout
37808 * support/regression/tests/bug1717305.c: new, added
37810 2008-05-05 Borut Razem <borut.razem AT siol.net>
37812 * support/regression/Makefile.in,
37813 support/regression/ports/ds390/spec.mk,
37814 support/regression/ports/hc08/spec.mk,
37815 support/regression/ports/mcs51-common/spec.mk,
37816 support/regression/ports/pic14/spec.mk,
37817 support/regression/ports/pic16/spec.mk,
37818 support/regression/ports/ucz80/spec.mk,
37819 support/regression/ports/z80/spec.mk:
37820 added INC_DIR and LIBDIR paths
37821 * src/ds390/gen.c: removed duplicated selicolon
37823 2008-05-04 Borut Razem <borut.razem AT siol.net>
37825 * support/regression/Makefile.in,
37826 support/regression/fwk/lib/testfwk.c,
37827 support/regression/ports/ds390/spec.mk,
37828 support/regression/ports/hc08/spec.mk,
37829 support/regression/ports/mcs51-common/spec.mk,
37830 support/regression/ports/mcs51-large/spec.mk,
37831 support/regression/ports/mcs51-medium/spec.mk,
37832 support/regression/ports/mcs51-small/spec.mk,
37833 support/regression/ports/mcs51-stack-auto/spec.mk,
37834 support/regression/ports/mcs51-xstack-auto/spec.mk,
37835 support/regression/ports/pic14/spec.mk,
37836 support/regression/ports/pic16/spec.mk,
37837 support/regression/ports/ucz80/spec.mk:
37838 added possibility to define the sdcc binary directory SDCC_BIN_PATH
37839 used to run regeression tests
37841 2008-05-01 Raphael Neider <rneider AT web.de>
37843 * doc/sdccman.lyx, support/scripts/inc2h-pic16.pl: updated list of
37844 supported devices and instructions to add new ones
37846 2008-05-01 Raphael Neider <rneider AT web.de>
37848 * device/include/pic16/adc.h,
37849 device/lib/pic16/libio/adc/adcbusy.c,
37850 device/lib/pic16/libio/adc/adcopen.c,
37851 device/lib/pic16/libio/adc/adcsetch.c: support old 18f242 and new
37852 18f2455 style ADC devices, based on patch #1776197
37853 * device/lib/pic16/libio/adc/adcclose.c,
37854 device/lib/pic16/libio/adc/adcconv.c,
37855 device/lib/pic16/libio/adc/adcread.c: cosmetic changes
37856 * device/include/pic16/{pic18f2331.h,pic18f2431.h},
37857 device/lib/pic16/libdev/{pic18f2331.c,pic18f2431.c}: reuse 18f4331
37858 * device/include/pic16/pic18f4431.h,
37859 device/lib/pic16/libdev/pic18f4431.c: remove outdated comments
37860 * device/lib/pic16/libio/adc.ignore: forbid unhandled devices
37862 2008-05-01 Raphael Neider <rneider AT web.de>
37864 * src/pic16/device.h: removed unused field PIC16_device.sfrRange,
37865 moved xinst flag into pic16_options_t
37866 * src/pic16/device.c (default_device, pic16_list_devices,
37867 pic16_find_device): removed references to sfrrange
37868 * src/pic16/gen.c (genFunction),
37869 src/pic16/glue.c (pic16initialComments),
37870 src/pic16/main.c (pic16_optionsTable),
37871 src/pic16/ralloc.c (newReg, pic16_writeUsedRegs): updated references
37873 * device/include/pic16/pic16devices.txt: removed sfrrange lines
37875 2008-04-29 Raphael Neider <rneider AT web.de>
37877 * src/pic16/devices.inc,
37878 device/include/pic16/pic16devices.txt: replaced compiled-in list
37879 of devices with a variant parsed at runtime
37880 * src/pic16/device.c: added support for parsing pic16devices.txt,
37882 * src/pic16/device.h: removed (now) unused fields from PIC_device
37883 * src/pic16/main.c: removed #pragma maxram,
37884 (_pic16_initPaths): removed bogus generation of search paths,
37885 setup the port proper only after the search paths (for
37886 pic16devices.txt) are set up,
37887 (_pic16_finaliseOptions): moved processor dependant code here
37888 from _pic16_initPaths(), clean up
37889 * src/pic16/ralloc.c (pic16_init_stack),
37890 * src/pic16/ralloc.h,
37891 * src/pic16/pcode.c: clean up
37892 * device/include/Makefile.in,
37893 support/scripts/sdcc.nsi: also install/package pic16devices.txt
37894 * support/scripts/inc2h-pic16.pl: updated instructions
37896 2008-04-29 Raphael Neider <rneider AT web.de>
37898 * device/include/pic16/{pic18f2480.h, pic18f2580.h, pic18f4423.h,
37899 pic18f4480.h, pic18f4523.h, pic18f4580.h, pic18f6585.h, pic18f8585.h},
37900 device/lib/pic16/libdev/{pic18f2480.c, pic18f2580.c, pic18f4423.c,
37901 pic18f4480.c, pic18f4523.c, pic18f4580.c, pic18f6585.c, pic18f8585.c}:
37902 added missing family members and 18f2480/2580/4480/4580 family
37903 * device/include/pic16/{pic18f2423.h, pic18f2523.h}: use 18f4523.h
37904 * device/include/pic16/pic18f2525.h: use 18f4620.h
37905 * device/include/pic16/pic18f6680.h: use 18f8680.h
37906 * device/include/pic16/pic18fregs.h,
37907 device/lib/pic16/pics.all,
37908 src/pic16/devices.inc: add new devices
37909 * device/lib/pic16/libdev/{pic18f2423.c, pic18f2523.c}: use 18f4523.c
37910 * device/lib/pic16/libdev/pic18f2525.c: use 18f4620.c
37911 * device/lib/pic16/libdev/pic18f6680.c: uso 18f8680.c
37912 * device/lib/pic16/libio/{adc.ignore, i2c.ignore, usart.ignore}:
37913 prevent attempting to build the libio for some new devices
37915 2008-04-29 Raphael Neider <rneider AT web.de>
37917 * debugger/mcs51/Makefile.in: fixed paths to sources
37919 2008-04-25 Borut Razem <borut.razem AT siol.net>
37921 * as/link/lklibr.c: moved from as/link/z80/lklibr.c
37922 * as/link/hc08/lklibr.c, as/link/mcs51/lklibr.c: deleted
37923 * as/link/hc08/Makefile.bcc, as/link/hc08/Makefile.in,
37924 * as/link/hc08/link_hc08.dsp, as/link/mcs51/Makefile.bcc,
37925 as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
37926 as/link/z80/Makefile.in, as/link/z80/linkgbz80.dsp,
37927 as/link/z80/linkz80.dsp: lklibr.c moved
37928 * doc/INSTALL.txt: binary archives in bz2 format
37929 * support/cpp/auto-host_vc_in.h: CPP2 replaced with CPP
37931 2008-04-23 Maarten Brock <sourceforge.brock AT dse.nl>
37933 * src/SDCCglue.c (printIvalType, printIvalBitFields): fixed bug 1856409
37934 * support/regression/tests/bug1856409.c: new, added
37936 2008-04-20 Maarten Brock <sourceforge.brock AT dse.nl>
37939 * src/mcs51/peep.c: Use werror for error messages.
37940 * src/SDCCicode.c (geniCodeConditional),
37941 * src/SDCCsymt.c (structElemType): fixed bug 1839321
37942 * src/z80/Makefile.bcc,
37943 * src/z80/z80.dsp: added src/z80/peep.c/h
37944 * support/regression/tests/bug1839321.c: new, added
37946 2008-04-20 Raphael Neider <rneider AT web.de>
37948 * device/include/pic16/pic18f2455.h: added bitfields for port C
37950 2008-04-20 Philipp Klaus Krause <pkk AT spth.de>
37952 * src/z80/peep.c: Use werror for error messages.
37954 2008-04-19 Philipp Klaus Krause <pkk AT spth.de>
37956 * src/z80/peep.h (declaration of notUsed()),
37957 * src/z80/main.c (enabled notUsed() for z80 port, documented z80_port
37959 * src/z80/z80.h (added dependency on peep.h),
37960 * src/z80/peep.c (definition of notUsed()): Implemented RFE #1880202
37963 2008-04-19 Philipp Klaus Krause <pkk AT spth.de>
37965 * src/SDCCpeeph.c (added support for notUsed()),
37966 * src/mcs51/main.c (added dependency on peep.h, documented mcs51_port
37968 * src/port.h (removed dependency on mcs51/peep.h, added declaration
37969 for notUsed()): Implemented generic (that is not port-specific) part
37972 2008-04-17 Maarten Brock <sourceforge.brock AT dse.nl>
37974 * as/link/mcs51/lkmem.c (summary2): fixed bug 1796077
37975 * device/lib/libsdcc.lib,
37976 * device/lib/Makefile.in,
37977 * support/regression/ports/mcs51-xstack-auto/spec.mk,
37978 * device/lib/calloc.c: renamed to _calloc.c
37979 * device/lib/free.c: renamed to _free.c
37980 * device/lib/malloc.c: renamed to _malloc.c
37981 * device/lib/realloc.c: renamed to _realloc.c
37982 * src/ds390/gen.c (aopGet, aopPut, genPlusBits, genDataPointerSet,
37983 genNearPointerSet, genPagedPointerSet): synchronized with mcs51/gen.c
37984 * src/ds390/gen.c (popForBranch, genIfxJump, genCmp, genCmpEq, ifxForOp,
37985 genAnd, genOr, genXor, genIfx, gen390Code): fixed bug 1509084
37986 * src/mcs51/gen.c (popForBranch, genIfxJump, genCmp, genCmpEq,
37987 ifxForOp, genAnd, genOr, genXor, genNearPointerGet,
37988 genPagedPointerGet, genFarPointerGet, genCodePointerGet,
37989 genGenPointerGet, genIfx, gen51Code): fixed bug 1509084
37991 * src/mcs51/gen.c: throughout cosmetic changes for syncing both
37992 * src/SDCCsymt.h: updated IS_OP_RUONLY, IS_OP_ACCUSE
37993 * support/regression/tests/bug1509084.c: new, added
37995 2008-04-14 Maarten Brock <sourceforge.brock AT dse.nl>
37997 * device/include/mcs51/cc2510fx.h: added _XPAGE
37998 * device/include/mcs51/compiler.h: cosmetic changes
38000 2008-03-31 Maarten Brock <sourceforge.brock AT dse.nl>
38002 * sdcc.dsw: adapted for moved cpp2, added dependency for as_z80 on
38005 2008-03-31 Borut Razem <borut.razem AT siol.net>
38007 * support/cpp2 renamed to support/cpp
38008 * support/cpp2/libiberty/filenames.h, support/cpp2/libiberty/hex.c,
38009 support/cpp2/libiberty/splay-tree.c,
38010 support/cpp2/libiberty/splay-tree.h, support/cpp2/libcpp/macro.c,
38011 support/cpp2/libcpp/directives.c,
38012 support/cpp2/libcpp/include/cpplib.h,
38013 support/cpp2/libcpp/include/symtab.h,
38014 support/cpp2/libcpp/include/line-map.h,
38015 support/cpp2/libcpp/line-map.c, support/cpp2/libcpp/files.c,
38016 support/cpp2/libcpp/init.c, support/cpp2/libcpp/traditional.c,
38017 support/cpp2/libcpp/expr.c, support/cpp2/libcpp/internal.h,
38018 support/cpp2/libcpp/lex.c, support/cpp2/libcpp/system.h,
38019 support/cpp2/libcpp/charset.c: SDCPP synchronized with GCC CPP
38020 release version 4.3.0
38021 * configure.in, configure, Makefile.in, Makefile.bcc:
38022 adapted for moved cpp2
38024 2008-03-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38026 * device/include/hc08/mc68hc908jkjl.h: committed fix for bug #1929739,
38027 thanks Alejandro Pustowka <alejo_pustowka AT yahoo.com.mx>
38029 2008-03-30 Maarten Brock <sourceforge.brock AT dse.nl>
38031 * src/SDCCloop.c (loopInvariants): applied fix for bug 1717943, thanks
38033 * support/regression/tests/bug1717943.c: new, added
38035 2008-03-30 Philipp Klaus Krause <pkk AT spth.de>
38037 * src/z80/gen.c (assignResultValue): Reverted reversal of order of
38038 bytewise return value assignments introduced in last commit.
38040 2008-03-30 Philipp Klaus Krause <pkk AT spth.de>
38042 * src/z80/gen.c (emitDebug, assignResultValue, genPlus, genMinus,
38043 genMult, genJumpTab):
38044 Use 16-bit instructions for addition in some additional cases,
38045 implemented RFEs #1914251, #1914245, #1922090, #1921382, #1918323.
38047 2008-03-30 Philipp Klaus Krause <pkk AT spth.de>
38049 * src/z80/ralloc.c (serialRegAssign, allocReg, tryAllocatingRegPair):
38050 Implemented RFE #1921450, changed some debug messages.
38052 2008-03-30 Borut Razem <borut.razem AT siol.net>
38054 * Small Device C Compiler 2.8.0 released
38055 * .version, doc/sdccman.lyx: changed sdcc version to 2.8.1
38056 * support/scripts/sdcc.nsi: added finish page; this version
38057 was used for 2.8.0 release
38058 * doc/knownbugs.html: removed; magically generated by the build
38059 process using gen_known_bugs.pl from now on
38061 2008-03-23 Borut Razem <borut.razem AT siol.net>
38063 * src/pic/gen.h: Q&D solution for the bug, found by Jim Paris
38064 and reverted it, since it was already fixed by Raphael ;-)
38065 * doc/knownbugs.html: updated for RC2
38067 2008-03-22 Raphael Neider <rneider AT web.de>
38069 * src/SDCCicode.c (getPtrType): avoid unnecessary extra assignments
38072 2008-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
38074 * src/mcs51/gen.c (adjustArithmeticResult): fixed bug 1839299
38075 * support/regression/tests/bug1839277.c: added related testBug1839299
38077 2008-03-21 Maarten Brock <sourceforge.brock AT dse.nl>
38079 * src/ds390/gen.c (opIsGptr, adjustArithmeticResult, genAddrOf, genAssign),
38080 * src/mcs51/gen.c (opIsGptr, adjustArithmeticResult, genAddrOf, genAssign):
38082 * src/mcs51/gen.c: throughout only output hex constants
38083 * src/SDCCicode.c (getPtrType, geniCodeCast): fixed code size regression
38084 * support/regression/tests/bug1839277.c: new, added
38086 2008-03-21 Philipp Klaus Krause <pkk AT spth.de>
38088 * src/z80/ralloc.c (callFuncByName): Used // instead of /**/ to fix
38089 compilation warning about nested comments.
38091 2008-03-20 Maarten Brock <sourceforge.brock AT dse.nl>
38093 * src/SDCCsymt.c (comparePtrType): fixed bug 1921073
38094 * support/regression/tests/bug1921073.c: new, added
38096 2008-03-17 Philipp Klaus Krause <pkk AT spth.de>
38098 * src/z80/SDCCpeeph.c.c (callFuncByName):
38099 Commented function parameters.
38101 2008-03-17 Philipp Klaus Krause <pkk AT spth.de>
38103 * src/z80/ralloc.c (packRegsForAccUse2):
38104 disabled a broken accumulator packing optimization (fixed #1292721).
38105 * support/regression/tests/bug-1292721: Regression test for #1292721.
38107 2008-03-16 Raphael Neider <rneider AT web.de>
38109 * src/pic/gen.c (SetIrp,genNearPointerGet,genNearPointerSet):
38110 fixed code bloat regression using a variant of patch #1915618
38112 2008-03-16 Borut Razem <borut.razem AT siol.net>
38114 * support/scripts/sdcc.nsi: added section debugging macros, added SDCC
38115 icon, changed startup menu for release distribution, code cleaning,
38116 create url files instead links in startup menu
38118 2008-03-16 Maarten Brock <sourceforge.brock AT dse.nl>
38120 * src/SDCCcse.c (algebraicOpts): fixed bug 1579949
38121 * support/regression/tests/bug1579949.c: new, added
38123 2008-03-14 Paul Stoffregen <paul AT pjrc.com>
38125 * device/lib/printf_fast.c: fixed bug 1255403
38127 2008-03-14 Maarten Brock <sourceforge.brock AT dse.nl>
38129 * doc/sdccman.lyx: enhanced paragraph about bankswitching for mcs51
38130 * src/cdbFile.c (cdbWriteBasicSymbol): fixed bug 1909409 for locals
38132 2008-03-14 Borut Razem <borut.razem AT siol.net>
38134 * as/doc/asmlnk.doc, as/doc/asxhtm.html: updated link-xx and aslink
38135 command line options
38136 * as/link/hc08/lkmain.c: converted tabs to spaces so that the usage
38137 is correctly displayed
38138 * as/link/z80/lkmain.c: usage line commented out
38140 2008-03-13 Borut Razem <borut.razem AT siol.net>
38142 * doc/sdccman.lyx: corrected to be able to convert to PDF,
38143 updated the list pf supported pic14 devices
38145 2008-03-12 Maarten Brock <sourceforge.brock AT dse.nl>
38147 * doc/sdccman.lyx: added paragraph about bankswitching for mcs51
38149 2008-03-12 Borut Razem <borut.razem AT siol.net>
38151 * as/doc/asmlnk.doc, as/doc/asxhtm.html: updated command line options,
38152 fixed documentation request #1718191
38153 * as/hc80/asmain.c, as/mcs51/asmain.c: added option -c to usage
38154 * doc/sdccman.lyx: added description of --no-std-crt0 gbz80
38155 command line option
38157 2008-03-10 Maarten Brock <sourceforge.brock AT dse.nl>
38159 * src/SDCCast.c (isConformingBody): fixed bug 1505811, thanks Robert Larice
38160 * support/regression/tests/bug1505811.c: new, added
38162 2008-03-09 Raphael Neider <rneider AT web.de>
38164 * device/include/pic16/pic18f2620.h,
38165 * device/include/pic16/pic18f4620.h,
38166 * device/lib/pic16/libdev/pic18f2620.c,
38167 * device/lib/pic16/libdev/pic18f4525.c,
38168 * device/lib/pic16/libdev/pic18f4620.c: merged 18f2525/2620/4525/4620
38169 family to consistently use pic18f4620.[ch], fixes #1832562
38171 2008-03-09 Borut Razem <borut.razem AT siol.net>
38173 * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
38174 changed sdcc version to 2.8.0
38175 * knownbugs.html: regenerated
38176 * support/scripts/gen_known_bugs.pl: added number of open bugs
38178 2008-03-09 Raphael Neider <rneider AT web.de>
38180 * src/pic16/gen.c (pic16_mov2w_volatile): NEW, read volatile operands,
38181 (genOr): read volatile operand even if the result is known,
38183 (genOr,genXor): removed unused legacy code,
38184 (genDummyRead): use pic16_mov2w_volatile()
38186 2008-03-08 Borut Razem <borut.razem AT siol.net>
38188 * src/SDCCglue.c: fixed bug #1864582: multiple definition of char
38189 cons w. --model-large
38190 * support/regression/staticinit.c: added regression test for bug
38193 2008-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
38195 * src/ds390/gen.c (pushSide, genPcall),
38196 * src/hc08/gen.c (pushSide, genPcall): synchronized with mcs51
38197 * src/mcs51/gen.c: cosmetic changes
38198 * support/regression/fwk/include/testfwk.h: added macro reentrant
38199 * support/regression/tests/bug1908493.c: new, added
38201 2008-03-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
38203 * src/SDCCdebug.c:, as/link/lkaomf51.c: Fixed bug 1909409: Pdata in OMF file
38205 2008-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
38207 * src/mcs51/gen.c (pushSide, genPcall): fixed bug 1908493
38208 * src/SDCCmain.c (preProcess): removed -DSDCC_PARMS_IN_BANK1 because it is
38209 already set in ds390/main.c and mcs51/main.c
38211 2008-03-07 Raphael Neider <rneider AT web.de>
38213 * src/regression/init0.c: new test for initialized arrays of function
38215 * src/regression/Makefile: made a bit more flexible, added init0.c
38216 * src/pic/glue.c (emitIvals): hacky fix for initializing from function
38217 pointers, closes #1427663
38219 2008-03-05 Borut Razem <borut.razem AT siol.net>
38221 * dos/sdccman.lyx: docummented predefined macros SDCC_REVISION,
38222 SDCC_PARMS_IN_BANK1, SDCC_FLOAT_REENT and SDCC_INT_LONG_REENT
38224 2008-03-05 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
38226 * support/librarian/sdcclib.c:Added feature request 1908061:
38227 Synchronise sdcclib commands with ar.
38229 2008-03-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38231 * src/SDCCmain.c: added predefined macros SDCC_REVISION (RFE #1907229),
38232 and (depending on corresponding compiler option) SDCC_PARMS_IN_BANK1,
38233 SDCC_FLOAT_REENT, SDCC_INT_LONG_REENT
38234 * device/include/mcs51/compiler.h: removed umlauts, added double
38237 2008-03-04 Maarten Brock <sourceforge.brock AT dse.nl>
38239 * src/SDCCptropt.c (ptrPseudoSymConvert): fixed bug 1536762
38240 * support/regression/tests/bug1536762.c: new, added
38242 * src/SDCCutil.h: added getBuildDate()
38243 * src/SDCCmain.c (printVersionInfo),
38244 * src/SDCCglue.c (initialComments): use getBuildDate() instead of
38246 * src/*/ralloc.c: removed IS_OP_RUONLY macro
38247 * src/ds390/ralloc.c (packRegisters),
38248 * src/mcs51/ralloc.c (packRegisters),
38249 * src/z80/ralloc.c (packRegisters): applied fix for bug 1618050, thanks
38251 * support/regression/tests/bug1618050.c: new, added
38252 * src/SDCCsymt.h: fixed typo in DECLSPEC2TXT
38253 * support/regression/fwk/include/testfwk.h,
38254 * support/regression/tests/bug1838000.c: moved _AUTOMEM and _STATMEM to
38257 2008-03-04 Raphael Neider <rneider AT web.de>
38259 * src/pic/gen.c: removed unused prototypes, prevent internal errors
38260 on accessing OP_SYM_TYPE(op)
38261 * src/pic/gen.h: removed unused prototype of genMinusDec()
38262 * src/pic/genarith.c (genMinus): cosmetic changes, rewritten to
38263 fix #1876953 (invalid subtraction code), removed unused code
38265 2008-03-03 Raphael Neider <rneider AT web.de>
38269 * src/pic/genarith.c,
38270 * src/pic/ralloc.c,
38271 * src/pic/ralloc.h: removed AOP_R0, AOP_R1, AOP_DPTR, AOP_DPTR2,
38272 AOP_ACC, and *_IDX and adjusted code, removed unused legacy code
38274 2008-03-03 Raphael Neider <rneider AT web.de>
38276 * src/pic/device.c (find_device): search user-specified paths first
38277 for pic14devices.txt, fixes #1900827
38279 2008-03-02 Borut Razem <borut.razem AT siol.net>
38281 * support/scripts/sdcc.nsi: fixed bug in IsNT, LogicLib-isation of
38282 AddToPath and RemoveFromPath
38284 2008-03-01 Borut Razem <borut.razem AT siol.net>
38286 * support/scripts/sdcc.nsi: reverted MULTIUSER page since it didn't
38287 work correctly, added debugging support if -DSDCC.DEBUG command line
38290 2008-02-28 Borut Razem <borut.razem AT siol.net>
38292 * doc/sdccman.lyx: cosmetic changes
38294 2008-02-28 Maarten Brock <sourceforge.brock AT dse.nl>
38296 * src/mcs51/ralloc.c (fillGaps): fixed bug 1839671
38297 * doc/sdccman.lyx: fixed unmeant removal of spaces
38299 2008-02-27 Borut Razem <borut.razem AT siol.net>
38301 * support/scripts/sdcc.nsi: corrected installation directory for
38302 current user installation mode
38303 * doc/README.txt: added Philipp Klaus Krause to the developers list
38305 2008-02-27 Maarten Brock <sourceforge.brock AT dse.nl>
38307 * src/mcs51/gen.c (genUnpackBits): don't generate ifxJump, instead
38308 return ifx condition
38309 (genNearPointerGet, genPagedPointerGet, genFarPointerGet,
38310 genCodePointerGet, genGenPointerGet): cleanup aop before generating
38311 ifxJump to fix bug 1838000
38312 * src/SDCCsymt.c (aggregateToPointer): fix problem for xstack
38313 * support/regression/tests/bug1838000.c: new, added
38314 * device/include/mcs51/cc1110.h: new, added, thanks to Pravin Angolkar
38316 2008-02-26 Borut Razem <borut.razem AT siol.net>
38318 * src/SDCCast.c, doc/sdccman.lyx: fixed RFE #1901171: integer promotion
38320 * support/scripts/sdcc.nsi: added MULTIUSER page,
38321 NSIS upgraded to version 2.35
38323 2008-02-25 Maarten Brock <sourceforge.brock AT dse.nl>
38325 * src/mcs51/ralloc.c (isSpiltOnStack): fixed bug 1565152
38326 * support/regression/tests/bug1565152.c: new, added
38328 2008-02-25 Maarten Brock <sourceforge.brock AT dse.nl>
38330 * src/mcs51/gen.c (genPagedPointerSet): fixed bug 1670148
38331 * support/regression/ports/mcs51-xstack-auto/spec.mk: added expf.c
38332 * support/regression/tests/bug1670148.c: new, added
38334 2008-02-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
38336 * device/include/mcs51/at89c51ed2.h: fixed bug 1901469.
38338 2008-02-24 Borut Razem <borut.razem AT siol.net>
38340 * src/SDCCast.c, src/SDCCast.h: fixed bug #1874922: explicit typecast
38341 is ineffective for unsigned char parameter
38343 2008-02-24 Maarten Brock <sourceforge.brock AT dse.nl>
38345 * src/SDCCast.c (expandInlineFuncs): fixed bug 1875869
38346 * src/SDCCglue.c (printIvalBitFields): fixed bug 1806631
38347 * support/regression/tests/bitopcse.c: removed hc08 exception, see testfwk.h
38348 * support/Util/MySystem.c (my_system): output errorcode when verbose
38350 2008-02-22 Philipp Klaus Krause <pkk AT spth.de>
38352 * src/z80/gen.c (genMult): Rewrote 8-bit multiplication by constant,
38353 implements #1898231
38355 2008-02-22 Philipp Klaus Krause <pkk AT spth.de>
38357 * device/lib/z80/mul.s: Rewrote __muluchar_rrx_s, to improve 8-bit mult.,
38358 implements #1896290
38360 2008-02-22 Maarten Brock <sourceforge.brock AT dse.nl>
38362 * src/SDCCast.c (createIvalStruct): fixed bug 1466761
38364 2008-02-21 Borut Razem <borut.razem AT siol.net>
38366 * support/regression/Makefile.in,
38367 support/regression/ports/ds390/spec.mk,
38368 support/regression/ports/hc08/spec.mk,
38369 support/regression/ports/mcs51-common/spec.mk,
38370 support/regression/ports/pic14/spec.mk,
38371 support/regression/ports/pic16/spec.mk,
38372 support/regression/ports/ucz80/spec.mk,
38373 support/regression/ports/xa51/spec.mk:
38374 added CFLAGS when compiling timeout
38376 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38378 * support/regression/tests/bugs-1596270-1736867.c: Regression test for
38381 2008-02-20 Maarten Brock <sourceforge.brock AT dse.nl>
38383 * src/SDCClrange.c (findPrevUse): fixed bug 1888147
38384 * support/regression/tests/bug1888147.c: new, added
38386 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38388 * src/z80/gen.c: fixed bugs #1596270, #1736867
38390 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38392 * src/z80/gen.c: fixed bug in register pair loading when swapping register
38393 contents, mostly fixes #1596270
38395 2008-02-20 Philipp Klaus Krause <pkk AT spth.de>
38397 * src/z80/peeph.def,
38398 * src/z80/peeph-z80.def: moved peephole that breaks gbz80 to z80-specific
38399 peepholes, fixes #1806565
38401 2008-02-20 Maarten Brock <sourceforge.brock AT dse.nl>
38403 * src/SDCCpeeph.c (operandBaseName): added check for @Ri
38404 * src/mcs51/peeph.def (rule 177.c): added operandsNotRelated(%1 %3)
38405 fixes bug 1739475, thanks Robert Larice
38406 (rule 271): new, added
38408 2008-02-18 Borut Razem <borut.razem AT siol.net>
38410 * sim/ucsim/s51.src/Makefile.in: fixed error made in previous commit
38412 2008-02-17 Maarten Brock <sourceforge.brock AT dse.nl>
38414 * src/SDCCmain.c (linkEdit): emit -z when using --debug for z80
38416 2008-02-17 Raphael Neider <rneider AT web.de>
38418 * src/pic16/genarith.c,
38421 * src/pic16/genutils.c: removed unused legacy code,
38422 removed unused fields from struct asmop and struct _G
38424 2008-02-17 Raphael Neider <rneider AT web.de>
38426 * src/pic16/gen.c (AccRsh): cosmetic changes,
38427 (shiftR1Left2ResultSigned,shiftR1Left2Result,shiftL1Left2Result,
38428 genRightShiftLiteral): fixed to work with SFRs as result by
38429 assigning only once to result,
38430 removed a lot of unused/excluded code fragments
38432 2008-02-17 Raphael Neider <rneider AT web.de>
38434 * device/include/pic/pic16f88.h,
38435 * device/include/pic/pic16f886.h,
38436 * device/include/pic/pic16f887.h: added TRISA6 and TRISA7
38438 2008-02-17 Borut Razem <borut.razem AT siol.net>
38440 * src/z80/peeph.def: applied patch
38441 #1893626: Optimize tail calls on Z80, thanks to Philipp Krause
38442 * src/z80/gen.c, src/z80/peeph.def: applied patch
38443 #1893510: Improve logical left shift on Z80, thanks to Philipp Krause
38444 * sim/ucsim/avr.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
38445 sim/ucsim/s51.src/Makefile.in, sim/ucsim/sim.src/Makefile.in,
38446 sim/ucsim/xa.src/Makefile.in, sim/ucsim/z80.src/Makefile.in,
38447 sim/ucsim/main_in.mk: renamed libutil.a to libucsimutil.a in order to
38448 enable compilation on Mac OS X 10.5 (Leopard) and XCode v3.0
38450 2008-02-16 Maarten Brock <sourceforge.brock AT dse.nl>
38452 * as/link/mcs51/aslink.dsp: removed SDK define
38453 * as/link/z80/clean.mk: brought in sync with other ports
38454 * as/link/z80/lklibr.c (SdccLib, fndsym): handle the dflag here too
38455 * as/hc08/Makefile.bcc,
38456 * as/mcs51/Makefile.bcc,
38457 * as/z80/Makefile.bcc: noice.c was moved to as/asxxsrc/
38458 * src/z80/main.c (_setValues): use the now capitalized -Z,
38459 (z80_port, gbz80_port): generate debug information when asked
38461 2008-02-16 Borut Razem <borut.razem AT siol.net>
38463 * as/z80/asmain.c, as/z80/asm.h, as/z80/asdata.c,
38464 as/link/z80/lkmain.c, as/z80/as_gbz80.dsp, as/z80/as_z80.dsp,
38465 as/z80/Makefile.in. as/z80/Makefile.bcc:
38466 applied patch #1893393: patch for as-z80 and link-z80 to generate
38467 cdb, thanks to Armin Diehl
38468 * as/*/asnoice.c, as/hc08/as_hc08.dsp, as/hc08/Makefile.in,
38469 as/mcs51/asx8051.dsp, as/mcs51/Makefile.in:
38470 asnoice.c moved to as/asxxsrc/asnoice.c
38471 * src/z80/peeph-gbz80.def: applied patch
38472 #1880235: Z80 return peephole, thanks to Philipp Krause
38474 2008-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
38477 * doc/sdccman.lyx: bumped version to 2.7.5
38478 * src/SDCCsymt.c (compareType, comparePtrType): fixed bug 1281583
38480 2008-02-13 Maarten Brock <sourceforge.brock AT dse.nl>
38482 * device/include/pic16/stdlib.h,
38483 * device/lib/pic16/libc/stdlib/ltoa.c,
38484 * device/lib/pic16/libc/stdio/vfprintf.c: ascii strings are char*
38486 2008-02-13 Borut Razem <borut.razem AT siol.net>
38488 * src/SDCCmain.c, src/SDCCglue.c: fixed --c1mode
38489 * src/pic16/glue.c, src/SDCCast.c, src/SDCCast.h, src/SDCCBBlock.c,
38490 src/SDCCcse.c, src/SDCCglue.c, src/SDCCicode.c, src/SDCCloop.c,
38491 src/SDCCopt.c, src/SDCCval.c:
38492 fixed bug #1890273: SDCC Warning 154 shows wrong filename
38494 2008-02-12 Maarten Brock <sourceforge.brock AT dse.nl>
38496 * src/SDCCsymt.c (compareType): fixed bug 1309013
38498 2008-02-09 Borut Razem <borut.razem AT siol.net>
38500 * src/SDCCval.c, src/SDCCval.h:
38501 code cleaning, added function constChrVal()
38502 * src/SDCCglue.c, src/pic/glue.c, src/pic16/glue.c, src/SDCCast.c, src/SDCC.y:
38503 call constChrVal() instead constVal()
38505 2008-02-01 Maarten Brock <sourceforge.brock AT dse.nl>
38507 * src/SDCCast.c (resolveSymbols): added reentrancy check for parameters
38508 of function pointer
38510 * src/SDCCerr.c: changed warning W_NONRENT_ARGS to error E_NONRENT_ARGS
38511 * support/regression/tests/absolute.c: added TestStruct TestVar (see also
38514 2008-02-01 Raphael Neider <rneider AT web.de>
38516 * device/include/pic/pic16f886.h,
38517 * device/include/pic/pic16f887.h: added RA6 and RA7
38519 2008-01-24 Raphael Neider <rneider AT web.de>
38521 * device/include/pic/pic16f88.h: added RA6 and RA7
38522 * device/lib/pic/libdev/disabled_pic16f886.c,
38523 * device/lib/pic/libdev/disabled_pic16f887.c: renamed and enabled
38525 * src/pic16/devices.inc,
38526 * device/include/pic16/pic18f2423.h,
38527 * device/include/pic16/pic18f2523.h,
38528 * device/include/pic16/pic18fregs.h,
38529 * device/lib/pic16/pics.all
38530 * device/lib/pic16/libdev/pic18f2423.c,
38531 * device/lib/pic16/libdev/pic18f2523.c: added 18f2423 and 18f2523
38532 * device/lib/pic16/libio/i2c.ignore,
38533 * device/lib/pic16/libio/usart.ignore,
38534 * device/lib/pic16/libio/adc.ignore: ignore new devices
38536 2008-01-23 Maarten Brock <sourceforge.brock AT dse.nl>
38538 * src/SDCCast.c (createRMW): fixed bug 1582651
38540 2008-01-20 Borut Razem <borut.razem AT siol.net>
38542 * src/SDCCcse.c: partially fixed enhancement request
38543 #1793872 - multiply by -1 not collapsed
38544 * support/regression/tests/arithcsi.c: added regression test
38546 2008-01-19 Maarten Brock <sourceforge.brock AT dse.nl>
38548 * as/mcs51/asx8051.dsp: removed define SDK
38549 * as/mcs51/i51mch.c (machine): fixed bug 1865114
38550 * device/include/asm/ds390/features.h: fixed bug with ds390 & stack-auto
38552 * as/link/mcs51/lkmain.c: used LKDIRSEP, LKDIRSEPSTR and LKOBJEXT,
38553 cosmetic changes, brought more in sync, changed old K&R to ANSI
38555 2008-01-13 Borut Razem <borut.razem AT siol.net>
38557 * support/scripts/sdcc.nsi: added Uninstall/reinstall page, ...
38558 * src/SDCCicode.c: fixed bug #1870216 - Error 122: dividing by zero
38560 2007-12-30 Borut Razem <borut.razem AT siol.net>
38562 * src/pic16/gen.c: fixed implementation of bitwise operations for
38564 * support/regression/tests/bitwise.c: added test cases
38566 2007-12-29 Borut Razem <borut.razem AT siol.net>
38568 * src/SDCCasm.[ch]: renamed from asm[ch], use dbuf_getline(), ...
38569 * src/src.dsp, src/Makefile.bcc, src/Makefile.in, src/common.h,
38570 src/SDCCglue.c, src/xa51/main.c: asm.[ch] renamed to SDCCasm.[ch]
38571 * support/Util/dbuf_string.[ch]: added function dbuf_getline()
38572 * src/ds390/gen.c, src/hc08/gen.c, src/mcs51/gen.c, src/pic16/gen.c,
38573 src/pic/gen.c, src/z80/gen.c, src/xa51/gen.c, src/pic16/ralloc.c,
38574 src/pic16/pcode.[ch]: added const qualifier
38575 * as/hc08/Makefile.bcc, as/hc08/Makefile.in, as/hc08/as_hc08.dsp,
38576 as/mcs51/Makefile.bcc, as/mcs51/Makefile.in, as/mcs51/asx8051.dsp,
38577 as/z80/Makefile.bcc, as/z80/Makefile.in, as/z80/as_gbz80.dsp,
38578 as/z80/as_z80.dsp: added dbuf.[ch] and dbuf_string[ch] to project
38579 * as/asxxsrc/aslex.c: use dbuf_getline()
38580 * as/hc08/asdata.c, as/hc08/asexpr.c, as/hc08/asm.h, as/hc08/m08adr.c,
38581 as/mcs51/asdata.c, as/mcs51/asexpr.c, as/mcs51/asm.h,
38582 as/mcs51/i51adr.c, as/z80/asdata.c, as/z80/asexpr.c, as/z80/aslist.c,
38583 as/z80/asm.h, as/z80/z80adr.c:
38584 changed type of ib and ip to const char *
38586 2007-12-28 Borut Razem <borut.razem AT siol.net>
38588 * as/asxxsrc/aslex.c: moved from as/mcs51/aslex.c;
38589 introduced (readlin) - long lines are turuncated
38590 * as/hc08/as_hc08.dsp, as/mcs51/asx8051.dsp, as/z80/as_gbz80.dsp,
38591 as/z80/as_z80.dsp, as/hc08/Makefile.in, as/mcs51/Makefile.in,
38592 as/z80/Makefile.in: moved aslex.c to asxxsrc
38593 * as/hc08/aslex.c, as/z80/aslex.c: deleted
38594 * as/hc08/asmain.c, as/mcs51/asmain.c:
38595 added missing initialization of a_addr field
38596 * support/regression/tests/long_asm_line.c: added regtest for long
38599 2007-12-22 Borut Razem <borut.razem AT siol.net>
38601 * src/SDCC.lex: fixed bug #1852894: # character hangs the compiler
38603 2007-12-20 Maarten Brock <sourceforge.brock AT dse.nl>
38605 * src/SDCCsymt.c (computeType): fixed bug, thanks Fan Weiguang
38607 2007-12-16 Borut Razem <borut.razem AT siol.net>
38609 * device/include/pic16/stdbool.h: removed, since already exists in
38610 device/include/; this also fixes bitopcse.c regression test for pic16
38612 * support/regression/fwk/inclusw/testfwk.h: added macro ASSERT_FAILED
38613 * src/pic16/glue.c: fixed bug #1851855: generic static pointer
38614 dereference doesn't work; covered by regression test bug1399290
38616 2007-12-05 Borut Razem <borut.razem AT siol.net>
38618 * doc/sdccman.lyx: fixed bug #1844509 - Correction to Manual 4.6.9
38621 2007-12-01 Borut Razem <borut.razem AT siol.net>
38623 * sim/ucsim/cmd.src/cmdmem.cc, sim/ucsim/cmd.src/mem.cc:
38624 corrected handling of the highest_valid_address
38626 2007-11-17 Raphael Neider <rneider AT web.de>
38628 * src/pic/main.c (_asmCmd): include debug arguments (-g as $3)
38629 * src/pic/glue.c (picglue): emit .file if --debug is given
38631 2007-11-17 Raphael Neider <rneider AT web.de>
38633 * src/pic16/genarith.c (pic16_genPlus, pic16_genMinus): take special
38634 care when left or right operand resides in result, fixes #1830220
38636 2007-11-17 Borut Razem <borut.razem AT siol.net>
38638 * src/SDCCglue.c, src/pic16/glue.c: reverted fix for bug
38639 #983491 - "Merge duplicate strings function is ineffective"
38640 * support/regression/tests/bug-983491.c: regtest disabled
38641 * as/asxxsrc: created
38642 as/asxxsrc/assym.c, as/asxxsrc/strcmpi.c: moved
38643 as/hc08/assym.c, as/mcs51/assym.c, as/strcmpi.c,
38644 as/z80/assym.c, as/hc08/asstore.c, as/mcs51/asstore.c: deleted
38645 as/hc08/Makefile.bcc, as/hc08/Makefile.in, as/hc08/as_hc08.dsp,
38646 as/hc08/asm.h, as/link/hc08/Makefile.bcc, as/link/hc08/Makefile.in,
38647 as/link/hc08/link_hc08.dsp, as/link/mcs51/Makefile.bcc,
38648 as/link/mcs51/Makefile.in, as/link/mcs51/aslink.dsp,
38649 as/link/z80/Makefile.in, as/link/z80/linkgbz80.dsp,
38650 as/link/z80/linkz80.dsp, as/mcs51/Makefile.bcc, as/mcs51/Makefile.in,
38651 as/mcs51/asm.h, as/mcs51/asx8051.dsp, as/z80/Makefile.bcc,
38652 as/z80/Makefile.in, as/z80/as_gbz80.dsp, as/z80/as_z80.dsp,
38653 as/z80/Makefile.as_hc08, as/mcs51/Makefile.asx8051: modified
38654 created as/asxxsrc directory, assym.c and strcpi.c moved into it
38656 2007-11-15 Maarten Brock <sourceforge.brock AT dse.nl>
38658 * device/include/stdarg.h: added and removed some casts
38659 * src/SDCCsymt.c (compareType): Fully check types between generic and
38660 non-generic pointers, also accept ptr-ptr to void-ptr assignments
38662 2007-11-13 Borut Razem <borut.razem AT siol.net>
38664 * support/regression/tests/bug-1817005.c:
38665 added regtest for bug #1817005 - as-z80 chokes on long labels
38667 2007-11-12 Borut Razem <borut.razem AT siol.net>
38669 * as/z80/asmain.c, as/z80/asm.h, as/z80/assym.c, as/z80/asdata.c,
38670 as/z80/asout.c, as/z80/aslist.c:
38671 fixed bug #1817005 - as-z80 chokes on long labels
38673 2007-11-11 Maarten Brock <sourceforge.brock AT dse.nl>
38675 * as/hc08/asmain.c,
38676 * as/z80/asmain.c: cosmetic changes
38678 * as/mcs51/alloc.h,
38679 * as/z80/alloc.h: removed
38681 * as/mcs51/assym.c: replaced alloc.h with stdlib.h
38682 * as/link/aslink.h: added LKDIRSEP and, LKDIRSEPSTR
38683 * as/link/hc08/Makefile.in,
38684 * as/link/mcs51/Makefile.in,
38685 * as/link/z80/Makefile.in: added -DUNIX to CFLAGS
38687 * as/link/mcs51/lkarea.c,
38688 * as/link/mcs51/lkmain.c: cosmetic changes
38689 * as/link/hc08/lklibr.c,
38690 * as/link/z80/lklibr.c,
38691 * as/link/mcs51/lklibr.c: used LKDIRSEP, LKDIRSEPSTR and LKOBJEXT,
38692 used cygwin_conv_to_full_posix_path,
38693 added warnings, cosmetic changes, brought more in sync
38694 changed old K&R into ANSI function declarations
38695 * as/link/z80/lklibr.c (loadAdb): added
38696 * as/link/z80/lkmain.c: removed -- option from usage text
38698 2007-11-03 Maarten Brock <sourceforge.brock AT dse.nl>
38700 * src/mcs51/gen.c (outBitC): optimized for no result
38702 2007-10-31 Borut Razem <borut.razem AT siol.net>
38704 * src/SDCCsymt.c: fixed (hopeful properly) bug
38705 #1805702 - order of extern matters
38706 * support/regression/tests/bug-1805702.c: enabled regtest for bug
38709 2007-10-29 Borut Razem <borut.razem AT siol.net>
38711 * src/SDCCsymt.c: reverted bad fixed of bug #1805702
38712 - order of extern matters
38713 * support/regression/tests/bug-1805702.c: disabled regtest for bug
38716 2007-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
38718 * src/ds390/peeph.def: replaced 24bitModeAndPortDS390 by
38719 24bitMode, portIsDS390
38720 * src/mcs51/gen.c (genOr): optimized for RFE 1750727
38721 * src/SDCCpeeph.c (flat24bitModeAndPortDS390): removed
38722 (notVolatileVariable): also check sloc names,
38723 (callFuncByName): moved ftab[] out of function and sorted it by use
38725 2007-10-28 Maarten Brock <sourceforge.brock AT dse.nl>
38727 * device/include/stdarg.h: fixed bug in va_start macro for --xstack
38728 * src/hc08/gen.c (aopForRemat): aop->aopu.aop_immd.from_cast_remat not set,
38729 aop->aopu.aop_immd.aop_immd2 not filled with (generic) pointer type
38730 * src/SDCCicode.c (geniCodeCast): fixed bug 880197
38731 * support/regression/tests/bug-880197.c: new, added
38733 2007-10-28 Borut Razem <borut.razem AT siol.net>
38735 * support/regression/Makefile.in,
38736 support/regression/ports/mcs51-large/spec.mk,
38737 support/regression/ports/mcs51-xstack-auto/spec.mk,
38738 support/regression/ports/mcs51-stack-auto/spec.mk,
38739 support/regression/ports/mcs51-medium/spec.mk,
38740 support/regression/ports/mcs51-common/spec.mk,
38741 support/regression/ports/mcs51-common/*,
38742 support/regression/ports/mcs51-small/*:
38743 mcs51 renamed to mcs51-common, created mcs51-small
38744 * src/SDCCsymt.c: fixed bug #1805702 - order of extern matters
38745 * support/regression/tests/bug-1805702.c: added regtest for bug
38748 2007-10-26 Maarten Brock <sourceforge.brock AT dse.nl>
38750 * src/mcs51/peeph.def: moved rules 257.x to 253.x and re-enabled 253.b,
38751 added new rules 265 - 270
38752 * support/regression/tests/bug1721024.c:new, added
38753 * support/regression/Makefile.in: renamed test-mcs51 to test-mcs51-small,
38754 introduced new test-mcs51 to run all mcs51 tests
38756 2007-10-25 Maarten Brock <sourceforge.brock AT dse.nl>
38758 * support/regression/tests/bug1816470.c: new, added
38760 2007-10-21 Maarten Brock <sourceforge.brock AT dse.nl>
38762 * src/SDCCast.c (resultTypePropagate): do propagate for LEFT_OP, do not
38763 propagate for *,+,- with float, fixed bug 1816470
38764 (decorateType): cast to resultTypeProp instead of resultType
38766 2007-10-19 Borut Razem <borut.razem AT siol.net>
38768 * src/pic16/glue.c: fixed bug #983491 - "Merge duplicate strings
38769 function is ineffective" for pic16 tareget
38770 * support/scripts/listerr.c: corrected include path
38771 * device/lib/_itoa.c: fixed bug #1806402 - _itoa and _uitoa leak to
38774 2007-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
38776 * support/regression/tests/using.c: new, added
38777 * support/regression/tests/vaargs.c: fixed and enabled test
38779 2007-10-18 Borut Razem <borut.razem AT siol.net>
38781 * src/SDCCglue.c: fixed bug #983491 - Merge duplicate strings function
38783 * support/regression/tests/bug-983491.c: added regtest for bug #983491
38785 2007-10-18 Maarten Brock <sourceforge.brock AT dse.nl>
38787 * doc/sdccman.lyx: documented option --Werror
38788 * src/SDCCsymt.c (checkFunction): fixed bug 1815418 by setting
38789 RegBankUsed[] earlier
38791 2007-10-14 Maarten Brock <sourceforge.brock AT dse.nl>
38793 * device/include/mcs51/p89lpc938.h: new, added, thanks Kyle Guinn
38797 * src/SDCCast.h: replaced AST_LIT_VALUE with AST_FLOAT_VALUE and
38799 * src/SDCCast.c (decorateType): improved optimization of tri-op
38800 * src/SDCCerr.c (vwerror, setWError),
38802 * src/SDCCmain.c (parseCmdLine): added option --Werror to treat all
38803 warnings as errors, thanks Stas Sergeev for PATCH 1813211
38805 2007-10-13 Maarten Brock <sourceforge.brock AT dse.nl>
38807 * src/mcs51/gen.c (leftRightUseAcc): use macro IS_OP_ACCUSE
38808 * src/SDCCast.c (decorateType): optimize bit=cond?1:0, RFE 1738430
38809 * support/regression/tests/bug-223113.c,
38810 * support/regression/tests/bug-426632.c,
38811 * support/regression/tests/bug-468811.c,
38812 * support/regression/tests/bug-477835.c,
38813 * support/regression/tests/bug-478094.c,
38814 * support/regression/tests/bug-499644.c,
38815 * support/regression/tests/bug-524209.c,
38816 * support/regression/tests/bug-524211.c,
38817 * support/regression/tests/packcast.c,
38818 * support/regression/tests/structidx.c: added empty tests
38819 * support/regression/tests/bug-607243.c: enabled test
38821 2007-10-06 Borut Razem <borut.razem AT siol.net>
38823 * .version, doc/sdccman.lyx: bumped version to 2.7.4 to indicate the full
38824 support of universal binaries on Mac OS X
38826 2007-10-02 Borut Razem <borut.razem AT siol.net>
38828 * src/SDCCval.h: unified double2ul macro for all platforms
38829 * src/SDCCval.c: fixed bug #1777758 - applied Maarten's patch
38830 * support/regression/tests/bitwise.c: added regtest for bug #1777758
38832 2007-09-30 Borut Razem <borut.razem AT siol.net>
38834 * src/SDCCval.h: fixed bug #1739860 - sdcc does not work correctly on some
38836 * sdcc_vc_in.h: enabled warnings
38837 * src/hc08/gen.c: fixed MSVC warning C4146: unary minus operator applied to
38838 unsigned type, result still unsigned
38839 * src/mcs51/peep.c: fixed gcc warning: suggest parentheses around && within ||
38841 2007-09-28 Raphael Neider <rneider AT web.de>
38843 * src/pic/device.c (find_device): prevent buffer underflow error
38844 * src/pic/pcoderegs.c (OptimizeRegUsage): avoid dereferencing
38845 the just destroyed list entry
38847 2007-09-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38849 * doc/sdccman.lyx: there's a dedicated wiki page for cmake and sdcc, thanks
38852 2007-09-18 Borut Razem <borut.razem AT siol.net>
38854 * src/SDCCval.c: fixed MSVC warning C4146: unary minus operator
38855 applied to unsigned type, result still unsigned
38857 2007-09-17 Borut Razem <borut.razem AT siol.net>
38859 * src/SDCC.y, src/SDCCast.c, src/SDCCcse.c, src/SDCCglue.c,
38860 src/SDCCicode.c, src/SDCCopt.c, src/SDCCsymt.c, src/SDCCval.c,
38861 src/SDCCval.h, src/hc08/gen.c, src/avr/gen.c, src/ds390/gen.c,
38862 src/mcs51/gen.c, src/pic/gen.c, src/pic/genarith.c, src/pic/glue.c,
38863 src/pic/ralloc.c, src/pic16/gen.c, src/pic16/genarith.c,
38864 src/pic16/genutils.c, src/pic16/glue.c, src/pic16/main.c,
38865 src/z80/gen.c, src/z80/ralloc.c:
38866 fixed bug #1739860 - sdcc does not work correctly on some platforms
38868 introduced and used ulFromVal(), double2ul(), used strtod() instead sscanf()
38870 2007-09-17 Raphael Neider <rneider AT web.de>
38872 * src/pic16/device.c: reverted to previous version
38873 * device/lib/pic16/Makefile.common.in: quieten gpasm via -Wa,-q
38875 2007-09-16 Raphael Neider <rneider AT web.de>
38877 * src/pic16/device.c (pic16_dump_usection): do not reserve 0 bytes,
38878 as this raises a ton of gpasm warnings, just emit a second label
38879 * src/pic16/devices.inc,
38880 * device/lib/pic16/pics.all,
38881 * device/lib/pic16/libdev/pic18f2585.c,
38882 * device/lib/pic16/libdev/pic18f2680.c,
38883 * device/lib/pic16/libdev/pic18f2682.c,
38884 * device/lib/pic16/libdev/pic18f2685.c,
38885 * device/lib/pic16/libdev/pic18f4585.c,
38886 * device/lib/pic16/libdev/pic18f4680.c,
38887 * device/lib/pic16/libdev/pic18f4682.c,
38888 * device/lib/pic16/libdev/pic18f4685.c,
38889 * device/include/pic16/pic18f2585.h,
38890 * device/include/pic16/pic18f2680.h,
38891 * device/include/pic16/pic18f2682.h,
38892 * device/include/pic16/pic18f2685.h,
38893 * device/include/pic16/pic18f4585.h,
38894 * device/include/pic16/pic18f4680.h,
38895 * device/include/pic16/pic18f4682.h,
38896 * device/include/pic16/pic18f4685.h,
38897 * device/include/pic16/pic18fregs.h: added 18f2585, 18f2680,
38898 18f2682, 18f2685, 18f4585, 18f4680, 18f4682, 18f4685,
38899 patch contributed by Anton Strobl, applied with changes
38901 2007-09-16 Raphael Neider <rneider AT web.de>
38903 * device/include/pic16/pic18f2431.h,
38904 * device/include/pic16/pic18f25j10.h,
38905 * device/include/pic16/pic18f4431.h,
38906 * device/include/pic16/pic18f45j10.h: adopted common include style
38907 * device/include/pic16/pic18f1320.h,
38908 * device/include/pic16/pic18f2320.h,
38909 * device/include/pic16/pic18f2525.h,
38910 * device/include/pic16/pic18f4320.h,
38911 * device/include/pic16/pic18f4525.h: NEW, just include proper .h file
38912 * device/include/pic16/pic18fregs.h: prepared for automatic include
38913 file selection by having DEVICE.h for every DEVICE
38914 * device/lib/pic16/libdev/pic18f2320.c,
38915 * device/lib/pic16/libdev/pic18f4320.c: just include proper .c file
38917 * device/lib/pic16/configure.in,
38918 * device/lib/pic16/configure: use rm -rf instead of rmdir
38919 * device/lib/pic16/Makefile.in: use RMDIR to remove build directories
38920 * device/lib/pic16/libc/stdlib/free.c: avoid warning on pointer cast
38922 2007-09-09 Borut Razem <borut.razem AT siol.net>
38924 * src/SDCCmain.c, src/SDCCutil.c: print newline after printVersionInfo(),
38925 distingush between i386 and ppc Mac OS X versions
38927 2007-09-05 Maarten Brock <sourceforge.brock AT dse.nl>
38929 * src/mcs51/gen.c (genReceive): fixed bug 1788177
38930 * support/regression/tests/bug1788177.c: new, added
38932 2007-09-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
38934 * doc/sdccman.lyx: mentioned d52 and cmake, customizing startup code
38935 * device/include/mcs51/lint.h added keyword __naked
38937 2007-09-04 Maarten Brock <sourceforge.brock AT dse.nl>
38939 * src/pic16/glue.c,
38941 * src/SDCCmem.h: removed maxRegBank
38942 * src/SDCCmem.c (allocVariables): removed maxRegBank and moved setting
38943 RegBankUsed[] to checkFunction() in SDCCsymt.c to fix bug 1759839
38944 * src/SDCCsymt.c (checkFunction): set RegBankUsed[] here
38945 * src/mcs51/peep.c (isCallerSaveFunc, termScanAtFunc): changed function
38946 name and behaviour to handle banked functions
38947 (scan4op): and use it to fix bug 1786213
38949 2007-09-03 Raphael Neider <rneider AT web.de>
38951 * device/include/pic16/pic18f248.h,
38952 * device/include/pic16/pic18f258.h,
38953 * device/include/pic16/pic18f448.h,
38954 * device/lib/pic16/libdev/pic18f248.c,
38955 * device/lib/pic16/libdev/pic18f258.c,
38956 * device/lib/pic16/libdev/pic18f448.c: fixed TRISEbits,
38957 added T0CONbits, fixes #1786891
38959 2007-08-29 Maarten Brock <sourceforge.brock AT dse.nl>
38961 * src/ds390/gen.c (genFarPointerSet),
38962 * src/hc08/ralloc.c (packRegisters),
38963 * src/mcs51/ralloc.c (packRegisters),
38964 * src/SDCCcse.c (cseBBlock): check if result is a symbol first to fix
38966 * src/SDCCicode.h: POINTER_SET can be true for literals too
38967 * support/regression/tests/bug1750318.c: new, added
38969 2007-08-23 Borut Razem <borut.razem AT siol.net>
38971 * debugger/mcs51/sdcdb.c: fixed compilation with older readline
38972 library versions without the completition functionality
38974 2007-08-22 Raphael Neider <rneider AT web.de>
38976 * device/include/pic16/pic18f1220.h,
38977 * device/lib/pic16/libdev/pic18f1220.c: applied patch #1776191
38979 2007-08-12 Borut Razem <borut.razem AT siol.net>
38981 * debugger/mcs51/Makefile.in: support/Util/SDCCerr.[ch] moved to src
38983 2007-08-11 Borut Razem <borut.razem AT siol.net>
38985 * support/Util/SDCCerr.c, support/Util/SDCCerr.h, src/src.dsp,
38986 src/Makefile.in, src/Makefile.bcc, support/scripts/listerr.c:
38987 support/Util/SDCCerr.[ch] moved to src
38988 * as/hc08/as_hc08.dsp, as/link/hc08/link_hc08.dsp,
38989 as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp,
38990 device/examples/ds390/tinitalk/tinitalk.dsp,
38991 device/examples/serialcomm/windows/serialcomm.dsp,
38992 support/librarian/librarian.dsp:
38993 removed linking of unused odbc32.lib and odbccp32.lib
38994 * support/scripts/winres.h:
38995 added for compilation with Visual C++ 2005 Express Edition
38997 2007-08-09 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
38999 * device/include/mcs51/at89c51ed.h: Fixed typo in declarations of CKCON0
39002 2007-08-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39004 * sdccconf_in.h: update the endian test so that SPARC Solaris
39005 does not throw syntax errors
39007 2007-08-06 Borut Razem <borut.razem AT siol.net>
39009 * doc/sdccman.lyx: removed two index entries which prevented the
39010 generation of sdcc doc archive
39012 2007-08-05 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39014 * doc/sdccman.lyx: Same changes made 2007-07-28 but using lyx 1.4.4
39015 instead of lyx 1.5.0.
39017 2007-07-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39019 * device/include/hc08/mc68hc908apxx.h: new header contributed by
39020 Lucas Loizaga, with minor modifications. Thanks!
39022 2007-07-28 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39024 * doc/sdccman.lyx: Documented --acall-ajmp and described new features
39027 2007-07-28 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39029 * src/SDCCglobl.h, src/SDCCpeeph.c, src/SDCCglue.c, src/mcs51/main.c,
39030 src/mcs51/peeph.def: Added option --acall-ajmp: replaces lcall/ljmp
39033 2007-07-22 Borut Razem <borut.razem AT siol.net>
39035 * configure.in, configure: re-introduced .version
39036 * sdcc.spec, doc/INSTALL.txt: they are used only for releases;
39037 the version reverted to 2.7.0
39039 2007-07-18 Maarten Brock <sourceforge.brock AT dse.nl>
39042 * doc/sdccman.lyx: bumped version to 2.7.3
39043 * device/include/mcs51/compiler.h: fixed elif->else
39044 * src/mcs51/gen.c (genAnd, genOr): handle accuse for pure bit operands
39045 * src/mcs51/ralloc.c (createStackSpil): fixed SCLS bug with sloc for sbit,
39046 (operandUsesAcc, packRegsForAccUse): added parameter allowBitspace to
39047 enable accuse for bit operands
39048 * src/SDCCmain.c (printVersionInfo),
39049 * src/SDCCutil.c (getBuildEnvironment): factored out creation of build
39050 environment descriptor
39051 * src/SDCCutil.h: added getBuildEnvironment
39052 * src/SDCCglue.c (initialComments): use getBuildEnvironment
39053 * support/regression/tests/bug1464657.c: enabled test test_Peephole251
39054 * support/regression/tests/bug-408972.c: enabled test leftShiftLong
39055 * support/regression/tests/bug1348008.c,
39056 * support/regression/tests/bug1496419.c,
39057 * support/regression/tests/bug1503067.c,
39058 * support/regression/tests/preproc.c: added empty tests
39060 2007-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
39062 * support/regression/tests/bug1678803.c: new, added
39064 2007-07-14 Maarten Brock <sourceforge.brock AT dse.nl>
39066 * as/link/aslink.h,
39067 * as/link/hc08/lkihx.c,
39068 * as/link/hc08/lkrloc.c,
39069 * as/link/mcs51/lkihx.c,
39070 * as/link/mcs51/lkrloc.c: renamed ihxEntendedLinearAddress to
39071 ihxExtendedLinearAddress
39072 * as/link/mcs51/lkrloc.c (relr),
39073 * as/mcs51/asout.c (outr11, outr19): handle absolute destination for
39074 acall/ajmp, see bug 830513
39076 2007-07-13 Maarten Brock <sourceforge.brock AT dse.nl>
39078 * src/SDCCcse.c (replaceAllSymBySym): renamed siaddr to isaddr,
39079 (cseBBlock): remember aggr2ptr has been used
39080 * src/SDCCicode.c (operandSize): added function to handle aggr2ptr,
39081 (geniCodeAssign): fixed bug 868103
39082 * src/SDCCicode.h: made operand.aggr2ptr 2 bits wide,
39083 added operandSize prototype
39084 * src/mcs51/gen.c (aopOp): use operandSize to fix bug 868103,
39085 (genDataPointerSet): use max of size of right and result,
39086 (gencjne): added parameter useCarry for optimization,
39087 (genCmpEq): use carry if appropriate,
39088 (genXor): check if operand already in carry
39089 * support/regression/tests/bug-868103.c: enabled test
39091 2007-07-12 Raphael Neider <rneider AT web.de>
39093 * src/pic16/gen.c (genNearPointerSet): fixed handling of literals
39095 2007-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
39097 * src/SDCCsymt.c (compareType): fixed bugs 1738367 and 1745717 with patch
39098 from Robert Larice, thanks
39099 * support/regression/tests/bitopcse.c,
39100 * support/regression/tests/bitvars.c,
39101 * support/regression/tests/bug-908454.c: use <stdbool.h> for the bit types
39102 * support/regression/tests/bug-927659.c: enabled test for z80
39103 * support/regression/tests/bug1738367.c: added extra tests by Frieder
39104 * support/regression/tests/bug1745717.c: new, added
39105 * support/regression/tests/literalop.c,
39106 * support/regression/tests/nullstring.c: removed storage definitions that
39107 are now in testfwk.h
39109 2007-07-10 Maarten Brock <sourceforge.brock AT dse.nl>
39111 * device/include/stdbool.h: do not define __bool_true_false_are_defined
39112 and bool for targets that do not fully support it.
39113 * support/regression/tests/bug1546986.c,
39114 * support/regression/tests/bug1723128.c,
39115 * support/regression/tests/bug1734654.c,
39116 * support/regression/tests/bug1738367.c,
39117 * support/regression/tests/constantRange.c: only use bool if allowed
39119 2007-07-09 Maarten Brock <sourceforge.brock AT dse.nl>
39121 * src/mcs51/peep.c (isCallerSaveFunc): fixed bug 1749275, thanks Robert
39122 Larice, also handle function pointers
39123 * support/regression/tests/bug1749275.c: new, added
39125 2007-07-03 Borut Razem <borut.razem AT siol.net>
39127 * src/mcs51/gen.c, src/avr/gen.c, src/pic/gen.c, src/z80/gen.c,
39128 src/pic16/gen.c, src/hc08/gen.c, src/ds390/gen.c: fixed RFE
39129 #1746528: SDCC should ignore ':' in inline assembler comments
39130 * device/include/typeof.h: fixed bug #1747142: typeof.h needs fixing
39132 2007-07-02 Maarten Brock <sourceforge.brock AT dse.nl>
39134 * device/include/mcs51/C8051F360.h: fixed bug #1746410, thanks Chris Jones
39135 * device/lib/mcs51/crtxclear.asm: do not set __XPAGE unconditionally
39137 2007-06-29 Borut Razem <borut.razem AT siol.net>
39139 * src/SDCCmain.c: fixed bug
39140 #1744746: SDCC #4867: broken option --xram-size
39142 2007-06-28 Borut Razem <borut.razem AT siol.net>
39144 * sim/ucsim/configure.in, sim/ucsim/configure, sim/ucsim/ddconfig_in.h:
39145 find out the endianess of host machine for ucsim
39147 2007-06-27 Borut Razem <borut.razem AT siol.net>
39149 * support/regression/generate-cases.py: corrected the file name
39151 * configure.in, configure, sdccconf_in.h: find out the endianess of
39153 * src/SDCC.y: fixed bug #1744146: Crash when compiling array of
39156 2007-06-27 Gudjon I. Gudjonsson <gudjon AT gudjon.org>
39158 * device/include/mcs51/p89c66x.h: NXP header file, OK to change licence
39160 2007-06-26 Borut Razem <borut.razem AT siol.net>
39162 * support/regression/generate-cases.py: display warning if function
39163 list is empty; implemented more flexible rule for detection of
39164 testing functions, allowing return type 'void' in the same line as
39165 the function name in the function definition
39166 * support/regression/tests/bug-1654060.c: corrected test
39167 * support/librarian/sdcclib.c: fixed warning:
39168 format '%s' expects type 'char *', but argument 2 has type 'int'
39170 2007-06-25 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39172 * support/librarian/sdcclib.c: Added feature Requests [1510635]
39173 Multiple infiles for sdcclib.
39175 2007-06-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39177 * src/SDCCast.c (inlineFindMaxBlockno, createFunction): fixed
39180 2007-06-18 Borut Razem <borut.razem AT siol.net>
39182 * src/SDCCmain.c: removed option -C since SDCC compiler doesn't know
39183 how to handle comments, so they have to be removed by the
39184 preprocessor; fixed bug #1738926:SDCC #4852: broken option -V
39185 * src/SDCCmain.c, src/SDCCargs.h, src/ds390/main.c, src/mcs15/main.c,
39186 src/pic16/main.c, src/pic/main.c, src/z80/main.c,
39187 support/Util/SDCCerr.c, support/Util/SDCCerr.h:
39188 table driven option hadling
39190 2007-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
39192 * src/SDCCast.c (decorateType),
39193 * src/SDCCicode.c (geniCodeConditional): moved optimization for '?' from
39194 iCode to ast level to fix bug 1738367
39195 * support/regression/tests/bug1738367.c: new, added
39197 2007-06-15 Raphael Neider <rneider AT web.de>
39199 * src/pic16/devices.inc,
39200 * device/lib/pic16/pics.all,
39201 * device/include/pic16/pic18fregs.h,
39202 * device/include/pic16/pic18f[24][45]20.h,
39203 * device/lib/pic16/libdev/pic18f[24][45]20.c: added support for
39204 18f2420, 18f2520, and 18f4420 devices, updated 18f4520 definitions
39205 * device/lib/pic16/Makefile.in: faster cleanup
39207 2007-06-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39209 * src/mcs51/peeph.def: added 177.i (mov from a is slightly cheaper)
39211 2007-06-13 Raphael Neider <rneider AT web.de>
39213 * src/SDCCmain.c: prevent NULL pointer dereference, avoid warning
39215 2007-06-12 Raphael Neider <rneider AT web.de>
39217 * support/scripts/inc2h.pl: conditionally emit defines for SFR bits,
39218 suppress bit defines if NO_BIT_DEFINES is #define'd
39219 * device/include/pic/pic*.h: recreated all headers to include
39220 conditional bit defines
39221 * device/include/pic/pic16f886.h,
39222 * device/include/pic/pic16f887.h: fixed based on newer .inc file
39223 * device/include/pic/recreate.sh: script to recreate the complete
39224 device library files based on the currently supported devices
39226 2007-06-12 Borut Razem <borut.razem AT siol.net>
39228 * src/pic16/main.c, src/SDCCargs.h, SDCCmain.c,
39229 support/regression/Makefile.in, support/scripts/build.mak,
39230 support/scripts/Makefile.snapshot:
39231 use new svn URL scheme
39232 * doc/sdccman.lyx: SDCC Wiki moved to
39233 http://sdcc.wiki.sourceforge.net/
39235 2007-06-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39237 * src/mcs51/peeph.def: disabled rule 132.d to fix #1734654
39238 * support/regression/tests/bug1734654.c: added
39240 2007-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
39242 * src/SDCCast.c (decorateType): optimized '?' for equal operands
39243 * src/SDCCicode.c (geniCodeConditional): optimization for bit result
39244 with literal operands
39246 2007-06-10 Borut Razem <borut.razem AT siol.net>
39248 * as/link/z80/lklibr.c: fixed mingw build warning
39249 lklibr.c:575: warning: implicit declaration of function 'tolower'
39250 * src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c,
39251 src/z80/main.c: move target specific options from src/SDCCmain.c
39252 to src/<target>/main.c
39254 2007-06-09 Borut Razem <borut.razem AT siol.net>
39256 * src/z80/gen.c: fixed bug #1294691: nested ifs make compiler crash;
39257 removed unused swap_sense; removed outBitCLong, replaced with outBitC
39258 * support/regression/tests/bug-1294691.c: added
39260 2007-06-09 Maarten Brock <sourceforge.brock AT dse.nl>
39262 * src/SDCCmem.c (allocDefault): removed check sym->level==0 for SPEC_ABSA,
39263 can also be static, fixes bug 1733438
39264 * src/SDCCsymt.c (checkSClass): static local vars in reentrant funcs can
39265 have absolute address too
39266 (computeType): added optimization for 'cond ? true : false'
39267 * support/regression/tests/absolute.c: added test for static absolute var
39269 2007-06-08 Raphael Neider <rneider AT web.de>
39271 * src/regression/Makefile: suppress parallel builds, allow easy
39272 switching between pic14/pic16 ports
39273 * src/regression/picregs.h: added pic14/16 header file switch
39274 * src/regression/{compare7.c,compare8.c,compare9.c,compare10.c,
39275 inline.c,nestfor.c,string1.c}: include "picregs.h"
39277 2007-06-07 Borut Razem <borut.razem AT siol.net>
39279 * sim/ucsim/*.[ch], sim/ucsim/configure, sim/ucsim/configure.in:
39280 permanent solution to suppress GCC 4.2.0 c++ warning:
39281 deprecated conversion from string constant to `char *'
39282 use 'const char *' where ever required
39283 * support/regression/generate-cases.py: implemented more flexible rule
39284 for detection of testing functions, allowing white-spaces surrounding
39285 the function name and the 'void' parameter.
39286 * support/regression/tests/constantRange.c,
39287 support/regression/tests/scott-compare3.c: fixed failing regression
39288 tests, uncovered by implementation of more flexible rule for detection
39289 of testing functions
39291 2007-06-04 Maarten Brock <sourceforge.brock AT dse.nl>
39293 * src/SDCCast.c(decorateType): better optimize '!!' and comparisons
39295 2007-06-04 Borut Razem <borut.razem AT siol.net>
39297 * configure.in, configure, config_vc.awk: sdcc version number is now
39298 stored in configure.in; removed .version
39299 * configure.in, configure, sdcc.spec, doc/sdccman.lyx, doc/sdccman.lyx,
39300 doc/INSTALL.txt: version bumped to 2.7.2
39301 * sim/ucsim/configure.in, sim/ucsim/configure:
39302 use "read" to read from .version
39304 2007-06-03 Borut Razem <borut.razem AT siol.net>
39306 * */Makefile.in: removed annoying warning:
39307 Makefile:xx: Makefile.dep: No such file or directory
39309 2007-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
39311 * src/mcs51/gen.c (outBitC, genRet): used IS_OP_RUONLY,
39312 (genNot, genXor): used toCarry, also fixes a bug for c = bit ^ val
39313 * src/mcs51/ralloc.c: removed IS_OP_RUONLY + some cosmetic changes
39314 * src/SDCCast.c (resultTypePropagate): propagate for '!',
39315 (decorateType): also optimize comparisons with RESULT_TYPE_BIT,
39316 bugfix: only use newBoolLink for bit result type
39317 * src/SDCCicode.c (geniCodeLogic): added param tree,
39318 bugfix: use newBoolLink if tree is bit type, bug appears when ruonly,
39319 (geniCodeLogicAndOr): use IS_BIT,
39320 (geniCodeJumpTable, geniCodeSwitch): added NULL param to geniCodeLogic,
39321 (ast2iCode): added tree param to geniCodeLogic for comparisons
39322 * src/SDCCsymt.h: added IS_OP_RUONLY and IS_OP_ACCUSE
39323 * support/regression/tests/bug1723128.c: added test NotZero
39325 2007-06-01 Borut Razem <borut.razem AT siol.net>
39327 * SDCPP synchronized with GCC CPP release version 4.2.0,
39328 currently the latest release:
39329 * support/cpp2/c-incpath.c, support/cpp2/c-incpath.h,
39330 support/cpp2/c-ppoutput.c, support/cpp2/cppdefault.c,
39331 support/cpp2/cppdefault.h, support/cpp2/except.h,
39332 support/cpp2/libcpp/directives.c, support/cpp2/libcpp/expr.c,
39333 support/cpp2/libcpp/files.c, support/cpp2/libcpp/include/cpplib.h,
39334 support/cpp2/libcpp/init.c, support/cpp2/libcpp/internal.h,
39335 support/cpp2/libcpp/lex.c, support/cpp2/libcpp/macro.c,
39336 support/cpp2/libcpp/mkdeps.c, support/cpp2/libiberty/getpwd.c,
39337 support/cpp2/libiberty/hashtab.c, support/cpp2/optc-gen.awk,
39338 support/cpp2/opth-gen.awk, support/cpp2/opts.c,
39339 support/cpp2/opts.h, support/cpp2/output.h,
39340 support/cpp2/prefix.c, support/cpp2/sdcpp-opts.c,
39341 support/cpp2/sdcpp.dsp, support/cpp2/sdcpp.opt,
39342 support/cpp2/system.h, support/cpp2/version.c,
39343 support/cpp2/Makefile.in: modified
39344 * support/cpp2/opts-common.c: added
39345 * device/lib/pic16/libdev/pic18f[24][45]j10.c: fixed svn atrributes
39346 * device/lib/pic16/libdev/pic18f[24]5j10.c:
39347 search for included source file in local directory
39348 * sim/ucsim/configure, sim/ucsim/configure.in:
39349 temporary solution to suppress GCC 4.2.0 c++ warning:
39350 deprecated conversion from string constant to `char *'
39352 2007-06-01 Raphael Neider <rneider AT web.de>
39354 * device/lib/pic/libdev/pic12f683.c,
39355 * device/include/pic/pic12f683.h: added GPIO bits
39357 2007-06-01 Raphael Neider <rneider AT web.de>
39359 * doc/sdccman.lyx: added --disable-pic16-port, fixed some `--' and
39360 quotation marks, clarified role of PIC14 vs. PIC16 ports
39361 * src/pic16/devices.inc,
39362 * device/include/pic16/pic18fregs.h,
39363 * device/include/pic16/pic18f[24][45]j10.h,
39364 * device/lib/pic16/pics.all,
39365 * device/lib/pic16/libdev/pic18f[24][45]j10.c: added support for
39366 18f24j10, 18f25j10, 18f44j10, and 18f45j10
39367 * device/lib/pic16/libio/{i2c,adc,usart}.ignore: do not build IO libs
39368 for new devices as they are not yet supported by gputils
39370 2007-05-31 Borut Razem <borut.razem AT siol.net>
39372 * Small Device C Compiler 2.7.0 released
39373 * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt:
39374 changed sdcc version to 2.7.1
39375 * support/scripts/sdcc.nsi: added How to create WIN32 release
39378 2007-05-29 Maarten Brock <sourceforge.brock AT dse.nl>
39380 * doc/sdccman.lyx: documented initialization and allocation of absolute
39381 variables, bit parameter passing, the need for function pointers to be
39382 reentrant and alpha quality support of inline and retrict
39384 2007-05-26 Borut Razem <borut.razem AT siol.net>
39386 * support/regression/tests/bug1057979.c, support/regression/tests/malloc.c,
39387 support/regression/fwk/include/testfwk.h: fixed compilation on Mac OS x
39388 * docs/knownbugs.html: updated
39390 2007-05-25 Maarten Brock <sourceforge.brock AT dse.nl>
39392 * doc/sdccman.lyx: inserted footnotes about inline assembler labels,
39393 thanks Jan Waclawek
39394 * src/mcs51/gen.c (aopPut): fixed part of bug 1723128 when result is
39396 (gencjneshort): optimized when left is AOP_DIR
39397 * src/SDCCglue.c (printIvalStruct): fixed other part of bug 1723128 for
39398 initializing unions in a struct/array
39399 * support/regression/fwk/include/testfwk.h: added defines for data, near
39400 and far for host and z80
39401 * support/regression/tests/bug1723128.c: new, added
39403 2007-05-22 Borut Razem <borut.razem AT siol.net>
39405 * doc/knownbugs.html: updated
39407 2007-05-21 Raphael Neider <rneider AT web.de>
39409 * src/pic16/glue.c (pic16_initPointer): avoid assertion, emit better
39410 error message instead
39411 * src/pic/pcoderegs.c (pCodeOptime2pCodes): keep register state intact
39413 2007-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
39415 * src/mcs51/peeph.def (257.b): disabled to fix bug 1721024
39417 2007-05-21 Raphael Neider <rneider AT web.de>
39419 * src/pic/pcoderegs.c (pCodeOptime2pCodes): fixed bogus optimization,
39421 * src/regression/gpsim_assert.h,
39422 * src/regression/Makefile,
39423 * src/regression/pcodeopt.c: regression test for the above fix
39425 2007-05-11 Maarten Brock <sourceforge.brock AT dse.nl>
39427 * src/SDCCpeeph.c (labelIsUncondJump): ignore identical labels for
39428 jumps to self, fixed bug 1717281
39430 2007-05-10 Borut Razem <borut.razem AT siol.net>
39432 * support/scripts/gen_known_bugs.pl: cosmetic fix
39433 * doc/knownbugs.html: generated by gen_known_bugs.pl
39435 2007-05-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39437 * src/SDCCast.c (createFunction): also generate non-inlined version of
39438 function for functions declared as "static inline"
39439 * src/SDCCast.c (fixupInline, inlineAddDecl): reset symbol state so
39440 function can be inlined after non-inlined version generated.
39442 2007-05-10 Borut Razem <borut.razem AT siol.net>
39444 * support/scripts/gen_known_bugs.pl: added script
39445 which generates knownbugs.html
39447 2007-05-09 Maarten Brock <sourceforge.brock AT dse.nl>
39449 * doc/knownbugs.html: updated for release 2.7.0
39451 2007-05-09 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39453 * device/include/mcs51/uPSD33xx.h: Added patch by Jan Waclawek.
39455 2007-05-08 Maarten Brock <sourceforge.brock AT dse.nl>
39457 * src/ds390/gen.c (emitcode): don't change properties of previous lines,
39458 (throughout): updated generating comments
39459 * src/mcs51/gen.c (emitcode): don't change properties of previous lines,
39460 (throughout): updated generating comments
39461 * src/SDCCpeeph.c (peepHole): continue searching at the first replaced
39462 rule instead of at the second, or it might skip lines when removing the
39464 * support/regression/tests/bug1714204.c: changed test to foo
39466 2007-05-08 Borut Razem <borut.razem AT siol.net>
39468 * doc/sdccman.lyx: changed sdcc version to 2.7.0,
39469 thanks to SDCC Distributed Compile Farm members,
39470 added Z80 and GBZ80 command line options
39471 * .version, doc/INSTALL.txt, sdcc.spec: changed sdcc version to 2.7.0
39473 2007-05-08 Maarten Brock <sourceforge.brock AT dse.nl>
39475 * device/lib/mcs51/crtxinit.asm: added disabled version for dual dptr
39476 * device/include/mcs51/uPSD33xx.h: added sfr DPS as alias for DPTC
39477 * support/regression/tests/longlit.c: modified to be tested at all and
39478 to pass the actual test
39480 2007-05-07 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39482 * device/include/mcs51/uPSD33xx.h: Added.
39484 2007-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
39486 * device/lib/_gptrput.c,
39487 * device/lib/_gptrget.c: removed old code,
39489 * src/ds390/gen.c (genGenPointerGet): fixed bug 1714204
39490 * support/regression/tests/bug1714204.c: new, added
39492 2007-05-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39494 * support/regression/tests/regtrack.c: test was never executed
39495 because of the regression test being picky about white spaces.
39496 * device/lib/mcs51/crtclear.asm: added comment
39498 2007-05-06 Raphael Neider <rneider AT web.de>
39500 * device/lib/pic/Makefile.rules,
39501 * device/lib/pic16/Makefile.rules: make sure *.ignore file exists,
39502 made "&> /dev/null" redirection sh-safe ("> /dev/null 2>&1")
39504 2007-05-06 Raphael Neider <rneider AT web.de>
39506 * src/pic16/device.h,
39507 * src/pic16/main.h,
39508 * src/pic16/main.c (pic16_optionsTable,_pic16_parseOptions,
39509 _pic16_setDefaultOptions): removed/reordered command-line args
39510 * doc/sdccman.lyx: updated PIC14 and PIC16 documentation (supported
39511 devices, regrouped command line args, environment variables),
39512 clarified sone points, added sections on how to add devices to the
39515 2007-05-06 Maarten Brock <sourceforge.brock AT dse.nl>
39517 * src/z80/peeph.def: fixed bug in rule 2
39519 2007-05-05 Maarten Brock <sourceforge.brock AT dse.nl>
39521 * src/port.h: added TARGET_MCS51_LIKE
39522 * src/SDCCpeeph.c (labelIsUncondJump): new, added, other targets could
39523 take advantage of it too
39524 * src/z80/gen.c (genIpush): push b, d or h directly instead of using a,
39525 (shiftR2Left2Result): Optimized: don't check shifting by 0
39526 * src/z80/peeph-z80.def,
39527 * src/z80/peeph.def: whole set of new rules by Philipp Krause with some
39528 modifications, see patch 1700823
39529 * src/mcs51/peep.c (): fixed bug 1712928
39530 * support/regression/tests/bug1712928.c: new, added
39532 2007-05-05 Borut Razem <borut.razem AT siol.net>
39534 * device/lib/pic16/Makefile.common.in,
39535 device/lib/pic/Makefile.common.in, sim/ucsim/cmd.src/Makefile.in:
39536 removed bash dependencies
39538 2007-05-01 Borut Razem <borut.razem AT siol.net>
39541 fixed bug #1710507: --i-code-in-asm makes compile fail
39542 all iCode comments are now one liners
39543 * src/mcs51/gen.c: fixed memory leak
39545 2007-05-01 Raphael Neider <rneider AT web.de>
39547 * device/lib/pic/libdev/*.c
39548 * device/include/pic/*.h: regenerated all device libs from updated
39550 * support/scripts/inc2h.pl: documented usage, now uses strict to
39553 2007-04-30 Borut Razem <borut.razem AT siol.net>
39556 fixed bug #1669175: Problem with space in output paths
39557 documented how to use paths with spaces for Windows users
39559 2007-04-29 Borut Razem <borut.razem AT siol.net>
39561 * Fixed svn:eol-style and svn:keywords properties
39562 * src/SDCCval.c: fixed bug
39563 #1592871: Segfault with "large" const arrays of characters
39564 replaced recursion with iteration
39565 * Removed svn:executable property from non-executable files
39567 2007-04-29 Maarten Brock <sourceforge.brock AT dse.nl>
39569 * src/mcs51/gen.c (genRet): fixed bug 1707003
39571 2007-04-27 Raphael Neider <rneider AT web.de>
39573 * src/pic16/pcode.c (pBlockRemoveUnusedLabels,pic16_pBlockAddInval,
39574 createReachingDefinitions,assignValnums,pic16_destructDF,
39575 pic16_createDF,pic16_vcg_dumpedges,pic16_vcg_dump_default):
39576 prevent NULL pointer dereferences
39577 * device/lib/pic/libdev/pic16f886.c,
39578 * device/lib/pic/libdev/pic16f887.c: svn mv'ed to disabled_* to
39579 prevent building them, gputils do not really support them yet
39581 2007-04-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39583 * device/lib/_ltoa.c: 36 bytes less __data mem. This really
39584 helps printf_small. 32 bytes more __idata mem.
39586 2007-04-27 Raphael Neider <rneider AT web.de>
39588 * src/pic/pcode.c (addpCode2pBlock,LinkFlow,pBlockRemoveUnusedLabels):
39589 return early when pb or pb->pcHead is NULL (patch #1708427)
39590 * src/regression/empty.c,
39591 * src/regression/Makefile: added test with empty functions
39592 * support/Util/SDCCerr.c: fixed typo in E_INIT_STRUCT message
39594 2007-04-27 Borut Razem <borut.razem AT siol.net>
39596 * src/SDCCast.c: fixed feature request
39597 #1547512: Redundant strings linked when using sizeof("abc")
39599 2007-04-23 Borut Razem <borut.razem AT siol.net>
39601 * doc/sdccman.lyx, src/SDCCmain.c:
39602 peep-hole comments are generated only if --fverbose-asm option is
39603 specified and --no-peep-comments is not, as proposed by Frieder.
39604 * support/regression/Makefile.in: compile regression tests with
39605 --fverbose-asm option so one can "grep" whether a new (or an old)
39606 peephole is (still) applied; requested by Frieder.
39608 2007-04-23 Kevin Buettner <kevin AT buettner.to>
39610 * device/include/pic/pic16f886.h,
39611 * device/include/pic/pic16f887.h,
39612 * device/lib/pic/libdev/pic16f886.c,
39613 * device/lib/pic/libdev/pic16f887.c,
39614 * device/include/pic/pic14devices.txt,
39615 * device/lib/pic/libdev/devices.txt: Add 16f886 and 16f887.
39617 2007-04-23 Kevin Buettner <kevin AT buettner.to>
39619 * device/lib/pic/libsdcc/idata.c: PAGESEL _main before going there,
39622 2007-04-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39624 * device/lib/_memset.c: assembler version for mcs51
39626 2007-04-22 Borut Razem <borut.razem AT siol.net>
39628 * support/scripts/listerr.c: program to create the list of errors and
39629 warnings list from - added
39630 * doc/sdccman.lyx: removed the note
39631 "For list of warnings and corresponding codes, see err_warn.txt"
39632 * src/SDCCsymt.c: fixed bug #1699804:
39633 Bug with some uses of sizeof(static local array) (MCS51)
39634 * support/regression/tests/bug-1699804.c: added
39636 2007-04-20 Maarten Brock <sourceforge.brock AT dse.nl>
39638 * as/mcs51/asmain.c (search_path_append, search_path_fopen): new, added,
39639 (main): added option -i,
39640 (asmbl, case S_INCL): use search_path_fopen,
39641 mostly from patch 1579668 by Peter Miller, thanks
39642 * src/z80/main.c: fixed typo --callee-saves-bc
39643 * device/include/mcs51/compiler.h: added sfrword for Tasking
39645 2007-04-20 Borut Razem <borut.razem AT siol.net>
39647 * src/z80/main.c: replaced reserved keyword asm with asmblr
39649 2007-04-19 Borut Razem <borut.razem AT siol.net>
39651 * src/port.h: use const pointers to strings
39652 * src/SDCCargs.h: declared getStringArg() and getIntArg()
39653 * src/pic16/main.c: include SDCCargs.h
39654 * src/SDCCglobl.h: code_seg and const_seg are not pointers to
39655 const char, since the strings are dynamically allocated
39656 * src/SDCCmain.c: options.code_seg and options.const_seg are
39657 dynamically allocated; check port specific command line options
39658 before the general ones
39659 * src/z80/main.c: fixed bug #1631895: codeseg/constseg #pragma fail
39661 2007-04-18 Maarten Brock <sourceforge.brock AT dse.nl>
39663 * device/include/ds400rom.h,
39664 * device/lib/ds390/lcd390.c,
39665 * device/lib/ds390/memcpyx.c,
39666 * device/lib/ds390/rtc390.c,
39667 * device/lib/ds400/ds400rom.c,
39668 * device/lib/ds400/memcpyx.c,
39669 * device/lib/hc08/_ret.c: more replacements of keywords with their
39670 double underscore equivalents
39671 * device/lib/ds390/Makefile.in,
39672 * device/lib/ds400/Makefile.in,
39673 * device/lib/gbz80/Makefile.in,
39674 * device/lib/hc08/Makefile.in,
39675 * device/lib/mcs51/Makefile.in,
39676 * device/lib/z80/Makefile.in: added --std-c89 to CFLAGS
39678 2007-04-17 Borut Razem <borut.razem AT siol.net>
39680 * doc/sdccman.lyx, src/SDCCmain.c, src/SDCCglobal.h, src/ds390/gen.c,
39681 src/hc08/gen.c, src/mcs51/gen.c, src/mcs51/rtrack.c:
39682 fixed #1493816: option --no-gen-comments: --no-gen-comments renamed
39683 to --fverbose-asm, to be gcc'ish
39685 2007-04-17 Maarten Brock <sourceforge.brock AT dse.nl>
39687 * src/mcs51/gen.c (aopOp): set size to 1 for ruonly, fixes bug 1699455
39689 2007-04-17 Borut Razem <borut.razem AT siol.net>
39691 * doc/sdccman.lyx: fixed #1701874: Mac OSX references in SDCC manual
39692 * device/lib/ds400/tinibios.c, device/lib/hc08/_divuint.c,
39693 device/lib/hc08/_divulong.c: replaced _asm and _endasm keywords
39694 with their double underscore equivalent
39696 2007-04-14 Borut Razem <borut.razem AT siol.net>
39698 * doc/sdccman.lyx: some additional "freeware" replaced with "free open
39701 2007-04-13 Borut Razem <borut.razem AT siol.net>
39703 * doc/sdccman.lyx: -pedantic-parse-number is not in conformance with
39705 * device/examples/serialcomm/windows/serial.[ch],
39706 device/examples/serialcomm/windows/test_serialcomm.cpp:
39707 updated by Bela Torok
39708 * device/examples/serialcomm/windows/serialcomm.dsw,
39709 device/examples/serialcomm/windows/serialcomm.dsp: added
39711 2007-04-13 Jan Waclawek <wek AT efton.sk>
39713 * doc/sdccman.lyx: additions and changes at various places
39714 (submitted as #1697136).
39715 (svn commit by Frieder Ferlemann <Frieder.Ferlemann AT web.de>)
39717 2007-04-10 Borut Razem <borut.razem AT siol.net>
39719 * doc/cdbfileformat.lyx, doc/sdccman.lyx, doc/test_suite_spec.lyx:
39720 LyX file format changed to 245
39721 * doc/sdccman.lyx, doc/README.txt, sdc/SDCC.lex, src/SDCCglue.c:
39722 "FreeWare" replaced with "free open source"
39724 2007-04-10 Maarten Brock <sourceforge.brock AT dse.nl>
39726 * device/include/mcs51/C8051F120.h: added some defines for bits in RSTSRC
39728 2007-04-08 Maarten Brock <sourceforge.brock AT dse.nl>
39730 * device/include/pic16/pic18fregs.h,
39731 * device/lib/_bp.c,
39732 * device/lib/_decdptr.c,
39733 * device/lib/_divsint.c,
39734 * device/lib/_divslong.c,
39735 * device/lib/_divuint.c,
39736 * device/lib/_divulong.c,
39737 * device/lib/_fs2schar.c,
39738 * device/lib/_fs2sint.c,
39739 * device/lib/_fs2slong.c,
39740 * device/lib/_fs2uchar.c,
39741 * device/lib/_fs2uint.c,
39742 * device/lib/_fs2ulong.c,
39743 * device/lib/_fsadd.c,
39744 * device/lib/_fscmp.c,
39745 * device/lib/_fsdiv.c,
39746 * device/lib/_fseq.c,
39747 * device/lib/_fsget1arg.c,
39748 * device/lib/_fsget2args.c,
39749 * device/lib/_fsgt.c,
39750 * device/lib/_fslt.c,
39751 * device/lib/_fsmul.c,
39752 * device/lib/_fsneq.c,
39753 * device/lib/_fsnormalize.c,
39754 * device/lib/_fsreturnval.c,
39755 * device/lib/_fsrshift.c,
39756 * device/lib/_fssub.c,
39757 * device/lib/_fsswapargs.c,
39758 * device/lib/_gptrget.c,
39759 * device/lib/_gptrgetc.c,
39760 * device/lib/_gptrput.c,
39761 * device/lib/_logexpf.c,
39762 * device/lib/_modsint.c,
39763 * device/lib/_modslong.c,
39764 * device/lib/_moduint.c,
39765 * device/lib/_modulong.c,
39766 * device/lib/_mulint.c,
39767 * device/lib/_mullong.c,
39768 * device/lib/_schar2fs.c,
39769 * device/lib/_ser.c,
39770 * device/lib/_setjmp.c,
39771 * device/lib/_sint2fs.c,
39772 * device/lib/_slong2fs.c,
39773 * device/lib/_spx.c,
39774 * device/lib/_uchar2fs.c,
39775 * device/lib/_uint2fs.c,
39776 * device/lib/_ulong2fs.c,
39777 * device/lib/asincosf.c,
39778 * device/lib/atanf.c,
39779 * device/lib/calloc.c,
39780 * device/lib/ds390/tinibios.c,
39781 * device/lib/ds400/tinibios.c,
39782 * device/lib/expf.c,
39783 * device/lib/free.c,
39784 * device/lib/hc08/_mulint.c,
39785 * device/lib/logf.c,
39786 * device/lib/malloc.c,
39787 * device/lib/printf_fast.c,
39788 * device/lib/printf_tiny.c,
39789 * device/lib/printfl.c,
39790 * device/lib/realloc.c,
39791 * device/lib/ser_ir.c,
39792 * device/lib/serial.c,
39793 * support/regression/tests/libmullong.c: replaced all special keywords
39794 with their double underscore equivalent
39795 * support/regression/ports/mcs51-xstack-auto/spec.mk,
39796 * device/lib/Makefile.in: compile libs with --std-c99 instead of
39798 * src/mcs51/gen.c (outBitC): don't store if result is return-use-only,
39799 (genRet): if the bit-symbol is ruonly it already is in the carry
39800 * src/mcs51/ralloc.c (regTypeNum): make regType REG_CND for ruonly bit
39801 * src/SDCCast.c (createFunction): applied patch 887171 by Stas Sergeev
39802 * src/SDCCicode.c (ast2iCode): '!', GETHBIT, GETABIT: only set operand
39803 type UCHAR if dest is not bit
39805 2007-04-03 Maarten Brock <sourceforge.brock AT dse.nl>
39807 * device/include/math.h,
39808 * device/lib/cotf.c,
39809 * device/lib/expf.c,
39810 * device/lib/sincoshf.c: changed XMAX to C99 HUGE_VALF
39812 2007-04-01 Borut Razem <borut.razem AT siol.net>
39814 * src/SDCC.lex, src/SDCCmain.c, support/cpp2/sdcpp.c:
39815 fixed bug #1692042: input buffer overflow...scanner uses REJECT
39816 * support/cpp2/sdcpp.c: fixed recursion bug - internal_error() called
39817 gcc_unreachable() called internal_error()...
39819 2007-03-30 Raphael Neider <rneider AT web.de>
39821 * src/pic/ralloc.c (isData): suppress garbage debug output
39823 2007-03-28 Borut Razem <borut.razem AT siol.net>
39826 "Nightly Snapshots" replaced with "Snapshot Builds", since the SDCC
39827 is developed, built and used worldwide, and the word "night" doesn't
39830 2007-03-28 Maarten Brock <sourceforge.brock AT dse.nl>
39832 * device/include/mcs51/C8051F360.h: new, added
39833 * device/include/mcs51/C8051F520.h: fixed buggy sbit addresses SPI0CN
39835 2007-03-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
39837 * src/SDCC.y (declaration_specifiers, function_specifier),
39838 * support/Util/SDCCerr.c,
39839 * support/Util/SDCCerr.h,
39841 * src/SDCCsymt.c (mergeSpec, checkFunction): Parse and validate the
39843 * src/SDCCmem.c (deallocParms),
39844 * src/SDCCast.c: support for function inlining, not quite complete
39845 * src/SDCCsymt.c (printTypeChain, printTypeChainRaw): display
39846 'restrict' qualifier
39848 2007-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
39850 * src/mcs51/gen.c (saveRegisters, unsaveRegisters): free some bitVects,
39851 (saveRBank, unsaveRBank): don't save bits,
39852 (genFunction, genEndFunction): save bits exactly once, fix bug 1535242
39853 * support/regression/tests/bug1535242.c: new, added
39854 * device/include/assert.h: applied patch 1686533 to fix bug 1686528,
39855 thanks Alexey Shamrin <shamrin AT gmail.com>,
39856 made assert.h header ANSI compliant (added a check for NDEBUG macro,
39857 removed header guard)
39859 * sdcc.spec: bumped version to 2.6.5
39860 * src/SDCCmain.c(parseCmdLine): fixed bug 1677144
39862 2007-03-22 Borut Razem <borut.razem AT siol.net>
39864 * debugger/mcs51/cmd.c, debugger/mcs51/sdcdb.c:
39865 fixed bug #1653671: sdcdb integration into ddd is broken
39867 2007-03-22 Raphael Neider <rneider AT web.de>
39869 * src/pic/gen.c (popGetExternal): augmented to also create references
39870 to external variables (not only labels),
39871 (genCall): comment on plan to reduce PAGESEL overhead,
39872 (genFunction, genEndFunction): also save/restore FSR around interrupt
39873 handling code, removed lots of unused code
39874 (genDivOneByte): release acquired temp register
39875 * src/pic/glue.c (pic14createInterruptVect): adapt to new signature
39877 * device/lib/pic/libsdcc/shadowregs.c: NEW, provide storage location
39878 for registers that need to be saved during interrupts (FSR, STATUS,
39879 PCLATH; W needs special handling), currently only FSR is used
39881 2007-03-22 Raphael Neider <rneider AT web.de>
39883 * device/include/pic/pic14devices.txt: 16f688 has only one config word
39885 2007-03-19 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39887 * /as/link/mcs51/aslink.dsp: Object extension for mcs51 is 'rel' not 'o'.
39889 2007-03-17 Maarten Brock <sourceforge.brock AT dse.nl>
39891 * src/mcs51/peeph.def (263.x): fixed bug for volatile variables
39893 2007-03-14 Maarten Brock <sourceforge.brock AT dse.nl>
39895 * as/link/aslink.h: added LKOBJEXT
39896 * as/link/hc08/link_hc08.dsp,
39897 * as/link/hc08/Makefile.bcc,
39898 * as/link/hc08/Makefile.in,
39899 * as/link/mcs51/aslink.dsp,
39900 * as/link/mcs51/Makefile.bcc,
39901 * as/link/mcs51/Makefile.in: moved lkamof51.c and lkdata.c
39902 * as/link/hc08/lkaomf51.c, as/link/mcs51/lkaomf51.c,
39903 * as/link/lkaomf51.c: merged and moved
39904 * as/link/hc08/lkdata.c, as/link/mcs51/lkdata.c,
39905 * as/link/z80/lkdata.c,
39906 * as/link/lkdata.c: merged and moved
39907 * as/link/hc08/lkmain.c,
39908 * as/link/mcs51/lkmain.c: cosmetic changes
39909 * as/link/z80/lkeval.c, as/link/lkeval.c: merged
39910 * as/link/lklex.c: use LKOBJEXT
39911 * as/link/z80/lklist.c, as/link/lklist.c: merged,
39912 ANSI-fied functions, removed bubble-sorts
39913 * as/link/z80/lksym.c, as/link/lksym.c: merged,
39914 ANSI-fied functions
39915 * as/link/z80/linkgbz80.dsp,
39916 * as/link/z80/linkz80.dsp,
39917 * as/link/z80/Makefile.in: added lkaomf51.c and lknoice.c,
39918 moved lkdata.c, lkeval.c, lkhead.c, lklex.x, lklist.c, lksym.c
39919 * as/link/z80/lkhead.c,
39920 * as/link/z80/lklex.c: deleted
39921 * as/link/z80/lklibr.c: moved LKOBJEXT to aslink.h
39922 * as/link/z80/lkmain.c: added copyfile()
39924 2007-03-13 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39926 * device/include/mcs51/P89LPC925.h: Added missing P1_6 and P1_7.
39928 2007-03-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39930 * device/lib/_strlen.c: assembler version for mcs51
39932 2007-03-13 Raphael Neider <rneider AT web.de>
39934 * device/include/pic16/pic18f2221.h,
39935 * device/include/pic16/pic18f2321.h,
39936 * device/include/pic16/pic18f2331.h,
39937 * device/include/pic16/pic18f4221.h,
39938 * device/include/pic16/pic18f4321.h,
39939 * device/include/pic16/pic18f4331.h: fixed config byte location names
39940 * support/scripts/inc2h-pic16.pl: removed debug output, emit
39941 consistently named config byte locations
39943 2007-03-13 Borut Razem <borut.razem AT siol.net>
39945 * src/Makefile.in, sim/ucsim/avr.src/Makefile.in,
39946 sim/ucsim/hc08.src/Makefile.in, sim/ucsim/s51.src/Makefile.in,
39947 sim/ucsim/xa.src/Makefile.in, sim/ucsim/z80.src/Makefile.in,
39948 as/link/z80/Makefile.in, as/z80/Makefile.in:
39951 2007-03-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39953 * device/lib/printfl.c: 13 bytes less __data mem (12 more __idata)
39954 * device/lib/printf_large.c: pointer was converted to generic
39955 pointer for mcs51 models other than model-small (Maarten noticed)
39957 2007-03-10 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
39959 * device/include/mcs51/ADuC84x.h: Added.
39961 2007-03-10 Borut Razem <borut.razem AT siol.net>
39963 * src/SDCC.lex, src/SDCCutil.[ch], src/SDCCval:
39964 fixed RFE #1624219: double backslashes in filenames;
39965 functions hexEscape(), octalEscape() and copyStr() moved from
39966 SDCCval.c to SDCCutil.c and made them glovbally available
39968 2007-03-09 Borut Razem <borut.razem AT siol.net>
39970 * src/SDCC.lex, src/SDCCast.c. src/SDCCglobl.c, src/SDCCsymt.c,
39971 src/SDCCval.c: fixed bugs #1676768: Wrong line number reported and
39972 1673361: Missaligned comments in output files
39974 2007-03-09 Raphael Neider <rneider AT web.de>
39976 * device/include/pic/pic14devices.txt: fixed confsiz of 16f91[3467]
39978 2007-03-09 Raphael Neider <rneider AT web.de>
39982 * src/pic/ralloc.c: suppress undesired debug output
39983 * src/SDCCmain.c (linkEdit): initialize c to quieten compiler
39985 2007-03-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
39987 * device/lib/printf_large.c: 6 bytes less __data mem (6 more __idata)
39989 2007-03-07 Borut Razem <borut.razem AT siol.net>
39991 * device/lib/pic16/libdev/pic18f[24][34]31.c:
39992 search include files in the current directory
39994 2007-03-04 Maarten Brock <sourceforge.brock AT dse.nl>
39996 * src/SDCCglue.c (emitMaps, glue),
39997 * src/SDCCmem.c (initMem, allocDefault): added x_abs for initialized
39999 * support/regression/tests/absolute.c: added xdata test
40001 2007-03-03 Maarten Brock <sourceforge.brock AT dse.nl>
40003 * src/SDCCmain.c (parseCmdLine): only set options.xstack_loc for mcs51,
40004 added condition to macro, fixes bug 1666080
40006 2007-03-02 Raphael Neider <rneider AT web.de>
40008 * src/pic/gen.c (genGenPointerSet): removed bogus assertion
40010 2007-02-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40012 * device/lib/mcs51/crtxclear.asm: pdata segment of 256 byte would not
40013 be cleared. Unconditionally set __XPAGE
40014 * src/hc08/gen.c: --no-gen-comments (RFE #1493816) for hc08
40016 2007-02-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40021 * src/mcs51/rtrack.c,
40023 * doc/sdccman.lyx: added --no-gen-comments
40024 * src/mcs51/peeph.def: added 192.b, disabled 185
40026 2007-02-25 Raphael Neider <rneider AT web.de>
40028 * src/pic16/gen.c (genCast): fixed typo
40029 * device/lib/pic16/Makefile.subdir: only install existing files
40030 * device/lib/pic16/libdev/Makefile.in: build serially, avoid races
40032 2007-02-25 Maarten Brock <sourceforge.brock AT dse.nl>
40034 * device/lib/mcs51/crtcall.asm: new, added for indirect calls
40035 * device/lib/mcs51/crtclear.asm,
40036 * device/lib/mcs51/crtxclear.asm: renumbered labels
40037 * device/lib/mcs51/Makefile.in: added crtcall.asm
40038 * doc/sdccman.lyx: documented mcs51 crt* library startup code
40039 * src/mcs51/gen.c (movc): removed,
40040 (aopGet, genPlusBits): clear a after loading the carry (possibly from
40042 (toCarry, genSend, genRet): added function toCarry,
40043 (genPcall): use "lcall @a+dptr" for functions w/o parameters,
40044 (assignBit, genAssign, genCast): added function assignBit
40045 * src/mcs51/Makefile.bcc: added rtrack.c
40046 * src/mcs51/ralloc.h: made valueKnown a bitfield
40047 * src/mcs51/rtrack.c (getReg, rtrackUpdate): added getReg,
40048 fixed "jbc acc" and "cpl acc" bug, enhanced "cjne", "jnz" and "djnz",
40049 disabled InvalidateAllRx for lcall __gptrput, added "xch a,rn"
40050 * src/pic/pcode.c (FixRegisterBanking): fixed warning used uninitialized
40051 * src/z80/gen.c: added AOP_IS_PAIRPTR,
40052 (_pop): only pop valid pairs, see gencjneshort,
40053 (gencjneshort): return pair that still needs to be popped, restructured,
40054 (gencjne, genCmpEq): call _pop
40056 2007-02-23 Raphael Neider <rneider AT web.de>
40058 * device/include/pic/pic14devices.txt: 16f684 has only one config word
40060 2007-02-22 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40062 * device/include/mcs51/P89LPC925.h: Added.
40064 2007-02-18 Raphael Neider <rneider AT web.de>
40066 * src/pic/glue.c (emitInitVal): fixed #1659894 (SIGSEGV on arrays)
40068 2007-02-17 Borut Razem <borut.razem AT siol.net>
40070 * support/cpp2/directives.c, support/cpp2/version.c:
40071 synchronized with GCC CPP 4.1.2
40073 2007-02-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40075 * src/mcs51/rtrack.h,
40076 * src/mcs51/rtrack.c: added register tracking for the mcs51 port,
40077 by checking the strings passed by emitcode() to the assembler.
40078 Feel free to change. This in part addresses RFE #482179.
40079 Set environment variable SDCC_RTRACK to enable.
40080 * src/mcs51/gen.c: inserted hooks
40081 * src/mcs51/ralloc.h: added two members to struct regs
40082 * support/regression/tests/regtrack.c: added
40084 2007-02-14 Borut Razem <borut.razem AT siol.net>
40086 * src/SDCC.y: fixed bug #1291133: duplicate members across enum(s)
40087 * Makefile.in: applied patch from Makefile related part of
40088 #1469393: Compiler does not initialize static data
40090 2007-02-12 Maarten Brock <sourceforge.brock AT dse.nl>
40092 * src/SDCCicode.c (geniCodeAssign): return (itemp) right instead of left
40093 for better fix of bug 1273984, compiles pic16 rand.c
40095 2007-02-12 Borut Razem <borut.razem AT siol.net>
40097 * src/pic16/main.c: fixed pic16 standard library directory bug
40099 2007-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
40101 * src/hc08/gen.c (genSwap): fix swap regression test
40103 2007-02-10 Borut Razem <borut.razem AT siol.net>
40105 * src/SDCCsymt.c: fixed bug #1159134: invalid duplicate declarations
40107 * support/regression/tests/bug-1654060.c: added regression test for
40110 2007-02-09 Bernhard Held <bernhard AT bernhardheld.de>
40112 * src/mcs51/gen.c (genRet): fixed RFE 1652561: added code for bit to
40113 bit moves in return statement
40115 2007-02-09 Borut Razem <borut.razem AT siol.net>
40117 * src/SDCC.y: fixed bug #1654060 typedef within function causes
40120 2007-02-07 Maarten Brock <sourceforge.brock AT dse.nl>
40122 * src/mcs51/gen.c (aopPut): use direct name for pushing registers
40123 * src/SDCCmain.c (parseCmdLine): dbuf_s path must be initialised
40125 2007-02-07 Raphael Neider <rneider AT web.de>
40127 * src/pic16/devices.inc,
40128 * device/include/pic16/pic18fregs.h,
40129 * device/include/pic16/pic18f[24][34]31.h,
40130 * device/lib/pic16/libdev/pic18f[24][34]31.c,
40131 * device/lib/pic16/pics.all: added 18f[24][34]31 family
40132 * device/lib/pic16/libio/i2c.ignore: do not build i2c
40134 2007-02-07 Maarten Brock <sourceforge.brock AT dse.nl>
40136 * device/lib/printf_large.c (_print_format): fixed compare/assign bug, how
40137 can this have lived here for so many years?
40138 * src/SDCCicode.c (ast2iCode): return left instead of right for assignment,
40139 fixes bug 1273984, see also patch 1645121, thanks Gnther Jehle
40140 * support/regression/tests/bug1273984.c: new, added, thanks Gnther Jehle
40142 2007-02-06 Bernhard Held <bernhard AT bernhardheld.de>
40144 * src/SDCCBlock.c (addiCodeToeBBlock): fixed bug 1652207: GOTO icodes
40145 appended by loop induction must be at the very end of the eBBlock
40147 2007-02-05 Kevin Vigor
40149 * src/ds390/gen.c, src/ds390/main.c: Address bug 1469393.
40151 2007-02-05 Borut Razem <borut.razem AT siol.net>
40153 * support/regression/fwk/lib/timeout.c: native WIN32 port,
40154 implemented #1651830 Reg. tests: rewrite timeout.c to use WIN32 API
40156 2007-02-03 Borut Razem <borut.razem AT siol.net>
40158 * src/SDCC.y, src/SDCCmain.c, src/SDCCglobl.h, doc/sdccman.lyx:
40159 applied patch #1646602 option to set default signedness of char to
40160 unsigned, added -funsigned-char command line option,
40161 thanks to Gunther Jehle
40162 * device/lib/Makefile.in: added the -f option to rm so it doesn't
40163 prompt for file deletion a few hundred times (especially the
40164 subversion files, which have ro permissions so it asks for
40165 confirmation), thanks to Simon McAuliffe;
40166 added {} + option to find in order to remove multiple files from a
40169 2007-02-02 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40171 * device/include/mcs51/SST89x5xRDx.h: Added.
40173 2007-02-02 Raphael Neider <rneider AT web.de>
40175 * src/pic/glue.c (emitSymbolSet): check sym->etype before use
40176 * src/regression/Makefile: use --no-pcode-opt, ignore failing tests
40178 2007-02-01 Raphael Neider <rneider AT web.de>
40180 * src/pic/glue.c (picglue,emitSymbolSet,showAllMemmaps): emit the
40183 2007-01-31 Borut Razem <borut.razem AT siol.net>
40185 * support/Util/dbuf_string.h: added ATTRIBUTE_PRINTF to dbuf_printf()
40186 if compiled with GCC. Thanks to Raphael Neider
40188 2007-01-31 Raphael Neider <rneider AT web.de>
40190 * src/pic/pcode.c (isValidIdChar,bankCompare): fuzzy matching of
40191 operand names, handles name and (name + n) for all n,
40192 (sameBank): restructured, also check bank allocation policy,
40193 * src/pic/glue.c (emitPseudoStack): fixed printf arguments,
40194 (pic14_operandsAllocatedInSameBank): check whether to operands
40195 will be allocated into the same bank (i.e., section) to reduce
40196 BANKSEL overhead, queried from pcode.c:sameBank,
40197 (pic14printLocals): reintroduced clustering registers into a single
40198 section: all compiler generated symbols will now reside in one
40199 bank (per file), reducing BANKSEL overhead and code size,
40200 (showAllMemmaps): use local dbuf where possible
40202 2007-01-29 Raphael Neider <rneider AT web.de>
40204 * src/pic/gen.c (popGetExternal): simplified, mark symbol as used,
40205 (call_libraryfunc): retrieve/create symbol and mark as used,
40206 (genFunction): mark defined functions as non-extern and add again
40207 to code memmap for later output
40208 * src/pic/glue.c (emitPseudoStack): put into own subroutine,
40209 (pic14printLocals): reworked for new symbol emission,
40210 (emitIfNew,pic14_constructAbsMap,emitIvalLabel,emitIvals,emitInitVal,
40211 showAllMemmaps): reworked symbol output using dbufs, added handling
40212 of string literals (still incomplete),
40213 (picglue): removed symbol emission, moved into showAllMemmaps,
40214 (emitSymbolSet): new workhorse for symbol output,
40215 (pic14emitMaps,pic14printPublics,pic14printExterns): commented out
40217 2007-01-29 Borut Razem <borut.razem AT siol.net>
40219 * src/SDCCmain.c, src/SDCCutil.c: dbuf_splitFile: file extension
40220 component contains the extension separator.
40222 2007-01-28 Borut Razem <borut.razem AT siol.net>
40224 * sim/ucsim/cmd.src/cmdutil.cc: NUL device is detected as CG_FILE type
40226 * src/SDCCdwarf2.c, src/SDCCglobl.h, src/SDCCmain.c, src/SDCCutil.c,
40227 src/SDCCutil.h, src/avr/gen.c, src/ds390/gen.c, src/hc08/gen.c,
40228 src/mcs51/gen.c, src/pic/device.c, src/pic/gen.c, src/pic/pcode.c,
40229 src/pic/pcodepeep.c, src/pic/ralloc.c, src/pic16/device.h,
40230 src/pic16/gen.c, src/pic16/main.c, src/pic16/pcode.c,
40231 src/pic16/pcodepeep.c, src/pic16/ralloc.c, src/xa51/gen.c,
40232 src/z80/gen.c, support/Util/MySystem.c:
40233 accept slash and backslash as directory separator on WIN32 and
40236 2007-01-28 Raphael Neider <rneider AT web.de>
40238 * src/pic16/devices.inc,
40239 * device/include/pic16/pic18f[24][23]21.h,
40240 * device/include/pic16/pic18fregs.h,
40241 * device/lib/pic16/libdev/pic18f[24][23]21.c,
40242 * device/lib/pic16/pics.all: added support for the 18f[24][23]21 family
40243 * device/lib/pic16/libio/adc.ignore,
40244 * device/lib/pic16/libio/i2c.ignore,
40245 * device/lib/pic16/libio/usart.ignore: do not build I/O lib for new
40246 family, as gputils do not yet support the devices
40247 * device/lib/pic16/Makefile.subdir: ignore errors on install
40248 * support/scripts/inc2h-pic16.pl: script to generate pic16 device
40249 headers and libraries from gputils .inc files
40251 2007-01-26 Paul Stoffregen <paul AT pjrc.com>
40253 * doc/sdccman.lyx: add printf_fast_f precision limitation note
40255 2007-01-26 Paul Stoffregen <paul AT pjrc.com>
40257 * doc/sdccman.lyx: add printf benchmarks
40259 2007-01-25 Paul Stoffregen <paul AT pjrc.com>
40261 * device/lib/printf_fast.c: fix %c, char promoted to int
40262 * device/lib/printf_tiny.c: fix %c, char promoted to int
40264 2007-01-25 Paul Stoffregen <paul AT pjrc.com>
40266 * device/lib/printf_fast.c: fix float overflow check, bug #1525093
40268 2007-01-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40270 * support/regression/tests/swap.c: 64 bit hosts failed
40271 * doc/sdccman.lyx: added preliminary mcs51 printf feature matrix
40273 2007-01-25 Raphael Neider <rneider AT web.de>
40275 * src/pic/pcode.c (sameBank,FixRegisterBanking): optimize banksels
40276 based on absolute register address, patch by Alex Blond
40278 2007-01-22 Raphael Neider <rneider AT web.de>
40280 * src/pic/glue.c (pic14emitRegularMap): mark initialized symbols as
40281 emitted, do not emit them again...
40283 2007-01-22 Raphael Neider <rneider AT web.de>
40285 * src/regression/bank1.c, src/regression/compare6.c,
40286 src/regression/add.c: cosmetic changes
40287 * src/pic/pcode.h: moved GPTRTAG_* here from gen.c
40288 * src/pic/gen.c: fixed global zero and one,
40289 (aopForSym): removed unued code,
40290 (aopGet): assert aop is defined, check and use `index' of
40291 pCodeImmd operands (fixes #1630908),
40292 * src/pic/pcode.c (get_op): added output of generic pointer tag,
40293 (register_reassign): prevent accidental register unification,
40294 (ReuseReg): cosmetic changes (also above)
40295 * src/pic/glue.c (pic14_constructAbsMap,pic14emitRegularMap,
40296 pic14emitStaticSeg): do not emit initialized data,
40297 (printIval*): replaced with working versions,
40298 (pic14createInterruptVect,picglue): use idata for initialized data,
40299 now init data should work in all modules (not only main()),
40300 * device/lib/pic/libsdcc/idata.c: NEW, handle initialized data
40302 2007-01-21 Borut Razem <borut.razem AT siol.net>
40304 * sim/ucsim/configure.in: introduced macro DD_COPT_NO_IGNORE,
40305 use -fPIC or -fpic if they are supported and not ignored
40306 * src/SDCCval.c: fixed bug introduced by me in rev. #4577
40307 * support/cpp2/libcpp/lex.c: fixed gcc 4.1.1 warnings
40309 2007-01-20 Borut Razem <borut.razem AT siol.net>
40311 * src/SDCC.lex, src/SDCCmain.c, sdc/SDCCglobl.h, doc/sdccman.lyx:
40312 implemented RFE #1470316: allow "$" in variable names
40314 2007-01-20 Raphael Neider <rneider AT web.de>
40316 * device/include/pic/pic14regs.h: reverted accidental wipe of the file
40318 2007-01-20 Raphael Neider <rneider AT web.de>
40320 * device/lib/pic/libdev/devices.txt: device list for mkall.sh
40321 * device/lib/pic/libdev/mkall.sh: script to rebuild all device libs
40322 * device/lib/pic/libdev/pic14ports.txt: device PORT specifications
40323 * support/scripts/inc2h.pl: fixed major .inc parsing bugs,
40324 applied patch from Robert Tate (#1629249) to add PORTs and TRISs
40325 * device/lib/pic/libdev/pic*.c,
40326 * device/include/pic/pic*.h: regenerated with enhanced inc2h.pl
40327 * device/lib/pic/libdev/Makefile.in: show progress
40329 2007-01-19 Bernhard Held <bernhard AT bernhardheld.de>
40331 * doc/sdccman.lyx: updated "configure options" for autoconf 2.6
40332 * support/scripts/sdcc_cygwin_mingw32,
40333 * support/scripts/sdcc_mingw32,
40334 * support/scripts/build.mak: replaced --datadir by --datarootdir for
40335 conformance with autoconf 2.6
40337 2007-01-19 Raphael Neider <rneider AT web.de>
40339 * src/pic/device.c (register_map): fixed list construction
40340 * src/pic/gen.c (genDivOneByte,genModOneByte): accept result > 1 byte,
40341 (genMod): removed case for genModbits,
40342 (genModbits): removed as now unused/unimplemented
40343 * src/pic/glue.c (picglue): prevent name clash with sources 'init.c'
40345 2007-01-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40347 * support/regression/tests/swap.c: added in response to #1638622
40348 * doc/sdccman.lyx: synced version, minor changes
40350 2007-01-18 Borut Razem <borut.razem AT siol.net>
40352 * SDCClabel.c: fixed bug #1638651: wrong linenumber presented in warning,
40353 thanks to Gunther Jehle
40354 * src/asm.c: don't die if the file drfined in #line couldn't be opened
40355 * src/SDCC.lex, src/SDCCglobal.h, src/SDCCicode.c, src/SDCCsymt.c,
40356 src/SDCCval.c: removed redundant definitions of currFname and mylineno;
40357 use filename in lineno instead.
40358 * SDCCast.c: removed MSVC warning C4018: '==' : signed/unsigned mismatch,
40359 print the file name in ast_print()
40361 2007-01-18 Borut Razem <borut.razem AT siol.net>
40363 * support/Util/dbuf_string.c: removed (PTR) cast since it is not
40365 * src/SDCC.lex: stringLiteral() returns const char pointer,
40366 EOF detection in stringLiteral(), fixed asmbuf memory leak,
40367 fixed column counting
40368 * src/SDCCval.[ch]: constVal(), value *strVal() and charVal()
40369 accept const char pointer as parameter
40370 * src/SDCCdwarf2.c: corrected buffer size
40372 2007-01-17 Borut Razem <borut.razem AT siol.net>
40374 * support/Util/dbuf_string.c: fixed for amd64
40376 2007-01-15 Borut Razem <borut.razem AT siol.net>
40378 * src/pic16/ralloc.c, src/pic/ralloc.c, src/SDCC.y:
40379 removed terminal symbol ELIPSIS, since it was never generated by the
40380 lexer and it was wrongly used in parameter_identifier_list rule
40382 2007-01-15 Raphael Neider <rneider AT web.de>
40384 * doc/sdccman.lyx: updated PIC14/16 command line args, updated PIC14
40385 code page and data banking description
40386 * src/pic/genarith.c,
40387 * src/pic/gen.h: removed bit arithmetic functions,
40388 updated exit(1) to exit(EXIT_FAILURE)
40389 * device/lib/pic16/libsdcc/stack/stack.S: default to 256 byte stack
40390 * device/include/pic16/pic18f2455.h,
40391 * device/lib/pic16/libdev/pic18f2455.c: added PORTD, LATD, LATE,
40392 TRISD and TRISE, fixed/added some bit names
40393 * device/lib/pic16/libdev/pic18f{2550,4550,4455}.c,
40394 * device/include/pic16/pic18f{2550,4550,4455}.h: simply include
40395 updated pic18f2455.{c,h} instead of duplicating them
40397 2007-01-14 Borut Razem <borut.razem AT siol.net>
40399 * as/mcs51/asnoice.c, as/hc08/asnoice.c: fixed bug #1447412:
40400 Cannot debug files that contain spaces in the path name
40401 by converting spaces in asm file name to underscores
40403 2007-01-13 Borut Razem <borut.razem AT siol.net>
40405 * doc/sdccman.lyx: fixed format errors
40407 2007-01-10 Borut Razem <borut.razem AT siol.net>
40409 * src/SDCC.lex, src/SDCCmain.c: fixed bug #1631895:
40410 codeseg/constseg #pragma fail
40411 * suppoprt/cpp2/Makefile.bcc: reenable Borland C compilation
40412 * suppoprt/cpp2/configure.in, suppoprt/cpp2/libcpp/lex.c,
40413 suppoprt/cpp2/Makefile.in, suppoprt/cpp2/sdcpp-opts,
40414 suppoprt/cpp2/sdcpp.[ch]: house cleaning
40416 2007-01-09 Borut Razem <borut.razem AT siol.net>
40418 * get rid of diagnistic.[ch], pretty-print.[ch],
40419 c-pretty-print.[ch], ... used just for error, warning, ...
40421 * suppoprt/cpp2/pretty-print.[ch], suppoprt/cpp2/diagnostic.[ch],
40422 suppoprt/cpp2/diagnostic.def, suppoprt/cpp2/input.h,
40423 suppoprt/cpp2/pretty-print.[ch]:
40425 * suppoprt/cpp2/Makefile.in, suppoprt/cpp2/opts.c,
40426 suppoprt/cpp2/sdcpp-opts.c, suppoprt/cpp2/sdcpp.[ch],
40427 suppoprt/cpp2/sdcpp.dsp:
40430 2007-01-08 Maarten Brock <sourceforge.brock AT dse.nl>
40432 * device/lib/printf_large.c (output_float): removed recursion,
40433 use smaller buffer on stack for mcs51,
40434 fixed bug printing 1.96
40435 * support/regression/tests/snprintf.c: added test
40437 2007-01-07 Borut Razem <borut.razem AT siol.net>
40439 * use dynamic memory buffers instead temporary files
40440 * support/Util/dbuf_string.c, support/Util/dbuf_string.h:
40442 * src/Makefile.in, src/SDCC.lex, src/SDCCast.c, src/SDCCast.h,
40443 src/SDCCcse.c, src/SDCCglobl.h, src/SDCCglue.c, src/SDCCglue.h,
40444 src/SDCCicode.c, src/SDCCicode.h, src/SDCCmain.c, src/SDCCmem.c,
40445 src/SDCCmem.h, src/SDCCpeeph.c, src/SDCCpeeph.h, src/SDCCsymt.c,
40446 src/SDCCsymt.h, src/SDCCutil.c, src/asm.c, src/asm.h, src/avr/gen.c,
40447 src/avr/main.c, src/ds390/gen.c, src/ds390/main.c, src/hc08/gen.c,
40448 src/hc08/main.c, src/izt/gen.c, src/mcs51/gen.c, src/mcs51/main.c,
40449 src/pic/device.c, src/pic/gen.c, src/pic/glue.c, src/pic/main.c,
40450 src/pic/ralloc.c, src/pic16/gen.c, src/pic16/glue.c,
40451 src/pic16/main.c, src/pic16/ralloc.c, src/port.h, src/src.dsp,
40452 src/xa51/gen.c, src/xa51/main.c, src/z80/gen.c, src/z80/main.c,
40453 support/Util/dbuf.c, support/Util/dbuf.h:
40455 * .version, sdcc.spec: bumped version to 2.6.4
40457 2007-01-07 Maarten Brock <sourceforge.brock AT dse.nl>
40459 * src/port.h: added TARGET_Z80_LIKE macro
40460 * src/SDCCmain.c (linkEdit): use TARGET_Z80_LIKE,
40461 output PSEG location if --xram-loc or --xstack-loc was used
40462 * as/link/mcs51/lkarea.c (lnksect2): set segment address afterwards
40464 2007-01-07 Maarten Brock <sourceforge.brock AT dse.nl>
40466 * as/as_gbz80.dsp, as/z80/as_gbz80.dsp,
40467 * as/as_z80.dsp, as/z80/as_z80.dsp,
40468 * as/asx8051.dsp, as/mcs51/asx8051.dsp,
40469 * sdcc.dsw: moved project files into subdir
40470 * as/hc08/as_hc08.dsp,
40471 * as/hc08/Makefile.bcc,
40472 * as/hc08/Makefile.in,
40473 * as/mcs51/Makefile.bcc,
40474 * as/mcs51/Makefile.in,
40475 * as/z80/Makefile.bcc,
40476 * as/z80/Makefile.in,
40477 * as/link/mcs51/Makefile.bcc: use as/strcmpi.c
40480 * as/z80/asm.h: added as_strcmpi() and as_strncmpi() prototypes
40481 * as/hc08/asmain.c,
40483 * as/mcs51/asmain.c,
40484 * as/mcs51/assym.c,
40485 * as/z80/assym.c: removed include "strcmpi.h"
40486 * as/hc08/strcmpi.c,
40487 * as/hc08/strcmpi.h,
40488 * as/mcs51/strcmpi.c,
40489 * as/mcs51/strcmpi.h,
40490 * support/Util/strcmpi.c,
40491 * support/Util/strcmpi.h: removed files
40492 * as/strcmpi.c: added as_strncmpi()
40494 2007-01-05 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40496 * sdcc.dsw: Added some dependencies on project config.dsp
40498 2007-01-05 Maarten Brock <sourceforge.brock AT dse.nl>
40500 * as/link/mcs51/lkarea.c (lnkarea2, lnksect2): replaced [di]seg_ap->a_addr
40501 with [di]ram_start to fix a regresion
40503 2007-01-03 Bernhard Held <bernhard AT bernhardheld.de>
40505 * configure.in: added missing mcs51 in status output
40506 * Makefile.in: add support/regression to SDCC_EXTRA to distclean this
40508 * debugger/mcs51/clean.mk (distclean): remove config.h
40509 * src/clean.mk (clean): remove SDCCy.c, SDCCy.h, SDCClex.c
40510 * support/cpp2/Makefile.in (clean): remove s-options, optionlist,
40511 options.h, s-options-h and options.c
40512 * support/cpp2/clean.mk: unused, removed
40513 * Makefile.common.in,
40516 * as/hc08/Makefile.in,
40517 * as/hc08/clean.mk,
40518 * as/mcs51/Makefile.in,
40519 * as/mcs51/clean.mk,
40522 * as/z80/Makefile.in,
40524 * as/link/Makefile.in,
40525 * as/link/hc08/Makefile.in,
40526 * as/link/hc08/clean.mk,
40527 * as/link/mcs51/Makefile.in,
40528 * as/link/mcs51/clean.mk,
40529 * as/link/z80/Makefile.in,
40530 * as/link/z80/clean.mk,
40531 * as/link/z80/conf.mk,
40532 * debugger/mcs51/Makefile.in,
40533 * debugger/mcs51/clean.mk,
40534 * device/include/Makefile.in,
40535 * device/lib/Makefile.in,
40536 * device/lib/mcs51/Makefile.in,
40537 * device/lib/pic/Makefile.in,
40538 * device/lib/pic/Makefile.common.in,
40539 * device/lib/pic/Makefile.subdir,
40540 * device/lib/pic/Makefile.rules,
40541 * device/lib/pic16/libio/Makefile.in,
40542 * device/lib/pic16/Makefile.subdir,
40543 * device/lib/pic16/libdev/Makefile.in,
40544 * device/lib/pic16/Makefile.rules,
40545 * device/lib/pic16/Makefile.common.in,
40546 * sim/ucsim/avr.src/Makefile.in,
40547 * sim/ucsim/main_in.mk,
40548 * sim/ucsim/cmd.src/Makefile.in,
40549 * sim/ucsim/doc/Makefile.in,
40550 * sim/ucsim/gui.src/Makefile.in,
40551 * sim/ucsim/gui.src/obsolete/portmon.src/Makefile.in,
40552 * sim/ucsim/gui.src/serio.src/Makefile.in,
40553 * sim/ucsim/hc08.src/Makefile.in,
40554 * sim/ucsim/libltdl/Makefile.in,
40555 * sim/ucsim/s51.src/Makefile.in,
40556 * sim/ucsim/sim.src/Makefile.in,
40557 * sim/ucsim/sim.src/conf.mk,
40558 * sim/ucsim/xa.src/Makefile.in,
40559 * sim/ucsim/z80.src/Makefile.in,
40563 * support/cpp2/Makefile.in,
40564 * support/librarian/Makefile.in,
40565 * support/librarian/clean.mk,
40566 * support/makebin/Makefile.in,
40567 * support/makebin/clean.mk,
40568 * support/packihx/Makefile.in,
40569 * support/regression/Makefile.in,
40570 * support/regression/ports/ds390/spec.mk,
40571 * support/regression/ports/gbz80/spec.mk,
40572 * support/regression/ports/hc08/spec.mk,
40573 * support/regression/ports/mcs51/spec.mk,
40574 * support/regression/ports/mcs51-large/spec.mk,
40575 * support/regression/ports/mcs51-medium/spec.mk,
40576 * support/regression/ports/mcs51-xstack-auto/spec.mk,
40577 * support/regression/ports/pic14/spec.mk,
40578 * support/regression/ports/pic16/spec.mk,
40579 * support/regression/ports/mcs51-stack-auto/spec.mk,
40580 * support/regression/ports/ucz80/spec.mk,
40581 * support/regression/ports/xa51/spec.mk,
40582 * support/regression/ports/z80/spec.mk: fixed for autoconf 2.6x by
40583 adding a slash after $(top_builddir) and/or adding @datarootdir@
40585 * debugger/mcs51/configure.in,
40586 * device/lib/pic/configure.in,
40587 * device/lib/pic16/configure.in,
40588 * sim/ucsim/configure.in,
40589 * support/cpp2/configure.in,
40590 * support/packihx/configure.in: changed AC_PREREQ to 2.60
40592 * debugger/mcs51/configure,
40593 * device/lib/pic/configure,
40594 * device/lib/pic16/configure,
40595 * sim/ucsim/configure,
40596 * support/cpp2/configure,
40597 * support/packihx/configure: generated with autoconf 2.60
40599 2007-01-02 Maarten Brock <sourceforge.brock AT dse.nl>
40601 * as/link/hc08/lkihx.c (newArea),
40602 * as/link/hc08/lkrloc.c: renamed newArea() to ihxNewArea()
40604 2007-01-02 Borut Razem <borut.razem AT siol.net>
40606 * doc/sdccman.lyx: documented #pragma sdcc_hash
40607 * support/cpp2/sdcpp.c: allow_naked_hash (value of #pragma sdcc_hash)
40609 * support/cpp2/c-ppoutput.c: fixed warning: no newline at end of file
40611 2007-01-01 Bernhard Held <bernhard AT bernhardheld.de>
40613 * src/SDCCast.c (createDo): backPatchLabels() needs falseLabel in
40614 empty 'while'-loop to work correctly, see regression test 'while.c'
40615 * support/regression/tests/while.c: added
40617 2007-01-01 Borut Razem <borut.razem AT siol.net>
40619 * support/cpp2/libcpp/directives.c, support/cpp2/libcpp/identifiers.c,
40620 support/cpp2/libcpp/init.c, support/cpp2/libcpp/sdcpp-opts.c,
40621 support/cpp2/libcpp/sdcpp.c:
40622 sdcpp specific pragma/directive/option handling moved to sdcpp.c
40623 * doc/sdccman.lyx: reference to the GCC 4.1.1 CPP Manual
40624 * support/cpp2/libcpp/mkdeps.c: synchronized with GCC CPP 4.1.1
40626 2006-12-31 Borut Razem <borut.razem AT siol.net>
40628 * SDCPP synchronized with GCC CPP release version 4.1.1,
40629 currently the latest release:
40630 * support/cpp2/libcpp, support/cpp2/libcpp/include,
40631 support/cpp2/libcpp/include/cpp-id-data.h
40632 support/cpp2/libiberty/fopen_unlocked.c
40633 support/cpp2/libiberty/md5.c
40635 support/cpp2/opt-functions.awk
40636 support/cpp2/opt-gather.awk
40637 support/cpp2/optc-gen.awk
40638 support/cpp2/opth-gen.awk:
40640 * support/cpp2/Makefile.in, support/cpp2/auto-host_vc_in.h,
40641 support/cpp2/c-incpath.c, support/cpp2/c-incpath.h,
40642 support/cpp2/c-ppoutput.c, support/cpp2/c-pretty-print.c,
40643 support/cpp2/c-pretty-print.h, support/cpp2/cppdefault.c,
40644 support/cpp2/cppdefault.h, support/cpp2/diagnostic.c,
40645 support/cpp2/diagnostic.h, support/cpp2/except.h,
40646 support/cpp2/hwint.h, support/cpp2/input.h,
40647 support/cpp2/intl.h, support/cpp2/move-if-change,
40648 support/cpp2/opts.c, support/cpp2/opts.h,
40649 support/cpp2/output.h, support/cpp2/prefix.c,
40650 support/cpp2/prefix.h, support/cpp2/pretty-print.c,
40651 support/cpp2/pretty-print.h, support/cpp2/sdcpp-opts.c,
40652 support/cpp2/sdcpp.c, support/cpp2/sdcpp.dsp,
40653 support/cpp2/sdcpp.h, support/cpp2/sdcpp.opt,
40654 support/cpp2/sdcppa.dsp, support/cpp2/symcat.h,
40655 support/cpp2/version.c:
40657 * support/cpp2/libcpp/charset.c, support/cpp2/libcpp/directives.c,
40658 support/cpp2/libcpp/errors.c, support/cpp2/libcpp/expr.c,
40659 support/cpp2/libcpp/files.c, support/cpp2/libcpp/identifiers.c,
40660 support/cpp2/libcpp/include/cpplib.h, support/cpp2/libcpp/include/line-map.h,
40661 support/cpp2/libcpp/include/mkdeps.h, support/cpp2/libcpp/include/symtab.h,
40662 support/cpp2/libcpp/init.c, support/cpp2/libcpp/internal.h,
40663 support/cpp2/libcpp/lex.c, support/cpp2/libcpp/line-map.c,
40664 support/cpp2/libcpp/macro.c, support/cpp2/libcpp/mkdeps.c,
40665 support/cpp2/libcpp/symtab.c, support/cpp2/libcpp/system.h,
40666 support/cpp2/libcpp/traditional.c, support/cpp2/libcpp/ucnid.h,
40667 support/cpp2/libiberty/hashtab.c, support/cpp2/libiberty/hashtab.h:
40669 * support/cpp2/cppcharset.c, support/cpp2/cpperror.c,
40670 support/cpp2/cppexp.c, support/cpp2/cppfiles.c,
40671 support/cpp2/cpphash.c, support/cpp2/cpphash.h,
40672 support/cpp2/cppinit.c, support/cpp2/cpplex.c,
40673 support/cpp2/cpplib.c, support/cpp2/cpplib.h,
40674 support/cpp2/cppmacro.c, support/cpp2/cpptrad.c,
40675 support/cpp2/cppucnid.h, support/cpp2/hashtab.c,
40676 support/cpp2/hashtab.h, support/cpp2/hashtable.c,
40677 support/cpp2/hashtable.h, support/cpp2/line-map.c,
40678 support/cpp2/line-map.h, support/cpp2/mkdeps.c,
40679 support/cpp2/mkdeps.h, support/cpp2/options_vc_in.c,
40680 support/cpp2/options_vc_in.h, support/cpp2/opts.sh,
40681 support/cpp2/system.h:
40684 2006-12-31 Borut Razem <borut.razem AT siol.net>
40686 * configure.in, configure: fixed bug #1538756: configure dies if bison
40687 and flex are not installed, 2nd try
40689 2006-12-30 Bernhard Held <bernhard AT bernhardheld.de>
40691 * src/mcs51/peeph.def: renamed rule 400 to 500, moved rule 253.x to
40692 400.x for better code in RFE 899102
40694 2006-12-30 Bernhard Held <bernhard AT bernhardheld.de>
40696 * src/SDCCpeeph.c (deadMove),
40698 * src/mcs51/peep.h: renamed 'op' by 'reg'
40699 * src/mcs51/peep.c (isFunc, isCallerSaveFunc): added,
40700 (scan4op): small change for removeDeadMove(), added support for
40701 'callee saves' and/or PACLL function calls,
40702 (removeDeadMove): added, removes superflous 'mov r%1,%2',
40703 (removeDeadPopPush): renamed from mcs51DeadMove(), common parts
40704 left in new dispatcher mcs51DeadMove()
40705 (mcs51DeadMove): dispatcher for removeDeadPopPush() and new
40707 * src/mcs51/peeph.def: added rule 301 removing superflous 'mov r%1,%2'
40709 2006-12-30 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40711 * support/cpp2/options_vc_in.h, support/cpp2/options_vc_in.c,
40712 support/cpp2/sdcppa.dsp: create 'options.h' and 'options.c' under MSVC.
40714 2006-12-30 Borut Razem <borut.razem AT siol.net>
40716 * support/cpp2/spacs.h: deleted from svn
40717 * configure.in, configure: fixed bug #1538756: configure dies if bison
40718 and flex are not installed
40720 2006-12-29 Maarten Brock <sourceforge.brock AT dse.nl>
40722 * src/z80/gen.c (assignResultValue): fixed bug when registers overlap,
40723 with this z80 passes printf float test when enabled
40724 * support/regression/tests/bug1057979.c: typo disabled ds390 float test
40726 2006-12-28 Borut Razem <borut.razem AT siol.net>
40728 * support/cpp2/config.in, support/cpp2/configure.in,
40729 support/cpp2/configure, support/cpp2/Makefile.in:
40730 fix for the solaris build
40732 2006-12-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
40734 * src/SDCC.y (type_specifier2, pointer),
40736 * src/SDCCsymt.c (mergeSpec, checkSClass),
40737 * support/Util/SDCCerr.c,
40738 * support/Util/SDCCerr.h: Parse and validate the restrict keyword
40739 * support/valdiag/valdiag.py: Allow test cases to specify
40740 required language standard
40741 * support/valdiag/tests/restrict.c: New file to test restrict keyword
40742 * support/valdiag/tests/tentdecl.c: Supress empty source file error
40744 2006-12-27 Borut Razem <borut.razem AT siol.net>
40746 * support/cpp2/cppmain.c, support/cpp2/mbchar.[ch]: removed
40747 * support/cpp2/libiberty/Makefile.in, support/cpp2/libiberty/sdcpp.dsp:
40749 * support/cpp2/libiberty/getpwd.c, support/cpp2/sdcpp.h:
40750 fixed for borland C
40751 * support/cpp2/libiberty/Makefile.bcc: updated
40752 * src/pic16/main.c: fixed #pragma udata handling
40753 * src/mcs51/mcs51.dsp: added peep.[ch] to the project
40755 2006-12-26 Bernhard Held <bernhard AT bernhardheld.de>
40757 * src/SDCCpeeph.c: made labelHashEntry global,
40758 made pcDistance, FBYNAME static,
40759 (pcDistance): made static, use isComment and isLabel,
40761 (getLabelRef): added, extracted from labelRefCount(),
40762 (labelRefCount): use new getLabelRef(),
40763 (callFuncByName): made static, added deadMove,
40764 use isComment and isLabel,
40765 (newPeepRule): made static, set isLabel,
40766 (isLabelDefinition): added parameter isPeepRule to allow '%' in
40767 labels from peephole rules,
40768 (buildLabelRefCountHash): speed up by running isLabelDefinition() only
40769 when isComment or isLabel is set
40770 * src/SDCCpeeph.h: added "isLabel" and "visited" to struct lineNode,
40771 added labelHashEntry, isLabelDefinition, labelHash and getLabelRef
40772 to make them global
40773 * src/mcs51/peep.h: added
40774 * src/mcs51/peep.c: added, implements mcs51DeadMove()
40775 * src/port.h: added peep->deadMove to port structure
40776 * src/mcs51/main.c: initialize peep->deadMove with mcs51DeadMove
40777 * src/mcs51/peeph.def: renumbered rule 300 to 400, added new rule 300
40778 deadMove, finally removed no. 1 and 2
40782 * src/z80/ralloc.c,
40785 * src/hc08/gen.c: mark lines with isComment or isLabel
40786 * sim/ucsim/s51.src/uc390hw.cc: don't waist 65535 ticks before CKRDY
40788 * sdcc.spec: bumped version to 2.6.3
40790 2006-12-26 Borut Razem <borut.razem AT siol.net>
40792 * support/cpp2/Makefile.in: added dependency on options.h
40793 * configure: regenerated
40794 * support/cpp2/sdcpp.opt, support/cpp2/move-if-change: svn:eol-style native
40795 * support/cpp2/Makefile.in: added vasprintf.c
40797 2006-12-25 Borut Razem <borut.razem AT siol.net>
40799 * SDCPP synchronized with GCC CPP release version 3.4.6,
40800 the latest release before 4.x:
40801 * support/cpp2/Makefile.in, support/cpp2/config.h,
40802 support/cpp2/configure, support/cpp2/configure.in,
40803 support/cpp2/cppdefault.c, support/cpp2/cppdefault.h,
40804 support/cpp2/cpperror.c, support/cpp2/cppexp.c,
40805 support/cpp2/cppfiles.c, support/cpp2/cpphash.c,
40806 support/cpp2/cpphash.h, support/cpp2/cppinit.c,
40807 support/cpp2/cpplex.c, support/cpp2/cpplib.c,
40808 support/cpp2/cpplib.h, support/cpp2/cppmacro.c,
40809 support/cpp2/cpptrad.c, support/cpp2/except.h,
40810 support/cpp2/hashtable.c, support/cpp2/hashtable.h,
40811 support/cpp2/hwint.h, support/cpp2/intl.h,
40812 support/cpp2/line-map.c, support/cpp2/line-map.h,
40813 support/cpp2/mkdeps.c, support/cpp2/mkdeps.h,
40814 support/cpp2/output.h, support/cpp2/prefix.c,
40815 support/cpp2/prefix.h, support/cpp2/sdcpp.dsp,
40816 support/cpp2/system.h, support/cpp2/version.c:
40818 * support/cpp2/c-incpath.c, support/cpp2/c-incpath.h,
40819 support/cpp2/c-ppoutput.c, support/cpp2/c-pretty-print.c,
40820 support/cpp2/c-pretty-print.h, support/cpp2/cppcharset.c,
40821 support/cpp2/cppucnid.h, support/cpp2/diagnostic.c,
40822 support/cpp2/diagnostic.def, support/cpp2/diagnostic.h,
40823 support/cpp2/hashtab.c, support/cpp2/hashtab.h,
40824 support/cpp2/input.h, support/cpp2/libiberty/getpwd.c,
40825 support/cpp2/libiberty/vasprintf.c, support/cpp2/libiberty/xmemdup.c,
40826 support/cpp2/move-if-change, support/cpp2/opts.c,
40827 support/cpp2/opts.h, support/cpp2/opts.sh,
40828 support/cpp2/pretty-print.c, support/cpp2/pretty-print.h,
40829 support/cpp2/sdcpp.opt, support/cpp2/sdcpp-opts.c,
40830 support/cpp2/win32, support/cpp2/win32/dirent.c,
40831 support/cpp2/win32/dirent.h:
40833 * support/cpp2/sdcpp.c: renamed from sdcppmain.c
40834 * support/cpp2/sdcpp.h: renamed from sdcc.h
40835 * sdcppinit.c: deleted
40837 2006-12-23 Borut Razem <borut.razem AT siol.net>
40839 * support/cpp2/cpphash.h, support/cpp2/cpplex.c,
40840 support/cpp2/cpplib.[ch], support/cpp2/sdcppinit.c, doc/sdccman.lyx,
40841 preproc.c: an other try to fix bug #982435: introduced
40842 -pedantic-parse-number command line option and pedantic_parse_number
40845 2006-12-21 Maarten Brock <sourceforge.brock AT dse.nl>
40847 * as/link/mcs51/lkarea.c (lnkarea2): handle absolute areas, restructured
40849 (lnksect2): use --data-loc and --idata-loc as lower bound for ramstart,
40850 corrected overlayed areax addresses, warn about memory overlaps
40851 * as/mcs51/asmain.c (asmbl): create a new area for every .org directive
40853 * src/ds390/main.c,
40855 * src/mcs51/main.c,
40856 * src/pic16/main.c,
40860 * src/port.h: added xabs_name and iabs_name
40861 * src/SDCCglue.c (emitRegularMap): allocate for absolutes with initializer
40862 (glue, emitMaps): create and emit maps d_abs and i_abs
40863 * src/SDCCglue.h: cosmetic changes
40864 * src/SDCCmain.c (setDefaultOptions): idata can start below 0x80
40866 * src/SDCCmem.c (initMem): added x_abs, i_abs and d_abs
40867 (allocDefault): put absolute, initialized globals in them
40868 * support/regression/tests/absolute.c: added absolute bdata test
40869 * device/lib/printf_large.c (output_float): moved fpBuffer to stack/xdata
40871 2006-12-20 Borut Razem <borut.razem AT siol.net>
40873 * support/cpp2/cpphash.h, support/cpp2/cpplex.c: fixed bug #982435
40874 * support/regression/tests/preproc.c: renamed from bug-1351710.c,
40875 added regression test for bug #982435
40877 2006-12-18 Borut Razem <borut.razem AT siol.net>
40879 * src/SDCCutil.c: fixed a bug in (get_pragma_token)
40880 * src/pic16/main.c, src/SDCC.lex, src/z80/main.c:
40881 small cosmetic changes
40882 * src/SDCC.lex: (stringLiteral) fixed bug #1351710
40883 * support/regression/tests/bug-1351710.c: added regression test
40885 2006-12-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
40887 * doc/sdccman.lyx: added the long missed iCode table
40888 "<where is figure II?>", added links to wiki
40890 2006-12-17 Borut Razem <borut.razem AT siol.net>
40892 * doc/sdccman.lyx, src/pic16/main.c, src/pic/main.c, src/port.h,
40893 src/SDCC.lex, src/SDCCutil.[ch], src/z80/main.c,
40894 support/Util/SDCCerr.[ch]: removed deprecated pragmas,
40895 unified table driven pragma handling, pragma argument type checking
40896 * support/Util/dbuf.c: (dbuf_set_size) allow to set size equal to the
40897 current one - version 1.1.3
40898 * src/SDCCmain.c: (setParseWithComma) substituted brain damaged strtok
40900 2006-12-13 Raphael Neider <rneider AT web.de>
40902 * src/pic/device.h: removed AssignedMemory structure and macros
40903 * src/pic/device.c: removed global finalMapping (linker assigns
40905 (register_map): add SFRs to remembered memRanges
40906 (addMemRange,isSFR,dump_map,dump_sfr,mapRegister,assignRegister,
40907 assignFixedRegisters,assignRelocatableRegisters): removed,
40908 (setMaxRAM,validAddress): adapted accordingly,
40909 (pic14_hasSharebank,pic14_getSharedStack): only report and use
40910 reasonably sized sharebanks,
40911 * src/pic/ralloc.c (writeUsedRegs): stripped down (remove?),
40912 (allDefsOutOfRange): removed unused code,
40913 * src/pic/main.c (_process_pragma): removed memmap/maxram pragma
40915 * src/pic/pcode.c (register_reassign): removed recursion warning,
40916 fired far too often,
40917 * src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap): modified
40918 to use existing pic14_stringInSet() to avoid duplicate symbols,
40919 tidied up the code a bit,
40920 (pic14printLocals): added in symmetry to printExterns, replaces
40921 writeUsedRegs more or less,
40922 (picglue): call new pic14_printLocals(),
40923 * device/include/pic/pic*.h: removed #pragma memmap directives,
40924 information gathered from include/pic/pic14devices.txt
40925 * support/scripts/inc2h.pl: do not emit #pragma memmap lines
40927 2006-12-10 Maarten Brock <sourceforge.brock AT dse.nl>
40929 * device/include/mcs51/C8051F520.h: fixed buggy CPT0MX
40931 2006-12-11 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
40933 * device/include/mcs51/cc2430.h: fixed missing ';'
40935 2006-12-10 Raphael Neider <rneider AT web.de>
40937 * device/lib/pic16/libc/stdio/vfprintf.c,
40938 * device/lib/pic16/libc/stdio/printf_small.c,
40939 * device/lib/pic16/libc/stdio/printf_timy.c: pop int from stack for
40940 char arguments, as char varargs are cast to int by the caller,
40941 hopefully fixes #1604915 (other device libraries are still affected)
40943 2006-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
40945 * src/mcs51/ralloc.c (packRegsForAssign),
40946 * src/hc08/ralloc.c (packRegsForAssign): fixed bug #1605880
40948 2006-12-10 Maarten Brock <sourceforge.brock AT dse.nl>
40950 * device/include/malloc.h: removed init_dynamic_memory
40951 * device/lib/malloc.c: made init_dynamic_memory static and automatically
40952 call it once from malloc. Also use _sdcc_heap[] from _heap.c
40953 * device/lib/_heap.c: new, added, contains _sdcc_heap[]
40954 * device/lib/libsdcc.lib,
40955 * device/lib/Makefile.in,
40956 * support/regression/ports/mcs51-xstack-auto/spec.mk: added _heap.c
40957 * doc/sdccman.lyx: documented use of new _heap.c
40958 * support/regression/tests/malloc.c: removed init_dynamic_memory
40959 * src/cdbFile.c(spacesToUnderscores): new function,
40960 (cdbWriteEndFunction, cdbWriteCLine): use spacesToUnderscores, fixes bug
40962 * device/include/tinibios.h: removed defines for putchar and getchar
40963 * device/lib/ds390/Makefile.in: added putchar.c
40964 * device/lib/ds390/putchar.c: new, added, fixes bug 1465671
40966 2006-12-09 Borut Razem <borut.razem AT siol.net>
40968 * support/cpp2/sdcc.h: prevent multiple inclusion
40969 * support/cpp2/options.h: deleted
40971 2006-12-08 Borut Razem <borut.razem AT siol.net>
40973 * support/cpp2/sdcc.h: removed x*alloc() macros
40974 * support/cpp2/libiberty.h: uncommented out x*alloc() declarations
40975 * support/cpp2/Makefile.bcc, support/cpp2/Makefile.in,
40976 support/cpp2/sdcpp.sdc: x*alloc files added to the project
40977 * support/cpp2/system.h: moved #include "sdcc.h"
40978 * support/cpp2/libiberty/xexit.c, support/cpp2/libiberty/xmalloc.c,
40979 support/cpp2/libiberty/xstrdup.c, support/cpp2/libiberty/xstrerror.c:
40981 * support/cpp2/sdcppinit.c: added -isysroot, -fsigned-char,
40982 -funsigned-char options
40983 * support/cpp2/sdcppmain.c: fixed bug 1611411
40985 2006-12-07 Borut Razem <borut.razem AT siol.net>
40987 * support/cpp2/cpplib.c: reverted sdcpp special handling of _Pragma()
40990 2006-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
40992 * src/SDCCsymt.c (addDecl): fixed bug 1609244
40993 * src/SDCCmain.c (linkEdit): fixed bug 1609279
40995 * .version: bumped to 2.6.2 because a) it's been a while
40996 b) the linker sources have moved c) the preprocessor is upgraded
40998 2006-12-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41000 * support/regression/tests/snprintf.c: some checks
41001 * lib/src/printf_large.c: %bc: read char instead of int from stack
41003 2006-12-03 Maarten Brock <sourceforge.brock AT dse.nl>
41005 * device/include/mcs51/cc2430.h: inserted _XPAGE
41007 2006-12-02 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41009 * device/include/mcs51/cc2430.h: added
41011 2006-12-02 Maarten Brock <sourceforge.brock AT dse.nl>
41013 * device/include/asm/default/features.h,
41014 * device/include/asm/ds390/features.h,
41015 * device/include/mcs51/at89s53.h,
41016 * device/include/ser.h,
41017 * device/include/ser_ir.h,
41018 * device/include/serial.h: changed keywords to double underscore variants,
41019 fixes bug 1590261 some more, thanks Steven Borley
41021 2006-12-01 Raphael Neider <rneider AT web.de>
41023 * src/pic/pcode.c (register_reassign): do not crash on recursive code
41024 but emit warning (recursion is not supported for pic14)
41026 2006-11-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41028 * src/mcs51/peeph.def: added 101.a,b (moves to int/long xdata)
41029 * doc/sdccman.lyx: various small changes, acknowledged Sourceforge
41031 2006-11-30 Raphael Neider <rneider AT web.de>
41033 * src/pic/device.c (dump_sfr): always emit symbols
41034 * src/pic/glue.c (pic14printPublics): fixed typo
41036 2006-11-30 Raphael Neider <rneider AT web.de>
41038 * src/pic/device.c (create_pic,ram_map): add memRange entries to PIC
41039 (pic14_getSharebankSize, pic14_getSharebankAddress): replaced with
41040 (pic14_hasSharebank,pic14_isShared,pic14_allRAMShared,
41041 pic14_getSharedStack): NEW, evaluate the memRange entries to locate
41042 a sharebank, use a non-shared bank for the stack if none available
41043 * src/pic/device.h (struct memRange): added linked list next field,
41044 added prototypes for above functions
41045 * src/pic/ralloc.c (initStack): handle shared and banked stacks,
41046 (typeRegWithIdx): accept fixed and unfixed stack registers
41047 * src/pic/pcode.c (pCodeInitRegisters): use new functions to create
41048 the stack, handle shared and banked stack (except for WSAVE),
41049 (insertBankSel): removed useless optimization (will never fire),
41050 (FixRegisterBanking): added optimization for devices with only one
41051 possibly aliased bank of memory, like 16f84
41052 * src/pic/glue.c (pic14_constructAbsMap): back to udata_ovr, as some
41053 devices have no SHAREBANK in the linker script
41054 * device/include/pic/pic14devices.txt: documented memmap
41055 * device/lib/pic/libdev/Makefile.in: removed --stack-loc again
41057 2006-11-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
41059 * src/hc08/gen.c (transferRegReg, loadRegFromAop, forceStackedAop,
41060 storeRegToAop, freeAsmop, genPlusIncr, genPlus, genPointerGetSetOfs,
41061 genAnd, genOr, genXor, genLeftShiftLiteral, genRightShiftLiteral,
41062 genhc08Code): switched most of the D (debug) macros to DD (detailed
41063 debug) macros to better control clutter in the generated .asm file.
41064 * src/hc08/gen.c: (forceStackedAop, genUminus, genLeftShift,
41065 genRightShift): fixed bug with non-constant bit shift stored to
41066 a volatile result (SF Open Discussion forum thread #1616749).
41067 Single byte case is not yet optimized.
41069 2006-11-28 Maarten Brock <sourceforge.brock AT dse.nl>
41071 * device/include/asm/mcs51/features.h,
41072 * device/include/malloc.h,
41073 * device/include/stdio.h: changed keywords to double underscore variants,
41076 2006-11-27 Borut Razem <borut.razem AT siol.net>
41078 * support/cpp2/cppexp.c, support/cpp2/hashtable.h,
41079 support/cpp2/Makefile.in, support/cpp2/cppfiles.c,
41080 support/cpp2/output.h, support/cpp2/cppinit.c,
41081 support/cpp2/cpplib.c, support/cpp2/cpplib.h,
41082 support/cpp2/Makefile.bcc, support/cpp2/cpphash.c,
41083 support/cpp2/cppdefault.c, support/cpp2/system.h,
41084 support/cpp2/cpphash.h, support/cpp2/cpplex.c,
41085 support/cpp2/cppdefault.h, support/cpp2/mbchar.c,
41086 support/cpp2/prefix.c, support/cpp2/except.h,
41087 support/cpp2/hwint.h, support/cpp2/cppmacro.c,
41088 support/cpp2/line-map.h, support/cpp2/sdcpp.dsp,
41089 support/cpp2/sdcc.h, support/cpp2/mkdeps.c,
41090 support/cpp2/version.c, support/cpp2/cppmain.c,
41091 support/cpp2/version.h, support/cpp2/hashtable.c,
41092 support/cpp2/cpperror.c:
41093 synchronized with GCC CPP release version 3.3.6,
41094 the latest where cppmain.c still exists.
41095 * support/cpp2/cpptrad.c, support/cpp2/sdcppmain.c,
41096 support/cpp2/sdcppinit.c: added
41098 2006-11-27 Borut Razem <borut.razem AT siol.net>
41100 * support/cpp2/cpplex.c:
41101 fixed _asm ... _endasm handling bug, introduce with GCC CPP
41103 * support/cpp2/cpplib.c: removed definitions of unused variables
41105 2006-11-26 Borut Razem <borut.razem AT siol.net>
41107 * support/cpp2/libiberty.h: commented out x*alloc() declarations
41108 since they are redefined by macros in support/cpp2/sdcc.h
41109 * support/cpp2/sdcc.h: x*alloc macro redefinition
41111 2006-11-25 Borut Razem <borut.razem AT siol.net>
41113 * support/cpp2/cppexp.c, support/cpp2/hashtable.h,
41114 support/cpp2/configure, support/cpp2/Makefile.in,
41115 support/cpp2/cppfiles.c, support/cpp2/output.h,
41116 support/cpp2/cppinit.c, support/cpp2/cpplib.c,
41117 support/cpp2/config.h, support/cpp2/cpplib.h,
41118 support/cpp2/Makefile.bcc, support/cpp2/cpphash.c,
41119 support/cpp2/cppdefault.c, support/cpp2/config.in,
41120 support/cpp2/system.h, support/cpp2/cpplex.c,
41121 support/cpp2/cpphash.h, support/cpp2/mbchar.c,
41122 support/cpp2/cppdefault.h, support/cpp2/prefix.c
41123 support/cpp2/hwint.h, support/cpp2/mbchar.h,
41124 support/cpp2/prefix.h, support/cpp2/cppmacro.c,
41125 support/cpp2/configure.in, support/cpp2/intl.h,
41126 support/cpp2/sdcpp.dsp, support/cpp2/acconfig.h,
41127 support/cpp2/sdcc.h, support/cpp2/mkdeps.c,
41128 support/cpp2/version.c, support/cpp2/cppmain.c,
41129 support/cpp2/ansidecl.h, support/cpp2/libiberty.h,
41130 support/cpp2/hashtable.c, support/cpp2/aclocal.m4,
41131 support/cpp2/cpperror.c,
41132 support/cpp2/libiberty/safe-ctype.c,
41133 support/cpp2/libiberty/safe-ctype.h,
41134 support/cpp2/libiberty/splay-tree.c,
41135 support/cpp2/libiberty/obstack.c,
41136 support/cpp2/libiberty/lbasename.c,
41137 support/cpp2/libiberty/splay-tree.h,
41138 support/cpp2/libiberty/obstack.h:
41139 synchronized with GCC CPP release version 3.2.3,
41140 the latest before integration of cpp into gcc
41141 * support/cpp2/except.h, support/cpp2/line-map.c,
41142 support/cpp2/line-map.h,
41143 support/cpp2/libiberty/hex.c,
41144 support/cpp2/libiberty/concat.c,
41145 support/cpp2/libiberty/filenames.h: added
41146 * support/cpp2/intl.c: deleted
41148 2006-11-24 Borut Razem <borut.razem AT siol.net>
41150 * src/SDCC.y: enabled compilation of empty source file
41151 * support/Util/SDCCerr.[ch]: added sdcc warning 190 -
41152 "ISO C forbids an empty source file"
41153 * device/lib/_startup.c, device/lib/printf_tiny.c: disable warning 190
41154 if all the code is ifdefed out.
41156 2006-11-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
41158 * src/hc08/gen.c (genPcall): fix for bug #1601032
41160 2006-11-23 Maarten Brock <sourceforge.brock AT dse.nl>
41162 * device/include/mcs51/c8051f000.h, device/include/mcs51/C8051F000.h,
41163 * device/include/mcs51/c8051f018.h, device/include/mcs51/C8051F018.h,
41164 * device/include/mcs51/c8051f020.h, device/include/mcs51/C8051F020.h,
41165 * device/include/mcs51/c8051f040.h, device/include/mcs51/C8051F040.h,
41166 * device/include/mcs51/c8051f060.h, device/include/mcs51/C8051F060.h,
41167 * device/include/mcs51/c8051f120.h, device/include/mcs51/C8051F120.h,
41168 * device/include/mcs51/c8051f200.h, device/include/mcs51/C8051F200.h,
41169 * device/include/mcs51/c8051f300.h, device/include/mcs51/C8051F300.h,
41170 * device/include/mcs51/c8051f310.h, device/include/mcs51/C8051F310.h,
41171 * device/include/mcs51/c8051f320.h, device/include/mcs51/C8051F320.h,
41172 * device/include/mcs51/c8051f326.h, device/include/mcs51/C8051F326.h,
41173 * device/include/mcs51/c8051f330.h, device/include/mcs51/C8051F330.h,
41174 * device/include/mcs51/c8051f340.h, device/include/mcs51/C8051F340.h,
41175 * device/include/mcs51/c8051f350.h, device/include/mcs51/C8051F350.h,
41176 * device/include/mcs51/c8051f410.h, device/include/mcs51/C8051F410.h:
41177 Renamed to all upper case as per the standard set by SiLabs
41179 2006-11-23 Maarten Brock <sourceforge.brock AT dse.nl>
41181 * device/include/mcs51/C8051F520.h: new, added
41182 * device/include/mcs51/compiler.h: added link about predefined macros
41184 2006-11-23 Raphael Neider <rneider AT web.de>
41186 * src/regression/Makefile: add -L path to fresh library
41187 * src/regression/simulate: emphasize FAILED output
41188 * src/regression/create_stc: output _failures from gpsim
41189 * src/regression/compare4.c,
41190 * src/regression/rotate6.c: fixed char literals,
41191 all compile, all run =8-D
41193 * src/pic/pcode.h: added isPCASMDIR macro
41194 * src/pic/gen.c (genAnd): fixed bit offset
41195 * src/pic/ralloc.c (allocNewDirReg,allocDirReg,allocRegByName,
41196 packBits): unified register numbering schemes,
41197 (newReg): do not insert stack registers into hash table,
41198 (initStack): unpinned pseudo stack, simplified,
41199 (typeRegWithIdx): fixed retrieval of stack registers,
41200 * src/pic/pcode.c (addpCodeComment,sameBank): added,
41201 (pCodeReplace): removed invalid assertion,
41202 (insertPCodeInstruction): fixed newly added labels,
41203 (insertBankSwitch,BankSelect,IsBankChange,DoBankSelect,
41204 FixRegisterBankingInFlow,compareBankFlow,FixBankFlow,
41205 DumpFlow): removed unsed (broken?) code,
41206 (insertBankSel): prevent STATUS from being BANKSELed,
41207 (FixRegisterBanking): rewritten from scratch, implemented generic
41208 optimizations (suppress BANKSELs to same register and to registers
41209 present in all banks),
41210 (AnalyzeBanking): update flow after BANKSELection
41212 * src/pic/glue.c (pic14_constructAbsMap): emit pseudo stack in
41213 sharebank, let linker place it, mark STKxx symbols as emitted
41215 2006-11-21 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41217 * src/regression/arrays.c,
41218 * src/regression/bank1.c,
41219 * src/regression/bool2.c,
41220 * src/regression/compare7.c,
41221 * src/regression/compare8.c,
41222 * src/regression/compare9.c,
41223 * src/regression/compare10.c,
41224 * src/regression/configword.c,
41225 * src/regression/for.c,
41226 * src/regression/mult1.c,
41227 * src/regression/pointer1.c,
41228 * src/regression/rotate6.c,
41229 * src/regression/string1.c,
41230 * src/regression/struct1.c,
41231 * src/regression/Makefile: make PIC14 regression tests run again
41232 (3 fail, 6 won't compile)
41234 2006-11-21 Raphael Neider <rneider AT web.de>
41236 * device/include/pic16/pic18f4550.h,
41237 * device/include/pic16/pic18f4455.h,
41238 * device/lib/pic16/libdev/pic18f4550.c,
41239 * device/lib/pic16/libdev/pic18f4455.c: fixed #1578591 and #1595144
41240 * configure.in: removed superfluous closing bracket
41242 2006-11-21 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41244 * device/lib/expf.c: Fixed bug 1599523: result of expf(x) is
41247 2006-11-21 Raphael Neider <rneider AT web.de>
41249 * src/pic/device.{c,h}: added pic14_getPIC()
41250 * src/pic/gen.c (continueIfTrue,jumpIfTrue): added PIC code,
41251 (genAnd): added PIC code for one case, fixes #1597044
41252 * src/pic/pcode.c (BankSelect): Ohoh, added generic optimization for
41253 SFRs that are present in all banks (e.g., STATUS)
41255 2006-11-20 Raphael Neider <rneider AT web.de>
41257 * src/pic/pcode.c: changed inverted ops for DECFSZ/DECFSZW and
41258 INCFSZ/INCFSZW and declared them as changing Z bit,
41259 (insertPCodeInstruction): correctly invert the above instructions,
41261 (DoBankSelect): don't panic on po_immediates
41263 2006-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
41265 * as/link/aslink.h,
41266 * as/link/mcs51/lkihx.c (newArea),
41267 * as/link/mcs51/lkrloc.c: renamed newArea() to ihxNewArea()
41268 * as/link/mcs51/lkihx.c (ihx): output reset vector as start address
41270 2006-11-11 Raphael Neider <rneider AT web.de>
41272 * src/pic/pcode.c (newpCodeOpBit): search SymbolTab for referenced
41273 bitfield symbols, fixes #1579535 (once more...).
41275 2006-11-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41277 * support/regression/generate-cases.py,
41278 * support/regression/fwk/include/testfwk.h,
41279 * support/regression/fwk/lib/testfwk.c: used code pointers,
41280 (about 50kByte less code generated for mcs51)
41282 2006-11-06 Borut Razem <borut.razem AT siol.net>
41284 * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4,
41285 debugger/mcs51/configure: fixed failed check because the function
41286 rl_function_of_keyseq isn't in Readline 5.2. Thanks to Ilya Goldberg
41287 who submitted the patch for gpsim.
41288 * debugger/mcs51/configure.in: removed the result message
41289 * debugger/mcs51/Makefile.in: fixed the config.status warning
41290 "... seems to ignore the --datarootdir setting"
41292 2006-11-03 Maarten Brock <sourceforge.brock AT dse.nl>
41294 * device/include/mcs51/c8051f020.h,
41295 * device/include/mcs51/c8051f040.h,
41296 * device/include/mcs51/c8051f060.h,
41297 * device/include/mcs51/c8051f120.h: added PS0, fixed bug 1589279
41298 * src/z80/gen.c (gencjneshort),
41299 * src/z80/peeph.def: applied patch 1571373, thanks Philipp Krause
41301 2006-10-31 Borut Razem <borut.razem AT siol.net>
41303 * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4,
41304 debugger/mcs51/configure: get readline version
41306 2006-10-30 Borut Razem <borut.razem AT siol.net>
41308 * debugger/mcs51/sdcdb.c: replaced hardcoded "/" with DIR_SEPARATOR_STRING
41309 * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4,
41310 debugger/mcs51/configure: locate readline even when cross compiling
41311 * support/scripts/sdcc.nsi: include readline5.dll into the setup package
41313 2006-10-29 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41315 * device/include/mcs51/serial_IO.h: putchar() and getchar() using
41318 2006-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
41320 * device/include/malloc.h,
41321 * device/lib/calloc.c,
41322 * device/lib/free.c,
41323 * device/lib/malloc.c,
41324 * device/lib/realloc.c: moved definition of struct into sources
41325 * support/regression/tests/malloc.c: use void* for init_dynamic_memory()
41327 2006-10-29 Maarten Brock <sourceforge.brock AT dse.nl>
41329 * as/asx8051.dsp: corrected output directories
41330 * as/link/hc08: new directory for hc08 linker
41331 * as/hc08/aslink.h, as/link/aslink.h,
41332 * as/hc08/aslink.mak, as/link/hc08/aslink.mak,
41333 * as/hc08/clean.mk, as/link/hc08/clean.mk,
41334 * as/hc08/link_hc08.dsp, as/link/hc08/link_hc08.dsp,
41335 * as/hc08/lkaomf51.c, as/link/hc08/lkaomf51.c,
41336 * as/hc08/lkarea.c, as/link/hc08/lkarea.c,
41337 * as/hc08/lkdata.c, as/link/hc08/lkdata.c,
41338 * as/hc08/lkelf.c, as/link/hc08/lkelf.c,
41339 * as/hc08/lkihx.c, as/link/hc08/lkihx.c,
41340 * as/hc08/lklibr.c, as/link/hc08/lklibr.c,
41341 * as/hc08/lkmain.c, as/link/hc08/lkmain.c,
41342 * as/hc08/lkmem.c, as/link/hc08/lkmem.c,
41343 * as/hc08/lkrloc.c, as/link/hc08/lkrloc.c,
41344 * as/hc08/lks19.c, as/link/hc08/lks19.c,
41345 * as/hc08/Makefile.aslink, as/link/hc08/Makefile.aslink,
41346 * as/hc08/Makefile.bcc, as/link/hc08/Makefile.bcc,
41347 * as/hc08/Makefile.in, as/link/hc08/Makefile.in,
41348 * as/link/hc08/conf.mk,
41352 * sdcc.dsw: moved hc08 linker to as/link/hc08
41353 * as/hc08/lkeval.c, as/link/mcs51/lkeval.c, as/link/lkeval.c,
41354 * as/hc08/lkhead.c, as/link/mcs51/lkhead.c, as/link/lkhead.c,
41355 * as/hc08/lklex.c, as/link/mcs51/lklex.c, as/link/lklex.c,
41356 * as/hc08/lklist.c, as/link/mcs51/lklist.c, as/link/lklist.c,
41357 * as/hc08/lknoice.c, as/link/mcs51/lknoice.c, as/link/lknoice.c,
41358 * as/hc08/lksym.c, as/link/mcs51/lksym.c, as/link/lksym.c,
41359 * as/link/mcs51/aslink.dsp,
41360 * as/link/mcs51/Makefile.in: factored out the common files
41361 * as/hc08/lkstore.c: deleted, use the one already in as/link/
41362 * as/clean.mk: extra cleaning common files
41363 * as/link/mcs51/strcmpi.c, as/strcmpi.c: moved
41364 * as/link/mcs51/strcmpi.h: deleted, moved protoype to aslink.h
41365 * as/mcs51/asm.h: include sdccconf.h or sdcc_vc.h
41367 2006-10-29 Raphael Neider <rneider AT web.de>
41369 * src/pic/ralloc.c (newReg): create aliases for registers with
41370 multiple names to fix #1579535 and #1584001,
41371 (regWithIdx,dirregWithName): resolve aliases on lookup
41372 * src/pic/pcode.c (DoBankSelect): die with error message on failing
41374 * device/lib/pic/libdev/Makefile.in: move pseudo stack down to 0x4f
41375 to prevent build errors on small devices
41377 2006-10-28 Raphael Neider <rneider AT web.de>
41379 * src/pic/gen.c (genFunction,genCall): drop "same code page"
41380 assumption within interrupt handlers, fixes #1584940
41381 * src/pic/glue.c (pic14_constructAbsMap): mark absolute symbols as
41382 "emitted" to avoid emitting them again in udata
41384 2006-10-27 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41386 * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c:
41389 2006-10-26 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41391 * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c:
41392 Initialize uart only if SM0 and SM1 are zero. Also, use flag to turn
41393 on/off CR to CRLF conversion.
41395 2006-10-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41397 * doc/sdccman.lyx: updated IRQ section
41399 2006-10-24 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41401 * device/lib/serial_io.c: removed
41402 * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c
41403 replacements for serial_io.c
41405 2006-10-24 Maarten Brock <sourceforge.brock AT dse.nl>
41407 * src/z80/main.c (_process_pragma, _parseOptions): fixed bug 1583318
41409 2006-10-24 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41411 * device/lib/serial_io.c: Default putchar() and getchar() for
41412 mcs51 uses serial port.
41414 2006-10-23 Maarten Brock <sourceforge.brock AT dse.nl>
41416 * src/mcs51/gen.c (movc): improved check for 0 and 1, see RFE 1582704
41418 2006-10-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41420 * support/regression/ports/mcs51/support.c: smaller
41421 _sdcc_external_startup()
41422 * device/lib/mcs51/crtxclear.asm: don't check high byte of l_PSEG
41424 2006-10-20 Maarten Brock <sourceforge.brock AT dse.nl>
41426 * device/lib/gbz80/crt0.s,
41427 * device/lib/gbz80/crt0_rle.s,
41428 * device/lib/gbz80/div.s,
41429 * device/lib/gbz80/fstubs.s,
41430 * device/lib/gbz80/heap.s,
41431 * device/lib/gbz80/mul.s,
41432 * device/lib/gbz80/putchar.s,
41433 * device/lib/gbz80/stubs.s,
41434 * device/lib/z80/crt0.s,
41435 * device/lib/z80/crt0_rle.s,
41436 * device/lib/z80/div.s,
41437 * device/lib/z80/fstubs.s,
41438 * device/lib/z80/heap.s,
41439 * device/lib/z80/mul.s,
41440 * device/lib/z80/putchar.s,
41441 * device/lib/z80/stubs.s: reverted, I was mistaken
41443 2006-10-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41445 * src/mcs51/peeph.def: peephole 238.x added check for notvolatile
41446 * support/regression/ports/mcs51/support.c: removed race
41447 condition on TI in _putchar allowing to use serial port mode 0
41449 2006-10-20 Borut Razem <borut.razem AT siol.net>
41451 * debugger/mcs51/sdcdb.c: replaced isblank() with isspace()
41453 2006-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
41455 * device/lib/gbz80/crt0.s,
41456 * device/lib/gbz80/crt0_rle.s,
41457 * device/lib/gbz80/div.s,
41458 * device/lib/gbz80/fstubs.s,
41459 * device/lib/gbz80/heap.s,
41460 * device/lib/gbz80/mul.s,
41461 * device/lib/gbz80/putchar.s,
41462 * device/lib/gbz80/stubs.s,
41463 * device/lib/z80/crt0.s,
41464 * device/lib/z80/crt0_rle.s,
41465 * device/lib/z80/div.s,
41466 * device/lib/z80/fstubs.s,
41467 * device/lib/z80/heap.s,
41468 * device/lib/z80/mul.s,
41469 * device/lib/z80/putchar.s,
41470 * device/lib/z80/stubs.s: removed all leading underscores from area names
41472 2006-10-17 Maarten Brock <sourceforge.brock AT dse.nl>
41474 * support/regression/ports/mcs51/support.c: use highest baudrate so the
41475 regression tests are not waiting in the simulator for simulated
41476 transmission of debug output
41478 2006-10-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41480 * device/lib/printf_large.c: slightly smaller
41481 * doc/sdccman.lyx: do not use spaces within html links
41483 2006-10-16 Borut Razem <borut.razem AT siol.net>
41485 * configure.in, configure, sdccconf_in.h, src/SDCCglobal,
41486 debugger/mcs51/Makefile.in, debugger/mcs51/sdcdb.[ch],
41487 debugger/mcs51/aclocal.m4, debugger/mcs51/acinclide.m4,
41488 debugger/mcs51/config.h.in, debugger/mcs51/configure.in,
41489 debugger/mcs51/configure:
41490 [ 1185668 ] add gnu readline support to sdcdb - enabled
41492 2006-10-16 Raphael Neider <rneider AT web.de>
41494 * src/pic/pcode.c (BankSelect): another fix on (partial) BANKSELs,
41495 fixes #1577882, removes close to all banking optimizations
41497 2006-10-15 Maarten Brock <sourceforge.brock AT dse.nl>
41499 * src/SDCCsymt.c (checkSClass): no error for uninitialised absolute
41500 variables in code memory
41501 * support/regression/tests/absolute.c: added test for this
41503 2006-10-15 Raphael Neider <rneider AT web.de>
41505 * src/pic/pcode.c (InsertBankSel): suppress BANKSELs for one bank
41507 (BankSelect): emit BANKSEL before touching linker-placed regs,
41510 2006-10-10 Raphael Neider <rneider AT web.de>
41512 * src/SDCCmain.c (optionsTable): accept --stack-size for PICs,
41513 * src/pic/device.c (pic14_getSharebankSize,pic14_getSharebankAddress),
41514 * src/pic/main.c (_pic14_parseOptions),
41515 * src/pic/main.h: mostly reverted to previous state, now use results
41516 from SDCCmain.c's argument parsing
41518 2006-10-10 Borut Razem <borut.razem AT siol.net>
41520 * debugger/mcs51/break.[ch], debugger/mcs51/cmd.c,
41521 debugger/mcs51/sdcdb.[ch], debugger/mcs51/simi.c:
41522 [ 1185668 ] add gnu readline support to sdcdb -
41523 prepared for READLINE, not enabled yet,
41524 thanks to <tal.bav AT gmail.com>
41526 2006-10-10 Raphael Neider <rneider AT web.de>
41528 * src/pic16/pcode.c (pic16_pCode2str): use isACCESS_BANK macro
41529 * src/pic16/devices.inc,
41530 * device/include/pic16 (pic18f[24]620.h),
41531 * device/include/pic18fregs.h,
41532 * device/lib/pic16/pics.all,
41533 * device/lib/pic16/libdev/pic18f[24]{620,525}.c): added support for
41534 18f2620, 18f4620, 18f2525, and 18f4525 devices, thanks to
41535 Gary Plumbridge and Anton Strobl
41537 2006-10-10 Raphael Neider <rneider AT web.de>
41539 * src/pic/main.c (_pic14_parseOptions): added --stack-loc=NUM and
41540 --stack-siz=NUM options to configure the argument passing stack
41541 * src/pic/main.h: added stackLocation and stackSize to pic14_options_t
41542 * src/pic/device.c (mapRegister): catch out-of-memory SIGSEGVs,
41543 (pic14_getSharebankSize): obey --stack-siz=NUM,
41544 (pic14_getSharebankAddress): obey --stack-loc=NUM
41546 2006-10-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
41548 * doc/sdccman.lyx: added to the manual
41549 * doc/figures/ddd_example.png: added (neither pdflatex nor
41550 most browsers seem to like the .eps file)
41552 2006-10-06 Bernhard Held <bernhard AT bernhardheld.de>
41554 * src/SDCCglue.c (tempfileandname): changed un*x tmp search paths
41555 to /tmp and /var/tmp acc. LSB
41556 * src/SDCCast.c (addCast): Fixed bug 1571231: promote in case of
41558 * support/regression/tests/onebyte.c: added test
41560 2006-10-05 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41562 * src/mcs51/gen.c: emitcode for "add a,0x%02x" requires only 8 bits.
41564 2006-10-05 Borut Razem <borut.razem AT siol.net>
41566 * partially fixed [ 1570701 ] peephole - not replacing code from multiline macros,
41568 - sdcc.dsw: changed property eol-style to CRLF
41569 - support/scripts/resource.rc: replaced references to "afxres.h" with "winres.h"
41571 2006-10-04 Raphael Neider <rneider AT web.de>
41573 * device/include/pic/{pic16f84.h,pic16f84a.h},
41574 * device/lib/pic/libdev/{pic16f84.c,pic16f84a.c}: added PORT[AB]_bits
41575 from patch #1522504, thanks to Robas Teodor
41577 2006-10-02 Maarten Brock <sourceforge.brock AT dse.nl>
41579 * as/link/z80/lkarea.c: essentially reverted lnksect() to #4380 which
41582 2006-10-01 Maarten Brock <sourceforge.brock AT dse.nl>
41584 * src/pic16/glue.c (pic16emitMaps),
41585 * src/pic/glue.c (pic14emitMaps): hopefully fixed bug 1568779
41586 * device/lib/gets.c: fixed bug 1568829,thanks Philipp Krause
41587 * device/lib/pic16/libc/string/memcpypgm2ram.c,
41588 * device/lib/pic16/libc/string/memcpyram2ram.c: fixed bug 1568836, thanks
41590 * as/mcs51/asmain.c (asmbl, newdot): fixed problems with absolute areas
41591 * as/link/mcs51/lkmem.c (summary2): reverted, do do count abs segments
41593 2006-09-30 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41595 * support/librarian/sdcclib.c: Added option -l.
41596 * as/link/mcs51/lkmem.c: don't use absolute segments to compute memory
41598 * device/lib/make51lib.bat: added. Allows building mcs51 libraries easily
41599 using Windows command prompt.
41601 2006-09-30 Maarten Brock <sourceforge.brock AT dse.nl>
41603 * device/lib/libsdcc.lib: added module rand
41604 * src/ds390/ralloc.c (rematStr),
41605 * src/hc08/ralloc.c (rematStr),
41606 * src/mcs51/ralloc.c (rematStr),
41607 * src/z80/ralloc.c (rematStr): made output more consistent
41608 * src/mcs51/gen.c: cosmetic changes
41610 2006-09-30 Maarten Brock <sourceforge.brock AT dse.nl>
41612 * src/port.h: added mem.cabs_name to PORT
41613 * src/ds390/main.c,
41615 * src/mcs51/main.c,
41616 * src/pic16/main.c,
41619 * src/z80/main.c: added cabs_name initializers
41620 * src/SDCCglue.c (emitStaticSeg): allocate and initialize absolute
41622 (emitMaps): emit absolutes in code memory into cabs_name
41624 * src/SDCCmem.h: added memory map c_abs and defined CABS_NAME
41625 * src/ds390/gen.c (genCodePointerGet): fixed bug if left is a literal
41626 * support/regression/fwk/include/testfwk.h: added define for at
41627 * support/regression/tests/absolute.c: added, new
41629 2006-09-29 Maarten Brock <sourceforge.brock AT dse.nl>
41631 * src/mcs51/gen.c (genPlusIncr, genMinusDec, genAddrOf): small
41632 optimizations, see also patch 887161 by Stas Sergeev
41633 * src/mcs51/peeph.def(104, 207, 209, 212): disabled as they do not seem
41634 to be necessary anymore,
41635 (102, 103, 104, 127): renamed all occurances of bp to _bp
41637 2006-09-27 Maarten Brock <sourceforge.brock AT dse.nl>
41639 * device/include/mcs51/at89c51snd1c.h: fixed MSK_SREQ definition
41640 thanks Weston T. Schmidt for patch 1555221
41641 * src/mcs51/peeph.def: renamed rule 257 to 257.a, added 257.b
41642 * src/SDCCicode.c(geniCodeMultiply): small optimization
41644 2006-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
41646 * device/include/stdlib.h: added rand prototypes
41647 * device/lib/rand.c: new, added
41648 * device/lib/Makefile.in: added rand.c
41649 * src/z80/peeph.def,
41650 * src/z80/peeph-gbz80.def,
41651 * src/z80/peeph-z80.def: updated conditonals, fixed bug 1565908
41653 2006-09-20 Raphael Neider <rneider AT web.de>
41655 * device/lib/pic16/libio/i2c/i2cnack.c (i2c_nack): fixed ACKDT bit
41657 2006-09-19 Maarten Brock <sourceforge.brock AT dse.nl>
41659 * as/link/aslink.h: cosmetic changes
41660 * as/link/mcs51/Makefile.in,
41661 * as/link/z80/Makefile.in: fixed build on CF where VPATH is used
41663 2006-09-17 Maarten Brock <sourceforge.brock AT dse.nl>
41665 * as/link/aslink.h,
41666 * as/link/mcs51/aslink.h,
41667 * as/link/z80/aslink.h: merged and moved to as/link/
41668 * as/link/lkstore.c,
41669 * as/link/mcs51/lkstore.c: moved to as/link/
41670 * as/link/clean.mk: remove *.o
41671 * as/link/mcs51/alloc.h: deleted
41672 * as/link/mcs51/lkarea.c: added lnksect prototype
41673 * as/link/mcs51/lkdata.c,
41674 * as/link/mcs51/lklex.c,
41675 * as/link/mcs51/lkmain.c: renamed as_getline to lk_getline
41676 * as/link/mcs51/lkmem.c,
41677 * as/link/mcs51/lknoice.c: removed include strcmpi.h
41678 * as/link/mcs51/lksym.c: include stdlib.h instead of malloc.h or alloc.h
41679 * as/link/mcs51/aslink.dsp,
41680 * as/link/mcs51/Makefile.aslink,
41681 * as/link/mcs51/Makefile.bcc,
41682 * as/link/mcs51/Makefile.in: updated for moved files
41683 * as/link/z80/lkarea.c,
41684 * as/link/z80/lkhead.c,
41685 * as/link/z80/lklex.c,
41686 * as/link/z80/lklibr.c,
41687 * as/link/z80/lklist.c,
41688 * as/link/z80/lkmain.c,
41689 * as/link/z80/lkrloc.c,
41690 * as/link/z80/lksym.c: synced with mcs51
41691 * as/link/z80/lkdata.c,
41692 * as/link/z80/lkeval.c,
41693 * as/link/z80/lkihx.c,
41694 * as/link/z80/lks19.c: cosmetic changes
41695 * as/link/z80/Makefile.in,
41696 * as/link/z80/linkgbz80.dsp,
41697 * as/link/z80/linkz80.dsp: updated for moved files
41699 2006-09-16 Borut Razem <borut.razem AT siol.net>
41701 * debugger/mcs51/sdcdb.c: partially fixed
41702 [ 1203664 ] sdcdb fails to open files w. two "." periods
41703 * debugger/mcs51/simi.c, debugger/mcs51/symtab.c,
41704 debugger/mcs51/symtab.h: fixed indenting
41705 * configure.in, configure: up to date with latest Maarten's changes
41707 2006-09-15 Maarten Brock <sourceforge.brock AT dse.nl>
41710 as/aslink.dsp, as/link/mcs51/aslink.dsp,
41711 as/link/mcs51/aslink.h, as/mcs51/aslink.h,
41712 as/link/mcs51/aslink.mak, as/mcs51/aslink.mak,
41713 as/link/mcs51/lkaomf51.c, as/mcs51/lkaomf51.c,
41714 as/link/mcs51/lkarea.c, as/mcs51/lkarea.c,
41715 as/link/mcs51/lkdata.c, as/mcs51/lkdata.c,
41716 as/link/mcs51/lkeval.c, as/mcs51/lkeval.c,
41717 as/link/mcs51/lkhead.c, as/mcs51/lkhead.c,
41718 as/link/mcs51/lkihx.c, as/mcs51/lkihx.c,
41719 as/link/mcs51/lklex.c, as/mcs51/lklex.c,
41720 as/link/mcs51/lklibr.c, as/mcs51/lklibr.c,
41721 as/link/mcs51/lklist.c, as/mcs51/lklist.c,
41722 as/link/mcs51/lkmain.c, as/mcs51/lkmain.c,
41723 as/link/mcs51/lkmem.c, as/mcs51/lkmem.c,
41724 as/link/mcs51/lknoice.c, as/mcs51/lknoice.c,
41725 as/link/mcs51/lkrloc.c, as/mcs51/lkrloc.c,
41726 as/link/mcs51/lks19.c, as/mcs51/lks19.c,
41727 as/link/mcs51/lkstore.c, as/mcs51/lkstore.c,
41728 as/link/mcs51/lksym.c, as/mcs51/lksym.c,
41729 as/link/mcs51/Makefile.aslink, as/mcs51/Makefile.aslink,
41730 as/link/mcs51/alloc.h,
41731 as/link/mcs51/clean.mk,
41732 as/link/mcs51/conf.mk,
41733 as/link/mcs51/Makefile.bcc,
41734 as/link/mcs51/Makefile.in,
41735 as/link/mcs51/readme.390,
41736 as/link/mcs51/strcmpi.c,
41737 as/link/mcs51/strcmpi.h,
41739 as/mcs51/Makefile.bcc,
41740 as/mcs51/Makefile.in,
41743 sdcc.dsw: moved mcs51 linker to as/link/mcs51
41745 2006-09-14 Maarten Brock <sourceforge.brock AT dse.nl>
41748 * as/link/Makefile.in,
41749 * as/link/z80/linkgbz80.dsp,
41750 * as/link/z80/linkz80.dsp,
41754 * link/Makefile.in,
41757 * link/z80/aslink.h,
41758 * link/z80/clean.mk,
41759 * link/z80/conf.mk,
41760 * link/z80/linkgbz80.dsp,
41761 * link/z80/linkz80.dsp,
41762 * link/z80/lkarea.c,
41763 * link/z80/lkdata.c,
41764 * link/z80/lkeval.c,
41767 * link/z80/lkhead.c,
41768 * link/z80/lkihx.c,
41769 * link/z80/lklex.c,
41770 * link/z80/lklibr.c,
41771 * link/z80/lklist.c,
41772 * link/z80/lkmain.c,
41773 * link/z80/lkrloc.c,
41774 * link/z80/lks19.c,
41775 * link/z80/lksym.c,
41776 * link/z80/Makefile.in,
41778 * sdcc.dsw: moved link/ to as/link/
41780 2006-09-11 Maarten Brock <sourceforge.brock AT dse.nl>
41782 * as/mcs51/i51mch.c (machine): fixed warning
41784 2006-09-10 Maarten Brock <sourceforge.brock AT dse.nl>
41786 * as/mcs51/i51mch.c (machine): S_DJNZ fixed bug 1554318
41788 2006-09-09 Borut Razem <borut.razem AT siol.net>
41790 * debugger/mcs51/sdcdb.c, debugger/mcs51/simi.c:
41791 sdcdb WIN32 native port
41792 * src/clean.mk: fixed
41794 2006-09-08 Borut Razem <borut.razem AT siol.net>
41796 * doc/sdccman.lyx: SDCDB and ucSim are available on Win32 platforms.
41798 2006-09-08 Raphael Neider <rneider AT web.de>
41800 * src/pic16/main.c (_pic16_linkEdit,pic16_linkCmd),
41801 * src/pic/main.c(_pic14_do_link, linkCmd): pass "-w" and "-r"
41802 to gplink to disable processor mismatch warning and to allow
41803 the use of devices with only aliased (shared) memory banks,
41804 (_pic16_genAssemblerPreamble): include pXXX.inc on --mplab-comp
41806 2006-09-07 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41808 * doc/sdccman.lyx: Some re-formating plus example on using
41809 #pragma preproc_asm +/-
41811 2006-09-07 Borut Razem <borut.razem AT siol.net>
41813 * support/scripts/sdcc.nsi: added SDCDB executables in a separate
41816 2006-09-06 Borut Razem <borut.razem AT siol.net>
41818 * support/scripts/sdcc.nsi: fixed Error: unterminated string parsing
41819 line at sdcc.nsi:153
41820 * sdcc/debugger/mcs51/simi.c: argsToCmdLine() fixes
41822 2006-09-05 Borut Razem <borut.razem AT siol.net>
41824 * configure.in, configure: support for winsock2
41825 * debugger/mcs51/break.h, debugger/mcs51/cmd.c,
41826 debugger/mcs51/cmd.h, debugger/mcs51/sdcdb.c,
41827 debugger/mcs51/sdcdb.h, debugger/mcs51/simi.c,
41828 debugger/mcs51/simi.h, debugger/mcs51/symtab.c,
41829 debugger/mcs51/symtab.h: sdcdb WIN32 native port
41831 2006-09-05 Maarten Brock <sourceforge.brock AT dse.nl>
41833 * src/SDCCopt.c (cnvToFcall): fixed bug 1551947 by updating OP_USES
41835 * support/regression/tests/bug1551947.c: new, added
41836 * src/SDCCsymt.h: strings are char* not byte*
41838 2006-09-05 Raphael Neider <rneider AT web.de>
41840 * device/lib/pic16/libdev/pic18f4550.c,
41841 device/include/pic16/pic18f4550.h: added PORTD/TRISD
41842 declarations/definitions from patch #1520949
41844 2006-09-05 Raphael Neider <rneider AT web.de>
41846 * src/pic16/gen.c (genPackBits): fix assignment to 8-bit,
41847 byte-aligned bitfields, fixes #1539278
41849 2006-09-05 Raphael Neider <rneider AT web.de>
41851 * src/pic/gen.c (genReceive): skip unreferenced arguments,
41854 2006-09-04 Borut Razem <borut.razem AT siol.net>
41856 * support/scripts/sdcc.nsi: move ucSim executables to a separate section
41857 * support/scripts/sdcc_cygwin_mingw32: don't disable ucsim,
41858 -mno-cygwin is a part of the compiler name
41859 * support/scripts/sdcc_mingw32: don't disable ucsim
41861 2006-09-03 Borut Razem <borut.razem AT siol.net>
41863 * sdcc.spec: corrected for 2.6.0. Thanks to Christer Weinigel.
41864 * device/lib/Makefile.in device/lib/clean.mk: small but essential corrections
41866 2006-09-03 Raphael Neider <rneider AT web.de>
41868 * src/pic/ralloc.c,
41869 * src/pic/pcode.c (InitReuseRegs): allocate registers with pseudo
41870 indices >= 0x1000 to disambiguate them from fixed regs __at(addr),
41873 2006-09-01 Borut Razem <borut.razem AT siol.net>
41875 * sim/ucsim/cmd.src/cmdutil.cc: #include <sys/time.h> and <unistd.h>
41876 to make ppc-osx happy
41878 2006-08-31 Borut Razem <borut.razem AT siol.net>
41880 * sim/ucsim/cmd.src/newcmdposix.cc: #include <assert.h>
41881 * sim/ucsim/cmd.src/newcmd.cc: #include <ctype.h>
41882 * sim/ucsim/cmd.src/newcmd.cc: #include <ctype.h>
41883 * support/regression/ports/ds390/spec.mk,
41884 support/regression/ports/mcs51/spec.mk,
41885 support/regression/ports/xa51/spec.mk: introduced DEV_NULL variable.
41886 To run regression tests in mingw environment:
41887 make DEV_NULL=NUL CC=gcc
41889 2006-08-30 Borut Razem <borut.razem AT siol.net>
41891 * sim/ucsim/cmd.src/newcmdposix.cc, sim/ucsim/cmd.src/newcmdposixcl.h,
41892 sim/ucsim/cmd.src/newcmdwin32.cc, sim/ucsim/cmd.src/newcmdwin32cl.h,
41893 sim/ucsim/app.cc, sim/ucsim/appcl.h, sim/ucsim/configure,
41894 sim/ucsim/configure.in, sim/ucsim/ddconfig_in.h, sim/ucsim/error.cc,
41895 sim/ucsim/errorcl.h, sim/ucsim/option.cc, sim/ucsim/optioncl.h,
41896 sim/ucsim/utils.cc, sim/ucsim/utils.h, sim/ucsim/cmd.src/Makefile.in,
41897 sim/ucsim/avr.src/avr.cc, sim/ucsim/avr.src/avrcl.h,
41898 sim/ucsim/cmd.src/bp.cc, sim/ucsim/cmd.src/bpcl.h,
41899 sim/ucsim/cmd.src/cmdconf.cc, sim/ucsim/cmd.src/cmdgui.cc,
41900 sim/ucsim/cmd.src/cmdmem.cc, sim/ucsim/cmd.src/cmdset.cc,
41901 sim/ucsim/cmd.src/cmdsetcl.h, sim/ucsim/cmd.src/cmdstat.cc,
41902 sim/ucsim/cmd.src/cmduc.cc, sim/ucsim/cmd.src/cmduccl.h,
41903 sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/cmdutil.h,
41904 sim/ucsim/cmd.src/command.cc, sim/ucsim/cmd.src/commandcl.h,
41905 sim/ucsim/cmd.src/get.cc, sim/ucsim/cmd.src/getcl.h,
41906 sim/ucsim/cmd.src/info.cc, sim/ucsim/cmd.src/newcmd.cc,
41907 sim/ucsim/cmd.src/newcmdcl.h, sim/ucsim/cmd.src/set.cc,
41908 sim/ucsim/cmd.src/show.cc, sim/ucsim/cmd.src/timer.cc,
41909 sim/ucsim/hc08.src/hc08.cc, sim/ucsim/hc08.src/hc08cl.h,
41910 sim/ucsim/s51.src/Makefile.in, sim/ucsim/s51.src/interrupt.cc,
41911 sim/ucsim/s51.src/interruptcl.h, sim/ucsim/s51.src/pca.cc,
41912 sim/ucsim/s51.src/pcacl.h, sim/ucsim/s51.src/port.cc,
41913 sim/ucsim/s51.src/portcl.h, sim/ucsim/s51.src/serial.cc,
41914 sim/ucsim/s51.src/serialcl.h, sim/ucsim/s51.src/timer0.cc,
41915 sim/ucsim/s51.src/timer0cl.h, sim/ucsim/s51.src/timer1.cc,
41916 sim/ucsim/s51.src/timer1cl.h, sim/ucsim/s51.src/timer2.cc,
41917 sim/ucsim/s51.src/timer2cl.h, sim/ucsim/s51.src/uc390.cc,
41918 sim/ucsim/s51.src/uc390cl.h, sim/ucsim/s51.src/uc390hw.cc,
41919 sim/ucsim/s51.src/uc390hwcl.h, sim/ucsim/s51.src/uc51.cc,
41920 sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/wdt.cc,
41921 sim/ucsim/s51.src/wdtcl.h, sim/ucsim/sim.src/hw.cc,
41922 sim/ucsim/sim.src/hwcl.h, sim/ucsim/sim.src/mem.cc,
41923 sim/ucsim/sim.src/memcl.h, sim/ucsim/sim.src/obsolete.cc,
41924 sim/ucsim/sim.src/obsolete.h, sim/ucsim/sim.src/sim.cc,
41925 sim/ucsim/sim.src/simcl.h, sim/ucsim/sim.src/stack.cc,
41926 sim/ucsim/sim.src/stackcl.h, sim/ucsim/sim.src/test_mem_speed.cc,
41927 sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
41928 sim/ucsim/xa.src/xa.cc, sim/ucsim/xa.src/xacl.h,
41929 sim/ucsim/z80.src/z80.cc, sim/ucsim/z80.src/z80cl.h:
41930 ucsim WIN32 native port
41932 2006-08-30 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41934 * doc/sdccman.lyx: added note on dynamic memory heap initialization
41936 2006-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
41938 * src/mcs51/gen.c (genAnd, genOr, genXor): fixed bug 1546986
41939 * src/ds390/gen.c (aopGetUsesAcc): handle AOP_DPTR2 and AOP_DPTRn too
41941 2006-08-26 Maarten Brock <sourceforge.brock AT dse.nl>
41943 * src/ds390/gen.c (genAnd, genOr, genXor): fixed bug 1546986
41944 * support/regression/tests/bug1546986.c: new, added
41945 * as/mcs51/.cvsignore,
41946 * debugger/mcs51/.cvsignore,
41947 * src/.cvsignore: deleted
41949 2006-08-25 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41951 * device/include/mcs51/P89c51RD2.h: fixed bug 1546936 (error in sbit
41954 2006-08-20 Borut Razem <borut.razem AT siol.net>
41956 * sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/newcmdcl.h:
41957 removed cl_listen_console::match(), cl_console::match(),
41958 restructured cl_commander::proc_input()
41960 2006-08-16 Borut Razem <borut.razem AT siol.net>
41962 * sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/newcmdcl.h,
41963 sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/cmdutil.h,
41964 sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/uc.cc: code cleaning
41966 2006-08-14 Borut Razem <borut.razem AT siol.net>
41968 * support/regression/Makefile.in,
41969 support/regression/ports/pic14/gpsim.cmd,
41970 support/regression/ports/pic14/spec.mk,
41971 support/regression/ports/pic14/support.c:
41972 added pic14 regression test
41974 2006-08-14 Maarten Brock <sourceforge.brock AT dse.nl>
41976 * as/doc/asxhtm.html: documented changed ABS behaviour
41977 * as/doc/README: fixed some typos
41979 2006-08-13 Maarten Brock <sourceforge.brock AT dse.nl>
41981 * support/regression/tests/float_trans.c: disabled test if __STDC_IEC_559__
41982 not defined on host
41984 2006-08-12 Borut Razem <borut.razem AT siol.net>
41986 * support/regression/fwk/include/testfwk.h,
41987 support/regression/fwk/lib/testfwk.c,
41988 support/regression/generate-cases.py,
41989 support/regression/Makefile.in:
41990 regression test framework does not depend on function pointers and
41993 2006-08-09 Maarten Brock <sourceforge.brock AT dse.nl>
41995 * device/include/stddef.h: c temporary hack to fix bug 1518273
41997 2006-08-09 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
41999 * device/include/mcs51/cc2510fx.h: added
42000 * src/z80/z80.dsp, src/gbz80/gbz80.dsp: added support/Util/strcmpi.ch
42003 2006-08-09 Maarten Brock <sourceforge.brock AT dse.nl>
42005 * as/z80/assym.c (mlookup): ignore case when looking up mnemonics
42006 * as/z80/Makefile.in: added strcmpi.c
42007 * as/z80/z80adr.c: added upper case registers and lower case conditionals
42008 * support/Util/strcmpi.ch: added with intention to remove from mcs51/hc08
42010 2006-08-08 Maarten Brock <sourceforge.brock AT dse.nl>
42012 * device/lib/gbz80/asm_strings.s,
42013 * device/lib/gbz80/crt0_rle.s,
42014 * device/lib/gbz80/div.s,
42015 * device/lib/gbz80/mul.s,
42016 * device/lib/gbz80/shift.s,
42017 * device/lib/z80/asm_strings.s,
42018 * device/lib/z80/crt0_rle.s,
42019 * device/lib/z80/div.s,
42020 * device/lib/z80/mul.s,
42021 * device/lib/z80/shift.s: changed to all lower case menmonics except the
42022 flags which are all upper case
42024 2006-08-07 Maarten Brock <sourceforge.brock AT dse.nl>
42026 * as/z80/asm.h: made CASE_SENSITIVE 1
42027 * link/z80/aslink.h: made CASE_SENSITIVE 1
42028 * src/z80/gen.c (throughout): made all conditionals upper case
42029 * support/regression/tests/bug1503067.c: new
42031 2006-08-07 Maarten Brock <sourceforge.brock AT dse.nl>
42033 * src/z80/gen.c (aopPut): fixed bug !*ixy should be !*iyx,
42034 (shiftIntoPair): added case 2 for PAIR_IY,
42035 (setupToPreserveCarry): replaced parameters with iCode and check if
42036 PAIR_DE is in use to fix bug 1399290,
42037 (genPlus, genMinus): updated call to setupToPreserveCarry
42038 * support/regression/tests/bug1399290.c: new
42040 2006-08-06 Maarten Brock <sourceforge.brock AT dse.nl>
42042 * device/lib/Makefile.in (Z80SOURCES): enabled float support
42043 * sim/ucsim/z80.src/inst.cc (inst_rst): generate breakpoint on RST8,ACC==0
42044 * src/ds390/gen.c (shiftRLong),
42045 * src/hc08/gen.c (shiftLLong, shiftRLong): fixed bug 1533966
42046 * src/mcs51/gen.c (sameReg): changed to sameByte,
42047 (xch_a_aopGet): new,
42048 (shiftL2Left2Result, shiftR2Left2Result, shiftRLeftOrResult, shiftLLong,
42049 shiftRLong): fixed bug 1533966
42050 * src/z80/gen.c (shiftR2Left2Result, shiftL2Left2Result, genlshTwo,
42051 genLeftShiftLiteral, genrshTwo, genRightShiftLiteral): fixed bug 1533966
42052 * support/regression/Makefile.in: disabled z80, enabled ucz80
42053 * support/regression/tests/float_trans.c: enabled test for z80 and host
42054 * support/regression/tests/shifts2.c: new, for testing bug 1533966
42056 2006-08-01 Borut Razem <borut.razem AT siol.net>
42058 * src/mcs51/gen.c, src/dc390/gen.c: fixed warning:
42059 comparison is always false due to limited range of data type
42060 on PPC64 machine (openpower-linux1) where "char = unsigned char"
42062 2006-08-01 Maarten Brock <sourceforge.brock AT dse.nl>
42064 * sim/ucsim/hc08.src/hc08mac.h: removed faulty and unused add_u16_disp
42065 * sim/ucsim/hc08.src/hc08.cc: removed faulty and unused int8
42066 * sim/ucsim/z80.src/z80mac.h (add_u16_disp): use explicit signed char cast
42067 * sim/ucsim/z80.src/z80.cc: removed faulty and unused int8
42069 2006-07-31 Borut Razem <borut.razem AT siol.net>
42071 * sim/ucsim/configure, sim/ucsim/cmd.src/newcmdcl.h,
42072 sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/cmdutil.cc,
42073 sim/ucsim/z80.src/Makefile.in, sim/ucsim/configure.in,
42074 sim/ucsim/hc08.src/Makefile.in, sim/ucsim/hc08.src/hc08.cc,
42075 sim/ucsim/ddconfig_in.h, sim/ucsim/s51.src/Makefile.in,
42076 sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/serialcl.h,
42077 sim/ucsim/s51.src/uc51.cc, sim/ucsim/s51.src/serial.cc,
42078 sim/ucsim/app.cc, sim/ucsim/avr.src/Makefile.in:
42079 enable ucsim mingw compilation. Serial port is disabled,
42080 since it uses termios.h API, which is not available on native
42083 2006-07-31 Borut Razem <borut.razem AT siol.net>
42085 * Small Device C Compiler 2.6.0 released
42086 * support/scripts/sdcc.nsi: added FULL_DOC option
42087 * .version, doc/sdccman.lyx: changed sdcc version to 2.6.1
42089 2006-07-28 Borut Razem <borut.razem AT siol.net>
42091 * support/scripts/sdcc.nsi: remove $INSTDIR/include/asm/pic16/*.h
42092 * doc/INSTALL.txt: updated
42094 2006-07-27 Borut Razem <borut.razem AT siol.net>
42096 * device/lib/pic/Makefile.in, device/lib/pic/Makefile.subdir,
42097 device/lib/pic/libdev/Makefile.in: fixed bug
42098 [ 1438354 ] pic libsdcc: distclean doesn't work
42099 * device/lib/pic16/Makefile.in, device/lib/pic16/Makefile.subdir,
42100 device/lib/pic16/libio/Makefile.in: fixed bug
42101 [ 1438344 ] pic16 lib: clean doesn't work properly
42102 * doc/knownbugs.html removed [ 1438354 ] and [ 1438344 ] from the list
42104 2006-07-26 Maarten Brock <sourceforge.brock AT dse.nl>
42106 * device/lib/pic/libsdcc/fsdiv.c,
42107 * device/lib/pic/libsdcc/fsmul.c,
42108 * device/lib/pic16/libsdcc/float/fsdiv.c,
42109 * device/lib/pic16/libsdcc/float/fsmul.c,
42110 * device/lib/_fsdiv.c,
42111 * device/lib/_fsmul.c: bugfix, handle too large and too small numbers
42112 * support/regression/tests/bug1520966.c: added
42113 * doc/knownbugs.html: removed [ 1520966 ] from the list
42115 2006-07-25 Borut Razem <borut.razem AT siol.net>
42117 * configure.in, configure, sdccconf_in.h: fixed bug
42118 [ 1519095 ] regression test onebyte.c fails on ppc64 host
42119 * doc/knownbugs.html: removed [ 1519095 ] from the list
42121 2006-07-25 Maarten Brock <sourceforge.brock AT dse.nl>
42123 * doc/knownbugs.html: added, contains list of known bugs at release
42124 * device/include/mcs51/compiler.h: fixed SFR32 for SDCC
42126 2006-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
42128 * device/include/mcs51/compiler.h: added SFRX for xdata based special
42129 function registers and corrected defaults with additional warning
42130 * device/lib/malloc.c: cosmetic changes
42131 * device/lib/realloc.c: bugfix for bug #1496907, Thanks Efim Monyak
42132 * src/ds390/ralloc.c (getRegBitNoSpil): reenabled,
42133 (fillGaps): and used it
42135 2006-07-20 Raphael Neider <rneider AT web.de>
42137 * src/pic/device.c (addMemRange,assignRegister): suppress verbose
42138 output unless SDCCPICDEBUG is set
42139 * device/lib/pic16/Makefile.rules (%.lib target): suppress verbose
42140 output if SILENT is set
42142 2006-07-11 Borut Razem <borut.razem AT siol.net>
42144 * doc/README.txt: updated
42146 2006-07-10 Borut Razem <borut.razem AT siol.net>
42148 * support/scripts/sdcc.nsi: added device/include/asm/pic/features.h and
42149 device/lib/src/pic/libm/*.c and device/lib/src/pic16/libsdcc/stack/*.S
42150 in WIN32 installation
42151 * .version, sdcc.spec, doc/sdccman.lyx: changed sdcc version to 2.6.0 -
42152 release candidate 1
42154 2006-07-08 Maarten Brock <sourceforge.brock AT dse.nl>
42156 * device/include/mcs51/XC866.h: added sbit definitions for Px_x, P1_x, P2_x
42157 * src/pic16/glue.c (initPointer): fixed bug 1496419 for pic16
42159 2006-07-06 Maarten Brock <sourceforge.brock AT dse.nl>
42161 * src/hc08/gen.c (genAddrOf): fixed bug when offset on stack is >127
42163 2006-07-06 Borut Razem <borut.razem AT siol.net>
42165 * support/regression/tests/bitfields.c:
42166 fixed bug [ 1518322 ] regression test bitfields fails on ppc hosts
42167 * support/regression/tests/constantRange.c:
42168 fixed bug [ 1518317 ] regression test constantRange fails on alpha host
42170 2006-07-04 Borut Razem <borut.razem AT siol.net>
42172 * src/configure.in, src/configure, src/Makefile.in, as/z80/Makefile.in,
42174 src/avr/Makefile.in, src/ds390/Makefile.in, src/ds400/Makefile.in,
42175 src/hc08/Makefile.in, src/mcs51/Makefile.in, src/pic16/Makefile.in,
42176 src/pic/Makefile.in, src/xa51/Makefile.in, src/z80/Makefile.in:
42177 reverted changes from 2006-07-03
42178 * Makefile.common.in: added @CPPFLAGS@ to CPPFLAGS
42179 * support/regression/Makefile.in, support/regression/ports/host/spec.mk:
42180 added CPPFLAGS, used by the host port
42182 2006-07-03 Bernhard Held <bernhard AT bernhardheld.de>
42184 * support/regression/valdiag/tests/switch.c,
42185 * support/regression/valdiag/tests/constantRange.c: adapted to gcc 4
42186 * support/regression/tests/libmullong.c: fixed for host
42187 * support/regression/ports/host/spec.mk: disable all warnings for host,
42188 SDCC runs with --less-pedantic too
42190 2006-07-03 Borut Razem <borut.razem AT siol.net>
42192 * src/configure.in, src/configure, src/Makefile.in, as/z80/Makefile.in:
42194 * src/port.mk: defined CPPFLAGS, renamed to src/port.mk.in
42195 * src/avr/Makefile.in, src/ds390/Makefile.in, src/ds400/Makefile.in,
42196 src/hc08/Makefile.in, src/mcs51/Makefile.in, src/pic16/Makefile.in,
42197 src/pic/Makefile.in, src/xa51/Makefile.in, src/z80/Makefile.in:
42199 * sim/ucsim/main_in.mk, sim/ucsim/avr.src/Makefile.in,
42200 sim/ucsim/gui.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
42201 sim/ucsim/s52.src/Makefile.in, sim/ucsim/sim.src/Makefile.in,
42202 sim/ucsim/xa.src/Makefile.in: ignore header files for dependencies
42204 2006-07-02 Raphael Neider <rneider AT web.de>
42206 * src/pic16/devices.inc,
42207 * device/include/pic16/pic18fregs.h,
42208 * device/include/pic16/pic18f4550.h,
42209 * device/lib/pic16/pics.all,
42210 * device/lib/pic16/libdev/pic18f4550.c: added support for 18f4550
42212 2006-07-01 Bernhard Held <bernhard AT bernhardheld.de>
42214 * as/hc08/lkaomf51.c (OutputName),
42215 * as/mcs51/lkaomf51.c (OutputName),
42216 * as/z80/asmain.c (asmbl),
42217 * src/ds390/main.c (asmLineNodeFromLineNode),
42218 * src/hc08/ralloc.c (hc08_assignRegisters),
42219 * src/mcs51/main.c (asmLineNodeFromLineNode),
42220 * src/xa51/ralloc.c (checkRegMask),
42221 * src/xa51/gen.c (emitcode),
42222 * src/z80/gen.c (_emit2),
42223 * src/SDCCast.c (searchLitOp),
42225 * support/packihx/packihx.c,
42226 * support/Util/MySystem.c (split_command): fix gcc 4 warnings
42227 * src/ds390/gen.c (aopPutUsesAcc),
42228 * src/ds390/ralloc.c (getRegBitNoSpil): unused, therefore disabled
42229 * support/regression/tests/libmullong.c (mullong_wrapper),
42230 * src/SDCCsymt.c (powof2),
42232 * src/SDCCicode.c: renamed TYPE_WORD by TYPE_TARGET_INT and so on
42233 * src/SDCCsymt.h: added TYPE_TARGET_*
42234 * src/SDCCutil.c (doubleFromFixed16x16, fixed16x16FromDouble),
42235 * src/SDCCutil.h (doubleFromFixed16x16, fixed16x16FromDouble): moved to
42236 SDCCast because 1) header problems 2) this is the right place
42237 * src/SDCCast.c (doubleFromFixed16x16, fixed16x16FromDouble): added
42238 * src/SDCCval.h (doubleFromFixed16x16, fixed16x16FromDouble): added
42241 2006-06-29 Bernhard Held <bernhard AT bernhardheld.de>
42243 * src/SDCCicode.h: removed buggy semicolon in unused macro
42244 * src/SDCClrange.c (findPrevUseSym, rlivePoint): fixed bug #1486853,
42245 search for previous definiton of auto symbols too,
42246 (findPrevUse): fixed logic of emitWarnings
42248 2006-06-26 Raphael Neider <rneider AT web.de>
42250 * src/pic16/gen.c (genFunction, genEndFunction): also preserve
42251 PCLATH and PCLATU on interrupts, potentially fixes #1505141
42253 2006-06-25 Raphael Neider <rneider AT web.de>
42255 * device/lib/pic/libm: NEW, added math library functions
42256 * device/lib/pic/libsdcc: NEW; added float support functions
42257 * device/lib/pic/{Makefile.in,configure.in,configure}: added libm/
42258 * device/include/pic/{limits.h,errno.h,sdcc-lib.h,float.h,math.h}:
42259 NEW, added math related headers
42260 * device/include/asm/pic/features.h: NEW
42261 * src/pic/gen.c (emitpcode_real): emit warning on NULL pCodeOp,
42262 (popGet): allow larger offsets for AOP_PCODE,
42263 (genDataPointerSet): handle literals explicitly, more debug output,
42264 (genAssign): fixed for float using aopLiteral ;-)
42265 * src/pic/glue.c (pic14createInterruptVect): inserted pagesel before
42266 GOTO initialisation routine
42267 * src/pic/pcoderegs.c (pCodeRegMapLiveRangesInFlow): set wasUsed
42268 flag on registers, fixes #1469043 (local variables do not work)
42269 * src/pic/main.c (_pic14_do_link),
42270 * src/pic16/main.c (_pic16_linkEdit): use fullDstFileName if
42273 2006-06-25 Borut Razem <borut.razem AT siol.net>
42275 * device/lib/pic16/libc/stdio/sprintf.c: return the number of
42276 characters printed (not including the trailing '\0' used to end
42277 output to strings). Problem detected in regression test bug-927659.c.
42278 NOTE: printf() family functions should return int instead
42280 * device/lib/pic16/libc/stdio/vfprintf.c: "%%" prints "%", unknown
42281 specifier are printed as themselves
42282 * sdcc/support/regression/tests/bug1057979.c: pic16 printf doesn't
42283 support flags, width and precision specifiers
42285 2006-06-24 Borut Razem <borut.razem AT siol.net>
42287 * sdcc/support/regression/tests/bitvars.c: added gbz80, pic16 and pic16
42288 to the list of sdcc tagrets not supporting bit type
42289 * sdcc/support/regression/tests/bug-905992.c.c: excluded regression
42290 testfor pic16 due to bug:
42291 [ 1511794 ] pic16: regression test bug-895992.c fails
42293 2006-06-24 Maarten Brock <sourceforge.brock AT dse.nl>
42295 * src/mcs51/gen.c (genCmp): optimization for RFE 1162453
42296 * src/SDCCglue.c (initPointer), fixed bug 1496419
42297 * support/regression/tests/bug1496419.c: new, added
42299 2006-06-22 Borut Razem <borut.razem AT siol.net>
42301 * support/regression/ports/pic16/support.c: use gpsim usart module from
42302 libgpsim_modules library
42304 2006-06-21 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
42306 * device/include/mcs51/at89c51ed2.h: Fixed bug 1510144 changed
42309 2006-06-19 Raphael Neider <rneider AT web.de>
42311 * src/pic/glue.h,src/pic16/glue.h: added prototypes
42312 * src/pic/glue.c,src/pic16/glue.c (pic1x_stringInSet,
42313 pic1x_emitSymbolIfNew): NEW, check for a string in a set,
42314 (pic14printExterns,pic14printPublics,pic16printPublics,
42315 pic16_printExterns): use new functions to emit symbols
42316 (picglue,pic16glue): emit publics before emitting externs
42317 * src/pic/gen.c,src/pic16/gen.c (genFunction): remember the names of
42318 locally defined functions to avoid bug #1443651
42319 * support/regression/tests/bug-716242.c: removed pic16 workaround
42320 * support/regression/ports/pic16/spec.mk: ignore errors during build
42322 2006-06-19 Raphael Neider <rneider AT web.de>
42324 * src/pic/glue.h: added pic14aopLiteral prototype
42325 * src/pic/glue.c (pic14aopLiteral): return unsigned int
42326 * src/pic/gen.c: removed stdint.h dependency
42327 (aopGet): use Safe_strdup()
42328 (bitpatternFromVal): removed, replaced use with pic14aopLiteral
42329 (genDataPointerSet): use pic14aopLiteral()
42330 * src/pic16/glue.h, src/pic16/glue.c, src/pic16/gen.c: similar changes
42331 for pic16; thanks to Bernhard and Maarten
42333 2006-06-18 Borut Razem <borut.razem AT siol.net>
42335 * support/regression/tests/structflexarray.c: flexible array members
42336 not supported by gcc < 3
42337 * sim/ucsim/configure, sim/ucsim/configure.in: do not compile serio
42338 GUI tool by default
42339 * src/pic/gen.c: don't include [p]strdin.h on solaris
42340 * support/Util/pstdint.h: added svn attributes
42341 * support/regression/tests/constantRange.c,
42342 support/regression/tests/rotate.c: include inttypes.h instead
42343 stdint.h on solaris, added svn attributes
42345 2006-06-18 Raphael Neider <rneider AT web.de>
42347 * src/SDCCsymt.c (initCSupport): change return type of divschar to
42349 * src/pic16/genarith.c (genAddLit): sign-extend via standard routine
42350 (pic16_genMinusBits): simplified sign-extension
42351 (pic16_genUMult8XLit_8,pic16_genUMult8X8_8): renamed to
42352 pic16_genMult8XLit_n resp. pic16_genMult8X8_n, fixed and
42353 adjusted to correctly handle mixed-signed operands, disabled
42354 now unused multiplciation routines
42355 * src/pic16/gen.c (pic16_pushpCodeOp): fixed to handle literals
42356 (assignResultValue): added argument denoting the size of the result
42357 as returned by the function (fixes upcasts in assigning from
42358 function calls: char foo(); int i = foo();)
42359 (genCall,genPcall,genGenPointerGet,genReceive): pass size of
42360 function result to assignResultValue
42361 (genMult): disabled inlined multiplication code
42362 (genDiv): augmented to also handle the modulus operator, fixed to
42363 handle mixed-signed operands correctly
42364 (genMod): simply call genDiv, disabled unused code
42365 (genAssign): fixed missing (sign-)extension on result
42366 * src/pic16/main.c (_hasNativeMulFor): accept literals [-128..256) as
42367 valid char operands, allow signed operands for native code, added
42368 division and modulo operator handling
42369 * device/lib/pic16/libsdcc/char/divschar.c: divschar returns an int
42371 As a consequence, onebyte.c (if split into two files) and muldiv.c
42372 pass regression tests.
42374 2006-06-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
42376 * doc/Makefile.in: two runs of makeindex seem needed to get
42377 correct page references in the index of sdccman.pdf
42378 * doc/sdccman.lyx: mentioned cmon51, added links, small changes
42380 2006-06-17 Borut Razem <borut.razem AT siol.net>
42382 * sdcc/device/lib/Makefile.in: corrected PORTINCDIR path
42384 2006-06-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
42386 * doc/sdccman.lyx: updated, added (porting source code, debugging),
42387 mentioned ec2drv and paulmon
42389 2006-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
42391 * as/mcs51/lkarea.c (lnkarea2): clear new xdatamap, bugfix for two
42392 consecutive abs areas
42393 (find_empty_space, allocate_space): added map to handle codemap or
42395 (lnksect2): renamed rloc to locIndex, fixed bug 960060 by handling
42396 absolute idata and xdata
42397 * as/mcs51/lkmem.c (summary2): updated legend
42399 2006-06-16 Raphael Neider <rneider AT web.de>
42401 * src/pic16/gen.c (shiftR2Left2Result): fixed bug #1507127
42403 2006-06-13 Maarten Brock <sourceforge.brock AT dse.nl>
42405 * debugger/mcs51/cmd.c (cmdListFunctions): fixed bugs 1181163 and
42407 * src/SDCClrange.c (findPrevUse): fixed bug 1294475
42409 2006-06-13 Vangelis Rokas <vrokas AT users.sourceforge.net>
42411 * src/port.h (struct PORT): added field gp_tags, to hold the tag
42412 value of generic pointers,
42417 src/izt/tlcs900h.c,
42422 src/z80/main.c: PORT structure, added elements for gp_tags field,
42423 * src/SDCCsymt.h: replaced hardwired values of GPTYPE_* macros with
42424 fields in the PORT structure of each port,
42425 * src/SDCCast.c (decorateType): allow processing of generic pointers
42426 for PIC16 port (FPTRSIZE equals GPTRSIZE), also set GPTYPE_NEAR for
42429 2006-06-12 Maarten Brock <sourceforge.brock AT dse.nl>
42434 * src/pic16/main.c,
42435 * src/pic16/pcode.c,
42437 * src/pic/pcoderegs.c,
42440 * src/SDCCsymt.c: replaced all exit(-1) by exit(EXIT_FAILURE) to fix
42441 bug 1504689 on minGW
42443 2006-06-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
42445 * device/lib/printf_tiny.c: fixed bug #1465675 (%x format specifier)
42447 2006-06-12 Bernhard Held <bernhard AT bernhardheld.de>
42449 * src/SDCCast.c (backPatchLabels): fixed bug #1504636
42451 2006-06-11 Maarten Brock <sourceforge.brock AT dse.nl>
42453 * device/lib/printf_large.c (OUTPUT_CHAR, _output_char): added and used
42456 2006-06-11 Vangelis Rokas <vrokas AT users.sourceforge.net>
42458 * src/pic16/gen.c (genCast): fixed bug with assignment of a pointer
42459 to a char variable. Fixed bug #1504211
42460 * device/include/pic16/adc.h,
42461 device/include/lib/pic16/libio/adc/adcopen.c: applied patch #1364387
42462 and fixed bug #1364390
42464 2006-06-10 Borut Razem <borut.razem AT siol.net>
42466 * CVSROOT: removed the CVS left-over
42468 2006-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
42470 * as/hc08/asmain.c (asexit),
42471 * as/hc08/lkmain.c (lkexit),
42472 * as/mcs51/asmain.c (asexit),
42473 * as/mcs51/lkmain.c (lkexit),
42474 * src/SDCCglue.c (DEFSETFUNC),
42475 * src/SDCCmain.c (linkEdit, assemble),
42476 * support/librarian/sdcclib.c (AddRel),
42477 replaced unlink() by standard C remove()
42478 * src/SDCC.y: replaced removePostIncDecOps() by createRMW()
42479 * src/SDCCast.c (replaceAstWithTemporary, createRMW,
42480 gatherImplicitVariables): new, added to fix bug 608752,
42481 (createFunction): added gatherImplicitVariables()
42482 * src/SDCCast.h: added createRMW prototype
42483 * src/SDCCsymt.h (struct symbol): added infertype
42484 * support/regression/tests/bug608752.c: new, added
42486 2006-06-10 Raphael Neider <rneider AT web.de>
42488 * src/pic16/gen.c (pic16_aopOp): use WREG as destination even for
42489 multibyte dummy reads (fixes #1503234)
42491 2006-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
42493 * device/include/mcs51/compiler.h: new, added header file to enable
42494 creating common sfr definition header files for different compilers
42496 2006-06-05 Raphael Neider <rneider AT web.de>
42498 * src/pic16/{pcode.h,genarith.c}:
42499 introduced pCodeOp combining any two pCodeOps (previously only
42500 two register operands could be combined), removed pcop2 from
42501 pCodepReg, replaced pCodeOpReg2 with pCodeOp2, fixes #1492366
42502 * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): added case for PO_TWO_OPS
42503 * src/pic16/gen.c (pic16_popGet2,pic16_popGet2p,pic16_popCombine2):
42504 rewritten to use new PO_TWO_OPS
42505 * src/pic16/main.c (_hasNativeMulFor): cover more cases natively,
42506 * src/pic16/pcode.c (pic16_newpCodeOpImmd): initialize rIdx field,
42507 (pic16_newpCodeOp): catch invalid attempts on PO_TWO_OPS,
42508 (pic16_newpCodeOp2): NEW, create combined pCodeOp,
42509 (pic16_get_op): embraced return arg to allow #define return(x),
42510 added new case for combined opcodes
42511 (pic16_get_op2): reduced to use pic16_get_op() on second pCodeOp,
42512 (pic16_pCode2str,pic16_getRegFrompCodeOp,
42513 pic16_getRegFromInstruction2): fixed/added handling of new pCodeOp
42515 2006-06-04 Bernhard Held <bernhard AT bernhardheld.de>
42517 * src/SDCCval.c (checkConstantRange): added
42518 * src/SDCCval.h: added checkConstantRange
42519 * support/Util/SDCCerr.c,
42520 * support/Util/SDCCerr.h: replaced unused W_IF_NEVER_TRUE and
42521 W_IF_ALWAYS_TRUE by W_COMP_RANGE and W_LIT_OVERFLOW
42522 * src/SDCC.y: moved early 'condition transformations' to SDCCast.c
42523 * src/SDCCast.c (decorateType): added checkConstantRange,
42524 added 'condition transformations' from SDCC.y so that now W_COMP_RANGE
42525 can be emitted with the correct always true/false warning,
42526 added optimization for double '!';
42527 result of decorateType() must be assigned back to the tree, because
42528 decorateType() can change the tree
42529 * src/SDCCicode.c (geniCodeLogic),
42530 (geniCodeAssign): replaced new checkConstantRange, added warnings,
42531 (checkConstantRange): removed, it was only a fragment which never
42533 * src/SDCCsymt.c (computeType): fixed promotion for
42534 "-1 < (unsigned bit) b"
42535 * src/pic/ralloc.c (packRegsForAssign),
42536 * src/pic16/ralloc.c (packRegsForAssign),
42537 * src/hc08/ralloc.c (packRegsForAssign),
42538 * src/z80/ralloc.c (packRegsForAssign): ported fix for bug #930931
42540 * src/mcs51/ralloc.c (packRegsForAssign): removed outcommented source
42541 * support/regression/tests/constantRange.c: added
42542 * support/valdiag/tests/constantRange.c: added
42543 * support/valdiag/valdiag.py: added -DPORT_HOST=1
42545 2006-06-02 Borut Razem <borut.razem AT siol.net>
42547 * support/regression/ports/pic16/support.c: increase stack size
42549 * support/regression/Makefile.in: sort tests by name so that the
42550 resutlts can be compared on different machines / platforms
42552 2006-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
42554 * device/lib/printf_large.c (output_digit): optimized further, Tnx Frieder
42555 * src/ds390/gen.c (emitLabel): new, added,
42556 (genDjnz): fixed stack overflow bug,
42557 (throughout): cosmetic changes to sync with mcs51/gen.c,
42558 replaced emitcode("", "%05d$:", lbl->key + 100) with emitLabel(lbl)
42559 * src/mcs51/gen.c (genEndFunction): small optimization,
42560 (throughout): cosmetic changes to sync with ds390/gen.c
42562 2006-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
42564 * device/lib/printf_large.c (output_digit, calculate_digit): optimized,
42565 (_print_format): fixed printing pointers
42566 * src/mcs51/gen.c (emitLabel, movb): new, added,
42567 (genAssign): small optimization,
42568 (genDjnz): fixed stack overflow bug,
42569 (throughout): replaced sprintf with SNPRINTF,
42570 replaced mcs51_regWithIdx with REG_WITH_INDEX,
42571 replaced emitcode("mov", "b,...") with MOVB(...),
42572 replaced emitcode("", "%05d$:", lbl->key + 100) with emitLabel(lbl),
42573 replaced D(emitcode("; genXXX", "")) with D(emitcode(";", "genXXX"))
42574 * src/mcs51/peeph.def: added rules 140 and 264
42575 * src/SDCCmem.c (allocLocal): store register declared locals in DSEG/OSEG
42576 so they may get optimized into registers
42578 2006-05-30 Maarten Brock <sourceforge.brock AT dse.nl>
42580 * src/SDCCmain.c (optionsTable, parseCmdLine): handle --use-stdout
42581 immediately when encountered,
42582 (printUsage): always use stderr even on windows
42584 2006-05-30 Bernhard Held <bernhard AT bernhardheld.de>
42586 * src/SDCCast.c (isLoopCountable): fixed bug #1478316
42587 (processParms): fixed bug #1247551
42588 * src/SDCCmain.c (printVersionInfo, printOptions, printUsage,
42589 parseCmdLine, main): print '--version' to stdout,
42590 print 'help' to stdout if --help is given,
42591 print 'help' to stderr and exit with EXIT_FAILURE if no or bad
42592 arguments are given; fixed --help
42594 2006-05-27 Bernhard Held <bernhard AT bernhardheld.de>
42596 * src/SDCCcse.c (findPointerSet): fixed bug #1493710
42597 * support/regression/tests/bug-1493710.c: added
42599 2006-05-27 Borut Razem <borut.razem AT siol.net>
42601 * support/regression/fwk/lib/testfwk.c: define array in _printn() as
42602 static instead auto
42603 * support/regression/ports/pic16/support.c: increase stack size
42604 from default 64 bytes to 128 bytes
42605 * support/regression/tests/staticinit.c,
42606 support/regression/tests/float.c: regression tests fully enabled
42607 for pic16 port by putting the initialized data arrays into the code
42609 * support/regression/ports/pic16/spec.mk: don't link default libraries.
42610 This was changed by mistake in the previous version.
42612 2006-05-28 Vangelis Rokas <vrokas AT users.sourceforge.net>
42614 * src/pic16/gen.c (genFunction, genEndFunction): some
42615 beautifications, fixed bug with falsely restoring FSR2 in large
42616 stack model, thanks to Beau E. Cox for reporting the bug
42618 2006-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
42620 * debugger/mcs51/break.c,
42621 * debugger/mcs51/cmd.c (throughout): removed unused variables and labels,
42622 use %p to print pointers, made address variables unsigned
42623 * debugger/mcs51/cmd.c (infoSymbols): added missing parameter to printf
42624 * debugger/mcs51/symtab.c (parseSymbol): must return something
42625 * src/mcs51/gen.c (aopForSym): small optimization,
42626 moved declarations mcs51_ptrRegReq and mcs51_nRegs to ralloc.h,
42627 (freeAsmop): added missing break,
42628 (aopPut): removed parameter bvolatile, determine it inside the function,
42629 (saveRegisters, unsaveRegisters): small optimization,
42630 (genIpush): removed pointless check,
42631 (throughout): replaced Safe_calloc, strcpy with Safe_strdup,
42632 replaced sprintf with SNPRINTF,
42633 replaced strcpy with strncpyz,
42634 updated aopPut calls,
42635 replaced D(emitcode("; genXXX", "")) with D(emitcode(";", "genXXX"))
42636 * src/mcs51/ralloc.h: added declarations mcs51_ptrRegReq and mcs51_nRegs
42638 2006-05-24 Borut Razem <borut.razem AT siol.net>
42640 * support/regression/tests/bug-221100.c: fixed xdata problem caused by
42641 modification of test for the pic16 port, put the array to the code
42642 memory for pic16port; thanks to Maarten Brock and Frieder Ferlemann
42644 2006-05-23 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
42646 * src/pic/gen.c: MSC 6 does not have <stdint.h>. Use pstdint.h instead.
42647 * support/Util/pstdint.h: added
42649 2006-05-22 Borut Razem <borut.razem AT siol.net>
42651 * src/regression/Makefile: removed bool2.c test, added -q linker option
42652 * src/regression/add2.c, src/regression/add3.c, src/regression/bool1.c,
42653 src/regression/bool3.c, src/regression/nestfor.c, src/regression/ptrfunc.c,
42654 src/regression/compare.c, src/regression/or1.c, src/regression/compare2.c,
42655 src/regression/while.c, src/regression/compare3.c, src/regression/compare4.c,
42656 src/regression/compare5.c, src/regression/sub2.c, src/regression/rotate1.c,
42657 src/regression/rotate2.c, src/regression/rotate3.c, src/regression/rotate4.c,
42658 src/regression/switch1.c, src/regression/rotate5.c, src/regression/for.c,
42659 src/regression/add.c, src/regression/sub.c, src/regression/call1.c:
42660 define SUPPORT_BIT_TYPES 0, removed unused bit variables
42662 2006-05-22 Raphael Neider <rneider AT web.de>
42664 * src/pic16/gen.c (pic16_storeForReturn): fragile fix for
42665 bug #1492360 (problematic due to generic pointers, see code)
42667 2006-05-22 Borut Razem <borut.razem AT siol.net>
42669 * support/regression/ports/pic16/specs.mk: removed stack size linker
42671 * support/regression/tests/array.c,
42672 support/regression/tests/bitopcse.c,
42673 support/regression/tests/bug-908454.c,
42674 support/regression/tests/malloc.c: modified for pic16 regression test
42675 * support/regression/tests/bitfields.c:
42676 pic16 - excluded bitfileds of size > 8
42677 * support/regression/tests/bp.c: pic16 - reduced data size
42678 * support/regression/tests/bug-221100.c: pic16 - reduced data size
42679 * support/regression/tests/bug-460010.c:
42680 pic16 - used the absolute address the fits in memory
42681 * support/regression/tests/bug-716242.c:
42682 bug [ 1443651 ] pic 16: redefining symbol that cannot be redefined.
42683 * support/regression/tests/float.c:
42684 pic16 - excluded - data size too big
42685 * support/regression/tests/onebyte.c:
42686 pic16 - bug [ 1444425 ] onebyte.c regression tes fails on pic16
42687 * support/regression/tests/shifts.c:
42688 pic16 - function names probably have to differ in first X characters
42689 (gpasm limitation?)
42690 * support/regression/tests/staticinit.c:
42691 pic16 - excluded some tests due error: no target memory available for
42694 2006-05-22 Borut Razem <borut.razem AT siol.net>
42696 * support/Util/dbuf.c: fixed bug #1489008 fix dbuf_c_str(),
42697 second try. Thanks Stas Sergeev once more.
42699 2006-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
42701 * src/hc08/gen.c (transferAopAop): aop forced to stack was not restored,
42702 (genLeftShift, genRightShift): fixed bug 1491627
42703 * src/hc08/peeph.def (rules 7, 8.x): added
42704 * support/regression/tests/shifts.c (ShiftLeftByParam,
42705 ShiftRightByParam, testShiftByParam): added to test variable shifting
42707 2006-05-20 Raphael Neider <rneider AT web.de>
42709 * src/pic/gen.c (bitpatternFromVal): fixed for 64-bit machines
42710 * src/pic16/ralloc.c (newReg): use correct name in hashtable,
42711 (allocReg): add only new registers to dynAllocRegs,
42712 (pic16_assignRegisters): do not reset dynrIdx, fixes bugs
42713 #1489055, #1445850, and probably #1483693
42715 2006-05-19 Vangelis Rokas <vrokas AT users.sourceforge.net>
42717 * src/pic16/glue.c (pic16_emitConfigRegs, pic16_emitIDRegs): fixed
42718 bug in for-loop that didn't emit the last of CONFIG and ID registers
42720 2006-05-18 Maarten Brock <sourceforge.brock AT dse.nl>
42722 * src/mcs51/gen.c (genCodePointerGet): inc dptr instead of loading acc
42724 * src/mcs51/peeph.def (186.x): updated and reenabled to fix bugs
42725 1489016, 1434401 and 1490124
42726 * src/ds390/peeph.def (186.x, 227.x): updated and reenabled to fix bugs
42727 1489016, 1434401 and 1490124
42729 2006-05-17 Borut Razem <borut.razem AT siol.net>
42731 * support/Util/dbuf.c: fixed bug #1489008 fix dbuf_c_str(),
42732 thanks Stas Sergeev
42734 2006-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
42736 * device/include/mcs51/P89c51RD2.h,
42737 * device/include/mcs51/P89LPC901.h,
42738 * device/include/mcs51/P89LPC922.h,
42739 * device/include/mcs51/P89LPC932.h: added, thanks Omar Espinosa
42741 2006-05-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
42743 * device/lib/pic16/libsdcc/stack/{stack.S, Makefile.in}: add workaround
42744 to fix missing stack pragma in compiled binary object file,
42746 2006-05-14 Bernhard Held <bernhard AT bernhardheld.de>
42748 * support/packihx/configure.in,
42749 * support/packihx/configure: removed warning, autoconf >= 2.5x can
42750 determine sizeof basic types even while cross compiling
42752 2006-05-13 Bernhard Held <bernhard AT bernhardheld.de>
42754 * src/avr/gen.c (aopop),
42755 * src/ds390/gen.c (aopOp),
42756 * src/hc08/gen.c (aopOp),
42757 * src/mcs51/gen.c (aopop),
42758 * src/pic16/gen.c (pic16_aopOp),
42759 * src/pic/gen.c (aopOp),
42760 * src/z80/gen.c (aopop): fix for bug #1479882; use new, exclusive asmop
42761 if size of operand is smaller than spill location
42763 2006-05-12 Borut Razem <borut.razem AT siol.net>
42765 * *.dsw, *.dsp: changed property svn:eol-style to CRLF since they
42766 have to have CR/LF line endings even if they are checked out on *nix
42767 or on WIN32 in cygwin binmode
42769 2006-05-12 Maarten Brock <sourceforge.brock AT dse.nl>
42771 * doc/sdccman.lyx: documented numeric ranges, WEBDOC #1442369
42772 * device/include/ds80c390.h: added sfr16 definitions
42775 * src/ds390/main.c,
42776 * src/ds390/ralloc.c,
42777 * src/ds390/ralloc.h: changes all over the place to sync with mcs51
42778 fixing several bugs and adding sfr16/sfr32, reentrant bit params,
42779 bit returning functions
42780 * support/regression/tests/sfr16.c: enabled test on ds390
42782 2006-05-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
42784 * src/hc08/gen.c (asmopToBool, genIfx): fix for bug #1429722
42785 * src/hc08/gen.c (storeRegToAop): fix for bug #1439894
42787 2006-05-11 Maarten Brock <sourceforge.brock AT dse.nl>
42789 * sim/ucsim/sim.src/memcl.h: added get_decoder() to cl_address_space
42790 * sim/ucsim/sim.src/mem.cc: implemented cl_address_space::get_decoder,
42791 (cl_address_space constructor): removed expensive initialization,
42792 (cl_address_space::get_cell): extended for late initialization,
42793 (cl_address_space::*): use late initialization,
42794 (cl_address_decoder::activate): removed expensive initialization,
42795 This reduced regression test running time by 25%
42797 2006-05-11 Bernhard Held <bernhard AT bernhardheld.de>
42805 * support/packihx/Makefile.in,
42806 * support/packihx/clean.mk,
42807 * support/packihx/Makefile.bcc,
42808 * support/packihx/PackIhx.dsp: moved packihx to support/packihx
42810 2006-05-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
42812 * src/SDCCval.c (valNot): fix for regression test failure
42813 of not.c on big endian hosts
42815 2006-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
42817 * device/inlcude/mcs51/msc1210.h: new, added, thanks Philippe Latu
42819 2006-05-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
42821 * device/lib/mcs51/Makefile.in: changed string comparison operator
42822 to = for POSIX compliance; == is bash extension
42824 2006-05-10 Maarten Brock <sourceforge.brock AT dse.nl>
42826 * device/lib/hc08/_mulint.c: applied patch 1485428, thanks
42829 2006-05-09 Vangelis Rokas <vrokas AT users.sourceforge.net>
42831 * src/pic16/gen.c (pic16_freeAsmop): release any temp registers
42832 allocated by aopForSym thus fixing bug #1478657 about failed testfwk.c
42833 * src/pic16/main.c (_pic16_keywords): added 'sfr16' keyword,
42834 * src/pic16/ralloc.c (pic16_allocWithIdx): also a fix for bug exposed by
42835 bug report #1478657,
42837 2006-05-05 Borut Razem <borut.razem AT siol.net>
42839 * doc/Makefile.in: remove of WARNINGS and labels.pl immediately after
42842 2006-05-02 Borut Razem <borut.razem AT siol.net>
42844 * doc/Makefile.in: removed *.ind dependency since there is no rule to
42845 create *.ind, which made make to fail if invoked with -j 2
42847 2006-05-01 Maarten Brock <sourceforge.brock AT dse.nl>
42849 * src/SDCCglue.c (emitRegularMap): partial fix for bug 1477149, thanks
42850 Hubert Sack for patch 1479782
42852 2006-05-01 Vangelis Rokas <vrokas AT users.sourceforge.net>
42854 * src/pic16/glue.c (pic16_printIvalStruct): fixed bug #1445929
42856 2006-05-01 Raphael Neider <rneider AT web.de>
42858 * src/pic/device.c (sanitise_processor_name): only remove p(ic) prefix,
42859 (create_pic): store only prefix-free device name,
42860 (init_pic): check for device names with "16" prefix,
42862 * src/pic/device.h (struct PIC_device),
42863 * src/pic/main.c (_pic14_genAssemblerPreamble): adapted to single
42864 stored device name,
42865 * device/include/pic/pic12f{635,675,629,683}.h,
42866 * device/lib/pic/libdev/pic12f{635,675,629,683}.c: NEW device libraries
42867 * device/lib/pic/libdev/Makefile.in: allow pic12* devices,
42868 * device/include/pic/pic16f505.h,
42869 * device/lib/pic/libdev/pic16f505.c: removed
42870 * device/include/pic/pic14devices.txt: added support for pic12f
42871 devices, removed unsupported non 16-bit devices
42872 [above changes provided by patch from Zik Saleeba]
42873 * src/pic/*, src/pic16/*, device/include/pic16/*,
42874 device/lib/pic/**, device/lib/pic16/**: obfuscated email address
42876 2006-05-01 Borut Razem <borut.razem AT siol.net>
42878 * configure.in, configure, doc/Makefile.in:
42879 sync with nightly build makefile - latex, dvipdf and dvips
42880 not needed any more
42882 2006-04-30 Bernhard Held <bernhard AT bernhardheld.de>
42884 * support/scripts/sdcc.nsi: removed all Readmes and Makefiles
42885 in the library source
42887 2006-04-30 Maarten Brock <sourceforge.brock AT dse.nl>
42889 * support/regression/ports/hc08/spec.mk: fixed bug 1478892
42891 2006-04-28 Raphael Neider <rneider AT web.de>
42893 * src/pic16/pcode.c (pic16_newpCodeOpLit12),
42894 * src/pic16/gen.c (pic16_popGetLit12): NEW, create 12 bit literal,
42895 (pic16_loadFSR0): handle 12 bit literals correctly, fixes #1440527
42896 * src/pic16/pcode.h: added prototype for pic16_newpCodeOpLit12()
42898 2006-04-28 Bernhard Held <bernhard AT bernhardheld.de>
42900 * device/lib/pic/libdev/Makefile.in,
42901 * device/lib/hc08/Makefile.in,
42902 * device/lib/gbz80/Makefile.in,
42903 * device/lib/z80/Makefile.in,
42904 * device/lib/ds390/Makefile.in,
42905 * device/lib/ds400/Makefile.in: added srcdir to include search path,
42906 thanks to Borut for the bug report
42908 * configure: always create doc/Makefile independent from --enable-doc
42909 * Makefile.in: always install from directory doc independent from
42911 * device/lib/pic/Makefile.in: added libdev again, it was erroneously
42913 * device/lib/pic/libdev/Makefile.in: fixed VPATH build
42914 * doc/Makefile.in: install *.txt if present
42915 * device/include/Makefile.in (install): added installation of pic/*.inc
42916 and pic/*.txt files again, they were erroneously removed
42918 2006-04-28 Raphael Neider <rneider AT web.de>
42920 * src/pic/{gen.c,main.h,pcode.c},
42921 * src/pic16/{gen.c,pcode.c}: quietened compiler warnings
42922 concerning signedness with casts
42924 2006-04-28 Raphael Neider <rneider AT web.de>
42926 * src/pic/gen.c (genFunction): set global pic14_hasInterrupt on
42927 definition of an interrupt handler,
42928 * src/pic/glue.c (pic14_emitInterruptHandler): moved output of
42929 interrupt handler stuff from picglue() to separate routine,
42930 (picglue): enabled definition of intr handlers in files w/o main()
42932 2006-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
42934 * support/librarian/sdcclib.c: moved include <limits.h> up to enable
42935 compilation with MSVC 2005 Express Edition (VC8)
42937 2006-04-26 Bernhard Held <bernhard AT bernhardheld.de>
42939 * device/lib/Makefile: fixed build of gbz80 lib
42941 2006-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
42943 * support/regression/tests/bug-460010.c,
42944 * support/regression/tests/bug-524691.c,
42945 * support/regression/tests/bug-716242.c: removed conditional defines
42946 that are already in testfwk.h
42948 2006-04-25 Maarten Brock <sourceforge.brock AT dse.nl>
42950 * src/ds390/gen.c (AccAXRrl1, AccAXLrl1): changed to real rotate by 1,
42951 (AccAXRsh1): added, shift right by 1,
42952 (AccAXLsh, AccAXRsh, AccAXRshS): updated for AccAXRrl1, AccAXRsh1 and
42954 * support/regression/tests/rotate.c: use <stdint.h> and enabled ds390
42956 2006-04-25 Bernhard Held <bernhard AT bernhardheld.de>
42958 * src/SDCCast.c (decorateType): partial fix for RFE 1475769,
42959 remove cast to same type
42960 * src/SDCCast.c (decorateType): fix for RFE 1475742,
42961 optimize 'ifx (op == 0)' resp. 'ifx (op != 0)'
42963 * link/z80/Makefile: removed, they have moved to
42966 * configure.in: replaced duplicate message about ucsim by missing sdcpp
42967 * install-sh: fix bug #1204398 by setting umask 0022
42968 * device/lib/Makefile: separate build of z80 and gbz80 lib
42970 2006-04-24 Bernhard Held <bernhard AT bernhardheld.de>
42972 Enabled VPATH feature: changed nearly all Makefiles (149 files).
42973 See sdccman.lyx '2.4.10 VPATH feature' about how to use it.
42975 One basic decision: e.g. src/clean.mk includes further files. In order
42976 to make this work there are two solutions:
42977 - rename another dozen clean.mk to clean_in.mk, add srcdir to them and
42978 run configure on them. This way they can use
42979 'include $(srcdir)/port-clean.mk'
42980 - always include clean.mk by the Makefile at the same level. To avoid
42981 that `make clean` tries to include and build Makefile.dep the
42982 MAKECMDGOALS are examined (see e.g. src/Makefile.in). This has been
42983 implemented, because now even `make uninstall` doesn't create
42984 Makefile.in. clean.mk could be eliminated by pasting it in
42987 * debugger/mcs51/Makefile.in: build own objects from library sources
42988 (SLIB, SDCC) in current directory
42990 * configure, configure.in: renamed --disable-device-lib-build in
42991 --disable-device-lib; added --enable-doc, the required tools are
42992 searched by configure; added result message; the toolchain for the
42993 belonging ports are now only built, if the port is enabled.
42995 * support/regression/*: all output is written in directory gen, because
42996 the fwk and ports directories don't livet in the build tree using vpath
42998 * doc/sdccman.lyx: renamed --disable-device-lib-build to
42999 --disable-device-lib, added --enable-doc, added section VPATH
43001 * sim/ucsim/configure.in,
43002 * sim/ucsim/configure.in: hc08 couldn't be disabled, now hc08 and
43003 z80 are enabled by default
43005 2006-04-24 Raphael Neider <rneider AT web.de>
43007 * src/pic/device.c (pic14_assignConfigWordValue): remember assignments
43008 to config word, "pic14_"-prefixed some extern functions
43009 (pic14_emitConfigWord): emit __config directive(s) if assignment to
43010 config word has been found
43011 * src/pic/device.h: added prototypes
43012 * src/pic/pcode.c: added "pic14_"-prefix where needed
43013 * src/pic/ralloc.c (IS_CONFIG_ADDRESS,pic14_assignRegisters): cosmetic
43015 * src/pic/glue.c (pic14_constructAbsMap): handle assignments to config
43017 (pic14emitRegularMap): ignore config words,
43018 (pic14createInterruptVect): moved generating __config directives away
43019 (picglue): have __config directives emitted
43021 2006-04-24 Borut Razem <borut.razem AT siol.net>
43023 * doc/Makefile: sync with nightly build makefile
43025 2006-04-24 Raphael Neider <rneider AT web.de>
43027 * src/pic/pcoderegs.c (OptimizeRegUsage): do not optimize
43028 registers that have not been assigned proper liveranges,
43029 fixes #1469504 and #1474602,
43030 (pCodeRegOptimizeRegUsage): fixed typo in comment
43032 2006-04-24 Borut Razem <borut.razem AT siol.net>
43034 * device/examples/main8051.c: deleted - it was removed from CVS
43035 24.mar.2000 and after that modified 18.feb.2001, so it reappered
43036 after the transition to Subversion
43037 * src/SDCCalloc.h: deleted - it was removed from CVS
43038 3.feb.2001 and after that modified 18.feb.2001, so it reappered
43039 after the transition to Subversion
43040 * sim/ucsim/cpu.gif, sim/ucsim/interrupt.gif, sim/ucsim/new.gif,
43041 sim/ucsim/serial1.gif, sim/ucsim/serial2.gif,
43042 sim/ucsim/term_cpuopt.gif, sim/ucsim/timers.gif, sim/ucsim/wins.gif,
43043 sim/ucsim/post.jpg, sim/ucsim/UCsim.jpg: corrected
43045 2006-04-22 Maarten Brock <sourceforge.brock AT dse.nl>
43047 * as/asx8051.dsp: added mcs51/strcmpi.h
43048 * as/hc08/as_hc08.dsp: added asm.h, m6808.h, strcmpi.h
43049 * as/hc08/aslink.h: updated lnksect prototype
43051 * as/mcs51/asm.h: added a_addr to struct area and s_org to struct sym
43052 * as/hc08/asmain.c,
43053 * as/mcs51/asmain.c (asmbl): init dot.s_org for S_ORG,
43054 (newdot): handle A_ABS
43056 * as/mcs51/asout.c (outarea): output address
43057 * as/hc08/lkaomf51.c,
43058 * as/mcs51/lkaomf51.c: disabled unused array UsageType
43059 * as/hc08/m08pst.c,
43060 * as/mcs51/i51pst.c,
43061 * as/z80/z80pst.c: "ABS" is not A_OVR
43062 * as/hc08/lkarea.c (newarea): read a_addr,
43063 (lnkarea): added codemap array, sort absolute areas to the front,
43064 combine all GSINITx/GSFINAL,
43065 (find_empty_space, allocate_space): new functions,
43066 (lnksect): return next address, handle absolute sections
43067 * as/mcs51/lkarea.c (newarea): read a_addr,
43068 lnksect2 prototype changed,
43069 (lnkarea2): define codemap unsigned, combine all GSINITx/GSFINAL,
43070 (find_empty_space, allocate_space): new, factored out of lnksect2,
43071 (lnksect2): return next address, handle absolute sections
43072 * as/hc08/lkhead.c,
43073 * as/mcs51/lkhead.c (newhead): head is absolute but not overlay
43074 * as/hc08/lklibr.c (addfile, fndsym),
43075 * as/mcs51/lklibr.c (addfile, buildlibraryindex, fndsym): prevent
43076 index out of range and detect both '\' and '/'
43077 * device/include/mcs51/c8051f200.h: added _XPAGE, removed bad comment
43078 * device/include/stdbool.h: removed SDCC_ds390 from check to pass
43079 regression tests (ds390 cannot return bool yet)
43080 * doc/sdccman.lyx: changed version number, document changed --no-peep,
43081 document critical interrupts on z80, document changed SDCC define
43082 * src/asm.c (_asxxxx_mapping): fixed .org directive,
43083 (_a390_mapping): added .org directive
43084 * src/hc08/gen.c (transferAopAop): made bytemask log to fix warning,
43085 (genMultOneByte): fixed warnings
43086 * src/hc08/hc08.dsp: lowered warning level to 2 to suppress pedantic
43088 * src/pic16/device.c: removed newReg prototype, removed BYTE_IN_LONG
43089 * src/pic16/gen.c (pic16_popGetLabel): made parameter key signed,
43090 (pic16_genLeftShiftLiteral, genRightShiftLiteral): fixed warnings
43091 * src/pic16/gen.h: changed prototype for pic16_popGetLabel
43092 * src/pic16/main.c: removed newReg prototype
43093 * src/pic16/pcode.c,
43094 * src/pic16/pcode.h (pic16_emitDB): changed parameter c to int to fix
43096 * src/pic16/pic16.dsp: lowered warning level to 2 to suppress pedantic
43098 * src/pic16/ralloc.c
43099 * src/pic16/ralloc.h (newReg): changed type to int and size to unsigned
43101 * src/pic/pcode.c (allocInternalRegister): changed parameter optype
43102 from short to PIC_OPTYPE
43103 * src/pic/pic.dsp: lowered warning level to 2 to suppress pedantic ones
43104 * src/pic/ralloc.c (newReg, allocInternalRegister): changed parameter
43105 optype from short to PIC_OPTYPE
43106 * src/port.h: made int_size unsigned to fix warnings
43107 * src/SDCC.y: fixed warning on MSVC
43108 * src/SDCCicode.c (getArraySizePtr): return unsigned int
43109 * src/SDCCopt.c (convertToFcall): fixed warnings
43110 * src/SDCCsymt.h: removed double prototype for genSymName
43111 * src/xa51/ralloc.c (allocReg): made size unsigned int, type int and
43112 offset int to fix warnings
43114 2006-04-22 Borut Razem <borut.razem AT siol.net>
43116 * doc/sdccman.lyx, */Makefile, */Makefile.in:
43117 references to CVS replaced with Subversion
43119 2006-04-21 Borut Razem <borut.razem AT siol.net>
43121 * doc/sdccman.lyx, */Makefile, */Makefile.in:
43122 references to CVS replaced with Subversion
43124 2006-04-19 Borut Razem <borut.razem AT siol.net>
43126 * src/version.awk: adapted for svn
43127 * /asxxxx/asxhtml/*.gif: set property svn:mime-type to image/gif
43128 sim/ucsim/doc/*.gif: set property svn:mime-type to image/gif
43129 sim/ucsim/doc/*.jpg: set property svn:mime-type to image/jpeg
43130 /binutils-avr/etc/*.vi, *.jin: removed all properties
43131 support/scripts/sdcc.ico: set property svn:mime-type to image/x-icon
43133 2006-04-19 Borut Razem <borut.razem AT siol.net>
43135 * CVS to Subversion migration completed
43137 2006-04-18 Borut Razem <borut.razem AT siol.net>
43139 * support/scripts/sdcc.nsi: removed unexisting ${DEV_ROOT}/lib/pic/*.o,
43140 ${DEV_ROOT}/lib/src/pic/libdev/*.S, ${DEV_ROOT}/lib/src/pic/libdev/*.inc
43142 2006-04-17 Borut Razem <borut.razem AT siol.net>
43144 * device/include/Makefile.in: added pic/*.inc to the installation
43146 2006-04-15 Bernhard Held <bernhard AT bernhardheld.de>
43148 * support/regression/collate-results.py: fixed output in case of
43150 * support/regression/generate-cases.py: fixed splitting of pathnames
43152 * as/hc08/lklibr.c (addfile),
43153 * as/mcs51/lklibr.c (addfile): fixed off-by-one bug
43155 2006-04-11 Raphael Neider <rneider AT web.de>
43157 * src/pic16/gen.c (getFreePtr, pic16_popRegFromString),
43158 * src/pic16/ralloc.c (pic16_allocregWithName): removed debug output
43159 * src/pic16/pcode.c (assignValnums): fixed #1460578
43161 2006-04-11 Raphael Neider <rneider AT web.de>
43163 * device/lib/pic/libdev/*.c,
43164 * device/include/pic/*.h: replaced sfr and data with __sfr and __data,
43165 fixes #1468739, enables compilation in --std-c99 mode
43166 * support/scripts/inc2h.pl: emit __sfr/__data instead of sfr/data
43168 2006-04-11 Raphael Neider <rneider AT web.de>
43170 * src/pic/device.c (find_device): removed debug output
43171 (list_valid_pics): enabled verbose listing of supported devices
43172 * device/include/stdbool.h: define bool as char for pic14/16 as well
43174 2006-04-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43176 * src/SDCC.y: allow using brackets here: "__interrupt (1) __using (1)"
43178 2006-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
43180 * .version: bumped version to 2.5.6
43181 * src/pic/ralloc.c (newReg): MSVC doesn't support __builtin_return_address
43183 2006-04-06 Raphael Neider <rneider AT web.de>
43185 * .version: bumped version to 2.5.6 (pic14 ABI changed)
43186 * src/SDCCmain.c: add -DSDCC_PROCESSOR=<id> for pic14 port
43187 * src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap,
43188 pic14emitRegularMap,pic14emitMaps): moved output for absolute symbols to
43189 pic14_constructAbsMap
43190 (pic14printPublics): declare absolute global symbols as global
43191 (pic14createInterruptVect),
43192 * src/pic/ralloc.c (IS_CONFIG_ADDRESS): support second config word,
43193 (newReg): assume new registers unused, use correct name in
43194 hashtable (reg->name instead of name), more debugLog output
43195 * src/pic/device.h (PIC_device): added fields for verbose output
43196 * src/pic/device.c: moved device definition to pic14devices.txt,
43197 added routines for runtime parsing of pic14devices.txt,
43198 added support for second config word
43199 * src/pic/main.c (_process_pragma): removed #pragma maxram,
43200 (_pic14_keywords): no longer accept "bit" and "sbit" keywords
43201 (_pic14_initPaths): add search paths with "pic" suffix (not "pic14")
43202 (_pic14_parseOptions): moved pCodeInitRegisters here
43203 (_pic14_do_link): add "pic$(ARCH).lib" to linker arguments
43204 * src/pic/pcode.c (AnalyzeBanking): bail out on unset processor,
43205 (pCodeInitRegisters): rewrapped comments, perpared new approach to
43206 handling the pseudo stack
43207 * device/lib/Makefile.in: ignore failures in objects-pic16,
43208 * device/lib/pic/{configure,configure.in,Makefile}: added libdev/
43209 * device/lib/pic/NEWS: document new dependency on picXXX.lib
43210 * device/lib/pic/Makefile.subdir,
43211 * device/lib/pic16/Makefile.subdir: improved clean rules
43212 * device/lib/pic/libdev/: NEW, pic14 device libraries
43213 * device/lib/pic/libsdcc/_gptr{get,put}{1,2,3,4}.S: use _X not X
43214 * device/lib/pic/libsdcc/macros.inc: use _X not X, declare default SFRs
43215 * device/include/Makefile.in: create subdir and install pic14 headers
43216 * device/include/pic/p16f_common.inc: removed unused declarations
43217 * device/include/pic/pic16*.h: added header files for 100+ 14 bit
43218 PICs from inc2h.pl v1.6,
43219 replaced BIT_AT macros with struct declarations
43220 * device/include/pic/pic14devices.txt: definition of supported devices,
43221 all above improvements contributed by Zik Saleeba, thanks
43222 * support/scripts/inc2h.pl: removed BIT_AT, replaced with structs
43223 * support/scripts/sdcc.nsi: also install pic14 device libraries and
43226 2006-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
43228 * device/include/mcs51/c8051f410.h: added interrupt numbers,
43229 * device/include/mcs51/c8051f200.h: old SiLabs mcu completes the list,
43230 thanks to Charles Olds
43232 2006-04-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43234 * debugger/mcs51/cmd.c (infoRegisters): show return address on stack
43236 2006-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
43238 * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug 1464657
43239 * src/mcs51/gen.c (genJumpTab): fixed bug in medium model
43240 * support/regression/bug1464657.c: added, new test
43242 2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
43244 * src/SDCCmain.c (preProcess): implemented RFE 1449908, define SDCC as the
43247 2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
43249 * src/SDCCpeeph.c (initPeepHole): implemented RFE 1460196, when both
43250 --no-peep and --peep-file <file> are used don't use default rules but
43253 2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
43255 * src/mcs51/gen.c (genCall): fixed bug 1457608
43257 2006-03-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43259 * doc/sdccman.lyx: reverted to version 1.129 of december as my latest
43260 changes seem to cause (trigger?) problems with the build system.
43262 2006-03-29 Maarten Brock <sourceforge.brock AT dse.nl>
43264 * src/SDCCpeeph.c (operandsLiteral): new, added,
43265 (callFuncByName): inserted operandsLiteral
43266 * src/mcs51/peeph.def: reenabled 132.e, added extra check to 132.x
43268 2006-03-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43270 * doc/sdccman.lyx: added paragraph "Use of SDCC in Education"
43271 * src/mcs51/peeph.def: disabled rule 132.e fixing bug #1453093
43273 2006-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
43275 * src/z80/gen.c (genFunction, genEndFunction): fixed bug 1160666,
43276 implemented patch 1120823 Thanks to Willy De la Court (normal
43277 interrupts need an interrupt number now if they are made critical),
43278 and enabled nesting of critical functions though not for gbz80
43279 (genCritical, genEndCritical): added functions
43280 (genZ80Code): added cases for CRITICAL and ENDCRITICAL
43281 * src/z80/mappings.i: added "ei" to all mappings
43283 2006-03-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43285 * sim/ucsim/cmd.src/newcmdcl.h: applied patch fixing GCC 4.1 build
43286 submitted by the Debian SDCC maintainer Aurelien Jarno:
43287 "Credits goes to Martin Michlmayr, who rebuilt the whole Debian
43288 archive with gcc 4.1 on mips and wrote the patch"
43290 2006-03-16 Raphael Neider <rneider AT web.de>
43292 * src/pic16/genarith.c (genAddLit): simplified and fixed case where
43293 the left operand is shorter than the result (c* = lit-c* + int),
43295 * src/pic16/gen.c (genRightShift): check IS_SYMOP before accessing
43298 2006-03-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
43300 * src/.version: increased version number to 2.5.5
43301 * src/SDCCmain.c (linkEdit): do not test for PIC16 target since, PIC16
43302 linking is done manually in pic16 port's _linkEdit,
43303 * src/SDCCsymt.c (compStructSize): for target PIC16 and shell variable
43304 PIC16_PACKED_BITFIELDS, compact bitfield structures as much as possible,
43305 * src/pic16/gen.c (aopForSym): when direct register name is WREG then
43306 allocate asmop as AOP_ACC,
43307 (aopForRemat): added parameter 'bool result' in function declaration,
43308 (pic16_aopGet): return AOP_ACC when accessing WREG,
43309 (pic16_popGetTempReg): minor modification,
43310 (pic16_popRegFromIdx): first try with 'pic16_regWithIdx' then with
43311 'pic16_allocWithIdx',
43312 (genPcall): removed ftype, usage of OP_SYM_TYPE asserted error when
43313 calling function in absolute addresses,
43314 (genAssign): take into account AOP_ACC asmop,
43315 * src/pic16/pcode.c (pic16_newpCodeOpReg): minor modifications,
43316 * src/pic16/pcoderegs.c: some debug functions and lines added,
43317 * src/pic16/ralloc.c (decodeRegType): added but commented out,
43318 * (pic16_typeRegWithIdx): search 'pic16_dynInternalRegs' for given
43320 * (pic16_findFreeReg, pic16_findFreeRegNext): allocate new register via
43321 call to allocReg, not by manually allocating a new one,
43322 (pic16_assignRegisters): now before going through the register
43323 allocating functions mark all registers as free. This eliminates some
43324 side effects resulting from peephole parser done earlier in the backbone
43326 2006-03-13 Maarten Brock <sourceforge.brock AT dse.nl>
43328 * src/SDCCicode.c (geniCodeLogic),
43329 * src/SDCCast.c (decorateType): applied patch by Bernhard for rfe 1422617
43331 2006-03-10 Maarten Brock <sourceforge.brock AT dse.nl>
43333 * src/mcs51/gen.c (sameReg): new, checks if two aop regs are the same,
43334 (genSend): bugfix, do not allocate and free twice,
43335 (shiftRLong): handle partially overlapping aops
43336 * support/regression/tests/bitopcse.c: fixed warning redefined idata
43338 2006-03-08 Borut Razem <borut.razem AT siol.net>
43340 * support/regression/fwk/include/testfwk.h: added defines for xdata, idata
43343 2006-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
43345 * support/regression/tests/bug1409955.c: new, added
43346 * src/mcs51/gen.h: changed asmop.freed:1 to asmop.allocated for tracking
43347 * src/mcs51/gen.c (newAsmop): set asmop.allocated to 1,
43348 (aopForSym, aopOp): increment asmop.allocated if reused,
43349 (freeAsmop): decrement asmop.allocated and check for zero instead of
43351 (freeForBranchAsmop): use asmop.allocated instead of asmop.freed,
43352 (genNot, genCpl, genUminus, genMinus, genMult, genDiv, genMod, genCmpGt,
43353 genCmpLt, genAndOp, genOrOp, genAnd, genOr, genXor, genRRC, genRLC,
43354 genGetHbit, genGetAbit, genGetByte, genGetWord, genSwap,
43355 genLeftShiftLiteral, genLeftShift, genRightShiftLiteral,
43356 genSignedRightShift, genRightShift, genDataPointerGet,
43357 genPagedPointerGet, genFarPointerGet, genCodePointerGet,
43358 genGenPointerGet, genDataPointerSet, genAssign, genCast): free asmop's
43359 in reverse order from allocation,
43360 (genPlus, genCmpEq): free asmop's in reverse order from allocation and
43361 added swappedLR to keep track
43362 * support/regression/fwk/include/testfwk.h: added defines for xdata, idata,
43363 pdata & code for GCC, z80, gbz80 & hc08
43364 * support/regression/tests/zeropad.c: moved defines to testfwk.h
43366 2006-03-08 Raphael Neider <rneider AT web.de>
43368 * src/pic16/main.c (_hasNativeMulFor): fixed bug #1444425
43370 2006-03-07 Maarten Brock <sourceforge.brock AT dse.nl>
43372 * device/include/mcs51/c8051f410.h: new SiLabs mcu
43373 * src/ds390/peeph.def: disabled 186.d and 227.a as fix for #1434401
43374 * support/regression/tests/array.c: added parenthesis, made arrays unsigned
43376 2006-03-06 Borut Razem <borut.razem AT siol.net>
43378 * support/regression/ports/pic16/spec.mk: link with libm18f.lib,
43379 made the linker quiet
43381 2006-03-06 Vangelis Rokas <vrokas AT users.sourceforge.net>
43383 * src/pic16/gen.c (genPcall): fixed bug #1443644
43384 * src/pic16/device.h (struct pic16_options_t): added 'int CATregs' flag
43385 which dumps before the function entry point a data byte which represents
43386 the number of the local variables used by the specified function, added
43387 'xinst' for initial support for Extended Instruction Support,
43388 * src/pic16/gen.c (aopForSym, pic16_aopGet): beautifications,
43389 (pic16_testStackOverflow): do not prefix GSTACK_TEST_NAME with
43390 port->fun_prefix anymore (may change later),
43391 (genFunction, genEndFunction): do not store/restore local registers for
43392 _main (this should take care the --main-return command line option in
43394 (genOr): removed some legacy pic-port instructions,
43395 * src/pic16/genarith.c (genAddLit): re-enabled old code because
43396 performing operations with SFR's causes data to be written more than
43397 once to each SFR. Perhaps SFRs should be handled in special cases...
43398 * src/pic16/glue.c: macros BIG_ENDIAN and BYTE_IN_LONG are moved to
43400 * src/pic16/main.c (_process_pragma): stack bound checking did not take
43401 into account for stack starting position,
43402 (struct OPTIONS pic16_optionsTable): added command line argument
43403 --extended or -y for Extended Instruction Support,
43404 * src/pic16/ralloc.c (pic16_decodeOp): added case for FUNCTION,
43405 (deassignLRs): *** perhaps the most important change, old 'for' code
43406 (commented out for reference), didn't account for some registers which
43407 were left marked 'not free' after a pointer operation. The change
43408 reduces register usage a lot in some cases
43410 2006-03-04 Borut Razem <borut.razem AT siol.net>
43412 * support/regression/ports/hc08/spec.mk: remove *.asm in traget
43414 * support/regression/tests/bug-524697.c: decreased array size for
43415 mcs51 to fit into the internal RAM
43416 * support/regression/Makefile.in: a little bit more verbose
43418 2006-03-03 Borut Razem <borut.razem AT siol.net>
43420 * support/regression/fwk/lib/testfwk.c,
43421 support/regression/fwk/include/testfwk.h: introduced function
43422 _prints(), nonrecursive _printn(), call _initEmu() from main()
43423 * support/regression/ports/gbz80/support.asm,
43424 support/regression/ports/ucz80/support.asm,
43425 support/regression/ports/z80/support.asm,
43426 support/regression/ports/ds390/support.c,
43427 support/regression/ports/hc08/support.c,
43428 support/regression/ports/host/support.c,
43429 support/regression/ports/mcs51/support.c,
43430 support/regression/ports/xa51/support.c: added empty _initEmu()
43432 * support/regression/ports/pic16/gpsim.cmd,
43433 support/regression/ports/pic16/spec.mk,
43434 support/regression/ports/pic16/support.c,
43435 support/regression/Makefile.in: added pic16 regression test
43437 2006-03-01 Raphael Neider <rneider AT web.de>
43439 * src/pic16/gen.c (genPcall,pic16_derefPtr,genGenPointerGet,
43440 genConstPointerGet): use safe way of generating MOVFF to cover
43441 literals as well as registers, fixes bug #1440527
43442 * src/pic16/glue.c (pic16_printIvalBitFields): prevent NULL pointer
43444 (pic16_printIvalUnion,pic16_isUnion): NEW, handle initialized unions
43445 more correctly, fixes bug #1232186
43446 (pic16_printIval): use pic16_printIvalUnion() for initialized unions
43447 * src/pic16/main.c (_pic16_linkEdit): reorder linker arguments to make
43448 gplink guess the correct processor in more cases, applied patch
43449 from Till Riedel attached to and fixing bug #1436552
43451 2006-02-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43453 * support/regression/tests/array.c: added, contains check for #1434401
43454 * src/mcs51/peeph.def: disabled 186.d as temporary fix for #1434401
43456 2006-02-16 Maarten Brock <sourceforge.brock AT dse.nl>
43458 * device/include/mcs51/at89s8253.h: new, thanks to Krzysztof Polomka
43459 * device/include/mcs51/at89S8252.h: fixed, thanks to Krzysztof Polomka
43460 * device/include/mcs51/c8051f326.h,
43461 * device/include/mcs51/c8051f340.h: new SiLabs mcu's
43462 * device/include/mcs51/c8051f000.h,
43463 * device/include/mcs51/c8051f018.h,
43464 * device/include/mcs51/c8051f020.h: used () with __at, renamed IDLE,STOP to
43465 PCON_IDLE,PCON_STOP and added sfr16 definitions
43467 2006-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
43469 * src/mcs51/gen.c (genPlus, genMinus, genMult, genGetAbit, genGetByte,
43470 genGetWord): fixed bug 1409955
43472 2006-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
43474 * device/include/hc08/mc68hc908gp32.h,
43475 * device/include/hc08/mc68hc908jb8.h: removed AWUL, added PTA6 & PTA7
43477 2006-02-13 Maarten Brock <sourceforge.brock AT dse.nl>
43479 * src/SDCCast.c (constExprValue): return NULL if not a value
43480 * src/SDCCglue.c (printIvalArray): fixed bug 1225568
43481 * src/hc08/gen.c(genUnpackBits, genUnpackBitsImmed): fixed bug 1019480
43482 * support/regression/tests/bitfields.c: enabled signed bitfield for all
43484 2006-02-13 Borut Razem <borut.razem AT siol.net>
43486 * src/regression/ptrarg.c: added, fails due to bug #1430967
43487 * src/regression/Makefile: ptrarg.c added, ...
43489 2006-02-12 Maarten Brock <sourceforge.brock AT dse.nl>
43491 * src/z80/gen.c (genUnpackBits): fixed bug 1019480
43492 * support/regression/tests/bitfields.c: enabled signed bitfield for z80
43494 2006-02-11 Borut Razem <borut.razem AT siol.net>
43496 * src/SDCCmain.c: Added "sdcc: Calling linker..." if --verbose,
43497 print "Processor: xxx" message to stdout only if --verbose
43499 2006-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
43501 * src/SDCCglue.c (printIvalStruct): fixed bug 1426356 union initializer
43502 * support/regression/tests/bug1426356.c: added
43503 * support/regression/tests/bitfields.c: removed 2 tests
43505 2006-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
43507 * device/include/mcs51/at89c51snd1c.h: updated comments, see patch 1428901
43508 * device/include/mcs51/c8051f330.h,
43509 * device/include/mcs51/c8051f350.h: used () with __at, renamed IDLE,STOP to
43510 PCON_IDLE,PCON_STOP and added sfr16 definitions
43511 * device/lib/_divsint.c,
43512 * device/lib/_divuint.c,
43513 * device/lib/_divulong.c,
43514 * device/lib/_divulong.c: renamed a,b to x,y to avoid confusion, fixed
43515 register bank bug for small stackauto
43517 2006-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
43519 * support/regression/fwk/lib/timeout.c: include <stdlib.h> for exit()
43521 2006-02-08 Maarten Brock <sourceforge.brock AT dse.nl>
43523 * support/regression/ports/mcs51-xstack-auto/spec.mk: forgot -I(...)/mcs51
43524 * all.dsp: corrected several bin paths
43525 * device/include/mcs51/c8051f120.h,
43526 * device/include/mcs51/c8051f300.h,
43527 * device/include/mcs51/c8051f310.h: used () with __at and renamed IDLE,STOP
43528 to PCON_IDLE,PCON_STOP
43529 * device/include/mcs51/c8051f320.h: see above, also added sfr16 definitions
43530 * device/lib/printf_large.c (output_float): fixed bug 1388703
43531 * support/regression/tests/bug1057979.c: added test for bug 1388703
43533 2006-02-08 Raphael Neider <rneider AT web.de>
43535 * src/pic/pcode.c (pciTRIS): fixed typo,
43536 (BuildFlow,LinkFlow_pCode): added (disabled) debug output,
43537 (LinkFlow): fixed handling of flows that end in a call,
43538 (ReuseReg): perform safety check earlier
43539 * src/pic/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed
43540 to work with flows at the beginning of a pBlock,
43541 fixes #1426557 (Symbol not previously defined),
43542 (pic14_ReMapLiveRanges): NEW, destroy and rebuild register
43544 (RemoveUnusedRegisters): update register usage info
43545 * src/pic/ralloc.c (newReg): prevent duplicate registers from being
43546 created, reuse existing ones instead
43547 * src/pic/gen.c (genPcall): fixed #1424719
43549 2006-02-07 Bernhard Held <bernhard AT bernhardheld.de>
43551 * link/z80/lkmain.c,
43552 * link/z80/lklex.c,
43553 * link/z80/lkdata.c,
43554 * link/z80/aslink.h: fixed build on current cygwin:
43555 replaced getline() by lk_getline()
43557 2006-02-01 Borut Razem <borut.razem AT siol.net>
43559 * src/regression/add.c, src/regression/add2.c, src/regression/add3.c,
43560 src/regression/add4.c, src/regression/and1.c, src/regression/and2.c,
43561 src/regression/arrays.c, src/regression/b.c, src/regression/bank1.c,
43562 src/regression/bool1.c, src/regression/bool2.c,
43563 src/regression/bool3.c, src/regression/call1.c,
43564 src/regression/compare.c, src/regression/compare10.c,
43565 src/regression/compare2.c, src/regression/compare3.c,
43566 src/regression/compare4.c, src/regression/compare5.c,
43567 src/regression/compare6.c, src/regression/compare7.c,
43568 src/regression/compare8.c, src/regression/compare9.c,
43569 src/regression/configword.c, src/regression/for.c,
43570 src/regression/inline.c, src/regression/mult1.c,
43571 src/regression/nestfor.c, src/regression/or1.c,
43572 src/regression/pointer1.c, src/regression/ptrfunc.c,
43573 src/regression/rotate1.c, src/regression/rotate2.c,
43574 src/regression/rotate3.c, src/regression/rotate4.c,
43575 src/regression/rotate5.c, src/regression/rotate6.c,
43576 src/regression/rotate7.c, src/regression/string1.c,
43577 src/regression/struct1.c, src/regression/sub.c,
43578 src/regression/sub2.c, src/regression/switch1.c,
43579 src/regression/while.c, src/regression/xor.c,
43580 src/regression/create_stc, src/regression/simulate,
43581 src/regression/rt.sh, src/regression/Makefile: reenabled Scott's PIC14
43583 * src/regression/gpsim_assert.h: added
43585 2006-01-28 Bernhard Held <bernhard AT bernhardheld.de>
43587 * src/ds390/gen.c (unsaveRegisters): fixed literal function pointer
43588 ((void (code *) (void)) 0) ();
43590 * as/hc08/aslink.h,
43592 * as/hc08/asmain.c,
43593 * as/hc08/lkdata.c,
43595 * as/hc08/lkmain.c,
43596 * as/mcs51/aslex.c,
43597 * as/mcs51/aslink.h,
43599 * as/mcs51/asmain.c,
43600 * as/mcs51/lkdata.c,
43601 * as/mcs51/lklex.c,
43602 * as/mcs51/lkmain.c,
43605 * as/z80/asmain.c: fixed build on current cygwin:
43606 replaced getline() by as_getline()
43608 2006-01-27 Bernhard Held <bernhard AT bernhardheld.de>
43610 * src/SDCC.y: fixed bug #716242, exchanged pointer and function
43611 declarator in the symbol chain
43613 * src/SDCCsymt.c (processFuncPtrArgs): added, removes "(void)"
43614 parameter list for function pointers
43615 * src/SDCCast.c (decorateType): added call of processFuncPtrArgs()
43616 * support/regression/tests/bug-716242.c: added
43618 2006-01-20 Bernhard Held <bernhard AT bernhardheld.de>
43620 * src/SDCCicode.c (geniCodeAdd, geniCodeArray): use char for array
43622 * src/SDCCast.c (getLeftResultType): 255 fits in char, not 256
43624 2006-01-18 Bernhard Held <bernhard AT bernhardheld.de>
43626 * src/SDCCast.c (backPatchLabels): fixed bug #1408066: made it
43627 inifinitely recurseable, added static
43628 * support/regression/tests/bug-1408066.c: added
43630 2006-01-17 Bernhard Held <bernhard AT bernhardheld.de>
43633 * src/SDCCicode.c (newiTempPreheaderLabel, newiTempLoopHeaderLabel):
43634 renamed, added possibility to create "postLoopLbl"-labels
43635 * src/SDCCBBlock.c (iCodeBreakDown): renamed newiTempPreheaderLabel to
43636 newiTempLoopHeaderLabel
43637 * src/SDCCloop.c (newInduction, newRegion, backEdges, insertIntoLoop,
43638 isNotInBlocks, addToExitsMarkDepth, createLoop, dominatedBy,
43639 addDefInExprs, assignmentsToSym, isOperandInvariant, pointerAssigned,
43640 hasNonPtrUse, loopInvariants, addressTaken, findInduction,
43641 findDefInRegion, mergeRegions, ifMerged, mergeInnerLoops): made static,
43642 (pinduction, pregion, hasIncomingDefs, findLoopEndSeq): disabled,
43643 (basicInduction): fixed bug #136564, made static,
43644 (loopInduction): changed parameter of basicInduction, made static,
43645 (addPostLoopBlock): added
43646 * src/SDCCloop.h: removed backEdges, pregion, pinduction,
43647 loopOptimizations, addressTaken, findDefInRegion, hasIncomingDefs,
43649 * support/regression/tests/bug-136564.c: added
43650 * support/regression/ports/mcs51-xstack-auto/spec.mk: added
43651 --std-sdcc99 to LIBSDCCFLAGS
43653 2006-01-16 Bernhard Held <bernhard AT bernhardheld.de>
43655 * src/SDCCicode.c (geniCodeIfx): fix bug 1406131: always false
43657 * support/regression/tests/bug-1406131.c: added
43659 2005-12-31 Bernhard Held <bernhard AT bernhardheld.de>
43661 * src/SDCCast.c (decorateType): fix promotion of unary minus
43662 * src/SDCCsymt.c (computeType): beautified
43663 * src/SDCCval.c (cheapestVal): beautified, old non-Ansi version removed,
43664 (valUnaryPM, valComplement): fix sign and promotion,
43665 (valNot): ANSI: result type is int (SDCC: unsigned char)
43666 * support/regression/tests/uminus.c: speedup by removing superflous
43668 * support/regression/tests/onebyte.c: added promotion and signedness
43669 tests for unary minus
43670 * support/regressions/tests/bug-477927.c: disable warning about
43671 uninitialized variables
43672 * support/regression/tests/not.c: added
43674 2005-12-28 Bernhard Held <bernhard AT bernhardheld.de>
43676 * device/lib/Makefile.in: added --std-sdcc99 to CFLAGS
43677 * src/mcs51/gen.c (gen51Code): show final register usage after
43678 fillGaps in asm with --i-code-in-asm
43679 * src/SDCClrange.c (sequenceiCode, setLiveFrom, setLiveTo,
43680 markLiveRanges, markAlive, findNextUseSym, findNextUse, unvisitBlocks,
43681 incUsed, rliveClear, adjustIChain): made static,
43682 (setFromRange): excluded because it's unused,
43683 (findPrevUseSym, markWholeLoop): added,
43684 (findPrevUse): rewritten; fixes bug 895992; now a complete search
43685 through all branches of predecessors enables sdcc to emit the warning
43686 W_LOCAL_NOINIT, marking of outermost loop was incomplete,
43687 (rlivePoint): made static, added parameter emitWarnings which is only
43688 true during the first run out of two,
43689 (findRecursiveSucc, findRecursivePred): removed,
43690 (computeLiveRanges): made static, added parameter emitWarnings,
43691 (dumpIcRlive): added for debugging only
43692 * src/SDCClrange.h: added boolean parameter to computeLiveRanges(),
43693 removed prototype of setFromRange()
43694 * src/SDCCopt.c (eBBlockFromiCode): added new parameter emitWarnings
43695 in call of computeLiveRanges()
43696 * support/regression/tests/bug-895992.c: added
43697 * support/regression/tests/bug-971834.c: added
43698 * support/valdiag/tests/bug-895992.c: added
43699 * support/valdiag/tests/bug-971834.c: added
43701 2005-12-18 Raphael Neider <rneider AT web.de>
43703 * src/pic16/gen.c: added IS_DIRECT macro for "direct" operands,
43704 (genUnpackBits): improved code for direct operands,
43705 (genPackBits): improved code for literal assignment to bitfields
43706 and for direct destination operands (no FSR indirection),
43707 prevented redundant AND, fixes #1362800,
43708 (AccLsh): added parameter to disable masking of the result
43709 * src/pic16/pcode.c (pic16_safepCodeUnlink): fixed to work with
43710 skip instructions with side-effects (like incfsz),
43711 (pic16_pCodeIsAlive): suppress verbose output unless pcode_verbose,
43712 * src/pic16/pcoderegs.c (RemoveRegsFromSet): removed annoying warning
43713 * device/lib/pic16/Makefile.common.in: added --asm=@GPASM@ to CC,
43716 2005-12-11 Bernhard Held <bernhard AT bernhardheld.de>
43718 * src/SDCCicode.c (geniCodeAssign): fixed bug 11369874, don't use
43719 volatile variables as spill location
43721 2005-12-10 Bernhard Held <bernhard AT bernhardheld.de>
43723 * src/SDCCcse.c (findCheaperOp): fixed bug 1376320, copy signedness to
43725 * support/regression/tests/bug-1376320.c: added
43727 2005-12-08 Raphael Neider <rneider AT web.de>
43729 * src/pic/device.c: renamed is_shared to pic14_is_shared
43730 * src/pic/gen.c (genIfx): re-enabled handling of sbits
43731 * src/pic/glue.c (emitSymbolToFile): added workaround for sbits,
43732 (is_valid_identifier): added for above workaround
43734 2005-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
43736 * device/lib/Makefile.in: fixed to enable port-specific-objects
43737 * device/lib/ds390/i2c390.c (BitOutI2C): optimized by making bout unsigned
43738 char, thanks Hubert Sack
43739 * doc/sdccman.lyx: documented --xstack-loc,
43740 elaborated a bit more on interrupts and pitfalls,
43741 removed "setjmp/longjmp unsupported",
43742 documented some unsupported C99 features
43743 * src/SDCCmain.c (linkEdit): adapted default lib path for --stack-auto
43744 * src/SDCCpeeph.c (readRules): inserted patch 1367130 for finding missing
43745 if, thanks Hubert Sack
43746 * src/mcs51/gen.c (genEndFunction): enabled "pop psw" for regbank 0 isr
43747 * support/regression/Makefile.in: test-mcs51-stack-auto no longer needs to
43749 * support/regression/get_ticks.py: new, get cpu cycles and code size, so
43750 regression tests can report resource usage (rfe 700441)
43751 * support/regression/collate-results.py: report resource usage
43752 * support/regression/ports/ds390/spec.mk,
43753 * support/regression/ports/hc08/spec.mk,
43754 * support/regression/ports/mcs51/spec.mk,
43755 * support/regression/ports/ucz80/spec.mk: run sim output through get_ticks
43756 * support/regression/ports/ds390/uCsim.cmd,
43757 * support/regression/ports/hc08/uCsim.cmd,
43758 * support/regression/ports/mcs51/uCsim.cmd,
43759 * support/regression/ports/ucz80/uCsim.cmd: inserted "state" to report time
43760 * support/regression/ports/mcs51-stack-auto/spec.mk: no need to build the
43761 library, use the default one
43762 * support/regression/ports/mcs51-xstack-auto/spec.mk: inserted rules for
43763 building the library
43765 2005-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
43767 * config.dsp: added dependency on .version and configure_vc.awk
43768 * device/include/setjmp.h: updated for --stack-auto and --xstack
43769 * device/include/mcs51/at89c51snd1c.h: corrected line endings
43770 * device/include/mcs51/XC866.h: added, thanks Llewellyn van Zyl
43771 * device/lib/_setjmp.c: updated for --stack-auto and --xstack
43772 * device/lib/libsdcc.lib: added _setjmp
43773 * src/SDCCast.c (createIvalCharPtr): fixed warnings,
43774 (decorateType): fixed bug 1372851,
43775 (optimizeGetHbit): fixed warning
43776 * src/SDCCglue.c (printIvalChar, printIvalArray): adapted for flexible
43777 array initialisation
43778 * support/regression/tests/bug1057979.c: added test for bug 1358192
43779 * support/regression/tests/setjmp.c: added, test for setjmp/longjmp
43781 2005-12-03 Borut Razem <borut.razem AT siol.net>
43783 * support/scripts/sdcc.nsi: added /SOLID option to "SetCompressor lzma"
43784 command since the NSIS was upgraded to version 2.11 on CF x86-linux2
43786 2005-11-29 Bernhard Held <bernhard AT bernhardheld.de>
43788 * src/SDCCast.c (createIvalStruct, createIvalArray, createIvalPtr,
43789 createIval): implement symbol independant "flexible array member",
43790 (createIvalCharPtr): implemented flexible array initialisation with a
43792 * src/SDCCsymt.c (copyStruct): removed,
43793 (getSize): fixed misleading comment,
43794 (getAllocSize): removed, the additional allocation size is now in
43795 sym->flexArrayLength,
43796 (checkStructFlexArray): new, syntax checks for flexible array members,
43797 (compStructSize): added syntax checks for "flexible array members"
43798 (copyStruct): removed,
43799 (copyLinkChain): removed inefficient fix for bug 770487
43800 * src/SDCCglue.c (emitRegularMap): getAllocSize has been removed
43801 * src/SDCCsymt.h: added structdef.b_flexArrayMember and
43802 symbol->flexArrayLength
43804 * src/SDCCerr.h: added W_INVALID_FLEXARRAY, W_C89_NO_FLEXARRAY,
43805 E_FLEXARRAY_NOTATEND and E_FLEXARRAY_INEMPTYSTRCT
43806 * support/regression/tests/structflexarray.c: added
43807 * support/valdiag/tests/structflexiblearray.c: added
43809 2005-11-29 Bernhard Held <bernhard AT bernhardheld.de>
43811 * src/SDCCast.c (decorateType): fixed bug 1368489
43812 * support/Util/SDCCerr.c,
43813 * support/Util/SDCCerr.h: added warning W_CMP_SU_CHAR
43815 2005-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43817 * device/include/mcs51/at89c51snd1c.h: added file submitted by
43818 Weston T. Schmidt <schmidtw AT users.sourceforge.net>, patch #1368001
43820 2005-11-27 Borut Razem <borut.razem AT siol.net>
43822 * support/cpp2/cppinit.c, support/cpp2/cpplib.h, support/cpp2/mkdeps.c,
43823 support/cpp2/mkdeps.h: added command line option
43824 -obj-ext=<extension> to SDCPP to define object file externion, used
43825 for generation of make dependencies (-M)
43826 * src/SDCCmain.c: pass -obj-ext=<extension> to SDCPP
43828 2005-11-26 Borut Razem <borut.razem AT siol.net>
43830 * support/scripts/sdcc.nsi: added small-stack-auto libraries,
43831 added missing device/lib/mcs51/crt*.asm, pic and pic16 sources,
43832 added pic and pic16 libraries
43834 2005-11-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43836 * device/include/float.h: Corrected typo in prototype of __fsgt
43838 2005-11-25 Borut Razem <borut.razem AT siol.net>
43840 * sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
43841 added creation of model-mcs51-stack-auto libraries
43843 2005-11-24 Bernhard Held <bernhard AT bernhardheld.de>
43845 * src/SDCCsymt.c (copyLinkChain): fixed bug 770487, copy structdef
43846 and fields-list too
43847 * src/SDCCast.c (createIvalArray): removed obsolete comment
43849 2005-11-24 Borut Razem <borut.razem AT siol.net>
43851 * sdcc/device/lib/Makefile.in: remove all unnecessary files, 2nd try...,
43852 added missing device/lib/mcs51/crt*.asm sources
43854 2005-11-23 Bernhard Held <bernhard AT bernhardheld.de>
43856 * src/SDCCast.c (createIvalCharPtr): fixed bug 1348271
43858 2005-11-22 Maarten Brock <sourceforge.brock AT dse.nl>
43860 * device/lib/_fs2schar.c,
43861 * device/lib/_fs2sint.c,
43862 * device/lib/_fs2slong.c: optimized inline asm
43864 2005-11-21 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43866 * device/lib/_fs2slong.c, device/lib/_fs2sint.c, device/lib/_fs2char.c:
43867 Better handling of floats between -1.0 and 0.0.
43869 2005-11-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
43871 * src/mcs51/peeph.def: added missing "if"s as noted by Hubert Sack.
43872 (the missing "if"s prohibited removal of redundant labels)
43874 2005-11-19 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43876 * device/lib/_fs2slong.c, device/lib/_fs2sint.c, device/lib/_fs2char.c:
43877 Properly convert floats between -1.0 and 0.0 to long, int, and char
43878 types (max integer value of negative floats tends to zero).
43879 * device/lib/modff.c, device/lib/ceilf.c, device/lib/floorf.c:
43880 Removed changes made so to work properly with floats between
43881 -1.0 and 0.0, as the problem is fixed in _fs2slong.c, _fs2sint.c,
43884 2005-11-18 Bernhard Held <bernhard AT bernhardheld.de>
43886 * src/SDCCcse.c (ReplaceOpWithCheaperOp): minor fix for debugging only
43887 * src/mcs51/gen.c (genUnpackBits): better code and a fix,
43888 (genCast) cosmetic change
43889 * src/ds390/gen.c (genUnpackBits, ): ported from mcs51
43890 * src/ds390/ralloc.c (packRegsForAssign): ported fix for bitfields
43892 * support/regression/tests/bitfields (testSignedBitfields): added
43894 2005-11-18 Borut Razem <borut.razem AT siol.net>
43896 * sdcc/device/lib/Makefile.in: remove all unnecessary files
43897 * device/lib/pic/Makefile.rules, device/lib/pic16/Makefile.subdir:
43898 introduced SILENT option to make building of pic16 libraries less
43900 2005-11-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43902 * device/lib/modff.c, device/lib/ceilf.c, device/lib/floorf.c:
43903 Now they work properly with floats between -1.0 and 0.0
43904 * device/lib/printf_large.c: Removed temporary patch for bug 1358192
43906 2005-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
43908 * src/SDCCicode.c (printOperand): added missing else
43910 2005-11-18 Bernhard Held <bernhard AT bernhardheld.de>
43912 * src/SDCCsymt.c (computeType): fixed bug 1358192: added missing else,
43913 reformatted for better readability
43914 * src/mcs51/gen.c (genUnpackBits): initial, incomplete support for
43917 2005-11-17 Borut Razem <borut.razem AT siol.net>
43919 * device/lib/pic16/Makefile.rules, device/lib/pic16/Makefile.subdir:
43920 introduced SILENT option to make building of pic16 libraries less
43921 verbose - used for nightly snapshot build
43922 * doc/sdccman.lyx: documented that SDCDB and ucSim are currently not
43923 available on Win32 platforms.
43924 * sdcc/device/lib/Makefile.in: added library sources for mcs51, small,
43925 medium, large, pic and pic16
43927 2005-11-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
43929 * device/lib/printf_large.c: Temporary patch for bug 1358192:
43930 printf("%f"...) sets fraction to zero.
43932 2005-11-16 Raphael Neider <rneider AT web.de>
43934 * src/pic/pcode.c (LinkFlow): handle empty flows correctly,
43936 * src/pic/gen.c (genIfx): implemented for CARRY bit
43937 * src/pic16/gen.c (genAssign,genCast): fixed assigning/casting
43938 to generic pointers, fixes #1357332,
43939 (pic16_movLit2f): NEW,
43940 (pic16_storeForReturn,genDataPointerSet): use pic16_movLit2f
43942 2005-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
43944 * src/SDCCmain.c (parseCmdLine): fixed bug 1356800, thanks rsudjian
43946 2005-11-11 Raphael Neider <rneider AT web.de>
43948 * src/pic/gen.c: handle FPOINTERS like POINTERS everywhere
43949 * src/pic16/gen.c (pic16_derefPtr): now works for non-pointers as well,
43950 compute pointer's type from operand,
43951 (genUnpackBits,genPackBits): handle FPOINTERS correctly, re-indented,
43952 improved single bit reads, fixes bug #1353379
43954 2005-11-09 Borut Razem <borut.razem AT siol.net>
43956 * support/scripts/sdcc.nsi: added lib/pic to the package
43958 2005-11-08 Maarten Brock <sourceforge.brock AT dse.nl>
43960 * src/SDCCval.c (valUnaryPM): fixed bug 1350699
43962 2005-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
43964 * support/regression/tests/bug1348008.c: added
43965 * src/mcs51/gen.c (saveRBank, unsaveRBank): fixed bug 1348008
43966 * support/regression/tests/bug1337835.c: updated comment
43968 2005-11-06 Borut Razem <borut.razem AT siol.net>
43970 * sim/ucsim/error.cc, sim/ucsim/errorcl.h,
43971 sim/ucsim/sim.src/stack.cc, sim/ucsim/sim.src/stackcl.h,
43972 sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
43973 sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/memcl.h,
43974 sim/ucsim/cmd.src/set.cc, sim/ucsim/cmd.src/show.cc:
43975 dynamic construction of cl_error_class and derivates - 2.nd try
43977 2005-11-05 Borut Razem <borut.razem AT siol.net>
43979 * sim/ucsim/sim.src/error.cc: fixed uninitialized class member variable
43980 bug, which caused Bus Errors on sparc solaris
43982 2005-11-04 Borut Razem <borut.razem AT siol.net>
43984 * sim/ucsim/error.cc, sim/ucsim/errorcl.h,
43985 sim/ucsim/sim.src/stack.cc, sim/ucsim/sim.src/stackcl.h,
43986 sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
43987 sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/memcl.h,
43988 sim/ucsim/cmd.src/cmdconf.cc: dynamic construction of cl_error_class
43989 and derivates to resolve the initialization problem on OSX
43991 2005-11-02 Borut Razem <borut.razem AT siol.net>
43993 * sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
43994 corrected typo - #include <winsock2.h>
43996 2005-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
43998 * src/asm.c (printILine): always close tmpFile, thanks Beau E. Cox,
43999 (_asxxxx_mapping): added org directive for future enhancements
44001 2005-11-01 Borut Razem <borut.razem AT siol.net>
44003 * sim/ucsim/app.cc, sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
44004 enabled sockets on WIN32
44005 * sim/ucsim/cmd.src/newcmd.cc: fixed bug with uninitialized variables
44007 2005-10-31 Borut Razem <borut.razem AT siol.net>
44009 * support/regression/generate-cases.py: escape backslashes in {testcase}:
44010 WIN32 backslash path delimiters should be escaped when used in C strings
44011 * support/regression/tests/bitfields.c: exclude failing assertions for
44012 __CYGWIN32__ and __MINGW32__ hosts
44014 2005-10-30 Borut Razem <borut.razem AT siol.net>
44016 * src/SDCCutil.c: corrected double comparison typo
44018 2005-10-30 Maarten Brock <sourceforge.brock AT dse.nl>
44020 * device/lib/medium/Makefile: added for new memory model medium
44021 * device/include/asm/mcs51/features.h: updated for medium/pdata
44022 * device/include/mcs51/c8051f120.h: added sfr16/sfr32 definitions,
44023 added Multiply & Accumulate sbit's and MAC0_PAGE define
44024 * device/include/mcs51/c8051f300.h: added sfr16 definitions
44025 * device/include/mcs51/c8051f310.h: added sfr16 definitions
44026 * device/lib/_mullong.c: update for medium model
44027 * device/lib/incl.mk: added medium model
44028 * doc/sdccman.lyx: documented medium model
44029 * src/SDCCast.c (isBitAndPow2): simplified using updated powof2
44030 * src/SDCCicode.c (geniCodeMultiply, geniCodeDivision): use updated powof2
44031 * src/SDCCmain.c (optionsTable, linkEdit): enabled medium model
44032 * src/SDCCmem.c (allocIntoSeg): set iaccess for pdata symbols,
44033 (allocParms): set SCLS and OCLS to pdata for medium model
44034 * src/SDCCsymt.c (processFuncArgs): use default_local_map and set iaccess
44036 (powof2): return <0 if not power of 2
44037 * src/avr/gen.c (genBitWise): use updated powof2
44038 * src/mcs51/gen.c (genMinusDec): use acc if necessary,
44039 (shiftR2Left2Result): small optimization in setup, save acc when storing,
44040 (shiftLLeftOrResult): use B if necessary
44041 * src/mcs51/main.c (_mcs51_finaliseOptions, mcs51_port): added medium model
44042 * src/mcs51/peeph.def: renamed 226 to 226.b, added 226.a
44043 * src/pic/main.c (_pic14_do_link): made void parameter list explicit
44044 * support/regression/Makefile.in: added test-mcs51-medium
44045 * support/regression/ports/mcs51-medium/spec.mk: added to test medium model
44047 2005-10-28 Bernhard Held <bernhard AT bernhardheld.de>
44049 * src/SDCCsymt.c (compStructSize): make bitfields without (un)signed
44051 * device/lib/time.c (mktime): fixed bug 1334315
44053 2005-10-28 Raphael Neider <rneider AT web.de>
44055 * device/include/pic/p16f_common.inc: added common declarations
44056 * src/pic/ralloc.c (initStack): moved regs *r to block start for Alpha
44058 2005-10-27 Maarten Brock <sourceforge.brock AT dse.nl>
44060 * src/mcs51/gen.c (getTempRegs): return 0 if not enough registers found,
44061 (aopPutUsesAcc): added to predict accumulator use,
44062 (assignResultValue): save acc if necessary,
44063 (genMinusDec): store result if indirectly addressed,
44064 (genDivOneByte): save acc if necessary,
44065 (movLeft2Result): bugfix if left already in acc,
44066 (genAnd, genOr, genXor, shiftL2Left2Result, shiftR2Left2Result): pay more
44067 attention to accumulator use (esp. pdata),
44068 (genReceive): receive pdata correctly
44069 * src/SDCCicode.c (isOperandInPagedSpace): added to detect pdata operands
44070 * src/SDCCicode.h: added isOperandInPagedSpace prototype
44072 2005-10-27 Raphael Neider <rneider AT web.de>
44074 * doc/sdccman.lyx: corrected version (should be 2.5.4 not 2.5.5)
44076 2005-10-27 Raphael Neider <rneider AT web.de>
44078 * .version: changed version to 2.5.4
44079 * doc/sdccman.lyx: changed version to 2.5.4, added some remarks to PIC14
44080 * device/lib/pic/libsdcc/{_mulint.c,_mullong.c}: use unsigned literals,
44081 (_divschar.c,divuchar.c,_mulchar.c,_modschar.c,_moduchar): NEW,
44082 arithmetics support routines
44083 * device/lib/pic/Makefile.rules: have assembler sources preprocessed
44084 * device/lib/Makefile.in: also create installdir for pic
44086 * src/SDCCopt.c (cnvToFcall): mark support routines `extern' for
44088 * src/pic/device.c (dump_sfr): rewritten to delegate register
44089 placement to the linker (use `extern sym' rather than sym EQU addr),
44090 (validAddress): fixed to check last specified address
44091 * src/pic/gen.c (aopForSym): added code to deal with array (useless?),
44092 (popGetLit): truncate literal value to 8 bit,
44093 (popGet): moved assert to more appropriate place
44094 (popGetExternal): create pCode operand from and mark the according
44095 symbol as being `extern'
44096 (popGetAddr): added sanity check on immediate's offset, provide
44097 GPOINTER tag on demand
44098 (aopPut): fixed for immediates,
44099 (mov2w_op): move operand's address or contents to WREG (depending on
44100 operand type), safer variant of mov2w,
44101 (movwf,call_libraryfunc): NEW, handy abbreviations,
44102 (get_argument_pcop,get_return_val_pcop,pass_argument,
44103 get_returnvalue): interface for accessing function parameters and
44105 (assignResultValuei,genRet): use new parameter/return value interface
44106 (pic14_getDataSize): back to old version handling generic pointers,
44107 (pic14_toBoolean,genNot,genCpl,genCmpEq,genOrOp): heavily rewritten,
44108 provided implementation and/or fixed old one,
44109 (genMultOneByte,genDivOneByte,genModOneByte): implemented as library
44110 calls, removed legacy 8051 reference code
44111 (AccLsh,AccRsh): rewritten and fixed to deal with signed operands
44112 (loadSignToC): NEW, move the operands sign bit to CARRY,
44113 (genGenericShift): NEW, replaces genLeftShift, genRightShift and
44114 genRightShiftSigned, accepts negative shift counts,
44115 (setup_fsr): load FSR and adjust IRP (indirect memory access),
44116 (emitPtrByteGet,emitPtrByteSet): rewritten, now works with
44117 generic pointers, __data pointers and __code pointers,
44118 (genUnpackBits,genPackBits): rewritten to work with generic pointers
44119 and signed bitfields, limit bitfields to 8 bit,
44120 (genDataPointerGet): fixed number of bytes read,
44121 (genGenPointerGet,genConstPointerGet): fixed bitfield access,
44122 (genPointerGet,genPointerSet): fixed handling of __code pointers,
44123 pointers to constant data are no longer assumed to point to __code
44124 space, removed invalid pointer types,
44125 (bitpatternFromVal): retrieve the PICs representation of an integer
44127 (genDataPointerSet): fixed assigning to po_immediate operands,
44128 (genGenPointerSet): implemented as library call,
44129 (genIfx): fixed incorrect condition,
44130 (genAddrOf): limit generic pointers' addresses to 2 bytes,
44131 provide GPOINTER tag according to destination's storage class,
44132 (genCast): added code to handle casting to generic pointers, added
44133 sign-/zero extension of the result
44134 (aop_isLitLike,op_isLitLike): fixed handling of immediates
44135 * src/pic/gen.h: added macros to access IRP bit in STATUS register
44136 * src/pic/genarith.c (genAddLit): use min(result's,left's) size, sign
44138 * src/pic/glue.c (is_shared_address,is_shared): check whether a given
44139 address/register resides in the shared banks
44140 (emitSymbolToFile): improved to handle global and `pinned' symbols,
44141 put all variables into separate sections (have the linker arrange
44143 (picglue): put init code and interrupt handlers in separate sections
44144 * src/pic/main.c: added port specific options table, modified to PORT
44145 structure to make GPOINTERs 3 byte, added pic14_options
44146 (_pic14_do_link): private linking routine (update paths to libraries,
44147 add libsdcc.lib by default)
44148 * src/pic/main.h: declare pic14_options
44149 * src/pic/pcode.c: fixed instructions i/o relations,
44150 (RegCond): reverted to correct version,
44151 (newpCodeOpLit): truncate literals to 8 bit,
44152 (genericPrint): added debug output,
44153 (getRegFromInstruction): fixed for various operand types, simplified
44154 (BuildFlow): fixed broken handling of isntructions with labels
44155 (LinkFlow): start at last instruction in flow (skip trailing comments),
44156 pass the flow on to the next instruction after CALL
44157 (pCodeReplace): NEW, replace a pCode and move meta data to the new one
44158 (insertPCodeInstruction): fixed inserting after a skip instruction,
44159 (DoBankSelect): fixed for labeled instructions
44160 (OptimizepBlock): honor --nopeep switch
44161 (AnalyzeFlow,ReuseReg): prevent crash on source files with no function
44162 * src/pic/pcodepeep.c (pCodePeepMatchRule): prevent NULL pointer accesses
44163 * src/pic/pcoderegs.c (regIsLocal): NEW, check visibility of a register
44164 (pCodeOptime2pCodes): allow disabling this optimization via
44165 --no-pcode-opt due seldomly occuring bugs, fixed some conditions
44166 but is still buggy), started implementation of a dataflow based
44167 pCode optimization (CSE + dead code elimination)
44168 (pCodeRegMapLiveRangesInFlow): removed bogus inCond
44169 * src/pic/ralloc.c (initStack): renamed stack registers to STK%d, the new
44170 names are independant of the stack location and therefore portable across
44173 2005-10-27 Maarten Brock <sourceforge.brock AT dse.nl>
44175 * src/mcs51/ralloc.c (bitType): added to detect bit variables,
44176 (selectSpil): fixed bug 1337835 by not spilling bit variables
44177 * support/regression/tests/bug1337835.c: added test for this bug
44178 * src/mcs51/peeph.def: restart after rule 3.c,
44179 addded rules 263.x to optimize loading constants
44181 2005-10-26 Raphael Neider <rneider AT web.de>
44183 * src/SDCCsymt.c (compStructSize): allow signed bitfields for PIC ports
44184 * src/pic16/gen.c (genUnpackBits): support signed bitfields,
44185 (genAssign): emit warning when casting literals to generic pointer
44186 type, also applies when taking the address of a fixed variable,
44187 (genCast): improved casting to generic pointers
44188 * src/pic16/glue.c (pic16emitStaticSeg): fixed(?) handling of fixed
44189 extern variables, added verbose error message
44190 * device/include/pic16/{string.h,errno.h}: added #pragma library c
44192 2005-10-26 Bernhard Held <bernhard AT bernhardheld.de>
44194 * src/mcs51/gen.c (genMinus): fixed bug 1270906: reverse subtraction,
44195 carry must be complemented too
44196 * src/mcs51/peeph.def: addded rule 262 to remove double cpl c, which
44197 could be emitted by genMinus
44198 * src/SDCCval.c (constVal): fixed bug 1305065
44200 2005-10-25 Bernhard Held <bernhard AT bernhardheld.de>
44202 * src/SDCCast.c (addCast): added promotion for bit variables
44203 (decorateType): emit W_COMPLEMENT before the problem vanishes behind
44204 promotion casts + optimisation
44205 (optimizeGetWord): fix warning 'i' might be used uninitialized
44206 * src/mcs51/gen.c (genCpl): removed W_COMPLEMENT
44207 * src/ds390/gen.c (genCpl): removed W_COMPLEMENT
44209 2005-10-24 Bernhard Held <bernhard AT bernhardheld.de>
44211 * src/SDCCicode.c (ast2iCode): reverted to 1.224 because of regression:
44212 all chars are promoted to int; promotion should be handled in SDCCast.c
44214 2005-10-15 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44216 * device/lib/_strcmp.c: Fixed bug 1326457
44218 2005-10-11 Raphael Neider <rneider AT web.de>
44220 * device/lib/pic16/libio/i2c.ignore: added 1320, fixes broken builds
44221 * device/lib/pic16/libdev/pic18f1320.c: added 1320's device library
44223 2005-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
44225 * src/SDCC.y (AT): fixed bug with sfr32 addresses when built with GCC
44226 * support/regression/tests/sfr16.c: added test for the sfr32 bug
44228 2005-10-04 Raphael Neider <rneider AT web.de>
44230 * device/include/pic16/pic18fregs.h, src/pic16/devices.inc,
44231 device/lib/pic16/pics.all: added pic18f1320
44232 * src/pic16/pcode.c (mnem2key): fixed prototype's argument mismatch
44234 2005-09-30 Raphael Neider <rneider AT web.de>
44236 * src/pic16/device.c (Pics16[]): moved device descriptions to devices.inc
44237 * src/pic16/devices.inc: NEW, provides device descriptions
44238 * src/pic16/gen.c (genInline): fixed handling of ';'-comments
44240 2005-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
44242 * src/SDCCicode.c (operandOperation): added GETABIT, GETBYTE, GETWORD and
44245 2005-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
44247 * doc/sdccman.lyx: updated Highest Order Bit documentation,
44248 documented Any Order Bit, Higher Order Byte and Higher Order Word
44249 * src/SDCC.y: added tokens GETABIT, GETBYTE, GETWORD
44250 * src/SDCCast.c (optimizeGetHbit): updated to also accept bool=expr&(1<<n),
44251 (optimizeGetAbit): new, to get any bit, not only the high bit,
44252 (optimizeGetByte): new, to get a byte from a (long) int: expr>>(8*n),
44253 (optimizeGetWord): new, to get a word from a long int: expr>>(8*n),
44254 (isConformingBody): also check GETABIT, GETBYTE, GETWORD,
44255 (decorateType): '&': also try GETABIT, GETBYTE, GETWORD optimization,
44256 RIGHT_OP: also try GETBYTE, GETWORD optimization,
44257 GETABIT, GETBYTE, GETWORD: decorate them,
44258 (isShiftRightLitVal, isBitAndPowOf2): new helper functions,
44259 (ast_print): added GETABIT, GETBYTE, GETWORD
44260 * src/SDCCcse.c (isSignedOp): added GETABIT, GETBYTE, GETWORD
44261 * src/SDCCicode.c (codeTable): added GETABIT, GETBYTE, GETWORD,
44262 (geniCodeBinary): new generic binary icode,
44263 (ast2iCode): added GETABIT, GETBYTE, GETWORD
44264 * src/port.h: updated comment for PORT.hasExtBitOp
44265 * src/mcs51/gen.c (genGetAbit): new, to get any single bit,
44266 (genGetByte): new, to get a single byte,
44267 (genGetWord): new, to get a word from a long,
44268 (gen51Code): added GETABIT, GETBYTE, GETWORD
44269 * src/mcs51/main.c (hasExtBitOp): added GETABIT, GETBYTE, GETWORD
44271 2005-09-23 Raphael Neider <rneider AT web.de>
44273 * configure.in, configure: have device/lib/pic configured
44274 * device/lib/Makefile.in: added model-pic14
44275 * device/lib/clean.mk: added pic/ to clean rule
44276 * device/lib/pic: added rudimentary pic14 library providing support
44277 functions for multiplication/division/generic pointer access
44278 * src/SDCCopt.c (convilong): mark support functions as extern
44279 for pic14 port as well
44280 * src/pic/gen.c (genMult): added assertions,
44281 (genpic14Code): emit warning on unhandled iCodes
44282 * src/pic/main.c (_hasNativeMulFor): return true only for 8x8 bit
44283 * src/pic/pcode.c (pCodeOpCopy),
44284 * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed handling of various
44285 pCodeOpReg-subtypes (PO_{STATUS,INTCON,PCL,PCLATH,PCLATU,BSR,
44286 SFR_REGISTER}), made safe for future extensions
44287 * src/pic16/pcode.c (pic16_safepCodeUnlink): allow for removal of
44288 instructions even if preceeded by SKIP instructions (also remove
44289 them); removed unused code
44290 * src/pic16/pcode.h: added arg2 to pCodeOpLit to match pCodeOpLit2,
44291 prevents leaving parts of the structure uninitialized after copying
44293 2005-09-22 Maarten Brock <sourceforge.brock AT dse.nl>
44295 * src/mcs51/gen.c (genMinus): fix for undetected bug introduced 3 months
44297 * support/regression/tests/addsub.c: added test for the bug
44299 2005-09-21 Raphael Neider <rneider AT web.de>
44301 * device/include/pic16/pic18f1220.h,
44302 device/lib/pic16/libdev/pic18f1220.c: added ECCPAS sfr and bitfield
44303 * device/lib/pic16/Makefile.rules: added missing opening paren
44304 * src/pic16/gen.c (pic16_genNot,pic16_genCpl): removed as these
44305 are provided in genutils.c,
44306 (genUminusFloat,genUminus,genCmpEq): added asserts on different
44307 operand/result sizes,
44308 (genCmp): assert on NULL pointers first, then check deref'ed values
44309 * src/pic16/genutils.c (pic16_genCpl): fixed for different operand/
44312 2005-09-18 Raphael Neider <rneider AT web.de>
44314 * src/pic16/gen.c (genFarPointerGet,genFarPointerSet): removed
44315 as these are now unused,
44316 (genPointerGet,genPointerSet): handle FPOINTERs like POINTERs
44317 * src/pic16/pcode.c (pic16_symIsSpecial): assume REG_TMPs to be
44318 local, avoids uninitialized pointer dereference on r->name
44319 * src/pic16/ralloc.c (newReg): fixed indentation
44321 2005-09-13 Maarten Brock <sourceforge.brock AT dse.nl>
44323 * src/SDCCval.c (constVal): fixed bug 730366
44324 * support/Util/SDCCerr.c,
44325 * support/Util/SDCCerr.h: added warning W_INVALID_INT_CONST
44327 2005-09-10 Maarten Brock <sourceforge.brock AT dse.nl>
44329 * as/mcs51/lkmem.c (summary2): fixed report for absolute areas (bug 1210220)
44331 2005-09-09 Maarten Brock <sourceforge.brock AT dse.nl>
44333 * src/mcs51/peeph.def (241.x): fixed bug when comparing generic pointers
44335 2005-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
44337 * as/hc08/lkaomf51.c (OutputName): made name unsigned char,
44338 (hex2dec): made hex_digit unsigned char, removed ascii dependance
44339 * as/mcs51/lkaomf51.c (OutputName): made name unsigned char,
44340 (hex2dec): made hex_digit unsigned char, removed ascii dependance
44341 * as/mcs51/lkarea.c (lnkarea2): sort absolute areas to the front
44342 * packihx/packihx.c (hexDigit): made c unsigned char
44343 * as/mcs51/lklibr.c (fndsym),
44344 * link/z80/lkgb.c (gb),
44345 * link/z80/lklibr.c (fndsym),
44346 * link/z80/lkrloc.c (relr),
44347 * sim/ucsim/libltdl/ltdl.c (load_deplibs, try_dlopen),
44348 * src/SDCC.lex (checkCurrFile, process_pragma),
44349 * src/SDCCglue.c (spacesToUnderscores),
44350 * src/SDCCmain.c (setParseWithComma, processFile),
44351 * src/asm.c (tvsprintf, printCLine),
44352 * src/avr/gen.c (emitcode, aopPut),
44353 * src/ds390/gen.c (emitcode),
44354 * src/hc08/gen.c (emitcode, emitinline),
44355 * src/mcs51/gen.c (emitcode, genInline),
44356 * src/pic/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
44358 * src/pic/ralloc.c (debugLog),
44359 * src/pic16/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
44361 * src/pic16/ralloc.c (debugLog),
44362 * src/z80/main.c (_process_pragma):
44363 made all ctype.h function calls safe
44364 * src/SDCCopt.c: include math.h for fabs
44365 * src/SDCCpeeph.c: added macros ISCHARDIGIT, ISCHARSPACE and ISCHARALNUM
44366 and used them throughout the code to make ctype.h function calls safe
44367 * src/ds390/main.c (asmLineNodeFromLineNode),
44368 * src/mcs51/main.c (asmLineNodeFromLineNode): made p unsigned char*
44369 * src/pic/gen.c (DEBUGpic14_emitcode, pic14_emitcode): made lbp
44371 * src/pic/pcode.c (mnem2key): made mnem unsigned char*,
44372 (newpCodeAsmDir): made ctype.h function calls safe
44373 * src/pic16/gen.c (pic16_emitpcomment, DEBUGpic16_emitcode,
44374 pic16_emitcode): made lbp unsigned char*
44375 * src/pic16/pcode.c (mnem2key): made mnem unsigned char*,
44376 (pic16_newpCodeAsmDir): made ctype.h function calls safe
44377 * src/xa51/gen.c (emitcode),
44378 * src/z80/gen.c (_emit2): made lbp unsigned char*
44379 * support/Util/MySystem.c (split_command): made cmd_line and p unsigned
44382 2005-09-05 Raphael Neider <rneider AT web.de>
44384 * src/pic16/ralloc.c (pic16_allocDirReg): use device specific
44385 access bank splitpoint
44387 2005-09-05 Raphael Neider <rneider AT web.de>
44389 * device/lib/pic16/libc/Makefile: added (missing) string to SUBDIRS
44391 2005-09-03 Maarten Brock <sourceforge.brock AT dse.nl>
44393 * .version: changed to version 2.5.3
44394 * doc/sdccman.lyx: changed version to 2.5.3,
44395 documented --codeseg and --constseg and pragma codeseg and constseg,
44396 documented bit parameters (reentrant) and bit returning
44397 * src/SDCCicode.c (geniCodeReceive): fixed (possible) bug generating
44398 currFunc->recvSize, but is this ok for all ports?
44399 (ast2iCode): result of ~ on unsigned char must be cast to int for
44401 * src/SDCCmem.c (allocGlobal, allocLocal): don't put bit returning
44402 function pointers in bit space
44403 * src/SDCCsymt.c (checkSClass): allow bit returning function pointers,
44404 (processFuncArgs): call port.reg_parm() with reentrancy info
44407 * src/ds390/main.c,
44410 * src/pic16/main.c,
44412 * src/z80/main.c: port.reg_parm prototype extended with
44413 "bool reentrant" parameter
44414 * src/mcs51/main.c (_mcs51_regparm): use parameter reentrant instead of
44415 options.stackAuto for allocating bit register parameters
44416 * src/mcs51/gen.c (genNot): optimized complementing direct bit,
44417 (genSend): set BitBankUsed if it is,
44418 (selectRegBank): factored out of genCall for use in genPcall,
44419 (genCall): removed redundant dtype assignmen, use selectRegBank,
44420 (genPcall): handle returning in Carry properly, save in F0 if needed,
44421 (genReceive): handle bit register parameters
44422 * src/mcs51/ralloc.c (updateRegUsage): update BitBankUsed along the way,
44423 (mcs51_assignRegisters): enable bit registers for all reentrant
44424 functions and don't set BitBankUsed unconditionally
44425 * src/mcs51/peeph.def (177.d): fixed bug if %2==%3
44426 * support/regression/tests/bitvars.c: enable tests for SDCC_STACK_AUTO
44427 * support/regression/tests/funptrs.c: added tests for BOOL and for return
44429 2005-08-27 Borut Razem <borut.razem AT siol.net>
44431 * device/lib/Makefile.in: cp on sparc-solaris (SunOS) and on
44432 ppc-osx (Darwin) does not support -u option. It seems that it is
44433 supported only on Linux - GNU cp
44435 2005-08-25 Borut Razem <borut.razem AT siol.net>
44437 * sim/ucsim/gui.src/serio.src/Makefile.in,
44438 sim/ucsim/s51.src/Makefile.in, sim/ucsim/avr.src/Makefile.in,
44439 sim/ucsim/z80.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
44440 sim/ucsim/xa.src/Makefile.in: install -s changed to 2 steps:
44441 install and strip, since the strip at /usr/ccs/bin should be used
44444 2005-08-24 Borut Razem <borut.razem AT siol.net>
44446 * clean.mk, device/lib/clean.mk: find on sparc-solaris does not support -maxdepth option
44448 2005-08-23 Bernhard Held <bernhard AT bernhardheld.de>
44450 * src/SDCCopt.c (convertToFcall): fixed modulus with divisors 1 and
44453 2005-08-23 Maarten Brock <sourceforge.brock AT dse.nl>
44455 * as/mcs51/aslink.h: completed lkrloc.c prototypes
44456 * as/mcs51/lkmain.c (link_main): fixed warning
44457 * device/include/stdbool.h: ds390 has no advanced bit support yet
44458 * src/SDCC.y: use SPEC_SHORT and renamed _signed to b_signed
44459 * src/SDCCsymt.c: use SPEC_SHORT and renamed _signed to b_signed
44460 * src/SDCCsymt.h (struct specifier): renamed _xxx bitfields to b_xxx
44461 and updated their macros
44462 * src/SDCCval.c (constVal): updated comment for renamed b_long
44464 2005-08-22 Maarten Brock <sourceforge.brock AT dse.nl>
44466 * as/mcs51/asdata.c: changed ctype['['] to BINOP
44467 * as/mcs51/asexpr.c (expr): added case '[' for bit access in bdata,
44468 (term): abused bit 15 of s_addr to indicate bit-addressable bytes,
44469 (oprio): set priority for '['
44470 * as/mcs51/aslink.h: added define R_BIT, and prototypes for adb_bit
44472 * as/mcs51/asm.h: added defines R_BIT and S_BIT
44473 * as/mcs51/lkarea.c (lnksect2): use T for seg BIT_BANK and overlay it
44474 * as/mcs51/lkdata.c: changed ctype['['] to BINOP
44475 * as/mcs51/lkmain.c (Areas51): rel2 contains 12 (=C) areas now,
44476 added overlayable BIT_BANK area
44477 * as/mcs51/lkmem.c (summary): add BIT_BANK to BSEG_BYTES in the report,
44478 (summary2): explain 'T' in legenda
44479 * as/mcs51/lkrloc.c: replaced old K&R style,
44480 (relr): added R_BIT processing,
44481 (errmsg): added "Bit-addressable relocation error",
44482 (adb_bit): added for converting from byte- to bit-addressable space,
44483 (adb_24_bit): added for converting from byte- to bit-addressable space
44484 * device/include/stdbool.h: changed BOOL to __bit for mcs51 as it can be
44485 used in reentrant functions now even as return value
44486 * device/lib/_gptrput.c (_gptrput): removed obsolete code
44487 * src/SDCCast.c (resultTypePropagate): also propagate AND_OP and OR_OP,
44488 (decorateType): case '!', GETHBIT, AND_OP, OR_OP: result in bool or char
44489 * src/SDCCglobl.h: added indicator BitBankUsed
44490 * src/SDCCglue.c (glue): emit area BIT_BANK with byte 'bits' and equ's for
44491 the bit registers b0-b7
44492 * src/SDCCicode.c (operandFromSymbol): removed IS_BITVAR check,
44493 (geniCodeCast): fixed bug 1263853,
44494 (geniCodeLogicAndOr): put result in bool or char,
44495 (geniCodeReceive): added parameter func for accessing the return type,
44496 (geniCodeFunctionBody): pass func to geniCodeReceive
44497 * src/SDCCmain.c: added indicator BitBankUsed
44498 * src/SDCCmem.c (allocLocal): explicitly set sclass for V_BIT
44499 * src/SDCCsymt.c (newBoolLink): added for creating a bool/bit,
44500 (checkSClass): don't put automatic bool/bit on stack,
44501 (checkFunction): removed check on function cannot return bit
44502 * src/SDCCsymt.h: added newBoolLink prototype
44503 * src/mcs51/gen.c (rb1regs): added bit registers,
44504 (movc): created for assigning to carry,
44505 (pushReg, popReg): created for pushing registers,
44506 (sameRegs): check both AOP_REG and AOP_CRY types,
44507 (aopOp): handle bit registers,
44508 (aopPut): optimization no self-assign,
44509 (saveRegisters): push reg->base (bits) only once for bit registers,
44511 (unsaveRegisters): pop reg->base only once and use popReg,
44512 (assignResultValue): added parameter func and return in carry for bits,
44513 (genIpush): optimization no reload in A if not changed,
44514 (genSend): bit parameters in reentrant functions are passed in bit
44515 registers by first assigning to bits in B, then save registers and
44517 (genCall): handle returning in Carry properly, save it in F0 if needed,
44518 (genPcall): updated assignResultValue call, this is not safe yet for bit
44519 returning function !!!
44520 (genFunction): don't generate equ's for bit registers and use pushReg,
44521 (genEndFunction): take care of bit returning functions and use popReg,
44522 (genRet): return bit in Carry,
44523 (genIfx): optimize bit registers and other directly addressable bits,
44524 (genReceive): updated assignResultValue call
44525 * src/mcs51/main.c (_mcs51_reset_regparm): added regBitParmFlg,
44526 (_mcs51_regparm): allow passing of upto 8 bit parameters in bit
44527 registers when using stack-auto
44528 * src/mcs51/ralloc.c (_G): added allBitregs,
44529 (regs8051): added the bit registers,
44530 (createStackSpil): use macro IS_BIT,
44531 (getRegBit): added to allocate a bit register, else spill,
44532 (getRegBitNoSpil): added to allocate a bit register, else a gpr,
44533 (updateRegUsage): factored out to ease stepping while debugging,
44534 (serialRegAssign): use updateRegUsage, only spill bits if necessary,
44535 also allocate bit registers,
44536 (fillGaps): handle bit registers,
44537 (findAllBitregs): added to create bit vector with all bit registers,
44538 (mcs51_allBitregs): returns this bit vector,
44539 (mcs51_assignRegisters): when using stack-auto use bit registers for
44540 passing parameters and creating local variables
44541 * src/mcs51/ralloc.h: added B0_IDX..B7_IDX and prototype mcs51_allBitregs
44543 2005-08-22 Borut Razem <borut.razem AT siol.net>
44545 * device/lib/Makefile.in: replaced find option -or with -o
44546 to make it run on solaris
44548 2005-08-22 Raphael Neider <rneider AT web.de>
44550 * src/pic16/gen.c (pic16_loadFromReturn): added check for AOP_PCODE,
44551 fixes #1265442 (crash on Solaris)
44553 2005-08-20 Borut Razem <borut.razem AT siol.net>
44555 * configure, configure.in: added tests for libsocket and libnsl libraries,
44556 requred by sdcdb on sparc-solaris; generate support/regression/Makefile
44557 from support/regression/Makefile.in
44558 * support/regression/Makefile.in: added
44559 * device/lib/pic16/Makefile.common.in: force make to use bash shell
44560 * sim/ucsim/libtool: regenerated on sparc-solaris
44561 * sim/ucsim/avr.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
44562 sim/ucsim/s51.src/Makefile.in, sim/ucsim/xa.src/Makefile.in,
44563 sim/ucsim/z80.src/Makefile.in: removed GNU ld specific linker options
44564 -Wl,--start-group and -Wl,--end-group to enable ucsim compilation on
44565 sparc-solaris, which doesn't use GNU ld linker
44566 * device/lib/Makefile.in: cp on sparc-solaris (SunOS) does not support -u option
44567 * as/Makefile: find on sparc-solaris does not support -maxdepth option
44569 2005-08-19 Maarten Brock <sourceforge.brock AT dse.nl>
44571 * src/mcs51/peeph.def: updated comments
44573 2005-08-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
44575 * device/lib/_gptrget.c,
44576 * device/lib/_gptrput.c: slightly shorter
44577 * doc/sdccman.lyx: incremented version
44578 * src/mcs51/peeph.def: moved peephole comments to the line of first
44579 change to better keep line correlation, reanimated 186.e
44580 * src/mcs51/peeph.def: renamed similar peepholes by using suffixes
44582 2005-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
44584 * src/pic/pcode.c : Pasted ".line" assembly directives patch from
44585 David Saxton with quotes around file name.
44587 2005-08-15 Borut Razem <borut.razem AT siol.net>
44589 * support/regression/tests/bitfields.c, support/regression/tests/bitvars.c,
44590 support/regression/tests/bitwise.c, support/regression/tests/literalop.c,
44591 support/regression/tests/rotate.c, support/regression/tests/zeropad.c:
44592 make tests run on x86_64 platform
44594 2005-08-13 Raphael Neider <rneider AT web.de>
44596 * device/lib/pic16/Makefile.subdir: weakened clean-intermediate rule
44597 as it might be executed DURING a build (parallel make is wonderful)
44599 2005-08-13 Raphael Neider <rneider AT web.de>
44601 * device/lib/Makefile.in (port-specific-objects-pic16):
44602 revert to cp $(PORT)/bin/*.* $(PORTDIR)
44603 * device/lib/pic16/Makefile: added .PHONY targets, removed builddir
44605 * device/lib/pic16/Makefile.rules: build subdirs before creating
44606 the library, removed builddir rule, create $(builddir) early in
44607 recurse rule, use empty recurse rule for leaf directories
44608 * device/lib/pic16/Makefile.subdir: added phony targets, ignore
44609 mkdir errors (race condition), removed duplicate suffix "hex"
44611 * device/lib/pic16/libdev/Makefile: recursive make via + and $(MAKE)
44612 * device/lib/pic16/libio/Makefile: create sub-make's builddir early,
44613 prevents mkdir -p from aborting on Alpha
44615 2005-08-12 Raphael Neider <rneider AT web.de>
44617 * src/pic16/glue.c (pic16_print(G)PointerType): do not flush
44618 db-statements in order to allow for arrays of pointers in code
44619 sections to be placed without interspersed 0-padding, fixes
44621 * (emitStatistics): fixed division by zero for pic18f1220
44622 * src/pic16/pcode.c: buffer (up to) 12 DB directives to allow for
44623 unpadded writing of 8-bit, 16-bit, 24-bit and 32-bit values
44624 * (pic16_emitDS): respect DB_ITEMS_PER_LINE
44625 * (pic16_pCodeConstString): keep track of already emitted string
44626 literals to prevent "duplicate definitions of symbol _str_NR"
44627 * src/pic16/ralloc.c (pic16_allocRegByName): removed not so helpful
44629 * device/lib/Makefile.in: ignore failing PIC16 library builds
44630 * device/lib/pic16/Makefile: do not build if gputils are missing
44631 * device/lib/pic16/Makefile.common.in: do not enforce MAKEFLAGS=-s
44633 2005-08-10 Raphael Neider <rneider AT web.de>
44635 * device/lib/Makefile.in: fixed copying pic16 libraries (broken by
44638 2005-08-10 Raphael Neider <rneider AT web.de>
44640 * src/*.c, src/pic16/{gen.c,glue.c,main.c}: applied Vangelis
44641 Rokas' patch to add the new fixed point type "__fixed16x16"
44642 * device/lib/pic16/libsdcc/fixed16x16: added Vangelis' support
44643 functions for __fixed16x16 arithmetics
44644 * device/lib/pic16: reimplemented the build system to support
44645 a separate build directory, better handling of libio (create
44646 the library in a separate subdir for each architecture) and
44647 easier configuration (centralized in Makefile.common)
44649 2005-08-07 Raphael Neider <rneider AT web.de>
44651 * src/pic16/gen.c (genrshTwo): fixed sign extension
44652 * src/pic16/device.c: added pic18f2320, 4220 and 4320
44653 * device/include/pic16/pic18f2220.h: changed some bit definitions,
44655 * device/include/pic16/pic18f4220.h: NEW, header for
44656 pic18f4220 and pic18f4320
44657 * device/include/pic16/pic18fregs.h: added new devices,
44658 embraced Nop(), ClrWdt(), Sleep() and Reset() with do {} while(0)
44659 * device/include/pic16/signal.h: resolved name clashes
44660 on bit definitions, added DEF_HANDLER2(sig1,sig2,handler)
44661 to also allow testing for interrupt enable bits, added
44662 comments on how to use the macros
44663 * device/lib/pic16/libdev/pic18f2220.c: added T0CONbits
44664 * device/lib/pic16/libdev/pic18f{2320,4220,4320}.c: NEW,
44665 register definitions for the devices
44666 * device/lib/pic16/pics.all: added new devices
44667 * device/lib/pic16/libc/stdlib/calloc.c: fixed zeroing
44669 * device/lib/pic16/libc/stdlib/memfree: do not count
44670 the block header as free memory
44671 * device/lib/pic16/libc/stdlib/memmisc.c (_initHeap):
44672 simplified and added missing end-of-blocklist-marker
44673 (reported by Peter Onion, fixes #1252814)
44674 * (_mergeHeapBlock): fixed loop condition
44675 * device/lib/pic16/libc/stdlib/realloc.c: return NULL for
44676 len==0, restructured code
44677 * device/lib/pic16/libc/stdlib/{malloc,memfreemax}.c: cleaned
44678 up a bit, reduced bitfield accesses, prevent endless loops
44679 in case of heap corruption
44680 * device/lib/pic16/libc/stdlib/x_ftoa.c: disabled
44681 "unreferenced arguments/must return a value" warnings
44682 * device/lib/pic16/libio/usart/ubaud.c (usart_baud):
44683 replaced BAUDREG with SPBRG
44684 * device/lib/pic16/libsdcc/lregs/{lrrest.c,lrst.c},
44685 device/lib/pic16/debug/gstack/gstack.c: replaced
44686 _naked, _asm, _endasm with __naked, __asm, __endasm
44688 2005-08-05 Raphael Neider <rneider AT web.de>
44690 * src/pic16/gen.c (pic16_aopGet): fixed handling of offsets in
44691 AOP_PCODE operands, fixes multibyte union-bitfield-accesses
44693 2005-08-05 Borut Razem <borut.razem AT siol.net>
44695 * device/lib/Makefile.in: added missing ';'
44696 * configure: removed ^M characters
44698 2005-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44700 * device/include/mcs51/at89c51ed2.h, device/include/mcs51/p89v51rd2.h,
44701 device/include/mcs51/at89s53.h: changed to GNU Lesser General Public
44704 2005-08-04 Borut Razem <borut.razem AT siol.net>
44706 * configure.in: pic16 libraries build 2nd try - enable running
44707 configure in device/lib/pic16
44708 * configure: regenerated from configure.in
44709 * device/lib/Makefile.in: create $(PORT)/bin directory
44711 2005-08-03 Raphael Neider <rneider AT web.de>
44713 * src/pic16/gen.c (pic16_derefPtr): NEW, single place
44714 to get/set values via pointers
44715 * (genUnpackBits,genPackBits): changed detection of
44716 ptr->bitfield vs. sym.bitfield, fixed access via generic
44717 pointers, removed dead (wrong) code for multibyte bitfields
44718 * (genNearPointerGet, genGenPointerGet): removed useless code,
44719 fixed bitfield detection, fixes #1250594
44720 * (genNearPointerSet): removed useless code
44721 * src/pic16/gen.h: renamed pic16_emitpcode to pic16_emitpcode_real
44722 and introduced macro pic16_emitpcode that conditionally emits
44723 the origin of the following pCode (useful for debugging SDCC)
44724 * src/pic16/pcode.c: changed (and disabled) some debug outputs
44725 * (createDefmap): fixed handling of LFSR for --optimize-df
44727 2005-08-02 Borut Razem <borut.razem AT siol.net>
44729 * device/lib/Makefile.in: pic16 libraries build enabled since
44730 gputils-0.13.2 are now localy installed at sourceforge's compile farm
44732 2005-08-02 Raphael Neider <rneider AT web.de>
44734 * src/pic16/gen.c (genPackBits): removed deprecated warning
44735 * (genGenPointerSet): fixed bitfield detection
44737 2005-08-02 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44739 * device/include/mcs51/msm8xc154s.h: Removed PT2 definition, now in 8052.h.
44741 2005-07-31 Raphael Neider <rneider AT web.de>
44743 * device/lib/pic16/libdev/pic18f458.c,
44744 device/include/pic16/pic18f458.h: added missing T0CONbits
44746 2005-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
44748 * device/include/mcs51/msm8xc154s.h: added, thanks to Matthias Arndt
44750 2005-07-28 Maarten Brock <sourceforge.brock AT dse.nl>
44752 * src/mcs51/gen.c (operandsEqu): fixed bug 1246687
44754 2005-07-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
44756 * device/include/mcs51/at89c51ed2.h: added.
44758 2005-07-23 Raphael Neider <rneider AT web.de>
44760 * src/pic/gen.h: added emitpcode macro for debugging
44761 * src/pic/gen.c (emitpcode): renamed to emitpcode_real
44762 and replace by macro adding debug information on demand
44763 * (genNot): fixed to C semantics (!0 = 1; !x = 0 iff x != 0)
44764 * (gencjne): tried to fix; replaced with correct (slower) code
44765 * (gen{Unp,P}ackBits): fixed single bit access
44766 * src/pic/pcode.c (AnalyzepCode): fixed DFPRINTF argument
44767 * src/pic/pcodepeep.c (pCodeSearchCondition): fixed finding
44768 previous instruction
44769 * src/pic/pcoderegs.c (regIsSpecial): NEW, check whether a
44770 register has to be handled with care (forbidding movement
44771 of assignments/uses, removing assignments completely, ...)
44772 * (pCodeOptime2pCodes): make use of regIsSpecial
44773 * added lots of debugging output (commented out)
44774 * src/pic/rallloc.c (deassignLRs): prevent operand registers
44775 from being reused as result UNLESS it is known to work
44777 2005-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
44779 * support/Util/dbuf.h: include <stddef.h> for size_t
44780 * .version: changed to version 2.5.2
44782 2005-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
44784 * src/SDCCloop.c (loopInvariants): fixed bug #1234048
44786 2005-07-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
44788 * src/hc08/gen.c (genMinus): fixed bug #1241835,
44789 (genModOneByte): removed needless psha/pula
44791 2005-07-22 Raphael Neider <rneider AT web.de>
44793 * src/SDCCmain.c (linkEdit): initialized linkerScriptFileName,
44794 have PIC14 handled like PIC16, fixes broken pic14 linker calls
44795 * src/pic/gen.c (resolveIfx): do not "invent" labels
44796 * (genSkipc): changed to positive logic
44797 * (genSkipCond): removed as no longer needed
44798 * (pic14_mov2w_regOrLit,genCmp): NEW, replacement for buggy version,
44799 backport from PIC16
44800 * (genLeftShift): check operands are in different registers
44801 * src/pic/genarith.c (genPlus): replaced INCF with ADDLW as
44802 INCF does not update CARRY...
44803 * src/pic/main.c: fixed _linkCmd
44804 * src/pic/pcode.c (unlinkpCode): added inactive code
44805 * src/pic/ralloc.c (deassignLRs): keep arguments to shift operations
44806 alive (do not assign result and operand overlapping registers)
44808 2005-07-22 Raphael Neider <rneider AT web.de>
44810 * src/pic/device.c (dump_sfr): replaced register declaration with
44811 call to emitSymbolToFile() to avoid duplicate symbols
44812 * (assignRelocatableRegisters): do not declare external symbols
44813 * src/pic/ralloc.c (allocNewDirReg): fixed to get size of arrays
44814 right (take size of type, not etype)
44815 * (allocDirReg): fixed call to allocNewDirReg() to pass OP_SYM_TYPE
44816 * (writeUsedRegs): also dump dynDirectRegs (e.g. local variables)
44817 * (packRegsForAccUse): disabled assignment of WREG as
44818 the result reg to prevent occurence of just fixed #1235003,
44820 * src/pic/glue.c (emitSymbolToFile): NEW, central place to declare
44821 symbols (avoids duplicate symbols in .asm file)
44822 * (pic14emitRegularMap): use emitSymbolToFile()
44823 * src/pic/gen.c (aopOp): fixed spillLocation handling
44824 * (gen{Unp,P}ackBits): fixed acquiring bit-operands
44825 * (genDataPointerSet): removed unneccessary variables/output
44827 2005-07-22 Maarten Brock <sourceforge.brock AT dse.nl>
44829 * as/mcs51/lkarea.c: enlarged codemap for banked memory
44830 * device/lib/mcs51/crtbank.asm: added # to 0x0F
44832 2005-07-21 Raphael Neider <rneider AT web.de>
44834 * src/pic/gen.c (aopOp): do not generate AOP_ACC operands as pic14
44835 architecture cannot handle them efficiently, fixes bug #1235003
44836 * src/pic16/device.c (pic16_dump_{u,i}section,pic16_dump_int_registers):
44837 check for empty sets before using them (fixes bug #1232190)
44839 2005-07-19 Maarten Brock <sourceforge.brock AT dse.nl>
44841 * as/mcs51/lkarea.c (lnkarea, lnkarea2): improved BSEG size calculation,
44842 (lnksect2): generate warnings for memory overlap
44843 * src/SDCC.lex (doPragma, process_pragma): added pragma's codeseg and
44844 constseg to set the name of these segments so you can instruct the linker
44845 to place them in banks
44846 * src/SDCCast.c (decorateType): use new macro IS_FUNCPTR()
44847 * src/SDCCglobl.h: added MODEL_HUGE to enum,
44848 added code_seg and const_seg to options
44849 * src/SDCCglue.c (emitMaps): use options.const_seg,
44850 (createInterruptVect): put interrupt vectors in segment HOME,
44851 (glue): put HOME before static segment and put the main glue in HOME,
44852 (glue): use options.code_seg
44853 * src/SDCCicode.c (geniCodeCall): use new macro IS_FUNCPTR()
44854 * src/SDCCmain.c: added option --codeseg and --constseg to set the name of
44855 these segments so you can instruct the linker to place them in banks
44856 (linkEdit): use code_loc for HOME segment which should be the first
44857 segment in code memory now
44858 * src/SDCCmem.c: fixed more stuff like bug 1238386
44859 * src/SDCCsymt.c (getSize): use generic pointer size for banked functions,
44860 (changePointer): don't change function pointers to code pointers for
44862 (compareType): added exceptional check for banked function pointers
44863 * src/SDCCsymt.h: changed IFFUNC_ISBANKEDCALL, added IS_FUNCPTR
44864 * src/hc08/main.c (_hc08_genAssemblerPreamble): put HOME first, put CSEG
44865 after static in code memory
44866 * src/mcs51/gen.c: added aopLiteralLong prototype,
44867 (aopForSym): use getSize for functions,
44868 (genCall): generate banked calls over one trampoline __sdcc_banked_call
44869 in HOME with lsb of address in r0, msb in r1 and bank in r2, use
44870 -Wl-bBANKSEG=0xbbaaaa option to set the address (aaaa) and bank (bb) of
44872 (genPcall): use call for literal function pointers and generate banked
44873 calls over the one trampoline so there's only one place for the user to
44874 modify according to his/hers hardware,
44875 (genEndFunction): jump to __sdcc_banked_ret in HOME for banked functions,
44876 (genPlusIncr): moved check icount>4 beyond inc dptr optimization
44877 * src/mcs51/main.c: added keyword banked,
44878 (_mcs51_genExtraAreas): put HOME first followed by GSINIT, STATIC and CSEG
44879 * support/Util/SDCCerr.c,
44880 * support/Util/SDCCerr.h: added E_BANKED_WITH_CALLEESAVES, registers are
44881 needed for passing the bank and address to the trampoline
44882 * device/lib/mcs51/crtbank.asm: added for bankswitching
44883 * device/lib/mcs51/Makefile: added crtbank
44885 2005-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
44887 * src/SDCCcse.c (algebraicOpts): fixed loss of volatility
44888 for fields at offset 0 of a struct or union as reported
44889 on 2005-07-07 in the developer mailing list.
44891 2005-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
44893 * src/SDCCmem.c: fixed bug 1238386
44895 2005-07-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
44897 * src/mcs51/peeph.def: added labelrefcounting for peepholes
44898 (patch #1144962), added peephole 300, enabled 259.x
44899 * doc/sdccman.lyx: removed screenshot and provided link instead
44901 2005-07-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
44903 * doc/sdccman.lyx: added section about debugging with ddd
44904 * doc/figures/ddd_example.eps: screenshot of debugging session
44906 2005-07-04 Raphael Neider <rneider AT web.de>
44908 * src/pic/gen.c (genPointerGet): handle pointers to CONST values
44909 like CODE pointers, fixes #1115683
44910 * src/pic/pcode.c (DoBankSelect): forget LastRegIdx during function
44911 call, fixes bugs #1232211, #1228110,
44912 fixed wrong casts to pCodeFlow from pCodeInstructions
44914 2005-07-04 Raphael Neider <rneider AT web.de>
44916 * src/pic/gen.c (popGet): changed assert to allow for
44918 * (popGetAddr): changed signature to provide
44919 an additional index, patched all call sites
44920 * (genCmpEq): handle literal-like operands correctly
44921 * (genAddrOf): added sanity checks on __code/__data pointers
44922 * (genAssign): added handling of symbols from __code section
44923 * (gencjne): do not generate code for comparisons whose result
44924 is neither stored nor used, fixes bug #1171114
44925 * (AccLsh, AccRsh): operate on operand instead of WREG
44926 * (shift{Left,Right}_Left2ResultLit): NEW, size independant
44927 replacement for Shift{LR}{12}Left2Result; shift (byte/int/long)
44929 * rewrote complete shift-by-literal logic, commented unused
44931 * (genConstPointerGet): get multiple bytes (if result size > 1),
44932 fixed handling of non-immediate addresses
44933 * (genPointerGet): handle CODE pointers like CONST pointers
44934 * (genpic14Code): insert C-SRC lines as Cource-pCodes
44935 * ({aop,op}_isLitLike): NEW, single place to decide whether an
44936 operand is to be treated as a literal or not
44937 * (mov2w,genPcall,genCmpEq),
44938 src/pic/genarith.c: use aop_isLitLike() to decide between
44939 literal/register contents
44940 * (addSign): added missing offset
44941 * src/pic/gen.h: remove newline after FENTRY/FEXIT comments,
44942 only emit comment in debug-mode,
44943 use {aop,op}_isLitLike throughout the file
44944 * src/pic/glue.c: fix initializers for pointers (work in progress)
44945 * src/pic/pcode.c (get_op): honor index on _const symbols
44946 * ({reset,dump}pCodeStatistics): NEW, estimate code size
44947 * (dumppBlock): added pCode size estimation
44948 * src/pic/ralloc.c (deassignLRs,serialRegAssign,packRegisters):
44949 check for IS_SYMOP before OP_SYMBOL'ing
44950 * fixed indentation, compacted switch-statements
44951 * (allocReg): find free register and allocate it instead of
44952 allocating new registers all the time
44953 * (deassignLRs): prevent POINTER_GET's from being assigned the same
44954 registers as its operands (necessary only for multibyte GETs)
44956 2005-07-01 Raphael Neider <rneider AT web.de>
44958 * src/pic/gen.h: added prototypes emitpComment, popGetAddr and
44959 debugging .asm-output macros FENTRY + FEXIT
44960 * src/pic/gen.c (Safe_vsnprintf): NEW, is there a more generic
44962 * (emitpComment): NEW, printf to pCode
44963 * (popGet): added assert on too large offsets, fixed PO_IMMEDIATE's
44965 * (popGetAddr): NEW, variant of popGet to access an immediates
44966 high(er) bytes instead of the n'th byte of memory they reference,
44967 replaced popGet with popGetAddr where neccessary
44968 * (genDataPointerGet): reactivated and fixed implementation
44969 * (genNearPointerGet): enabled call to genDataPointerGet, fixes array-
44971 * (genDataPointerSet): fixed multibyte assignments
44972 * (genpic14Code): fixed --i-code-in-asm handling
44973 * src/pic/genarith.c: fixed PO_IMMEDIATE issue using popGetAddr,
44974 * (genPlus): fixed index-out-of-bounds error
44975 * src/pic/pcode.c (get_op): fixed PO_IMMEDIATE's index/offset handling
44976 * src/pic/ralloc.c: added debugging output macro FENTRY2
44977 * (spillThis): fixed indentation, enbraced for-body for clarity
44978 * (rematStr): commented out as now unused
44979 * (regTypeNum): commented out special spill case (overwrites
44981 * fixes bugs #1229346, #1216476 (both arrays) and #1115667 (SIGSEGV)
44983 2005-06-30 Maarten Brock <sourceforge.brock AT dse.nl>
44985 * doc/sdccman.lyx: documented sfr16/sfr32,
44986 added example for using storage class with function pointers
44987 * src/mcs51/gen.c (genPlusIncr): optimized small offsets from dptr
44989 2005-06-28 Maarten Brock <sourceforge.brock AT dse.nl>
44991 * device/lib/_gptrget.c: also push/pop _PSBANK, added # to 0x03
44992 * device/lib/_itoa.c,
44993 * device/lib/_ltoa.c: optimized codesize
44994 * src/SDCCsymt.c (checkSClass): added sanity check for sfr at addresses,
44995 but don't know how to suppress the double warning.
44996 * src/mcs51/gen.c (genPlusIncr): fixed bug when incrementing volatile int's
44997 * support/Util/SDCCerr.c,
44998 * support/Util/SDCCerr.h: added warning W_SFR_ABSRANGE for sanity check
45000 2005-06-27 Maarten Brock <sourceforge.brock AT dse.nl>
45002 * as/mcs51/asexpr.c (expr): disabled warning "not in .flat24 mode",
45003 fixed old K&R prototypes
45004 * as/mcs51/asout.c (outrb): always output as if generating 24bit addresses
45005 * device/lib/_gptrget.c,
45006 * device/lib/_gptrgetc.c,
45007 * device/lib/_gptrput.c: changed versions for new memory indicator values,
45008 also new versions for small generic pointers and banked generic pointers
45009 * src/port.h: added const_name
45010 * src/SDCC.lex: added keywords sfr16, __sfr16, sfr32, __sfr32
45011 * src/SDCC.y: added tokens SFR16, SFR32 and their sfr_attributes
45012 * src/SDCCcse.c (findPrevIc): check all associative operators
45013 * src/SDCCglue.c (emitMaps): use CONST_NAME if defined
45014 * src/SDCCicode.h: added macro IS_ASSOCIATIVE
45015 * src/SDCCmem.c: updated comments,
45016 set far-space to 0 for pdata, results in optimized code
45017 * src/SDCCmem.h: added macro CONST_NAME
45018 * src/SDCCsymt.h: renumerated generic pointer types GPTYPE_... thereby
45019 moving the info into the highest bits, see also gptrget/gptrput
45020 * src/src.dsp: added sdcc.ico to project files
45021 * src/avr/gen.c (genCast): fixed bug 0x%d
45022 * src/avr/main.c (avr_port): added "CONST (CODE)" for const_name
45023 * src/ds390/gen.c (aopForRemat, adjustArithmeticResult): disconnected direct
45024 relation between ptr_type and DCL_TYPE,
45025 (genCast): fixed bug 0x%d
45026 * src/ds390/main.c (ds390_port, tininative_port, ds400_port): added "CONST
45027 (CODE)" for const_name
45028 * src/hc08/gen.c (genCast): fixed bug 0x%d
45029 * src/hc08/main.c (_hc08_genAssemblerPreamble): added .area ...const_name,
45030 (hc08_port): added "CONST (CODE)" for const_name
45031 * src/mcs51/gen.c (aopForSym): optimized pushing ACC,
45032 (aopForRemat, adjustArithmeticResult): disconnected direct relation
45033 between ptr_type and DCL_TYPE,
45034 (aopGetUsesAcc, aopGet, aopPut): changed first parameter from asmop* to
45035 operand* and took AOP() inside function so sfr-ness can be checked,
45036 (all over): repaired calls to aopGetUsesAcc, aopGet, aopPut to comply with
45038 (genFunction, genEndFunction): optimized stack setup,
45039 (genMinus): optimized for literals with ending zeroes (in bytes),
45040 (genCast): fixed bug 0x%d
45041 * src/mcs51/main.c (_mcs51_keywords): added sfr16 and sfr32,
45042 (mcs51_port): added "CONST (CODE)" for const_name
45043 * src/mcs51/peeph.def: made rule 226 more generic
45044 * src/pic/main.c (pic_port): added "CONST (CODE)" for const_name
45045 * src/pic16/main.c (pic16_port): added "CONST (CODE)" for const_name
45046 * src/xa51/main.c (xa51_port): added "CONST (CODE)" for const_name
45047 * src/z80/main.c (z80_port): added NULL for const_name,
45048 (gbz80_port): added NULL for const_name
45049 * support/regression/tests/bug663539.c,
45050 * support/regression/tests/sfr16.c: new tests
45052 2005-06-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
45054 * device/include/mcs51/p89v51rd2.h, device/include/mcs51/at89s53.h: added.
45056 2005-06-24 Raphael Neider <rneider AT web.de>
45058 * device/lib/pic16/libdev/pic18f[68][567]20.c:
45060 * device/include/pic16/signal.h: added USBIF
45063 2005-06-24 Raphael Neider <rneider AT web.de>
45065 * device/lib/pic16/libdev/pic18f2455.c,
45066 device/include/pic16/pic18f2455.h: NEW
45067 * device/include/pic16/pic18fregs.h,
45068 device/lib/pic16/pics.all,
45069 src/pic16/device.c: added 18f2455
45070 * device/lib/pic16/libdev/pic18f[68][567]20.c,
45071 device/include/pic16/{pic18f[68][567].h,usart.h}:
45072 replaced MULTIPLE_USARTS define with more relaible
45073 compatibility sfrs (for USART access)
45075 2005-06-20 Slade Rich <slade_rich AT users.sourceforge.net>
45077 * src/pic/pcode.c : Fixed problem when a string constant contains a "\r\n"
45078 and the output asm file line is printed on two lines.
45080 2005-06-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45082 * sim/ucsim/hc08.src/inst.cc (inst_condbranch): fixed simulation of
45083 BGT, BLE, BHI, and BLS instructions
45084 * src/hc08/gen.c (outAcc, outBitC, outBitNV, genCmpLt, genCmpGt,
45086 * src/hc08/gen.c (genCmpEQorNE, genCmp, branchopCmp, nameCmp,
45087 negatedCmp, exchangedCmp, genhc08Code): rewrite of comparison handling,
45089 * src/hc08/peeph.def: added rules 2g - 2l for new conditional branches
45091 2005-06-15 Raphael Neider <rneider AT web.de>
45093 * src/pic16/NOTES: moved Vangelis from active developers to people to contact
45094 * device/include/pic16/{6520.h,8520.h}: fixed configuration bits
45095 * src/pic16/gen.c (): prevent iTemps from being considered to be in CODESPACE,
45096 fixes bug #1221120; for symbols in CODESPACE get number of bytes to read from
45097 OP_SYM_TYPE() instead of OP_SYM_ETYPE()
45099 2005-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45101 * device/include/mcs51/reg764.h: Changed PB0 to PBO as requested by
45102 Marcel Telka in bug #1215704
45104 2005-06-02 Slade Rich <slade_rich AT users.sourceforge.net>
45106 * src/pic/pcode.c : Changed pseudo stack size to 15 to allow WSAVE to be
45107 located in shared memory bank.
45109 2005-05-31 Raphael Neider <rneider AT web.de>
45111 * src/pic16/{gen.c,genarith.c}: replaced sign-extension
45112 "CLRF, BTFSC <signbit>, DECF/COMF" with side-effect-free
45113 "CLRF, BTFSC <signbit>, SETF"; fixes "long>>9"
45115 2005-05-27 Maarten Brock <sourceforge.brock AT dse.nl>
45117 * device/lib/_strncpy.c: fixed the fix
45119 2005-05-26 Raphael Neider <rneider AT web.de>
45121 * src/pic16/glue.c (pic16_printIvalChar): fixed _constant_ string
45122 initializers with \0, bug #1208187
45123 * src/pic/glue.c (printIvalChar): fixed (non- and constant) string
45124 intializers with \0, bug #1208187
45126 2005-05-26 Raphael Neider <rneider AT web.de>
45128 * src/pic16/glue.c (pic16_printIvalChar): fixed string
45129 initializers with \0, bug #1208187
45130 * src/pic16/main.c (_process_pragma): added sanity checks
45131 for stack position and size, emit warnings when appropriate
45133 2005-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
45135 * device/lib/_strncpy.c: fixed not filling with \0
45137 2005-05-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45139 * src/SDCCast.c (funcOfType, funcOfTypeVarg, stringToSymbol,
45141 * src/SDCC.y (external_definition, enumerator, parameter_declaration,
45142 compound_statement),
45144 * src/SDCCsymt.c (addSymChain, processFuncArgs): fixed bug #1159134
45146 2005-05-24 Raphael Neider <rneider AT web.de>
45148 * src/pic16/glue.c (pic16_printGPointerType): fixed #1207796
45150 2005-05-24 Raphael Neider <rneider AT web.de>
45152 * device/include/pic16/pic18f{442,452,458}.h: fixed wrong
45153 TRISE definitions, closes bug #1162453
45155 2005-05-22 Raphael Neider <rneider AT web.de>
45157 * src/pic16/main.c (_process_pragma): check for missing
45158 arguments to pragmas code and udata
45159 * device/include/pic16/pic18f{2550,4331,4455,4520}.h:
45160 consistency fixes to match other headers (thanks to Jim Paris)
45161 * device/lib/pic16/libio/i2c.ignore: 18f4331 provides no I2C
45163 2005-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
45165 * src/SDCCicode.c (isOperandEqual): fixed missing ;
45167 2005-05-19 Maarten Brock <sourceforge.brock AT dse.nl>
45169 * support/regression/tests/bug1198642.c: new test
45170 * src/SDCCicode.c (isOperandEqual): fixed bug 1198642
45171 * src/SDCCcse.c (findPrevIc): added comment, please have a look
45172 * support/scripts/resource.h,
45173 * support/scripts/resource.rc,
45174 * src/src.dsp: added sdcc.ico to project as icon for sdcc.exe
45175 * support/scripts/sdcc.ico: added 32x32 icon
45177 2005-05-18 Raphael Neider <rneider AT web.de>
45179 * device/lib/pic16/libdev/pic18f*.c,
45180 * device/include/pic16/pic18f*.h: updated "sfr" and "at X"
45181 keywords to "__sfr" and "__at (X)"
45182 * device/include/pic16/pic18fregs.h: added pic18f4520
45183 * src/pic16/pcode.c (pic16_pCode2str): fixed (?) bug
45184 #1203088 (MPLAB compatibility)
45186 2005-05-17 Raphael Neider <rneider AT web.de>
45188 * device/include/pic16/pic18f{2550,4331,4455,4520}.h: NEW
45189 * device/lib/pic16/libdev/pic18f{2550,4331,4455,4520}.c: NEW
45190 * device/lib/pic16/pics.all: added new devices
45191 * src/pic16/device.c: added support for pic18f4520
45193 2005-05-16 Raphael Neider <rneider AT web.de>
45194 * src/pic16/gen.{c,h}: s/mov2f/pic16_mov2f made public
45195 * src/pic16/genarith.c (genAddLit): fixed bug 1202480
45196 * src/pic16/pcode.{c,h} (pic16_newpCodeOpBit_simple): NEW
45197 convenience function for bit access
45199 2005-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
45201 * device/lib/printf_large.c: fixed bug 1193299
45202 * support/regression/tests/bug1057979.c: added test %3.3s
45204 2005-05-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45206 * device/include/mcs51/8051.h,
45207 * device/include/mcs51/8052.h: made parseable with lint
45208 * device/include/mcs51/lint.h: added include file for (sp)lint
45209 * doc/sdccman.lyx: added doc about use of splint (syntax checking tool)
45210 * doc/cdbfileformat.lyx,
45211 * doc/test_suite_spec.lyx: hardcoded date to the date of last text change
45213 2005-05-14 Raphael Neider <rneider AT web.de>
45215 * device/lib/pic16/Makefile.common.in: add --optimize-df to OPT_FLAGS
45216 * device/lib/pic16/libc/stdlib/itoa.c (new)
45217 * device/lib/pic16/libc/stdlib/Makefile: have itoa.c built
45218 * device/lib/pic16/libio/Makefile: exclude subdir according to
45219 ${subdir}.ignore for certain PICs (lacking e.g. i2c)
45220 * device/lib/pic16/libio/i2c.ignore (new): pic18f1220 has no I2C support
45221 * src/pic16/gen.c (genFunction): prevent annoying warning
45222 * src/pic16/pcode.c: renamed stack_t to dynstack_t to prevent
45223 nameclashes on BeOS
45224 * support/cpp2/cppmain.c (cpp_output_string): new
45225 * support/cpp2/cpplib.c (_cpp_do__Pragma): fixed _Pragma(""),
45228 2005-05-13 Borut Razem <borut.razem AT siol.net>
45230 * src/SDCCmain.c (linkEdit): fixed bug 1195202
45232 2005-05-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45234 * .version: changed to version 2.5.1; back to bleeding edge development
45236 2005-05-11 Borut Razem <borut.razem AT siol.net>
45238 * doc/sdccman.lyx doc/cdbfileformat.lyx doc/test_suite_spec.lyx:
45239 generate PDF version 1.3 documents
45241 2005-05-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45243 * .version: changed to version 2.5.0
45245 2005-04-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45247 * doc/sdccman.lyx: updated weblinks, index and smaller updates
45249 2005-04-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45251 * doc/sdccman.lyx: changed version 2.5.0, documented --std-c89,
45252 --std-sdcc89, --std-c99, --std-sdcc99, and the corresponding #pragmas, as
45253 well as many smaller updates.
45254 * .version: changed to version 2.5.0-pre1
45256 2005-04-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
45258 * src/SDCCmain.c (setIncludePath): added port->target to SDCC_INCLUDE_NAME
45260 2005-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
45262 * support/regression/tests/bug1185672.c: added
45263 * src/mcs51/gen.c (aopGetUsesAcc, genCpl, genAnd, genOr, genXor): fixed
45265 * src/mcs51/gen.c (genCall): added comments, made it look safer
45266 * src/mcs51/gen.c (genEndFunction): simplified
45268 2005-04-25 Maarten Brock <sourceforge.brock AT dse.nl>
45270 * src/mcs51/ralloc.c (serialRegAssign): fixed bug 1189609
45272 2005-04-14 Borut Razem <borut.razem AT siol.net>
45274 * fixed bug 1045046 - SIGSEGV with really simple code?:
45275 src/pic/pcode.c (pCodeInitRegisters)- pseudo stack size increased to 16
45276 src/pic/ralloc.c (typeRegWithIdx) - error message on pseudo stack overflow
45278 2005-04-14 Borut Razem <borut.razem AT siol.net>
45280 * src/pic16/gen.c (genInline), src/pic16/main.c (_process_pragma),
45281 src/pic16/device.h: temporarily disabled experimental #inline pragma
45284 2005-04-14 Maarten Brock <sourceforge.brock AT dse.nl>
45286 * device/include/z80/stdio.h,
45287 * device/include/z80/string.h: removed these highly incomplete files so
45288 SDCC can use the default ones in device/include/
45290 2005-04-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45292 * src/mcs51/gen.c (genEndFunction): removed unused variable to fix
45294 * device/lib/Makefile.in: default PORTINCDIR to the mcs51 subdir to
45295 fix sdcpp warnings.
45297 2005-04-12 Maarten Brock <sourceforge.brock AT dse.nl>
45299 * device/include/malloc.h: removed redundant __reentrant prototypes
45300 * device/lib/_mullong.c: added working xstack variant in asm (C version
45301 doesn't pass regression tests)
45302 * device/lib/bpx.c: used __data and made bpx char for mcs51
45303 * src/SDCCast.c (decorateType): removed unused GPTYPE_IDATA,
45304 (createFunction): fixed bug with xstackPtr
45305 * src/SDCCcse.c: corrected comments
45306 * src/SDCCopt.c (convertToFcall): fixed warning in MSVC,
45307 (killDeadCode, eBBlockFromiCode): removed unused code
45308 * src/SDCCsymt.h: removed unused GPTYPE_GPTR and GPTYPE_IDATA,
45310 * src/mcs51/gen.c (aopForSym, aopPut, toBoolean, unsaveRegisters,
45311 assignResultValue, genCall, genFunction, genEndFunction, genAnd,
45312 genOr, genXor, genAddrOf): fixed several bugs concerning xstack
45313 (genModOneByte): fixed warning in MSVC
45314 * src/mcs51/main.c (): added comments
45315 * src/mcs51/peeph.def: changed 129 to 129.a, added 129.b, 129.c & 129.d
45317 2005-04-12 Maarten Brock <sourceforge.brock AT dse.nl>
45319 * src/SDCCmain.c (linkEdit): oops, changed one line too many
45321 2005-04-11 Maarten Brock <sourceforge.brock AT dse.nl>
45323 * src/SDCCmain.c (linkEdit): fixed bug with finding crt0.o for z80
45325 2005-04-10 Vangelis Rokas <vrokas AT users.sourceforge.net>
45327 * src/pic16/glue.c (printIvalChar): fixed bug when emitting
45328 characters arrays of larger size than the declared one.
45330 2005-04-10 Borut Razem <borut.razem AT siol.net>
45332 * src/pic/gen.c (genInline),
45333 src/pic/pcode.c (newpCodeAsmDir), (pCode2str),
45334 (genericPrint), (unlinkpCodeFromBranch), (compareLabel),
45335 (findNextInstruction), (findPrevInstruction),
45336 (findInstructionUsingLabel),
45337 src/pic/pcode.h: fixed bug #1164907 - Labels not being recognized
45338 * src/pic/pcode.c (findLabel): added missing '\n'
45339 * src/src.dsp: added SDCCdwarf2.c to the project
45341 2005-04-09 Borut Razem <borut.razem AT siol.net>
45343 * support/scripts/sdcc.nsi: added include/hc08/* h to NSIS setup
45345 2005-04-08 Raphael Neider <rneider AT web.de>
45347 * src/pic16/pcode.c: added helpers defmapInsertAfter (insert a new item
45348 into the chain after a given one) and mergeDefmapSymbols (combine
45349 defmap entries for each symbol per pcode)
45350 * (createDefmap): have defmap entries merged in the end
45351 * (defmapReplaceSymRef): split defmap entries covering two accesses to
45352 a symbol before replacing one access type's symbol, merge symbols in
45353 the end (replacement symbol might already have an entry)
45354 * (assignValnums): keep reference to written WREG intact
45356 2005-04-08 Raphael Neider <rneider AT web.de>
45358 * src/pic16/pcode.c (struct defmap_s): named anonymous union (for
45361 2005-04-08 Vangelis Rokas <vrokas AT users.sourceforge.net>
45363 * src/pic16/pcode.c (pic16_get_op2): enlarged size of array b to 128
45366 2005-04-07 Raphael Neider <rneider AT web.de>
45368 * device/include/pic16/usart.h: added compatibility defines for
45369 devices with more than one USART
45370 * device/include/pic16/pic18f[68][567]20.h: activated above defines
45372 2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
45374 * device/lib/Makefile.in: updated for port specific include
45376 2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
45378 * support/regression/ports/mcs51/spec.mk: added mcs51 include
45380 2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
45382 * device/include/8051.h,
45383 * device/include/8052.h,
45384 * device/include/at89S8252.h,
45385 * device/include/at89c55.h,
45386 * device/include/at89x051.h,
45387 * device/include/at89x51.h,
45388 * device/include/at89x52.h,
45389 * device/include/mcs51reg.h,
45390 * device/include/reg51.h,
45391 * device/include/reg764.h,
45392 * device/include/regc515c.h,
45393 * device/include/sab80515.h: (re)moved these 12 files
45394 * device/include/mcs51/8051.h,
45395 * device/include/mcs51/8052.h,
45396 * device/include/mcs51/at89S8252.h,
45397 * device/include/mcs51/at89c55.h,
45398 * device/include/mcs51/at89x051.h,
45399 * device/include/mcs51/at89x51.h,
45400 * device/include/mcs51/at89x52.h,
45401 * device/include/mcs51/mcs51reg.h,
45402 * device/include/mcs51/reg51.h,
45403 * device/include/mcs51/reg764.h,
45404 * device/include/mcs51/regc515c.h,
45405 * device/include/mcs51/sab80515.h: and added them here
45407 2005-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
45409 * device/include/stdarg.h: changed SDCC specific keywords to double
45411 * device/include/stdint.h: changed intptr_t and uintptr_t for others than
45413 * device/include/hc08/mc68hc908gp32.h,
45414 * device/include/hc08/mc68hc908jb8.h,
45415 * device/include/hc08/mc68hc908jkjl.h,
45416 * device/include/hc08/mc68hc908qy.h: fixed comments
45417 * device/include/mcs51/README: updated
45418 * device/include/mcs51/c8051f120.h: added PINRSF
45419 * device/lib/pic16/libc/stdlib/crc16.c: fixed comments
45420 * src/pic16/pcode.c: MSVC6 doesn't accept declaring new variables
45421 amidst code. Also inline is not supported.
45423 2005-04-06 Raphael Neider <rneider AT web.de>
45425 * src/pic16/pcode.c (pic16_pCodeReplace): also update pcflow->end
45426 * (createDefmap): fixed CALLs to depend on FSR1 and RETLW to restore
45427 callers stack/frame pointers
45429 2005-04-06 Vangelis Rokas <vrokas AT users.sourceforge.net>
45431 * device/include/pic16/usart.h: added, missing in previous commit,
45432 * device/include/pic16/adc.h: fixed typo,
45433 * device/lib/pic16/libc/utils/cvtdec.S: added missing in previous
45435 * device/lib/pic16/libc/stdlib/g_ftoa.S: modified to include
45437 * device/lib/pic16/libc/stdio/streams.c: leave stdin, stdout
45438 uninitialized because a bug appears with gplink
45439 * device/lib/pic16/{some makefiles}: moved $(CSTD) from CFLAGS to
45440 COMPILE_FLAGS and added CPPFLAGS with -nostdinc because sdcpp
45441 complains for unrecognised option
45443 2005-04-05 Raphael Neider <rneider AT web.de>
45445 * src/pic16/gen.c (pic16_popCopyReg): made copying work for extended
45446 structs as well (using memcpy)
45447 * (genFunction): fixed comparison, used pCodeOpLabel to reduce warning
45448 on ISRs (GOTO has no label)
45449 * src/pic16/device.h: added OF_OPTIMIZE_DF
45450 * src/pic16/main.c: added compiler switch --optimize-df to enable the
45451 new data flow analysis/optimization
45452 * src/pic16/pcode.c: added (prototypes for and implementation of)
45453 dataflow analysis functions, fixed pCodeInstructions' inCond and
45454 outCond values, made RCALL a branch instruction
45455 * (pic16_unlinkpCode): keep C line if possible
45456 * (pic16_pCodeUnlink): removed cast on left side of assignment, have
45457 C line moved if possible
45458 * (pic16_getRegFrompCodeOp): NEW, improved version of...
45459 * (pic16_getRegFromInstruction,pic16_getRegFromInstruction2): changed
45460 to use new pic16_getRegFrompCodeOp (works for more SFRs)
45461 * (pic16_BuildFlow): fixed skip instructions with label (did not start
45463 * (pic16_getJumptabpCode): NEW, needed in...
45464 * (LinkFlow): fixed handling of jumptables, calls and conditional
45466 * (pic16_InsertCommentAfter): NEW
45467 * (pic16_pCodeReplace): made verbose and flow preserving
45468 * (AnalyzeFlow): added call to data flow analysis
45469 * src/pic16/pcode.h: added defmaps to pCodeFlow struct
45470 * src/pic16/pcodeflow.h: added PCC_STATUS to mean all STATUS bits
45471 * src/pic16/ralloc.c (packRegsForAssign): added return 1 in the end
45473 2005-04-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45475 * src/SDCCast.c (decorateType): fixed bug #1105626
45477 2005-04-02 Vangelis Rokas <vrokas AT users.sourceforge.net>
45479 * device/include/asm/pic16/features.h,
45480 * pic18f*.h headers,
45481 * device/include/pic16/adc.h,
45482 * device/include/pic16/delay.h,
45483 * device/include/pic16/i2c.h,
45484 * device/include/pic16/malloc.h,
45485 * device/include/pic16/stdio.h,
45486 * device/include/pic16/stdlib.h,
45487 * device/include/pic16/string.h,
45488 * device/lib/pic16/libc/stdio/printf_tiny.c,
45489 * device/lib/pic16/libc/stdio/printf_small.c,
45490 * device/lib/pic16/libc/stdio/strmgpsim.c,
45491 * device/lib/pic16/libc/stdio/strmmssp.c,
45492 * device/lib/pic16/libc/stdio/strmusart.c,
45493 * device/lib/pic16/libc/stdio/vfprintf.c,
45494 * device/lib/pic16/libc/stdlib/ltoa.c,
45495 * device/lib/pic16/libc/stdlib/putchar.c,
45496 * device/lib/pic16/libc/stdlib/x_ftoa.c,
45497 * device/lib/pic16/libc/stdlib/memchrpgm.c,
45498 * device/lib/pic16/libc/stdlib/memchrram.c,
45499 * device/lib/pic16/libc/stdlib/memcpypgm2ram.c,
45500 * device/lib/pic16/libc/stdlib/memcpyram2ram.c,
45501 * device/lib/pic16/libio/adc/adcbusy.c,
45502 * device/lib/pic16/libio/adc/adcread.c,
45503 * device/lib/pic16/libio/adc/adcsetch.c,
45504 * device/lib/pic16/libio/usart/ubaud.c,
45505 * device/lib/pic16/libio/usart/ubusy.c,
45506 * device/lib/pic16/libio/usart/udrdy.c,
45507 * device/lib/pic16/libio/usart/uopen.c,
45508 * device/lib/pic16/libio/usart/uputc.c,
45509 * device/lib/pic16/libsdcc/gptr/gptrget1.c,
45510 * device/lib/pic16/libsdcc/gptr/gptrget2.c,
45511 * device/lib/pic16/libsdcc/gptr/gptrget3.c,
45512 * device/lib/pic16/libsdcc/gptr/gptrget4.c,
45513 * device/lib/pic16/libsdcc/gptr/gptrput1.c,
45514 * device/lib/pic16/libsdcc/gptr/gptrput2.c,
45515 * device/lib/pic16/libsdcc/gptr/gptrput3.c,
45516 * device/lib/pic16/libsdcc/gptr/gptrput4.c: modified all SDCC
45517 specific keywords to double underlined form,
45518 * device/lib/pic16/libc/Makefile.rules,
45519 * device/lib/pic16/libsdcc/Makefile.rules,
45520 * device/lib/pic16/libm/Makefile,
45521 * device/lib/pic16/libio/Makefile.rules: added CSTD macro in CFLAGS
45522 to compile with C standard set in Makefile.common
45523 * device/lib/pic16/libc/stdlib/Makefile: added new C sources
45524 rand.c and crc.c in compilation process,
45525 * device/lib/pic16/libsdcc/int/divuint.c,
45526 * device/lib/pic16/libsdcc/long/divulong.c: changed declaration of
45527 `c' from signed to unsigned,
45528 * device/lib/pic16/startup/crt0.c,
45529 * device/lib/pic16/startup/crt0i.c,
45530 * device/lib/pic16/startup/crt0iz.c: adopted to all SDCC specific
45531 keywords to double underlined form, bug fixes in _do_cinit function
45532 which prevented the correct initialization of the .idata segment,
45533 * src/pic16/pcoderegs.c (insideLRBlock): fixed a bug that caused the
45534 core to enter a infinite loop
45535 * device/lib/pic16/libc/stdlib/rand.c, crc.c: new files
45537 2005-04-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45539 * src/SDCCicode.c (getArraySizePtr): fixed bug #1122171
45541 2005-04-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45543 * device/include/Makefile.in: add support for hc08 subdirectory
45544 * device/include/hc08/: new subdirectory
45545 * device/include/hc08/mc68hc908jkjl.h: new header contributed by
45546 Lucas Loizaga, thanks!
45547 * device/include/hc08/mc68hc908qy.h,
45548 * device/include/hc08/mc68hc908gp32.h,
45549 * device/include/hc08/mc68hc908jb8.h: moved hc08 register defs to
45550 their own directory. Changed internal macro names to use the compiler
45551 reserved namespace. Changed SDCC specific keywords to double
45553 * device/include/math.h,
45554 * device/include/malloc.h,
45555 * device/include/stdarg.h,
45556 * device/include/stdbool.h
45557 * device/include/string.h,
45558 * device/include/tinibios.h,
45559 * device/include/ds400rom.h,
45560 * device/include/8051.h,
45561 * device/include/8052.h,
45562 * device/include/80c51xa.h,
45563 * device/include/at89c55.h,
45564 * device/include/at89S8252.h,
45565 * device/include/at89x51.h,
45566 * device/include/at89x52.h,
45567 * device/include/ds80c390.h,
45568 * device/include/reg764.h,
45569 * device/include/regc515c.h,
45570 * device/include/sab80515.h,
45571 * device/include/mcs51/c8051f000.h,
45572 * device/include/mcs51/c8051f018.h,
45573 * device/include/mcs51/c8051f020.h,
45574 * device/include/mcs51/c8051f040.h,
45575 * device/include/mcs51/c8051f060.h,
45576 * device/include/mcs51/c8051f120.h,
45577 * device/include/mcs51/c8051f300.h,
45578 * device/include/mcs51/c8051f310.h,
45579 * device/include/mcs51/c8051f320.h,
45580 * device/include/mcs51/c8051f330.h,
45581 * device/include/mcs51/c8051f350.h,
45582 * device/include/z180.h: Changed SDCC specific keywords to double
45585 2005-03-31 Vangelis Rokas <vrokas AT users.sourceforge.net>
45587 * src/pic16/device.c (Pics16[]): added devices 18F2550, 18F4331,
45589 * (pic16_assignConfigWordValue): disable testing of configuration
45590 register value with config mask,
45591 * src/pic16/gen.c (pic16_testStackOverflow): prefix stack test
45592 function with port->fun_prefix,
45593 * (genFunction): when generating a naked interrupt function never
45594 create an absolute segment placed in interrupt vector address, place
45595 the actual interrupt function at IVA instead, when an interrupt
45596 function is generated with unspecified interrupt then do not create
45597 the absolute section,
45598 * (genGenPointerGet, genGenPointerSet, genPackBits): replace all
45599 code for generating a call to generic pointer get/put function with
45600 a call to function pic16_callGenericPointer(),
45601 * src/pic16/genutils.c (pic16_callGenericPointerRW): NEW, generates
45602 the call to the generic pointer get/put functions with prefixing the
45603 function name with port->fun_prefix,
45604 * src/pic16/glue.c (pic16glue): ifdef-out test of OF_LR_SUPPORT,
45605 * src/pic16/main.c (_process_pragma): prefix function with
45607 * (_pic16_finaliseOptions): define macro __18Fxxxx macro when
45608 calling assembler, old 18Fxxxx macro is deprecated,
45609 * src/pic16/pcode.c (unlinkpCodeFromBranch): added PC_INLINE and
45610 PC_ASMDIR in while condition,
45611 * (findInstruction): add PC_ASMDIR in while condition,
45612 * (buildCallTree): prefix main with port->fun_prefix,
45613 * (pic16_pCode2str): fixed bug that didn't emit the memory access
45614 identifier for variable with banked access in instructions BTFSS,
45615 BTFSC, BCF, BSF, BTG
45616 * (AnalyzeFlow): moved call to OptimizepCode to pic16_AnalyzeBanking,
45617 * src/pic16/pcodepeep.c (pCodeOpCompare): increase size of b to 1024,
45618 * src/pic16/pcoderegs.c (pic16_pCodeRegoptimizeRegUsage): don't
45619 perform optimization when enviroment variable NO_REG_OPT is set,
45620 * (insideLRBlock): NEW, return 1 if register is inside an
45621 INF_LOCALREGS block,
45622 * (RemoveRegFromLRBlock): remove a register that is completely
45623 eliminated by register optimization, but it is still left in local
45624 register store/restore in/from stack block,
45625 * (Remove2pcodes): after removing register, check to see if it
45626 should be removed from local register store/restore in/from stack
45628 * src/pic16/ralloc.c (pic16_decodeOp): added decode for
45629 DUMMY_READ_VOLATILE,
45631 * device/include/pic16/adc.h: minor prototype modifications and
45633 * device/include/pic16/malloc.h: added GPL notice various
45635 * device/include/pic16/stdint.h: NEW, standard header for ints
45636 * device/include/pic16/delay.h: NEW, header for delay functions,
45637 delay10tcy, delay100tcy, delay1ktcy, delay10ktcy, delay100ktcy,
45639 * device/include/pic16/signal.h: NEW, header providing helper macros
45640 for implementing signal handlers,
45641 * device/include/pic16/stdio.h: added prototypes for functions,
45642 printf, vprintf, sprintf, vsprintf, fprintf, vfprintf. Added
45643 prototypes for stdin and stdout, added macro PUTCHAR to
45644 automatically implement putchar function prototype,
45645 * device/include/pic16/usart.h: modified and updated USART library,
45646 * device/lib/pic16/libio/adc/,
45647 * device/lib/pic16/libio/i2c: some modifications to improve library
45649 * device/lib/pic16/libc/stdio/: modifications for the new printf*
45650 family of functions,
45651 * device/lib/pic16/libc/stdlib/: various modifications in the malloc
45652 family of functions and other sources,
45653 * device/lib/pic16/libio/usart/: NEW, c sources for the usart module
45654 of the PIC18Fxx[28] devices,
45655 * device/lib/pic16/libc/delay/: NEW, c sources for the delay functions,
45656 * device/lib/pic16/libc/utils/: minor modifications in the .S sources,
45657 * device/lib/pic16/startup/{crt0i.c, crt0iz.c}: redesign of the
45658 _do_cinit function, because the previous failed when local variables
45659 where not placed in the same memory bank,
45660 * device/lib/pic16/libsdcc/char/: various modifications to improve
45661 library performance,
45662 * doc/sdccman.lyx: some reorganization of the PIC16 part, added many
45663 information on the new functions of the c library and more...
45665 2005-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45667 * src/SDCCBBlock.c (iCodeBreakDown): fixed bug #1170212
45669 2005-03-26 Raphael Neider <rneider AT web.de>
45671 * src/pic16/gen.c (genSkipc): fixed semantics (execute branch
45672 if condition == CARRY)
45673 * (genCmp): adapted to new genSkipc semantics
45674 * src/pic16/genutils.c (pic6_genCmp_special): removed side effect
45675 on rIfx (genCmp was broken)
45677 2005-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45679 * src/SDCCmain.c (setDefaultOptions, optionsTable[], parseCmdLine),
45680 * src/z80/main.c (_keywords[]),
45681 * src/SDCCglobal.h (struct options),
45683 * src/SDCC.lex (isTargetKeyword, doPragma, pragma_tbl[]): new pragmas
45684 to enable/disable SDCC and C99 extensions/keywords (std_c89, std_sdcc89,
45685 std_c99, std_sdcc99). Also, equivalent command line options (--std-c89,
45686 --std-sdcc89, --std-c99, --std-sdcc99). SDCC specific keywords are
45687 always available in leading double underscore form. The C99 support is
45688 mostly missing, but it's a start.
45689 * support/regression/tests/bug-227710.c: fixed nonconforming use of
45690 reserved identifier "__data".
45692 2005-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
45694 * src/mcs51/peeph.def: fixed bug 1170013
45696 2005-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
45698 * device/include/mcs51reg.h: fixed bug 842007
45700 2005-03-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45702 * src/SDCCcflow.c (dfNumCompare): committed the wrong version of this
45705 2005-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45707 * src/port.h (struct PORT),
45708 * src/avr/ralloc.c (avr_assignRegisters),
45710 * src/ds390/ralloc.c (ds390_assignRegisters),
45711 * src/ds390/main.c,
45712 * src/hc08/ralloc.c (hc08_assignRegisters),
45714 * src/mcs51/ralloc.c (mcs51_assignRegisters),
45715 * src/mcs51/main.c,
45716 * src/pic/ralloc.c (pic14_assignRegisters),
45718 * src/pic16/ralloc.c (pic16_assignRegisters),
45719 * src/pic16/main.c,
45720 * src/xa51/ralloc.c (xa51_assignRegisters),
45722 * src/z80/ralloc.c (z80_assignRegisters),
45723 * src/z80/ralloc.h,
45724 * src/SDCCopt.c (eBBlockFromiCode, replaceRegEqv, killDeadCode),
45725 * src/SDCCcse.c (ifxOptimize, cseBBlock, cseAllBlocks),
45727 * src/SDCCdflow.c (computeDataFlow),
45729 * src/SDCCloop.c (addDefInExprs, loopInvariants, loopOptimizations),
45731 * src/SDCCcflow.c (*),
45733 * src/SDCCBBlock.c (iCodeBreakDown, dumpEbbsToFileExt, eBBWithEntryLabel),
45734 * src/SDCCBBlock.h (struct ebbIndex): new struct that keeps two copies
45735 of the eBBlock list, sorted by both bbnum and dfnum. (fixes bug with
45736 immedDom() returning wrong block; probably fixes bug #1160833)
45738 2005-03-20 Borut Razem <borut.razem AT siol.net>
45740 * support/scripts/inc2h.pl: WIN32 port
45742 2005-03-19 Maarten Brock <sourceforge.brock AT dse.nl>
45744 * device/lib/makefile.in: added abs.c and labs.c
45746 2005-03-17 Maarten Brock <sourceforge.brock AT dse.nl>
45748 * device/include/stdint.h: added
45749 * device/lib/abs.c: added
45750 * device/lib/labs.c: added
45751 * device/include/stdlib.h: added abs() and labs() prototypes
45752 * device/lib/libsdcc.lib: added abs and labs
45753 * device/include/float.h,
45754 * device/lib/_fsmul.c,
45755 * device/lib/printf_fast.c,
45756 * device/lib/printf_tiny.c: updated comments
45758 2005-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45760 * src/SDCCicode.c (geniCodeSwitch, geniCodeJumpTable): fixed
45763 2005-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45765 * src/SDCCcse.c (cseBBlock): retain assignment to self when volatile
45766 * src/SDCCast.c (isLoopCountable): fixed bug #1161985
45768 2005-03-15 Maarten Brock <sourceforge.brock AT dse.nl>
45770 * device/lib/printf_large.c: removed inline assembly for portability and
45771 readability. Use printf_fast if speed or size are more important.
45772 * src/pic16/gen.c: removed conditions around use of DEBUGpc
45773 * src/pic16/genutils.h: added define for DEBUGpc for MSVC
45775 2005-03-15 Vangelis Rokas <vrokas AT users.sourceforge.net>
45777 * src/pic16/genutils.c (pic16_genCmp_special): initialized offs to
45778 prevent compiler warning
45780 2005-03-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
45782 * device/lib/pic16/startup/crt0i.c (_cinit): local variables where
45783 moved to level 0 and declared as static. Also they are explicit
45784 placed in access bank. This was necessery because some times they
45785 might cross memory bank boundaries. crt0iz.c is *NOT* updated!!!
45786 * src/pic16/device.h: added flag OPTIMIZE_CMP to enable some compare
45787 optimizations. Currently only compare to unsigned char is implemented,
45788 * src/pic16/gen.c: added fReturnIdx array,
45789 * (struct resolvedIfx) is moved to gen.h and made public,
45790 * (struct _G): added sregsAlloc and sregsAllocSet fields,
45791 * (aopForSym): added an optimization to directly store in stack of
45792 the operand of a SEND iCode,
45793 * (pic16_aopOp): don't return return registers as strings (AOP_STR)
45794 but as registers instead (AOP_REG) using the fReturnIdx array,
45795 * (pic16_freeAsmop): remove the freed register from the
45796 _G.sregsAlloc field,
45797 * (pic16_aopGet): in case AOP_STR, the compare to 'a' is changed to
45798 a compare of 'WREG',
45799 * (pic16_popGetTempRegCond): changed function prototype, now
45800 function takes also a bitVector argument v which holds the current
45801 set of registers that are allocated for stack access by aopForSym,
45802 registers allocated in aopForSym for accessing stack symbols are not
45803 any more part of the functions usedRegs field,
45804 * (genCall): some times aopOp is called for a stack variable to be
45805 send, aopForSym might perform the push, if this is true make sure
45806 that genCall doesn't push the variable twice by testing _G.resDirect,
45807 * (genFunction): changed testing for unspecified interrupt number
45808 from 256 to INTNO_UNSPEC,
45809 * modified selection scheme of frame pointer generation. Previously
45810 if function did use local registers a frame pointer was generated,
45811 now a frame pointer is generated only if function has arguments
45812 (that need PLUSW2 register access), or has stack arguments, or the
45813 compiler is not instructed to omit the frame pointer,
45814 * (genEndFunction): before restoring local registers that were saved
45815 in the function preamble, also restore the registers that *might*
45816 have been allocated for stack access,
45817 * (genRet): removed some old comments,
45818 * (genCmp, the active (RN's) version): added a call to the
45819 pic16_genCmp_special function to perform the compare with a more
45820 robust and optimized way,
45821 * (genInline): a feature has been added in inline code generation,
45822 which allows a wildcard variable substitution when writing inline
45823 assembly. Code is incomplete and experimental therefore undocumented,
45824 * (genCast): changed order of aopOp for result and right to allow
45825 aopForSym to directly load the result if possible,
45826 * src/pic16/genutils.c (selectCompareOp, pic16_genCmp_special): NEW,
45827 perform an optimized compare on some selected special occasions,
45828 * src/pic16/genutils.h: declaration of resolvedIfx structure from gen.c,
45829 * src/pic16/glue.c (pic16createInterrupVect): make sure we never
45830 generate an IVT any more,
45831 * src/pic16/main.c (pic16_optionsTable): added command line option
45833 * (_pic16_initPaths): when calling C preprocessor define pic18fXXXX
45834 macro too, when calling assembler define pic18fXXXX *and* __18Fxxxx
45836 * src/pic16/NOTES: Raphael Neider added in list of active developers
45837 * src/pic16/pcode.c (OPT_TYPE_STR): added strings jumptable_begin and
45838 jumptable_end to prevent bug #,
45839 * (pic16_pciADDWFC, ADDFWC, COMF, CLRF): added some missing flags in
45840 inCond and outCond fields,
45841 * src/pic16/pcoderegs.c (pCodeOptime2pCodes): add a fix for bug #,
45842 * src/pic16/ralloc.c (serialRegAssign): explicit set willCS to 0 to
45843 turn off register spilling,
45844 * (packRegsForOneUse): synced with other ports' versions although it
45845 is not used currently,
45846 * (pic16_packRegisters): added an optimization while reading
45847 structure bitfields, some registers may be saved (malloc code is
45848 decreased by 80 bytes)
45850 2005-03-12 Vangelis Rokas <vrokas AT users.sourceforge.net>
45852 * src/SDCCcse.c (cseBBlock): inside 'do operand lookup' loop test if
45853 left is a bitfield, if yes, then don't optimize assignment. Perhaps
45854 this can be optimized more?
45856 2005-03-10 Raphael Neider <rneider AT web.de>
45858 * src/pic16/gen.c (pic16_loadFSR0, genPackBits, genUnpackBits,
45859 genNearPointerGet): (hopefully) fixed access to bitfields via
45860 pointers (p->bitN = x; and x = p->bitN; failed)
45862 2005-03-09 Paul Stoffregen <paul AT pjrc.com>
45864 * device/lib/printf_fast.c: fix leading zero format, eg "%02d"
45866 2005-03-09 Raphael Neider <rneider AT web.de>
45868 * src/SDCCopt.c (killDeadCode): fixed bug #1156016
45870 2005-03-06 Maarten Brock <sourceforge.brock AT dse.nl>
45872 * src/SDCCicode.h: moved CRITICAL and ENDCRITICAL from SKIP_IC2 to SKIP_IC
45873 * src/mcs51/ralloc.c (willCauseSpill): added check for REG_BIT type,
45874 (regTypeNum): set REG_BIT type if necessary
45875 * src/mcs51/ralloc.h: added define REG_BIT, used to fix bug 1144613
45876 * support/regression/tests/critical.c: check bug 1144613
45878 2005-03-02 Raphael Neider <rneider AT web.de>
45880 * src/pic16/gen.c (genRightShiftLiteral): fixed bug #1154256
45882 2005-02-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45884 * src/avr/ralloc.c (serialRegAssign),
45885 * src/ds390/ralloc.c (serialRegAssign),
45886 * src/hc08/ralloc.c (serialRegAssign),
45887 * src/mcs51/ralloc.c (serialRegAssign),
45888 * src/pic/ralloc.c (serialRegAssign),
45889 * src/pic16/ralloc.c (serialRegAssign),
45890 * src/xa51/ralloc.c (serialRegAssign),
45891 * src/z80/ralloc.c (serialRegAssign): fixed bug #1105154
45893 2005-02-22 Maarten Brock <sourceforge.brock AT dse.nl>
45895 * src/SDCCast.c (decorateType): fixed bug 1124787
45897 2005-02-20 Hubert Sack <sack AT digiplan.de>
45898 committed by Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45900 * src/mcs51/peeph.def: added peepholes 3.h-k and 132.a-f from
45903 2005-02-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45905 * src/SDCCpeeph.def: new keyword "labelRefCountChange" which allows peepholes
45906 to keep the correct label reference count when adding/removing references
45907 to labels. A peephole file using this is appended to patch #1144962.
45909 2005-02-14 Raphael Neider <rneider AT web.de>
45911 * device/lib/pic16/libc/string/memccpy.c: changed 3rd argument to char
45912 * src/SDCC.lex (process_pragma): fixed to make disable_warning work for PIC16
45913 * src/pic16/gen.c (aopForSym, calls to pic16_aopOp): prevent unneccessary
45914 retrievals of result operand's value on assignment
45916 2005-02-13 Vangelis Rokas <vrokas AT otenet.gr>
45918 * device/include/pic16/string.h: modified prototype for memccpy()
45919 to memccpy(void *, void *, char, size_t)
45920 * src/pic16/gen.c (genFunction, genEndFunction): reenable if-case to
45921 check whether to omit frame pointer or not,
45922 * (genInline): convert all occurences of "\n" to LF in inline
45923 assembler blocks, this helps formatting the inline text,
45924 * (pic16_loadFSR0): modified prototype,
45925 * (genNearPointerGet, genNearPointerSet): reorganization of code,
45926 removed some 8051 legacy code,
45927 * (genPackBits): enabled handling bitfields exceeding one byte in size,
45928 * src/pic16/ralloc.c (pic16_assignRegisters): clear dynrIdx variable
45929 before allocating temporary registers in functions,
45931 2005-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
45933 * support/regression/tests/bitvars.c: corrected the "fix"
45935 2005-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
45937 * support/regression/tests/bitvars.c,
45938 * support/regression/tests/bitwise.c,
45939 * support/regression/tests/rotate.c: "fixed" problems on Alpha
45941 2005-02-10 Raphael Neider <rneider AT web.de>
45943 * src/pic16/pcode.c (assignToSameBank) : fixed cast to pointer of
45944 different size for Alpha
45945 * src/pic16/gen.c (genCmpEq) : improved compare with 0
45947 2005-02-09 Raphael Neider <rneider AT web.de>
45949 * src/SDCC.lex(doPragma) : save and restore warning options as well
45950 (also added new stack plus clone- and copyAndFreeSDCCERRG())
45951 * have #pragma less_pedantic set the errorlevel to WARNING
45953 * (cloneOptimize) : fixed wrong malloc's size
45954 * support/Util/SDCCerr.[ch] : made SDCCERRG globally accessible to
45955 facilitate correct handling of #pragma (save|restore)
45957 2005-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
45959 * src/mcs51/gen.c: removed non-standard C nameless struct/union
45961 2005-02-04 Slade Rich <slade_rich AT users.sourceforge.net>
45963 * src/pic/gen.c : Fix for bugs #1080519 & #1115662.
45965 2005-02-03 Maarten Brock <sourceforge.brock AT dse.nl>
45967 * device/include/mcs51/c8051f120.h: added declarations for sbit port 2,3&4
45969 2005-02-02 Raphael Neider <rneider AT web.de>
45971 * src/SDCCast.c (processParms): disabled W_NONRENT_ARGS for pic16 port
45972 * src/pic16/gen.c (aopForSym): reenabled special case for function pointers
45973 * (pic16_storeForReturn): fixed to allow returning function pointers
45974 * (genPackBits): improved accessing full bytes, implemented for GPOINTERs
45975 * device/include/pic16/{stddef.h,stdbool.h}: added
45977 2005-02-02 Maarten Brock <sourceforge.brock AT dse.nl>
45979 * device/include/mcs51/c8051f040.h: added define CPT2_PAGE
45981 2005-02-01 Slade Rich <slade_rich AT users.sourceforge.net>
45983 * src/pic16/pic16.dsp : Added file graph.c to make it compile under windows
45984 * src/pic16/Makefile.bcc : Do not use this file but added file graph.c as it
45985 appeared to be required
45987 2005-01-31 Borut Razem <borut.razem AT siol.net>
45989 * support/scripts/sdcc.nsi: added include/asm/ds390, include/asm/mcs51,
45990 include/mcs51 and include/z80 directories to the package
45992 2005-01-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
45994 * src/hc08/gen.c (genFunction): fixed bug #1112752
45996 2005-01-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
45998 * src/mcs51/peeph.def: adapted peephole 258.x to changed gen.c (genAnd)
46000 2005-01-29 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46002 * src/mcs51/gen.c (genAnd): accessing LSB/MSB by rotating acc
46004 2005-01-29 Maarten Brock <sourceforge.brock AT dse.nl>
46006 * device/include/Makefile.in: create/copy mcs51 and z80 include subdirs
46008 2005-01-27 Maarten Brock <sourceforge.brock AT dse.nl>
46010 * device/include/c8051fxxx.h: removed these 6 files
46011 * device/include/mcs51/c8051fxxx.h: added these 11 new files
46013 2005-01-26 Raphael Neider <rneider AT web.de>
46015 * src/pic16/gen.c (genAssign): fixed assignment from longs
46016 in codespace (were cut to three bytes)
46017 * (genDummyRead): implemented (except for CODESPACE...),
46019 * src/pic16/glue.c (emitStatistics): beautified
46020 * device/lib/pic16/libm/Makefile: added include path
46022 2005-01-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46024 * src/z80/gen.c (aopPut): fixed bug #1103902
46026 2005-01-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46028 * device/lib/expf.c: fixed bug #1095792
46030 2005-01-24 Vangelis Rokas <vrokas AT otenet.gr>
46032 * device/lib/pic16/libm: added Math library sources
46034 2005-01-24 Raphael Neider <rneider AT web.de>
46036 * src/pic16/pcode.h: added second memory operand to pCodeOpReg
46037 to enable upcast to pCodeOpReg2 (there is no type tag to
46038 differenciate the two and pic16_popGet2p cast into PCOR2)
46039 * src/pic16/main.c (_process_pragma): fixed another malloc bug
46040 (sizeof(sectNames) changed to sizeof(sectName))
46041 Both patches fix segfaults under MinGW.
46043 2005-01-23 Raphael Neider <rneider AT web.de>
46045 * src/pic16/{device.c,pcode.c}: s/free/Safe_free/g for
46046 Safe_[mc]?alloc()'ed variables
46047 * src/pic16/gen.c (pic16_aopOp,pic16_popGet): added handling
46048 of (byte sized) temporaries (assign them to WREG for now)
46049 * src/pic16/main.c (_process_pragma): fixed nasty malloc bug
46050 (used sizeof(set *sectSyms) instead of sizeof(struct sectSym)),
46051 this might fix SIGSEGVs on MinGW...
46052 * src/SDCCopt.c (killDeadCode): restored original behaviour
46053 (volatile operands might get thrown away though)
46055 2005-01-23 Vangelis Rokas <vrokas AT otenet.gr>
46057 * src/pic16/gen.c: fixed bug #1106975,
46058 * src/pic16/gen.c: fixed possible bug #1102572, now during TOS
46059 pointer update, INTCON is saved, global interrupts are disabled and
46060 restored after updateing TOS.
46061 * src/SDCC.y, src/SDCC.lex, src/SDCCsymt.c, src/SDCCsymt.h:
46062 * added function attribute 'shadowregs' to take advantage of shadow
46064 * added function attribute 'wparam' as an alternative to the wparam
46066 * support/Utils/SDCCerr.[ch]: added error E_SHADOWREGS_NO_ISR when
46067 user declares a non-ISR function as 'shadowregs',
46068 * doc/sdccman.lyx: updated to reflect recent changes of pic16 port
46070 2005-01-22 Vangelis Rokas <vrokas AT otenet.gr>
46072 * .version: bumped version number to 2.4.8
46073 * device/lib/pic16/pics.all: list of PIC18F devices supported by
46075 * device/lib/pic16/libio/i2c/: I2C module support library,
46076 * device/include/pic16/i2c.h: I2C support library header,
46077 * device/lib/pic16/libc/stdio/: standard IO support sources,
46078 * (printf_small.c): printf_small() source, supports float print,
46079 * (printf_tiny.c): printf_tiny() source, does not support floats,
46080 * device/lib/pic16/Makefile.common.in: added OPT_FLAGS macro to
46081 enable global optimizations for entire library source, other
46082 Makefiles in the source tree are also modified to reflect this,
46083 * device/lib/pic16/libc/stdlib/putchar.c (putchar): dummy putchar()
46085 * doc/sdccman.lyx: updated to reflect new changes,
46086 * src/pic16/gen.c (aopForSym): don't handle sym->iaccess in
46087 sym->onStack if-case,
46088 * src/pic16/main.c (_pic16_keywords): commented out keywords bit,
46089 sbit, idata, _idata, xdata, _xdata,
46090 * added pragma library, to link an external library, (see doc),
46091 * removed command line options, --pomit-config-words, --pomit-ivt,
46092 --pleave-reset-vector,
46093 * (pic16_finaliseOptions): when define macro SDCC_MODEL_{SMALL/LARGE}
46094 when calling assembler to reflect memory model used, also define
46095 macro STACK_MODEL_{SMALL/LARGE} when compiling and assembling to
46096 reflect stack model used,
46097 * src/pic16/ralloc.c (pic16_allocDirReg): when operand is allocated
46098 on stack return NULL,
46100 2005-01-22 Daniel Winkler <post AT danielwinkler.de>
46102 * src/SDCCopt.c (killDeadCode): do not throw iCodes away if one
46103 of the operands is volatile. Fixes #1020220
46105 2005-01-22 Daniel Winkler <post AT danielwinkler.de>
46107 * src/pic16/pcoderegs.c (pCodeOptime2pCodes): reenabled optimization
46108 * (OptimizeRegUsage): make sure that there is really no other flow where
46109 the first pCode is used
46111 2005-01-22 Raphael Neider <rneider AT web.de>
46113 * src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization
46114 to fix #1106967 (pCode->seq are not set up correctly)
46116 2005-01-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46118 * src/SDCCglue.c (glue): make sure code area is declared before the
46119 static initialization area.
46121 2005-01-21 Raphael Neider <rneider AT web.de>
46123 * device/lib/Makefile.in: fixed test for pic16 install dir
46124 * device/lib/pic16/*/Makefile*: modified compile flags to enable
46126 * doc/sdccman.lyx: updated banksel optimization, removed --flr-support and
46127 added --optimize-goto compiler switch and pragma wparam documentation
46128 * src/pic16/pcode.c (pic16_OptimizeBanksel): removed statistics dump
46129 * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed copying of WREG, PRODL
46130 and PRODH closing bug #1071770 (peephole optimizer)
46132 2005-01-19 Raphael Neider <rneider AT web.de>
46134 * src/SDCCglobl.h: ensure that PATH_MAX >= 2048 to guarantee
46135 cmdLine buffers (used when calling sdcpp...) are large enough
46136 (MAX_PATH=256 truncates arguments leading to system halts when
46138 * src/pic16/gen.c (pic16_sameRegs): relaxed size criterion
46139 * (genUminus): rewritten to for efficiency
46140 * (genNearPointer[GS]et): enforce reloading of FSR0 (was still
46141 used uninitialized in some cases)
46142 * (genCast): upcasting a 16bit int to a 24bit GPOINTER may not
46143 copy the third byte from the int -- now assumes 0x80 (data memory)
46144 * src/pic16/genarith.c (pic16_genPlus): fixed bug when swapping
46145 operands (genAddLit expects the iCode's operands to swapped as
46146 well), fixed leftover bytes (crashed for short left operands)
46147 * (pic16_genMinusDec): performance improvements, removed false
46149 * (pic16_genMinus): fixed to cope with differently sized operands
46150 * src/pic16/glue.c (pic16_glue): added new banksel optimization
46152 * src/pic16/pcode.c: implemented (first phase of) banksel optimization
46153 * src/pic16/graph.[ch]: implementation of directed graphs, used by
46154 new banksel optimization
46155 * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): prevented
46156 analysis for temporary registers (segfaults...)
46157 * src/pic16/peeph.def: added rule
46159 2005-01-18 Vangelis Rokas <vrokas AT otenet.gr>
46161 * device/lib/pic16/libc/stdlib/x_ftoa.c: it defines x_ftoa function
46162 which converts a float number to its ASCII representation
46163 * device/lib/pic16/libc/utils/cnvfrac.S,cnvint.S: support
46164 functions to convert the fractional and integer part of a float to ASCII,
46165 * device/lib/pic16/libc/stdlib/(calloc.c,free.c, malloc.c,
46166 realloc.c): added _MALLOC_SPEC to explicit place variables in data
46168 * device/include/asm/pic16/features.h: added _CODE, _DATA, _AUTOMEM,
46170 * device/include/pic16/adc.h: added GPL info,
46171 * src/pic16/gen.c (genIfxpCOpJump): perform an genIfxJump but using
46172 a pCodeOp as tested operand,
46173 * (genNearPointerGet): optimized bit testing, does not use
46174 intermediate register for bit value, test directly instead with
46175 BTFSS, BTFSC, works only for single bits,
46176 * (genpic16Code): dump the name of the iCode in the asm,
46177 * src/pic16/ralloc.c (decodeOp): removed static declaration and
46178 renamed to pic16_decodeOp,
46179 * (serialRegAssign): do not allocate a temporary register for iCode
46180 sequences that test a single bit for 1/0
46182 2005-01-12 Vangelis Rokas <vrokas AT otenet.gr>
46184 * src/pic16/pcode.[ch]: introduced pic16_stackpnt_*,
46185 pic16_framepnt_*, pic16_stack_*, pic1_frame_* pointer variables to
46186 access stack and frame pointers. They are initially assigned to
46187 point at pic16_pc_fsr1[lh] and pic16_pc_fsr2[lh] variables and other
46188 accessing SFRs. Updated all occurences of modification of stack or
46189 frame pointer in gen.c and pcode.c,
46190 * src/pic16/ralloc.c (serialRegAssign): fixed two bugs with
46191 assigning of a literal value to pointers,
46192 * src/pic16/main.c (pic16_finiliseOptions): set pre-processor define
46193 flag STACK_MODEL_SMALL or STACK_MODEL_LARGE according to the model
46196 2005-01-11 Vangelis Rokas <vrokas AT otenet.gr>
46198 * doc/sdccman.lyx: update documentation about stack pragma, added
46199 some info for stack memory models
46201 2005-01-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
46203 * src/pic16/gen.c (DEBUGpc): MSVC 6 does not support macro variable arguments
46205 2005-01-08 Raphael Neider <rneider AT web.de>
46207 * src/pic16/device.c (pic16_dump_usection): changed naming scheme for
46208 udata sections to fix bug #1097823
46210 2005-01-05 Raphael Neider <rneider AT web.de>
46212 * src/pic16/gen.c (genGenericShift): added handling of differently
46213 sized left operand and result
46215 2005-01-04 Raphael Neider <rneider AT web.de>
46217 * src/pic16/gen.c (genIfxJump): fixed inverted skips on CARRY
46218 * (genIfx): fixed (?) read from uninitialized SPIL_LOC (now assumes CARRY
46219 to hold the condition bit)
46220 * added new version of genCmp (old code available via #define)
46221 * added new version of genShiftLeft/genShiftRight in a generic
46222 way, now supports shifting by negative values
46223 * (genLeftShiftLiteral, genRightShiftLiteral): use absolute value of
46224 shiftCount (expected by genGenericShift)
46225 * src/pic16/genarith.c (genPlus): added code for adding CARRY+literal
46226 * src/pic16/pcode.c (pic16_OptimizeJumps): removed annoying statistics
46228 * (pic16_newpCodeOpLit): changed to cast to unsigned char (as e.g. -32766
46229 is an invalid literal too...)
46231 2005-01-04 Vangelis Rokas <vrokas AT otenet.gr>
46233 * src/pic16/gen.c (aopForSym, genEndFunction): applied some fixes
46234 from Raphael Neider,
46235 * src/pic16/pcode.c (pic16_newpCodeOpLit): removed casting to char
46236 for 8-bit literals. This fixes some literal operands which are sign
46237 extended to 16-bits ints when instruction needs only 8-bits.
46239 2004-12-31 Paul Stoffregen <paul AT pjrc.com>
46241 * device/lib/logf.c: added mcs51 assembly version
46242 * device/lib/expf.c: added mcs51 assembly version
46243 * device/lib/_logexpf.c: new shared asm code for expf and logf
46244 * device/include/math.h: add defines for assembly math library
46245 * device/lib/Makefile.in: build new _logexpf.c
46246 * device/lib/libfloat.lib: use new _logexpf.c
46248 2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
46251 * src/pic/pcode.c : adjusted internal stack and pre-allocated registers for
46252 device types which have less than 0x7f registers.
46254 2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
46256 * src/pic/genarith.c : Fixed problem with subtraction where the result would not be updated when borrowing.
46258 2004-12-28 Paul Stoffregen <paul AT pjrc.com>
46260 * device/lib/printf_fast.c: only build on supported arch.
46261 * device/lib/printf_tiny.c: only build on supported arch.
46262 * device/lib/printf_fast_f.c: only build if asm float lib
46263 * device/lib/_fsget1arg.c: only build if asm float lib
46264 * device/lib/_fsget2args.c: only build if asm float lib
46265 * device/lib/_fsnormalize.c: only build if asm float lib
46266 * device/lib/_fsreturnval.c: only build if asm float lib
46267 * device/lib/_fsrshift.c: only build if asm float lib
46268 * device/lib/_fsswapargs.c: only build if asm float lib
46269 * device/include/stdio.h: don't provide print_fast,
46270 print_fast_f, print_tiny prototypes if --xstack used
46272 2004-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
46274 * device/lib/sincosf.c (sincosf): don't invert bit/bool by ~
46275 * support/regression/ports/mcs51-stack-auto/spec.mk: added new _fs.. files
46278 2004-12-28 Paul Stoffregen <paul AT pjrc.com>
46280 * device/lib/printf_fast_f.c: same as printf_fast, but
46281 with floating point enabled
46282 * device/lib/printf_fast.c: minor tweaks
46283 * device/include/stdio.h: add printf_fast_f
46285 2004-12-27 Paul Stoffregen <paul AT pjrc.com>
46287 * src/SDCCmain.c: make --float-reent default for mcs51
46288 * device/lib/_fsadd.c: added mcs51 assembly version
46289 * device/lib/_fssub.c: added mcs51 assembly version
46290 * device/lib/_fsmul.c: added mcs51 assembly version
46291 * device/lib/_fsdiv.c: added mcs51 assembly version
46292 * device/lib/_fseq.c: added mcs51 assembly version
46293 * device/lib/_fsneq.c: added mcs51 assembly version
46294 * device/lib/_fsgt.c: added mcs51 assembly version
46295 * device/lib/_fslt.c: added mcs51 assembly version
46296 * device/lib/_fscmp.c: shared code for fseq,fsgt,fslt,fsneq
46297 * device/lib/Makefile.in: add _fscmp to build
46298 * device/lib/libfloat.lib: add _fscmp to build
46300 2004-12-27 Paul Stoffregen <paul AT pjrc.com>
46302 * device/lib/_fs2slong.c: added mcs51 assembly version
46303 * device/lib/_fs2sint.c: added mcs51 assembly version
46304 * device/lib/_fs2schar.c: added mcs51 assembly version
46305 * device/lib/_fs2ulong.c: added mcs51 assembly version
46306 * device/lib/_fs2uint.c: added mcs51 assembly version
46307 * device/lib/_fs2uchar.c: added mcs51 assembly version
46308 * device/lib/_slong2fs.c: added mcs51 assembly version
46309 * device/lib/_sint2fs.c: added mcs51 assembly version
46310 * device/lib/_schar2fs.c: added mcs51 assembly version
46311 * device/lib/_ulong2fs.c: added mcs51 assembly version
46312 * device/lib/_uint2fs.c: added mcs51 assembly version
46313 * device/lib/_uchar2fs.c: added mcs51 assembly version
46314 * device/include/float.h: added #define to select asm vs c
46316 2004-12-26 Paul Stoffregen <paul AT pjrc.com>
46318 * device/lib/printf_fast.c: improvements to float output
46319 * device/include/float.h: add defines for assembly float library
46320 * device/lib/_fsget1arg.c: receive 1 float arg
46321 * device/lib/_fsget2args.c: receive 2 float args (reentrant)
46322 * device/lib/_fsnormalize.c: normalize a float
46323 * device/lib/_fsreturnval.c: return float, various helper routines
46324 * device/lib/_fsrshift.c: right shift a float's mantissa
46325 * device/lib/_fsswapargs.c: swap 2 floats
46326 * device/lib/Makefile.in: build these 6 new files for mcs51
46327 * device/lib/libfloat.lib: add these 6 files to the library
46329 2004-12-26 Borut Razem <borut.razem AT siol.net>
46331 * sim/ucsim/avr.src/arith_inst.cc: fixed bug #1088372- savr is not
46334 2004-12-25 Paul Stoffregen <paul AT pjrc.com>
46336 * device/lib/printf_tiny.c: printf for mcs51 in only 267 bytes,
46337 and fully reentrant and register bank neutral.
46338 * device/lib/printf_fast.c: added float (not enabled by default),
46339 added compact/slower integer (also not enabled by default),
46340 improved size/speed of fast integer code, other minor changes
46341 * device/include/stdio.h, device/lib/Makefile.in,
46342 device/lib/libsdcc.lib: integrate printf_tiny into mcs51 build
46344 2004-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
46346 * src/pic16/pcode.c: declaring variables other than at the start of a
46347 block is not supported in C by VC6.
46349 2004-12-22 Vangelis Rokas <vrokas AT otenet.gr>
46351 * applied a previous patch from Raphael Neider that wasn't included
46352 in the previous commits, which fixes infinite loops within jumptable
46354 * made some fixes that previous patches introduced
46356 2004-12-21 Vangelis Rokas <vrokas AT otenet.gr>
46358 * src/pic16/gen.c (pic16_aopGet): applied fix from Raphael Neider
46359 that fixes an issue with AOP_PCODE asmop's offset,
46360 * (pic16_popCopyReg): update instance field too,
46361 * (mov2w): modified to pic16_mov2w because it conflicts with mov2w
46362 function of pic port,
46363 * (genCmp, genAnd, genAssign),
46364 * src/pic16/genarith.c (genAddLit): some fixes from Raphael Neider,
46366 2004-12-20 Vangelis Rokas <vrokas AT otenet.gr>
46368 * src/SDCCast.c (gatherAutoInit): allow pic16 to emit static
46369 variables initial values to idata section,
46370 * src/SDCCicode.c (geniCodeCall): patch from ### to fix unreferenced
46371 variables in some functions. This utilizes parmBytes field of iCode
46372 structure to hold the offset of the variable in stack. (might be
46373 able to use the stack field too?)
46374 * applied patch from Raphael Neider # ### , # ###
46375 * src/pic16/glue.c (pic16emitRegularMap): fix to print static
46376 variable initial values in idata section,
46377 * src/pic16/ralloc.c (pic16_allocDirReg): don't allocate register
46378 for static variables with initial value
46379 * src/device/lib/pic16/libsdcc/float/ulong2fs.c (__ulong2fs):
46380 applied fix in while loop from Raphael Neider.
46382 2004-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
46384 * src/ds390/gen.c (genCpl): fixed bit=~(char/bit) bugs, added warning
46385 * src/ds390/main.c (_ds390_regparm): don't pass bit params in registers
46386 * src/ds390/ralloc.c (serialRegAssign): spill bits
46387 * src/mcs51/gen.c (genCpl): fixed bit=~(char) bugs, added warning
46388 * support/Util/SDCCerr.c,
46389 * support/Util/SDCCerr.h: added warning W_COMPLEMENT for using bit=~(bit)
46390 * support/regression/tests/bitvars.c: added tests for bitwise complement(~)
46391 * support/regression/tests/bitwise.c: added test for bitwise complement(~)
46393 2004-12-09 Maarten Brock <sourceforge.brock AT dse.nl>
46395 * device/include/sdcc-lib.h: inserted LGPL, added includes
46396 asm/ds390/features.h and asm/mcs51/features.h
46397 * device/include/asm/default/features.h,
46398 * device/include/asm/gbz80/features.h,
46399 * device/include/asm/z80/features.h: added empty _AUTOMEM
46401 * device/include/asm/ds390/features.h,
46402 * device/include/asm/mcs51/features.h: added files with defines for
46403 _AUTOMEM and _STATMEM indicating automatic and static storage class
46404 * device/lib/printf_large.c (_print_format): optimized & used _AUTOMEM
46405 * doc/sdccman.lyx: version 2.4.7, updated xstack documentation
46406 * src/SDCCicode.c (geniCodeCast),
46407 * src/SDCCsymt.c (compareType): allow cast of data-ptr to idata-ptr
46408 * src/SDCCloop.c (loopInduction): removed unused variable lr
46409 * src/SDCCopt.c (convilong, convertToFcall): moved "easy special case"
46410 to convertToFcall to include char modulo (RFE 1065037), added check
46411 if left operand is unsigned and use abs of literal value
46412 * src/SDCCpeeph.c (setFromConditionArgs): removed double quotes option
46413 as it doesn't work after conversion from peephole.def to peephole.rul
46414 * src/mcs51/gen.c (toBoolean): added check for size,
46415 (genModOneByte): optimized code for signed char modulo a literal
46416 power of 2 (thanks to Hubert Sack),
46417 (genRRC): removed unnecessary "clr c",
46418 (genRLC): replaced "add a,acc" with cheaper "rlc a"
46419 * src/mcs51/peeph.def: renamed 115 to 115.a, added rule 115.b: another
46421 swapped rules 256.c and 256.d,
46422 extended 256.d by using new multiple checks (thanks Erik),
46423 added rules 256.e and 256.f,
46424 updated rule 261.a and 261.b to new generated code
46425 * support/regression/tests/muldiv.c: added test div/mod by a power of 2
46427 2004-12-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46429 * src/SDCCloop.c (basicInduction, loopInduction): fixed several
46430 induction related bugs, including first part of bug #1074377
46432 2004-12-05 Vangelis Rokas <vrokas AT otenet.gr>
46434 * applied patch from bug-report #1076292,
46435 * applied patches for genAnd and Goto-optimizations for Raphael
46437 * src/SDCCicode.c (printOperand): fixed !REGA source to compile and
46438 dump a less iCode information,
46439 * src/pic16/device.h (pic16_options_t): added field debgen,
46440 * src/pic16/gen.h: added macros DUMP_FUNCTION_ENTRY,
46441 DUMP_FUNCTION_EXIT, FENTRY, FENTRY2,
46442 * src/pic16/gen.c (my_powof2): renamed to pic16_my_powof2 and made
46444 * (various functions): added macros FENTRY and FENTRY2 to functions,
46445 to emit function prologue,
46446 * (various functions): fixed indentation,
46447 * (genNearPointerGet): fixed loading of FSR0,
46448 * (genPackBits): applied patch from Raphael Neider to fix updating
46449 of FSR0 and touching only the modified bits,
46450 * src/pic16/genarith.c (various functions): added macros FENTRY to
46451 emit function prologue in comments,
46452 * src/pic16/pcode.h: added functions debugf2, debugf3,
46453 * src/pic16/ralloc.c: partial fix for packForPush caused
46454 segmentation fault,
46456 2004-12-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46458 * src/mcs51/peeph.def: added 261.a,b (16 bit rotate) by Stas Sergeev
46459 <stsp AT users.sourceforge.net> with reversed byte order
46460 * support/regression/tests/rotate.c: added (ds390 skips some tests)
46462 2004-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46464 * src/z80/gen.c (genLeftShift, genRightShift): fixed second part of
46466 * src/hc08/gen.c (genrshFour, shiftRLong, shiftLLong),
46467 * src/mcs51/gen.c (shiftLLong): Fixed some shifting bugs Frieder found
46469 2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
46471 * src/pic/pcode.c : fixed a problem where banksel was not being inserted.
46473 2004-12-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46475 * src/SDCCpeeph.c (callFuncByName): support combined peephole rule
46477 (setFromConditionArgs): friendly operand parser for peephole rules,
46478 (operandBaseName, operandsNotRelated): new peephole condition
46479 "operandsNotRelated" -- similar to "operandsNotSame", but takes
46480 architecture specific register naming into account, handles n-way
46481 comparisons, and supports quoted literals
46482 * src/mcs51/peeph.def: restored rule 177.d with an extra condition
46484 2004-12-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46486 * src/mcs51/peeph.def: fixed bug #1076940
46488 2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
46490 * device/include/pic/pic16f877.h : added an include file for the PIC16F877 device.
46492 2004-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46494 Adding support for replacing ljmps with sjmps in jumptables
46495 generated for switch statements. For now you need to set the
46496 environment variable SDCC_SJMP_JUMPTABLE to enable this.
46497 Now 4 algorithms for mcs51 jumptable generation are used:
46498 ljmp or sjmp jumptables for up to 16 cases, stack-pushing target
46499 addresses loaded pc-relative for up to 112 cases and stack-pushing
46500 target addresses loaded with offset from dptr for up to 256 cases.
46502 * src/SDCCpeeph.c: added peephole conditional labelJTInRange
46503 * src/mcs51/main.c: adapted constants for switch table generation
46504 * src/mcs51/peeph.def: added 260.x for replacing ljmp with sjmp
46506 2004-11-26 Maarten Brock <sourceforge.brock AT dse.nl>
46508 * device/lib/printf_large.c (_print_format): fixed bug 1073386
46509 * support/regression/tests/bug1057979.c: added test for bug 1073386
46511 2004-11-25 Vangelis Rokas <vrokas AT otenet.gr>
46513 * src/pic16/pcode.c: fixed bug which may produce error in non-GNU
46516 2004-11-25 Vangelis Rokas <vrokas AT otenet.gr>
46518 * src/pic16/device.h,
46519 * src/pic16/genarith.c,
46520 * src/pic16/glue.c,
46521 * src/pic16/main.c,
46522 * src/pic16/pcode.c: applied patches #1068154 and #1070213
46524 2004-11-24 Vangelis Rokas <vrokas AT otenet.gr>
46526 Large cummulative patch for pic16 port.
46527 * device/lib/pic16/gstack.h: NEW, user can specify its own handler
46528 to call when a stack overflow occurs,
46529 * (malloc.h): added CVS Id tag,
46530 * (pic18f{242,252,442,452}.h): added T0CONbits structure and
46532 * added libc directory. The current version of LibC contains string
46533 functions, ctype functions and macros and some functions of the
46534 stdlib set (like malloc/free/atof/atoi etc...). All functions are to
46535 be extensively tested in the future. Standard disclaimer here.
46536 Library is not automatically build yet. But one can build it by
46537 invoking 'make' inside the libc directory.
46538 * added ADC library under libio. Preliminary version yet.
46540 * src/pic16/gen.h: added emitTOGC macro, to toggle Carry flag,
46541 * src/pic16/gen.c (aopForRemat): asmop size is filled by
46542 aopForRemat() now and not by pic16_aopOp(),
46543 * (pic16_popGetTempReg): removed warning messgae when allocating
46544 temporary registers, its a buggy feature and will be removed,
46545 * (pic16_popGet): set register instance field in AOP_CRY,
46546 * (pic16_outBitC): fixed for results in size greater than 1,
46547 * (genUminusFloat): fixed for pic16, ported code from mcs51,
46548 * (pic16_storeForReturn): optimized return of 0,
46549 * (genCmp): experimental code for new genCmp which uses PIC18's
46550 special compare&skip instructions. Initial tests fail some times
46551 with variables grater than 1 byte in size, so new code is disabled,
46552 * (genUnpackBits, genPackBits): more optimizations in reading/writing,
46554 * (genCast): began a fix to optimize the casting of a bit to another
46555 bit, now assigning a bitfield to another bitfield will fail, sorry,
46556 * src/pic16/main.c: disabled the use of lr-support feature,
46557 * src/pic16/pcode.h: renamed PCASMDIR to PCAD,
46558 * added some function prototypes, added function _debugf prototype,
46559 * src/pic16/pcode.c: (pic16_get_op): fixed emitting operands of register
46560 bits with offset (case PO_GPR_BIT),
46561 * (genericPrint): don't emit INFO pcode when --pcode-verbose not in
46563 * (isBankInstruction): modified to return 0 for no banking instruction,
46564 and 1 for banking instruction,
46565 * (pic16_isPCinFlow): check for PCAD (assembler directives) too,
46566 caused stop processing pCodes after a inline assembly block,
46567 * (pic16_popCopyGPR2Bit): updated to match bitfields with offset,
46568 * src/pic16/pcoderegs.c: fixed a bug with eliminating some temporary
46569 registers when it shouldn't,
46570 * src/pic16/ralloc.c (allocReg): add preliminary support for
46571 supporting a limited set of temporary registers,
46573 2004-11-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46575 * src/hc08/gen.c (genAssign, genPointerGetSetOfs, genDataPointerGet,
46576 genDataPointerSet): ensure assignments always copy in MSB to LSB
46578 (loadRegFromAop): recognize CLRH optimization,
46579 (genFunction): optimize RECEIVE iCodes in reentrant functions
46581 2004-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46583 * src/SDCCmain.c (parseCmdLine, optionsTable[]): fixed bug with
46584 --out-fmt-s19 turning into --out-fmt-elf if s19 was already
46586 * src/SDCCmain.c (linkEdit): don't define SSEG for HC08
46587 * src/hc08/main.c (_hc08_setDefaultOptions): default xdata to be
46588 contiguous with data
46590 2004-11-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46592 * device/lib/_gptrget.c (_gptrget),
46593 * device/lib/_gptrgetc.c (_gptrgetc),
46594 * device/lib/_gptrput.c (_gptrput): _naked allows to use ret
46595 instead of sjmp to ret
46596 * src/mcs51/peeph.def: added peepholes 3.d-g and 177.g,h provided
46597 by Hubert Sack <hsack2002 AT arcor.de> in RFE #1067986, thanks
46599 2004-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
46601 * .version: bumped version to 2.4.7
46602 * device/lib/_gptrget.c (_gptrget): is now _naked
46603 * device/lib/_gptrgetc.c (_gptrgetc): is now _naked
46604 * device/lib/_gptrput.c (_gptrput): is now _naked
46605 * src/SDCCast.c (createBlock): removed ridiculous self-assignment,
46606 (createFunction): fixed xstack
46607 * src/SDCCglue.c (emitMaps): set allocation required for bit area
46608 * src/SDCCicode.c (geniCodeCast): don't change SPEC_OCLS for literal
46610 (geniCodeCritical): store original interrupt state in an iTemp bit
46611 var unless stack-auto
46612 * src/SDCCicode.h: added CRITICAL and ENDCRITICAL to SKIP_IC2
46613 * src/SDCCmain.c (setIncludePath): added include/target to search path
46614 * src/SDCCmem.c (allocParms): store bit vars in bit space, not overlay
46615 * src/SDCCsymt.c (checkFunction): don't check regbank for isr's against
46617 (processFuncArgs): put bit vars in bit area
46618 * src/mcs51/gen.c (saveRegisters, unsaveRegisters, genXpush, saveRBank,
46619 unsaveRBank): fixed xstack,
46620 (genFunction): bugfix: replaced (global!) reentrant with fReentrant,
46621 (genFunction, genEndFunction): fixed xstack,
46622 (genAssign): optimization don't walk backwards through mem
46623 * src/mcs51/main.c (_mcs51_regparm): don't pass bit params in registers
46624 * src/mcs51/ralloc.c (createStackSpil): spill bits to bit area
46625 * support/regression/Makefile: also make library (for stack-auto) when
46626 making "all" and added "test-mcs51-xstack-auto"
46627 * support/regression/fwk/lib/testfwk.c: added T2_isr prototype for mcs51
46628 * support/regression/ports/mcs51/T2_isr.c: added this file as a stub
46629 * support/regression/ports/mcs51/fwk.lib: added to link T2_isr stub
46630 * support/regression/ports/mcs51/spec.mk: added rules for fwk.lib
46631 * support/regression/ports/mcs51-stack-auto/spec.mk: replaced
46632 make-library by MAKE_LIBRARY
46633 * support/regression/ports/mcs51-xstack-auto/spec.mk: file added to run
46634 regression tests for xstack
46635 * support/regression/tests/bitvars.c: test for bit vars (bug 938782)
46636 * support/regression/tests/critical.c: test for critical on mcs51
46638 2004-11-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46640 * support/regression/ports/ucz80/spec.mk: use include and lib files from
46641 built version of sdcc instead of installed version
46643 2004-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
46645 * src/mcs51/gen.c (toBoolean): fixed bug 1065458
46646 * device/lib/Makefile.in: z80 uses printf_large.c, sprintf.c and
46648 * device/lib/printf_large.c (calculate_digit): fixed bug 1057979
46649 * device/lib/z80/Makefile: don't use printf.c as it fails bug 1057979
46650 WARNING: remove device/lib/build/z80/printf.o by hand when
46651 updating from previous build!
46652 * device/lib/z80/printf.c: updated comment
46653 * support/regression/tests/bug1057979.c: test all ports now
46654 * support/regression/tests/bug1065458.c: file added
46656 2004-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46658 * src/z80/gen.c (genFunction, genEndFunction): avoided generating
46659 *_start and *_end symbols for static functions
46661 2004-11-11 Maarten Brock <sourceforge.brock AT dse.nl>
46663 * src/SDCCmain.c (linkEdit): don't suppress crt0 if --nostdlib is used
46664 and search crt0.o in all library paths,
46665 (setIncludePath): proper handling of --nostdinc,
46666 (setLibPath): proper handling of --nostdlib
46667 * support/regression/Makefile,
46668 * support/regression/ports/ds390/spec.mk,
46669 * support/regression/ports/gbz80/spec.mk,
46670 * support/regression/ports/hc08/spec.mk,
46671 * support/regression/ports/mcs51/spec.mk,
46672 * support/regression/ports/mcs51-large/spec.mk,
46673 * support/regression/ports/mcs51-stack-auto/spec.mk,
46674 * support/regression/ports/z80/spec.mk: use include and lib files from
46675 built version of sdcc instead of installed version
46676 * doc/sdccman.lyx: fixed typo in --nostdinc
46678 2004-11-10 Slade Rich <slade_rich AT users.sourceforge.net>
46681 * src/pic/device.c,
46682 * src/pic/ralloc.c,
46683 * src/pic/gen.c : added support to generate code for struct bit fields.
46685 2004-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
46687 * as/xa51/xa_version.h,
46688 * device/include/errno.h,
46689 * device/include/regc515c.h,
46690 * device/lib/_itoa.c,
46691 * device/lib/_ltoa.c,
46692 * device/lib/ser_ir_cts_rts.c,
46693 * sim/ucsim/xa.src/glob.cc,
46694 * sim/ucsim/xa.src/inst_gen.cc,
46695 * sim/ucsim/xa.src/xa_bit.cc,
46696 * sim/ucsim/xa.src/xa_sfr.cc,
46697 * sim/ucsim/z80.src/inst_dd.cc,
46698 * sim/ucsim/z80.src/inst_fdcb.cc,
46699 * support/scripts/keil2sdcc.pl,
46700 * src/pic16/pic16.dsp,
46701 * src/pic16/pic16a.dsp: corrected cvs line endings
46702 * device/lib/printf_large.c: fixed bug 1057979
46703 * src/pic16/gen.c: fixed non-C standard code
46704 * src/SDCCmain.c: made --pack-iram default, added --no-pack-iram
46705 * src/SDCCglobl.h: changed pack_iram to no_pack_iram
46706 * support/regression/ports/mcs51/support.c: reload T1 asap
46707 * doc/sdccman.lyx: updated for options --pack-iram and --no-pack-iram,
46708 pdata use and clear idata startup behaviour
46709 * support/regression/tests/bug1057979.c: added
46711 2004-11-04 Maarten Brock <sourceforge.brock AT dse.nl>
46713 * device/examples/ds390/ow390/ad26.h,
46714 * device/examples/ds390/ow390/cnt1d.h,
46715 * device/examples/ds390/ow390/crcutil.c,
46716 * device/examples/ds390/ow390/ownet.h,
46717 * device/examples/ds390/ow390/owsesu.c,
46718 * device/examples/ds390/ow390/swt12.h,
46719 * device/examples/ds390/ow390/swtoper.c,
46720 * device/examples/ds390/ow390/temp10.h,
46721 * device/examples/ds390/ow390/thermodl.c,
46722 * device/examples/ds390/tinitalk/tinitalk.dsp,
46723 * device/examples/ds390/tinitalk/tinitalk.dsw,
46724 * device/examples/mcs51/clock/hw.h,
46725 * device/examples/mcs51/simple2/go.bat,
46726 * device/examples/serialcomm/windows/serial.h,
46727 * device/examples/xa51/dummy.c,
46728 * device/examples/xa51/hello.c,
46729 * device/include/80c51xa.h,
46730 * device/include/at89x051.h: corrected cvs line endings
46732 2004-11-04 Vangelis Rokas <vrokas AT otenet.gr>
46734 * src/pic16/main.c (options): added command line --gstack, to trace
46735 stack over/under flows,
46736 * added pragma 'wparam' to allow passing first byte of function
46737 parameters via WREG, syntax is #pragma wparam my_function[, func2...]
46738 * src/pic16/gen.c (pic16_testStackOverflow): function which emits a
46739 call to __gstack_test function and sets up the symbol as extern,
46740 * (pic16_pushpCodeOp, pic16_poppCodeOp, pushw, pushaop, popaopidx,
46741 * popaop): added call to pic16_testStackOverflow,
46742 * (wParamCmp, inWparamList): NEW, test existence of a symbol in
46744 * (genCall, genPcall): now all parameters are passed via stack
46745 except in functions that are pass to wparam pragma in which WREG is
46747 * (genPcall): REENTRANT flag is checked to see if variable prototype
46748 contains reentrant keyword, don't call a non-reentrant function, via
46749 a reentrant function pointer or vice versa, functions are never
46751 * (genJumpTab): applied patch from bug #1057478 by R.Neider and
46753 * src/pic16/glue.c (pic16emitRegularMap): fixed bug which caused a
46754 SIGSEGV when accessing a NULL register stucture,
46755 * (pic16_printGPointerType): modified to handle UPPER modifier for
46756 function initializers, changed prototype of function to simpler one,
46757 * (pic16_printIvalFuncPtr): check to see if function is already
46758 added in externs list,
46759 * src/pic16/pcoderegs.c (pCodeOptime2pCodes): fixed bug which
46760 optimized a move from W to SFR with a move to the same register
46761 later after a CALL,
46762 * device/lib/pic16/debug: NEW directory, contains debug features
46763 which are enabled when linking with libdebug.lib, currently command
46764 line option --gstack enables stack pointer tracing for over/under
46765 flow, corresponding sources are in debug/gstack
46767 2004-10-30 Vangelis Rokas <vrokas AT otenet.gr>
46769 * doc/sdccman.lyx: updated SDCC version,
46770 * (PIC16 port): update list of command line options,
46771 * src/pic16/device.h (structure pic16_options_t): added field gstack
46772 to enable stack overflow tracing on push/pops,
46773 * src/pic16/device.c (statistics structure): added statistics
46775 * (pic16_dump_access, pic16_dump_usection, pic16_dump_gsection,
46776 pic16_dump_int_registers): increase statistics counters for each
46777 * variable which is encountered
46778 * (pic16_dump_usection): emit each .udata variable to its own udata
46780 * src/pic16/gen.c (assignResultValue, genCall, genPcall, genFunction):
46781 when macro USE_WREG_IN_FUNC_PARAMS is set to 0 pass all function
46782 parameters via stack, otherwise use old scheme,
46783 * src/pic16/glue.c (pic16_emitStatistics): dump statistics in
46784 assembler output file,
46785 * src/pic16/main.c: added command line options --gstack to enable
46786 push/pop tracing for stack overflow,
46787 * src/pic16/pcode.c (all pCodeInstruction records for PIC18F
46788 instructions): added size of each instruction,
46789 * (pic16_countInstruction): estimate size of instructions in
46790 the_pFile list, inline assembly blocks are not counted,
46791 * (pic16_FixRegisterBanking): trace previous register usage, when
46792 banksel optimizations is greater than 0, don't emit a redudant
46795 2004-10-26 Slade Rich <slade_rich AT users.sourceforge.net>
46797 * src/pic/ralloc.c : fixed inefficient code produced when compiling a complimented bit operation.
46798 * src/pic16/ralloc.c : applied same fix for pic16.
46799 * src/pic/gen.c : tidied it up a little.
46801 2004-10-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46803 * src/mcs51/peeph.def: disabled 259.a,b for removing redundant ret,
46804 thanks to Martin Helmling for reporting (mail on sdcc-devel 2004-10-25)
46806 2004-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46808 * src/SDCCast.c (reverseParms): fixed bug #1040577 (part 2)
46810 2004-10-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
46812 * device/lib/ser_ir_cts_rts.c: integer promotion caused a call to the
46813 non-reentrant function __modsint in the interrupt function (thus
46814 corrupting math operations during serial I/O)
46815 * device/lib/ser_ir.c: as above, changed buffersize
46816 * src/mcs51/peeph.def: added 259.a,b for removing redundant ret,
46817 256.c,d for zeroing
46818 * doc/Makefile: added option -t for rsync
46820 2004-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46822 * src/SDCCast.h (struct ast),
46823 * src/SDCCast.c (reverseParms, copyAst): fixed bug #1040577 (part 1)
46825 2004-10-20 Borut Razem <borut.razem AT siol.net>
46827 * support/scripts/sdcc.nsi: added include/pic16/*.h to the setup
46830 2004-10-20 Vangelis Rokas <vrokas AT otenet.gr>
46832 * device/lib/pic16/libsdcc/Makefile: added lregs directory in
46834 * device/lib/pic16/libsdcc/lregs/{Makefile,lrst.c,lrrest.c}: NEW
46835 support functions to replace long sequences of MOVFF's from access
46836 bank registers to stack and vice versa,
46837 * src/pic16/device.h: added new field opt_flags, where optimization
46838 flags can be set to enable certain features,
46839 * src/pic16/gen.c (pic16_emitpinfo): NEW to add PC_INFO pCode in
46840 * pBlock, (genFunction, genEndFunction): surroung loop for
46841 saving/loading used registers in stack with PC_INFO pCodes,
46842 INF_LREGS. Code in between can then be optimized by pCode optimizer
46843 to support function calls,
46844 * (genDataPointerSet): fixed bug which loaded float fields in
46845 structures with corrupt data,
46846 * src/pic16/genutils.c (debugf, _debugf): macro/function which emits
46847 in a standard way debug info on stderr. Feature used for developing
46848 and debugging only,
46849 * src/pic16/glue.c (pic16glue): reformatted, deleted some old and
46850 obsolete chunks of code,
46851 * if optimization flag OF_LR_SUPPORT was set, call pic16_OptimizeLocalRegs,
46852 * src/pic16/main.c (_pic16_parseOptions): added handler for --flr-support,
46853 * pic16/src/pcode.c (pic16_newpCodeInfo,
46854 * (pic16_newpCodeOpLocalRegs),
46855 * (pic16_convertLocalRegs2Support): NEW, to support new optimization
46857 * (pic16_pCodeConstString): printing of the initial value of a
46858 symbol as a comment is inhibited since parsing was already done by
46859 copyStr and output is corrupt,
46860 * (pic16_pCode2str, genericPrint): handle PC_INFO pCode,
46862 2004-10-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
46864 * src/mcs51/ralloc.c (packRegisters): fixed bug #1044601
46866 2004-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
46868 * as/mcs51/lkarea.c: removed old K&R style,
46869 (lnksect): changed check on boundary error,
46870 (lnksect2): changed check on boundary error,
46871 (lnksect2): extend XSTK to end of page if size = 1
46872 * as/mcs51/lkmain.c: removed old K&R style,
46873 (Areas51): create l_IRAM symbol
46874 * as/mcs51/lkmem.c (summary2): added report on PSEG and XSTK
46875 * device/lib/Makefile.in: renamed model-mcs51-reentrant to
46876 model-mcs51-stack-auto, added model-mcs51-xstack-auto
46877 * device/lib/_mullong.c: added version to be compiled with xstack
46878 * device/lib/mcs51/crtclear.asm: clear only upto --iram-size
46879 * device/lib/mcs51/crtxclear.asm: clear pdata as well
46880 * device/lib/mcs51/crtxstack.asm: fixed comment
46881 * src/SDCCglue.c: maxInterrupts defaults to 0,
46882 (emitMaps): added pdata,
46883 (createInterruptVect): (re)moved default,
46884 (glue): added pdata,
46885 (glue): moved __start__xstack to XSTK with default size 1
46886 * src/SDCCmain.c (parseCmdLine): automatically set options.intlong_rent
46887 and options.float_rent when options.stackAuto is set,
46888 (linkEdit): only write XDATA_NAME if provided on command line
46890 * src/SDCCmem.c: added pdata
46891 * src/port.h: added pdata_name to PORT
46892 * src/mcs51/gen.c (toBoolean): fixed for Acc use of aopGet,
46893 (saveRegisters, unsaveRegisters): removed usage of B,
46894 (genMinus): fixed accumulator clash,
46895 (genJumpTab): added comment, this needs another look
46896 * src/mcs51/gen.c: added check for "B in use" paranoia,
46897 added pushB() and popB()
46898 * src/mcs51/peeph.def: restart after 177.c so 177.a can get a second
46901 * src/ds390/main.c,
46903 * src/mcs51/main.c,
46905 * src/pic16/main.c,
46907 * src/z80/main.c: (reset_regparms) made void parameter explicit and
46908 added PSEG (PAG,XDATA) or NULL to port specifier
46909 * src/ds390/main.c (_ds390_genIVT): moved implemented default in here
46910 * src/mcs51/main.c (_mcs51_genIVT): moved implemented default in here,
46911 (_mcs51_genInitStartup): removed __start__xstack equ,
46912 (mcs51_port): moved xstack from XSEG (XDATA) to XSTK (PAG,XDATA)
46913 * src/pic16/device.c (pic16_dump_usection, pic16_dump_isection),
46914 * src/z80/gen.c (_rleAppend): fixed warnings
46915 * support/regression/tests/zeropad.c: added pdata test
46916 * .version: bumped to 2.4.6
46918 2004-10-17 Borut Razem <borut.razem AT siol.net>
46920 * support/scripts/sdcc.nsi: cross compiling of WIN32 setup.exe on Linux
46921 as a part of nightly build
46923 2004-10-16 Vangelis Rokas <vrokas AT otenet.gr>
46925 * src/pic16/gen.c (struct _G): added field useWreg, is set to 1 when
46926 WREG holds the first byte function parameters,
46927 * (aopForSym): take special case for symbols which are in FARSPACE
46928 but in CODESPACE too,
46929 * (assignResultValue): modified to take into account _G.useWreg,
46930 * (genCall): don't use wreg for parameter passing when function is
46931 declared as reentrant, too, added optimization INCF to stack
46932 pointer when stack parameter count is 1,
46933 * (genFunction, genEndFunction): refurnished and fixed to not using
46934 wreg for passing parameters when function has varargs or is
46935 reentrant, fixed bug with symbol name compare for generating
46936 functions in absolute address,
46937 * (pic16_storeForReturn): refurnished,
46938 * (genCmp): began writing a new version of the function, not ready
46939 yet, therefore it is disabled,
46940 * (genAssign): do not read code memory when assigning a function to
46941 a pointer function,
46942 * src/pic16/glue.c (pic16emitStaticSeg): abSym->name is defined an
46943 array of characters, not pointer,
46944 * (pic16initialComments): in debug mode emit an .ident directive for
46946 * (_process_pragma): emit a new warning type (internal to pic16)
46947 when setting stack to default length, emit a similar warning when
46948 placing a function at absolute address and address is not word aligned
46949 * (_pic16_parseOptions): added 'return TRUE' statement,
46950 * (_pic16_linkEdit): if compiling a source, then add the source's
46951 file object, first in the list of objects to link,
46953 2004-10-13 Slade Rich <slade_rich AT users.sourceforge.net>
46955 * src/pic/pcoderegs.c : increased count on regUsedinRange to prevent unnecessary warning.
46956 * src/pic/main.c : removed VC warning.
46957 * src/pic/gen.c : changed comment.
46959 2004-10-12 Vangelis Rokas <vrokas AT otenet.gr>
46961 * device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external
46962 reference to a deprecated symbol _GPTRREG was causing failure to
46963 link. Thanks G. M. Gallant for the info.
46965 2004-10-12 Slade Rich <slade_rich AT users.sourceforge.net>
46967 * src/pic/pcode.c : Applied a code patch supplied by Paul Ashmore in
46968 comments for Bugs item #954788.
46970 2004-10-10 Vangelis Rokas <vrokas AT otenet.gr>
46972 * src/pic16/device.c (pic16_dump_gsection,
46973 * pic16_groupRegistersInSection): handle symbols declared to be in
46974 access bank differently,
46975 * src/pic16/gen.c (struct _G): added field resDirect,
46976 * (aopForSym): if symbol on stack and iCode is '=' and result exists,
46977 send values read from stack directly to result and don't allocate
46979 * (pic16_sameRegs): fixed bug that allowed MOVFF to move between
46981 * (pic16_sameRegsOfs): NEW,
46982 * (freeAsmop): if _G.resDirect is set then do not mark registers as
46983 free because they were not allocated from temporary pool,
46984 * pic16_popRegFromString): workaround to fix a problem with
46985 allocating variables twice or never,
46986 * (genGenPointerGet): using PRODL instead of FSR0H,
46987 * (genGenPointerSet): using POSTDEC1 (that is a stack location)
46989 * (genAssign): take advantage of the _G.resDirect flag,
46990 * (genCast): around line 11844, use mov2f instead of directly
46991 MOVFF'ing between operands to account for literal values,
46992 * src/pic16/genutils.c: some new debug functions for gpsim have been
46994 * src/pic16/glue.c (pic16_printIvalType): fixed bug that initialized
46995 float with integer part only,
46996 * src/pic16/main.c (_process_pragma): handle pragma udata access to
46997 place variables in access bank
46998 * device/lib/pic16/libsdcc/gptr/gptr*.c: using BRA instead of GOTO,
46999 updated sources to reflect recent changes in gen.c
47001 2004-10-06 Vangelis Rokas <vrokas AT otenet.gr>
47003 * device/lib/pic16/libsdcc/Makefile.rules: fixed bug concerning
47004 sources that searched for headers in installation path, now the
47005 device/include/pic16 is used,
47006 * src/pic16/glue.c (pic16glue),
47007 * src/pic16/pcode.c (pCode2str, genericPrint): don't print .file or
47008 .line directives if not in debug mode, this suppresses assembler's
47009 warnings for ignored directives
47011 2004-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
47013 * src/port.h: made reset_regparms prototype void parameter explicit.
47014 * src/SDCCsymt.c (processFuncArgs): removed argument "func".
47015 * src/mcs51/ralloc.c (packRegisters): new fix for bugs 898889 & 979599.
47016 * doc/sdccman.lyx: documented warning disabling and how to use
47017 printf_large to make it print floats.
47018 * device/include/stdbool.h: NEW
47019 * device/lib/_atof.c,
47020 * device/lib/_divuint.c,
47021 * device/lib/_divulong.c,
47022 * device/lib/expf.c,
47023 * device/lib/printf_large.c,
47024 * device/lib/sincosf.c,
47025 * device/lib/sincoshf.c: used stdbool.h, all compile with stack-auto now
47026 * device/lib/Makefile.in: added target for model-mcs51-reentrant to build
47027 a completely reentrant lib.
47029 2004-10-05 Vangelis Rokas <vrokas AT otenet.gr>
47031 * device/lib/pic16/libsdcc/gptr/gptr*.c: added return statements
47032 * device/include/pic16/stdio.h: fixed bug with colon
47034 2004-10-03 Vangelis Rokas <vrokas AT otenet.gr>
47036 * device/include/pic16/stdio.h,
47037 * device/include/pic16/stdlib.h,
47038 * device/include/pic16/math.h: NEW
47039 * device/lib/pic16/libsdcc/gptr/*.c (gptrget*, gptrput*): functions
47040 declared as _naked to reduce overhead
47041 * device/lib/Makefile.in (target port-specific-objects-pic16):
47042 changed * to *.* so to ignore the CVS directory,
47043 * src/pic16/gen.c (pic16_freeAsmop): added code to store result of
47044 stacked variables back in stack,
47045 * (genEndFunction): fixed bug reported by G.M. Gallant with stack
47048 2004-10-01 Vangelis Rokas <vrokas AT otenet.gr>
47050 * .version: bumped version number to 2.4.5
47051 * support/Util/SDCCerr.h: added warning W_POSSBUG2.
47052 * support/Util/SDCCerr.c (messages structure): added entry for
47055 Large cumulative patch for pic16 port and libraries.
47056 * device/include/pic16/sdcc-lib.h,
47057 * device/include/pic16/stdarg.h,
47058 * device/include/asm/pic16/features.h,
47059 * device/include/lib/pic16/libsdcc/gptr/{*.c, Makefile}: NEW,
47060 * device/include/pic16/float.h: changes reentrant keyword with
47061 _FS_REENTRANT, added prototype for __fsneq, included sdcc-lib.h
47062 * device/lib/pic16/libsdcc/Makefile: added target directory gptr,
47063 updated target build-libraries to include objects from gptr,
47064 * device/lib/pic16/libsdcc/{char,int,long}/*.c: added macro
47065 _IL_REENTRANT to all function headings, included sdcc-lib.h header,
47066 * device/lib/pic16/libsdcc/float/*.c: added macro _FS_REENTRANT to
47067 all function headings,
47068 * src/SDCCmain.c: added global parameter userIncDirsSet,
47069 * (parseCmdLine): when option -I is encountered add directory to
47070 userIncDirsSet too,
47071 * src/version.awk: added space between control and long,
47072 * src/pic16/NOTES: added some notes for the port,
47073 * src/pic16/gen.c: added prototype for mov2fp function,
47074 * (fReturnpic16[]): properly named return value registers,
47075 * (_G structure): added fields stackRegSet, fregsUsed, stack_lat,
47076 * (aopForSym): added code to handle symbols with onStack flag set,
47077 symbols onStack are allocated PTRSIZE bytes,
47078 * (aopFreeAsmop): handles special case where asmops are stack objects,
47079 * (aopGet, pic16_popGet): adde cod to handle new asmop AOP_STA,
47080 * (pic16_popGetTempReg, pic16_popGetTempRegCond, pic16_popReleaseTempReg):
47081 added argument lock to trace flaws in allocating temporary registers
47082 when developing port,
47083 * (pic16_popGetLit, pic16_popGetLit2): changed lit from unsigned to signed
47084 * (pic16_popRegFromString): reenabled allocating a direct register
47086 * (assignResultValue): various beautifications,
47087 * fixed bug #1037717 (patch from R. Neider & D. Wrinkler) with mistaken
47088 referenced function argument,
47089 * (genIpush): reenabled to allow stacked arguments, handles only
47090 ic->parmPush iCodes,
47091 * (genCall, genPcall): major changes to allow for variable argument
47092 functions, fixed a bug with falsely restoring stack pointer after
47093 returning from call,
47094 * (genFunction): pending code for critical function,
47095 * (shiftR1Left2ResultSigned, shiftR1Left2Result, shiftL2Left2Result,
47096 * (shiftR2Left2Result, shiftLLong) applied patch #1032155 from R.Neider,
47097 * (genNearPointerGet): fixed bug with indirect reading, was always
47099 * (genGenPointerGet, genGenPointerSet): rewrote to support generic
47101 * (genAddrOf): rewrote code to take address of a stacked function parameter
47102 * (genCast): fixed casting to generic pointer type,
47103 * src/pic16/gen.h: added AOP_STA,
47104 * (struct asmop): added field stk,
47105 * src/pic16/genarith.c (pic16_AopType): handle AOP_STA,
47106 * (pic16_genPlusIncr): changed emitSKPNZ to emitSKPNZ,
47107 * (pic16_genAddLit, pic16_genPlus): applied patch #1034042 by tecodev,
47108 * (pic16_genMinus): fixed bug #1035119 with patch submitted by tecodev,
47109 * src/pic16/genutils.c (pic16_genNot): removed symbol *tlbl,
47110 * src/pic16/glue.c (pic16_printGPPointerType): fixed to support new
47112 * src/pic16/main.c (_pic16_initPaths): ignores default SDCC include
47114 * (pic16_port structure): generic pointer size is set to 3,
47115 * src/pic16/pcode.c (pic16_newpCodeOpLit): correctly print literal integer,
47116 * (insertBankSwitch): cast to (char *) to prevent 64bit CPUs'
47118 * src/pic16/ralloc.c (allocReg): prevent allocating register when
47119 operand is an iTemp,
47121 2004-09-24 Martin Helmling <mh AT octo-soft.de>
47123 * debugger/mcs51/cmd.c: set PC if a symbol at pc reg is set
47124 * debugger/mcs51/simi.c: addapt new syntax of s51
47126 2004-09-23 Vangelis Rokas <vrokas AT otenet.gr>
47128 * src/pic16/genutils.c (pic16_genNot): fixed bug #1032265,
47129 * src/pic16/pcode.c: commented out some calls to free() in order to
47132 2004-09-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47135 * src/SDCCicode.c (isiCodeInFunctionCall),
47136 * src/avr/ralloc.c (selectSpil),
47137 * src/pic/ralloc.c (selectSpil),
47138 * src/pic16/ralloc.c (selectSpil),
47139 * src/ds390/ralloc.c (selectSpil),
47140 * src/hc08/ralloc.c (selectSpil),
47141 * src/xa51/ralloc.c (selectSpil),
47142 * src/mcs51/ralloc.c (selectSpil): Don't use remainSpil to spill to the
47143 stack in the middle of a function call sequence (fixes bug #1020268)
47144 * src/SDCCicode.c (geniCodeJumpTable): fixed error in computing the
47145 costs associated with the minimum switch case.
47147 2004-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47149 * src/SDCC.lex: fixed bug #1030549
47151 2004-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47153 * src/SDCCcse.h (struct cseDef),
47154 * src/SDCCcse.c (cseBBlock, newCseDef, ifFromAddrTaken): purge CSEs
47155 over a function call if the CSE is derived from a symbol whose
47156 address has been taken (fixes bug #1029883)
47157 * support/regression/tests/bug-1029883: a new regression test for
47160 2004-09-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47162 * src/hc08/gen.c (emitinline): fixed bug #1029778
47163 * src/SDCC.y (assignment_expr): fixed the grammer so that assignment
47164 to a cast object is no longer a syntax error ("fixes" bug #1030006,
47165 and starts toward RFE #905167)
47167 2004-09-17 Vangelis Rokas <vrokas AT otenet.gr>
47169 * src/pic16/gen.c (mov2f): New function to move an operand to
47170 another without considering if it is a literal or a register,
47171 * (pic16_sameRegs): don't check if they are both AOP_REG,
47172 * (AccRsh): removed andmask=0 lines,
47173 * (genLeftShift): duplicated to be improved in future versions,
47174 * src/pic16/main.c (_process_pragma): emit stack default size in hex,
47175 * src/pic16/pcode.c: added POC_INFSNZW, updated inverted_op fields
47176 in POC_INCFSZ, POC_INCFSZW, POC_INFSNZ,
47177 * (pic16initMnemonics): added initialization for POC_INFSNZW,
47178 * (insertBankSwitch): fixed inserting banksel directives algorithm
47179 for instructions that follow a skip instruction, this fixes a report
47180 for broken subtraction code generation,
47181 * src/pic16/ralloc.c (deassignLRs): do not free register if current
47182 iCode is a left op, just in case result and right share the same
47185 2004-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47188 * src/hc08/gen.c (genJumpTable): more efficient jump table, supports
47190 * src/hc08/gen.c (pullRegs): fixed order of HX & XA pairs
47191 * src/mcs51/ralloc.c (packRegisters): removed the patch applied
47192 on 2004-09-12; it was buggy
47194 2004-09-15 Bernhard Held <bernhard AT bernhardheld.de>
47196 * src/SDCCsymt.h: removed RESULT_CHECK
47201 * src/pic16/glue.c: replaced RESULT_CHECK with RESULT_TYPE_NONE
47203 2004-09-15 Vangelis Rokas <vrokas AT otenet.gr>
47205 * src/SDCCicode.c (piCode): applied patch from Raphael Neider,
47206 * src/pic16/device.c (pic16_assignConfigWordValues): wrong
47207 configuration values no more rejected by compiler, they are assigned
47208 to configuration registers with a warning message instead,
47209 * src/pic16/glue.c (pic16_emitConfigRegs): added +1 at top-limit of
47210 the for-loop so last conf register is emitted too,
47211 * (_pic16_initPaths): link library libsdcc.lib by default,
47212 * (_hasNativeMulFor): modified test for multiplication according to
47213 Raphael Neider's remarks. Integer multiplication is also done with
47215 * device/include/pic16/pic18fregs.h: corrected type error in while
47216 testing and including 18f6720 header file
47218 2004-09-14 Vangelis Rokas <vrokas AT otenet.gr>
47220 * src/pic16/device.h (pic16_options): removed field use_crt,
47221 * src/pic16/gen.c (genUnpackBits): added call to pic16_loadFSR0
47222 until an optimization to handle single bits is added,
47223 * (pic16_loadFSR0): moved before genUnpackBits,
47224 * (genAnd): some white lines removed,
47225 * src/pic16/main.c (_pic16_finaliseOptions): set omit_ivt and clear
47226 leave_reset flags in pic16_options when using crt modules,
47228 2004-09-12 Maarten Brock <sourceforge.brock AT dse.nl>
47230 * src/mcs51/ralloc.c (packRegisters): applied fix by Bernhard Held
47231 for bugs 898889 & 979599. Also used some safer print instructions.
47233 2004-09-12 Vangelis Rokas <vrokas AT otenet.gr>
47235 * src/pic16/device.h (pic16_options_t): added field use_crt,
47237 * src/pic16/genarith.c (pic16_genPlus): added an assert(0) line to
47238 catch a probable future bug,
47239 * src/pic16/gen.c: aopIdx function commented out,
47240 * (genAssign): commented out old code which used aopIdx,
47241 * src/pic16/glue.c (pic16glue): removed some legacy fragments of
47242 code, added if conditionals to take into account the --use-crt
47243 command line options,
47244 * src/pic16/main.c (pic16_optionsTable): added new command line
47245 options, --use-crt= and --no-crt,
47246 * (_pic16_linkEdit): now the proper crt object is added in the
47247 linker command line except than when --no-crt is specified,
47248 * src/pic16/pcode.c,
47249 * src/pic16/pcode.h: added some structures and functions for a new
47250 optimization scheme to compansate for instruction overhead between
47251 same iCodes, this scheme is currently under development and is not
47252 working in any way,
47253 * src/pic16/gen.c (genAnd): added patch provided by Aaron Collwell
47255 * device/lib/pic16/startup/crt0i.c,
47256 * device/lib/pic16/startup/crt0iz.c: added global char variable
47257 __uflags to force the generation of an idata section
47259 2004-09-12 Bernhard Held <bernhard AT bernhardheld.de>
47262 * doc/clean.mk: added support for easy creation of sdcc-doc.tar.bz2
47263 * doc/sdccman.lyx: updated sdcc version to 2.4.4
47265 2004-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47267 * doc/sdccman.lyx: fixed a problem with my new index entries (thanks
47268 Frieder) and clarified the default code optimization mode
47270 2004-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47272 * src/SDCC.lex (doPragma, process_pragma),
47273 * src/SDCCglobl.h (struct optimize): added pragmas "opt_code_speed",
47274 "opt_code_size", and "opt_code_balanced"
47275 * src/SDCCmain.c (optionsTable[], printOptions, scanOptionsTable):
47276 regrouped options by category, added support for category headers
47277 * src/SDCCmain.c (parseCmdLine): added options "--opt-code-speed"
47278 and "--opt-code-size"
47279 * doc/sdccman.lyx: documented these new options and pragmas
47280 * src/hc08/gen.c (AccLsh, AccRsh): take speed/size optimization
47281 preference into account
47283 2004-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
47285 * src/SDCCicode.c (geniCodePostInc, geniCodePreInc, geniCodePostDec,
47286 geniCodePreDec): Fixed bug 904237 by generating a warning
47288 * src/SDCCerr.c: added warning W_SIZEOF_VOID
47290 2004-09-09 Slade Rich <slade_rich AT users.sourceforge.net>
47292 * src/pic/device.c : When no max ram set validate full memory range.
47294 * src/pic/pcodepeep.c : Copy C code comments to optimised replacement code.
47296 2004-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
47298 * device/lib/_gptrget.c,
47299 * device/lib/_gptrput.c: updated comment
47300 * device/lib/calloc.c,
47301 * device/lib/free.c,
47302 * device/lib/malloc.c,
47303 * device/lib/realloc.c: added LGPL, made them reentrant-safe
47304 * src/SDCCcse.c (cseBBlock),
47305 * src/SDCCicode.c (printOperand, geniCodeArray),
47306 * src/SDCCicode.h (struct operand): fixed bug 868103
47307 * support/regression/tests/bug-868103.c: added
47308 * src/SDCCast.c (searchLitOp),
47309 * src/SDCCcse.h (struct cseDef),
47310 * src/SDCCglue.c (printIvalArray, spacesToUnderscores),
47311 * src/SDCCicode.h (struct operand),
47312 * src/SDCCsymt.h (struct sym_link),
47313 * src/avr/gen.c (hasInc),
47314 * src/ds390/gen.c (hasInc),
47315 * src/hc08/gen.c (genPlusIncr, hasInc),
47316 * src/mcs51/gen.c (hasInc),
47317 * src/pic16/glue.c (pic16_printIvalChar),
47318 * src/pic16/ralloc.c (regWithIdx),
47319 * src/xa51/gen.c (hasInc) : removed warnings
47320 * src/SDCCast.c (createBlock): added comment ???
47321 * src/hc08/ralloc.c: updated comments
47323 2004-09-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47325 * doc/sdccman.lyx: updated section on switch statements, added
47326 section about semaphore locking
47327 * doc/Makefile: added option -info for latex2html
47328 * device/lib/_gptrget.c,
47329 * device/lib/_gptrput.c: __XPAGE instead of P2 in outcommented code
47331 2004-09-06 Slade Rich <slade_rich AT users.sourceforge.net>
47333 * src/pic/device.h,
47334 * src/pic/device.c,
47335 * src/pic/port.c : Changed PIC14 code to not set bit RP1 when
47336 maxram is less than 0x100.
47338 2004-09-06 Slade Rich <slade_rich AT users.sourceforge.net>
47340 * Bug fixes for PIC14 - signed RSHIFT problem. Patch supplied by Allen(agschrum).
47342 2004-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47345 * src/mcs51/main.c,
47346 * src/ds390/main.c,
47350 * src/pic16/main.c,
47353 * src/SDCCicode.c (geniCodeJumpTable): Better logic to determine if a
47354 a jump table is the best form for a switch statement, including
47355 automatic insertion of missing cases to make the case range
47356 continuous. Developed in collaboration with Frieder Ferlemann.
47358 2004-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47360 * src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for
47361 accumulator result if it needs sign extension
47363 2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
47365 * src/hc08/ralloc.c (canUseAccOperand): fixed comparison bug
47367 2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
47369 * device/lib/gbz80/printf.c,
47370 * device/lib/z80/printf.c: removed define for NULL
47372 2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
47374 * as/xa51/xa_link.c,
47375 * device/examples/ds390/ow390/ad26.c,
47376 * device/examples/ds390/ow390/cnt1d.c,
47377 * device/examples/ds390/ow390/counter.c,
47378 * device/examples/ds390/ow390/ds2480.h,
47379 * device/examples/ds390/ow390/ds2480ut.c,
47380 * device/examples/ds390/ow390/findtype.c,
47381 * device/examples/ds390/ow390/gethumd.c,
47382 * device/examples/ds390/ow390/owllu.c,
47383 * device/examples/ds390/ow390/ownetu.c,
47384 * device/examples/ds390/ow390/swt12.c,
47385 * device/examples/ds390/ow390/swtloop.c,
47386 * device/examples/ds390/ow390/temp.c,
47387 * device/examples/ds390/ow390/temp10.c,
47388 * device/examples/ds390/ow390/thermo21.c,
47389 * device/examples/ds390/ow390/tinilnk.c,
47390 * device/examples/ds390/ow390/tstfind.c,
47391 * device/examples/serialcomm/windows/serial.cpp,
47392 * device/examples/serialcomm/windows/test_serialcomm.cpp,
47393 * device/include/reg51.h: fixed line endings for cvs
47395 2004-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47397 * src/hc08/ralloc.c (canDefAccResult, canUseAccOperand,
47398 packRegsForAccUse, packRegisters): new accumulator register
47400 * support/regression/ports/hc08/support.c (_putchar): suppress
47401 warning of unused variable
47402 * src/SDCCicode.c: added SWAP entry to codeTable
47404 2004-09-01 Maarten Brock <sourceforge.brock AT dse.nl>
47406 * device/lib/sprintf.c: forgot to add this file before previous commit
47408 2004-09-01 Vangelis Rokas <vrokas AT otenet.gr>
47410 * src/pic16/gen.c (genPackBits): added operand right in function
47411 parameters, load result directly if p_type is POINTER (that is
47412 called by genNearPointerSet)
47413 * (genUnPackBits): added operand left in function parameters,
47414 * (genNearPointerGet, genNearPointerSet): prevent the loading of
47415 FSR0 if accessing bitfields,
47417 2004-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
47419 * device/include/stdio.h: added NULL, size_t, typedef pfn_outputchar,
47420 _print_format; updated printf, sprintf, vsprintf
47421 * device/include/asm/default/features.h: corrected comment/define
47422 * device/lib/Makefile.in: added sprintf.c
47423 * device/lib/libsdcc.lib: added sprintf module
47424 * device/lib/printf_large.c,
47425 * device/lib/vprintf.c,
47426 * device/lib/sprintf.c: totally refactored printf_large and vprintf
47428 * support/regression/Makefile: changed ALL_PORTS into a usefull default
47429 * support/regression/ports/mcs51-stack-auto/spec.mk: added sprintf
47430 * support/regression/tests/bug-927659.c: removed dummy putchar, enabled
47432 * support/regression/tests/zeropad.c: define idata as data for hc08
47434 2004-08-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47436 * src/SDCCpeeph.c (labelIsReturnOnly): support hc08 rts opcode also
47437 * src/SDCCpeeph.c (buildLabelRefCountHash): assume function entry point
47438 labels are referenced at least once (even if a reference is not found)
47439 * src/hc08/gen.c (emitcode): set isComment flag for comments
47440 * src/hc08/peeph.def: added rules 5a..5f (optimize redundant immediate
47441 loads), rules 6a..6b (optimize jumps to return)
47443 2004-08-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47445 * device/lib/acosf.c (acosf),
47446 * device/lib/asinf.c (asinf),
47447 * device/lib/atanf.c (atanf),
47448 * device/lib/ceilf.c (ceilf),
47449 * device/lib/cosf.c (cosf),
47450 * device/lib/coshf.c (coshf),
47451 * device/lib/cotf.c (cotf),
47452 * device/lib/fabsf.c (fabsf),
47453 * device/lib/floorf.c (floorf),
47454 * device/lib/log10f.c (log10f),
47455 * device/lib/logf.c (logf),
47456 * device/lib/sinf.c (sinf),
47457 * device/lib/sinhf.c (sinhf),
47458 * device/lib/sqrtf.c (sqrtf),
47459 * device/lib/tanf.c (tanf),
47460 * device/lib/tanhf.c (tanhf),
47461 * device/include/math.h: defined _FLOAT_FUNC_REENTRANT macro and
47462 replaced all instances of "reentrant" in the library functions
47463 defined in math.h with this macro.
47464 * support/regression/tests/float_trans.c: reenabled test for hc08
47466 2004-08-30 Bernhard Held <bernhard AT bernhardheld.de>
47468 * device/lib/pic16/Makefile.common.in: added MODELFLAGS again, it was
47469 erroneously deleted
47471 2004-08-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47473 * src/hc08/gen.c (loadRegFromAop): better use of clra & clrx
47474 * src/hc08/gen.c (genAnd, genOr): fixed bug with conditional when
47475 multi-byte volatile operands are used
47476 * src/hc08/gen.c (shiftRLong): fixed bug with wrong rotate direction
47477 * src/hc08/main.c (_hc08_genAssemblerPreamble): moved the built-in
47478 initialization to area GSINIT0 so that it would always precede
47479 any static initializers in GSINIT
47480 * support/regression/tests/zeropad.c: fixed idata define for hc08
47481 * support/regression/tests/bug-927659.c,
47482 * support/regression/tests/float_trans.c: disabled tests for hc08
47483 pending missing library routines
47484 * .version: increased version number to 2.4.4 - hc08 port now passes
47488 2004-08-29 Bernhard Held <bernhard AT bernhardheld.de>
47490 * device/lib/pic16/Makefile.common.in: added $(MM) to fix `make clean`
47491 * Makefile.common.in,
47493 * as/hc08/Makefile.in,
47494 * as/mcs51/Makefile.in,
47495 * as/z80/Makefile.in,
47496 * debugger/mcs51/Makefile.in,
47497 * device/include/Makefile.in,
47498 * device/lib/Makefile.in,
47501 * link/z80/Makefile.in,
47502 * packihx/Makefile.in,
47503 * sim/ucsim/main_in.mk,
47504 * sim/ucsim/avr.src/Makefile.in,
47505 * sim/ucsim/doc/Makefile.in,
47506 * sim/ucsim/gui.src/serio.src/Makefile.in,
47507 * sim/ucsim/hc08.src/Makefile.in,
47508 * sim/ucsim/s51.src/Makefile.in,
47509 * sim/ucsim/xa.src/Makefile.in,
47510 * sim/ucsim/z80.src/Makefile.in,
47512 * support/cpp2/Makefile.in,
47513 * support/librarian/Makefile,
47514 * support/makebin/Makefile: added DESTDIR to the install path proposed
47515 by "Maciej 'Agaran' Pijanka" <agaran AT pld-linux.org>
47516 * doc/sdccman.lyx: added DESTDIR documentation
47518 2004-08-29 Vangelis Rokas (vrokas AT otenet.gr>
47520 * src/pic16/gen.c (genFunction, genEndFunction): fixed return
47521 instruction for interrupt handlers, use fast returns when returning
47522 from high priority interrupts
47524 2004-08-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47526 * src/hc08/gen.c (genAnd, genOr, transferAopAop, rmwWithAop): optimized
47528 * src/hc08/gen.c (genrshFour, genCpl): fixed bugs
47529 * src/hc08/gen.c (genMultOneByte, genDivOneByte, genModOneByte): fixed
47530 bugs, ported much of Bernhard's code from mcs51
47531 * src/mcs51/gen.c (genSend),
47532 * src/hc08/gen.c (genSend): fixed bug with lost SEND iCodes if more
47533 than one when calling a reentrant function
47534 * device/lib/_mullong.c: defined an alternate struct layout for big
47535 endian ports (hc08)
47537 2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47539 * src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression
47542 2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47544 * src/SDCCsymt.c (processFuncArgs): make sure parameter types
47545 are sane and complete before asking the port its prefered parameter
47546 passing method (fixes bug #1017633)
47547 * device/lib/hc08/_ret.c: added "data" storage class to _ret2
47550 2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47552 * src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset
47553 problem in bitfields >= 8 bits.
47555 2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
47557 * src/SDCCsymt.c: undid changes that were not meant to be committed
47559 2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
47561 * support/regression/ports/hc08spec.mk: REENTRANT must be reentrant
47563 2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
47565 * src/hc08/gen.c (genUminusFloat): fixed bug where only 3 bytes were
47566 copied and wrong bit got inverted
47568 2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47570 * src/hc08/gen.c (genPointerSet, genFarPointerSet): moved code from
47571 genFarPointerSet into genPointerSet; eliminated genFarPointerSet
47572 * src/hc08/gen.c (genPointerGet, genFarPointerGet): moved code from
47573 genFarPointerGet into genPointerGet; eliminated genFarPointerGet
47574 * src/hc08/gen.c (genPackBitsImmed): generate optimized code for
47575 assignments to bitfields at known addresses
47576 * src/hc08/gen.c (genUnpackBitsImmed): generate optimized code for
47577 reads from bitfields at known addresses
47578 * src/hc08/ralloc.c (packRegisters),
47579 * src/hc08/gen.c (genPointerGet, genUnpackBits, genUnpackBitsImmed,
47580 genhc08Code): optimize pointer get values used as conditionals
47581 * src/hc08/peeph.def: added rules 2e & 2f to optimize bit test
47584 2004-08-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47586 * src/mcs51/gen.c (genPointerGet, genNearPointerGet, genPagedPointerGet,
47587 genFarPointerGet, genCodePointerGet, genGenPointerGet, genUnpackBits),
47588 * src/mcs51/ralloc.c (packRegisters): optimize pointer get values used
47591 2004-08-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47593 * src/mcs51/peeph.def: peepholes 248.i-m for xdata bitfields
47595 2004-08-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47597 * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #1012650 and some
47600 2004-08-21 Bernhard Held <bernhard AT bernhardheld.de>
47602 * sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists
47604 2004-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47606 * src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the
47609 2004-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
47611 * src/pic/gen.c: Restored fn genRet as previous fix was incorrect.
47613 2004-08-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47615 * src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch
47616 cases use more compact code.
47618 2004-08-13 Slade Rich <slade_rich AT users.sourceforge.net>
47620 * src/pic/gen.c: Fixed problem with fn returning a variable bigger than a char.
47622 2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47624 * src/SDCClrange.c (findPrevUse): fixed bug #1007371
47626 2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47629 * src/SDCCsymt.c (changePointer, checkDecl, addSymChain): changed
47630 parameter of changePointer() from symbol* to sym_link*
47631 * src/SDCCast.c (decorateType): call changePointer() for CAST op
47632 * src/SDCCsymt.c (compareType): void* type is castable to other
47633 pointers, but not necesarily an exact match.
47634 * src/SDCCicode.c (geniCodeCast): allow void* casting here since it
47635 is no longer blindly treated as an exact match.
47636 * src/SDCCval.c (valCastLiteral): treat missing type as cast to void
47638 2004-08-12 Slade Rich <slade_rich AT users.sourceforge.net>
47640 * src/pic/glue.c: Added struct initialisation fn printIvalStruct.
47642 2004-08-11 Slade Rich <slade_rich AT users.sourceforge.net>
47646 * src/pic/ralloc.h,
47647 * src/pic/ralloc.c: Printing rIdx on internal verbose debug.
47649 2004-08-10 Slade Rich <slade_rich AT users.sourceforge.net>
47651 * src/pic/device.c,
47652 * src/pic/device.h,
47653 * src/pic/device.c: Will no longer exit if #pragma maxram has not been defined.
47655 2004-08-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47657 * src/mcs51/gen.c (emitcode): fixed bug #992819
47659 2004-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
47661 * src/pic/ralloc.c (deassignLR): allthough pic port is buggy already,
47662 there's no need to make it worse
47664 2004-08-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47666 * src/mcs51/ralloc.c (deassignLR),
47667 * src/ds390/ralloc.c (deassignLR),
47668 * src/hc08/ralloc.c (deassignLR),
47669 * src/z80/ralloc.c (deassignLR),
47670 * src/pic/ralloc.c (deassignLR),
47671 * src/pic16/ralloc.c (deassignLR),
47672 * src/avr/ralloc.c (deassignLR),
47673 * src/SDCClrange.c (findRecursiveSucc, findRecursivePred, findPrevUse,
47674 rlivePoint): fixed another part of bug #971834
47676 2004-08-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47678 * src/z80/main.c: enabled "critical" keyword
47679 * src/z80/mappings.i,
47680 * src/z80/gen.c (genFunction, genEndFunction): support for interrupt
47681 functions (fixes bug #979646)
47682 * doc/sdccman.lyx: added a subsection explaining z80 interrupt support
47684 2004-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
47686 * src/mcs51/gen.c (genInline): Add \n for labels, not DOS/WIN dirs
47689 2004-08-03 Maarten Brock <sourceforge.brock AT dse.nl>
47691 * src/SDCCloop.c (loopInvariants): fixed bug 983545, hope this
47692 doesn't disable too much optimizations
47694 2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
47696 * src/pic/glue.c Disabled "WARNING: function 'main' undefined" when -S option is used.
47698 2004-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
47700 * src/SDCClrange.c (rlivePoint): fixed bug 988568, thanks to anonymous
47702 2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
47704 * src/pic/gen.c tidied up tabs
47705 * src/pic/genarith.c tidied up tabs and fixed bug with literal multiple where same register was used for hi and low byte
47706 * src/pic/main.c tidied up tabs
47707 * src/pic/pcode.c tidied up tabs and disabled verbose code generation
47708 * src/pic/pcoderegs.c tidied up tabs
47709 * src/pic/ralloc.c tidied up tabs
47711 2004-07-30 Vangelis Rokas <vrokas AT otenet.gr>
47713 * src/SDCCmem.c (allocGlobal): don't turn S_REGISTER storage class
47714 to S_FIXED for pic16 port and when symbol is not in level 0,
47715 allocate for S_REGISTER storage class and pic16 port, too,
47716 * src/pic16/device.h: prototype for checkSym,
47717 * src/pic16/device.c (pic16_dump_access, checkSym): NEW,
47718 * (pic16_assignConfigWordValue): test the value and the mask to
47719 validate that the value is suitable for the configuration word,
47720 * src/pic16/glue.c (pic16_printIvalFuncPtr): use 'externs' to
47721 collect extern declared symbols, don't emit symbol twice, check
47722 first if symbol is in publics set first,
47723 * src/pic16/main.c (_pic16_keywords[]): added keyword 'register',
47724 * added command line '--fstack' which enables an experimental
47725 feature for stack access, too buggy to be used yet...
47726 * src/pic16/ralloc.c (pic16_accessregWithName): NEW,
47727 * (pic16_allocDirReg): when register has storage class S_REGISTER
47728 allocate in pic16_dynAccessRegs,
47729 * device/include/pic16/pic18f????.h: modified configuration word
47730 naming convention, words started as CONFIG0H but should be CONFIG1H
47732 2004-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
47734 * device/include/mcs51reg.h: fixed bug 970993
47736 2004-07-27 Maarten Brock <sourceforge.brock AT dse.nl>
47738 * added lib/calloc.c, lib/free.c, lib/realloc.c, include/stddef.h
47739 * updated lib/malloc.c, lib/libsdcc.lib, lib/Makefile.in, include/malloc.h
47740 * src/SDCC.lex (doPragma): added pragma disable_warning <nnn>
47741 * src/SDCCmain.c (parseCmdLine): added option --disable-warning <nnn>
47742 * src/ds390/gen.c (genPlusIncr): fixed bug when incrementing generic pointers
47743 * support/Util/SDCCerr.c (vwerror): suppress disabled warnings and output
47744 error/warning numbers,
47745 added function setWarningDisabled()
47746 * support/Util/SDCCerr.h: added setWarningDisabled() and MAX_ERROR_WARNING
47747 * support/regression/ports/mcs51-stack-auto/spec.mk: added dependencies
47748 _memcmp.c _memmove.c calloc.c realloc.c free.c
47749 * support/regression/tests/malloc.c: added tests for new functionality
47750 * support/regression/tests/zeropad.c: added tests for truncated initializers
47751 and initialized char arrays starting with '\x0'
47752 * src/mcs51/peeph.def: fixed regression, added peephole 177.f
47754 2004-07-26 Bernhard Held <bernhard AT bernhardheld.de>
47756 * support/valdiag/tests/overflow.c: fixed warning on (1 >> 40)
47758 2004-07-26 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47760 * doc/sdccman.lyx: updated example in section "Absolute Addressing"
47761 * src/mcs51/peeph.def: added contributed fix for "bug" #995347 as
47762 peephole 177.e. Thanks to anonymous
47764 2004-07-25 Vangelis Rokas <vrokas AT otenet.gr>
47766 * src/pic16/glue.c (pic16_printIvalFuncPtr): when an extern
47767 function isn't used in the source but referenced as a
47768 variable initializer then declare it as extern in .asm file
47770 2004-07-24 Vangelis Rokas <vrokas AT otenet.gr>
47772 * .version: increased version number to 2.4.3
47774 Adding version extension according to ChangeLog CVS revision
47775 * src/Makefile.in (target all): added dependency 'version.h'
47776 * (rule version.h): added rule to create version.h from ChangeLog,
47777 * (rule dep): added dependency version.h,
47778 * src/version.awk: AWK script to create version.h
47779 * src/SDCCdwarf2.c (dwWriteModule),
47780 * src/SDCCglue.c (initialComments),
47781 * src/SDCCmain.c (printVersionInfo): modified to write after
47782 version string the version extension number,
47783 * src/SDCCutil.c: included "version.h"
47784 * (getBuildNumber): NEW, returns SDCC's ChangeLog minor revision
47786 * src/SDCCutil.h: added prototype for getBuildNumber
47788 * src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
47789 includeDirsSet, too,
47790 * src/SDCCsymt.c (checkSClass): don't emit error when a variable,
47791 const char [] is found in function prototype...
47793 * src/pic16/genarith.c (pic16_genUMult8XLit_8): optimization to omit
47794 moving to WREG with source is already in WREG,
47795 * src/pic16/gen.h: added AOP_FSR0 and AOP_FSR2 in enum,
47796 * src/pic16/gen.c (getFreePtr): updated to look for FSR0 and FSR2,
47797 * (aopForSym): stack'ed symbols are partially supported, added
47798 if-clause to support symbols in FARSPACE,
47799 * (sameRegs): added test for AOP_ACC to see if registers are same,
47800 * (pic16_freeAsmop): added case for AOP_FSR0 and AOP_FSR2,
47801 * (pic16_aopGet): added case for AOP_FSR0 and AOP_FSR2,
47802 * (pic16_popRegFromString): will not allocate a new register if it
47803 doesn't find one by name, bug may have introduced...
47804 * (pic16_popGet): added case for AOP_FSR0 and AOP_FSR2,
47805 * (genIpush): revived to use pic16 port's stack,
47806 * (genAddrOf): added incomplete case for stack'ed operand,
47807 * (genCast): optimized a pair of MOVFW,MOVWF to MOVFF
47808 * src/pic16/genutils.c (pic16_genNot): almot new vesrion for NOT,
47809 can handle multibyte operands,
47810 * src/pic16/glue.c (pic16_printIval*): some debug info added,
47811 * (pic16initialComments): added message for MPLAB compatibility
47813 * src/pic16/main.h: prototype for pic16_mplab_comp,
47814 * src/pic16/main.c (pic16_optionsTable): new option --mplab-comp,
47815 which enabled MPLAB compatibility mode (i.e. no #LINE/#FILE, BANKED)
47816 * (_pic16_linkEdit): NEW, handles link stage, transferred here
47817 because of increased complexity of procedure,
47818 * (_process_pragma): stack pragma changed to format 'stack pos len',
47819 emit symbol '_stack_end' to conform with gplink,
47820 * src/pic16/pcode.c (pic16_newpCodeOpBit): using pic16_regWithName
47821 to search for register,
47822 * (pic16_get_op, pic16_get_op2): added case for PO_W, PO_WREG and
47824 * (pic16_pCode2str): when in MPLAB compatibility mode, comment out
47825 #LINE directives and replace 'B' with 'BANKED' in instruction opcodes
47826 * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
47827 case for PO_GPR_REGISTER,
47828 * (pic16_AnalyzeBanking): removed the old message for inc2h.pl, past
47829 dies, the new era is ahead !...
47830 * src/pic16/ralloc.c: added hash reposits pic16_dynAllocRegNames and
47831 pic16_dynInternalRegs,
47832 * (pic16_allocregWithName, pic16_procregWithName, pic16_regWithname): NEW,
47833 * (pic16_allocDirReg): minor optimizations and bug fixes,
47834 * (pic16_allocWithIdx): when searching pic16_dynProcessorRegs use fixed,
47836 * device/lib/pic16/startup/crt0*.c: extern definition of stack_end,
47837 load stack and frame pointer with address of 'stack_end' symbol
47839 2004-07-23 Vangelis Rokas <vrokas AT otenet.gr>
47841 * src/pic16/glue.c (pic16emitStaticSeg): fixed bug with files
47842 without source code but only variable initializers
47844 2004-07-20 Vangelis Rokas <vrokas AT otenet.gr>
47846 * src/pic16/glue.c (pic16emitRegularMap): unused functions marked as
47847 external are not declared as extern to reduce overhead while linking
47849 2004-07-20 Maarten Brock <sourceforge.brock AT dse.nl>
47851 * src/SDCCast.c (decorateType): removed buggy fix for bug #979599
47853 2004-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
47855 * src/SDCCglue.c (printIvalArray): fixed bug #984229, thanks to Phuah
47856 Yee Keat for the patch
47857 * src/SDCCast.c (decorateType): fixed bug #979599
47858 * src/ds390/gen.h: removed local fReturnSizeDS390
47859 * src/ds390/gen.c: made fReturnSizeDS390 signed short to remove a warning
47860 * src/ds390/gen.c (genAnd, genOr, genXor),
47861 * src/mcs51/gen.c (genAnd, genOr, genXor): generate better optimized code
47863 2004-07-04 Vangelis Rokas <vrokas AT otenet.gr>
47865 * src/SDCCmain.c (linkEdit): modifications only for pic16 port,
47866 add relFilesSet to $3, manipulate $2 to handle linking of object
47867 files without source files in command line,
47868 * device/include/pic16 (all headers): added ID location macros,
47869 * src/pic16/device.c (struct PIC16_device Pics16[]): added field
47870 entries for ID location bytes,
47871 * (pic16_assignIdByteValue): NEW,
47872 * src/pic16/device.h: new structures idRegInfo_t and idBytesInfo_t,
47873 added field dumpcalltree to pic16_options_t,
47874 * src/pic16/gen.c (genCmp): fixed bug case so a temporary register
47875 is used instead of pic16_Gstack_base_addr, check if (ifx) before
47876 emitting rFalseIfx label after check_carry label,
47877 * src/pic16/glue.c (PIC16_IS_IDLOC_ADDRESS, PIC16_IS_HWREG_ADDRESS,
47878 pic16_emitDIRegs), NEW
47879 * (pic16glue): dump .calltree file when option --calltree found,
47880 * src/pic16/main.c (OPTION _pic16_optionsTable): new option --calltree
47881 * (_pic16_genAssemblerPreamble): emit ID locations after
47882 configuration registers,
47883 * (pic16_linkCmd): modifications of the link command,
47884 * src/pic16/pcode.c (pic16_pciMOVFF): PCC_REGISTER replaces PCC_REGISTER2
47885 * (pic16_pCodeInitRegisters): don't init stack registers,
47886 * (pic16_findPrevInstruction): fixed bug,
47887 * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): fixed
47888 bug with immediate registers,
47889 * (buildCallTree): traces stack push and pop,
47890 * (pct2): dump also stack usage for each function,
47891 * src/pic16/ralloc.c (dynrIdx): registers names start from 0x00
47892 * (pic16_allocDirReg): various modifications,
47893 * (pic16_typeRegWithIdx): when searching pic16_dynProcessorRegs set
47896 2004-07-02 Vangelis Rokas <vrokas AT otenet.gr>
47898 * src/pic16/pcode.c: removed buggy double colon
47900 2004-07-01 Borut Razem <borut.razem AT siol.net>
47902 * support/scripts/sdcc.nsi: added include/pic16 to setup
47904 2004-06-30 Vangelis Rokas <vrokas AT otenet.gr>
47906 * device/lib/Makefile.in: fixed bug in target objects-pic16,
47907 * device/lib/pic16/Makefile: prefixed with dash (-) command under
47909 * doc/sdccman.lyx: changed version to 2.4.2 and added some port
47910 specific command line arguments. Also added sample lkr script
47911 for placing a variable at a specific memory bank.
47912 * src/pic16/device.c (pic16_dump_gsection): NEW, to dump variables
47913 at a specific memory bank,
47914 * (pic16_dump_isection): fixed bug which caused string literals to
47915 be omitted when dumping idata section,
47916 * (pic16_groupRegistersInSection): added code to handle registers
47917 in specific memory banks,
47918 * src/pic16/gen.c: labelOffset is prefixed with pic16_ and made
47919 public, all references are renamed too,
47920 * (pic16_aopGet): removed switch cases for AOP_R0,AOP_R1,AOP_DPTR,
47922 * (pic16_storeForReturn): added case to handle when dest is WREG,
47923 * src/pic16/genarith.c (pic16_pCodeOpSubType): NEW,
47924 * src/pic16/glue.c (pic16emitRegularMap): when adding a register in
47925 pic16_rel_udata, check to see if that register is marked as being
47926 a member of a specific memory bank,
47927 * (pic16_printIvalCharPtr): added code to add string literals either
47928 to code or the idata sections,
47929 * src/pic16/main.c (_process_pragma): added \n to WHITE constant,
47930 also accept the 'udata' pragma,
47931 * src/pic16/main.h: new structure types sectName and sectSym
47932 * src/pic16/pcode.c: added new pCodeInstruction entry for BANKSEL
47933 * (newpCodeOpBit): added PIC_OPTYPE subt in function prototype,
47934 * (pic16_findPrevInstruction): fixed, it returned nothing,
47935 * (insertBankSwitch): fixed to emit banksel/skip and skip/banksel
47936 instruction combinations,
47937 * (pic16_FixRegisterBanking): heavily reorganised,
47938 * (pic16_AnalyzeBanking): if generating banksel directives is
47939 disabled, then don't call FixRegisterBanking at all,
47940 * src/pic16/ralloc.c (bitEQUs, aliasEQUs, allDefsOutOfRange):
47941 completely removed,
47942 * (pic16_writeUsedRegisters): added call to pic16_dump_gsection
47944 2004-06-29 Bernhard Held <bernhard AT bernhardheld.de>
47946 * src/SDCCglue.c (printChar): fixed bug #973350, patch provided by
47947 Phuah Yee Keat <yk.phuah AT nestac.com>
47949 2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
47951 * src/pic16/glue.c (pic16createInterruptVect): function now emits
47952 correctly the IVT even if it is relocated to some other location
47954 2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
47956 * device/include/pic16/pic18fregs.h: added case for pic18f2220.h
47957 * device/include/pic16/pic18f2220.h: NEW,
47958 * device/lib/pic16/libdev/pic18f2220.c: NEW,
47959 * device/lib/pic16/libdev/Makefile: added 18f2220 in DEVS,
47960 * src/pic16/device.c (struct Pics16): added info for 18f2220,
47961 * src/pic16/device.h (struct pic16_options): added ivt_loc and
47962 nodefaultlibs, ivt_loc is the location of the interrupt vector
47963 table, and nodefaultlibs signs that default libraries should not be
47964 linked in link stage,
47965 * src/pic16/gen.c (genFunction): relocate interrupt vector functions
47966 according to --ivt-loc argument,
47967 * src/pic16/main.c (_process_pragma): emit '_stack' as public symbol
47968 when pragma stack is found,
47970 2004-06-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
47972 * src/mcs51/peeph.def: added peepholes 182.d (return 0.0),
47973 256 (range check), 257 (do while), 258.a-f (bit banging
47974 f.e. on 3-wire SPI bus)
47976 2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47978 * src/SDCClrange.c (findNextUseSym): fixed a live range bug with
47979 variables used exclusively within a loop
47981 2004-06-21 Bernhard Held <bernhard AT bernhardheld.de>
47983 * src/mcs51/gen.c (genCpl): quick fix for bug #974835
47985 2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47987 * src/SDCClrange.c (computeClash): fixed bug #971834
47989 2004-06-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47991 * src/mcs51/gen.c (genCmp): fixed bug #975903
47992 * src/hc08/gen.c (operandsEqu),
47993 * src/ds390/gen.c (operandsEqu),
47994 * src/z80/gen.c (operandsEqu),
47995 * src/pic/gen.c (operandsEqu),
47996 * src/pic16/gen.c (operandsEqu),
47997 * src/mcs51/gen.c (operandsEqu): fixed bug #976283
47998 * src/SDCCmain.c (parseCmdLine): report --unknown-option only once
48000 2004-06-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48002 * src/SDCCcse.c (cseBBlock): fixed bug #966963
48004 2004-06-12 Vangelis Rokas <vrokas AT otenet.gr>
48006 * src/pic16/gen.c (genPointerGet): added E_INTERNAL_ERROR for
48007 default case in switch statement,
48008 * glue.c (pic16_initPointer): expr is initialised via decoarteType
48009 to eliminate problem with initialisation of pointers, but problem
48011 * (pic16_pointerTypeToGPByte): removed, no needed for pic16,
48012 * (emitStaticSegment): removed various lines emitting debug info,
48013 * src/pic16/pcode.c, src/pic16/pcode.h, src/pic16/ralloc.h:
48014 added processor registers for utilizing EEPROM,
48015 * src/pic16/pcode.c (pic16_emitDB): number of DBs emitted is not
48016 configurable and set 8
48018 2004-06-08 Vangelis Rokas <vrokas AT otenet.gr>
48020 * .version: increased version number to 2.4.2,
48022 Cumulative patch for pic16 port
48023 * src/pic16/device.c: changed scheme to dump initial values for
48024 variables in idata segment, all print_idata* functions were removed,
48025 now the pic16_printIval* will be called,
48026 * src/pic16/glue.c: (pic16_initPointer, pic16_pointerTypeToGPByte,
48027 * _pic16_printPointerType, pic16_printPointerType,
48028 * pic16_printGPointerType, pic16_printIvalArray, pic16_printIvalStruct,
48029 * pic16_printIvalBitFields, pic16_printIvalFuncPtr, pic16_printIvalPtr:
48030 NEW, similar to the respective functions in SDCCglue.c,
48031 * src/pic16/pcode.c (pic16_emitDB, pic16_flushDB): reverted to old
48032 way, emitting hex bytes,
48033 * (pic16_emitDS): NEW, emits a string for pointer initialisation,
48035 2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48037 * src/avr/ralloc.c (serialRegAssign),
48038 * src/xa51/ralloc.c (serialRegAssign),
48039 * src/pic/ralloc.c (serialRegAssign),
48040 * src/pic16/ralloc.c (serialRegAssign),
48041 * src/hc08/ralloc.c (serialRegAssign),
48042 * src/z80/ralloc.c (serialRegAssign),
48043 * src/ds390/ralloc.c (serialRegAssign),
48044 * src/mcs51/ralloc.c (serialRegAssign): fixed bug #964479
48046 2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48048 * src/SDCCicode.c (geniCodeJumpTable): fixed bug #967601
48049 * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug #966505
48051 2004-06-07 Vangelis Rokas <vrokas AT otenet.gr>
48053 Cumulative patch for pic16 port:
48054 * src/pic16/device.h (typedef PIC16_device) modified fields for
48055 defining microcontrollers,
48056 * src/pic16/device.c: added new info for all devices in Pics16 array,
48057 * src/pic16/gen.c (genPcall): fixed bug that caused the return label
48058 to be optimised out by the pCode optimiser,
48059 * src/pic16/glue.c (pic16emitRegularMap): treat implicit aggragates
48060 specially, bug reported by G.M. Gallant,
48061 * src/pic16/pcode.c (pic16_newpCodeLabelFORCE): NEW, marks a label
48062 as force'd so that cannot be optimised out by pCode optimiser,
48063 * src/pic16/pcode.c,
48064 * src/pic16/pcodepeeph.c,
48065 * src/pic16/pcoderegs.c: many modifications to re-enable peepholes,
48066 they are disabled by default, but can be enabled explicit with
48067 command argument --denable-peeps, for testing,
48068 * device/lib/pic16/startup/Makefile: added --no-peep,--pomit-config-words,
48069 --pomit-ivt in COMPILE_FLAGS
48071 2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
48073 * src/pic16/pcode.c (pic16_emitDB): removed double semicolon which fails
48074 compilation on MSVC
48076 2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
48078 * device/include/sab80515.h: added sfr P6, changed GPL to LGPL
48080 2004-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48082 device/include/sab80515.h: fixed bug #967492, DAPR is defined at adress
48083 0xd8, but the correct adress is 0xda. Thanks to anonymous for reporting
48085 2004-06-06 Vangelis Rokas <vrokas AT otenet.gr>
48087 * src/pic16/device.c (pic16_assignConfigWord): fixed bug that
48088 would only assign 0x300001 register.
48090 2004-06-05 Vangelis Rokas <vrokas AT otenet.gr>
48092 * device/lib/pic16/startup/Makefile: added $(MODELFLAGS)
48093 in COMPILE_FLAGS. Thanks to G. Gallant for report.
48095 2004-06-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48097 * doc/sdccman.lyx: minor changes, mentioned beta vendor support
48099 * src/mcs51/peeph.def: ran unexpand -a over peeph.def
48100 * src/mcs51/peeph.def: removed obsolete peephole 100.a,
48101 added peephole 254 (left shift), 255 (jump table)
48103 2004-06-04 Vangelis Rokas <vrokas AT otenet.gr>
48105 * device/lib/Makefile.in: removed comment line with model-pic16,
48106 * (target port-specific-objects-pic16): the libraries and objects
48107 are copied to the build directory form the device/lib/pic16/bin
48110 Cumulative patch concerning pic16 port:
48111 * library directory has been re-organized,
48112 * added support for PIC18F1220,
48113 * added headers and library sources for chips 18f1220,18f6520,
48114 18f6620,18f6680,18f6720,18f8520,18f8620,18f8680,18f8720
48116 * configuration registers setting has changed, now each supported
48117 device has a complete description of the registers it uses,
48118 * all initialisations are moved to idata sections, these section
48119 can be absolute or relocatable,
48120 * fixed initialisation of codespace variables,
48121 * fixed warning about PCLATU and gpsim,
48122 * src/pic16/gen.c (genCmp): now can handle partially iCodes with no ifx,
48123 * (genAssign): use table reads when assigning from variables in codespace,
48124 * src/pic16/glue.c (pic16emitStaticSeg): fixed to correctly initialise
48125 char/int variables placed in codespace,
48126 * (pic16_emitConfigRegs): NEW, emits a list with configuration
48127 registers set in .asm file, no need for --pomit-config-words anymore,
48128 * (pic16glue): some 8051 legacy segments are commented out
48129 (to be removed completely),
48130 * added support for alternative assembler and linker with --asm=
48131 and --link= command line arguments,
48132 * peepholes are disabled automatically in the port, no need to
48133 specify on command line,
48134 * port supports natively char/int/long multiplication, but converts
48135 all divisions to support functions,
48136 * main.c: pic16_linkCmd and pic16_asmCmd changed to force output
48137 to the file set in variable $2,
48138 * pcode.c (pic16_emitDB, pic16_flushDB): modified to print printable
48139 strings in ASCII format and not in hex,
48140 * ralloc.c (serialRegAssign): added a triplet of conditional calls
48141 to pic16_allocDirReg for IC_RESULT, IC_LEFT and IC_RIGHT so to
48142 allocate proper register if iCodes aren't temporary,
48144 2004-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
48146 * support/regression/tests/zeropad.c: added TEST_G macro for alpha
48148 2004-06-02 Vangelis Rokas <vrokas AT otenet.gr>
48150 * src/pic16/gen.c (genPcall): warning about gpsim and PCLATU
48153 2004-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48155 * src/hc08/gen.c (genPointerGetSetOfs): disabled optimization if
48156 computed address is reused
48157 * src/hc08/gen.c (genPackBits): fixed offsets in assignments to
48158 multi-byte bitfields
48160 2004-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
48162 * src/z80/gen.c: (genArrayInit): must check for pointers too
48164 2004-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
48166 * support/regression/tests/zeropad.c: never meant to commit the
48167 nestedstruct test: removed, added check for GCC version
48169 2004-05-31 Maarten Brock <sourceforge.brock AT dse.nl>
48171 * src/SDCCast.c (createIvalArray): fixed bug 770487 SIGSEGV
48172 * src/SDCCglue.c (emitRegularMap): fixed bug 770484 allocation problem
48173 * src/SDCCglue.c (initPointer, printIvalType, printIvalStruct,
48174 printIvalArray, printIvalFuncPtr, printIvalPtr, printIval): fixed
48175 bugs 928906 and 954082 half-empty initializers
48177 * src/SDCCsymt.c (getAllocSize): added for above fix
48178 * src/z80/gen.c (genArrayInit): fixed bug 741044
48179 * support/regression/tests/zeropad.c: added tests
48181 2004-05-30 Vangelis Rokas <vrokas AT otenet.gr>
48183 * src/pic16/device.c (pic16_dump_section): corrected bug which
48184 caused some symbols of the libraries to be misplaced
48186 2004-05-28 Vangelis Rokas <vrokas AT otenet.gr>
48188 * src/pic16/glue.c,
48189 * src/pic16/ralloc.h,
48190 * src/pic16/ralloc.cc: prefixed IS_CONFIG_ADDRESS with PIC16_
48191 to fix conflict with pic port
48193 2004-05-28 Vangelis Rokas <vrokas AT otenet.gr>
48195 * src/pic16/glue.c (pic16emitStaticSeg): do not print as publics or
48196 externs configuration variables,
48197 * src/pic16/ralloc.h,
48198 * src/pic16/ralloc.cc: IS_CONFIG_ADDRESS is made public and added
48199 prototype in header, commented out some debug messages
48201 2004-05-26 Vangelis Rokas <vrokas AT otenet.gr>
48203 * src/pic16/glue.c,
48204 * src/pic16/main.c,
48205 * src/pic16/pcode.c: added gpasm directives #FILE/#LINE
48206 for gpasm COFF object generation. Thanks to D. Hawkins for
48209 2004-05-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48211 * src/ds390/main.c,
48212 * src/mcs51/main.c: fixed sort order of mnemonics (thanks to Maarten
48213 Brock for spotting this)
48214 * src/ds390/gen.c (genEndFunction),
48215 * src/mcs51/gen.c (genEndFunction): always save psw if function is an
48216 interrupt handler and critical. Disable push/pop optimizations when
48217 peephole optimizations disabled.
48219 2004-05-25 Vangelis Rokas <vrokas AT otenet.gr>
48221 Updated pic16 library sources and headers.
48222 * device/lib/pic16/pic18f*/ ,
48223 * device/include/pic16/*.h: modified to handle structured SFR
48226 2004-05-25 Vangelis Rokas <vrokas AT otenet.gr>
48228 * src/port.h (PORT structure): added hook initPaths, now each
48229 port can declare its own default search paths,
48230 which can been seen with the --print-search-dirs option,
48231 see pic16 port for example,
48232 * src/SDCCmain.c (setBinPaths, setIncludePaths, setLibPath,
48233 setDataPaths): test to options.printSearchDirs is ifdef'ed out,
48234 * (doPrintSearchDirs): NEW, replaces in a central manner the
48235 printing of search dirs which was split in set*Paths functions,
48236 * (main): added call to port->initPaths and doPrintSearchDirs,
48238 * src/ds390/main.c,
48241 * src/izt/tlcs900h.c,
48242 * src/mcs51/main.c,
48244 * src/pic16/main.c: modified port structures to reflect addition of
48247 * src/pic16/device.c (regCompare): registers are finally sorted by name,
48248 * (pic16_dump_section): for registers in same address reserve memory once,
48249 * src/pic16/device.h (struct PIC16_device): changed variable gen_banksel
48251 * src/pic16/genarith.c (pic16_genPlus): added code to handle cases where
48252 result is greater in size than right or left,
48253 * (pic16_genUMult8X8_8): there are some cases where the result can
48254 be 16 bits size, so handle these,
48255 * src/pic16/gen.c: changed some pic16_emitpcomment to DEBUGpic16_emitcode,
48256 * (pic16_outBitC): modified to emit pcodes,
48257 * (pic16_storeForReturn): using is_LitOp to see if operand is literal
48259 * (genDivOneByte): implemented algorithm to divide 8-bits,
48260 * (genCmp): uncommented goto, but issues still exist,
48261 * (genAnd): fixed a bug with variables >8bits,
48262 * (genPackBits): optimization added that uses BCF/BSF to change a
48264 * (genAssign): fixed bug when assigning floating point literals,
48265 * src/pic16/glue.c (pic16glue): added assembler directive 'code' before
48266 __sdcc_gsinit_startup label,
48267 * src/pic16/main.c (_pic16_init): removed search directory
48269 * (_pic16_initPaths): NEW, used to initialise search directories,
48270 * (_hasNativeMulFor): support functions for all except char/int
48271 multiplication, and char division,
48272 * (PIC16_port struct): modified entry for native mul support,
48273 * src/pic16/pcode.c (insertBankSwitch): modified to support the renamed
48275 * (buildCallTree): call to register_usage is ifdef'ed out,
48277 2004-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48279 * device/include/string.h: applied Stas Sergeev's patch to make this
48280 header file compatible with the preprocessor -Wundef option
48281 * src/SDCCmain.c (main): abort compilation if preprocessor reports
48282 failure (fixes bug #941458)
48284 2004-05-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48286 * src/SDCCopt.c (killDeadCode): fixed bug #907733
48287 * support/Util/SDCCerr.c: reworded E_AUTO_ASSUMED diagnostic to clarify
48288 that the variable, not the function, should be static
48289 * src/SDCCval.c (valCastLiteral): fixed bit initialization from literal
48290 to be consistent with non-literal case
48292 2004-05-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48294 * src/SDCCast.c (isConformingBody): fixed bug #949967
48295 * src/SDCCopt.c (cnvToFcall, cnvToFloatCast, cnvFromFloatCast,
48296 convilong): fixed bug #952086
48298 2004-05-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48300 * src/SDCCmem.c (allocVariables): fixed bug #955321
48302 2004-05-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48304 * src/hc08/main.c (_hc08_genAssemblerEnd),
48305 * src/SDCCdwarf2.c (dwOpenFile, dwCloseFile, dwWriteFunction,
48306 dwWriteModule, dwWriteCLine, dwWriteALine, dwarf2FinalizeFile):
48307 completely eliminated the use of a temporary file
48308 * src/SDCCdwarf2.c (dwWriteAttr): fixed bug with location list offset
48309 when more than one file linked
48310 * src/SDCCloop.c (pointerAssigned): fixed bug #954163
48312 2004-05-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48314 * src/SDCCval.c (valForArray): applied Maarten Brock's patch #947682
48315 which fixes bug #543481
48316 * support/regression/tests/bug-751703.c: fixed comments left from a
48317 cut and paste error
48318 * src/SDCCdwarf2.c (dwCloseFile): don't explicitly close a temp file
48319 * src/SDCCdwarf2.c (dwTagFromType): added bitfield support
48320 * src/SDCCdwarf2.c (dwWriteSymbolInternal): handle extern within local
48322 * src/SDCCdwarf2.c (dwWriteLineNumber): line number deltas are signed
48323 * src/SDCCmain.c (processFile, parseCmdLine): non-alphanumeric chars
48324 are now changed to underscores in moduleName
48326 2004-05-15 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48328 * as/mcs51/lkmem.c: better fix for bug #954173
48330 2004-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
48331 committed by Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48333 * device/include/c8051f020.h: newly added SiLabs (Cygnal) header file
48334 * device/include/c8051f000.h,
48335 * device/include/c8051f120.h,
48336 * device/include/c8051f300.h,
48337 * device/include/c8051f310.h,
48338 * device/include/c8051f320.h: updated (added _XPAGE, CAPN, CAPP,
48339 PWM16) and detab'ed
48341 2004-05-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48343 * doc/sdccman.lyx: mentioned sourceforge's delay between web frontend
48344 and mailing lists, doc'ed --no-peep-comments, removed reference
48345 to knoppix (newest version has no LyX/LaTeX), other minor changes
48346 * src/SDCCglue.c (glue): save 2 bytes stack space with
48347 option --main-return. The ljmp could probably be avoided too
48349 2004-05-14 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48351 * as/mcs51/lkmem.c, as/mcs51/lkaomf51: fixed bug 954173
48353 2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48355 * src/SDCCsymt.h: added IS_AUTO(symbol) test macro
48356 * src/SDCCopt.c (isLocalWithoutDef),
48357 * src/SDCCicode.c (operandFromSymbol): use the IS_AUTO test macro
48358 which adds a !IS_EXTERN codition. Fixes bugs #877426 and #751703.
48359 (credit to Maarten Brock for patch #949363, on which this is based)
48360 * support/regression/tests/bug-751703.c: some test cases of extern used
48361 within inner scopes.
48363 2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48365 * src/SDCCdwarf2.c (dwMatchTypes): structs must have matching
48367 * src/SDCCdwarf2.c (dwTagFromType): fix to handle recursive
48369 * src/SDCCdwarf2.c (dwWriteModule, dwNewDebugSymbol, dwWriteEndFunction,
48370 dwWriteLabel): fix to create valid debugger symbols even when
48371 the module name has non-alphanumeric symbols in it
48372 * src/SDCCdwarf2.c (dwWriteSymbolInternal): better detection for
48373 when a variable's allocation has been optimized away
48376 2004-05-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48378 * src/hc08/gen.c (hc08_emitDebuggerSymbol),
48380 * src/mcs51/gen.c (mcs51_emitDebuggerSymbol),
48381 * src/mcs51/main.c,
48382 * src/ds390/gen.c (ds390_emitDebuggerSymbol),
48383 * src/ds390/main.c,
48384 * src/z80/gen.c (z80_emitDebuggerSymbol),
48386 * src/pic/gen.c (pic14_emitDebuggerSymbol),
48388 * src/pic16/gen.c (pic14_emitDebuggerSymbol),
48389 * src/pic16/main.c,
48390 * src/avr/gen.c (avr_emitDebuggerSymbol),
48392 * src/xa51/gen.c (xa51_emitDebuggerSymbol),
48394 * src/SDCCdebug.c (emitDebuggerSymbol),
48396 * src/port.h: added a debugger struct to the port struct. Added a
48397 callback for defining debugger symbols
48399 * src/SDCCast.c (createLabel),
48400 * src/SDCC.y (labeled_statement): mark all compiler generated labels
48403 * src/SDCCicode.c (geniCodeFunctionBody): added a link from the FUNCTION
48404 iCode back to the ast for the function
48406 * src/hc08/ralloc.c (hc08_assignRegisters),
48407 * src/hc08/ralloc.h: define a regs struct for the stack pointer. Removed
48408 unneeded fields from the regs struct.
48409 * src/hc08/gen.c (transferRegReg, genFunction, genEndFunction): use the
48410 pushReg() & pullReg() functions instead of emitcode()
48412 * src/hc08/gen.c (genLabel, genhc08Code),
48413 * src/SDCCdebug.h: Added additional debugger hooks needed for DWARF
48415 * src/cdbFile.c (cdbWriteLabel, cdbWriteScope): Added stubs for unneeded
48418 * src/hc08/gen.c (genEndFunction, genhc08Code),
48420 * src/mcs51/gen.c (genEndFunction, gen51Code),
48422 * src/ds390/gen.c (genEndFunction, gen390Code),
48424 * src/z80/gen.c (genEndFunction, genZ80Code),
48427 * src/pic/gen.c (genEndFunction, genpic14Code),
48429 * src/pic16/gen.c (genEndFunction, genpic16Code),
48431 * src/avr/gen.c (genEndFunction, genAVRCode),
48433 * src/xa51/gen.c (genEndFunction, genXA51Code),
48435 * src/cdbFile.c (cdbWriteFunction, cdbWriteEndFunction): moved cdb
48436 specific code to cdbFile.c and out of the backend code generators
48438 * as/hc08/lkmain.c (main): removed OMF51 support from link-hc08
48439 * as/hc08/lkarea.c (lnkarea): areas with NOLOAD attribute default
48440 starting address is now 0
48443 * as/hc08/m08pst.c,
48444 * as/hc08/asmain.c (asmbl): implemented the .sleb128 and .uleb128
48445 assembler directive for DWARF support
48446 * as/hc08/lkelf.c (elf): only increment address when rtflg[] set
48450 * src/SDCCdwarf2.c: preliminary DWARF (ver 2) debugger data generator
48452 2004-05-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48454 * src/hc08/gen.c (genJumpTab, emitcode, genhc08code): fixed stack error
48455 and inappropriate peephole optimization in jump tables
48457 2004-04-30 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48459 * as/hc08/m08pst.c,
48460 * src/SDCCglue.c: sdccopt works for the hc08 port now
48462 2004-04-27 Bernhard Held <bernhard AT bernhardheld.de>
48464 * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): fixed bug #942130
48466 2004-04-27 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48468 * as/hc08/lkelf.c: sdccconf.h is not available in WIN32
48470 2004-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48472 * src/SDCCpeeph.c (replaceRule): support empty replacement peephole
48476 * src/SDCCpeeph.c (getPeepLine): new option --no-peep-comments omits
48477 comments from the peephole optimizer replacement rules
48478 * src/SDCCmem.c (printAllocInfoSeg): give actual location of spilled
48480 * src/SDCCcse.c (updateSpillLocation),
48481 * src/SDCCopt.c (killDeadCode, findReqv): better tracking of register
48483 * src/hc08/ralloc.c (regTypeNum): pseudo symbols must be in DATA only
48484 * src/hc08/main.c (_hc08_finaliseOptions): made pointers to stack
48485 objects far pointers
48487 2004-04-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48489 * src/SDCCsymt.h: a missing part of my last change
48490 * src/pic/ralloc.c (regTypeNum),
48491 * src/pic16/ralloc.c (regTypeNum): fixed statement/declaration order
48493 2004-04-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48496 * src/SDCCicode.c (aggrToPtrDclType),
48497 * src/SDCCptropt.h,
48498 * src/SDCCptropt.c (ptrBaseRematSym, ptrPseudoSymSafe,
48499 ptrPseudoSymConvert),
48500 * src/pic/ralloc.c (regTypeNum),
48501 * src/pic16/ralloc.c (regTypeNum),
48502 * src/hc08/ralloc.c (regTypeNum),
48503 * src/ds390/ralloc.c (regTypeNum),
48504 * src/mcs51/ralloc.c (regTypeNum): check for dependancy hazards before
48505 creating pseudo symbols (fixed bugs #777768, #930484, and #933966)
48507 2004-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48509 * link/z80/lkmain.c (afile),
48510 * as/hc08/lkmain.c (afile),
48511 * as/mcs51/lkmain.c (afile): fix suggested by Maarten Brock to
48512 prevent a pointer problem when a filename has no directory and
48513 no extension specified.
48515 2004-04-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48517 * link/z80/lkmain.c (afile): allow periods in directory names
48518 * link/z80/lkmain.c (afile),
48519 * as/mcs51/lkmain.c (afile),
48520 * as/hc08/lkmain.c (afile): allow linker script file to have an
48521 extension other than ".lnk"
48522 * link/z80/lklex.c (getfid),
48523 * link/z80/lkmain.c (parse),
48524 * as/mcs51/lklex.c (getfid),
48525 * as/mcs51/lkmain.c (parse),
48526 * as/hc08/lklex.c (getfid),
48527 * as/hc08/lkmain.c (parse): Support comments in the linker script
48528 file on lines by themselves and after filenames
48530 2004-04-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48532 * as/link_hc08.dsp: Added as/hc08/lkelf.c to project.
48534 2004-04-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48536 * src/z80/peeph-z80.def: removed some peephole rules that don't
48537 work with multibyte arithmetic (fixed bug #937126)
48538 * src/mcs51/peeph.def: fixed peephole rules 150-158 to apply only
48539 to registers and not global variables
48540 * src/SDCCicode.c (geniCodeAssign, ast2iCode, geniCodePostInc,
48541 geniCodePreInc, geniCodePostDec, geniCodePreDec,
48542 geniCodeLogicAndOr, geniCodeConditional): enforce strict lvalue
48543 checking for assignments not internally generated (fixed bug #931895)
48544 * src/SDCC.y (postfix_expr): ignore typedefs when looking for a
48545 structure member (fixed bug #930072)
48547 2004-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48549 * src/SDCCmain.c (linkEdit),
48550 * src/hc08/main.c (_hc08_parseOptions),
48551 * as/hc08/Makefile.in,
48552 * as/hc08/aslink.h,
48554 * as/hc08/m08pst.c,
48555 * as/hc08/lkrloc.c (relr, rele),
48556 * as/hc08/lkarea.c (lnkarea)
48557 * as/hc08/lkmain.c (afile, parse),
48558 * as/hc08/lkelf.c: support for ELF output
48559 * as/hc08/lks19.c (s19),
48560 * as/hc08/lkihx.c (ihx): ignore areas with the NOLOAD attribute
48562 2004-04-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48564 * as/mcs51/lkihx.c: Fixed bug #899105.
48566 2004-04-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
48568 * doc/sdccman.lyx: Added instructons on how to convert MSVC .dsw and
48569 .dsp files from Unix to DOS.
48571 2004-04-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48573 * doc/sdccman.lyx: removed the ANSI-C noncompliance note regarding
48574 function pointers; we have been compliant for several months now.
48575 * src/mcs51/ralloc.c (serialRegAssign): enabled part of my 2004-04-13
48576 change that was accidently commented out
48577 * src/mcs51/gen.c (freeAsmop, getFreePtr, freeForBranchAsmop, genIfxJump,
48578 genCmpEq, jmpTrueOrFalse, genCmp, genAnd, genOr, genXor, genIfx): fixed
48581 2004-04-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48583 * src/hc08/gen.c: output of all of the internal debugging information
48584 is now controlled by the D() macro; it is disabled by default
48586 2004-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48588 * src/mcs51/ralloc.c (serialRegAssign, fillGaps, allocThisReg): try
48589 harder to keep the same registers during a CAST iCode
48590 * src/SDCCopt.c (optimizeCastCast, eBBlockFromiCode): casts of char to
48591 long via int can be done in a single cast, if the signedness is
48593 * support/regression/tests/bug-927659.c: fixed to avoid conflict with
48594 putchar() in tinibios.c in ds390's library
48596 2004-04-12 Bernhard Held <bernhard AT bernhardheld.de>
48598 * src/SDCCast.c (decorateType): fixed bug #898889,
48599 cast result of a literal complement too
48600 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #930931,
48601 fixed check for bitfields
48603 2004-04-11 Bernhard Held <bernhard AT bernhardheld.de>
48605 * src/SDCCicode.c (geniCodeLogic): made it static,
48606 (geniCodeLogicAndOr): added in order to fix bug #905492,
48607 (ast2iCode): fixed bug #905492
48608 * support/regression/tests/bug-905492.c: added
48609 * src/SDCCast.c (decorateType): don't decorate/process parms twice,
48610 (processParms): fixed bug #927659: don't copy parms, this will clear
48612 * support/regression/tests/bug-927659.c: added
48614 2004-03-29 Bernhard Held <bernhard AT bernhardheld.de>
48616 * src/SDCCast.c (addCast): don't cast float to char
48617 * device/lib/libsdcc.lib: added _memmove
48619 2004-03-28 Bernhard Held <bernhard AT bernhardheld.de>
48621 * device/lib/large/Makefile: fixed parallel execution by
48622 replacing `make` by `$(MAKE)`
48624 2004-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48626 * src/hc08/gen.c (genPointerGetSetOfs): correctly handle 1 byte array
48627 offsets (fixes bug #923936)
48629 2004-03-26 Bernhard Held <bernhard AT bernhardheld.de>
48631 * device/lib/small/Makefile: fixed parallel execution by
48632 replacing `make` by `$(MAKE)`
48634 2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
48636 * device/lib/vprintf.c (vsprintf): minor optimization, see bug #801101
48638 2004-03-23 Scott Dattalo <scott AT dattalo.com>
48640 * src/pic/gen.c (genCpl): multi-byte complements were not working.
48641 * src/regression/Makefile: Regression test was not running.
48643 2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
48645 * src/SDCCast.c (resultTypePropagate, decorateType): avoid promotion to int for
48646 complement if possible
48647 * src/SDCCval.c (valComplement),
48648 * src/SDCCicode.c (operandOperation): fixed complement of literal
48649 * support/regression/tests/onebyte.c (testComplement): added
48651 2004-03-22 Bernhard Held <bernhard AT bernhardheld.de>
48653 * src/SDCCast.c (processParms): fixed bug #920866; decorateType() can
48654 return an optimized tree; actually replace actParm with the new tree
48655 * src/SDCCast.h: added some parantheses to remove side effects
48656 * support/regression/tests/bug-920866.c
48658 2004-03-21 Scott Dattalo <scott AT dattalo.com>
48659 * src/pic/gen.c, src/pic/gen.h, src/pic/genarith.c, src/pic/pcode.c:
48660 Bit operands were not being handled properly in the pic14 port.
48661 (now src/regression/add.c passes again).
48663 2004-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48665 * src/SDCC.y (labeled_statement): case and default no longer require
48666 a following statement (RFE #893037)
48668 2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48670 * src/mcs51/gen.c (pushSide, genSignedRightShift, genDjnz, geniPush):
48671 use MOVA macro to avoid "mov a,acc" when peephole optimizer is
48672 disabled (fixes bug #916294)
48673 * sim/ucsim/s51.src/mov.cc (inst_mov_a_addr): Throw an error on
48674 "mov a,acc"; patch provided by Lenny Story
48675 * device/include/mc68hc908gp32.h: header contibuted by Juan Gonzalez
48677 2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48679 * src/mcs51/gen.c (genFunction): optimize RECEIVE in reentrant
48681 * src/ds390/gen.c (genFunction, genEndFunction),
48682 * src/ds390/ralloc.c (ds390_assignRegisters),
48683 * src/mcs51/gen.c (genFunction, genEndFunction, mcs51_assignRegisters):
48684 * src/mcs51/ralloc.c (mcs51_assignRegisters): Skip optimizing registers
48685 pushed if there are parameters passed on the stack. Also, a cleaner
48686 way to decide if r0/r1 should be pushed/popped. (Together they fix
48689 2004-03-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48692 * device/lib/mcs51/crtpagesfr.asm,
48693 * device/lib/mcs51/crtxinit.asm,
48694 * device/lib/mcs51/crtxstack.asm: Changed name of _PAGESFR to _XPAGE
48695 to avoid confusion with Si Lab's SFRPAGE register.
48697 2004-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48699 * src/SDCCglue.c (emitMaps): allow public sfr variables
48700 * src/SDCCglue.c (initialComments): include compiler build date
48701 with compiler version and put the timestamp of the generated
48702 assembly file on a serperate line to be less confusing.
48703 * src/port.h: added genInitStartup hook
48705 * src/ds390/main.c,
48708 * src/pic16/main.c,
48710 * src/z80/main.c: genInitStartup initialize as NULL (default to
48711 historical behaviour)
48712 * src/SDCCglue.c (glue): _sdcc_gsinit_startup is now port specific.
48713 * src/mcs51/main.c: (_mcs51_genInitStartup, _mcs51_genExtraAreas,
48714 _mcs51_genXINIT, _mcs51_genRAMCLEAR): link initialization code from the
48715 library instead of hard coding it into the compiler.
48716 * support/regression/ports/mcs51-stack-auto/spec.mk,
48717 * src/SDCCmain.c (linkEdit): added mcs51.lib to the link libraries
48718 * device/lib/mcs51/Makefile,
48719 * device/lib/small/Makefile,
48720 * device/lib/large/Makefile,
48721 * device/lib/mcs51/crtpagesfr.asm,
48722 * device/lib/mcs51/crtstart.asm,
48723 * device/lib/mcs51/crtxclear.asm,
48724 * device/lib/mcs51/crtxinit.asm,
48725 * device/lib/mcs51/crtclear.asm,
48726 * device/lib/mcs51/crtxstack.asm: move most of the mcs51 C runtime
48727 startup/initialization out of src/SDCCglue.c and src/mcs51/main.c
48728 and into user configurable files.
48729 * device/lib/clean.mk: clean mcs51 directory too
48730 * support/regression/tests/longlit.c: added static to T1 declaration
48731 * doc/sdccman.lyx: documented _PAGESFR sfr for customizing pdata
48732 accesses in the initialization code
48734 2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48736 * device/include/mc68hc908qy.h: corrected declarations of FLBPR and
48737 OSCTRIMVAL as noted in bug #916008
48739 2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48741 * src/SDCCloop.c (basicInduction): fixed bug with loop induction
48742 in loops with multiple exits (reported as incorrect registers
48743 used by Martin Helmling in Sdcc-user list)
48745 2004-03-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48747 * src/ds390/main.c (_ds390_genAssemblerPreamble): cosmetic change,
48748 made ds390 register extensions look less like error messages
48750 2004-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48752 * src/SDCCglue.c (printIvalPtr): fixed bug with pointer initializer
48753 reported by Adam Wozniak in Sdcc-user list
48755 2004-03-10 Bernhard Held <bernhard AT bernhardheld.de>
48757 * src/SDCCast.c (decorateType): fixed with bug and promotion in
48758 arithmetic optimizations, added debug output
48760 2004-03-09 Bernhard Held <bernhard AT bernhardheld.de>
48762 * device/lib/time.c (mktime): fixed bug reported by Bert Thomas
48763 * sdcc.spec: updated and split sdcc into 3 rpms
48764 * src/SDCCast.c (decorateType): &|^ don't need addCast(); addCast() is
48765 needed for literals of LEFT_OP and '+'
48766 * src/SDCCicode.c (geniCodeLogic): I must have been braindead when I
48767 introduced RESULT_TYPE_NOPROM
48768 (geniCodeMultiply): fixed logic for decision if mul is optimized to
48770 * src/SDCCsymt.c (computeType): op is int; added RESULT_TYPE_OTHER;
48771 limited promotion to int only for '*'
48772 * src/SDCCsymt.h (computeType): op is int, removed RESULT_TYPE_NOPROM
48774 2004-03-09 Hans Dorn <hjdorn AT users.sourceforge.net>
48776 * src/pic16/gen.c (genSkip),
48777 (genc16bit2lit), (gencjneshort): commented out
48778 (is_LitOp): new helper function, checks operand type
48779 (genCmpEq): rewritten
48781 2004-03-08 Bernhard Held <bernhard AT bernhardheld.de>
48783 * support/regression/tests/bug-908454.c: added
48785 2004-03-07 Bernhard Held <bernhard AT bernhardheld.de>
48787 * src/SDCCast.c (addCast): fixed bug #908454 by promoting bits to char
48788 * src/SDCCicode.c (usualBinaryConversions): op needs int type
48789 (geniCodeCast): cosmetic, don't preserve bit storage class
48790 (geniCodeLeftShift): added promotion
48791 (geniCodeLogic): fixed regression
48792 * src/SDCCsymt.c (computeTypeOr): accept bits too
48793 (compareType): 2nd part of fix for bug #908454, needed for bitfields
48795 2004-03-07 Borut Razem <borut.razem AT siol.net>
48797 * support/Util/findme.c: alloca() replaced with malloc()/free() pair
48799 2004-03-06 Vangelis Rokas <vrokas AT otenet.gr>
48801 * src/pic16/ralloc.c (pic16_genPackRegisters): reverted to old
48802 version of pic16_genPackRegisters which does not check if ic is a
48804 * src/pic16/gen.c (ifxForOp): disabled new and untested code in
48805 function cause string1.c regression test fails
48807 2004-03-06 Bernhard Held <bernhard AT bernhardheld.de>
48809 * sim/ucsim/configure.in,
48810 * sim/ucsim/configure,
48811 * sim/ucsim/doc/Makefile.in: use docdir
48812 * src/SDCC.y: fixed sbit atrributes
48813 * src/SDCCast.c (getResultTypeFromType): added support for bitfields
48814 * src/SDCCast.c (decorateType): |^& need special promotion handling
48816 * src/SDCCsymt.h: moved definition of RESULT_TYPE
48817 * src/SDCCsymt.h (computeType),
48818 * src/SDCCicode.c: computeType() needs op
48819 * src/SDCCsymt.c (checkTypeSanity),
48820 * doc/sddman.lyx: "plain" bitfields are unsigned
48821 * src/SDCCsymt.c (computeTypeOr): added
48822 * src/SDCCsymt.c (computeType): added support for bitfields, fixed
48824 * src/SDCCval.c (val*): computeType() needs op
48825 * src/SDCCval.c (valCastLiteral): fixed casting of bitfields
48826 * support/regression/tests/onebyte.c: added tests for |^&
48828 2004-03-06 Hans Dorn <hjdorn AT users.sourceforge.net>
48830 * src/pic16/gen.c: (genpic16Code) use copy of printILine's output
48831 for writing icode into asm output.
48833 2004-03-05 Vangelis Rokas <vrokas AT otenet.gr>
48835 * src/pic16/device.c: added some debug lines enabled
48836 with macro DEBUG_CHECK,
48837 * src/pic16/genarith.c: more debug in genPlus,
48838 * (pic16_genUMult8XLit_16, pic16_genUMult8X8_16): removed,
48839 * (pic16_genUMult16X16_16, pic16_genUMult16XLit_16): NEW,
48840 * src/pic16/gen.c: added prototypes for pic16_genMult16X16_16,
48841 * (aopForSym): onStack symbols are re-placed in data memspace,
48842 and onStack flag is cleared,
48843 * (pic16_popGetTempReg, pic16_popReleaseTempReg): modified to
48844 copy temporary pcodeop,
48845 * (genPcall): added warning for not updating PCLATU,
48846 * (genFunction): removed test with IFFUNC_CALLEESAVES, its
48847 always true for pic16 port,
48848 * (genMultOneWord): NEW, supports integer multiplication,
48849 * (genMult): modified to call genMultOneWord,
48850 * (ifxForOp): added warning when return NULL,
48851 * src/pic16/glue.c (pic16emitRegularMap): symbol implicit
48852 flag is set before call to operandFromSymbol for implicit
48854 * src/pic16/main.c (_pic16_finaliseOptions): options.float_rent,
48855 options.intlong_rent are set by default,
48856 * (_hasNativeMulFor): modified to allow port generation of integer
48858 * src/pic16/ralloc.c (pic16_allocDirReg): commented out line which
48859 set regtype to REG_SFR for all registers, restricting seting the
48860 accessBank flag for registers 0<= r < 0x80 and 0xf80<=r<=0xfff,
48862 2004-03-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
48864 * src/mcs51/peephole.def: added 251.b and 253.x. 253.x are applied
48865 more than 500 times in the regression tests
48867 2004-03-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48869 * support/Util/SDCCerr.h,
48870 * support/Util/SDCCerr.c,
48871 * src/SDCC.y (struct_or_union_specifier, enum_specifier,
48873 * src/SDCCsymt.c (addSymChain): show location of oriignal definition
48874 for symbol conflicts.
48875 * support/valdiags/tests/enum.c,
48876 * support/valdiags/tests/tentdecl.c,
48877 * support/valdiags/tests/struct.c: expect possible error messages
48878 referring to original symbol definitions.
48879 * src/SDCC.y (struct_or_union_specifier, struct_declarator),
48881 * src/SDCCsymt.c (promoteAnonStructs): support anonymous struct/union
48883 2004-03-03 Hans Dorn <hjdorn AT users.sourceforge.net>
48885 * src/pic16/gen.c (gencjne): fixed for right=REG / left=LIT
48887 2004-02-03 Vangelis Rokas <vrokas AT otenet.gr>
48889 * src/pic16/ralloc.c (newReg): fixed bug #908929
48891 2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48893 * src/ds390/gen.c: added missing #include "main.h"
48895 2004-03-02 Vangelis Rokas <vrokas AT otenet.gr>
48897 * src/pic16/device.c (checkAddSym): NEW, adds a symbol to set while
48898 checking if symbol is already in set,
48899 * src/pic16/device.h: prototype for checkAddSym,
48900 * src/pic16/gen.c: (_G): added entry interruptvector,
48901 * (assignResultValue): removed some commented out lines,
48902 * (genFunction): check for ISR via sym->type, absolute section for
48903 interrupt code is created via a new pBlock, the goto instruction is
48904 placed now correctly at the interrupt vector position, changed all
48905 references from ivec to _G.interruptvector,
48906 * WREG,STATUS,BSR are not saved in stack upon an entry to interrupt
48907 is the interrupt is a high priority one, same for return from ISR,
48908 * src/pic16/glue.c: changed all calls of addSetHead for publics and
48909 externs to calls of checkAddSym,
48910 * src/pic16/pcode.c (pic16_pBlockConvert2*): emit warning when
48911 pic16_pcode_verbose flag is set,
48912 * src/pic16/pcode.h: extern to pic16_pcode_verbose,
48913 * src/pic16/pcoderegs.c: message about how many registers are saved
48914 will only be emitted if pic16_pcode_verbose flag is set,
48916 2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48918 * src/ds390/ralloc.h,
48919 * src/ds390/ralloc.c (ds390_regWithIdx),
48920 * src/ds390/gen.c (emitcode),
48921 * src/ds390/main.h,
48922 * src/ds390/main.c (instructionSize, ds390newAsmLineNode, updateOpRW,
48923 ds390opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
48924 ds390operandCompare, getRegsRead, getRegsWritten,
48925 initializeAsmLineNode): customized instruction size calculation for
48926 ds390, started basis for some register optimizations
48927 * src/ds390/gen.c (gen390Code, emitcode): associate iCodes with
48928 corresponding assembly output
48929 * src/ds390/gen.c (genFunction, genEndFunction): added case to handle
48930 missing push/pop of r0/r1. Optimized push/pops
48932 2004-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
48934 * src/mcs51/main.c (instructionSize): fixed ACALL size
48935 * src/mcs51/main.c (updateOpRW): fixed bug with @dptr, @a+dptr operands
48937 2004-03-01 Vangelis Rokas <vrokas AT otenet.gr>
48939 * src/pic16/device.c (pic16_dump_section): fixed a bug that allowed
48940 the sorting of rlist with NULL elements
48941 * (print_idataType, print_idata): NEW to create idata sections
48942 * src/pic16/device.h: idataSymSet new variable
48943 * src/pic16/gen.c (genFunction): fixed some bugs in string
48944 comparing, improved the absolute section creation for ISRs,
48945 added FSR0L/FSR0H in registers that are saved in an ISR,
48946 * (genInline): fixed the processing of inline snippets,
48947 now they undergo no process by the peephole optimizer
48948 * src/pic16/glue.c (pic16emitRegularMap): symbols with initialiser
48949 are placed in idataSymSet,
48950 * (pic16emitStaticSeg): extern symbols are added in externs,
48951 * src/pic16/ralloc.c (pic16_allocDirReg): work around to reduce bank
48952 switching when aboslute variables are placed in access bank memory
48953 * (pic16_writeUsedRegs): added call to pic16_dump_idata,
48954 * (packRegsForSupport,packRegsForAccUse,packRegsForOneuse):
48955 commented out with #if,
48956 * (pic16_packRegisters): reintroduce the check for CAST because some
48957 symbols are not correctly handled,
48958 * src/pic16/pcode.h: changed the definition of pCodeAsmDir to hold a
48959 pCodeInstruction instead of pCode,
48960 * src/pic16/pcode.c (pic16_newpCodeAsmDir): modified for the new
48961 pCodeAsmDir definition,
48962 * (pic16_pCode2str, genericPrint): when an AsmDir pcode has a NULL
48963 directive, then the argument directive is emitted without the leading
48964 tab, hack for inline labels which must be in the first column,
48965 * (compareLabel,pic16_findNextInstruction),
48966 * (pic16_findPrevInstruction): added case for PO_ASMDIR,
48967 * (insertBankSwitch): modified for the new pCodeAsmDir,
48969 2004-03-01 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
48970 patch applied by Vangelis Rokas <vrokas AT otenet.gr>
48972 * src/pic16/gen.c (pic16_popGet): case PO_DIR, adds the offset to
48974 * (pushSide): commented out with #if,
48975 * (assignResultValue): fixed some typos in saving
48977 * (genPcall): FIXED and sync'ed with genCall,
48978 * (genDataPointerGet,genDataPointerSet): using offset not leoffset
48979 * (genNearPointerGet): fixed to handle some more cases,
48980 implementation scheme via table reads,
48981 * (genConstPointerGet): modified to access code memory correct,
48982 * (genCodePointerGet,genNearPointerSet,genGenPointerSet): modified
48983 and improved to handle some cases
48984 * glue.c (printIvalType,printIvalChar,emitStaticSeg): use "DB"
48985 instead of "RETLW" for init data
48986 * src/pic16/ralloc.c (pic16_allocDirReg): warning when a symbol is
48987 not IN_DIRSPACE, work around to reduce bank switching when aboslute
48988 variables are placed in access bank memory (<0x80 and >=0xf80),
48989 * src/pic16/pcode.c: added SFRs TBLPTR, TABLAT, added opcodes TBLRD,
48990 TBLRD_POSTINC,TBLRD_POSTDEC,TBLRD_PREINC,TBLWT,TBLWT_POSTINC,
48991 TBLWT_POSTDEC,TBLWT_PREINC
48992 * Fixed initialisation of BSR, set "alias" for SSAVE to "0"
48993 * (pic16_emitDB,pic16_flushDB): New functions to generate "DB"
48995 * (pic16_pCodeConstString): use "DB" instead of "RETLW"
48996 * src/pic16/pcode.h: added TBLRD*,TBLWT*, added pic16_emitDB,
48997 pic16_flushDB, made pic16_newpCodeAsmDir public, added TBLPTR, TABLAT
48998 * src/pic16/ralloc.h: added IDX_BSR,IDX_TBLPTR*,IDX_TABLAT
49000 2004-02-29 Borut Razem <borut.razem AT siol.net>
49002 * src/Makefile.in, src/SDCCutil.c, support/Util/findme.c,
49003 support/Util/findme.h, support/Util/system.h: enhance binary relative
49004 search for lib and include by using findProgramPath()
49006 2004-02-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49009 * src/SDCCpeeph.c (pcDistance),
49011 * src/mcs51/ralloc.h,
49012 * src/mcs51/ralloc.c (mcs51_regWithIdx),
49013 * src/mcs51/main.h,
49014 * src/mcs51/main.c (instructionSize, asmLineNode, updateOpRW,
49015 mcs51opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
49016 mcs51operandCompare, getRegsRead, getRegsWritten): made instruction
49017 size calculation port specific, started basis for some register
49019 * src/mcs51/gen.c (genFunction, genEndFunction): added case to handle
49020 missing push/pop of r0/r1. Optimized push/pops
49021 * src/mcs51/ralloc.c (packregisters): fixed bug #727095
49022 * device/lib/_modsint.c (_modsint),
49023 * device/lib/_modslong.c (_modslong): fixed sign of result in non-asm
49024 and stack version so regression tests pass
49026 2004-02-26 Bernhard Held <bernhard AT bernhardheld.de>
49028 * src/Makefile.in (dep): include SLIBOBJS in dependency check
49029 * src/SDCCast.c (decorateType): catch another small optimization
49031 * src/SDCCsymt.c (computeType): added comments and cosmetic changes
49032 * src/SDCCval.c (valMult, valDiv, valMod, valPlus, valMinus, valShift):
49033 modified to finally use computeType() all over SDCC,
49034 see Feature Request #877103
49035 * src/SDCCval.h: cosmetic
49036 * src/SDCCicode.c (operandOperation): fixed EQ_OP bug, now same as in
49037 valCompare(); regression tested in muldiv.c
49038 * support/regression/tests/muldiv.c (testMod): mod sign follows
49041 2004-02-23 Bernhard Held <bernhard AT bernhardheld.de>
49043 * src/SDCCast.c (decorateType): fixed bug #902362
49044 * doc/INSTALL.txt: fixed install instructions for win32
49046 2004-02-21 Bernhard Held <bernhard AT bernhardheld.de>
49048 * device/include/Makefile.in (install): fixed by replacing spaces
49051 * doc/INSTALL.txt: updated for release
49052 * doc/sdccman.lyx: added warning for --xstack being buggy
49054 2004-02-20 Bernhard Held <bernhard AT bernhardheld.de>
49056 * src/pic16/ralloc.c (packRegsForAccUse): disabled functions with #if
49057 to eliminate build warnings.
49058 * src/pic16/gen.c (pic16_popGet): fixed for gcc 2.95.4
49060 2004-02-20 Vangelis Rokas <vrokas AT otenet.gr>
49061 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
49063 * doc/sdccman.lyx: removed PIC16 from PIC16 Port Specific Options,
49064 removed -penable-stack, added comment for stack pragma, added
49065 warning for not initializing the stack/frame registers, removed
49066 comment at interrupts section
49068 Stack is made permanent, there is no ability to disable stack usage.
49069 * src/pic16/device.h,
49070 * src/pic16/device.c: removed all references to USE_STACK macro,
49071 * src/pic16/device.c (pic16_dump_section): when no elements in
49072 rlist, free rlist before return,
49073 * (pic16_dump_int_registers): NEW, internal registers are a new set
49074 of general purpose registers reused by each function,
49075 * (checkAddReg): returns 1 if registers is added to set,
49076 * (pic16_groupRegistersInSection): when a registers is of type
49077 PO_GPR_TEMP add it in pic16_int_regs and not in pic16_rel_udata,
49078 * src/pic16/device.h: memRange and Assigned Memory are deleted,
49079 SRCASECMP macro is moved here from device.c
49080 * src/pic16/genarith.c (pic16_pCodeOpType): added cases for
49081 PO_PCLATU, PO_PRODL, PO_PRODH,
49082 * (pic16_pCodeOpType, genMinus,
49083 changed compares to "a" register, with AOP_ACC,
49084 * (pic16_genPlus): fixed some bugs and indented properly,
49085 * (pic16_addSign): changed size to size+offset in the MOVWF
49087 * (pic16_genUMult8XLit_8): NEW, uses processor MULLW instruction to
49088 multiply 8-bit operand by literal, result is 8-bit,
49089 * (pic16_genUMult8X8_8): NEW, uses processor MULWF instruction to
49090 multiply 2 8-bit operand, result is 8-bit,
49091 * (pic16_genMult8X8_8): modified to call genUMult8X*_8 functions and not
49093 * src/pic16/gen.c: changed accUse to contain WREG only,
49094 * (pic16_emitcomment): renamed to pic16_emitpcomment,
49095 * (aopForSym): allocated dir register when IN_DIRSPACE(space) is,
49096 true, do not use immediate addressing any more unless sym is a
49097 pointer in codespace,
49098 * (aopForRemat): do not use immediate addressing when symbol not in
49099 codespace and when symbol's address is requested,
49100 * (aopOp): for-loop in if(sym->accUse) is modified for the new
49102 * (aopGet): added case for AOP_ACC and don't return "accumulator
49103 bug" but WREG instead,
49104 * (popGetTempReg): pushes contents of temporary register in stack,
49105 * (popReleaseTempReg): pops contents of temporary register from
49106 stack. Use popGetTempReg/popReleaseTempReg in aligned pairs,
49107 * (pic16_popGet): separated case AOP_ACC to return register WREG
49108 from processor registers, AOP_PCODE not checks if pcop is PO_DIR
49109 or PO_IMMEDIATE and initializes their instance/offset appropriately,
49110 * The whole issue with aopForSym,aopForRemat,popGet) is to minimize
49111 the use of immediate pointers to certain cases only.
49113 * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): use pic16_popGet2p,
49114 * (pic16_loadFromReturn, pic16_storeForReturn: NEW,
49115 * (assignResultValue, genCall, genRet): modified to use the new
49116 function return value scheme with WREG,PRODL,PRODH,FSR0L and FSR0,
49117 genPcall is still broken,
49118 * (genFunction): added code to create 'A' type pBlocks when
49119 interrupt functions are generated, code not extensively tested yet,
49120 ISRs push WREG,STATUS,BSR,PRODL,PRODH,FSR0L,FSR0H registers on stack,
49121 * (genEndFunction): modified so ISRs pop stored registers from stack,
49122 * (genMultOneByte): cleanup,
49123 * (AccRsh): added flag andmask, to and result with appropriate mask,
49124 * (genUnpackBits,genPackBits): fixed and can handle bit fields,
49125 * (genDataPointerGet): fixed and reenabled its use,
49126 * (genNearDataPointerGet): bugs fixed,
49127 * (genDataPointerSet): bugs fixed,
49128 * src/pic16/genutils.c: added functions pic16_DumpValue,pic16_DumpAop,
49129 pic16_DumpSymbol, pic16_DumpOp,
49130 * src/pic16/genutils.h: function prototypes for the above functions,
49131 * src/pic16/glue.c: new flags initsfpnt, to initialize stack/frame
49133 * (pic16emitRegularMap): many many many improvements, but needs a
49135 * src/pic16/main.c: enable_stack in pic16_options is removed,
49136 * (_pic16_parseOptions): removed command line options -penable-stack,
49137 * (_process_pragma): emit stack symbol only when stack pragma is
49139 * src/pic16/pcode.c: pic16_pc_fsr0 is removed, all operations are
49140 redirected to FSR0L/FSR0H pair,
49141 * (pic16_get_op, pic16_get_op2): modifications and improvements,
49142 * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
49143 cases PO_PRODL,PO_PRODH, pic16_getRegFromInstruction2 returns sane
49145 * (insertBankSwitch): modified to handle cases like: (alfa + 1)
49146 * (dumpPicOptype): NEW,
49147 * src/pic16/pcode.h: added PO_PCLATU,PO_PRODL,PO_PRODH in enum,
49148 * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed bug
49149 with movff instruction,
49150 * src/pic16/ralloc.c: renamed typeRegWithIdx to pic16_typeRegWithIdx,
49151 added pic16_int_regs, some packRegsFor* functions are commented out,
49152 because produce errors,
49153 * src/pic16/NOTES: minor modifications
49155 2004-02-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49157 * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c, as/mcs51/lkmain.c,
49158 as/mcs51/lkmem.c, src/SDCCglob.h, src/SDCCmain.c: added options --stack-size and
49160 * doc/sdccman.lyx: described options --stack-size and --pack-iram.
49161 * as/mcs51/lkaomf51.c: fixed bug #895763
49163 2004-02-17 Bernhard Held <bernhard AT bernhardheld.de>
49165 * device/include/c8051f320.h: added. Contributed by Maarten Brock.
49167 2004-02-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49169 * doc/sdccman.lyx: added details about the HC08 storage classes and
49170 interrupts, fixed the register usage info for z80 & gbz80
49172 2004-02-17 Vangelis Rokas <vrokas AT otenet.gr>
49174 * doc/sdccman.lyx: added more pic16 port documentation
49175 * device/include/pic16/: added header pic18fregs.h
49177 2004-02-16 Bernhard Held <bernhard AT bernhardheld.de>
49179 * doc/sdccman.lyx: added Vangelis' contribution
49181 2004-02-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49183 * src/SDCClrange.c (rlivePoint): live range of SEND operand should
49184 extend to the next CALL or PCALL, not just to the next CALL.
49186 2004-02-16 Vangelis Rokas <vrokas AT otenet.gr>
49188 * src/pic16/gen.c (genInline): fixed bug #896482 with inline assembly
49190 2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49192 * src/mcs51/ralloc.c (packRegsForAssign, reassignAliasedSym): fixed
49193 bug #895752 and a better fix for bug #716790
49195 2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49197 * src/SDCCsymt.c (processFuncArgs): fixed bug #896796
49199 2004-02-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49201 * doc/sdccman.lyx: minor changes, minor changed
49203 2004-02-13 Bernhard Held <bernhard AT bernhardheld.de>
49205 * src/SDCCicode.c (usualBinaryConversions): removed pic16 from ports
49206 which can't handle SDCC_NEWONEBYTEOPS,
49207 (geniCodeMultiply): removed conversion from mult to shift for pic14
49210 2004-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49213 * src/hc08/gen.c (storeRegToAop, aopOp, aopAdrStr, accopWithAop,
49214 rmwWithAop): Ported my 2003-10-02 fix for bug #663539 to the hc08,
49215 thus fixing bug #895406
49217 2004-02-11 Bernhard Held <bernhard AT bernhardheld.de>
49219 * device/lib/_modsint.c,
49220 * device/lib/_modslong.c: sign follows divisor only
49221 * src/hc08/gen.c (genMultOneByte): if result size is 1,
49222 signs or signedness can be ignored
49223 * src/SDCCast.c (addCast): cosmetic - added lineno to CAST
49224 * src/SDCCast.c (resultTypePropagate): added even more ops: +, - and *,
49225 added optimization for IFX,
49226 (decorateType): Mult/Div/ModOneByte ops can handle all kind of signed
49228 reenabled optimization for IFX, which was removed on 2004-01-11
49229 * src/SDCCast.h: added return type IFX
49230 * src/SDCCicode.c: Mult/Div/ModOneByte ops can handle all kind of signed
49231 arguments with 8 or 16 bit results; pic14 and pic16 ports use old
49232 promotion behaviour; env. var. SDCC_NEWONEBYTEOPS selects the new,
49233 SDCC_OLDONEBYTEOPS selects the old behaviour
49234 * src/SDCCsymt.c (computeType): type2 can be NULL (for LEFT_OP);
49235 changed again and commented promotion rule
49236 * src/SDCCval.c (valDiv): promotion no longer necessary
49237 * src/ds390/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte),
49238 * src/mcs51/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte):
49240 * support/regression/tests/onebyte.c: added
49242 2004-02-11 Vangelis Rokas <vrokas AT otenet.gr>
49244 * gen.c (genInline): reverted to old code for assemnling inline
49245 code because of bug reported James Chadd
49247 2004-02-10 Vangelis Rokas <vrokas AT otenet.gr>
49249 * ralloc.h: missing declarations from previous patch,
49250 seems that patch for ralloc.h was never applied, fixed
49252 2004-02-10 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
49253 patch committed by Vangelis Rokas <vrokas AT otenet.gr>
49257 * ralloc.h: added FSR0L, FSR0H and other missing PIC16 SFR's for
49258 indirect addressing. Marked FSR0 as deprecated
49259 * gen.c (pointerCode): commented out, not needed now
49260 (pic16_popGet2p): new MOVFF helper function
49261 (genGenPointerGet),
49262 (genGenPointerSet): reimplemented with MOVFF and POSTINC0
49263 (shiftRLong): removed duplicate debugging info
49265 2004-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49267 * src/ds390/gen.c (genNearPointerGet),
49268 * src/mcs51/gen.c (genNearPointerGet): allow the genDataPointerGet()
49269 optimization with bits, but not bitfields.
49270 * src/ds390/ralloc.c (packRegisters),
49271 * src/mcs51/ralloc.c (packRegisters): fixed bug #884453 & #880832
49273 2004-02-09 Bernhard Held <bernhard AT bernhardheld.de>
49275 * src/SDCCcse.c (algebraicOpts): copy operands before modification
49277 2004-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49280 * src/SDCCicode.c (operandFromSymbol),
49281 * src/mcs51/ralloc.c (verifyRegsAssigned, serialRegAssign),
49282 * src/ds390/ralloc.c (verifyRegsAssigned, serialRegAssign),
49283 * src/z80/ralloc.c (verifyRegsAssigned, serialRegAssign),
49284 * src/hc08/ralloc.c (verifyRegsAssigned, serialRegAssign),
49285 * src/pic/ralloc.c (verifyRegsAssigned, serialRegAssign),
49286 * src/pic16/ralloc.c (verifyRegsAssigned, serialRegAssign): fixed
49288 * src/SDCCast.c (createIvalStruct, createIvalArray, gatherAutoInit),
49289 * src/SDCCglue.c (emitRegularMap, printIvalStruct, printIvalArray,
49290 printIvalCharPtr, printIvalPtr, printIval, emitStaticSeg, emitOverlay)
49291 * src/SDCCsymt.c (newSymbol),
49292 * src/SDCC.y (struct_or_union_specifier, enum_specifier,
49295 * src/SDCCval.c (newiList): fixed bug #885705
49297 2004-02-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49299 * doc/sdccman.lyx: added section 3.1.4: sdcclib.
49300 * as/mcs51/lkmem.c: report the size of the stack in .mem file.
49302 2004-02-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49304 * device/include/c8051f120.h,
49305 * device/include/c8051f300.h,
49306 * device/include/c8051f310.h: added/updated header files for Silicon
49307 Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
49308 * doc/sdccman.lyx: minor changes, recommended diff -Naur and diff -u
49309 in new section Submitting patches
49311 2004-02-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49313 * src/mcs51/gen.c (genNearPointerGet, genPagedPointerGet,
49314 genFarPointerGet, genCodePointerGet, genGenPointerGet,
49315 genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49317 * src/ds390/gen.c (genNearPointerGet, genPagedPointerGet,
49318 genFarPointerGet, genCodePointerGet, genGenPointerGet,
49319 genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49321 * src/pic16/gen.c (genNearPointerGet, genPagedPointerGet,
49322 genFarPointerGet, genCodePointerGet, genGenPointerGet,
49323 genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49325 * src/pic/gen.c (genNearPointerGet, genPagedPointerGet,
49326 genFarPointerGet, genCodePointerGet, genGenPointerGet,
49327 genNearPointerSet, genPagedPointerSet, genFarPointerSet,
49328 genGenPointerSet): fixed bug #892400
49329 * src/pic16/gen.c (genSkipz, AccRol): disabled functions with #if 0
49330 to eliminate build warnings.
49331 * src/SDCCast.c (processParms),
49332 * src/SDCC.y (function_declarator2, declarator2_function_attributes):
49334 * support/valdiag/valdiag.py: added GCC to the list of defines active
49335 when compiling with gcc
49337 2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49339 * support/Util/SDCCerr.h,
49340 * support/Util/SDCCerr.c,
49341 * src/SDCCast.c (decorateType, sizeofOp): complain when sizeof is used
49342 with an incomplete type (fixed bug #883734)
49343 * src/SDCCicode.c (geniCodeCast): fixed bug #890510
49345 2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49347 * src/pic16/gen.c (genCmpEq, shiftRLong): fixed declarations
49349 2004-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49351 * src/SDCCast.c (decorateType),
49352 * src/SDCCicode.c (geniCodeParms, geniCodeCall): fixed bugs in my ANSI
49353 function pointer implementation
49354 * support/regression/tests/funptrs.c: added tests to verify both forms
49355 of function pointers work correctly. Added tests to verify parameters
49356 are passed in the correct order.
49358 2004-02-06 Vangelis Rokas <vrokas AT otenet.gr>
49360 * device.c (regCompare): registers are sorted by ascending
49361 address and increasing size,
49362 * main.c (_pic16_finaliseOptions): removed the declaration
49363 of compiler macro MCU. Now a macro of the format pic18fxxxx
49364 will be defined from the command line
49366 2004-02-06 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
49367 patch committed by Vangelis Rokas <vrokas AT otenet.gr>
49369 * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF
49370 PCOP_RLCF was overwritten!
49371 * gen.c (genSkip): commented out calls to pic16_emitcode,
49372 * (genCmpEQ): fixed "long" compares, only high word did get compared,
49374 * (genRRC): added debugging info,
49375 * (shiftL2Left2Result): Fixed bug, if offr > offl. Result got
49376 overwritten while shifting,
49377 * (shiftR2Left2Result): Fixed bug, if offr < offl. Result got
49378 overwritten while shifting,
49381 * (shiftLLeftOrResult),
49382 * (shiftRLeftOrResult),
49384 * (shiftLLong): Implemented with pic16_emitpcode
49385 * (genlshFour): Replaced pic16_aopPut with pic16_emitpcode,
49386 * (genLeftShift): Fixed bug, operand for shift by variable always
49387 was "and"ed with 0x0f,
49388 * (genLeftShiftLiteral),
49390 * (genRightShiftLiteral): added debugging info,
49391 * (genrshFour): added comment,
49392 * (genRightShift): determined signedness from operand "left"
49393 instead of "result"
49395 2004-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49397 * src/SDCCicode.c (geniCodeParms),
49398 * src/SDCCast.c (decorateType, processParms): support for ANSI-style
49399 function pointers, fixed function pointer bugs #861242 and #861896
49401 2004-01-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49403 * device/include/c8051f000.h,
49404 * device/include/c8051f120.h,
49405 * device/include/c8051f300.h: added header files for Silicon
49406 Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
49408 2004-01-31 Bernhard Held <bernhard AT bernhardheld.de>
49410 * src/SDCCast.c (processParams): added new type flow and restructured
49411 (gatherAutoInit): added new type flow
49412 (addCast): cosmetic changes
49413 (getLeftResultType): added new type flow for array indices, patch
49414 provided by Stas, see FR #877103
49415 (decorateType): SDCC_NEWTYPEFLOW removed, new type flow is now standard;
49416 array index patch by Stas
49417 * src/SDCCast.h: added prototype getResultTypeFromType()
49419 * src/SDCCval.c (resolveIvalSym) (resolveIvalSym),
49420 * src/pic/glue.c (pic14emitStaticSeg),
49421 * src/pic16/glue.c (pic16emitStaticSeg),
49422 * src/SDCCglue.c (emitRegularMap) (emitStaticSeg): added new type flow
49423 for initialization of symbols
49424 * src/SDCCicode.c (geniCodeArray): removed warning W_ARRAY_BOUND
49425 * support/Util/SDCCerr.h:
49426 * support/Util/SDCCerr.c: replaced W_ARRAY_BOUND by W_IDX_OUT_OF_BOUNDS
49427 * .version: bumped version number to 2.3.8
49428 * device/include/Makefile.in (install),
49429 * doc/Makefile (install): changed to 'rm `find ...`' construct to
49432 2004-01-30 Bernhard Held <bernhard AT bernhardheld.de>
49434 * support/regression/tests/libmullong.c: fixed for 64 bit hosts
49435 Slade Rich fixed an optimization bug
49436 * src/pic/pcodepeep.c,
49437 * src/pic/pcoderegs.c
49438 * doc/Makefile (install): added test for directory
49440 2004-01-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49442 * src/mcs51/ralloc.c (getRegPtr, getRegGpr),
49443 * src/ds390/ralloc.c (getRegPtr, getRegGpr),
49444 * src/pic/ralloc.c (getRegPtr, getRegGpr),
49445 * src/pic16/ralloc.c (getRegPtr, getRegGpr),
49446 * src/z80/ralloc.c (getRegGpr): fixed bug #883361
49447 * as/mcs51/asexpr.c (term),
49448 * as/hc08/asexpr.c (term): fixed bug #887146
49450 2004-01-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49452 * src/z80/gen.c (genMult): handle single byte result product
49453 * src/SDCCopt.c (killDeadCode): never convert ADDRESS_OF iCode to
49454 DUMMY_READ_VOLATILE (fixed bug #886367)
49456 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
49458 * support/regression/tests/libmullong.c: fixed logic, on little endian
49459 hosts we ended without a mullong_wrapper()
49461 2004-01-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49463 * ChangeLog: changed "@" to " AT " in hopes of reducing spam and
49464 virus/worm forged address usage.
49466 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
49468 Fixed promotion, it should be done on AST level:
49469 * src/SDCCast.c (addCast): added promotion to int
49470 (decorateType): updated call to upCast()
49471 * src/SDCCicode.c (geniCodeLeftShift): removed call to
49472 usualUnaryConversions()
49474 2004-01-26 Michael Hope <michaelh AT juju.net.nz>
49476 * support/regression/tests/literalop.c (mulWrapper): Added a
49477 wrapper to remove integer overflow warnings.
49479 * support/regression/tests/float_trans.c: Made work on host.
49481 * support/regression/ports/ucz80/spec.mk (UCZ80): Made detect the
49484 * support/regression/generate-cases.py (main): Changed from inline
49487 * doc/Makefile (install): Changed to depth first to get rid of
49488 missing directory install warning.
49490 * as/Makefile (install-doc): Made work on Mac.
49492 2004-01-25 Bernhard Held <bernhard AT bernhardheld.de>
49494 * src/SDCCast.c: added an additional type flow in decorateType() of
49495 opposite direction, see feature request #860006; it's enabled at runtime
49496 by setting the environment variable SDCC_NEWTYPEFLOW
49497 * src/SDCCast.h: changed prototype of decorateType()
49498 * src/SDCCglue.c (emitRegularMap): updated call of decorateType()
49499 * src/SDCCicode.c (geniCodeDivision) (geniCodeModulus): promotion from
49500 'char' to 'int' can be omitted, if both operands are 'unsigned char';
49501 see feature request #877103
49502 * src/SDCCval.c: updated call of decorateType()
49503 (valBitwise): fixed bug #882876
49504 (valMinus): added promotion
49505 (valLogicAndOr): result is unsigned
49506 (cheapestVal) (constVal): literals from 0...255 are 'unsigned char' now
49507 * src/SDCCsymt.c (computeType),
49508 * src/mcs51/gen.c (genCmpGt) (genCmpLt): literal 'unsigned char'
49509 must not cause an unsigned operation
49510 * src/pic/glue (pic14emitRegularMap),
49511 * src/pic16/glue.c (pic16emitRegularMap): updated call of decorateType()
49513 2004-01-23 Bernhard Held <bernhard AT bernhardheld.de>
49515 * src/pic/pcode.c (PCodeID): commented out left over debug code
49517 2004-01-20 Bernhard Held <bernhard AT bernhardheld.de>
49519 * support/valdiag/tests/overflow.c: added shift tests
49520 * src/pic/device.c,
49527 * src/pic/pcodepeep.c,
49528 * src/pic/pcoderegs.c,
49529 * src/pic/ralloc.c,
49530 * src/pic/ralloc.h: applied patch from Slade Rich;
49531 added support for multiple code pages and multiple RAM banks on the
49532 PIC 14 port. The ASM files now no longer simply assume all the
49533 code / RAM are in the same page / bank. This means the linker can
49534 safely allocate code/RAM of separate ASM files to different pages/banks.
49535 * doc/sdccman.lyx: added Slade's tips
49536 * src/mcs51/peeph.def: fixed bug #880768
49538 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49540 * src/hc08/ralloc.c (rematStr): fixed bug #879282
49541 * src/SDCCast.c (decorateType): fixed bug #880197
49543 2004-01-20 Michael Hope <michaelh AT juju.net.nz>
49545 * sim/ucsim/gui.src/serio.src/main.cc: Fixed unconditional use of
49548 * debugger/mcs51/cmd.c (getValBasic): Changed strtof to strtod as
49549 strtof is not part of C89 and isn't included with Mac OS X.
49551 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49553 * src/hc08/gen.c (genPlusIncr, genUminus, genMinusDec, genCmp,
49554 shiftL2Left2Result): fixed bug #879326
49555 (genAnd, genOr, genXor): fixed bug when result was of type AOP_CRY
49556 (genMultOneByte): fixed bug in signed vs unsigned multiplication
49557 * sim/ucsim/hc08.src/inst.cc (inst_clr): added missing effective
49558 address fetch for clr instruction
49559 * device/lib/hc08/_mulint.c: created optimized assembly version
49560 * src/SDCCdflow.c (computeDataFlow): fixed bug #878209
49562 2004-01-19 Bernhard Held <bernhard AT bernhardheld.de>
49564 * src/SDCCicode.c (geniCodeArray): applied patch from Stas Sergeev
49565 proposed in FR #877103
49567 2004-01-18 Bernhard Held <bernhard AT bernhardheld.de>
49569 * src/SDCCval.c (cheapestVal): added missing checks
49570 * src/SDCCicode.c (usualBinaryConversions): fixed condition
49571 * src/SDCCicode.c (geniCodeAdd): fixed part of bug #877103
49573 2004-01-16 Klaus Flittner <klaus_flittner AT gmx.de>
49575 * src/ds390/gen.c (aopOp3): fixed the assignment of different dptrs to
49578 2004-01-16 Vangelis Rokas <vrokas AT otenet.gr>
49580 * src/SDCCmain.c (linkEdit): variable $3 of the linker command is
49581 loaded with the linker search paths (-L arguments) and the libraries
49582 to be linked with the current source (-l arguments). Changes
49583 currently will affect only the pic16 port.
49584 * src/pic16/main.c (_pic16_finaliseOptions): add to the linker
49585 include path the port specific paths and port specific libraries,
49586 * gplink command now contains the $3 argument,
49587 * src/pic16/device.h,
49588 * src/pic16/device.c,: structure PIC_device is made public and
49589 renamed to PIC16_device, the same for variable Pics which is renamed
49590 to Pics16. Updated all references to them.
49591 * src/pic16/glue.c (pic16glue): corrected bug with code
49592 initialization which bypassed the variable initializations block.
49594 * device/lib/pic16/Makefile.rules: removed --penable-stack from
49595 COMPILE_FLAGS and added the --nostdinc option
49597 2004-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49599 * device/include/mc68hc908jb8.h: Register defs for another member
49600 of the hc08 family. Contributed by Bjorn Bringert - thanks!
49602 2004-01-14 Vangelis Rokas <vrokas AT otenet.gr>
49604 Documenting changes from previous commits.
49605 * configure.in (version 1.56),
49606 * configure: initially I've added AC_CONFIG_SUBDIRS(device/lib/pic16)
49607 when generating output files to configure the pic16 library,
49608 but now I've commented it out, since gputils aren't installed in the
49609 SF compile farm, so library won't compile
49611 * device/lib/Makefile.in (version 1.56): initially I've added in
49612 target 'all' the prerequestive 'model-pic16' so it compiled the
49613 pic16 library, but now I've commented it out for the same reasons
49615 * added targets 'model-pic16' and 'objects-pic16' to compile the
49617 * added target 'port-specific-objects-pic16' to handle the
49618 generated libraries and copy them into the build/ directory
49619 * added target 'clean-intermediate-pic16' to clean intermediate
49620 files into pic16 directory
49621 * in target 'installdirs' added line to create directory pic16 in
49622 the installation path
49624 * device/include/Makefile.in (version 1.11): in target 'install'
49625 added lines to copy all header files to installation path,
49626 * in target 'installdirs' added line create directory for pic16
49627 headers in the installation path
49629 2004-01-13 Klaus Flittner <klaus_flittner AT gmx.de>
49631 * src/ds390/gen.c (genCall): fixed a double use of acc and b after
49634 2004-01-13 Bernhard Held <bernhard AT bernhardheld.de>
49637 * device/lib/configure.in,
49638 * device/lib/configure: fixed for autoconf 2.57
49640 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49642 * src/z80/main.c (_parseOptions): fixed the portmode= command line
49643 option so that it actually works. Made it specific to the z80, since
49644 the gbz80 doesn't have these kinds of I/O ports.
49646 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49648 * device/include/z180.h,
49649 * device/lib/_memcpy.c,
49650 * device/lib/_memmove.c,
49651 * device/lib/_mulint.c,
49652 * device/lib/ser_ir.c,
49653 * device/lib/ser_ir_cts_rts.c,
49654 * device/lib/_strcmp.c,
49655 * device/lib/_strtok.c: fixed pragmas to non-deprecated form
49656 * src/z80/main.c (_process_pragma): add support for pragmas bank and
49657 portmode; added deprecation warning for bank= and protmode= forms.
49658 Also, guard against buffer overflow.
49659 * src/z80/gen.c (aopGet): generate better code for sfr banked read
49661 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49663 * src/hc08/main.c (_hc08_genAssemblerPreamble): fixed bug #875487. Also
49664 changed interrupt vector table generation to only emit declared vectors.
49665 * device/include/Makefile.in: added missing backslash
49666 * device/lib/pic16/Makefile.rules: add $(MODELFLAGS) to $(CFLAGS)
49668 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
49670 Mainly changes to support compilation of the device libraries
49671 * src/pic16/device.c: stack is allocated via symbol and not
49672 via literal number. The symbol is placed in the corresponding
49673 position of the data ram
49674 * (pic16_dump_section): relocatable and absolute uninitialized
49675 data are now emitted in sorted order to reduce section naming,
49676 * src/pic16/ralloc.c (newReg): fixed bug with SFR's that
49677 weren't marked as being in the access bank,
49679 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
49681 Added portion of GNU PIC Library under the directory
49682 device/include/pic16 and device/lib/pic16. These files
49683 contain the declarations of SFRs for the PIC18Fxx2 devices.
49684 The directory is initialized via configure from toplevel.
49686 2004-01-12 Klaus Flittner <klaus_flittner AT gmx.de>
49688 * src/ds390/gen.c (operandsEqu): fixed a little typo, that prevented
49689 the spilllocations to be compared correctly
49691 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
49693 * src/SDCCast.c (decorateType): fixed bug introduced today
49695 2004-01-12 Borut Razem <borut.razem AT siol.net>
49697 * src/SDCC.lex, support/Util/SDCCerr.h, support/Util/SDCCerr.c,
49698 doc/sdccman.lyx: upper case pragmas are deprecated
49700 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
49702 * src/SDCCast.c (decorateType): replacing 'ul > 0' by '!ul' results
49703 in simpler and even better code
49705 2004-01-11 Bernhard Held <bernhard AT bernhardheld.de>
49707 * src/SDCCicode.c (operandOperation): fixed bug #874819
49708 * src/SDCCast.c (decorateType): fixed
49709 char foo (unsigned long ul) { return ul > 0; }
49711 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49713 * doc/sdccman.lyx: Moved and added some sections, small changes
49714 all over. Telling LaTeX to be less strict with word spacing
49715 to better keep the right margin. Changed some notes about
49716 maintainance of the ports in section 3.2.1 - is it OK like this?
49718 2004-01-11 Vangelis Rokas <vrokas AT otenet.gr>
49720 SDCC source changes:
49721 * src/SDCCopt.c (cntToFcall, cnvToFloatCast, cnvFromFloatCast,
49722 convilong): modified to inform the pic16 port that builtin functions
49725 PIC16 PORT specific changes:
49726 * src/pic16/device.c pic16_dump_equates() added,
49727 processor registers declared internally by the port are emitted in
49728 the translation as equates,
49729 * src/pic16/gen.c: inline code is passed unprocessed to the
49731 * (pic16_popGetLit2): fnuction modified to take second operand as
49732 pCodeOp pointer and not as literal,
49733 * (popRegFromIdx): prefixed with pic16_,
49734 * (pic16_popCombine2): modified to receive already allocated pCode
49736 * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): added
49737 * (genFunction): initializes local stack frame and pushes on stack
49738 all the registers used by this function,
49739 * (genEndFunction): restores all registers from stack and restores
49741 * src/pic16/glue.c (pic16emitRegularMap): various changes and
49743 * (pic16glue): changed the program startup sequence,
49744 * added new dbName code 'A' for functions placed in absolute section
49745 * src/pic16/main.c: added function attribute _naked,
49746 * added pragma 'code' to place a fnuction at an absolute address,
49747 * added command line arguments --debug-ralloc and --pcode-verbose,
49748 * (_pic16_finiliseOptions): options.all_callee_saves is set by default
49749 * src/pic16/pcode.c (pic16_pBlockConvert2Absolute) added,
49750 * (pic16_newpCodeOpLit2): modified to take the second operand as
49752 * (pic16_printpBlock): modified to emit each function in a separate
49754 * (pic16_get_op): modified to use the gpasm modifiers LOW,HIGH and
49755 UPPER for immediate operands,
49756 * src/pic16/pcodepeeph.c: added peephole support for the LFSR
49758 * src/pic16/peeph.def: all peepholes with movff are commented out,
49759 because there is a problem in the pcode peep optimizer,
49760 * src/pic16/ralloc.c: the register allocator can now reuse local
49761 function symbols for another function. This saves register usage.
49762 * src/pic16/ralloc.h: added flag isLocal in structure regs,
49764 Added file src/pic16/NOTES with information about program writing on
49765 the current port version.
49767 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49769 * src/mcs51/peephole.def: added peepholes 177.c,d (redundant moves)
49770 and peephole 252 (array access)
49772 2004-01-09 Borut Razem <borut.razem AT siol.net>
49774 * src/SDCCmain.c : fixed #872250: -l command line defined library
49775 files are scanned before standard library files
49777 2004-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49779 * src/SDCCast.c (decorateType): fixed bug #874046
49781 2004-01-09 Borut Razem <borut.razem AT siol.net>
49783 * support/scripts/sdcc.nsi: remove previous installation
49785 2004-01-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
49787 * src/SDCCglue.c (createInterruptVect): don't append 7(5) padding
49788 bytes for last interrupt vector (mcs51)
49789 * sdcc.spec: fixed typo
49791 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49793 * src/mcs51/gen.c (genFunction, genEndFunction, genReceive, getTempRegs,
49794 gen51Code): more efficient parameter receive for --model-large
49797 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49799 * src/ds390/main.c,
49800 * src/z80/main.c: added missed needLinkerScript flags (more than
49801 one port structure defined in these file)
49802 * src/ds390/gen.c (aopForSym, aopOp, operandsEqu, aopOp3): fixed
49805 2004-01-08 Vangelis Rokas <vrokas AT otenet.gr>
49807 * src/SDCCmain.c: removed various references to DEFAULT_PORT
49808 * src/port.h: added flag needLinkerScript in port->linker
49809 structure to inform whether to create a .lnk file or not,
49811 * src/ds390/main.c,
49813 * src/mcs51/main.c,
49815 * src/pic16/main.c,
49817 * src/z80/main.c: changed appropriately to configure
49818 needLinkerScript flag
49820 * src/pic16/gen.c (genAddrOf): fixed bug #863624
49821 * src/pic/glue.c: added variable udata_section_name to
49822 override default uninitialized data segment definition for
49823 devices only with SHAREBANK memory (reported from Erik Epetrich)
49824 * (pic14emitOverlay): modified to emit a commented overlay segment
49825 directive when no overlay data exist
49826 * (picglue): modified to emit uninitialized data segment
49827 according to udata_section_name
49828 * src/pic/main.c (_pic14_parseOptions): added command line
49829 options --udata-section-name=[name] to override default
49830 udata definition name
49831 * modified _linkCmd and _asmCmd to include compiler passed
49832 arguments via -W option
49833 * src/pic16/main.c: added $l in _asmCmd, changed extension for
49834 object file from '.rel' to '.o' in port->linker structure,
49835 changed size of fptr from 2 to 3 in port structure
49837 2004-01-07 Borut Razem <borut.razem AT siol.net>
49839 * support/scripts/sdcc.nsi: update PATH
49840 * support/scripts/sdcc.ico: craeted
49842 2004-01-07 Bernhard Held <bernhard AT bernhardheld.de>
49844 * device/include/Makefile.in: fix install
49845 * doc/Makefile: fix install
49847 2004-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49849 * src/SDCCsymt.c (processFuncArgs): fixed superflous allocation noted
49851 * src/SDCCmem.c (printAllocInfoSeg, printAllocInfo): minor changes to
49852 how the function variable allocation summary is displayed; also
49853 include information about variables allocated to the overlay
49856 2004-01-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49858 * as/mcs51/lkmain.c: Help about -Y option
49859 * as/mcs51/lkarea.c: Fixed gcc warnings
49861 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
49863 * src/SDCCval.c (valShift): changed from 16 to 32 bit shift count,
49865 * support/valdiag/tests/overflow.c: added
49866 * src/SDCCast.c (decorateType),
49867 * src/SDCCicode.c (geniCodeLeftShift): added promotion to int for
49868 LEFT_OP (left shift)
49870 2004-01-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
49872 * as/mcs51/lkmain.c: stack must be after data when option -Y is not used
49873 (default behaviour).
49875 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49877 A python script to validate compiler diagnostic messages. It can be
49878 used to verify that sdcc complains about bad c source code and
49879 gives a good location of the error.
49880 * support/valdiag/Makefile,
49881 * support/valdiag/valdiag.py,
49882 * support/valdiag/tests/*
49884 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
49886 * src/SDCC.y (enum_specifier, enumerator_list, opt_assign_expr),
49887 * src/SDCCsymt.c (newEnumType),
49889 * support/Util/SDCCerr.c,
49890 * support/Util/SDCCerr.h: fixed bug #871258 and some other unreported
49892 * support/regression/tests/enum.c: added test for enum values that
49893 require at least 2 bytes of storage.
49895 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
49897 * src/common.h: added ifndef/define/endif macros
49898 around the header file.
49899 Bug reported from Jesus Calvino-Fraga
49901 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
49903 * sdcc.spec: updated
49904 * device/include/Makefile.in: don't install CVS directories
49905 * device/lib/Makefile.in: added removal of CVS directories after install
49906 * doc/Makefile: fixed install, added local_icons
49907 * sim/ucsim/gui.src/Makefile.in: fixed an old typo
49908 * src/mcs51/gen.c (genRightShift): fixed bug #870788
49909 * src/ds390/gen.c (genRightShift): fixed bug #870788
49910 * src/SDCCast.c (decorateType): fixed bug #870781
49912 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
49914 PIC16 port related changes:
49915 * device.c: removed pic16_finalMapping and pic16_finalMappingSize,
49916 added variable stackPos,
49918 * gen.c: genCall, assignResultValue: added support for
49919 pushing/retrieving function parameters to/from stack,
49920 genFunction,genEndFunction: setup stack frame for the
49921 generated function,
49922 genAddrOf: will be changed according to bug 863624
49924 * added files genutils.c and genutils.h which contain gen*
49925 debugged and optimised functions extracted from gen.c
49927 * glue.c: added variable 'externs' which holds extern symbols,
49928 pic16emitRegularMap: is modified to properly handle relocatable
49929 symbols under the new scheme,
49930 pic16createInterruptVect: is modified
49931 pic16printPublics: is modified to emit 'global' assembler directives,
49932 added pic16_printExterns to print extern symbols,
49933 pic16glue: initializes stack/frame pointer in the beginning of
49934 the assembly output. Temporary hack, will be corrected later,
49935 because gplink yet does not support stack and SDCC does not
49936 yet support a type of crt0.o object to create the final binary.
49938 * Removed many lines that contain 8051 legacy code.
49939 * The code is finally placed under a 'code' directive.
49940 * Added port specific options.
49942 * _process_pragma: simplified since now we do not need *special*
49943 include file to define SFR registers. But a separate header
49944 will be needed. This will be developed later.
49945 * _pic16_parseOptions: added, parses port specific options:
49946 --pgen-banksel, --obanksel=, --pomit-config-words, --pomit-ivt,
49947 --pleave-reset-vector, --penable-stack, --pstack-model, --debug-xtra
49948 --preplace-udata-with=
49950 * _pic16_setDefaultOptions: modified to initialize section names,
49951 but hack is temporarly out of order since it needs improvement.
49952 * _pic16_genAssemblerPreamble: configuration words are emitted by
49953 their address instead of their name. This part is incomplete and
49954 supports only the 18Fxx2 devices. Other devices will emit an error
49955 during assembly since they do not contain the same set of config
49957 * _pic16_genIVT: is modified,
49959 * pcode.c: added definitions for some hardware registers that are needed
49961 * added flag is2LitOp and variable pci_magic in pCodeInstruction.
49962 All PCI entries are updated. Now LFSR is supported.
49963 * Removed pic16_pciTRIS is mentioned by mdubuc in source
49964 * added pic16_newpCodeOpLit2 to support instructions with
49965 two literal arguments
49966 * pic16_pCode2str: corrected code that emits assembler instructions
49967 with two literal operands and those that have an access bit modifier
49968 * genericPrint: now PC_ASMDIR pCodes, can emit a label if it exists,
49969 this fixes a bug which caused some labels to be lost, when an
49970 assembler directive was added, i.e. banksel,
49971 * pic16_FixRegisterBanking: improved logic that causes the insertion
49973 * InlineFunction: functions that are called once, are not any more
49974 inlined. This can be a port option in the future,
49976 * pcode.h: added pCodeOpLit2 and added variable label in pCodeAsmDir
49978 * ralloc.c: added pic16_rel_udata and pic16_fix_udata variables which
49979 hold the corresponding uninitialized symbols,
49980 * pic16_allocProcessorRegister: registers have explicit marked the
49982 * pic16_allocInternalRegister: registers are explicit marked as
49984 * pic16_writeUsedRegs: pic16_dynDirectBitRegs was missing from the
49985 processing list, so bit registers were lost,
49988 * ralloc.h: added field 'accessBank' and original symbol operand
49989 in register definition,
49990 * removed the field isMapped from register definition,
49992 ** Several functions have been removed from various sources:
49993 BanksUsedFlow2,BanksUsedFlow,FixBankFlow,InstructionRegBank,
49994 pic16_addMemRange,pic16_isREGinBank,pic16_dump_map,pic16_dump_cblock
49995 isSFR,validAddress,mapRegister,assignRegister,pic16_assignFixedRegisters
49996 pic16_assignRelocatableRegisters
49998 ** others have been introduced:
49999 pic16_areRegsSame,pic16_dump_section,checkAddReg,pic16_groupRegistersInSection
50000 pic16_popGetLit2,pic16_popCombine2,pushw,pushaop
50002 2004-01-05 Vangelis Rokas <vrokas AT otenet.gr>
50004 * support/scripts/inc2h.pl: changed definition of BIT_AT
50005 to emit 'sbit at' instead of 'bit at'. This was a request.
50007 PIC16 port related preliminary changes:
50008 * gen.c: prefixed function popRegFromString with
50009 pic16_ and all references to it corrected
50010 * pcode.c: all pic16_pc_* hardware registers prefixed
50011 with underscore (_),
50012 pic16_popCopyGPR2Bit(): function sets register wasUsed=1
50013 * ralloc.c: newReg(): when register is REG_SFR then
50014 set address to rIdx,
50015 pic16_allocProcessorRegister(): marks register wasUsed=0
50016 pic16_writeUsedRegs(): added a call to assign processor
50017 registers via pic16_assignFixedRegisters
50019 2004-01-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50021 * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c,
50022 as/mcs51/lkmain.c, as/mcs51/lkmem.c: 8051 linker can now pack
50023 variables in unused register banks. Also the SSEG is placed
50024 wherever there is enough space for it, and IDATA can be anywhere
50025 in internal RAM. For now compile using -Wl-Y[stack_size].
50026 The mem file is different for this option as well, since it
50027 makes no sense of talking about DSEG length.
50029 2004-01-02 Vangelis Rokas <vrokas AT otenet.gr>
50031 * src/SDCClrange.c: fixed bug 869095 that caused segfault
50032 in certain cases, e.g. when ROM assignment, patch provided
50033 from Albert den Haan.
50035 2004-01-01 Bernhard Held <bernhard AT bernhardheld.de>
50037 Many signedness and type propagation fixes:
50038 * src/SDCCicode.c: made geniCodeCast() static
50039 replaced SPEC_ by IS_ (cosmetic)
50040 (operandOperation): fixed div and mod operation
50041 (usualBinaryConversions): added support for promotion of char
50042 (geniCodeMultiply): replaced (unsigned long) by (TYPE_UDWORD)
50043 (geniCodeDivision): replaced (unsigned long) by (TYPE_UDWORD)
50044 (geniCodeAdd): an array index will stay unsigned, even if promoted
50046 (geniCodeArray): ditto
50047 * src/SDCCicode.h: made geniCodeCast() static: removed prototype
50048 * src/SDCCsymt.c (computeType): added more support for char;
50049 promotion of char is selectable by promoteCharToInt, fixed signedness
50051 (powof2): replaced (unsigned long) by (TYPE_UDWORD)
50052 * src/SDCCsymt.h (powof2): replaced (unsigned long) by (TYPE_UDWORD)
50053 * src/SDCCval (val*): replaced signedness calculation by
50055 rearranged if-branches (cosmetic)
50056 (valShift): added warning W_SHIFT_CHANGED
50057 (valCompare): fixed problem with different types
50058 * src/hc08/rallo.c (leastUsedLR): fixed gcc 3.3 warning
50059 * support/regression/tests/literalop.c: added many cases
50060 * support/regression/tests/ast_constant_folding.c: changed finally to
50062 * .version: new year, new version: 2.3.7
50063 * src/SDCCmain.c (main): applied patch #866468
50064 * debugger/mcs51/sdcdb.c (parseCmdLine): added -k for ucsim, patch
50065 provided by Scott Bronson
50066 * doc/sdccman.lyx: updated documentation for sdcdb
50067 updated and added chapter tips
50069 2004-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50071 * src/SDCCsymt.h: missing from yesterday's commits
50073 2003-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50075 * src/SDCC.y (struct_or_union_specifier),
50076 * support/Util/SDCCerr.c,
50077 * support/Util/SDCCerr.h: verify that struct & union tags are used
50080 2003-12-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50082 * src/SDCCglobl.h: missing from yesterday's commits
50084 2003-12-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50086 * src/SDCC.y (external_definition, type_specifier2, sfr_reg_bit,
50087 sft_attributes, struct_declaration, parameter_declaration,
50088 type_name, start_block, declaration_list),
50089 * src/SDCC.lex (check_type): support redefinition of typedef names
50091 2003-12-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50093 * src/mcs51/gen.c (genPlus): added special handling for 256 byte
50094 aligned xdata arrays. Erik helped me with the if clause.
50096 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50098 * device/lib/ds390/tinibios.c (CpuSpeed): suppress unreachable code
50101 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50104 * src/SDCCast.c (newAst_),
50106 * src/SDCCicode.c (ast2iCode, newiCode),
50108 * src/SDCC.y (logical_and_expr, logical_or_expr, conditional_expr,
50109 expr, statement, expression_statement, selection_statement,
50110 iteration_statement, expr_opt, jump_statement): foundation for tracking
50112 * src/SDCCopt.c (killDeadCode): fixed bug #861580 (needs the sequence
50115 2003-12-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50117 * support/Util/SDCCerr.c,
50119 * src/SDCCast.c (createCase, createDefault, decorateType),
50120 * src/SDCClabel.c (labelUnreach),
50121 * src/SDCC.y (labeled_statement, jump_statement): More improvements
50123 * support/Util/SDCCerr.c (werrorfl): fixed a non-standard declaration
50124 (with thanks to Stas Sergeev)
50125 * device/include/time.h,
50126 * device/lib/time.c (CheckTime): suppress unreachable code warning
50128 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50130 * src/SDCCast.c (createIvalCharPtr),
50131 * src/SDCCglue.c (printChar): fixed bug #862241 (an error in my fix for
50133 * support/regression/tests/nullstring.c: tests for these two bugs
50135 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50137 * support/Util/SDCCerr.h,
50138 * support/Util/SDCCerr.c (E_NOT_ALLOWED),
50139 * src/SDCC.y (struct_declaration, struct_or_union_specifier): complain
50140 about storage class and 'at' used inside struct or union
50141 * src/SDCCBBlock.c (iCodeFromeBBlock),
50142 * src/SDCCcse.c (ifxOptimize),
50143 * src/SDCCglue.c (emitRegularMap, initPointer, printIvalStruct,
50144 printIvalArray, printiValFuncPtr, printIvalCharPtr, printIvalPtr,
50145 printIval, emitStaticSeg, emitOverlay),
50146 * src/SDCClabel.c (deleteIfx),
50147 * src/SDCCopt.c (replaceRegEqv, eBBlockFromiCode),
50148 * src/SDCCast.c (resolveSymbols, createIvalStruct, createIvalArray,
50149 gatherAutoInit, processParms),
50150 * support/Util/SDCCerr.h,
50151 * support/Util/SDCCerr.c (werrorfl): Support for better error location
50152 reporting for post-parse errors.
50154 2003-12-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50156 * src/SDCCval.c (valPlus, valMinus, valShift): fixed some problems with
50157 implicit casts via union; they don't work on big endian systems
50158 (possible fix for bug #861138)
50160 2003-12-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50162 (committed by Erik Petrich <epetrich AT ivorytower.norman.ok.us> on Frieder's behalf)
50163 * src/mcs51/main.c: fixed the fix for bug #737001
50165 2003-12-15 Borut Razem <borut.razem AT siol.net>
50167 * support/scripts/sdcc.nsi: updated for NSIS 2.0 beta 4
50169 2003-12-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50171 * support/makebin/makebin.c: put output in binary mode
50173 2003-12-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50175 * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears
50176 xdata and data memory on startup. Set the environment variable
50177 SDCC_NOGENRAMCLEAR to disable this.
50178 * src/mcs51/peephole.def,
50179 * src/ds390/peephole.def: using the atomic test and clear instruction jbc
50180 (allows non-interrupt and interrupt code to safely compete for a resource
50181 without the non-interrupt code having to disable interrupts)
50183 2003-12-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50185 * src/SDCCicode.c (geniCodeAdd),
50186 * src/SDCCast.c (decorateType): fixed bug #857753 (need to be careful
50187 with valFromType if type might be a pointer and host is big endian).
50188 * src/SDCCast.c (decorateType): unary plus compatible with all arithmetic
50189 types, not just integer types.
50190 * src/SDCCsymt.c (addSymChain): clarified error message when symbol is
50191 multiply defined with mismatching "at" address.
50193 2003-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50195 * src/ds390/main.c (PORT tininative_port): fixed bug #858416
50196 * src/SDCCglue.c (printChar, printIvalChar, emitStaticSeg),
50197 * src/SDCCast.c (createIvalCharPtr, stringToSymbol): handle strings
50198 with embedded nulls (fixed bug #753752)
50200 2003-12-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50202 * src/mcs51/main.c(_mcs51_genRAMCLEAR): using r0 instead of r1/r2.
50203 Apparently this did not see much testing (endless loop)
50205 2003-12-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50207 * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
50209 2003-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50211 * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
50212 gracefully handle NULL memmap pointers
50214 2003-12-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50216 * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
50217 instead of deleting the iCode when an operand is volatile
50218 * src/z80/gen.c (genDummyRead),
50219 * src/mcs51/gen.c (genDummyRead),
50220 * src/ds390/gen.c (genDummyRead),
50221 * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
50223 * src/SDCCicode.c (geniCodeCall): fixed bug #851607
50224 * src/SDCC.y: fixed bug #850420
50226 2003-12-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50228 Applied z80 i/o port patch from Peter Townson and fixed some operators
50229 to better handle operands in A register.
50230 * device/include/z180.h
50236 * src/z80/peeph-z80.def
50237 * src/z80/peeph.def
50240 2003-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50242 * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
50244 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50246 * device/lib/hc08/_mullong.c: Removed extra #endif
50248 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50250 * sim/ucsim/hc08.src/inst.cc,
50251 * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
50252 carries from x to h
50253 * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
50254 * src/hc08/gen.c (XAccRsh): fixed problem with right shift
50255 * device/include/stdarg.h: fixed varargs for hc08
50256 * device/lib/Makefile.in,
50257 * device/lib/hc08/Makefile,
50258 * device/lib/hc08/_mulint.c,
50259 * device/lib/hc08/_mullong.c: fixed some endian problems
50261 2003-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50263 * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
50264 * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
50265 * device/lib/_gptrget.c,
50266 * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
50268 2003-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50270 * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
50271 * src/SDCCast.c (astErrors): fixed bug #846007
50272 * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
50274 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50276 * src/SDCCast.c (decorateType): disabled a transformation I added in
50277 revision 1.188 (access to fields of a structure at an absolute address);
50278 it breaks with bitfields, extern declarations, and gcse analysis.
50279 * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
50280 could be assigned through a pointer, so don't complain.
50281 * src/SDCCast.c (astErrors),
50283 * src/SDCCglue.c (emitRegularMap): fixed bug #847813
50285 2003-11-26 Vangelis Rokas <vrokas AT otenet.gr>
50287 * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
50288 * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
50289 output of __config directives, since gpasm now supports them
50290 * src/pic16/main.c (_pic16_finaliseOptions): define MCU
50291 pre-processor macro, i.e. -DMCU=p18f452
50292 * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
50293 and modified to handle 'cast' icode similarly to '=' icode
50294 * src/pic16/device.h (typedef struct PIC_device): added field
50295 'extMIface' to indicate that chip has external memory interface
50296 * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
50297 18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
50300 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50302 * src/SDCC.y (pointer): fixed bug #846006
50303 * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
50304 * src/SDCCast.c (decorateType): fixed bug #846009
50305 * src/ds390/peeph.def,
50306 * src/ds390/gen.c (genAnd, genOr),
50307 * src/mcs51/peeph.def,
50308 * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
50310 2003-11-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50312 Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
50319 2003-11-23 Klaus Flittner <klaus_flittner AT gmx.de>
50323 * src/SDCCbitv.c: added function to free a bitvector
50324 * src/SDCClrange.h,
50325 * src/SDCClrange.c: added function to recompute the liveranges
50326 * src/avr/ralloc.c,
50327 * src/ds390/ralloc.c,
50328 * src/hc08/ralloc.c,
50329 * src/mcs51/ralloc.c,
50330 * src/pic/ralloc.c,
50331 * src/pic16/ralloc.c,
50332 * src/xa51/ralloc.c,
50333 * src/z80/ralloc.c: recompute the liveranges after register packing
50335 2003-11-21 Klaus Flittner <klaus_flittner AT gmx.de>
50337 * src/SDCCloop.c (newInduction): fixed bug #845630
50339 2003-11-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50341 * src/SDCCsymt.c (compareTypesExact): disabled debugging output
50342 inadvertantly left behind from my 2003-11-12 change
50344 2003-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50346 Updated headers I neglected to commit yesterday.
50347 * src/SDCClrange.h,
50350 2003-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50352 * src/SDCCcse.c (algebraicOpts): fixed bug #773153
50353 * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
50354 * src/SDCCopt.c (eBBlockFromiCode),
50355 * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
50356 the creation of the key hash table from the sequencing so it can be used
50357 earlier (for some GCSE bug fixes still pending)
50359 2003-11-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50361 * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
50362 * support/regression/tests/addsub.c: testing genPlus shortcut
50364 2003-11-15 Borut Razem <borut.razem AT siol.net>
50366 * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
50368 2003-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50370 * src/SDCCcse.c (cseBBlock): fixed bug #527779
50371 * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
50372 ordering is immaterial.
50373 * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
50375 2003-11-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50377 * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
50378 * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
50379 (SIGSEV) of bug #840381
50380 * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
50381 unlink new file before rename if new and old filenames are the same)
50383 2003-11-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50385 * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
50386 uninitialized variables) for the mcs51. Set environment variable
50387 SDCC_GENRAMCLEAR to test.
50388 xdata initialization slightly shorter
50390 2003-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50393 * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
50394 #838241 & 780691 (basicly the same bug)
50395 * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
50396 * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
50398 2003-11-11 Bernhard Held <bernhard AT bernhardheld.de>
50400 * src/SDCCmain.c (linkEdit): "fix" #834252
50402 2003-11-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50404 * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
50406 * src/SDCC.y: fixed bug #819403
50408 2003-11-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50410 * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
50411 the reentrant attribute.
50412 * src/hc08/gen.c (genPackBits): added missing stack readjustment
50413 * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
50415 * src/SDCCast.c (decorateType): fixed bug with storage class not being
50416 updated during pointer dereference; f.e. ~(((char *)1)*) was being
50417 erroneously reduced to a literal.
50418 * src/hc08/ralloc.c (packRegisters, rematStr),
50419 * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
50422 2003-11-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50424 * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
50425 * doc/sdccman.lyx: changed from 'article' to 'book'
50426 * doc/Makefile: readded test_suite_spec and cdbfileformat
50428 2003-11-08 Bernhard Held <bernhard AT bernhardheld.de>
50430 * device/include/stdlib.h: include malloc.h to comply with ANSI
50431 * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
50433 2003-11-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50435 * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
50436 * doc/clean.mk: also remove *.out files
50437 * doc/sdccman.lyx: some additions, larger top/bottom margins
50439 2003-11-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50441 * src/SDCC.y: fixed bug #837365
50442 * support/regression/tests/bitopcse.c
50443 * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
50444 a symbol (might be valop instead)
50445 * device/lib/Makefile.in: added errno.c to HC08SOURCES
50446 * device/lib/clean.mk: added hc08 to the cleaning list
50448 2003-11-04 Borut Razem <borut.razem AT siol.net>
50450 * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
50452 * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
50453 as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
50454 malloc is declared in standard stdlib.h
50456 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50458 * device/lib/hc08/Makefile: need to clean .rel not .o files
50459 * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
50461 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50465 * src/mcs51/main.c,
50466 * src/ds390/main.c,
50470 * src/pic16/main.c,
50471 * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
50472 * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
50473 tests (which uses the port's oclsExpense function)
50479 * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
50481 2003-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50483 * src/SDCCcse.c (ifxOptimize),
50484 * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
50485 an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
50486 deleting the IFX iCode.
50487 * src/hc08/ralloc.c: reduced unneeded slocs
50488 * src/hc08/gen.c: fixed bug in asmopToBoolean
50490 2003-11-04 Borut Razem <borut.razem AT siol.net>
50492 * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
50493 support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
50494 as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
50495 transferred to configure
50497 2003-11-03 Bernhard Held <bernhard AT bernhardheld.de>
50499 Use headers defined in the C[++] standards:
50500 * sim/ucsim/gui.src/serio.src/fileio.cc
50501 * sim/ucsim/gui.src/serio.src/frontend.cc
50502 * sim/ucsim/gui.src/serio.src/main.cc
50503 * sim/ucsim/gui.src/serio.src/posix_signal.cc
50504 * support/Util/NewAlloc.c
50506 * as/mcs51/lklibr.c
50510 2003-11-03 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50512 * Added MSVC projects for hc08 assembler and linker:
50513 all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
50514 /as/hc08/link_hc08.dsp
50516 2003-11-03 Martin Helmling <Martin.Helmling AT octo-soft.de>
50518 * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)
50520 2003-11-02 Bernhard Held <bernhard AT bernhardheld.de>
50522 * src/SDCCmain.c (linkEdit): "fixed" again bug #833605
50524 2003-11-01 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50526 * src/mcs51/main.c: xdata initialization is 13 bytes shorter now
50528 2003-10-31 Borut Razem <borut.razem AT siol.net>
50530 * support/cpp2/cpplib.h,
50531 support/cpp2/cpplib.c,
50532 support/cpp2/cpplex.c,
50533 support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ]
50534 to switch _asm block preprocessing on / off. Default is
50535 #pragma preproc_asm +
50537 2003-10-31 Borut Razem <borut.razem AT siol.net>
50539 * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences
50540 when outputting comment blocks (when executed with -C option) and
50541 _asm (SDCPP specific) blocks
50543 2003-10-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50545 * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning
50547 2003-10-31 Klaus Flittner <klaus_flittner AT gmx.de>
50549 * src/SDCCcse.c (updateSpillLocation): fixed bug #808027
50551 2003-10-31 Bernhard Held <bernhard AT bernhardheld.de>
50553 * src/SDCCmain.c (linkEdit): "fixed" bug #833605
50554 * src/SDCCast.c (decorateType): fixed bug #832664
50556 2003-10-31 Borut Razem <borut.razem AT siol.net>
50558 * support/cpp2/cpplex.c: fixed for SDCPP:
50559 comments(when executed with -C option) and _asm blocks
50560 were included even if they where in skipped #if block.
50561 Applied solution from GCC cpp 3.3.2
50563 2003-10-31 Borut Razem <borut.razem AT siol.net>
50565 * src/SDCC.lex: sdcc now understands both formats:
50566 '# <line_number> <file_name>' and
50567 '#line <line_number> <file_name>'
50568 * support/cpp2/cppmain.c: sdcpp now generates the standard
50569 '# <line_number> <file_name>' instead of former
50570 '#line <line_number> <file_name>'
50572 2003-10-30 Borut Razem <borut.razem AT siol.net>
50574 * support/cpp2/cpphash.h,
50575 * support/cpp2/cpplib.h
50576 * support/cpp2/cpplex.c,
50577 * support/cpp2/cppmain.c,
50578 * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants
50580 2003-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50582 Fixed a number of problems revealed by bug #827883.
50583 * src/SDCCloop.c (loopInvariants): Spill location of the
50584 result operand should be recomputed if extracted from
50585 a loop. Also, don't extract assignments of an iTemp
50587 * src/SDCCast.c (isConformingBody): loop reversal should
50588 not occur if the control variable is involved with a
50589 relational operator.
50591 2003-10-28 Bernhard Held <bernhard AT bernhardheld.de>
50593 * .version: bumped to 2.3.6 to reflect the big improvements
50594 made by Erik and Klaus. Thanks!
50596 2003-10-28 Klaus Flittner <klaus_flittner AT gmx.de>
50598 Replaced the livrange code.
50599 * src/SDCClrange.c: added new LR code
50601 * src/SDCCBBlock.h: removed remainig parts from old LR code
50602 * src/ds390/ralloc.c,
50603 * src/ds390/gen.c: minor fixes to make it work with new code
50605 2003-10-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50608 * as/hc08/lkrloc.c,
50610 * src/hc08/ralloc.c: Fix various warnings related to the hc08
50611 * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717
50612 (tweaked fix for bug #818696)
50614 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50616 * src/z80/ralloc.c (joinPushes): Fixed bug #828742
50618 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50621 * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work)
50622 * src/mcs51/gen.c (gencjneshort),
50623 * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand
50624 more efficient (per Scott Bronson's suggestion)
50626 2003-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50628 Extended the semantics of the critical keyword to include
50629 individual statements. See RFE #827755 and #799831
50634 * support/Util/SDCCerr.c
50635 * support/Util/SDCCerr.h
50640 2003-10-19 Borut Razem <borut.razem AT siol.net>
50642 * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31
50644 2003-10-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50646 * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode):
50648 * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement
50649 and predecrement operand is displayed
50651 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
50653 * src/SDCCval.c (valMinus): fixed bug #826041
50655 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50657 Some hc08 related updates that I missed earlier
50658 * sim/ucsim/stypes.h
50659 * support/regression/ports/hc08/spec.mk
50661 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50663 New target "hc08" for the Motorola 68hc08 family of micros
50671 * sim/ucsim/hc08.src/*
50672 * sim/ucsim/configure.in
50673 * src/ucsim/configure
50674 * sim/ucsim/packages_in.mk
50677 * device/include/mc68hc908qy.h
50678 * device/lib/hc08/*
50679 * device/lib/Makefile.in
50680 * support/regression/ports/hc08/*
50681 * support/regression/Makefile
50683 2003-10-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50685 * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c
50687 * src/ds390/gen.c (genCast): fixed bug #821957
50689 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
50691 * device/lib/logf.c: "fixed" overlay bug
50692 * support/regression/ports/host/spec.mk: added m library
50693 * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs
50694 * support/regression/tests/float_trans: added (for Eric)
50696 2003-10-12 Bernhard Held <bernhard AT bernhardheld.de>
50698 * src/mcs51/gen.c (genCpl): fixed bug
50699 http://sf.net/mailarchive/message.php?msg_id=6263915
50701 2003-10-10 Bernhard Held <bernhard AT bernhardheld.de>
50703 * src/SDCCast.c (decorateType): added extended constant folding
50704 * src/SDCCsymt.c (computeType): cleanup
50705 * src/SDCCval.c (valShift): minor optimization
50706 * support/regression/tests/ast_constant_folding.c: added
50708 2003-10-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50710 * src/SDCCmain.c: removed some unintended changes
50712 2003-10-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50714 * src/SDCCmain.c (setParseWithComma): fixed bug #816685
50715 * src/z80/gen.c: fixed part of bug #817589
50716 * src/SDCCsymt.c (checkFunction): fixed bug #817895
50718 2003-10-08 Bernhard Held <bernhard AT bernhardheld.de>
50720 Replaced cast (void **) with (void *) to avoid gcc 3 warning:
50731 * src/ds390/ralloc.c
50733 * src/mcs51/ralloc.c
50735 * src/pic16/ralloc.c
50736 * src/xa51/ralloc.c
50738 * src/z80/gen.c: removed unused label "release:"
50740 2003-10-06 Borut Razem <borut.razem AT siol.net>
50742 * src/SDCC.lex: removed definition of unused variables
50743 save_optimize and save_options
50745 2003-10-06 Bernhard Held <bernhard AT bernhardheld.de>
50747 * clean.mk: removed '=' in "-maxdepth=1"
50748 * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS
50749 * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS
50751 2003-10-06 Borut Razem <borut.razem AT siol.net>
50753 * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions;
50754 my_unput() replaced by unput()
50756 2003-10-05 Bernhard Held <bernhard AT bernhardheld.de>
50758 * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
50759 setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
50760 type-punned pointer will break strict-aliasing rules"
50761 Old LR behaviour is again default; Klaus' LR can be choosen by
50762 defining the environment variable LRKLAUS
50766 * src/ds390/ralloc.c (spillThis): applied Klaus' patch
50767 * clean.mk: fixed removal of files in bin/CVS/
50768 * device/lib/clean.mk: fixed removal of directories small and large
50769 * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
50771 * src/SDCCval.c: removed superflous test for pedantic
50773 2003-10-05 Borut Razem <borut.razem AT siol.net>
50775 * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
50776 Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
50777 message "unmatched #pragma SAVE and #pragma RESTORE"
50779 2003-10-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
50781 * doc/sdccman.lyx: various additions and updates (interrupts, inline
50782 assembly, critical functions, atomic, nojtbound)
50784 2003-10-04 Bernhard Held <bernhard AT bernhardheld.de>
50786 Applied liferange patch from Klaus Flittner <klaus_flittner AT gmx.de>
50792 2003-10-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50795 * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
50797 * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
50799 * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
50800 * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
50801 * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
50803 2003-10-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50805 * src/z80/gen.c (genRet): fixed bug #524753
50806 * src/z80/gen.c (genCast): fixed internal error on cast from
50808 * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
50809 fix for bug #477835 to the z80
50810 * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
50811 for tracking iCodes in the peephole optimizer for z80
50813 2003-10-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50815 * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
50816 the other part of bug #814548
50817 * src/SDCCpeeph.c (labelInRange): fixed bug #814558
50819 2003-09-30 Bernhard Held <bernhard AT bernhardheld.de>
50821 * src/SDCCcse.c: fixed part of bug #814548
50823 2003-09-28 Borut Razem <borut.razem AT siol.net>
50825 * src/asm.c: rewrite of printILine() to use temporary file instead
50827 * src/xa51/main.c: commented out declaration of int rewinds
50829 2003-09-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50831 * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
50833 2003-09-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50835 * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
50836 * src/asm.c (printILine): Fixed bug #811015
50838 2003-09-22 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50840 *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
50843 2003-09-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50845 * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
50846 * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
50847 to correctly handle general case of AOP_PAIRPTR
50848 * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
50850 2003-09-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50852 * src/mcs51/ralloc.c (fillGaps),
50853 * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
50854 register positioning bug)
50856 2003-09-21 Bernhard Held <bernhard AT bernhardheld.de>
50858 * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
50860 2003-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50862 * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
50863 genCodePointerGet, genGenPointerGet, genFarPointerSet,
50864 genGenPointerSet): handle AOP_DPTR correctly when loading dptr
50865 (ralloc doesn't intentionally do this now, but perhaps later)
50866 * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
50867 * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
50868 register positioning bugs (Fixed bug #762602 and #795325)
50869 * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
50870 (Fixed bug #808779)
50871 * src/z80/gen.c: increased _vemit2's buffer[] to handle long
50872 lines that --i-code-in-asm generates
50874 2003-09-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50876 *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
50877 trying to fclose a FILE* that was already closed.
50879 2003-09-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50881 * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
50882 of const struct should be treated as if const themselves)
50884 2003-09-18 Bernhard Held <bernhard AT bernhardheld.de>
50886 * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
50888 2003-07-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50890 * support/librarian/sdcclib.c: Generate correct offsets for libraries with
50891 Unix (/n) and DOS (/r/n) line terminations.
50893 2003-09-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50895 * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
50898 2003-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50900 * src/mcs51/gen.c (genFunction, genEndFunction),
50901 * src/ds390/gen.c (genFunction, genEndFunction): Moved save
50902 and restore of EA so that stack offsets to parameters are
50903 correct when using both critical and reentrant/stack-auto.
50904 * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
50905 size (can be triggered in error if sloc is shared between
50906 different sized objects)
50907 * device/include/float.h: fixed macros to explicitly use
50908 unsigned long where needed
50910 2003-09-15 Bernhard Held <bernhard AT bernhardheld.de>
50912 Feature req. 799831: added code to allow nesting of critical functions
50913 * src/mcs51/gen.c (genFunction, genEndFunction)
50914 * src/ds390/gen.c (genFunction, genEndFunction)
50916 2003-09-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50918 * src/SDCCsymt.c (sclsFromPtr),
50920 * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
50921 support for standard C idiom of memory mapped variables; for
50922 example, *((xdata int*)0x1234) = 1 is now internally equivalent
50923 to xdata int at 0x1234 tempvar = 1.
50924 * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
50925 provided by Akiya ISHIDA
50927 2003-09-13 Bernhard Held <bernhard AT bernhardheld.de>
50929 * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
50930 * src/SDCCval.c (constVal): added reduction from int to char
50931 * src/SDCCval.c (valMult, valDiv): fixed sign handling
50932 * src/SDCCval.c (valShift): fixed after change of cheapestVal()
50933 * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
50935 * support/regression/tests/shifts.c: fixed
50937 2003-09-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50939 * src/z80/gen.c (genXor): Fixed bug #805445
50941 2003-09-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50943 Fixed bug #621531 (const & volatile confusion in the type chain).
50944 DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
50945 refer to the const or volatile state of the pointer itself.
50957 * src/pic16/ralloc.c
50958 * support/regression/tests/const.c
50960 2003-09-10 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
50962 When checking for duplicated modules, use absolute paths
50963 instead of relative paths. Files changed:
50968 2003-09-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50970 * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
50972 2003-09-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50974 * device/include/string.h: added size_t typedef, changed
50975 prototypes to use size_t, eliminated separate reentrant and
50976 non-reentrant declarations, added _memmove declaration
50977 * device/lib/_memcpy.c: changed to use size_t instead of int,
50978 changed /4 to >>2 to avoid division library call
50979 * device/lib/_memcmp.c,
50980 * device/lib/_memset.c,
50981 * device/lib/_strncat.c,
50982 * device/lib/_strncpy.c,
50983 * device/lib/_strncmp.c: changed to use size_t instead of int
50984 * device/lib/_memmove.c: new file (fixed bug #772294)
50985 * device/lib/Makefile.in: added _memmove.c
50986 * device/lib/z80/asm_strings.s: fixed bug #772290
50987 * support/regression/tests/bitfields.c: attempt to fix host assertion
50988 failure on amd64-unknown-linux2.2
50990 2003-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
50992 * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
50993 * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
50994 * as/z80/asmain.c (main): fixed bug #801766
50996 2003-09-06 Bernhard Held <bernhard AT bernhardheld.de>
50998 * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
51001 2003-09-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51003 * src/SDCCast.c (isConformingBody): fixed loop reversal bug
51004 reported in bug #800609
51006 2003-09-04 Vangelis Rokas <vrokas AT otenet.gr>
51008 * Top header beautifications in src/pic16 directory:
51009 device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
51010 pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
51011 pcoderegs.h, ralloc.c, ralloc.h
51012 * main.c: added top header and GPL license notice
51013 * pcode.c: fixed the if-conditional warning
51015 2003-09-04 Bernhard Held <bernhard AT bernhardheld.de>
51017 * device/lib/_mullong.c: replaced int by short for gcc
51019 2003-08-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51021 * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
51022 and JUMPTABLE iCodes properly now (worked by accident before)
51023 * src/mcs51/gen.c (leftRightUseAcc),
51024 * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
51025 iCode properly now. Use getSize instead of nRegs since a & b
51026 aren't part of the nRegs tally.
51028 2003-08-31 Vangelis Rokas <vrokas AT otenet.gr>
51030 * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
51031 * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
51032 before instructions that use the _STATUS register
51034 2003-08-31 Bernhard Held <bernhard AT bernhardheld.de>
51036 * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
51037 * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
51038 fetching of the pointer
51039 * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
51040 copied from genNearPointerSet()
51041 * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
51042 * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
51043 If they pop r0/r1 they must be called in the opposite order than aopOp().
51044 * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
51045 (resp. --stack-auto), prepared for --xstack
51047 2003-08-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51049 * doc/sdccman.lyx: reverted tables to those in cvs 1.64
51051 2003-08-28 Bernhard Held <bernhard AT bernhardheld.de>
51053 * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
51054 these ports have their own __sdcc_external_start()
51056 2003-08-26 Bernhard Held <bernhard AT bernhardheld.de>
51058 pic patch provided by Slade Rich <slade_rich AT yahoo.com>
51059 * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
51060 type for bits was changed. It resulted in bit variables becoming
51061 global, which is not permitted in PIC 14 assembly output.
51063 2003-08-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51065 * doc/sdccman.lyx: various additions and updates. Rearranged sections
51067 2003-08-22 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51069 Z80 and MCS51 linkers complaint if a public symbol is defined
51070 in more than one library module:
51074 * as/mcs51/Makefile.in
51076 2003-08-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51078 A few small changes that speed up the peephole optimizer.
51082 2003-08-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51084 Try to make the peephole optimizer smarter by maintaining
51085 an association between the assembly source code and the
51086 iCodes that originated them. Put this information to use
51087 with a new peephole rule condition "notVolatile" so that
51088 the rules can be aggressive yet still safe.
51093 * src/mcs51/peeph.def
51095 2003-08-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51099 * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
51100 * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
51101 if the left or right operand symbols have the accuse flag set.
51103 2003-08-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51105 Changed the type of the result of the ! (NOT) operator to char;
51106 previously it returned the same type as the source. This allows
51107 us to eliminate all the genFloatNot functions (all of its target
51108 implementations were very buggy) since !float can use the same
51111 * src/SDCCicode.c (ast2iCode): ! returns char
51112 * src/mcs51/gen.c (genNot, genNotFloat),
51113 * src/ds390/gen.c (genNot, genNotFloat),
51114 * src/z80/gen.c (genNot, genNotFloat),
51115 * src/pic/gen.c (genNot, genNotFloat),
51116 * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
51118 2003-08-19 Bernhard Held <bernhard AT bernhardheld.de>
51120 pic patch provided by Slade Rich <slade_rich AT yahoo.com>
51121 1. Interrupt would not compile properly. Ensure PCLATH register is saved
51122 during interrupts. Ensure WSAVE is located at a shared bank address.
51123 2. Fixed page selection in some places
51124 3. Fixed BTFSS/C to where necessary use registers directly and not simply
51125 the registers name strings.
51126 4. Fixed "signed / unsigned compare" compiler warnings.
51127 5. The PIC port manages its own allocation of the general purpose
51128 registers, but makes no attempt to reuse them. As a result when
51129 compiling it soon runs out of general purpose registers. Some
51130 additional code was added to the files pcode.c and device.c to walk
51131 through the function call tree and rename the registers so that they
51141 * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
51142 genPlus() & genMinus() when the result is the same as left or right
51144 2003-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51146 * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
51148 2003-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51150 Made bitfield a distinct type from bit so that bitfields
51151 convert as per ANSI C and bits retain their traditional
51152 boolean style behaviour. Implemented bitfield support in
51160 * src/ds390/gen.c: bit v bitfield split
51161 * src/z80/gen.c: New support for bitfields
51162 * support/regression/tests/bitfields.c: reenabled z80,
51165 2003-08-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51167 Rules 246.x, 247.x relate to bitfields, the others speed up
51168 access to xdata mapped I/O devices.
51170 * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
51172 2003-08-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51174 Cleaned up genPackBits and genUnpackBits and added two helper
51175 functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
51176 for literal assignments in genPackBits (thanks to Frieder for
51182 2003-08-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51184 Fixed bug #748310 (pointer to function type mishandled when the
51185 function name is omitted). Also fixed a SIGSEGV when a function
51186 attribute (reentrant, etc) is used on a non-function or on a
51187 function but misplaced before the parameter list.
51189 * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
51191 * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
51192 * support/Util/SDCCerr.h,
51193 * support/Util/SDCCerr.c: Added func attr misuse error msg
51195 2003-08-13 Bernhard Held <bernhard AT bernhardheld.de>
51197 Fixed bug #787649 by anonymous
51198 * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
51199 * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
51201 2003-08-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51203 Fixed numerous bitfield problems.
51205 * src/SDCC.y: More bitfield related error checking
51207 * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
51208 * support/Util/SDCCerr.h,
51209 * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
51210 * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
51211 * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
51212 * support/regression/tests/bitfields.c: tests added
51214 2003-08-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51216 Made the constant following the "interrupt" keyword optional. If
51217 omitted, the function will not automatically be given an entry
51218 in the interrupt vector table (similar to #pragma NOIV, but
51219 less syntacticly kludgy). The interrupt number is also now
51220 range checked. Also fixed a bug in the high order bit example
51227 * support/Util/SDCCerr.c
51228 * support/Util/SDCCerr.h
51231 2003-08-13 Bernhard Held <bernhard AT bernhardheld.de>
51233 * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
51234 * src/SDCCicode.c (operandOperation): rewritten some ops
51235 (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
51236 * src/SDCCsymt.c (computeType): literals are handled the same way as any
51238 * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
51239 be re-activated by defining REDUCE_LITERALS)
51240 * src/SDCCval.c (constVal): fixed; hex and octal constants can be
51241 unsigned, but are signed by default
51242 * src/SDCCval.c (constVal): rearranged
51243 * src/SDCCval.c (valMod): preliminary fix
51244 * src/SDCCval.c (valCastLiteral): use TYPE_* types
51245 * support/regression/literalop.c: added, work in progress
51247 2003-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51249 Generate warnings for useless declarations like "char data;"
51250 that don't do what new users expect.
51253 * support/Util/SDCCerr.h
51254 * support/Util/SDCCerr.c
51256 2003-08-09 Bernhard Held <bernhard AT bernhardheld.de>
51258 * src/SDCCval.c (valMult): fix overflow detection of negative int
51260 2003-08-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51262 * src/z80/ralloc.c (joinPushes): made compatible with new signedness
51264 Changes to support big endian targets:
51277 2003-08-06 Bernhard Held <bernhard AT bernhardheld.de>
51279 * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
51280 * device/lib/time.c: fixed warning "integer overflow in expression"
51282 2003-08-05 Bernhard Held <bernhard AT bernhardheld.de>
51284 * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
51285 * src/SDCCval.c (constVal): changed default to signed; hex and octal
51286 constants are unsigned; added recognition of "u" flag for unsigned
51287 * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
51288 * src/SDCCval.c (valDiv, valMod): fixed signdness
51289 * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
51290 signedness of modulo, left and right shift
51291 * support/Util/SDCCerr.c: added warning "integer overflow in expression"
51292 * support/Util/SDCCerr.h: added warning W_INT_OVL
51293 * src/SDCCast.c (decorateType): fixed gcc3.3 warning
51294 * src/SDCCast.c (ast_print): improved output of constants
51296 2003-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51298 Fixed some warnings when building with MSVC:
51300 * as/mcs51/asdata.c
51304 * link/z80/aslink.h
51305 * link/z80/lkdata.c
51306 * link/z80/lkeval.c
51311 * support/cpp2/cpplib.c
51315 2003-08-03 Bernhard Held <bernhard AT bernhardheld.de>
51317 * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth AT isi.edu>
51319 2003-08-01 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51321 * support/librarian/clean.mk: Do not remove Makefile.
51322 * support/librarian/Makefile: added.
51324 2003-08-01 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51326 Added librarian to MSVC build:
51329 * support/librarian/librarian.dsp
51331 'configure' not needed for librarian, removed:
51332 * support/librarian/configure
51333 * support/librarian/configure.in
51334 * support/librarian/config_in.h
51335 * support/librarian/Makefile.in
51337 Hopefully these ones built the librarian and the rest of sdcc properly:
51339 * Makefile.common.in
51341 Messed up 'configure', so revert to previous version:
51345 2003-07-31 Bernhard Held <bernhard AT bernhardheld.de>
51347 * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
51348 there, while the mantissa of a double is "only" 53 bits wide.
51350 2003-07-31 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51352 Adding sdcclib to the build. MSVC project coming soon.
51353 Files added/changed:
51355 * support/librarian/clean.mk
51356 * support/librarian/configure
51357 * support/librarian/configure.in
51358 * support/librarian/config_in.h
51359 * support/librarian/Makefile.bcc
51360 * support/librarian/Makefile.in
51361 * support/librarian/sdcclib.c
51364 * Makefile.common.in
51368 2003-07-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51370 Linker now complaints if linked modules have conflicting options, for
51371 example, one compiled using --model-large and another one compiled with
51372 --model-small. The following files were modified:
51374 * as/mcs51/asdata.c
51375 * as/mcs51/aslink.h
51377 * as/mcs51/asmain.c
51379 * as/mcs51/i51pst.c
51380 * as/mcs51/lkdata.c
51381 * as/mcs51/lklibr.c
51382 * as/mcs51/lkmain.c
51388 * link/z80/aslink.h
51389 * link/z80/lkdata.c
51390 * link/z80/lklibr.c
51391 * link/z80/lkmain.c
51394 2003-07-28 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51396 *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
51397 as/mcs51/lklibr.c: Generate a warning when a library is not found.
51399 2003-07-28 Bernhard Held <bernhard AT bernhardheld.de>
51401 * src/z80/mappings.i: fix _mul[us][int,long] entries
51403 2003-07-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51405 *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
51407 2003-07-24 Bernhard Held <bernhard AT bernhardheld.de>
51409 * src/SDCCicode.c (operandOperation): really fixed problem with bitops
51410 * support/regression/tests/bitopcse.c: added
51418 2003-07-24 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51420 added support for new library format to z80, gbz80 linkers:
51426 2003-07-24 Bernhard Held <bernhard AT bernhardheld.de>
51428 * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
51429 after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
51431 2003-07-23 Bernhard Held <bernhard AT bernhardheld.de>
51433 added DUMMY_READ_VOLATILE:
51442 * src/SDCCcse.c (algebraicOpts): many improvements
51443 * src/SDCCcse.h: removed algebraicOpts()
51444 * src/SDCCicode.c (picDummyRead): added
51446 2003-07-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51448 * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
51449 "Insufficient space in data memory".
51451 2003-07-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51453 * src/mcs51/gen.c: fixed bug #771358
51454 * src/z80/gen.c: fixed bug #759087
51456 2003-07-20 Bernhard Held <bernhard AT bernhardheld.de>
51458 * src/pic16/glue.c: minor cleanup by Vangelis
51460 2003-07-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51462 * device/include/regc515c.h: fixed #758477
51463 * device/lib/_gptrget.c: saving some cycles in generic pointer get
51464 * device/lib/_gptrput.c: saved a few bytes
51465 * my tab spacing is 8, yours too?)
51466 * device/lib/_ser.c: process RX bytes earlier than TX bytes
51467 * device/lib/serial.c: process RX bytes earlier than TX bytes
51468 * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
51470 2003-07-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
51472 * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
51474 2003-07-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51476 * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
51478 2003-07-17 Bernhard Held <bernhard AT bernhardheld.de>
51480 * device/lib/Makefile.in: bad fix, reverted to 1.43
51482 2003-07-16 Bernhard Held <bernhard AT bernhardheld.de>
51484 * device/lib/Makefile.in: added missing z80 object files
51486 2003-07-14 Bernhard Held <bernhard AT bernhardheld.de>
51488 * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
51489 pic16 progress by Vangelis:
51492 * src/pic/Makefile:
51499 * pic16/genarith.c:
51504 * pic16/pcodepeep.c:
51507 2003-07-13 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51509 * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
51511 2003-07-12 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51513 * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
51514 added gbz80 build to MSVC project.
51515 * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
51516 link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
51517 from 8051 stuff and setup so it links using a .lnk file.
51519 2003-07-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51521 * support/librarian/sdcclib.c: sdcc librarian.
51522 * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
51525 2003-07-03 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51527 * as/mcs51/lkmain.c: properly handle extensions in function afile.
51529 2003-07-02 Borut Razem <borut.razem AT siol.net>
51531 * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
51532 src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
51533 src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
51534 src/xa51/main.c, src/z80/main.c:
51535 virtualization of glue() function: each port has it's own glue function,
51536 which is accessed by do_glue function pointer in PORT.general structure
51538 2003-07-01 Kevin Vigor <kevin AT vigor.nu>
51540 * DS800C400 fun, improved ROM interface and tinibios.
51542 2003-06-27 Kevin Vigor <kevin AT vigor.nu>
51544 * More support for DS80C400. Now includes beginning of interface to ROM.
51546 2003-06-25 Bernhard Held <bernhard AT bernhardheld.de>
51548 * src/mcs51/gen.c (gencjneshort): fixed bug #760345
51550 2003-06-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51552 * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
51554 2003-06-19 Borut Razem <borut.razem AT siol.net>
51556 * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
51558 2003-06-19 Borut Razem <borut.razem AT siol.net>
51560 * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
51561 fixed Z80 port - crt0.o: cannot open.
51563 2003-06-19 Bernhard Held <bernhard AT bernhardheld.de>
51565 * support/Util/MySystem.c (merge_command): revert bad fix
51567 2003-06-18 Borut Razem <borut.razem AT siol.net>
51569 * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
51571 2003-06-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51573 * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
51574 option --use-stdout sends errors to stdout instead of stderr.
51576 2003-06-18 Bernhard Held <bernhard AT bernhardheld.de>
51578 * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
51580 2003-06-15 Borut Razem <borut.razem AT siol.net>
51582 * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
51583 * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
51584 * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
51585 fixed width array of pointers replaced with sets;
51586 multiple include and lib paths ared transferred to preprocessor and linker
51587 * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
51588 * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
51589 fixed width array of pointers
51590 * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
51591 removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
51592 fixupPath(), getPathDifference()
51593 * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function inExcludeList() by using sets instead
51594 fixed width array of pointers
51596 2003-06-11 Bernhard Held <bernhard AT bernhardheld.de>
51598 * src/pic16/ralloc.c: fix warnings
51599 * src/pic16/pcode.c: fix warning
51601 2003-06-10 Scott Dattalo <scott AT dattalo.com>
51603 Scott D. for Vangelis Rokas (vrokas AT otenet.gr). I (scott) don't
51604 know all the details, but essentially this set of changes enable
51605 the pic16 port to generate movff instructions and generate assembler
51609 * src/pic16/glue.c:
51610 * src/pic16/pcode.c:
51611 * src/pic16/device.c:
51612 * src/pic16/main.c:
51613 * src/pic16/pcode.h:
51614 * src/pic16/pcoderegs.c:
51615 * src/pic16/ralloc.c:
51616 * src/pic16/ralloc.h:
51618 2003-06-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51620 * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
51621 added option --vc, so sdcc errors and warnings are compatible with
51622 Microsoft Visual Studio.
51624 2003-06-07 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51626 * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
51627 device/lib/libfloat.lib: added atof function.
51629 2003-06-04 Bernhard Held <bernhard AT bernhardheld.de>
51631 * doc/sdccman.lyx: updated to Lyx 1.3
51632 * doc/cdbfileformat.lyx: updated to Lyx 1.3
51633 * doc/test_suite_spec.lyx: updated to Lyx 1.3
51634 * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
51636 2003-06-03 Bernhard Held <bernhard AT bernhardheld.de>
51638 * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas AT otenet.gr>
51640 2003-06-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51642 * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
51643 additions to the "related tools/documentation" section
51645 2003-06-02 Bernhard Held <bernhard AT bernhardheld.de>
51647 * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
51649 2003-05-29 Bernhard Held <bernhard AT bernhardheld.de>
51651 * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn AT vt.edu>
51652 * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
51654 2003-05-28 Bernhard Held <bernhard AT bernhardheld.de>
51656 * doc/sdccman.lyx: fix double dash and other minor things
51657 * doc/Makefile: fix double dash
51659 2003-05-28 Karl Bongers(patches from Martin Helmling)
51660 * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
51661 condition and ignore commands.
51663 2003-05-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51665 * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
51666 is in parts still quite out of date, I did changes as far as I felt makes sense
51667 for a non-native english speaker.
51668 Please feel free to add to the manual or to correct my changes.
51669 * doc/Makefile: undid touching the date of intermediate tex files.
51671 2003-05-26 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51673 * doc/sdccman.lyx: Manual has an index now
51675 2003-05-25 Bernhard Held <bernhard AT bernhardheld.de>
51677 Finalize muluint/mulsint and mululong/mulslong merging:
51678 * device/lib/_mulint.c
51679 * device/lib/_mullong.c
51680 * device/lib/gbz80/mul.s
51681 * device/lib/gbz80/stubs.s
51682 * device/lib/z80/mul.s
51683 * device/lib/z80/stubs.s
51684 * src/SDCCsymt.c (initCSupport)
51686 2003-05-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51688 * as/mcs51/lkaomf51.c: Address space 'z' was missing.
51689 * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
51690 src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
51691 src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
51694 2003-05-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
51696 * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
51697 the regression tests I'm not brave enough to enable 245.b, 245.c
51698 * doc/sdccman.lyx: added latex preamble for hyperref package.
51699 Using pdflatex this will give you a hyperlinked pdf file with
51700 bookmarks. (prepend '%' before /usepackage if this breaks something)
51702 2003-05-24 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51704 * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
51706 2003-05-22 Bernhard Held <bernhard AT bernhardheld.de>
51708 * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
51710 2003-05-21 <johan AT balder>
51712 * src/SDCCglue.c (printIval): fixed bug #739934
51714 2003-05-19 Bernhard Held <bernhard AT bernhardheld.de>
51716 Applied patch from bug 737905 (renamed yylineo to mylineno):
51723 * src/pic16/pcode.c: Cleaned warnings
51724 * src/pic16/pcodeflow.c: Cleaned warnings
51725 * src/pic16/pcoderegs.c: Cleaned warnings
51727 2003-05-19 Scott Dattalo <scott AT dattalo.com>
51729 * src/pic16/pcode.c: Cleaned warnings
51730 * src/pic16/pcodepeep.c: Cleaned warnings
51731 * src/pic16/ralloc.c: Cleaned warnings
51733 2003-05-19 Bernhard Held <bernhard AT bernhardheld.de>
51735 * doc/sdccman.lyx: fixed bug 739745
51736 * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
51738 2003-05-18 Bernhard Held <bernhard AT bernhardheld.de>
51740 * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
51741 it can be defined with CFLAGS when running configure
51742 * src/SDCCmain.c: fixed compiling + linking with object files
51744 2003-05-18 Vangelis Rokas (vrokas AT otenet.gr)
51746 * configure.in: configure for pic16 port,
51747 added --disable-pic16-port
51748 * sdccconf_in.h: added macro OPT_DISABLE_PIC16
51749 * src/SDCCmain.c: linkOptions is changed to set *,
51750 added if/endif conditional macros to remove options help
51751 messages from optionsTable when a port is not configured, added
51752 support for the PIc16 port in the ports table, when executing
51753 the compiler with no port specified on command line, a default
51754 port is selected with the new macro DEFAULT_PORT which is
51755 defined in port.h, in setDefaultOptions() linkOptions is removed
51756 from initialization assignment, since now it is a set,
51757 parseCmdLine uses setParseWithComma for linkOptions, in
51758 linkEdit() linkOptions are accessed with new function indexSet()
51759 which returns the i'th item of a set variable. See SDCCset.c, in
51760 linkEdit() when calling buildCmdLine(), added linkOptions as
51761 last argument. Now users can pass arguments to gplink via the
51762 -Wl option, main() uses pic16glue() to glue up pic16 programs
51763 * src/SDCCpeeph.c: various changes to support pic16
51764 * src/SDCCset.c: added function void *indexSet(set *, int) to
51765 return the i'th item of the set
51766 * src/SDCCset.h: added function prototype for indexSet()
51767 * src/SDCCsymt.c: in checkSClass(), added support for PIC16
51768 * src/clean.mk: added pic16 in CLEANALLPORTS variable
51769 * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
51770 added macro DEFAULT_PORT
51771 * src/pic/main.c: corrected arguments of gplnk in _linkCmd
51772 * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
51774 * src/pic16/glue.c: commented out some error producing lines
51775 * src/pic16/main.c: __config directives are commented out to stop
51776 gpasm complaining and test the linkage with gplink, _linkCmd and
51777 _asmCmd changed to be more gplink and gpasm friendly
51778 * src/pic16/peeph.def: peep rule 3 is commented out, since it
51779 produced an error when parsed, peep rule 12 is added to utilize
51780 movff, but it is commented out since the pCode does not support
51781 yet a command with 2 address arguments
51783 2003-05-18 <johan AT balder>
51785 * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
51786 * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
51787 2003-05-17 Karl Bongers(apply patches from Martin Helmling)
51789 * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
51790 Added feature to script commands from file.
51792 2003-05-14 Bernhard Held <bernhard AT bernhardheld.de>
51794 * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
51795 * src/SDCCutil.c: include ctype.h for win32
51797 2003-05-13 Bernhard Held <bernhard AT bernhardheld.de>
51799 * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
51801 2003-05-12 Karl Bongers(apply development patches from Martin Helmling)
51803 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
51804 Fixed so you can set breakpoints prior to run, run does not stop
51805 on entry now. Add tbreak. Other enhancements and fixes for use
51808 2003-05-12 Borut Razem <borut.razem AT siol.net>
51810 * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
51812 2003-05-11 Borut Razem <borut.razem AT siol.net>
51814 * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
51815 the path of bin directory, so that PATH is the only env. variable, which has to be set
51816 in case of standard installation.
51817 * src/ds390/ds390.dsp: increased value of /Zm option to 1000
51818 * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
51819 * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
51821 2003-05-04 Bernhard Held <bernhard AT bernhardheld.de>
51823 * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
51824 * support/regression/Makefile: inter-port-clean is no longer nesessary, the
51825 temp files are in the port dir; clean the gen/test directory when
51826 generating new test.c
51827 * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
51828 * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
51829 * support/regression/tests/zeropad.c: added
51831 2003-05-09 <johan AT balder>
51833 * src/SDCCglue.c: fixed bug #597940
51835 2003-05-05 Karl Bongers(apply patches from Martin Helmling)
51837 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
51838 cache sfr, optimize next,step, fix off by one sourceline,
51839 support ddd list function.
51840 * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
51842 2003-05-04 Bernhard Held <bernhard AT bernhardheld.de>
51844 * support/regression/HTMLgen.py: added compare_s2f()
51845 * support/regression/Makefile: redo 1.27
51846 * support/regression/generate-cases.py: redo 1.5
51848 2003-04-30 Bernhard Held <bernhard AT bernhardheld.de>
51850 * support/regression/tests/float.c: workaround 33 bit hex constant
51851 * support/regression/tests/simplefloat.c: fix division for host
51853 2003-04-29 Scott Dattalo <scott AT dattalo.com>
51855 * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim AT jimhawkridge.uk.eu.org>
51856 that tame's the PIC's over-aggressive optimizer.
51858 2003-04-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
51860 * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
51863 2003-04-29 Kevin Vigor <kevin AT vigor.nu>
51865 Initial support for DS80C400. "Hello world" runs on TINIm400
51868 2003-04-28 Karl Bongers(apply patches for Martin Helmling)
51870 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
51871 * Some notes on ddd usage added in debugger/README
51872 Martin Helmling adding more features and fixes for ddd GUI debugger.
51873 Code added for nexti, stepi, up, down, and other adjustments.
51875 2003-04-28 Scott Dattalo <scott AT DATTALO.COM>
51877 * src/pic/pCodepeep.c non-wildcard asmops are now handled
51878 * src/pic/peeph.def Added two rules to optimize carry manipulation
51879 * src/pic/* removed debug printfs
51881 2003-04-28 Bernhard Held <bernhard AT bernhardheld.de>
51883 * debugger/mcs51/cmd.c: added header newalloc.h
51885 2003-04-26 Bernhard Held <bernhard AT bernhardheld.de>
51887 * as/Makefile: new EXEEXT
51888 * as/z80/Makefile: remove trailing slash of BUILDIR
51889 * as/z80/clean.mk: new EXEEXT
51890 * Makefile.common.in: add to CFLAGS (and others), don't replace it
51891 * support/cpp2/Makefile.in: new EXEEXT
51892 * src/pic/glue.c (pic14emitRegularMap): fixed warning
51894 2003-04-24 Bernhard Held <bernhard AT bernhardheld.de>
51896 Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
51897 EXEEXT was introduced to fix all related problems with targets
51898 "clean", "install" and "uninstall"; a couple of further flaws
51899 especially with "clean" have been fixed too
51900 * as/mcs51/Makefile.in
51901 * as/mcs51/clean.mk
51905 * debugger/mcs51/Makefile.in
51906 * debugger/mcs51/clean.mk
51907 * link/z80/Makefile
51908 * link/z80/Makefile.in
51909 * link/z80/clean.mk
51911 * packihx/Makefile.in
51913 * sim/ucsim/Makefile
51914 * sim/ucsim/clean.mk
51915 * sim/ucsim/avr.src/Makefile.in
51916 * sim/ucsim/avr.src/clean.mk
51917 * sim/ucsim/s51.src/Makefile.in
51918 * sim/ucsim/s51.src/clean.mk
51919 * sim/ucsim/xa.src/Makefile.in
51920 * sim/ucsim/xa.src/clean.mk
51921 * sim/ucsim/z80.src/Makefile.in
51922 * sim/ucsim/z80.src/clean.mk
51923 * sim/ucsim/main_in.mk
51924 * sim/ucsim/packages_in.mk
51925 * sim/ucsim/gui.src/Makefile.in
51926 * sim/ucsim/gui.src/serio.src/Makefile.in
51927 * sim/ucsim/gui.src/serio.src/clean.mk
51930 * support/cpp2/Makefile.in
51931 * support/cpp2/clean.mk
51932 * support/makebin/Makefile
51933 * support/makebin/clean.mk
51934 * support/scripts/sdcc_mingw32: --program-suffix no longer needed
51935 * doc/sdccman.lyx: --program-suffix no longer needed
51937 2003-04-23 Karl Bongers(apply patches for Martin Helmling)
51939 * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
51940 Martin Helmling added support for ddd GUI debugger.
51941 Code added to display assembly, set variables, and other commands
51942 to interface to ddd.
51944 2003-04-23 Bernhard Held <bernhard AT bernhardheld.de>
51946 * as/Makefile: fix target clean
51947 * as/clean.mk: fix target clean
51948 * as/z80/clean.mk: fix target clean
51950 2003-04-22 Bernhard Held <bernhard AT bernhardheld.de>
51952 * Makefile.common.in: added AT EXEEXT AT
51953 * configure.in: removed all mingw32 stuff
51954 * configure: rebuilt from configure.in
51955 * doc/sdccman.lyx: updated section "installation"
51956 * support/scripts/sdcc_mingw32: adapted to configure
51957 * support/scripts/sdcc_cygwin_mingw32: added
51959 2003-04-22 Scott Dattalo <scott AT dattalo.com>
51961 * src/pic Added object file support for the PIC port
51962 * src/pic Applied patch from Craig Franklin (this started the object file support)
51963 * src/regression Updated the PIC regression tests for object files
51965 2003-04-20 Borut Razem <borut.razem AT siol.net>
51967 * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
51968 lklex.c: In function `getfid':
51969 lklex.c:203: warning: array subscript has type `char'
51970 * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
51971 with MSVC with global optimization enabled (probably an cl compiler bug ;-)
51972 * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
51973 stack handling macros
51975 2003-04-19 Borut Razem <borut.razem AT siol.net>
51977 * "handling space characters in file path" task:
51978 * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
51979 * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
51980 * support/Util/MySystem.h: make it self-sufficient
51981 * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
51982 src/z80/main.c, sdcc/as/mcs51/lklex.c:
51983 handling space characters in file path
51984 * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
51985 (it will be used by assemblers, which have their own includes, e.g. gpasm)
51986 * support/Util/MySystem.c: handling space characters in executable's path
51988 2003-04-19 Bernhard Held <bernhard AT bernhardheld.de>
51990 * as/z80/Makefile: fix permanent rebuild of z80
51991 * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
51992 * support/regression/tests/bitfields.c: added Johan's bitfields.c
51994 2003-04-18 Kevin Vigor <kevin AT vigor.nu>
51996 * src/SDCCopt.c: add special case optimization to replace modulo by
51997 a power of two with a bitwise AND.
51999 2003-04-18 <johan AT balder>
52001 * src/mcs51/gen.c (getFreePtr): fixed bug #635354
52003 2003-04-17 <johan AT balder>
52005 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
52006 * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
52008 2003-04-13 Borut Razem <borut.razem AT siol.net>
52010 * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
52011 * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
52012 fixed mingw problem in adl_NORMALIZE_PATH
52014 2003-04-12 Borut Razem <borut.razem AT siol.net>
52016 * fixed "#pragma SAVE/RESTORE can not be nested":
52017 * src/SDCC.lex: reworked pragma handling functions
52018 * sdcc/src/SDCCglobl.h: reworked stack handling macros
52019 * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
52021 2003-04-12 Bernhard Held <bernhard AT bernhardheld.de>
52023 * src/SDCCutil.c (pathEquivalent): defined but not used
52024 * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
52025 * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
52026 * configure: rebuilt from configure.in
52027 * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
52028 * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
52029 * device/include/Makefile.in: replace sdcc_datadir
52030 * device/lib/Makefile.in: replace sdcc_datadir
52031 * Makefile.common.in: add LDFLAGS from configure
52032 * packihx/Makefile.in: use LDFLAGS
52033 * src/Makefile.in: use LDFLAGS
52034 * support/cpp2/Makefile.in: add LDFLAGS from configure
52035 * support/makebin/Makefile: use LDFLAGS
52036 * .version: bumped version number to 2.3.5
52038 2003-04-12 Borut Razem <borut.razem AT siol.net>
52040 * completed "different paths" task:
52041 * src/SDCCmacro.c: fixed bug in handling quotes
52042 * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
52043 * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
52045 2003-04-12 Bernhard Held <bernhard AT bernhardheld.de>
52047 * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
52049 2003-04-11 kevin Vigor <kevin AT vigor.nu>
52051 * ds390/gen.c ds390/peeph.def: fix bug 706781
52053 2003-04-11 Borut Razem <borut.razem AT siol.net>
52055 * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
52057 2003-04-10 Scott Dattalo <scott AT dattalo.com>
52059 * src/pic/* Applied the pointer-to-function patch from Steve Tell.
52060 * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
52061 set - this bit used to not be set...).
52062 * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated
52063 bad code in PIC Port
52064 * src/regression/and2.c added to test bug 609268
52065 * src/regression/Makefile added and2.c to regression test
52068 2003-04-08 <johan AT CP255758-A>
52070 * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
52071 * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
52072 * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
52074 2003-04-07 Bernhard Held <bernhard AT bernhardheld.de>
52076 * configure.in: fully support prefix, exec_prefix, datadir, docdir;
52078 * support/cpp2/Makefile.in: fix bug #487815
52079 * configure: rebuilt from configure.in
52080 * Makefile.common.in: docdir changed, new path suffixes
52081 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
52082 * sdcc_vc_in.h: reflect changes from sdccconf.h
52083 * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
52084 * src/SDCCutil.h: remove BINDIR hack
52085 * doc/sdccman.lyx: update new path hierarchy
52087 2003-04-06 Paul Stoffregen <paul AT pjrc.com>
52089 * src/SDCCpeeph.c: added okToRemoveSLOC test
52091 2003-04-06 Paul Stoffregen <paul AT pjrc.com>
52093 * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
52095 2003-04-06 Paul Stoffregen <paul AT pjrc.com>
52097 * src/SDCCpeeph.c: added labelIsReturnOnly test
52098 * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
52100 2003-04-05 <johan AT balder>
52102 * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
52103 * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
52104 * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
52105 * src/SDCCast.c: fixed a warning
52106 * src/SDCCast.h: fixed a warning
52107 * src/SDCCicode.c (operandFromAst): fixed a warning
52109 2003-04-04 <johan AT balder>
52111 * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
52112 * src/SDCCast.c (decorateType): fixed bug #715076
52113 * src/SDCC.y: fixed bug #702907
52115 2003-04-03 <johan AT balder>
52117 * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
52118 * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
52119 * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
52120 * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
52121 * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
52123 2003-04-03 Bernhard Held <bernhard AT bernhardheld.de>
52125 * _decdptr.c: fix return values
52126 * _gptrget.c: fix return values
52127 * _gptrgetc.c: fix return values
52128 * _gptrput.c: fix return values
52129 * _mulint.c: fix return values
52130 * as/z80/Makefile: fix 'make -j' problem
52132 2003-04-02 Bernhard Held <bernhard AT bernhardheld.de>
52134 * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
52135 * configure.in: big cleanup, updated to autoconf 2.5x
52136 * configure: rebuilt from configure.in
52137 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
52138 * sdcc_vc_in.h: reflect changes from sdccconf.h
52139 * doc/Makefile: fixed a flaw in "make install"
52141 2003-04-02 <johan AT balder>
52143 * src/ds390/gen.c (genCmp): no comments
52144 * src/mcs51/gen.c (genCmp): no comments
52145 * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
52146 * src/SDCCast.c (ast_print): fixed the function type in --dumptree
52148 2003-04-01 Bernhard Held <bernhard AT bernhardheld.de>
52150 * support/regression/generate-cases.py: place generated file in given sub directory
52151 * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
52152 * support/regression/Makefile: improvements for 'make -j';
52153 side effect: it's simpler and faster now
52155 2003-03-31 Borut Razem <borut.razem AT siol.net>
52157 * src/z80/main.c: link-{port} and as-{port} defined without path
52158 * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
52160 2003-03-31 Bernhard Held <bernhard AT bernhardheld.de>
52162 * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
52164 2003-03-30 Borut Razem <borut.razem AT siol.net>
52166 * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
52167 changed type of list parameter to set
52168 * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
52169 * src/port.h: changed type of do_assemble() parameter to set
52170 * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
52171 sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
52172 definition of "cppoutfilename" macro with NULL value in preProcess()
52173 * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
52174 * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
52175 * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
52176 replaced with set *binPathSet
52177 * shash_add() deallocates the item, if allready exsists, before adding the new one
52178 * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
52180 2003-03-30 Scott Dattalo <scott AT dattalo.com>
52182 * src/pic/gen.c: Commit patch from Steve Tell <tell AT telltronics.org> that fixes
52183 a nested for loop bug in the PIC port
52184 * src/regression/nestfor.c: new regression test file Steve wrote to test nested
52187 2003-03-29 Bernhard Held <bernhard AT bernhardheld.de>
52189 * support/Util/dbuf.h: remove C++ stuff to make it portable
52191 2003-03-28 Borut Razem <borut.razem AT siol.net>
52193 * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
52194 literal strings in stringLiteral()
52195 * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
52196 * src/Makefile.bcc, src/Makefile.in, src/src.dsp: added support/Util/dbuf.c
52199 2003-03-27 Paul Stoffregen <paul AT pjrc.com>
52201 * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
52203 2003-03-26 <johan AT balder>
52205 * src/mcs51/gen.c (saveRegisters): catched symbol abuse
52206 * src/ds390/gen.c (saveRegisters): catched symbol abuse
52207 * src/SDCCast.c (decorateType): fixed " -v < 3"
52209 2003-03-23 Bernhard Held <bernhard AT bernhardheld.de>
52211 * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
52212 Added Lenny Story's debug infrastructure changes:
52213 * src/Makefile.in: added new files cdbFile.c and SDCCdebug.c
52214 * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
52215 * src/cdbFile.c: added
52216 * src/SDCCdebug.c: added
52217 * src/SDCCdebug.h: added
52218 * src/SDCCast.c (createFunction)
52219 * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
52220 * src/SDCCmain.c (parseCmdLine, main)
52221 * src/SDCCmem.c (redoStackOffsets)
52222 * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
52225 * src/avr/gen.c (genAVRCode)
52226 * src/ds390/gen.c (gen390Code)
52227 * src/mcs51/gen.c (gen51Code)
52228 * src/pic/gen.c (genpic14Code)
52229 * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
52230 * src/xa51/gen.c (genXA51Code)
52231 * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
52233 2003-03-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52235 * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
52236 * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
52238 2003-03-22 <johan AT balder>
52240 * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
52242 2003-03-21 Bernhard Held <bernhard AT bernhardheld.de>
52244 * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
52245 * doc/cdbfileformat.lyx: added, written by Lenny Story
52246 * doc/Makefile: added cdbfileformat.lyx
52247 * doc/clean.mk: added cdbfileformat.lyx
52249 2003-03-20 Bernhard Held <bernhard AT bernhardheld.de>
52251 * src/mcs51/peeph.def: fix bug #705773
52253 2003-03-20 <johan AT balder>
52255 An sfr/sbit can have an "at #" AND an initializer
52256 * src/SDCCsymt.c (checkSClass):
52257 * src/SDCCmem.c (allocGlobal):
52258 * src/SDCCmem.c (allocLocal):
52259 * src/SDCCast.c (createBlock):
52261 2003-03-17 Bernhard Held <bernhard AT bernhardheld.de>
52263 * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
52265 2003-03-16 <johan AT balder>
52267 Undid the hackup of const and volatile, the problem is much bigger
52269 * src/SDCCast.c:1.171
52270 * src/SDCCglue.c:1.138
52271 * src/SDCCicode.c:1.146
52272 * src/SDCCsymt.c:1.150
52273 * src/SDCCval.c:1.65
52275 2003-03-15 Bernhard Held <bernhard AT bernhardheld.de>
52277 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
52278 * src/ds390/gen.c (genAddrOf): fixed bug #704087
52280 2003-03-13 <johan AT balder>
52282 Hackup const and volatile modifiers in type chains a bit:
52284 * src/SDCCast.c:1.169
52285 * src/SDCCglue.c:1.136
52286 * src/SDCCicode.c:1.143
52287 * src/SDCCsymt.c1.146
52288 * src/SDCCsymt.h1.59
52289 * src/SDCCval.c:1.63
52291 2003-03-12 <johan AT balder>
52293 * src/SDCCBBlock.h: more LRH debugging junk
52294 * src/SDCCcflow.h: more LRH debugging junk
52295 * src/SDCCloop.c: more LRH debugging junk
52296 * src/SDCC.y (struct_declaration): fixed bug #697590
52297 * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
52298 * src/ds390/gen.c (aopForRemat): fixed bug #700031
52299 * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
52301 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
52302 * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
52303 test function names must now match exactly).
52304 * src/SDCCcse.c: added special case in findCheaperOp to allow
52305 extending a short integer. Makes less awful code for bug 700121 test case.
52307 2003-03-11 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52309 * as/mcs51/lkmain.c: Added ASlink-Warning to messages
52310 * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
52312 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
52314 * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
52315 actually called (operandsNotEqual() was called for all
52316 operandsNotEqualX tests).
52318 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
52320 * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
52321 with shorter literals. Fixes bug 700121.
52323 2003-03-11 <johan AT balder>
52325 * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
52327 2003-03-11 Bernhard Held <bernhard AT bernhardheld.de>
52329 * src/SDCCloop.c (mergeRegions): an evil beast is dead
52330 * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
52332 2003-03-10 Borut Razem <borut.razem AT siol.net>
52334 * src/SDCCmain.c: pipe preprocessor's output
52335 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
52336 * sdcc_vc_in.h: define pclose as _pclose for WIN32
52337 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
52338 which closes all pipes in pipeSet set
52339 * src/SDCCset.c: free deleted item in function deleteSetItem()
52340 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
52341 moved from z80 to src subproject
52342 * .version: increased version number to 2.3.4
52344 2003-03-10 Bernhard Held <bernhard AT bernhardheld.de>
52346 * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
52347 * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
52348 * support/regression/ports/xa51/spec.mk: fix typo
52350 2003-03-09 Bernhard Held <bernhard AT bernhardheld.de>
52352 * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
52354 2003-03-09 Borut Razem <borut.razem AT siol.net>
52356 * src/SDCCmain.c: pipe preprocessor's output
52357 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
52358 * sdcc_vc_in.h: define pclose as _pclose for WIN32
52359 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
52360 which closes all pipes in pipeSet set
52361 * src/SDCCset.c: free deleted item in function deleteSetItem()
52362 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
52363 moved from z80 to src subproject
52365 2003-03-09 Borut Razem <borut.razem AT siol.net>
52367 * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
52368 * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
52369 * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
52370 * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
52371 * src/SDCCglobl.h: unification of WIN32 native definitions
52373 2003-03-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52375 * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
52377 2003-03-08 Bernhard Held <bernhard AT bernhardheld.de>
52379 * src/configure.in: check for endianess (even while cross-compiling)
52380 * src/configure: check for endianess (even while cross-compiling)
52381 * src/configure_in.h: check for endianess (even while cross-compiling)
52382 * src/avr/gen.c: remove old endianess stuff
52383 * src/mcs51/gen.c: remove old endianess stuff
52384 * src/ds390/gen.c: remove old endianess stuff
52385 * src/pic/gen.c: remove old endianess stuff
52386 * src/pic/genarith.c: remove old endianess stuff
52387 * src/pic/glue.c: fix endianess check
52388 * src/pic16/gen.c: remove old endianess stuff
52389 * src/pic16/genarith.c: remove old endianess stuff
52390 * src/pic16/glue.c: fix endianess check
52391 * src/xa51/gen.c: remove old endianess stuff
52392 * src/z80/gen.c: fix endianess check
52393 * src/SDCCglue.c: fix endianess check
52394 * src/ds390/peeph.def: fix bug 700036
52396 2003-03-08 Bernhard Held <bernhard AT bernhardheld.de>
52398 * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
52399 * src/configure: find appropriate data-types on host for SDCC's int and long
52400 * src/configure.in: find appropriate data-types on host for SDCC's int and long
52401 * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
52402 * src/xa51/gen.c: use %d, not %ld for 4 byte variables
52404 2003-03-07 <johan AT balder>
52407 some minor cleanups before the big shot
52408 OP_DEFS and OP_USES now use Kevin's protection
52409 new option --nolabelopt
52411 * src/SDCCBBlock.c:
52420 * src/ds390/ralloc.c:
52421 * src/mcs51/ralloc.c:
52422 * src/pic/ralloc.c:
52423 * src/xa51/ralloc.c:
52424 * src/z80/ralloc.c:
52426 2003-03-06 Bernhard Held <bernhard AT bernhardheld.de>
52428 * src/pic/pcode.c (get_op): fix 64 bit warnings
52429 * src/pic/pcode.c (pCode2str): fix 64 bit warnings
52430 * src/SDCChasht.c (newHashTable): fix 64 bit warnings
52431 * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
52432 * support/regression/tests/malloc.c: fix 64 bit warnings
52434 2003-03-04 Bernhard Held <bernhard AT bernhardheld.de>
52436 * src/mcs51/gen.c (genMinus): fixed bug 696436
52438 2003-03-02 Borut Razem <borut.razem AT siol.net>
52440 * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
52442 2003-02-26 Bernhard Held <bernhard AT bernhardheld.de>
52444 * configure.in: test for mkstemp
52445 * sdccconf_in.h: add HAVE_MKSTEMP
52447 2003-02-24 Bernhard Held <bernhard AT bernhardheld.de>
52449 * device/include/ctype.h: removed warning while using --stack-auto
52450 * device/include/malloc.h: removed warning while using --stack-auto
52451 * device/include/string.h: removed warning while using --stack-auto
52453 2003-02-23 Borut Razem <borut.razem AT siol.net>
52455 * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
52456 because NDEBUG is defined (see man assert)
52457 * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
52459 2003-02-23 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52461 * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
52462 * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
52464 2003-02-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
52466 * src/SDCCpeeph.c: added peephole conditions testing for same arguments
52467 * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
52469 2003-02-18 <johan AT balder>
52471 * as/mcs51/asmain.c (asmbl): module can start with a digit
52472 * as/z80/asmain.c (asmbl): module can start with a digit
52474 2003-02-16 Bernhard Held <bernhard AT bernhardheld.de>
52476 * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
52477 * src/asm.c: fix pipe() for Mingw32
52479 2003-02-15 Bernhard Held <bernhard AT bernhardheld.de>
52481 * src/SDCCglue.h: make tmpfileNameSet available for preOutName
52482 * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
52483 make -V work again; --c1mode reads now from stdin
52484 * doc/sdccman.lyx: added --c1mode
52485 * support/Util/SDCCerr.c: new messages for c1 mode
52486 * support/Util/SDCCerr.h: new messages for c1 mode
52487 * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
52489 2003-02-15 <johan AT balder>
52491 * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
52493 2003-02-14 Bernhard Held <bernhard AT bernhardheld.de>
52495 * doc/sdccman.lyx: Environment variables, -o and other minor things
52497 2003-02-14 <johan AT balder>
52499 * src/xa51/main.c: before anyone really tries to use it :)
52501 * Install doc's in share/sdcc/doc
52502 * removed some obsolete files
52503 * Do a proper make distclean and uninstall
52504 M Makefile.common.in
52507 M device/include/Makefile.in
52508 M device/lib/Makefile.in
52511 M sim/ucsim/doc/Makefile.in
52513 R src/avr/peeph.rul
52514 R src/xa51/peeph.rul
52515 M support/cpp2/Makefile.in
52516 M support/makebin/Makefile
52519 2003-02-13 Bernhard Held <bernhard AT bernhardheld.de>
52521 * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
52523 2003-02-10 Borut Razem <borut.razem AT siol.net>
52525 * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
52526 support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
52527 * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
52528 device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
52529 support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
52530 src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
52531 src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
52532 src/z80/Makefile.bcc: Borland Makefile cleanup
52533 * as/z80/Makefile.bcc: Added Borland Makefile
52534 * support/cpp2/borland.h: Removed
52536 2003-02-10 Bernhard Held <bernhard AT bernhardheld.de>
52538 * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js AT convergence.de>
52539 * src/SDCC.lex: new pragma NOIV
52540 * src/SDCCglobl.h: new pragma NOIV
52541 * src/SDCCmem.c: new pragma NOIV
52543 2003-02-09 Bernhard Held <bernhard AT bernhardheld.de>
52545 * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
52547 2003-02-09 Bernhard Held <bernhard AT bernhardheld.de>
52549 * src/SDCCmain.c: signal handling is switched off by --debug
52550 * doc/Makefile: small fix for install; use clean.mk again
52551 * doc/clean.mk: clean *.pdf and *.html too
52553 2003-02-08 Bernhard Held <bernhard AT bernhardheld.de>
52555 * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
52556 * device/lib/printfl.c: fix a ds390 bug by making it portable
52557 * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
52558 * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
52559 * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
52560 * debugger/mcs51/cmd.c: converted multi-line string literals
52561 * sim/ucsim/globals.cc: converted multi-line string literals
52562 * src/SDCCmain.c: introduced signal handler to remove temp files
52563 * doc/Makefile: small tweaks, implement clean
52564 * doc: removed generated files
52566 2003-02-05 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52568 * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied
52569 patch from Jan Rejlek <jr AT apex-lib.cz> to fix Bug 677692: "Extended
52570 Address Record is not correctly generated for DS390."
52572 2003-02-02 Borut Razem <borut.razem AT siol.net>
52574 * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
52575 * as/mcs51/asm.h: fixed compilation with Borland C
52576 * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
52577 * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
52578 * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
52579 * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
52580 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
52581 src/z80/Makefile.bcc: delete $(LIB) only if exist
52582 * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C
52584 2003-02-02 Bernhard Held <bernhard AT bernhardheld.de>
52586 * device/include/malloc.h: introduced NULL
52587 * device/include/string.h: introduced NULL
52588 * device/include/stdlib.h: introduced NULL
52589 * device/lib/_memcpy.c: removed NULL
52590 * device/lib/_strcat.c: removed NULL
52591 * device/lib/_strchr.c: removed NULL
52592 * device/lib/_strcmp.c: removed NULL
52593 * device/lib/_strcpy.c: removed NULL
52594 * device/lib/_strcspn.c: removed NULL
52595 * device/lib/_strlen.c: removed NULL
52596 * device/lib/_strncat.c: removed NULL
52597 * device/lib/_strncmp.c: removed NULL
52598 * device/lib/_strncpy.c: removed NULL
52599 * device/lib/_strpbrk.c: removed NULL
52600 * device/lib/_strrchr.c: removed NULL
52601 * device/lib/_strspn.c: removed NULL
52602 * device/lib/_strstr.c: removed NULL
52603 * device/lib/_strtok.c: removed NULL
52604 * device/lib/malloc.c: removed NULL, include own header
52606 2003-02-02 <johan AT balder>
52608 * src/mcs51/ralloc.c (packForPush): fixed bug #631653, maybe other ports need this too? At least now some new alerts in SDCCBBlock.c and SDCCicode.c gives an early warning
52609 * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
52610 * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
52611 * src/z80/gen.c (genZ80Code): added c-lines in asm comments
52612 * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
52613 * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
52615 2003-02-01 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52617 * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
52620 2003-02-01 <johan AT balder>
52622 * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
52624 2003-01-31 <johan AT CP255758-A>
52626 * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
52628 2003-01-30 <johan AT balder>
52630 * src/SDCCBBlock.c: automatic bug detection
52631 * src/SDCCicode.c: automatic bug detection
52633 2003-01-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52635 * src/SDCCglobl.h: now --xram-size 0 works
52636 * src/SDCCmain.c: now --xram-size 0 works
52638 2003-01-29 <johan AT balder>
52640 * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
52642 2003-01-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52644 * as/mcs51/aslink.h: Added options --xram-size and --code-size
52645 * as/mcs51/lkdata.c: Added options --xram-size and --code-size
52646 * as/mcs51/lkmain.c: Added options --xram-size and --code-size
52647 * as/mcs51/lkmem.c: Added options --xram-size and --code-size
52648 * src/SDCCglobl.h: Added options --xram-size and --code-size
52649 * src/SDCCmain.c: Added options --xram-size and --code-size
52651 2003-01-28 Bernhard Held <bernhard AT bernhardheld.de>
52653 * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
52654 * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
52656 2003-01-27 <johan AT balder>
52658 * src/SDCC.y: fixed bug #613764
52660 2003-01-26 <johan AT balder>
52662 * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c"
52663 * src/SDCCsymt.h: fixed bug #673374
52664 * src/SDCCglue.c: fixed bug #661910
52665 * src/SDCCast.c: fixed bug #458099 and 673374
52667 2003-01-26 Bernhard Held <bernhard AT bernhardheld.de>
52669 * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
52670 * as/mcs51/strcmpi.h: added
52671 * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
52672 * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
52673 * as/mcs51/asmain.c: strcmpi -> as_strcmpi
52674 * as/mcs51/assym.c: strcmpi -> as_strcmpi
52675 * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
52676 * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
52677 * as/mcs51/lksym.c: strcmpi -> as_strcmpi
52678 * as/mcs51/Makefile.aslink: new module strcmpi
52679 * as/mcs51/Makefile.asx8051: new module strcmpi
52680 * as/mcs51/Makefil.bcc: new module strcmpi
52681 * as/mcs51/Makefile.in: new module strcmpi
52682 * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
52684 2003-01-26 <johan AT balder>
52686 * src/SDCCglue.c: reverted back to 1.124
52687 * src/SDCCast.c: reverted back to 1.156
52688 * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
52690 2003-01-25 <johan AT balder>
52692 * src/SDCCglue.c: A better fix for bug #661910
52693 * src/SDCCast.c: A better fix for bug #661910
52694 * src/SDCCglue.c (emitRegularMap): That was a little too efficient
52696 2003-01-24 Bernhard Held <bernhard AT bernhardheld.de>
52698 * src/Makefile.in: remove spawn.o
52699 * src/SDCCmain.c: remove spawn.h
52700 * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
52701 * src/spawn.c: removed
52702 * src/spawn.h: removed
52703 * support/regression/ports/ds390/spec.mk: link with -r
52705 2003-01-24 <johan AT CP255758-A>
52707 * src/ds390/gen.c (aopOp): fixed bug #667458
52708 * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
52709 * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
52710 (createIvalCharPtr): an ival doesn't always have a storage class anymore
52712 2003-01-24 Bernhard Held <bernhard AT bernhardheld.de>
52714 * src/mcs51/peeph.def: better assembler identation by Frieder
52715 * src/mcs51/gen.c: better assembler identation by Frieder
52717 2003-01-22 Bernhard Held <bernhard AT bernhardheld.de>
52719 * as/z80/string.h: removed for gcc 3.2
52720 * support/makebin/makebin.c: #include <string.h> for gcc 3.2
52721 * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
52723 2003-01-19 Bernhard Held <bernhard AT bernhardheld.de>
52725 * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
52726 * src/SDCCpeeph.c (replaceRule): fix bug #663503
52727 * support/regression/Makefile: separate temp files for ports
52728 * support/regression/generate-cases.py: separate temp files for ports
52729 * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
52730 * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
52732 2003-01-19 Bernhard Held <bernhard AT bernhardheld.de>
52734 * moved tinitalk to device/examples/ds390
52736 2003-01-14 Bernhard Held <bernhard AT bernhardheld.de>
52738 * as/mcs51/lkmem.c: rflag is for DS390
52739 * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
52740 * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
52741 (linkEdit): move mem- and map-files the same way as ihx-files
52742 * src/z80/main.c (_setDefaultOptions): removed --generic
52743 * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
52744 * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
52745 * src/pic/glue.c (picglue): --c1mode works again
52746 * src/pic16/glue.c (pic16glue): --c1mode works again
52747 * src/asm.c (printCLine): fix #660034
52749 2003-01-13 Bernhard Held <bernhard AT bernhardheld.de>
52751 * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>, 1 by Frieder
52752 * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
52753 * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
52754 * as/mcs51/lkmem (summary): better fix for sp problem
52755 * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
52756 * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
52757 * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
52758 remove --stack-after-data
52760 2003-01-12 Bernhard Held <bernhard AT bernhardheld.de>
52762 * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
52763 * src/SDCCutil.c (join): ugly bug: missing '\0'
52764 * as/mcs51/lkmem.c (summary): sp on address 7 is safe
52766 2003-01-11 Bernhard Held <bernhard AT bernhardheld.de>
52768 * src/SDCCmain.c (assemble, linkEdit): preparations for -o
52770 * src/pic/main.c (_asmCmd): gpasm supports -o
52771 * src/z80/main.c: more general macros
52772 * device/lib/Makefile.in: remove intermediate files
52774 2003-01-11 Bernhard Held <bernhard AT bernhardheld.de>
52776 * .version: Bumped version number to 2.3.3
52777 * src/SDCCBBlock.c: new option -o
52778 * src/SDCCglobl.h: new option -o
52779 * src/SDCCglue.c: new option -o
52780 * src/SDCCmain.c: new option -o
52781 * src/asm.c: new option -o
52782 * src/ds390/main.c: new option -o
52783 * src/pic/glue.c: new option -o
52784 * src/pic/pcode.c: new option -o
52785 * src/pic/ralloc.c: new option -o
52786 * src/pic16/glue.c: new option -o
52787 * src/pic16/pcode.c: new option -o
52788 * src/pic16/ralloc.c: new option -o
52789 * src/z80/main.c: new option -o
52790 * device/lib/Makefile.in: use -o
52791 * support/regression/ports/ds390/spec.mk: use -o
52792 * support/regression/ports/gbz80/spec.mk: use -o
52793 * support/regression/ports/mcs51/spec.mk: use -o
52794 * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
52795 * support/regression/ports/z80/spec.mk: use -o
52796 * support/regression/ports/ucz80/spec.mk: use -o
52797 * support/regression/ports/xa51/spec.mk: use -o
52798 * support/regression/fwk/lib/timeout.c: fix usage string
52800 2003-01-09 Bernhard Held <bernhard AT bernhardheld.de>
52801 * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>
52803 2003-01-07 <johan AT balder>
52805 * src/SDCCast.c (decorateType): fixed bug #600035
52807 2003-01-07 Bernhard Held <bernhard AT bernhardheld.de>
52808 * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
52809 * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
52810 * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
52811 * src/pic/pcode.c: outcommented unused variable to remove warnings
52812 * src/pic/ralloc.c: outcommented unused variable to remove warnings
52814 2003-01-06 <karl AT turbobit.com>
52815 * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
52818 2003-01-06 <johan AT balder>
52820 * src/SDCCicode.c: fixed array add
52822 2002-01-05 Bernhard Held <bernhard AT bernhardheld.de>
52823 * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
52824 * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
52826 2003-01-04 <johan AT balder>
52828 * src/SDCCval.c (getNelements): fixed the initialized array of structures
52830 2002-12-29 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52831 * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
52833 2002-12-28 Bernhard Held <bernhard AT bernhardheld.de>
52834 * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann AT web.de>
52835 * support/regression/tests/bug-524697.c: fit mem usage into 8032
52837 2002-12-28 Bernhard Held <bernhard AT bernhardheld.de>
52838 * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
52840 2002-12-27 Bernhard Held <bernhard AT bernhardheld.de>
52841 * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
52843 2002-12-26 Bernhard Held <bernhard AT bernhardheld.de>
52844 * src/mcs51/main.c: removed {bindir}{sep} from aslink
52846 2002-12-10 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52848 * in /sdcc/as/mcs51/ changed these files in order to create an
52849 aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
52850 lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the
52851 following files to include the previous two files: aslink.dsp,
52852 Makefile.aslink, Makefile.bcc, and Makefile.in.
52854 * Changed /sdcc/src/SDCCmain.c so it creates files with extension
52855 .adb instead of .cdb
52857 2002-11-09 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52859 * /sdcc/as/mcs51/lklist.c: Now reports memory usage using the
52860 value from option --iram-size.
52862 2002-09-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52864 * /sdcc/as/mcs51/lklist.c: added boundary check before using
52867 2002-09-18 <wiml AT hhhh.org>
52869 * SDCClrange.h: exposed setFromRange() and setToRange()
52870 * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
52871 packRegsForAccUse() (bug 542397)
52872 * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
52873 multiple times and emitting the fetch operations more than once
52874 added aopGetUsesAcc() function to allow binary operators to
52875 fetch their operands in the correct order; made genMinus() emit
52876 compact code for X = LITERAL - Y
52878 2002-09-00 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52879 * /sdcc/as/mcs51/lklist.c: Fixed incorrect number of parameters to
52880 sprintf() in line 1267.
52882 2002-09-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52883 * /sdcc/src/SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
52886 2002-09-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
52887 Changes to aslink (All the changes are marked with 'JCF'):
52889 * /sdcc/as/mcs51/aslink.h: External definition of sflag and
52892 * /sdcc/as/mcs51/lkarea.c: Computes the size of area BSEG_BYTES from
52893 area BSEG. Also moves, if possible, the DATA area down into the internal
52894 ram so more space is available.
52896 * /sdcc/as/mcs51/lkdata.c: Definition of memory summary output flag
52899 * /sdcc/as/mcs51/lklist.c: For the BSEG area report the size in bits,
52900 not bytes. Function summary() which creates a memory usage summary
52901 file with extension .mem. Reports of overlaping stack and small stack
52902 size. If the space for the stack is less than 16 bytes aslink trows a
52905 * /sdcc/as/mcs51/lkmain.c: Creation of some of the default areas for
52906 the 8051. Option 'y' for memory summary output file.
52908 Changes to sdcc (All the changes are marked with 'JCF'):
52910 * /sdcc/src/SDCCglobl.h: External definition of RegBankUsed[4].
52912 * /sdcc/src/SDCCglue.c: If a register bank is used, creates an
52913 overlaying area for it (uses RegBankUsed[4]).
52915 * /sdcc/src/SDCCmain.c: Definition RegBankUsed[4]; marks register
52916 bank zero as used by default. By default aslink locates the stack
52917 (equivalent to --stack-after-data). Pass option 'y' to aslink for
52918 the creation of the .mem file. Delegates the allocation of data area
52919 to aslink (it is not longer 0x30 by default). If --stack-loc passes
52920 the begining of the stack area to aslink.
52922 * /sdcc/src/SDCCmem.c: If a register bank is used, marks it so
52923 glue() in SDCCglue.c creates an area for it.
52925 2002-09-03 Borut Razem <borut.razem AT siol.net>
52926 * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
52927 sdcc/src/pic/glue.c:
52928 introduced atexit() handler for teporay files removal in case of
52929 errors, assertions, ...
52931 2002-08-29 Borut Razem <borut.razem AT siol.net>
52932 * sdcc/support/cpp2/auto-host_vc_in.h:
52933 re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
52934 with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
52935 Maybe there is a similar problem with BORLANDC? It should be checked!
52937 * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
52938 corrected improper use of assert: the assignment to clr variable was done inside the assert.
52939 In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
52940 was not executed, and the compiler (cl) launched a warning:
52941 ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
52943 2002-08-28 Bernhard Held <bernhard AT bernhardheld.de>
52944 * src/SDCCglue.c (printIvalArray): iterative calculation of array length
52946 2002-08-28 Jesus Calvino-Fraga and Borut Razem <borut.razem AT siol.net>
52947 * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
52949 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
52950 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
52951 sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
52952 sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
52953 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
52954 sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
52955 sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
52956 - added Release configuration in VS projects
52957 - review of compiler an linker options
52958 - VC .exe files are generated in bin_vc directory, not to interfere
52959 with binaries generated from other projects (cygwin, mingw, bcc ...)
52961 * sdcc/src/yacc.dsp: added
52963 * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
52964 added - genarate sdcc_vc.h using sdcc_vc_in.h as template
52965 and insert the version number definitions from .version
52967 * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
52969 * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
52970 added - genarate auto-host.h using auto-host_vc_in.h as template
52973 removed from CVS, generated automatically
52975 2002-08-25 Bernhard Held <bernhard AT bernhardheld.de>
52976 * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
52978 2002-08-11 Borut Razem <borut.razem AT siol.net>
52979 * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
52981 2002-08-10 Borut Razem <borut.razem AT siol.net>
52982 * src/SDCCmain.c (main):
52983 file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
52984 platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
52985 The consequence was that some temporary files were not removed.
52988 unification of code in functions tempfilename() and tempfile():
52989 function tempnam() is defined in Visual Studio 6.0 and .NET
52991 * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
52993 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
52994 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
52995 - removed compiler command line option /WX: Treats all warnings as errors
52996 - update a list of source files, included into the project
52998 * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
52999 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
53000 changed project type to Generic Project so that can be correcly converted to VS.NET project
53002 * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
53004 * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
53006 * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
53008 * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
53009 added return 0 statements after assert() to make compiler happy
53011 * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
53012 added newline in the def file to keep MSC compiler satisfied
53014 * sdcc/src/z80/gen.c:
53015 - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
53016 so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
53017 - solved MSC error in function aopDump()
53019 * sdcc_vc.h: define PREFIX as "\\sdcc"
53021 2002-07-18 Bernhard Held <bernhard AT bernhardheld.de>
53022 * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
53024 2002-06-22 Scott Dattalo <scott AT dattalo.com>
53025 * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
53026 - Rewrote the register banking algorithm.
53027 - Added pCode live-range analysis to registers (for now, only non-used and
53028 singly-used registers optimized away)
53030 * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
53032 * support/scripts/inc2h.pl Kevin L. Pauba <klpauba AT cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
53034 2002-05-10 Scott Dattalo <scott AT dattalo.com>
53035 * src/pic/*: Added support for multiplication. Fixed many,many bugs.
53037 2002-04-22 Michael Hope <michaelh AT vroom>
53039 * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
53041 * configure.in (DD_COPT): Added include support required for gbdk.
53043 * .version: Bumped version number just to increase it.
53045 * src/SDCCmain.c: Added -nostdinc to the default options.
53047 2002-04-15 Michael Hope <michaelh AT vroom>
53049 * device/lib/z80/printf.c (sprintf): Added.
53051 * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
53053 * src/z80/peeph.def: Added transpose redundent load rule.
53055 * src/z80/main.c: Added force callee saves for jaune.
53057 * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
53059 * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
53061 2002-03-28 Johan Knol <johan AT balder>
53063 * src/SDCCval.c: fixed bug #532436
53065 2002-03-14 Scott Dattalo <scott AT dattalo.com>
53067 Added "char *Processor" field to the port structure.
53070 Added -p option. Allows port dependent processor to be specified.
53073 Initialized the new field char *Processor field to NULL in all ports
53076 Compiler generated registers for interrupt context saving
53077 were not getting allocated.
53079 2002-03-16 Sandeep Dutta <sandeep AT ddi.com>
53082 Fixed left shift. Will promote the left side of a left shift
53083 if a) left shifting more than size of operand or b) when assigned
53084 to something size > size of left side
53086 2002-03-14 Scott Dattalo <scott AT dattalo.com>
53088 tons of changes. Register allocation has been
53089 rewritten. Added customization for the various PICs. Flow
53090 analysis is restructured. ...
53092 * src/pic/device.h:
53095 * src/pic/device.c:
53096 Added. device.c is a PIC port hack to accomodate variations
53099 2002-03-13 Michael Hope <michaelh AT vroom>
53101 * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah.
53103 2002-03-04 johanknol <johanknol AT manik>
53105 * /src/SDCCval.c: fixed
53107 const unsigned char arr[][2] = { { 0, 1 } };
53108 t18.c:1: error: Initializer element is not constant
53110 2002-03-04 bela <bela AT manik>
53112 * /device/include/mcs51reg.h:
53113 ds89c420 register definition update
53115 2002-03-03 <johan AT FRIJA>
53117 * support/Util/SDCCerr.c: did something, but don't no why anymore
53119 * support/regression/tests/bug-524691.c: made it a little less shy
53121 * src/SDCCast.c (decorateType): fixed bug #524697
53123 * src/SDCCast.c: made some lineno improvements
53125 * src/SDCCval.c (getNelements): changed warning to error
53127 * src/SDCCglue.c (printIvalArray): changed warning to error
53129 * src/SDCCicode.c: fixed a warning for mingw
53131 * src/SDCCast.c (decorateType): fixed the << promotion for ops
53133 * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
53135 2002-03-02 Sandeep Dutta <sandeep AT ddi.com>
53137 * src/ds390/peeph.def:
53138 Added some more peephole rules
53140 * src/ds390/gen.c: Various fixes & enhancements
53142 * src/SDCClrange.c, src/SDCClrange.h:
53143 functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
53145 * src/ds390/ralloc.c:
53146 various fixes & enhancements (ds390) specific
53148 * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
53149 Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
53152 * sdcc/src/SDCCcse.c: Better fix for bug # 514308
53154 2002-03-02 <johan AT FRIJA>
53156 * src/SDCCast.c (decorateType): fixed bug #524708
53158 * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
53160 * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
53162 2002-03-01 Michael Hope <michaelh AT vroom>
53164 * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
53166 * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
53168 2002-03-01 <johan AT FRIJA>
53170 * src/SDCCglue.c (printIvalPtr): fixed bug #524211
53172 * src/SDCCast.c (decorateType): fixed bug #524209
53174 * src/SDCCval.c (valNot): fixed bug #524195
53176 2002-02-26 <johan AT balder>
53178 * src/xa51/gen.c: fixed a warning
53180 * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
53182 * src/SDCCast.c (decorateType): fixed bug #522534
53184 2002-02-23 <johan AT balder>
53186 * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
53188 2002-02-22 <johan AT balder>
53190 * src/SDCCast.c: fixed bug #514865
53192 * src/SDCCy.c ("SDCC.y"): fixed bug #516625
53194 2002-02-21 Sandeep Dutta <sandeep AT ddi.com>
53196 * sdcc/src/SDCCloop.c:
53197 Previous fix was not good. basic blocks that have "break" or "return" are
53198 not really partof a loop , but live ranges used in these blocks should
53199 be live thru the entire loop, so set partOfLoop but don't add them to
53202 2002-02-21 <johan AT FRIJA>
53204 * src/SDCCcse.c: fixed bug #514308
53206 2002-02-20 Sandeep Dutta <sandeep AT ddi.com>
53209 Fixed BUG #519583. If a conditional block ended in a return/break
53210 statement inside a loop, it was not being considered part of the loop.
53212 * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
53214 2002-02-10 Karl Bongers <karl AT turbobit.com>
53217 Fixed up SDCDB debugger somewhat. Updated debugger/README
53218 with lots of comments and notes.
53220 * device/examples/test2.c:
53221 Fix bug, "red" variable not being initialized(compiler complained).
53223 * device/examples/Makefile, examples/test3.c:
53224 Add Makefile in device/examples folder, compiles test3.c
53225 for use as a multiple module SDCDB test case.
53227 * sim/ucsim/cmd.src/cmdset.cc:
53228 Took out debug printfs in ucsim "next" command.
53230 * sim/ucsim/xa.src:
53231 Karl and Johan start ucsim XA support. Most dissassembly working,
53232 about 75% emulation done(plenty of work remaining).
53234 * sim/ucsim/z80.src:
53235 Add Z80 support to ucsim, add test-ucz80 regression test,
53236 notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
53237 Notice z80 compiler fails on examples/test3.c/crc code.
53239 2002-01-30 Sandeep Dutta <sandeep AT ddi.com>
53241 * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
53242 Added support for --parms-in-bank1
53244 * src/ds390/peeph.def:
53245 added a few more peephole optimzations
53247 * src/ds390/main.c:
53248 1) added __builtin_inp & __builtin_outp used to read in data of given length
53249 from a memory mapped port
53250 2) added __builtin_memcmp
53251 3) added __builtin_swapw swap bytes of a short
53253 * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
53254 1) handle multiple send & receives from register bank1
53255 2) ralloc can now allocate DPTR1 to some liveRanges
53257 * src/SDCCsymt.c, src/SDCCsymt.h:
53258 changes to handle multiple sends & receives
53260 * src/SDCCptropt.h:
53261 added some pointer arithmetic optimization
53263 * src/SDCCptropt.c:
53264 added some pointer arithmetic optimizations but not stable yet so not
53265 called from anywhere (will get this working shortly)
53267 * src/SDCCopt.c: fixed for multiple sends & receives
53270 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
53271 2) preprocessing done AFTER port->finalizeoptions . This allows ports to
53272 set preprocessor defines (depending on options)
53274 * src/SDCCicode.c, src/SDCCicode.h:
53275 changes made to handle multiple sends & receives
53278 Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
53280 * src/SDCCcse.c, src/SDCCcse.h:
53281 added function findbackward def (to be used in upcoming optimization)
53283 * src/SDCCcflow.c, src/SDCCcflow.h:
53284 added function returnAtEnd - to determine if a basic block terminates with
53287 * src/SDCCast.c, src/SDCCast.h:
53288 added option parms-in-bank1
53290 * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
53291 * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
53292 * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
53293 adjusted for --parms-in-bank1 option
53295 * device/include/string.h:
53296 donot redefine "reentrant" keyword
53298 * device/include/ds80c390.h: Added some more SFRs
53300 2002-01-28 Bernhard Held <bernhard AT bernhardheld.de>
53302 * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
53304 2002-01-26 Bernhard Held <bernhard AT bernhardheld.de>
53306 * src/SDCCast.c (funcOfType): fix usage of double --float-reent
53308 2002-01-22 Bernhard Held <bernhard AT bernhardheld.de>
53310 * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
53312 2002-01-18 Paul Stoffregen <paul AT pjrc.com>
53314 * Added --xram-movc option
53316 2002-01-13 Bernhard Held <bernhard AT bernhardheld.de>
53318 * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
53320 2002-01-11 Johan Knol
53322 * Added math lib of Jesus Calvino-Fraga
53324 2002-01-08 Bernhard Held <bernhard AT bernhardheld.de>
53326 * src/SDCCmain.c (processFile): fix processing of ../../src.c
53327 * support/regression/Makefile: new target test-mcs51-stack-auto
53328 * support/regression/ports/mcs51-stack-auto/spec.mk: added
53330 2002-01-04 Bernhard Held <bernhard AT bernhardheld.de>
53332 * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
53334 2002-01-04 Bernhard Held <bernhard AT bernhardheld.de>
53336 * support/regression/ports/mcs51/support.c: correct setup of timer / UART
53338 2002-01-03 Bernhard Held <bernhard AT bernhardheld.de>
53340 * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
53342 * src/SDCCglue.h: add definition for printIvalChar()
53344 2002-01-02 Bernhard Held <bernhard AT bernhardheld.de>
53346 * src/SDCCast.c: fix #498138 by Johan
53348 * src/SDCCglue.c: fix #498138 by Johan
53350 2002-01-02 Bernhard Held <bernhard AT bernhardheld.de>
53352 * support/regression/Makefile: fix clean
53354 * support/regression/ports/ds390/support.c: fix transmission of last character
53356 2001-12-29 Sandeep Dutta <sandeep AT ddi.com>
53358 * /sdcc/src/ds390/gen.c:
53359 a) improved computing address of stack variable
53360 b) took out some #if 0 code
53361 c) improved parmBytes adjustment
53362 d) improved genPlusIncr & genMinusIncr
53363 e) genCmp could generate bad code (when left assigned to DPTR)
53364 f) Fixed bug in hasInc
53366 * /sdcc/src/ds390/ralloc.c:
53367 a) packRegsForSupport could mess up live information (Fixed)
53368 b) packRegsDPTRuse could be incorrect for left & right shift
53370 * /sdcc/src/mcs51/ralloc.c:
53371 packRegsForSupport could mess up the live information (Fixed)
53373 * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
53375 * /sdcc/src/SDCCast.c:
53376 can reverse a loop even if function call is present as long
53377 as the loop control variable is local & is not passed as parameter
53379 2001-12-24 Sandeep Dutta <sandeep AT ddi.com>
53381 * /sdcc/ChangeLog: *** empty log message ***
53383 * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
53384 More builtin function additions for TININative
53386 * /sdcc/src/ds390/ralloc.c:
53387 Had broken the regression testsuite
53389 * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
53391 * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
53392 Added funcattr hasStackParms will be set for reentrant functions when there
53393 are paramteres on the stack, this helps in minimizing frame pointer generation
53394 typeFromStr can handle function pointers now
53396 * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
53397 *** empty log message ***
53399 2001-12-24 Sandeep Dutta <sandeep AT ddi.com>
53401 * /src/ds390/gen.c, /src/ds390/main.c:
53402 More builtin function additions for TININative
53404 * /src/ds390/ralloc.c:
53405 Had broken the regression testsuite
53407 * /src/SDCCast.c: Fixed a bug in dumptree
53409 * /src/SDCCsymt.c, /src/SDCCsymt.h:
53410 Added funcattr hasStackParms will be set for reentrant functions when there
53411 are paramteres on the stack, this helps in minimizing frame pointer generation
53412 typeFromStr can handle function pointers now
53414 * /doc/builtins.txt, /doc/TININative.txt:
53415 *** empty log message ***
53418 2001-12-24 Sandeep Dutta <sandeep AT ddi.com>
53420 * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
53421 ALPHA version for -mTININative
53423 * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
53424 updated to reflect changes in the port structure
53427 added function do_assemble (similar to do_link) if non-null this function
53428 will be called to do assembly (-mTININative) requires a multi command
53430 added function genAssemblerEnd will be called to generate assembler Epilogue
53433 added _JavaNative to debug info printing
53435 * /src/SDCCmain.c: added option --tini-libid
53436 added port->do_assemble function (-mTININative) has a multi command assemble
53438 * /src/SDCCglue.c: Disabled "constExpr" check
53439 added port->genAssemblerEnd function
53441 * /src/SDCCglobl.h: Added option --tini-libid value
53444 tookout optimizeCompare from the header (has no external references)
53446 * /src/SDCCast.c: made one more function "static"
53448 2001-12-23 Michael Hope <michaelh AT juju.net.nz>
53450 * src/z80/mappings.i: Added z80asm support.
53452 * src/z80/main.c: Added z80asm support on --asm=z80asm
53454 * src/z80/gen.c: Fixed asm portability issues.
53456 * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support.
53458 * src/SDCCglue.c (printExterns): Added global/extern split.
53460 2001-12-17 Bernhard Held <bernhard AT bernhardheld.de>
53462 * support/regression/Makefile: added test for mcs51 model large
53464 * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
53466 * support/regression/ports/gbz80/spec.mk: added -mgbz80
53468 2001-12-05 Michael Hope <michaelh AT juju.net.nz>
53470 * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201.
53472 1904-01-06 Michael Hope <michaelh AT juju.net.nz>
53474 * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
53476 * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
53478 2001-12-02 Bernhard Held <bernhard AT bernhardheld.de>
53480 * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
53482 * support/regression/tests/simplefloat.c: Port to mcs51.
53484 2001-11-25 Michael Hope <michaelh AT juju.net.nz>
53485 * support/regression/tests/bug-485362.c: Added.
53487 * support/regression/tests/simplefloat.c (testDivNearOne): Added.
53489 * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
53491 * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
53493 * src/z80/gen.c (aopDump): Added a dump function.
53495 2001-11-25 Bernhard Held <bernhard AT bernhardheld.de>
53496 * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
53498 * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
53500 * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
53502 * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
53504 * sim/ucsim/s51.src/uc390cl.h: Work in progress.
53506 * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
53508 * support/regression/fwk/lib/testfwk.c: Run with tinibios.
53510 * support/regression/ports/mcs51/spec.mk: Fine tuninig.
53512 * support/regression/ports/ds390/support.c: Use tinibios.
53514 * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
53516 2001-11-23 Michael Hope <michaelh AT juju.net.nz>support/regression/tests/bug-460010.c
53518 * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
53519 (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
53521 * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
53523 * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
53525 2001-11-18 Michael Hope <michaelh AT juju.net.nz>
53527 * src/z80/gen.c (genCmp): Fixed compare on unsigned.
53529 * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
53530 (packRegsForIYUse): Created and optimised.
53532 2001-11-07 Michael Hope <michaelh AT juju.net.nz>
53534 * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
53536 2001-11-18 Bernhard Held <bernhard AT bernhardheld.de>
53538 * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
53540 * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
53542 * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
53544 2001-11-07 Bernhard Held <bernhard AT bernhardheld.de>
53546 * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
53548 * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
53550 2001-11-07 Bernhard Held <bernhard AT bernhardheld.de>
53552 * sdcc/sim/ucsim/globals.cc: New: IXRAM.
53554 * sdcc/sim/ucsim/stypes.h: New: IXRAM.
53556 * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
53558 2001-11-07 Michael Hope <michaelh AT juju.net.nz>
53560 * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
53561 (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
53562 (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
53564 * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
53566 * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
53567 (genNotFloat): Added.
53568 (genUminusFloat): Added.
53570 * device/lib/z80/Makefile: Added floating pt stubs.
53572 * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
53574 * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
53576 * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
53578 2001-11-07 Bernhard Held <bernhard AT bernhardheld.de>
53580 * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
53582 * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
53584 * sdcc/support/regression/Makefile: Add port ds390.
53586 * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
53588 * sdcc/support/regression/ports/z80/spec.mk: Minor change.
53590 * sdcc/support/regression/ports/ds390/spec.mk: Added.
53592 * sdcc/support/regression/ports/ds390/support.c: Added.
53594 * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
53596 * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
53598 * sdcc/support/regression/fwk/lib/timeout.c: Paste.
53600 2001-11-04 Michael Hope <michaelh AT juju.net.nz>
53602 * device/include/malloc.h: Added z80 and gbz80 support.
53604 * device/lib/gbz80/heap.s: Added.
53606 * device/lib/z80/heap.s: Added.
53608 * device/lib/malloc.c: Added z80 and gbz80 support.
53610 * support/regression/tests/malloc.c (testMalloc): Added.
53612 * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
53614 * support/regression/tests/bug-478094.c: Added.
53616 * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
53618 2001-11-04 Bernhard Held <bernhard AT bernhardheld.de>
53620 * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
53622 * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
53624 * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
53626 * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
53628 * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
53630 2001-11-04 Michael Hope <michaelh AT juju.net.nz>
53632 * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
53634 2001-11-03 Michael Hope <michaelh AT juju.net.nz>
53636 * support/regression/tests/bug-477927.c: Added.
53638 * src/z80/peeph.def: Added minor rules.
53640 * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
53642 * src/z80/peeph.def: Added jump optimisation modification.
53644 2001-11-01 Michael Hope <michaelh AT juju.net.nz>
53646 * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
53648 2001-10-30 Michael Hope <michaelh AT juju.net.nz>
53650 * support/regression/tests/funptrs.c: Added.
53652 2001-10-29 Michael Hope <michaelh AT juju.net.nz>
53654 * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
53656 2001-10-28 Michael Hope <michaelh AT juju.net.nz>
53658 * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
53660 * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
53662 * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
53663 (movLeft2ResultLong): Created.
53665 * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
53666 (joinPushes): Added. Joins two char pushes into a word push.
53668 2001-10-27 Michael Hope <michaelh AT juju.net.nz>
53670 * support/cpp2/Makefile.in (install): Added creation of dest dir.
53672 * support/makebin/Makefile (install): Added creation of dest dir.
53674 2001-10-24 Karl Bongers <karl AT turbobit.com>
53676 * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
53678 2001-10-21 Michael Hope <michaelh AT juju.net.nz>
53680 * src/z80/ralloc.c: Turned off faulty pack for one use.
53682 * src/z80/peeph-gbz80.def: Removed redundent restart options.
53684 * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
53686 2001-10-21 Bernhard Held <bernhard AT bernhardheld.de>
53688 * support/regression/Makefile: Improved clean
53690 * support/regression/ports/gbz80/spec.mk: Added clean
53692 * support/regression/ports/host/spec.mk: Added clean
53694 * support/regression/ports/z80/spec.mk: Added clean
53696 * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
53698 * support/regression/ports/mcs51/timeout.c: little improvements
53700 2001-10-17 Michael Hope <michaelh AT juju.net.nz>
53702 * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
53704 * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
53706 * support/regression/generate-cases.py: Fixed up to use function pts correctly.
53708 2001-10-16 Bernhard Held <bernhard AT bernhardheld.de>
53710 * support/regression/port/mcs51/spec.mk: add timeout for uCsim
53712 * support/regression/port/mcs51/timeout.c: add timeout for uCsim
53714 2001-10-13 Michael Hope <michaelh AT juju.net.nz>
53715 * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
53717 * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
53719 * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
53721 * src/mcs51/main.c (_linkCmd): Added bin path to command.
53723 * src/SDCCmain.c (initValues): Added support for when it it called just to link.
53725 * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
53727 * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
53729 * support/regression/tests/longor.c: Added.
53731 2001-10-11 Bernhard Held <bernhard AT bernhardheld.de>
53733 * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
53735 * as/mcs51/aslink.h: define PATH_MAX
53737 * as/mcs51/asm.h: define PATH_MAX
53739 * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
53741 * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
53743 * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
53745 * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
53747 * src/SDCCglobl.h: define PATH_MAX
53749 * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
53751 * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
53753 2001-10-11 Michael Hope <michaelh AT juju.net.nz>
53755 * src/z80/gen.c (gencjneshort): Fixed
53757 * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
53759 2001-10-09 Michael Hope <michaelh AT juju.net.nz>
53761 * support/regression/tests/bug-469671.c: Added.
53763 * src/z80/gen.c (shiftIntoPair): Fixed up warning.
53765 2001-10-08 Michael Hope <michaelh AT juju.net.nz>
53767 * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
53769 * src/z80/gen.c (genPlus): Fixed to work with extended stack. Also fixed genMinus, genCmp. genUMinus is still left.
53771 2001-10-08 Bernhar Held <bernhard AT bernhardheld.de>
53773 * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
53775 * src/device/lib/_mulint.c : removed hint: nooverlay bug
53777 * src/device/lib/_mullong.c : removed hint: nooverlay bug
53779 * src/device/lib/_divuint.c : removed hint: nooverlay bug
53781 * src/device/lib/_divulong.c: removed hint: nooverlay bug
53783 * src/device/lib/_moduint.c : removed hint: nooverlay bug
53785 * src/device/lib/_modulong.c: removed hint: nooverlay bug
53787 2001-10-07 Michael Hope <michaelh AT juju.net.nz>
53789 * src/z80/gen.c (setupPair): Added 'extended stack' support for the z80. Can now have local variables or parameters of more than 127 bytes in size. Increadibly slow, but it will work. Currently anything involving the carry flag.
53791 * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all. Fixes runtime segfault.
53793 * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
53795 2001-10-07 <johan AT FRIJA>
53797 * device/lib/gets.c (gets): fixed the return value.
53799 2001-10-06 Michael Hope <michaelh AT juju.net.nz>
53800 * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
53802 * src/SDCCpeeph.c (peepHole): Fixed all leaks. Added trace support for freeing lines. Optimised restart logic to re-run instead of restart. Now compiles dscan.c on ~60MB instead of ~200MB.
53804 * support/Util/NewAlloc.c: Added ability to use libgc instead of malloc. Added Safe_free and Safe_strdup. Added trace support where you can log allocations and free all at once.
53806 * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
53808 * src/pic/gen.c: Removed Safe_strdup.
53810 * configure.in: Added option to enable libgc support.
53812 * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
53813 (bitVectUnion): Optimised.
53814 (bitVectIntersect): Optimised.
53815 (bitVectBitsInCommon): Optimised.
53816 (bitVectCplAnd): Optimised.
53818 * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it. Sigh.
53820 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
53822 * src/SDCCmain.c: distinguish between assembler debug and plain options
53824 * src/avr/main.c: remove standard assembler options
53826 * src/ds390/main.c: remove standard assembler options
53828 * src/mcs51/main.c: remove standard assembler options
53830 * src/port.h: removed "PENDING" comment
53832 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
53834 * src/device/lib/_mulint.c : new, with assember functions
53836 * src/device/lib/_mullong.c : new, with assember functions
53838 * src/device/lib/_divuint.c : with assember functions
53840 * src/device/lib/_divsint.c : with assember functions
53842 * src/device/lib/_divulong.c: with assember functions
53844 * src/device/lib/_divslong.c: with assember functions
53846 * src/device/lib/_moduint.c : with assember functions
53848 * src/device/lib/_modsint.c : with assember functions
53850 * src/device/lib/_modulong.c: with assember functions
53852 * src/device/lib/_modslong.c: with assember functions
53854 * src/device/lib/libint.lib: replaced _muluint.c and _mulsint.c by _mulint.c
53856 * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
53858 * src/device/lib/Makefile.in: replaced _muluint.c and _mulsint.c by _mulint.c
53859 replaced _mululong.c and _mulslong.c by _mullong.c
53861 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
53863 * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
53865 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
53867 * src/SDCCglue.c: test, if win32api is available for MINGW
53869 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
53871 * src/SDCCsymt.c: no more _modifier in printTypeChain()
53872 * support/regression/tests/driverstruct.c: REENTRANT for mcs51
53873 * support/regression/ports/gbz80/spec.mk: removed GENERIC
53874 * support/regression/ports/host/spec.mk: removed GENERIC
53875 * support/regression/ports/mcs51/spec.mk: removed GENERIC
53876 * support/regression/ports/z80/spec.mk: removed GENERIC
53878 2001-10-01 Michael Hope <michaelh AT juju.net.nz>
53880 * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
53882 * support/regression/tests/bug-467035.c: Created.
53884 2001-10-01 <johan AT FRIJA>
53886 * src/SDCC.y: fixed bug #466586 part 1
53888 2001-10-01 Johan Knol <johan.knol AT iduna.nl>
53890 * SDCCicode.c: z80 has no generic pointers
53891 * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
53893 2001-09-30 Michael Hope <michaelh AT juju.net.nz>
53895 * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
53897 2001-09-29 Michael Hope <michaelh AT juju.net.nz>
53899 * Makefile (sdcc-libs): Added makebin to the list of standard targets.
53901 * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
53903 2001-09-25 Michael Hope <michaelh AT juju.net.nz>
53905 * configure.in: Fixed up so that ucsim is only configured once.
53907 * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
53909 * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
53910 (getPathDifference): As above.
53912 * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory. Fixed case where pre-processing only.
53914 * src/SDCCglue.c (tempfilename): Added function for pre-processor.
53916 2001-09-23 Michael Hope <michaelh AT juju.net.nz>
53917 * .version: Updated to 2.3.1
53919 * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
53920 Added copyright header.
53922 * src/SDCCmain.c: Shifted various functions into SDCCutil.c
53923 (assemble): Added support for macro based assembler commands.
53924 (linkEdit): Added support for macro based linker commands.
53925 (preProcess): Changed the pre-processor to use macros.
53926 (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
53927 (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
53929 * device/lib/z80/crt0.s: Added module name for debugging.
53931 2001-09-20 Michael Hope <michaelh AT juju.net.nz>
53933 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
53935 * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
53937 * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
53939 * src/Makefile.in: Added SDCCmacro and SDCCutil
53941 2001-09-19 Michael Hope <michaelh AT juju.net.nz>
53943 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
53945 2001-09-16 <johan AT FRIJA>
53947 * support/Util/SDCCerr.c: fixed up the error/warning/info database. I only changed the E_ W_ I_ prefix to what SDCCerr.c says it is.
53949 2001-09-15 <johan AT FRIJA>
53951 * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
53952 * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
53954 2001-09-11 <johan AT FRIJA>
53956 * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
53958 2001-09-10 Michael Hope <michaelh AT juju.net.nz>
53960 * support/regression/tests/bug-460444.c: Added test case.
53962 * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
53963 (genCast): Added justification for all of the asserts.
53965 2001-09-10 Bernhard Held <bernhard AT bernhardheld.de>
53967 * support/regression/support.c: _xdata replaced by xdata
53969 * support/regression/spec.mk: removed _generic
53971 2001-09-09 Michael Hope <michaelh AT juju.net.nz>
53973 * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
53975 * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
53976 (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
53978 * src/z80/peeph.def: Added a rule to optimise shift then compare.
53980 * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
53982 * support/regression/tests/bug-460010.c: Added test case.
53984 * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
53986 2001-09-09 Bernhard Held <bernhard AT bernhardheld.de>
53988 * support/regression/Makefile: inter-port-clean adjusted for mcs51
53990 * support/regression/testfwk.c: removed workaround for bug #436344
53992 * support/regression/tests/bp.c: use less memory with mcs51
53994 * support/regression/tests/bug-441448.c: use less memory
53996 * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
53998 * support/regression/collate-results.py: typo
54000 2001-09-08 Michael Hope <michaelh AT juju.net.nz>
54002 * support/regression/tests/fetchoverlap.c: Added new test case.
54004 * support/regression/tests/bp.c: Added new test case.
54006 * support/regression/tests/bug-448984.c: Added new test case.
54008 * support/regression/tests/pow2shifts.c: Added new test case.
54010 * src/z80/gen.c: Turned off the noise it normally generates for the release.
54011 (genlshTwo): Fixed right shift for count > 8.
54013 * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
54015 2001-09-08 <johan AT FRIJA>
54017 * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
54019 2001-09-07 <johan AT FRIJA>
54021 * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
54023 * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
54025 2001-09-06 <johan AT FRIJA>
54027 * src/SDCC.y: this could be a fix for bug #458744 (1.37)
54028 * bernhard noted me at this: "() equals to (void)" (1.38)
54030 2001-09-05 <johan AT FRIJA>
54032 * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
54034 2001-09-04 <johan AT FRIJA>
54036 * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
54039 2001-09-04 Paul Stoffregen <paul AT pjrc.com>
54041 * pragma noinduction broke memcpy on mcs51 large model. Moved it inside z80 optimization
54043 2001-09-03 Michael Hope <michaelh AT juju.net.nz>
54045 * link/z80/aslink.h: Fixed path for PATH_MAX
54047 2001-09-02 Michael Hope <michaelh AT juju.net.nz>
54049 * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
54051 * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
54053 * support/regression/tests/uminus.c: Added a test for the unary minus operator.
54055 * src/z80/gen.c (genUminus): Fixed add, sub, and uminus on the gbz80 port for longs. Had to shift some functions about to do it.
54057 2001-09-01 Michael Hope <michaelh AT juju.net.nz>
54059 * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
54060 (genCmp): Fixed up genCmp for the GB with longs.
54062 * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
54064 * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
54066 * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
54068 * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
54070 2001-08-30 Paul Stoffregen <paul AT pjrc.com>
54072 * added peepholes 223 to 231 to mcs51 port. These improve code when using large model.
54074 2001-08-30 Michael Hope <michaelh AT juju.net.nz>
54076 * device/lib/gbz80/crt0.s (init): Fixed up support for the gbz80 such that it will at least run (and fail badly) the regression tests.
54078 * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
54080 2001-08-29 Michael Hope <michaelh AT juju.net.nz>
54082 * link/z80/aslink.h: Fixed long file name support. Is now based off PATH_MAX instead of a constant.
54084 * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
54086 2001-08-30 Bernhard Held <bernhard AT bernhardheld.de>
54088 * sim/ucsim/configure: little improvement of Cygwin-detection
54089 * sim/ucsim/configure.in: little improvement of Cygwin-detection
54090 * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
54091 * support/regression/tests/bug-221100.c: small changes for mcs51
54092 * support/regression/tests/bug-221168.c: small changes for mcs51
54093 * support/regression/tests/bug-227710.c: small changes for mcs51
54094 * support/regression/tests/staticinit.c: small changes for mcs51
54095 * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
54096 * as/mcs51/lklex.c: accept everything as symbol name in rel-files, bug fix ID 452601
54097 * as/mcs51/lksym.c: accept everything as symbol name in rel-files, bug fix ID 452601