vrokas [Thu, 4 Nov 2004 12:34:49 +0000 (12:34 +0000)]
2004-11-04 Vangelis Rokas <vrokas AT otenet.gr>
* src/pic16/main.c (options): added command line --gstack, to trace
stack over/under flows,
* added pragma 'wparam' to allow passing first byte of function
parameters via WREG, syntax is #pragma wparam my_function[, func2...]
* src/pic16/gen.c (pic16_testStackOverflow): function which emits a
call to __gstack_test function and sets up the symbol as extern,
* (pic16_pushpCodeOp, pic16_poppCodeOp, pushw, pushaop, popaopidx,
* popaop): added call to pic16_testStackOverflow,
* (wParamCmp, inWparamList): NEW, test existence of a symbol in
wparamList list,
* (genCall, genPcall): now all parameters are passed via stack
except in functions that are pass to wparam pragma in which WREG is
used too,
* (genPcall): REENTRANT flag is checked to see if variable prototype
contains reentrant keyword, don't call a non-reentrant function, via
a reentrant function pointer or vice versa, functions are never
passed via WREG,
* (genJumpTab): applied patch from bug #1057478 by R.Neider and
D.Winkler,
* src/pic16/glue.c (pic16emitRegularMap): fixed bug which caused a
SIGSEGV when accessing a NULL register stucture,
* (pic16_printGPointerType): modified to handle UPPER modifier for
function initializers, changed prototype of function to simpler one,
* (pic16_printIvalFuncPtr): check to see if function is already
added in externs list,
* src/pic16/pcoderegs.c (pCodeOptime2pCodes): fixed bug which
optimized a move from W to SFR with a move to the same register
later after a CALL,
* device/lib/pic16/debug: NEW directory, contains debug features
which are enabled when linking with libdebug.lib, currently command
line option --gstack enables stack pointer tracing for over/under
flow, corresponding sources are in debug/gstack
vrokas [Sat, 30 Oct 2004 11:15:15 +0000 (11:15 +0000)]
* doc/sdccman.lyx: updated SDCC version,
* (PIC16 port): update list of command line options,
* src/pic16/device.h (structure pic16_options_t): added field gstack
to enable stack overflow tracing on push/pops,
* src/pic16/device.c (statistics structure): added statistics
structure,
* (pic16_dump_access, pic16_dump_usection, pic16_dump_gsection,
pic16_dump_int_registers): increase statistics counters for each
* variable which is encountered
* (pic16_dump_usection): emit each .udata variable to its own udata
section,
* src/pic16/gen.c (assignResultValue, genCall, genPcall, genFunction):
when macro USE_WREG_IN_FUNC_PARAMS is set to 0 pass all function
parameters via stack, otherwise use old scheme,
* src/pic16/glue.c (pic16_emitStatistics): dump statistics in
assembler output file,
* src/pic16/main.c: added command line options --gstack to enable
push/pop tracing for stack overflow,
* src/pic16/pcode.c (all pCodeInstruction records for PIC18F
instructions): added size of each instruction,
* (pic16_countInstruction): estimate size of instructions in
the_pFile list, inline assembly blocks are not counted,
* (pic16_FixRegisterBanking): trace previous register usage, when
banksel optimizations is greater than 0, don't emit a redudant
banksel directive,
frief [Fri, 22 Oct 2004 11:29:13 +0000 (11:29 +0000)]
* device/lib/ser_ir_cts_rts.c: integer promotion caused a call to the
non-reentrant function __modsint in the interrupt function (thus
corrupting math operations during serial I/O)
* device/lib/ser_ir.c: as above, changed buffersize
* src/mcs51/peeph.def: added 259.a,b for removing redundant ret
* doc/Makefile: added option -t for rsync
frief [Fri, 22 Oct 2004 11:24:48 +0000 (11:24 +0000)]
integer promotion caused a call to the non-reentrant function __modsint in the interrupt
function (thus corrupting math operations during serial I/O),
ser_ir.c: as above, changed buffersize
vrokas [Wed, 20 Oct 2004 14:02:16 +0000 (14:02 +0000)]
* device/lib/pic16/libsdcc/Makefile: added lregs directory in
makefile targets,
* device/lib/pic16/libsdcc/lregs/{Makefile,lrst.c,lrrest.c}: NEW
support functions to replace long sequences of MOVFF's from access
bank registers to stack and vice versa,
* src/pic16/device.h: added new field opt_flags, where optimization
flags can be set to enable certain features,
* src/pic16/gen.c (pic16_emitpinfo): NEW to add PC_INFO pCode in
* pBlock, (genFunction, genEndFunction): surroung loop for
saving/loading used registers in stack with PC_INFO pCodes,
INF_LREGS. Code in between can then be optimized by pCode optimizer
to support function calls,
* (genDataPointerSet): fixed bug which loaded float fields in
structures with corrupt data,
* src/pic16/genutils.c (debugf, _debugf): macro/function which emits
in a standard way debug info on stderr. Feature used for developing
and debugging only,
* src/pic16/glue.c (pic16glue): reformatted, deleted some old and
obsolete chunks of code,
* if optimization flag OF_LR_SUPPORT was set, call pic16_OptimizeLocalRegs,
* src/pic16/main.c (_pic16_parseOptions): added handler for --flr-support,
* pic16/src/pcode.c (pic16_newpCodeInfo,
* (pic16_newpCodeOpLocalRegs),
* (pic16_convertLocalRegs2Support): NEW, to support new optimization
feature,
* (pic16_pCodeConstString): printing of the initial value of a
symbol as a comment is inhibited since parsing was already done by
copyStr and output is corrupt,
* (pic16_pCode2str, genericPrint): handle PC_INFO pCode,
maartenbrock [Tue, 19 Oct 2004 11:10:37 +0000 (11:10 +0000)]
* as/mcs51/lkarea.c: removed old K&R style,
(lnksect): changed check on boundary error,
(lnksect2): changed check on boundary error,
(lnksect2): extend XSTK to end of page if size = 1
* as/mcs51/lkmain.c: removed old K&R style,
(Areas51): create l_IRAM symbol
* as/mcs51/lkmem.c (summary2): added report on PSEG and XSTK
* device/lib/Makefile.in: renamed model-mcs51-reentrant to
model-mcs51-stack-auto, added model-mcs51-xstack-auto
* device/lib/_mullong.c: added version to be compiled with xstack
* device/lib/mcs51/crtclear.asm: clear only upto --iram-size
* device/lib/mcs51/crtxclear.asm: clear pdata as well
* device/lib/mcs51/crtxstack.asm: fixed comment
* src/SDCCglue.c: maxInterrupts defaults to 0,
(emitMaps): added pdata,
(createInterruptVect): (re)moved default,
(glue): added pdata,
(glue): moved __start__xstack to XSTK with default size 1
* src/SDCCmain.c (parseCmdLine): automatically set options.intlong_rent
and options.float_rent when options.stackAuto is set,
(linkEdit): only write XDATA_NAME if provided on command line
* src/SDCCmem.h,
* src/SDCCmem.c: added pdata
* src/port.h: added pdata_name to PORT
* src/mcs51/gen.c (toBoolean): fixed for Acc use of aopGet,
(saveRegisters, unsaveRegisters): removed usage of B,
(genMinus): fixed accumulator clash,
(genJumpTab): added comment, this needs another look
* src/mcs51/gen.c: added check for "B in use" paranoia,
added pushB() and popB()
* src/mcs51/peeph.def: restart after 177.c so 177.a can get a second
chance
* src/avr/main.c,
* src/ds390/main.c,
* src/hc08/main.c,
* src/mcs51/main.c,
* src/pic/main.c,
* src/pic16/main.c,
* src/xa51/main.c,
* src/z80/main.c: (reset_regparms) made void parameter explicit and
added PSEG (PAG,XDATA) or NULL to port specifier
* src/ds390/main.c (_ds390_genIVT): moved implemented default in here
* src/mcs51/main.c (_mcs51_genIVT): moved implemented default in here,
(_mcs51_genInitStartup): removed __start__xstack equ,
(mcs51_port): moved xstack from XSEG (XDATA) to XSTK (PAG,XDATA)
* src/pic16/device.c (pic16_dump_usection, pic16_dump_isection),
* src/z80/gen.c (_rleAppend): fixed warnings
* support/regression/tests/zeropad.c: added pdata test
* .version: bumped to 2.4.6
vrokas [Sat, 16 Oct 2004 14:48:33 +0000 (14:48 +0000)]
2004-10-16 Vangelis Rokas <vrokas AT otenet.gr>
* device/include/pic16/math.h: included sdcc-lib.h,
* device/lib/pic16/startup/crt*.c: startup function marked _naked
* src/pic16/gen.c (struct _G): added field useWreg, is set to 1 when
WREG holds the first byte function parameters,
* (aopForSym): take special case for symbols which are in FARSPACE
but in CODESPACE too,
* (assignResultValue): modified to take into account _G.useWreg,
* (genCall): don't use wreg for parameter passing when function is
declared as reentrant, too, added optimization INCF to stack
pointer when stack parameter count is 1,
* (genFunction, genEndFunction): refurnished and fixed to not using
wreg for passing parameters when function has varargs or is
reentrant, fixed bug with symbol name compare for generating
functions in absolute address,
* (pic16_storeForReturn): refurnished,
* (genCmp): began writing a new version of the function, not ready
yet, therefore it is disabled,
* (genAssign): do not read code memory when assigning a function to
a pointer function,
* src/pic16/glue.c (pic16emitStaticSeg): abSym->name is defined an
array of characters, not pointer,
* (pic16initialComments): in debug mode emit an .ident directive for
the assembler,
* (_process_pragma): emit a new warning type (internal to pic16)
when setting stack to default length, emit a similar warning when
placing a function at absolute address and address is not word aligned
* (_pic16_parseOptions): added 'return TRUE' statement,
* (_pic16_linkEdit): if compiling a source, then add the source's
file object, first in the list of objects to link,
vrokas [Tue, 12 Oct 2004 09:49:27 +0000 (09:49 +0000)]
* device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external
reference to a deprecated symbol _GPTRREG was causing failure to
link. Thanks G. M. Gallant for the info.
vrokas [Tue, 12 Oct 2004 09:48:19 +0000 (09:48 +0000)]
* device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external
reference to a deprecated symbol _GPTRREG was causing failure to
link. Thanks G. M. Gallant for the info.
* src/pic16/*.dsp: added CR-LF at eol so MSVC can read them
vrokas [Sun, 10 Oct 2004 20:50:36 +0000 (20:50 +0000)]
* src/pic16/device.c (pic16_dump_gsection,
* pic16_groupRegistersInSection): handle symbols declared to be in
access bank differently,
* src/pic16/gen.c (struct _G): added field resDirect,
* (aopForSym): if symbol on stack and iCode is '=' and result exists,
send values read from stack directly to result and don't allocate
temporary values,
* (pic16_sameRegs): fixed bug that allowed MOVFF to move between
same registers,
* (pic16_sameRegsOfs): NEW,
* (freeAsmop): if _G.resDirect is set then do not mark registers as
free because they were not allocated from temporary pool,
* pic16_popRegFromString): workaround to fix a problem with
allocating variables twice or never,
* (genGenPointerGet): using PRODL instead of FSR0H,
* (genGenPointerSet): using POSTDEC1 (that is a stack location)
instead of FSR0H,
* (genAssign): take advantage of the _G.resDirect flag,
* (genCast): around line 11844, use mov2f instead of directly
MOVFF'ing between operands to account for literal values,
* src/pic16/genutils.c: some new debug functions for gpsim have been
added,
* src/pic16/glue.c (pic16_printIvalType): fixed bug that initialized
float with integer part only,
* src/pic16/main.c (_process_pragma): handle pragma udata access to
place variables in access bank
* device/lib/pic16/libsdcc/gptr/gptr*.c: using BRA instead of GOTO,
updated sources to reflect recent changes in gen.c
vrokas [Sun, 10 Oct 2004 20:45:19 +0000 (20:45 +0000)]
* src/pic16/device.c (pic16_dump_gsection,
* pic16_groupRegistersInSection): handle symbols declared to be in
access bank differently,
* src/pic16/gen.c (struct _G): added field resDirect,
* (aopForSym): if symbol on stack and iCode is '=' and result exists,
send values read from stack directly to result and don't allocate
temporary values,
* (pic16_sameRegs): fixed bug that allowed MOVFF to move between
same registers,
* (pic16_sameRegsOfs): NEW,
* (freeAsmop): if _G.resDirect is set then do not mark registers as
free because they were not allocated from temporary pool,
* pic16_popRegFromString): workaround to fix a problem with
allocating variables twice or never,
* (genGenPointerGet): using PRODL instead of FSR0H,
* (genGenPointerSet): using POSTDEC1 (that is a stack location)
instead of FSR0H,
* (genAssign): take advantage of the _G.resDirect flag,
* (genCast): around line 11844, use mov2f instead of directly
MOVFF'ing between operands to account for literal values,
* src/pic16/genutils.c: some new debug functions for gpsim have been
added,
* src/pic16/glue.c (pic16_printIvalType): fixed bug that initialized
float with integer part only,
* src/pic16/main.c (_process_pragma): handle pragma udata access to
place variables in access bank
* device/lib/pic16/libsdcc/gptr/gptr*.c: using BRA instead of GOTO,
updated sources to reflect recent changes in gen.c
vrokas [Wed, 6 Oct 2004 01:07:12 +0000 (01:07 +0000)]
* device/lib/pic16/libsdcc/Makefile.rules: fixed bug concerning
sources that searched for headers in installation path, now the
device/include/pic16 is used,
* src/pic16/glue.c (pic16glue),
* src/pic16/pcode.c (pCode2str, genericPrint): don't print .file or
.line directives if not in debug mode, this suppresses assembler's
warnings for ignored directives
maartenbrock [Tue, 5 Oct 2004 10:59:23 +0000 (10:59 +0000)]
* src/port.h: made reset_regparms prototype void parameter explicit.
* src/SDCCsymt.c (processFuncArgs): removed argument "func".
* src/mcs51/ralloc.c (packRegisters): new fix for bugs 898889 & 979599.
* doc/sdccman.lyx: documented warning disabling and how to use
printf_large to make it print floats.
* device/include/stdbool.h: NEW
* device/lib/_atof.c,
* device/lib/_divuint.c,
* device/lib/_divulong.c,
* device/lib/expf.c,
* device/lib/printf_large.c,
* device/lib/sincosf.c,
* device/lib/sincoshf.c: used stdbool.h, all compile with stack-auto now
* device/lib/Makefile.in: added target for model-mcs51-reentrant to build
a completely reentrant lib.
vrokas [Sun, 3 Oct 2004 01:10:21 +0000 (01:10 +0000)]
* device/lib/Makefile.in (target port-specific-objects-pic16):
changed * to *.* so to ignore the CVS directory,
* src/pic16/gen.c (pic16_freeAsmop): added code to store result of
stacked variables back in stack,
* (genEndFunction): fixed bug reported by G.M. Gallant with stack
corruption
vrokas [Fri, 1 Oct 2004 14:49:51 +0000 (14:49 +0000)]
* .version: bumped version number to 2.4.5
* support/Util/SDCCerr.h: added warning W_POSSBUG2.
* support/Util/SDCCerr.c (messages structure): added entry for
W_POSSBUG2
Large cumulative patch for pic16 port and libraries.
* device/include/pic16/sdcc-lib.h,
* device/include/asm/pic16/features.h: NEW,
* device/include/pic16/float.h: changes reentrant keyword with
_FS_REENTRANT, added prototype for __fsneq, included sdcc-lib.h
* device/lib/pic16/libsdcc/Makefile: added target directory gptr,
updated target build-libraries to include objects from gptr,
* device/lib/pic16/libsdcc/{char,int,long}/*.c: added macro
_IL_REENTRANT to all function headings, included sdcc-lib.h header,
* device/lib/pic16/libsdcc/float/*.c: added macro _FS_REENTRANT to
all function headings,
* src/SDCCmain.c: added global parameter userIncDirsSet,
* (parseCmdLine): when option -I is encountered add directory to
userIncDirsSet too,
* src/version.awk: added space between control and long,
* src/pic16/NOTES: added some notes for the port,
* src/pic16/gen.c: added prototype for mov2fp function,
* (fReturnpic16[]): properly named return value registers,
* (_G structure): added fields stackRegSet, fregsUsed, stack_lat,
* (aopForSym): added code to handle symbols with onStack flag set,
symbols onStack are allocated PTRSIZE bytes,
* (aopFreeAsmop): handles special case where asmops are stack objects,
* (aopGet, pic16_popGet): adde cod to handle new asmop AOP_STA,
* (pic16_popGetTempReg, pic16_popGetTempRegCond, pic16_popReleaseTempReg):
added argument lock to trace flaws in allocating temporary registers
when developing port,
* (pic16_popGetLit, pic16_popGetLit2): changed lit from unsigned to signed
* (pic16_popRegFromString): reenabled allocating a direct register
from string,
* (assignResultValue): various beautifications,
* fixed bug #1037717 (patch from R. Neider & D. Wrinkler) with mistaken
referenced function argument,
* (genIpush): reenabled to allow stacked arguments, handles only
ic->parmPush iCodes,
* (genCall, genPcall): major changes to allow for variable argument
functions, fixed a bug with falsely restoring stack pointer after
returning from call,
* (genFunction): pending code for critical function,
* (shiftR1Left2ResultSigned, shiftR1Left2Result, shiftL2Left2Result,
* (shiftR2Left2Result, shiftLLong) applied patch #1032155 from R.Neider,
* (genNearPointerGet): fixed bug with indirect reading, was always
reading from INDF0
* (genGenPointerGet, genGenPointerSet): rewrote to support generic
pointers,
* (genAddrOf): rewrote code to take address of a stacked function parameter
* (genCast): fixed casting to generic pointer type,
* src/pic16/gen.h: added AOP_STA,
* (struct asmop): added field stk,
* src/pic16/genarith.c (pic16_AopType): handle AOP_STA,
* (pic16_genPlusIncr): changed emitSKPNZ to emitSKPNZ,
* (pic16_genAddLit, pic16_genPlus): applied patch #1034042 by tecodev,
* (pic16_genMinus): fixed bug #1035119 with patch submitted by tecodev,
* src/pic16/genutils.c (pic16_genNot): removed symbol *tlbl,
* src/pic16/glue.c (pic16_printGPPointerType): fixed to support new
generic pointers,
* src/pic16/main.c (_pic16_initPaths): ignores default SDCC include
and library paths,
* (pic16_port structure): generic pointer size is set to 3,
* src/pic16/pcode.c (pic16_newpCodeOpLit): correctly print literal integer,
* (insertBankSwitch): cast to (char *) to prevent 64bit CPUs'
compiler warning,
* src/pic16/ralloc.c (allocReg): prevent allocating register when
operand is an iTemp,
* src/SDCCicode.h,
* src/SDCCicode.c (isiCodeInFunctionCall),
* src/avr/ralloc.c (selectSpil),
* src/pic/ralloc.c (selectSpil),
* src/pic16/ralloc.c (selectSpil),
* src/ds390/ralloc.c (selectSpil),
* src/hc08/ralloc.c (selectSpil),
* src/xa51/ralloc.c (selectSpil),
* src/mcs51/ralloc.c (selectSpil): Don't use remainSpil to spill to the
stack in the middle of a function call sequence (fixes bug #1020268)
* src/SDCCicode.c (geniCodeJumpTable): fixed error in computing the
costs associated with the minimum switch case.
* src/SDCCcse.h (struct cseDef),
* src/SDCCcse.c (cseBBlock, newCseDef, ifFromAddrTaken): purge CSEs
over a function call if the CSE is derived from a symbol whose
address has been taken (fixes bug #1029883)
* support/regression/tests/bug-1029883: a new regression test for
this bug
* src/hc08/gen.c (emitinline): fixed bug #1029778
* src/SDCC.y (assignment_expr): fixed the grammer so that assignment
to a cast object is no longer a syntax error ("fixes" bug #1030006,
and starts toward RFE #905167)
* src/pic16/gen.c (mov2f): New function to move an operand to
another without considering if it is a literal or a register,
* (pic16_sameRegs): don't check if they are both AOP_REG,
* (AccRsh): removed andmask=0 lines,
* (genLeftShift): duplicated to be improved in future versions,
* src/pic16/main.c (_process_pragma): emit stack default size in hex,
* src/pic16/pcode.c: added POC_INFSNZW, updated inverted_op fields
in POC_INCFSZ, POC_INCFSZW, POC_INFSNZ,
* (pic16initMnemonics): added initialization for POC_INFSNZW,
* (insertBankSwitch): fixed inserting banksel directives algorithm
for instructions that follow a skip instruction, this fixes a report
for broken subtraction code generation,
* src/pic16/ralloc.c (deassignLRs): do not free register if current
iCode is a left op, just in case result and right share the same
registers
* src/hc08/main.c,
* src/hc08/gen.c (genJumpTable): more efficient jump table, supports
preservation of HX
* src/hc08/gen.c (pullRegs): fixed order of HX & XA pairs
* src/mcs51/ralloc.c (packRegisters): removed the patch applied
on 2004-09-12; it was buggy
* src/SDCCicode.c (piCode): applied patch from Raphael Neider,
* src/pic16/device.c (pic16_assignConfigWordValues): wrong
configuration values no more rejected by compiler, they are assigned
to configuration registers with a warning message instead,
* src/pic16/glue.c (pic16_emitConfigRegs): added +1 at top-limit of
the for-loop so last conf register is emitted too,
* (_pic16_initPaths): link library libsdcc.lib by default,
* (_hasNativeMulFor): modified test for multiplication according to
Raphael Neider's remarks. Integer multiplication is also done with
support functions,
* device/include/pic16/pic18fregs.h: corrected type error in while
testing and including 18f6720 header file
* src/pic16/device.h (pic16_options): removed field use_crt,
* src/pic16/gen.c (genUnpackBits): added call to pic16_loadFSR0
until an optimization to handle single bits is added,
* (pic16_loadFSR0): moved before genUnpackBits,
* (genAnd): some white lines removed,
* src/pic16/main.c (_pic16_finaliseOptions): set omit_ivt and clear
leave_reset flags in pic16_options when using crt modules,
* src/pic16/device.h (pic16_options_t): added field use_crt,
crt_name, no_crt,
* src/pic16/genarith.c (pic16_genPlus): added an assert(0) line to
catch a probable future bug,
* src/pic16/gen.c: aopIdx function commented out,
* (genAssign): commented out old code which used aopIdx,
* src/pic16/glue.c (pic16glue): removed some legacy fragments of
code, added if conditionals to take into account the --use-crt
command line options,
* src/pic16/main.c (pic16_optionsTable): added new command line
options, --use-crt= and --no-crt,
* (_pic16_linkEdit): now the proper crt object is added in the
linker command line except than when --no-crt is specified,
* pcode.c,
* pcode.h: added some structures and functions for a new
optimization scheme to compansete for instruction overhead between
same iCodes, this scheme is currently under development and is not
working in any way,
* src/pic16/gen.c (genAnd): added patch provided by Aaron Collwell
to && operator,
* device/lib/pic16/startup/crt0i.c,
* device/lib/pic16/startup/crt0iz.c: added global char variable
__uflags to force the generation of an idata section
* src/port.h,
* src/mcs51/main.c,
* src/ds390/main.c,
* src/z80/main.c,
* src/hc08/main.c,
* src/pic/main.c,
* src/pic16/main.c,
* src/avr/main.c,
* src/xa51/main.c
* src/SDCCicode.c (geniCodeJumpTable): Better logic to determine if a
a jump table is the best form for a switch statement, including
automatic insertion of missing cases to make the case range
continuous. Developed in collaboration with Frieder Ferlemann.
* src/pic16/gen.c (genPackBits): added operand right in function
parameters, load result directly if p_type is POINTER (that is
called by genNearPointerSet)
* (genUnPackBits): added operand left in function parameters,
* (genNearPointerGet, genNearPointerSet): prevent the loading of
FSR0 if accessing bitfields,
epetrich [Tue, 31 Aug 2004 07:46:41 +0000 (07:46 +0000)]
* src/SDCCpeeph.c (labelIsReturnOnly): support hc08 rts opcode also
* src/SDCCpeeph.c (buildLabelRefCountHash): assume function entry point
labels are referenced at least once (even if a reference is not found)
* src/hc08/gen.c (emitcode): set isComment flag for comments
* src/hc08/peeph.def: added rules 5a..5f (optimize redundant immediate
loads), rules 6a..6b (optimize jumps to return)
epetrich [Mon, 30 Aug 2004 05:04:03 +0000 (05:04 +0000)]
* src/hc08/gen.c (loadRegFromAop): better use of clra & clrx
* src/hc08/gen.c (genAnd, genOr): fixed bug with conditional when
multi-byte volatile operands are used
* src/hc08/gen.c (shiftRLong): fixed bug with wrong rotate direction
* src/hc08/main.c (_hc08_genAssemblerPreamble): moved the built-in
initialization to area GSINIT0 so that it would always precede
any static initializers in GSINIT
* support/regression/tests/zeropad.c: fixed idata define for hc08
* support/regression/tests/bug-927659.c,
* support/regression/tests/float_trans.c: disabled tests for hc08
pending missing library routines
* .version: increased version number to 2.4.4 - hc08 port now passes
regression tests
vrokas [Sun, 29 Aug 2004 10:26:33 +0000 (10:26 +0000)]
* src/pic16/gen.c (genFunction, genEndFunction): fixed return
instruction for interrupt handlers, use fast returns when returning
from high priority interrupts