OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.22/] [lcc/] [LOG] - Diff between revs 4 and 21

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 4 Rev 21
From lcc 4.1 to 4.2:
From lcc 4.1 to 4.2:
Below is a summary of the source-control log entries for those files
Below is a summary of the source-control log entries for those files
changed for lcc 4.2.
changed for lcc 4.2.
$Id: LOG,v 1.26 2002/08/26 23:59:51 drh Exp $
$Id: LOG,v 1.26 2002/08/26 23:59:51 drh Exp $
src/alloc.c:
src/alloc.c:
Fixed subtle alignment bug on p. 28.
Fixed subtle alignment bug on p. 28.
src/dag.c:
src/dag.c:
Renamed kill to killnodes to avoid possible clash with kill in .
Renamed kill to killnodes to avoid possible clash with kill in .
Made address interface function optional.
Made address interface function optional.
Ensured that generated locals, even if not temps, are
Ensured that generated locals, even if not temps, are
added to the code list.
added to the code list.
Avoided calls to undag when errcnt>0.
Avoided calls to undag when errcnt>0.
Changed listnodes so that array types decay to pointers; bug
Changed listnodes so that array types decay to pointers; bug
tickled by -n option.
tickled by -n option.
src/decl.c:
src/decl.c:
Moved call to retcode that injects a return at the end of a function
Moved call to retcode that injects a return at the end of a function
into compound so that temps created by retcode will be
into compound so that temps created by retcode will be
scoped properly.
scoped properly.
Fixed bug in which functions that return const struct S {...} issued
Fixed bug in which functions that return const struct S {...} issued
an incorrect diagnostic.
an incorrect diagnostic.
Ensure addressed is set for local arrays.
Ensure addressed is set for local arrays.
src/enode.c:
src/enode.c:
Corrected type conversions in addtree for ADD+P nodes;
Corrected type conversions in addtree for ADD+P nodes;
stripped qualifiers from pointer types in eqtree and cmptree.
stripped qualifiers from pointer types in eqtree and cmptree.
src/event.c:
src/event.c:
Revise functions called at events so all have the same signature,
Revise functions called at events so all have the same signature,
modulo pointer types.
modulo pointer types.
src/expr.c:
src/expr.c:
With -b, avoid instrumenting  constant ?: expressions.
With -b, avoid instrumenting  constant ?: expressions.
Fixed bug in wide-character literals.
Fixed bug in wide-character literals.
Fix allocation error for identifiers injected to quell
Fix allocation error for identifiers injected to quell
undeclared identifier errors;
undeclared identifier errors;
Correct int type added to addresses in field offsets.
Correct int type added to addresses in field offsets.
src/gen.c:
src/gen.c:
Made emitasm extern.
Made emitasm extern.
src/input.c:
src/input.c:
Fixed bug in resynch that caused infinite loop.
Fixed bug in resynch that caused infinite loop.
Added #ident recognition, which simply ignores it.
Added #ident recognition, which simply ignores it.
src/symbolic.c:
src/symbolic.c:
Revised symbolic back end to emit -0.0 correctly.
Revised symbolic back end to emit -0.0 correctly.
Emit flags in symbolic output.
Emit flags in symbolic output.
src/bytecode.c:
src/bytecode.c:
Fixed double output botch in defconst in bytecode backend.
Fixed double output botch in defconst in bytecode backend.
src/dagcheck.c:
src/dagcheck.c:
Added mssing cases in dagcheck's reduce for types signedptr
Added mssing cases in dagcheck's reduce for types signedptr
and unsignedptr. Without these, reduce can fail.
and unsignedptr. Without these, reduce can fail.
src/lex.c:
src/lex.c:
Permit \ to escape newline in string literals.
Permit \ to escape newline in string literals.
Fixed scon() so that it accepts and concatenates adjacent wide-character literals.
Fixed scon() so that it accepts and concatenates adjacent wide-character literals.
src/main.c:
src/main.c:
Fixed long-standing bug in which -n, -b, -C, and -a options caused
Fixed long-standing bug in which -n, -b, -C, and -a options caused
interface functions to be called before progbeg.
interface functions to be called before progbeg.
src/mips.md:
src/mips.md:
Fixed FP comparisons to handle NaNs correctly.
Fixed FP comparisons to handle NaNs correctly.
Round up framesize to a multiple of 16 for Irix 6.x;
Round up framesize to a multiple of 16 for Irix 6.x;
added casts in defconst to discard unused bits.
added casts in defconst to discard unused bits.
src/prof.c:
src/prof.c:
Revise functions called at events so all have the same signature,
Revise functions called at events so all have the same signature,
modulo pointer types.
modulo pointer types.
Change ftype to build arbitrary prototypes.
Change ftype to build arbitrary prototypes.
Fixed long-standing bug in which -n, -b, -C, and -a options caused
Fixed long-standing bug in which -n, -b, -C, and -a options caused
interface functions to be called before progbeg.
interface functions to be called before progbeg.
Also, added missing call to space.
Also, added missing call to space.
Relaxed assertion in loop that searches for
Relaxed assertion in loop that searches for
embedded CALL nodes.
embedded CALL nodes.
Emit correct padding in generated -b strutures.
Emit correct padding in generated -b strutures.
Revised call hook to find CALL nodes embedded
Revised call hook to find CALL nodes embedded
at any depth.
at any depth.
Edited bbincr so that it doesn't inject increments in constant expressions.
Edited bbincr so that it doesn't inject increments in constant expressions.
src/profio.c:
src/profio.c:
Change compare's prototype to conform to ANSI standard;
Change compare's prototype to conform to ANSI standard;
change calls to qsort accordingly.
change calls to qsort accordingly.
Fixed implicit assumption that execution point i in file f always
Fixed implicit assumption that execution point i in file f always
refers to the same x,y. This isn't true for noweb files.
refers to the same x,y. This isn't true for noweb files.
src/simp.c:
src/simp.c:
Made address interface function optional.
Made address interface function optional.
Tighten test that avoids folding addressing expressions
Tighten test that avoids folding addressing expressions
for switch tables when the offset exceeds 16 bits. Without
for switch tables when the offset exceeds 16 bits. Without
this addition, lcc can emit erroneous "initializer must be
this addition, lcc can emit erroneous "initializer must be
constant" diagnostics.
constant" diagnostics.
Revised simplify() so that if doesn't call address to
Revised simplify() so that if doesn't call address to
fold (ADDGRP a n) when n exceeds 16 bits.
fold (ADDGRP a n) when n exceeds 16 bits.
Reordered tests in MOD+I case so expressions like 6%1 fold correctly.
Reordered tests in MOD+I case so expressions like 6%1 fold correctly.
src/sparc.md:
src/sparc.md:
Fixed FP comparisons to handle NaNs correctly.
Fixed FP comparisons to handle NaNs correctly.
Added casts in defconst() to emit constants with proper sizes.
Added casts in defconst() to emit constants with proper sizes.
Replaced pseudo-instructions st2/ld2 with pairs of st/ld instructions.
Replaced pseudo-instructions st2/ld2 with pairs of st/ld instructions.
src/stmt.c:
src/stmt.c:
Fixed botch in 2.16 revision.
Fixed botch in 2.16 revision.
Fixed return statement so that "return;" in a function that returns
Fixed return statement so that "return;" in a function that returns
a value returns 0. Similar code is already in decl.nw.
a value returns 0. Similar code is already in decl.nw.
Resynch to distributable version.
Resynch to distributable version.
Used dynamic variables for loop and switch handles.
Used dynamic variables for loop and switch handles.
Fixed bug in which functions that return const struct S {...} issued
Fixed bug in which functions that return const struct S {...} issued
an incorrect diagnostic.
an incorrect diagnostic.
Appended a missing \n to a warning.
Appended a missing \n to a warning.
src/sym.c:
src/sym.c:
Revised 2.19's code for comparing -0.0 and 0.0 so that it works
Revised 2.19's code for comparing -0.0 and 0.0 so that it works
correctly when long double's occupy more bytes than the actual
correctly when long double's occupy more bytes than the actual
values, as on the x86 under gcc.
values, as on the x86 under gcc.
Fix constant() so that it treats -0.0 and +0.0 as different constants.
Fix constant() so that it treats -0.0 and +0.0 as different constants.
Added newtable() to allocate empty symbol tables.
Added newtable() to allocate empty symbol tables.
src/trace.c:
src/trace.c:
Revise functions called at events so all have the same signature,
Revise functions called at events so all have the same signature,
modulo pointer types.
modulo pointer types.
Change ftype to build arbitrary prototypes.
Change ftype to build arbitrary prototypes.
Fixed long-standing bug in which -n, -b, -C, and -a options caused
Fixed long-standing bug in which -n, -b, -C, and -a options caused
interface functions to be called before progbeg.
interface functions to be called before progbeg.
src/tree.c:
src/tree.c:
Correct revision 2.9's implementation of check to avoid
Correct revision 2.9's implementation of check to avoid
superfluous diagnostics on widening conversions.
superfluous diagnostics on widening conversions.
Avoid diagnostics for superfluous widening conversions.
Avoid diagnostics for superfluous widening conversions.
src/types.c:
src/types.c:
Revise fieldmask definition so it works
Revise fieldmask definition so it works
for all values of fieldsize.
for all values of fieldsize.
Change ftype to build arbitrary prototypes.
Change ftype to build arbitrary prototypes.
src/x86.md:
src/x86.md:
Fixed FP comparisons to handle NaNs correctly.
Fixed FP comparisons to handle NaNs correctly.
Changed ARGB instruction sequence to decrement
Changed ARGB instruction sequence to decrement
esp by the size of the structure rounded up to 4.
esp by the size of the structure rounded up to 4.
Changed struct allignment to 1; this required changing local to
Changed struct allignment to 1; this required changing local to
insure that on-stack structs are aligned to at least 4 bytes.
insure that on-stack structs are aligned to at least 4 bytes.
Added cast in defconst to eliminate extraneous bits.
Added cast in defconst to eliminate extraneous bits.
Fixed float-to-int conversions so they truncate properly;
Fixed float-to-int conversions so they truncate properly;
fixed assembler syntax errors on x86/linux.
fixed assembler syntax errors on x86/linux.
Fixed frame size adjustment for frames >= 4096; now calls _chkstk
Fixed frame size adjustment for frames >= 4096; now calls _chkstk
to allocate large frames.
to allocate large frames.
Fixed overly specific opcode for loading constants.
Fixed overly specific opcode for loading constants.
Changed add/sub to addl/subl in potentially ambiguous
Changed add/sub to addl/subl in potentially ambiguous
instructions in the x86/linux back end.
instructions in the x86/linux back end.
cpp/cpp.c:
cpp/cpp.c:
Added line to fix Nelson Beebe's bug using #defined x X.
Added line to fix Nelson Beebe's bug using #defined x X.
cpp/cpp.h:
cpp/cpp.h:
Revised to use stdio for output.
Revised to use stdio for output.
Converted to use stdio for input.
Converted to use stdio for input.
cpp/eval.c:
cpp/eval.c:
Added evaluation stack overflow checks.
Added evaluation stack overflow checks.
Included stdio.h.
Included stdio.h.
cpp/getopt.c:
cpp/getopt.c:
Include ; cut decl. for strchr.
Include ; cut decl. for strchr.
cpp/hideset.c:
cpp/hideset.c:
Fixed potential sizeof botches.
Fixed potential sizeof botches.
cpp/include.c:
cpp/include.c:
Revised to use stdio for output.
Revised to use stdio for output.
Removed unused wd[].
Removed unused wd[].
Fixed incorrect check of fopen return value.
Fixed incorrect check of fopen return value.
Converted to use stdio for input.
Converted to use stdio for input.
cpp/lex.c:
cpp/lex.c:
Fixed incorrect test of fd value; fixed comments.
Fixed incorrect test of fd value; fixed comments.
Converted to use stdio for input.
Converted to use stdio for input.
cpp/macro.c:
cpp/macro.c:
Fixed obscure bug that occurs when string literals are stored
Fixed obscure bug that occurs when string literals are stored
in read-only memory. -DX attempts to append a null byte to "1".
in read-only memory. -DX attempts to append a null byte to "1".
Found by Nelson Beebe.
Found by Nelson Beebe.
Converted to use stdio for input.
Converted to use stdio for input.
cpp/nlist.c:
cpp/nlist.c:
Removed unused wd[].
Removed unused wd[].
Added #ident; ignored as for #pragma.
Added #ident; ignored as for #pragma.
cpp/tokens.c:
cpp/tokens.c:
Revised to use stdio for output.
Revised to use stdio for output.
Fixed erroneous initialization and check of FILE * value.
Fixed erroneous initialization and check of FILE * value.
cpp/unix.c:
cpp/unix.c:
Revised to use stdio for output.
Revised to use stdio for output.
Fixed erroneous initialization and check of FILE * value.
Fixed erroneous initialization and check of FILE * value.
Converted to use stdio for input.
Converted to use stdio for input.
etc/irix.c:
etc/irix.c:
Added -D_LONGLONG, because some SGI assume this.
Added -D_LONGLONG, because some SGI assume this.
Reported by Nelson Beebe.
Reported by Nelson Beebe.
Added -32 option to insure O32 object files and libraries are used.
Added -32 option to insure O32 object files and libraries are used.
etc/lcc.c:
etc/lcc.c:
Fixed -l file so that file doesn't have to exist.
Fixed -l file so that file doesn't have to exist.
Changed \ to / at the end of Win32 include paths.
Changed \ to / at the end of Win32 include paths.
Added casts and prototypes to make _spawnvp compatible
Added casts and prototypes to make _spawnvp compatible
with Win32 version.
with Win32 version.
Permit -dynamic -static on all systems, using option to check
Permit -dynamic -static on all systems, using option to check
for validity.
for validity.
Edited help messages.
Edited help messages.
Look for -Wf-unsigned_char=1 and added
Look for -Wf-unsigned_char=1 and added
-D__CHAR_IUNSIGNED__ and -U_CHAR_IS_SIGNED to the cpp
-D__CHAR_IUNSIGNED__ and -U_CHAR_IS_SIGNED to the cpp
command line. These options interact with changes to the
command line. These options interact with changes to the
standard header limits.h to set CHAR_MIN and CHAR_MAX correctly.
standard header limits.h to set CHAR_MIN and CHAR_MAX correctly.
Look for -Wf-wchar_t=... and define _WCHAR_T_SIZE appropriately,
Look for -Wf-wchar_t=... and define _WCHAR_T_SIZE appropriately,
which interacts with stddef.h and stdlib.h to typedef wchar_t correctly.
which interacts with stddef.h and stdlib.h to typedef wchar_t correctly.
Fixed botch in initinputs that cleared LCCINPUTS.
Fixed botch in initinputs that cleared LCCINPUTS.
etc/win32.c:
etc/win32.c:
Added oldnames.lib to link command.
Added oldnames.lib to link command.
Cut useless -align directive in ld command.
Cut useless -align directive in ld command.
include/*/*/limits.h:
include/*/*/limits.h:
Corrected name: __CHAR_IS_UNSIGNED__ should be __CHAR_UNSIGNED__.
Corrected name: __CHAR_IS_UNSIGNED__ should be __CHAR_UNSIGNED__.
Define CHAR_MIN/CHAR_MAX depending on defintion of __CHAR_IS_UNSIGNED__.
Define CHAR_MIN/CHAR_MAX depending on defintion of __CHAR_IS_UNSIGNED__.
include/*/*/locale.h:
include/*/*/locale.h:
Change NULL to ((void*)0).
Change NULL to ((void*)0).
Protected definition of NULL;
Protected definition of NULL;
defined NULL as 0L on osf systems.
defined NULL as 0L on osf systems.
include/*/*/stdarg.h:
include/*/*/stdarg.h:
Fixed typedef for __va_list so it's protected by #ifdef.
Fixed typedef for __va_list so it's protected by #ifdef.
Fixed missing #endif;
Fixed missing #endif;
protected definition of va_list by _VA_LIST_DEFINED.
protected definition of va_list by _VA_LIST_DEFINED.
Changed the type of va_list.
Changed the type of va_list.
Insured only va_list was conditionally defined.
Insured only va_list was conditionally defined.
Insured _VA_LIST is defined.
Insured _VA_LIST is defined.
Revised __va_arg macro to handle va_arg(float) correctly;
Revised __va_arg macro to handle va_arg(float) correctly;
this addition required a static double temporary, which is
this addition required a static double temporary, which is
less than elegant and subject to order-of-evaluation bugs.
less than elegant and subject to order-of-evaluation bugs.
include/*/*/stddef.h:
include/*/*/stddef.h:
Change NULL to ((void*)0).
Change NULL to ((void*)0).
Added _x_T_DEFINED flag macros for Windows compatibility.
Added _x_T_DEFINED flag macros for Windows compatibility.
Added code to typedef wchar_t to unsigned char, short, or int
Added code to typedef wchar_t to unsigned char, short, or int
depending on the value of _WCHAR_T_SIZE.
depending on the value of _WCHAR_T_SIZE.
Protected definition of NULL;
Protected definition of NULL;
defined NULL as 0L on osf systems.
defined NULL as 0L on osf systems.
include/*/*/stdio.h:
include/*/*/stdio.h:
Change NULL to ((void*)0).
Change NULL to ((void*)0).
Added _x_T_DEFINED flag macros for Windows compatibility.
Added _x_T_DEFINED flag macros for Windows compatibility.
Changed the type of va_list.
Changed the type of va_list.
Protected definition of size_t by _SIZE_T_DEFINED;
Protected definition of size_t by _SIZE_T_DEFINED;
added definition for va_list protected by _VA_LIST.
added definition for va_list protected by _VA_LIST.
Protected definition of NULL;
Protected definition of NULL;
defined NULL as 0L on osf systems.
defined NULL as 0L on osf systems.
include/*/*/stdlib.h:
include/*/*/stdlib.h:
Change NULL to ((void*)0).
Change NULL to ((void*)0).
Added _x_T_DEFINED flag macros for Windows compatibility.
Added _x_T_DEFINED flag macros for Windows compatibility.
Added code to typedef wchar_t to unsigned char, short, or int
Added code to typedef wchar_t to unsigned char, short, or int
depending on the value of _WCHAR_T_SIZE.
depending on the value of _WCHAR_T_SIZE.
Protected definition of NULL;
Protected definition of NULL;
defined NULL as 0L on osf systems.
defined NULL as 0L on osf systems.
include/*/*/string.h:
include/*/*/string.h:
Change NULL to ((void*)0).
Change NULL to ((void*)0).
Added _x_T_DEFINED flag macros for Windows compatibility.
Added _x_T_DEFINED flag macros for Windows compatibility.
Protected definition of NULL;
Protected definition of NULL;
defined NULL as 0L on osf systems.
defined NULL as 0L on osf systems.
include/*/*/time.h:
include/*/*/time.h:
Change NULL to ((void*)0).
Change NULL to ((void*)0).
Added _x_T_DEFINED flag macros for Windows compatibility.
Added _x_T_DEFINED flag macros for Windows compatibility.
Protected definition of NULL;
Protected definition of NULL;
defined NULL as 0L on osf systems.
defined NULL as 0L on osf systems.
lburg/lburg.c:
lburg/lburg.c:
Simplified use of va_arg to accommodate gcc bug.
Simplified use of va_arg to accommodate gcc bug.
Added ()s to avoid bogus compilation error on Linux.
Added ()s to avoid bogus compilation error on Linux.
lib/assert.c:
lib/assert.c:
Added EXPORT and default definition.
Added EXPORT and default definition.
lib/bbexit.c:
lib/bbexit.c:
Access _caller via indirection; add _setcallerp.
Access _caller via indirection; add _setcallerp.
Added EXPORT and default definition.
Added EXPORT and default definition.
Changed profiling counters to ints.
Changed profiling counters to ints.
lib/yynull.c:
lib/yynull.c:
Added EXPORT and default definition.
Added EXPORT and default definition.
tst/cq.c:
tst/cq.c:
Added prototypes to function pointer initializations.
Added prototypes to function pointer initializations.
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.