+2003-09-05 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+ * src/SDCCast.c (isConformingBody): fixed loop reversal bug
+ reported in bug #800609
+
+2003-09-04 Vangelis Rokas <vrokas@otenet.gr>
+ * Top header beautifications in src/pic16 directory:
+ device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
+ pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
+ pcoderegs.h, ralloc.c, ralloc.h
+ * main.c: added top header and GPL license notice
+ * pcode.c: fixed the if-conditional warning
+
+2003-09-04 Bernhard Held <bernhard@bernhardheld.de>
+
+ * device/lib/_mullong.c: replaced int by short for gcc
+
+2003-08-31 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
+ and JUMPTABLE iCodes properly now (worked by accident before)
+ * src/mcs51/gen.c (leftRightUseAcc),
+ * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
+ iCode properly now. Use getSize instead of nRegs since a & b
+ aren't part of the nRegs tally.
+
+2003-08-31 Vangelis Rokas <vrokas@otenet.gr>
+ * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
+ * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
+ before instructions that use the _STATUS register
+
+2003-08-31 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
+ * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
+ fetching of the pointer
+ * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
+ copied from genNearPointerSet()
+ * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
+ * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
+ If they pop r0/r1 they must be called in the opposite order than aopOp().
+ * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
+ (resp. --stack-auto), prepared for --xstack
+
+2003-08-28 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+ * doc/sdccman.lyx: reverted tables to those in cvs 1.64
+
+2003-08-28 Bernhard Held <bernhard@bernhardheld.de>
+
+ * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
+ these ports have their own __sdcc_external_start()
+
+2003-08-26 Bernhard Held <bernhard@bernhardheld.de>
+
+ pic patch provided by Slade Rich <slade_rich@yahoo.com>
+ * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
+ type for bits was changed. It resulted in bit variables becoming
+ global, which is not permitted in PIC 14 assembly output.
+
+2003-08-23 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+ * doc/sdccman.lyx: various additions and updates. Rearranged sections
+
+2003-08-22 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ Z80 and MCS51 linkers complaint if a public symbol is defined
+ in more than one library module:
+
+ * as/mcs51/lklib.c
+ * link/z80/lklib.c
+ * as/mcs51/Makefile.in
+
+2003-08-22 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ A few small changes that speed up the peephole optimizer.
+
+ * src/SDCCpeeph.c
+
+2003-08-22 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ Try to make the peephole optimizer smarter by maintaining
+ an association between the assembly source code and the
+ iCodes that originated them. Put this information to use
+ with a new peephole rule condition "notVolatile" so that
+ the rules can be aggressive yet still safe.
+
+ * src/SDCCpeeph.c
+ * src/SDCCpeeph.h
+ * src/mcs51/gen.c
+ * src/mcs51/peeph.def
+
+2003-08-20 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ Fixed bug #741761
+
+ * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
+ * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
+ if the left or right operand symbols have the accuse flag set.
+
+2003-08-20 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ Changed the type of the result of the ! (NOT) operator to char;
+ previously it returned the same type as the source. This allows
+ us to eliminate all the genFloatNot functions (all of its target
+ implementations were very buggy) since !float can use the same
+ code as !long now.
+
+ * src/SDCCicode.c (ast2iCode): ! returns char
+ * src/mcs51/gen.c (genNot, genNotFloat),
+ * src/ds390/gen.c (genNot, genNotFloat),
+ * src/z80/gen.c (genNot, genNotFloat),
+ * src/pic/gen.c (genNot, genNotFloat),
+ * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
+
+2003-08-19 Bernhard Held <bernhard@bernhardheld.de>
+
+ pic patch provided by Slade Rich <slade_rich@yahoo.com>
+ 1. Interrupt would not compile properly. Ensure PCLATH register is saved
+ during interrupts. Ensure WSAVE is located at a shared bank address.
+ 2. Fixed page selection in some places
+ 3. Fixed BTFSS/C to where necessary use registers directly and not simply
+ the registers name strings.
+ 4. Fixed "signed / unsigned compare" compiler warnings.
+ 5. The PIC port manages its own allocation of the general purpose
+ registers, but makes no attempt to reuse them. As a result when
+ compiling it soon runs out of general purpose registers. Some
+ additional code was added to the files pcode.c and device.c to walk
+ through the function call tree and rename the registers so that they
+ get reused.
+
+ * src/pic/device.c
+ * src/pic/gen.c
+ * src/pic/glue.c
+ * src/pic/pcode.c
+ * src/pic/pcode.h
+ * src/pic/ralloc.c
+ * src/pic/ralloc.h
+ * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
+ genPlus() & genMinus() when the result is the same as left or right
+
+2003-08-18 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
+
+2003-08-18 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ Made bitfield a distinct type from bit so that bitfields
+ convert as per ANSI C and bits retain their traditional
+ boolean style behaviour. Implemented bitfield support in
+ the z80 port.
+
+ * src/SDCCsymt.h,
+ * src/SDCCsymt.c,
+ * src/SDCCast.c,
+ * src/cdbFile.c,
+ * src/mcs51/gen.c,
+ * src/ds390/gen.c: bit v bitfield split
+ * src/z80/gen.c: New support for bitfields
+ * support/regression/tests/bitfields.c: reenabled z80,
+ added more tests
+
+2003-08-17 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+ Rules 246.x, 247.x relate to bitfields, the others speed up
+ access to xdata mapped I/O devices.
+
+ * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
+
+2003-08-16 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ Cleaned up genPackBits and genUnpackBits and added two helper
+ functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
+ for literal assignments in genPackBits (thanks to Frieder for
+ reminding me).
+
+ * src/mcs51/gen.c
+ * src/ds390/gen.c
+
+2003-08-16 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ Fixed bug #748310 (pointer to function type mishandled when the
+ function name is omitted). Also fixed a SIGSEGV when a function
+ attribute (reentrant, etc) is used on a non-function or on a
+ function but misplaced before the parameter list.
+
+ * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
+ bug #748310
+ * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
+ * support/Util/SDCCerr.h,
+ * support/Util/SDCCerr.c: Added func attr misuse error msg
+
+2003-08-13 Bernhard Held <bernhard@bernhardheld.de>
+
+ Fixed bug #787649 by anonymous
+ * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
+ * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
+
+2003-08-14 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ Fixed numerous bitfield problems.
+
+ * src/SDCC.y: More bitfield related error checking
+ * src/SDCCsymt.h,
+ * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
+ * support/Util/SDCCerr.h,
+ * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
+ * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
+ * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
+ * support/regression/tests/bitfields.c: tests added
+
+2003-08-13 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ Made the constant following the "interrupt" keyword optional. If
+ omitted, the function will not automatically be given an entry
+ in the interrupt vector table (similar to #pragma NOIV, but
+ less syntacticly kludgy). The interrupt number is also now
+ range checked. Also fixed a bug in the high order bit example
+ in the manual.
+
+ * src/SDCC.y
+ * src/SDCCmem.c
+ * src/SDCCglue.c
+ * src/SDCCsymt.h
+ * support/Util/SDCCerr.c
+ * support/Util/SDCCerr.h
+ * doc/sdccman.lyx
+
+2003-08-13 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
+ * src/SDCCicode.c (operandOperation): rewritten some ops
+ (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
+ * src/SDCCsymt.c (computeType): literals are handled the same way as any
+ other type
+ * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
+ be re-activated by defining REDUCE_LITERALS)
+ * src/SDCCval.c (constVal): fixed; hex and octal constants can be
+ unsigned, but are signed by default
+ * src/SDCCval.c (constVal): rearranged
+ * src/SDCCval.c (valMod): preliminary fix
+ * src/SDCCval.c (valCastLiteral): use TYPE_* types
+ * support/regression/literalop.c: added, work in progress
+
+2003-08-12 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ Generate warnings for useless declarations like "char data;"
+ that don't do what new users expect.
+
+ * src/SDCC.y
+ * support/Util/SDCCerr.h
+ * support/Util/SDCCerr.c
+
+2003-08-09 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCval.c (valMult): fix overflow detection of negative int
+
+2003-08-07 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/z80/ralloc.c (joinPushes): made compatible with new signedness
+
+ Changes to support big endian targets:
+
+ * src/ports.h
+ * src/SDCCglue.c
+ * src/avr/main.c
+ * src/ds390/main.c
+ * src/izt/i186.c
+ * src/mcs51/main.c
+ * src/pic/main.c
+ * src/pic16/main.c
+ * src/xa51/main.c
+ * src/z80/main.c
+
+2003-08-06 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
+ * device/lib/time.c: fixed warning "integer overflow in expression"
+
+2003-08-05 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
+ * src/SDCCval.c (constVal): changed default to signed; hex and octal
+ constants are unsigned; added recognition of "u" flag for unsigned
+ * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
+ * src/SDCCval.c (valDiv, valMod): fixed signdness
+ * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
+ signedness of modulo, left and right shift
+ * support/Util/SDCCerr.c: added warning "integer overflow in expression"
+ * support/Util/SDCCerr.h: added warning W_INT_OVL
+ * src/SDCCast.c (decorateType): fixed gcc3.3 warning
+ * src/SDCCast.c (ast_print): improved output of constants
+
+2003-08-04 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ Fixed some warnings when building with MSVC:
+
+ * as\mcs51\asdata.c
+ * as\z80\asdata.c
+ * as\mcs51\asm.h
+ * as\z80\asm.h
+ * link\z80\aslink.h
+ * link\z80\lkdata.c
+ * link\z80\lkeval.c
+ * link\z80\lkgb.c
+ * link\z80\lkihx.c
+ * link\z80\lks19.c
+ * link\z80\lksym.c
+ * support\cpp2\cpplib.c
+ * src\ds390\gen.c
+ * src\mcs51\gen.c
+
+2003-08-03 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth@isi.edu>
+
+2003-08-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ * support\librarian\clean.mk: Do not remove Makefile.
+ * support\librarian\Makefile: added.
+
+2003-08-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ Added librarian to MSVC build:
+ * all.dsp
+ * sdcc.dsw
+ * support\librarian\librarian.dsp
+
+ 'configure' not needed for librarian, removed:
+ * support\librarian\configure
+ * support\librarian\configure.in
+ * support\librarian\config_in.h
+ * support\librarian\Makefile.in
+
+ Hopefully these ones built the librarian and the rest of sdcc properly:
+ * Makefile
+ * Makefile.common.in
+
+ Messed up 'configure', so revert to previous version:
+ * configure
+ * configure.in
+
+2003-07-31 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
+ there, while the mantissa of a double is "only" 53 bits wide.
+
+2003-07-31 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ Adding sdcclib to the build. MSVC project coming soon.
+ Files added/changed:
+
+ * support\librarian\clean.mk
+ * support\librarian\configure
+ * support\librarian\configure.in
+ * support\librarian\config_in.h
+ * support\librarian\Makefile.bcc
+ * support\librarian\Makefile.in
+ * support\librarian\sdcclib.c
+ * Makefile.bcc
+ * Makefile
+ * Makefile.common.in
+ * configure
+ * configure.in
+
+2003-07-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ Linker now complaints if linked modules have conflicting options, for
+ example, one compiled using --model-large and another one compiled with
+ --model-small. The following files were modified:
+
+ * as\mcs51\asdata.c
+ * as\mcs51\aslink.h
+ * as\mcs51\asm.h
+ * as\mcs51\asmain.c
+ * as\mcs51\asout.c
+ * as\mcs51\i51pst.c
+ * as\mcs51\lkdata.c
+ * as\mcs51\lklibr.c
+ * as\mcs51\lkmain.c
+ * as\z80\asdata.c
+ * as\z80\asm.h
+ * as\z80\asmain.c
+ * as\z80\asout.c
+ * as\z80\z80pst.c
+ * link\z80\aslink.h
+ * link\z80\lkdata.c
+ * link\z80\lklibr.c
+ * link\z80\lkmain.c
+ * src\SDCCglue.c
+
+2003-07-28 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
+ as/mcs51/lklibr.c: Generate a warning when a library is not found.
+
+2003-07-28 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/z80/mappings.i: fix _mul[us][int,long] entries
+
+2003-07-26 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
+
+2003-07-24 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCicode.c (operandOperation): really fixed problem with bitops
+ * support/regression/tests/bitopcse.c: added
+ fixed warning:
+ * src/avr/gen.c:
+ * src/pic/gen.c:
+ * src/pic16/gen.c:
+ * src/z80/gen.c:
+ * src/xa51/gen.c:
+
+2003-07-24 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ added support for new library format to z80, gbz80 linkers:
+ *link/z80/aslink.h
+ *link/z80/lklex.c
+ *link/z80/lklib.c
+ *link/z80/lklist.c
+
+2003-07-24 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
+ after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
+
+2003-07-23 Bernhard Held <bernhard@bernhardheld.de>
+
+ added DUMMY_READ_VOLATILE:
+ * src/SDCC.y:
+ * src/avr/gen.c:
+ * src/xa51/gen.c:
+ * src/z80/gen.c:
+ * src/pic/gen.c:
+ * src/pic16/gen.c:
+ * src/mcs51/gen.c:
+ * src/ds390/gen.c:
+ * src/SDCCcse.c (algebraicOpts): many improvements
+ * src/SDCCcse.h: removed algebraicOpts()
+ * src/SDCCicode.c (picDummyRead): added
+
+2003-07-23 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
+ "Insufficient space in data memory".
+
+2003-07-20 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/mcs51/gen.c: fixed bug #771358
+ * src/z80/gen.c: fixed bug #759087
+
+2003-07-20 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/pic16/glue.c: minor cleanup by Vangelis
+
2003-07-19 Frieder Ferlemann <Frieder.Ferlemann@web.de>
* device/include/regc515c.h: fixed #758477
* device/lib/_ser.c: process RX bytes earlier than TX bytes
* device/lib/serial.c: process RX bytes earlier than TX bytes
* src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
-
+
2003-07-18 Erik Petrich <epetrich@ivorytower.norman.ok.us>
* src/z80/gen.c: fixed some right shift bugs (#772726 among them)
2003-07-17 Bernhard Held <bernhard@bernhardheld.de>
- * device/lib/Makefile.in: bad fix, reverted to 1.43
-
+ * device/lib/Makefile.in: bad fix, reverted to 1.43
+
2003-07-16 Bernhard Held <bernhard@bernhardheld.de>
* device/lib/Makefile.in: added missing z80 object files
2003-07-14 Bernhard Held <bernhard@bernhardheld.de>
- * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
+ * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
pic16 progress by Vangelis:
* src/SDCCglobl.h:
* src/SDCCmain.c:
2003-06-08 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
* support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
- added option --vc, so sdcc errors and warnings are compatible with
+ added option --vc, so sdcc errors and warnings are compatible with
Microsoft Visual Studio.
2003-06-07 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2003-05-29 Bernhard Held <bernhard@bernhardheld.de>
* src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn@vt.edu>
- * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
+ * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
2003-05-28 Bernhard Held <bernhard@bernhardheld.de>