uz
4dd9c523e7
Check for division by/modulo by zero when parsing the /= and %= operators.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3937 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-17 21:09:59 +00:00
uz
c4dac550a8
Small change to avoid endless error loops (aborted by the maximum error count)
...
if an unexpected token is encountered in Primary().
git-svn-id: svn://svn.cc65.org/cc65/trunk@3936 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-17 20:56:13 +00:00
uz
c94e82f8b2
Check for and flag address size modifiers that are invalid for the choosen CPU.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3927 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-10 21:10:50 +00:00
uz
823d0b7636
Makefile cleanup. Among other things, allow use of the --as-needed linker flag
...
by rearranging arguments for the linker.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3922 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-08 17:19:45 +00:00
uz
a3aca2ab67
Added special error messages for Groepaz.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3919 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-30 16:30:27 +00:00
uz
ab74b7bfd8
Another fix for the SB_SetIndex macro.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3916 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-26 08:28:29 +00:00
uz
f45e73164d
Fixed an error in the SB_SetIndex macro.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3915 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-26 08:08:28 +00:00
uz
1a54f34a84
Fixed a problem with recursive macro expansions. They didn't work if the same
...
macro was involved more than one time.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3911 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-24 16:31:18 +00:00
uz
dd5e5c43d8
Added a new SetIndex() function/macro.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3910 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-24 16:26:48 +00:00
uz
b4ced298b1
Rewrite va_copy.h - the check for a C89 compiler wasn't a really good idea,
...
since many compilers are broken in this respect.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3909 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-24 16:26:32 +00:00
uz
30f88d2646
Avoid spurious subsequent errors if an include file wasn't found.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3908 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-18 15:07:55 +00:00
uz
df341b6551
Fixed an optimizer problem: A branch into a list of at least two branches
...
pointing to themselves caused the optimizer to loop forever.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3907 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-01-12 19:48:28 +00:00
uz
308ceeacf9
Fixed problems with casts, where larger values weren't truncated when casting
...
down to char size.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3904 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-12-28 16:25:03 +00:00
uz
a1fbb4fe32
Add new --tabsize option to usage/help output.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3903 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-11-11 21:23:15 +00:00
uz
d6d807c3db
New option --tabsize.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3902 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-11-11 21:21:10 +00:00
uz
d66d72bf95
Be more tolerant with dos/windows line endings.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3901 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-11-11 21:16:51 +00:00
uz
17ac0cb4fa
Fixed the macro versions of several inline functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3900 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-31 18:31:18 +00:00
uz
1e46bc16e4
More changes to support address size qualifiers.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3899 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-31 18:24:33 +00:00
uz
63943c3f44
Test for pointer must use IsTypePtr not a direct compare. The later may (and
...
does) fail because of qualifiers.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3898 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-31 18:23:58 +00:00
uz
cc36f8a93a
Moved the fascall and near/far flags from the function desriptor into the
...
type. Started to add general handling of address size flags in types.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3891 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-24 17:33:30 +00:00
uz
5d4790a137
Enable use of new C like comments only if the new feature "c_comments" is
...
enabled.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3889 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-21 19:35:39 +00:00
uz
9f7fc6f4c8
Added C like /* */ comments.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3888 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-19 21:26:23 +00:00
uz
0b4f6426e2
Some more floating point support.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3886 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-11 17:51:00 +00:00
uz
0b60ac4716
Use GlobalModeFlags() if apropriate.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3885 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-09 20:33:11 +00:00
uz
1b29b536f3
Fixed a bug: Structure assignment was broken.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3884 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-08 16:47:43 +00:00
uz
1e672a3169
Fixed a bug: The op= operators (+=, -=, etc.) worked on const qualified
...
objects.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3883 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-07 22:22:58 +00:00
uz
66b3f9d974
Fixed a bug: It was possible to increment or decrement const qualified
...
objects.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3882 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-07 22:18:12 +00:00
uz
5cd0b86a1a
Indexing a string by an expression which was not a simple variable didn't
...
work: "abcd"[atoi("2")];
git-svn-id: svn://svn.cc65.org/cc65/trunk@3880 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-05 21:20:42 +00:00
uz
9127774a4d
Pass a complete ExprDesc and not just the Flags field to GlobalModeFlags to
...
allow for better debugging (output) in case of problems.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3879 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-05 21:11:26 +00:00
uz
ac895ef921
DoneStrBuf -> SB_Done (Stefan Haubenthal).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3878 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-05 20:56:35 +00:00
uz
dbb9a31fd9
Fixed wrong code generation for
...
((unsigned char *)(&shadow))[reg & 0x0f] = value;
git-svn-id: svn://svn.cc65.org/cc65/trunk@3875 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-05 19:47:57 +00:00
uz
d10f8525db
Fixed a comment.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3872 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-05 15:52:25 +00:00
uz
a1d7fed128
Fixed several problems with old style (K&R) declarations and a mix of old and
...
new style decls.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3869 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-03 20:55:36 +00:00
uz
3482a9e7ce
Fixed a comment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3868 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-03 20:09:03 +00:00
uz
24c6e1ce5b
Move some storage class handling and checking for implicit into from locals.c
...
and compile.c into ParseDecl() (declare.c).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3867 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-03 18:20:12 +00:00
uz
841ea0e686
Transfer the storage class flags from struct DeclSpec into struct Declaration.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3866 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-03 18:00:05 +00:00
uz
c76a8657b3
Fixed handling of function definitions with an empty parameter list. According
...
to the standard, an empty parameter list in a function declarator that is not
a definition means that the function may have any number of parameters. In a
function definition, it means that there are no parameters (as if the function
were declared with a "void" parameter list).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3865 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-03 15:30:03 +00:00
uz
4812feb44b
git-svn-id: svn://svn.cc65.org/cc65/trunk@3863 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-02 22:02:54 +00:00
cuz
6ecca264e4
In an old style function definition, print a diagnostic if a type is assigned
...
twice to a parameter.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3861 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-01 21:40:07 +00:00
cuz
357118697d
A label must always be followed by a statement. Check for this.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3860 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-01 20:00:23 +00:00
cuz
64ec376140
Switch statement may now contain arbitrary code as the standard requires. The
...
compiler will now accept stuff like Duffs device.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3859 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-01 19:44:01 +00:00
cuz
22d89f558e
Added several type checks, especially for functions. Moved check for implicit
...
int return type.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3858 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-31 18:31:15 +00:00
cuz
52c0c284da
Calling an undefined function is an error in C99.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3857 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-31 18:30:33 +00:00
cuz
b5511acf6f
Fixed an error
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3856 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-26 22:19:01 +00:00
cuz
258a8e7d4c
Move zpsave into its own segment to decrease the executable size.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3852 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-15 18:34:20 +00:00
cpg
254b252167
add "define=yes" for ZPSAVE segment, since it's needed by crt0.s
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3850 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-04 17:31:14 +00:00
cuz
f257b2ee81
Moved the data that keeps a copy of the used zero page locations in its own
...
segment to reduce the executable size.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3849 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-07-03 19:39:14 +00:00
cuz
c7aae0d3d8
Fixed an error in .out
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3846 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-06-29 20:13:37 +00:00
cuz
9dcd19eac9
Bumped the version number
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3840 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-04-21 20:14:29 +00:00
cuz
a623013e66
Bumped the version number
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3839 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-04-21 20:11:14 +00:00
cuz
225e1ca58e
More fixes for Watcom C / C89.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3829 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 21:28:50 +00:00
cuz
11e0421fa7
Fixed another problem with the macros.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3828 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 21:23:10 +00:00
cuz
e5782fdc20
Allow an optional '+' sign before an exponent of a floating point constant.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3827 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 21:17:27 +00:00
cuz
3f44e21b12
Fixed bugs in the macro versions of the GetStringId inline functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3826 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 21:13:10 +00:00
cuz
9174f65e54
Make much more usage of dynamic strings (StrBufs) instead of char* and
...
friends. Since names and other strings are now StrBufs in many places, code
for output had to be changed.
Added support for string literals to StrBuf.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3825 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 20:54:45 +00:00
cuz
6a7e844500
The conversion specifier to output a StrBuf had to be changed, because gcc
...
emits a warning for each such unknown conversion specifier.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3824 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-31 20:51:31 +00:00
cuz
46286ccffa
Fixed an error in the type comparison code. Function declarators were not
...
considered equal, if the functions defined different local structs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3822 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-29 12:17:32 +00:00
cuz
e917645145
New functions SB_ToLower and SB_ToUpper.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3821 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-27 13:40:38 +00:00
cuz
feae688346
Oliver Schmidt updated the graphics drivers and part of the C library for the
...
Apple machines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-16 09:37:22 +00:00
cuz
a21bf773e1
Fixed a bug in the optimizer. Loads of X and Y from memory were sometimes
...
replaced by loads of A with an immediate value (which is stored in said memory
location).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3813 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-02-27 20:37:02 +00:00
cuz
f1ea61581f
Patch for ca65html by Greg King:
...
The "ca65html.sgml" patch:
1) Removes text that says that the colorize option is non-standard.
2) Corrects the information about what is put on the index page.
The "ca65html" patch:
1) Looks for "?" and "@" at the front of cheap local labels.
2) Handles label assignment statements.
3) Parses many more ca65 dot-directives.
4) Handles every official op-code mnemonic that ca65 knows.
5) Recognizes both upper- and lower-case directives and mnemonics.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3810 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-02-20 17:27:19 +00:00
cuz
94f3a578a5
Allow optional assignments in .export and .exportzp statements.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3809 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-02-19 21:01:07 +00:00
cuz
a4b43370e7
More segment support stuff.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3806 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-09-02 19:49:12 +00:00
cuz
8db6dcd414
Started to add support for segments.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3805 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-31 20:27:53 +00:00
cuz
10efd998e0
Move code to a subroutine.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3804 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-31 20:23:37 +00:00
cuz
e8b90752d9
Preprocess the remainder of the line in a #include preprocessor directive.
...
This allows use of macros in the file spec and is a requirement of the C
standard.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3803 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-31 16:02:03 +00:00
cuz
47860910e0
Renamed the Val field to IVal to allow values of other types later.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3802 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-30 20:24:16 +00:00
cuz
3894b074a6
Move more stuff from scanner.c into the new module token.c.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3801 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-28 21:14:21 +00:00
cuz
79a89299b9
Added #warning (suggestion by Rudolf Schubert).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3799 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-28 12:53:43 +00:00
cuz
0b4a94a65e
Preparation for introducing token sources.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3798 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-27 20:39:02 +00:00
cuz
10c949062b
Fixed a bug: The compiler evaluated constant expressions internally always
...
using signed integers as data types. This led to wrong results for mod, div
and compares.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3797 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-26 18:53:46 +00:00
cuz
a7358314a0
New .FEATURE org_per_seg. If enabled, .org/.reloc do only influence the
...
current segment. Idea by Peter Wendrich <pwsoft@syntiac.com>.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3794 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-23 19:48:43 +00:00
cuz
24709a67d7
Applied Magervalps colorization changes with some minor modifications.
...
Colorization is now done by using CSS style sheets, so even colorized pages
are valid HTML.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3788 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-19 12:54:45 +00:00
cuz
363ff21b9c
Fixed umlauts
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3787 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-08-19 12:23:24 +00:00
cuz
57c2e0cc0b
Fixed an error handling SC_EXTERN.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3785 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-07-03 16:02:04 +00:00
cuz
fd7e66f24c
Fixed an error.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3784 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-07-03 16:01:51 +00:00
cuz
7e44cdbd5f
Fixed an error
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3783 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-06-28 10:28:34 +00:00
cuz
d1e184f93b
Fixed wrong spelling of ".dbyt".
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3781 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-06-12 15:51:48 +00:00
cuz
519730612e
Fixed hangs on certain info files. PC was not incremented when DataByteLine
...
is called.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3780 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-06-12 07:29:25 +00:00
cuz
fe52694b61
Fixed a problem with MagerValps changes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3778 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-05-21 20:51:55 +00:00
cuz
80a4c8c02b
Fix type of "&array" - it will actually generate pointer to array, not pointer
...
to element. This will make some valid code work but emits now errors for
questionable code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3775 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-03-18 19:15:35 +00:00
cuz
030ce6ad28
Using typdefs, it is possible to construct types that have qualifiers
...
attached to an array (not the elementtype). Fix these problems by tranfering
the qualifiers to the elements.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3774 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-03-18 18:26:00 +00:00
cuz
cfe263ea42
Fixed a bug introduced with the last patch
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3772 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-02-10 18:22:43 +00:00
cuz
6a9a5eeafc
Fixed an error in SB_Slice.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3770 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-02-07 14:25:51 +00:00
cuz
bcd13b2dca
MagerValp: I adjusted some of the regexps in ca65html again, to better detect
...
labels, and to eliminate false positives where labels start with three
characters matching an opcode.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3769 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-02-03 18:26:16 +00:00
cuz
9601baf6ec
Fixed internal compiler error on invalid input code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3768 b7a2c559-68d2-44c3-8de9-860c34a00d81
2007-02-03 18:11:37 +00:00
cuz
4846c27c77
Replace the fixed buffer in the Find() routine by a dynamically allocated
...
string using a StrBuf. This works around problems with Watcom C where
FILENAME_MAX was just 80.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3765 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-08-22 20:27:59 +00:00
cuz
eb745b3d1b
Fixed a problem with undefined identifiers in #if expressions: If the
...
identifier is not the last token on the line, the compiler will run into
an error.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3744 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-05-29 20:38:44 +00:00
cuz
b7255ed8fa
Terminate the line containing the #if expression before passing it to the
...
parser.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3743 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-05-29 20:36:21 +00:00
cuz
b6cb833560
Don't check for open .IF clauses when reaching the end of pushed input data.
...
This will allow to write macros that contain open .IFs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3740 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-05-21 11:23:22 +00:00
cuz
49719b0bd2
Removed a C99 construct
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3734 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-24 23:45:44 +00:00
cuz
e81d5ec00a
Added another optimization step
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3732 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-16 21:35:36 +00:00
cuz
7736aac1e2
Added more info about internal (builtin) functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3731 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-16 21:35:24 +00:00
cuz
21af43a800
Comment fix
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3730 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-16 20:32:09 +00:00
cuz
585791a789
Repeatedly call OptStore1 after OptJumpTarget because it is able to do some
...
more work in case of for loops.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3729 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-15 20:46:05 +00:00
cuz
1ac3cbe420
ldaxysp doesn't return flags any more.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3728 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-15 20:45:35 +00:00
cuz
c156b20738
Added some code rewriting (may enable optimizations in a few cases).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3727 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-15 20:31:43 +00:00
cuz
d82d94ecc1
Optimize decaxn
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3726 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-15 19:28:45 +00:00
cuz
c13f40a9f1
Emit warnings for symbols that were used suboptimal because of forward
...
definitions. For example a zero page symbol that is used as absolute because
it was undefined when encountered.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3724 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-09 10:56:23 +00:00
cuz
44405a0bb5
New function xdup.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3723 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-09 10:04:50 +00:00
cuz
155dc9c653
Corrected some runtime function info
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3721 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-07 08:38:30 +00:00
cuz
f507124733
Added lots of runtime function info.
...
Fixed a problem with wrong info for the incaxn functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3715 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-03 19:31:31 +00:00
cuz
c73c31c496
Added info for the staxspidx runtime function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3714 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-02 15:32:16 +00:00
cuz
4c0720709b
Fixed a few errors in the macros used by the Watcom compiler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3712 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-03-30 19:49:03 +00:00
cuz
d187424389
Fixed a problem of the optimizer. Unknown internal functions are marked as
...
using just EAX as input, and destroy all registers. This did cause the
optimizer to remove loads to zero page locations needed in the routines or
later.
Print a warning for unknown internal functions when in debug mode.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3711 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-03-24 15:24:34 +00:00
cuz
f196e7c5c9
Cleanup. Added a few general purpose functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3710 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-19 15:53:11 +00:00
cuz
de3a20a898
Changed the low level type representation from a strung of unsigned short
...
elements to a string of structs, each representing one type element. This
should fix problems on unusual architectures, since it is no longer necessary
to embedd pointers and other data converted to numbers in the string of
unsigned shorts.
Increased the TypeCode length to unsigned long to make room for more type
bits.
Inline more functions in datatype.h.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3709 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-19 12:29:37 +00:00
cuz
1375c85405
Removed an unneeded struct forward
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3708 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-18 12:23:07 +00:00
cuz
31d99b4a9f
Added the inline keyword
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3707 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-17 20:27:51 +00:00
cuz
64921852dd
Parse the C99 "restrict" keyword correctly (but ignore it otherwise).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3706 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-17 20:19:35 +00:00
cuz
32164ea8e5
Allow type qualifiers before a storage class spec.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3705 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-17 19:42:40 +00:00
cuz
cfca3473b8
Added new options and info file attribute to set the columns where the
...
fields of the disassembled output start.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3703 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-30 21:03:14 +00:00
cuz
d31f72d057
Restructured some of the code. Attribute handling is still a mess and needs
...
another cleanup.
Added unnamed labels.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3700 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-29 19:00:22 +00:00
cuz
7086da868b
New --label-break option
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3699 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-27 19:36:33 +00:00
cuz
45ffbc59f5
Fixed a problem with files that don't end with a newline
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3697 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-20 21:17:08 +00:00
cuz
1193a466d9
Fixed a problem with input files with end address $FFFF.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3696 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-19 22:03:17 +00:00
cuz
457c91aba9
Added a generic va_copy definition
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3684 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-11 12:58:21 +00:00
cuz
84706bd2d5
Fixed portability problems with va_copy. In three places, calls to fstat
...
had to be replaced by calls to stat, because fileno is no longer available
when forcing the compiler into pure c89 (or c99) mode.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3683 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-11 12:40:51 +00:00
cuz
2d66b55b9d
Fixed the latest bugfix
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3682 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-09 22:27:14 +00:00
cuz
0816559134
Fixed another bug with help of Greg King
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3681 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-07 17:47:46 +00:00
cuz
5227580f46
Ignore internal symbols when generating warnings about unused symbols
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3680 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-04 22:03:35 +00:00
cuz
66365154f8
Small map file string fix
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3678 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-02 23:18:32 +00:00
cuz
6662570a26
A local macro symbol with a cheap local name (@...) was not identified as
...
such.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3677 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-01 21:20:03 +00:00
cuz
a60ef7ecb6
A BSS segment with an alignment, that is written to a memory area with the
...
fill attribute caused invalid output.
While fixing this, added somewhat more debug output.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3668 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-22 16:17:28 +00:00
cuz
3c74435ac4
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3663 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-21 20:08:03 +00:00
cuz
6d66611108
Add symbol to disable inlining of functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3662 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 22:03:29 +00:00
cuz
101ce0941f
Add a linefeed after internal compiler error messages
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3661 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 21:51:50 +00:00
cuz
e17f08957c
Autodetect the Amiga when compiling
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3656 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 16:49:29 +00:00
cuz
33b874c4c8
Add explicit check for CPU_UNKNOWN to avoid SIGSEGV
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3652 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 13:09:41 +00:00
cuz
a63e74f691
Insert correct .setcpu line for HuC6280
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3651 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 12:52:53 +00:00
cuz
69485b5000
Fixed a problem with --feature labels_without_colons: The scanner inserts
...
a space at the beginning of a new file, with the assumption that this is a
"neutral" character. If above feature is enabled, it is no longer neutral,
so read the first character from the new input instead.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3650 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 12:30:24 +00:00
cuz
33542e3ed9
Use the new linker features in apple2.cfg. This makes apple2-tgi.cfg
...
obsolete.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3648 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-14 08:55:28 +00:00
cuz
f6cab70600
Fixed a typo
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3647 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-13 21:52:13 +00:00
cuz
00f24fe76a
More optimizations
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3645 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-12 22:38:19 +00:00
cuz
c7490cf060
Some function renaming.
...
Improved an optimization step.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3642 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-11 12:52:12 +00:00
cuz
bf6b40e97e
Bumped the version number for the snapshot
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3638 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-10 12:53:45 +00:00
cuz
48cc6288ca
Bumped the version number for 2.11.0
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3637 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-10 12:53:11 +00:00
cuz
51be13d115
Don't complain about missing includes when generating .depend
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3635 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-10 12:27:50 +00:00
cuz
d71265e363
Delete the auto-generated .inc files for target zap
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3634 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-10 12:22:23 +00:00
cuz
142c131f06
Fixed a problem with evaluation of the address size
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3621 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-02 20:32:09 +00:00
cuz
50645b8261
Added HuC6280 CPU
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3617 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-01 19:57:17 +00:00
cuz
0da9d41a00
Bumped the year in the copyright message
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3616 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-01 19:41:20 +00:00
cuz
d1ee736417
Added the remaining HuC6280 instructions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3615 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-01 19:40:34 +00:00
cuz
0bdf6211bc
Started to add support for the HuC6280 cpu
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3614 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-31 21:56:31 +00:00
cuz
e4ec9014d2
Reversed accidentally checked in changes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3613 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-31 21:49:12 +00:00
cuz
d6c50c1826
Added HuC6280 cpu (will be treated as a 65C02)
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3612 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-31 21:48:08 +00:00
cuz
c3ddd84251
Started to add support for the HuC6280 cpu
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3611 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-31 21:46:28 +00:00
cuz
400f593fb2
Added HuC6280 cpu
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3610 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-31 21:46:12 +00:00
cuz
2a19f6b700
Fixed minor and rather obscure problem: When including files, the line after
...
the .include statement went into the listing file, before the contents of
the include file. The problem was caused by the several levels of lookahead
in the scanner, and the only way to avoid it was to remove the calls to
NextTok () in relevant places - and add compensation for it in others.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3609 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-31 21:29:11 +00:00
cuz
476e3f9acc
Fixed a bug in FuncStrAt. New shortcut function GenLiteral0().
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3605 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-30 19:40:43 +00:00
cpg
3951e0a579
add "define=yes" for CODE segment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3603 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-29 22:14:21 +00:00
cuz
f21605a972
New atari builtin macro package that features a scrcode macro.
...
Changed the scrcode macro from the cbm builtin macro package to accept
multiple arguments of different types.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3598 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-28 21:42:03 +00:00
cuz
7b2cd44f8a
AttrTab and RtsTab were not able to handle label within data gracefully. This
...
should be fixed now (report by Stefan Haubenthal).
Bumped the copyright year.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3593 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-27 21:33:43 +00:00
cuz
a7476505a8
Added the "none" CPU.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3592 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-26 12:46:44 +00:00
cuz
e016695787
Added "none" CPU.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3591 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-26 12:44:25 +00:00
cuz
ddddb2acb5
Added check for gcc
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3590 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-26 12:44:15 +00:00
cuz
1bc775d21d
Fixed the copyright message
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3588 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-24 20:05:37 +00:00
cuz
1f6276d21e
Added a new option --macpack-dir that allows to load the macro packages
...
from files instead of using the builtin ones.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3587 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-24 20:05:08 +00:00
cuz
c83176e151
Fixed a wrong comment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3585 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-24 19:15:29 +00:00
cuz
805982dc8a
Move the macro package sources into own files
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3583 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-22 17:05:03 +00:00
cuz
9a2e6ab210
Add new options to usage info
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3578 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-12 21:31:06 +00:00
cuz
6e059fe547
Added new -Wa and -Wl options to pass options to the linker and assembler
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3577 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-12 21:27:39 +00:00
cpg
ee816e08e5
add __RESERVED_MEMORY__
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3570 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-07 15:49:50 +00:00
cuz
209954a4a2
Fixed a bug in the last change
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3563 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-31 19:56:04 +00:00
cuz
23f47e26d1
Fixed handling of expressions in .word and .addr instructions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3562 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-31 12:25:20 +00:00
cpg
fe645102e4
add TRAILER; calculate RAM size depending on start address
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3560 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-29 21:16:38 +00:00
cuz
b6ac59be03
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3558 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-29 20:33:25 +00:00
cuz
33e86250ea
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3557 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-28 22:52:59 +00:00
cuz
aa7cdf30de
Added simple expressions for the config file
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3556 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-28 19:50:22 +00:00
cuz
f02698b66d
Minor changes to the variadic macro feature. Added a copyright notice to
...
the file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3554 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-26 22:30:35 +00:00
cuz
1d5c1b1983
Added symbol definitions on the command line and weak symbols in the config.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3552 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-26 20:42:30 +00:00
cuz
1aeeffdc52
Added C99 variadic macros
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3547 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-24 22:14:41 +00:00
cuz
a45649752f
New syntax for symbols
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3546 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-24 21:09:23 +00:00
cpg
7101c646e3
set RAM start address to %S; add STARTADDRESS
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3545 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-24 20:57:00 +00:00
cpg
4382eb25c8
add EXTZP segment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3534 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-22 22:47:45 +00:00
izydorst
8734e863c2
- do not remove commas from quoted text (Stefan Haubenthal)
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3531 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-19 13:05:59 +00:00
cuz
c218639977
Fixed a bug: The compiler aborted with an internal error if a non function
...
was called as a function after printing the diagnostic.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3526 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-17 09:49:34 +00:00
cuz
37873a947f
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3524 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-06-30 20:29:18 +00:00
cuz
0da97c6711
Fixed a bug: Compiling an empty source file led to an internal error.
...
Changed the lineinfo module to take dynamically allocated string buffers
instead of char*.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3523 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-06-08 11:31:00 +00:00
cuz
71126c8200
Allow empty and comment lines in structs
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3519 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-29 11:57:53 +00:00
cuz
412a1300f9
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3513 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-17 12:42:34 +00:00
cuz
b01c0cf2b7
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3511 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-11 13:54:22 +00:00
cuz
945bbe2b50
Added variable symbols using .set
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3510 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-11 08:31:42 +00:00
cuz
765dc3442b
New .sprintf function
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3508 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-10 15:42:32 +00:00
cuz
76d94bc8d9
Added a .IDENT function
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3506 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-09 18:57:03 +00:00
cuz
480b61e0bf
Added va_copy for gcc version == 2
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3505 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-09 11:58:22 +00:00
cuz
a48bbd076d
Fixed parameter naming
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3504 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-08 20:41:10 +00:00
cuz
fa3e713cc7
Interruptor support for all systems.
...
New HEAP segment.
Both changes by Greg King.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3481 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-21 02:10:56 +00:00
cuz
fcd14f3d14
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3476 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-20 10:37:57 +00:00
cuz
9cd1ef08cc
Use "Assertion failed" as default message for .assert if no message was
...
given.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3474 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-20 09:28:26 +00:00
cuz
3a22d6c1c3
Improve the assertion check
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3472 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-20 09:17:04 +00:00
cuz
05ab8714d2
Evaluate .asserts with known conditions in the assembler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3471 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-19 22:03:30 +00:00
cuz
6170017f07
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3458 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-14 20:36:50 +00:00
cpg
9e61c50de1
add "define = yes" to LOWCODE, remove it from INIT and CODE
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3443 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-31 21:51:48 +00:00
cuz
d194bdd702
Fixed numeric OS ids. Added new OS OPENCBM
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3435 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-30 19:28:28 +00:00
cuz
842841a8ad
Minor changes requested by Oliver Schmidt
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3430 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-30 18:15:59 +00:00
cuz
fe2d8f26ed
Added library groups
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3420 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-26 16:26:11 +00:00
cuz
98e9934b89
Fixed a typo
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3419 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-25 22:43:28 +00:00
cuz
25dd95438f
No output when using wstrip
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3418 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-25 22:27:39 +00:00
cuz
6b03c250c2
Add the replacement startup file wildargv.obj to the library
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3415 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-25 14:04:30 +00:00
cuz
8a6fdb8562
Output the help text to stdout
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3414 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-24 20:08:41 +00:00
cuz
137b66ac97
Added the INIT segment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3413 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-24 10:52:07 +00:00
cuz
a54556f9f2
Cheap local symbol in a macro .local statement were broken
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3412 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-22 20:09:29 +00:00
cuz
6e55cd6fb3
Added extensions for new loadable modules
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3411 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-20 09:00:51 +00:00
cuz
bc4b71f565
Allow to remap the character with code zero.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3410 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-15 12:13:30 +00:00
cuz
bf9af68173
Fixed a bug and replaced tabs by spaces
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3409 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-11 13:02:20 +00:00
cuz
46cb3bb2e8
Move the constructor tables into the INIT segment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3403 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-26 09:06:12 +00:00
cuz
34017fb89a
Added the new INIT segment to all configs and adjusted formatting.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3402 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-25 07:52:50 +00:00
cuz
531320e242
Add creation time in the header
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3390 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-17 17:37:17 +00:00
cuz
0eec7d8a87
More comment handling
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3389 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-17 17:26:16 +00:00
cuz
e814c484c3
Added new comment feature
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3388 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-16 23:30:05 +00:00
cuz
00b644ad18
Suppress wine debug output
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3387 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-14 11:01:20 +00:00
cuz
26ae91efff
Allow numeric OS types in the config file
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3386 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-14 10:36:23 +00:00
cuz
e8abdea87c
In case of memory area overflows, generate a short mapfile if one was
...
requested. This eases the task of rearranging segments when such an
overflow occurs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3373 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-23 11:19:26 +00:00
cuz
27b5721cf6
Allow a unary +
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3371 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-21 12:57:41 +00:00
cuz
c68a75ceb4
Fixed zeropage segment declaration (syntax had changed some time ago).
...
Added support for exports.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3370 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-21 10:35:50 +00:00
cuz
2d623f00cc
Better error message when a file is not found in the FILES section.
...
Better error messages in case of a wrong section order in the config file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3369 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-20 07:55:38 +00:00
cuz
5b0ad76cd9
Recoded the last change
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3368 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-14 18:52:30 +00:00
cuz
8cd583d591
Fixed a bug (Report from Greg King)
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3367 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-14 18:40:33 +00:00
cuz
e06d9d0d84
Fixed a bug (hopefully).
...
The ArrayRef() does really need a rewrite, now since we have better
expression info.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3364 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-09 21:17:19 +00:00
cuz
6a1ff58499
Don't treat K&R functions as variadic. The standard (at least the C99 one)
...
says that passing an invalid number of parameters causes undefined behaviour,
so we don't need to handle that case.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3363 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-09 21:16:32 +00:00
cuz
5c1bc2d740
Output warnings for implicit int types if std >= C99.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3361 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-09 18:03:55 +00:00
cuz
9cd0b7705c
Fixed a bug: If all output data was discarded (by using file = "" in the
...
linker config), CheckExports was never called, which in turn meant that
the list of all exports was never built. This caused a crash later when
the linker tried to generate a map file. The solution is to separate the
creation of the exports list and the check for unresolved imports.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3360 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-09 13:16:51 +00:00
cuz
a456e503e4
More CfgName issues.
...
Use CfgError instead of calling Error directly.
Use dynamically allocated string buffers in the CfgError and CfgWarning
functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3359 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-08 21:38:17 +00:00
cuz
8559581d9f
Fixed several places were CfgName was used directly instead of calling
...
CfgGetName(). The former may be NULL, while the latter maps that to a
string like "builtin config".
git-svn-id: svn://svn.cc65.org/cc65/trunk@3358 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-08 21:08:59 +00:00
cuz
e128341854
Replace obsolete "wprot" segment type by "ro".
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3357 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-08 21:08:04 +00:00
cuz
83147e5fce
New info file statement "asminc" that allows to read in a file containing
...
symbol values in asm syntax.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3355 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-08 20:16:57 +00:00
cuz
7774e57eae
New segment attribute ALIGN_LOAD. Some cleanup.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3353 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-08 13:44:11 +00:00
cuz
1875825e78
New segment APPZP
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3352 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-06 13:20:23 +00:00
cuz
49d1a47269
Several improvements and a few bug fixes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3339 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-19 22:15:43 +00:00
cuz
218e722b91
Fixes for the Watcom compiler and some general improvements for older
...
compilers that don't have the va_copy macro.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3338 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-18 14:28:42 +00:00
cuz
ae70828938
Some improvements using the new SB_Printf for string buffers
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3335 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 22:43:52 +00:00
cuz
41ec19b72a
Use inttypes.h and the intmax_t/uintmax_t types
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3332 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 22:38:07 +00:00
cuz
3dab55e339
New module inttypes.h
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3331 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 22:37:30 +00:00
cuz
0ce95ffe6a
Fixed another bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3329 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 20:26:46 +00:00
cuz
5b851fb621
Fixed several bugs
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3328 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 20:07:49 +00:00
cuz
e43766ea93
Added a basic vsnprintf implementation to work around problems with compilers
...
that don't have it.
Added SB_VPrintf and SB_Printf as safe replacement for sprintf function
with the output going into a string buffer.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3327 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-15 21:23:22 +00:00
cuz
3692fd40da
New test optimization
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3310 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-27 21:13:07 +00:00
cuz
9ba5eafedf
Optimization step that handles load from *ptr++ if ptr is a char* register
...
variable.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3309 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-27 20:52:46 +00:00
cuz
d2c8a754db
Handle static functions correctly with %v.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3308 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-27 20:52:06 +00:00
cuz
d46b1a395b
Fixed a bug in code generation for left shifts
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3296 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-23 10:04:34 +00:00
cuz
1cb722ba7d
The absolute X indirect addressing mode for the 65C02 CPU was missing.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3266 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 20:20:55 +00:00
cuz
56656eac69
interruptor is now supported by the runtime
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3265 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:46:26 +00:00
cuz
8af1d395df
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3243 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-14 16:24:25 +00:00
cuz
d204e4a1ad
Added zilog/intel style hex numbers
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3242 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-11 19:01:51 +00:00
cuz
843c183698
Changes for new WINE version
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3241 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-11 17:09:56 +00:00
cuz
19e1167b82
Use Line only if available
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3238 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-10 10:30:03 +00:00
cuz
340a16e399
The --forget-inc-paths option did not work correctly
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3237 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-10 10:19:19 +00:00
cuz
8874a80ddd
Fixed a bug in inlined memcpy
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3236 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-09 19:09:35 +00:00
cuz
0e0183020d
Fixed a escape char const problem
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3235 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-09 14:32:27 +00:00
cuz
f962da83c2
Added the builtin config for the lynx game console
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3224 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-08 18:51:37 +00:00
cuz
b2af5120fb
Added the lynx target
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3218 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-08 09:23:59 +00:00
cuz
23ef4fa172
Added the lynx target
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3217 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-08 09:23:02 +00:00
cuz
856046e41d
Added SWEET 16 CPU
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3210 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-03 22:10:42 +00:00
cuz
7d0eb0d3ff
Added new CPU SWEET16
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3208 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-03 21:26:00 +00:00
cuz
7d72f47fe6
Added new CPU SWEET16
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3207 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-03 21:25:29 +00:00
cuz
e43054905b
Removed the shift runtime functions because there calling semantics have been
...
changed and size optimizations are no longer possible and needed.
Use the UNKNOWN_REGVAL constant instead of -1.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3202 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-28 19:44:17 +00:00
cuz
f2167895cd
Fixed a typo
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3200 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-23 19:05:57 +00:00
cuz
3b58383277
Allow to override CC65_LIB on the command line
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3199 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-23 19:05:49 +00:00
cuz
25c8f27d2f
Allow to override CC65_INC on the command line
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3198 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-23 19:04:00 +00:00
cuz
40d01eb4ce
Fixed bug with braces in initializer lists
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3193 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-23 17:34:03 +00:00
cuz
2414d6cd11
Invalid code was generated for a switch statement with no case labels.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3191 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-22 17:48:23 +00:00
cuz
cfef8e1e0d
Renamed __IRQFUNC_xxx -> __INTERRUPTOR_xxx
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3189 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:24:59 +00:00
cuz
e6b456a8a6
New condes type interruptor
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3188 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:23:57 +00:00
cuz
777dcff9bf
New condes type interruptor
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3187 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:15:01 +00:00
cuz
1b3e3633b9
Fixed a C99ism
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3183 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-16 14:31:40 +00:00
cuz
06b57e6e7e
Introduce a -E flag that activates just the preprocessor.
...
Use variable sized string buffers for input and macro processing instead
of the fixed buffers used before.
Many changes in the preprocessor to make it more standards compliant (which
it is still not).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3182 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-16 12:42:41 +00:00
cuz
684010abf1
Fixed a typo
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3178 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-10 09:55:55 +00:00
cuz
d2999d9e7e
Fixed the definition of the long branch macros to avoid "Constant expression
...
expected" errors when the branch target is outside the local scope.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3176 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-16 10:04:09 +00:00
cpg
7c1590b5d5
fix comment
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3174 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-04 00:10:55 +00:00
cuz
366d066375
Fixed the last fix
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3171 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-02 17:19:52 +00:00
cuz
123677c802
In a function call for all parameters not covered by a prototype, convert
...
arrays to pointer to first element, and functions to pointer to function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3169 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-02 16:39:55 +00:00
cuz
dd9ee0ae37
New function PtrConversion
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3168 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-02 16:37:00 +00:00
cuz
3b8b9704bc
Added IsODigit
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3167 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-29 20:51:58 +00:00
cuz
1fb5967496
Fixed inline assembler problems with instructions where implicit means
...
actually accumulator addressing. These went through and caused the
optimizer to behave strangely.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3164 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-18 09:34:52 +00:00
cuz
9b2834ef7e
Improve handling of files with foreign newline sequences.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3163 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-18 08:46:12 +00:00
cuz
104f041111
Add dummy return value to avoid a wcc warning
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3162 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-17 22:16:02 +00:00
cuz
feec244272
Remove exprnode.obj
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3161 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-17 22:15:43 +00:00
cuz
9c0bf14454
Fixed problems with unnamed labels
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3160 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-17 22:14:30 +00:00
cuz
764955a915
Make a few params const
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3155 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-11 14:06:49 +00:00
cuz
0ba074995c
Check for invalid function names before trying to compare the name against
...
the names of known standard functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3154 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-11 13:47:57 +00:00
cuz
725afdee94
Added SB_Compare
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3153 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-11 11:13:10 +00:00
cuz
1182d4cbd9
A main function not returning an int is not allowed in standard C
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3147 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-06 14:25:48 +00:00
cuz
2c3d5773f3
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3146 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-06 14:25:03 +00:00
cuz
9df7321d90
Cleanup in ShiftExpr.
...
Changed GetCodePos to also remember the stack pointer at the given location,
this removes the necessity to manipulate the stack when removing code. Since
CodeMark is now a struct, the API for most asmcode functions has changed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3145 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-06 11:30:08 +00:00
cuz
07419b62f8
Changed shift functions, added info about shift runtime functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3142 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-30 19:18:56 +00:00
cuz
76e31df5f8
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3140 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:48:35 +00:00
cuz
e354d269f6
Remove shifts from kcalc
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3139 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:44:50 +00:00
cuz
809d1408ce
Move shift expression evaluation into a separate module. More checks and
...
improvements for shift expressions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3138 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:44:01 +00:00
cuz
31f85bc23e
Renaming and cleanup
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3137 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:37:18 +00:00
cuz
e8afc897cf
Some renaming
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3136 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:35:39 +00:00
cuz
daf8e0d1e6
Added license information preproc.h
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3135 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:26:27 +00:00
cuz
b2b7006939
Fixed a problem
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3134 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-21 22:30:07 +00:00
cuz
13a2927e17
The -A and --ansi switches are gone, together with the __STRICT_ANSI__
...
predefined macro. Instead there is now a command line option --standard that
allows to set c89, c99 or cc65 as language standard. The compiler defines a
macro __CC65_STD__ that is one of __CC65_STD_C89__, __CC65_STD_C99__ or
__CC65_STD_CC65__ depending on the command line option. Default is cc65 (all
extensions) as before.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3133 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-21 22:22:11 +00:00
cuz
d01687fd82
Removed the undocumented, obsolete and unused OptDisable flagset
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3132 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 21:24:47 +00:00
cuz
ca2b070935
Make the -W flag stackable.
...
New pragmas codesize, optimize and warn.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3130 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 21:05:40 +00:00
cuz
d8279302a9
Make the -O and --codesize options stackable.
...
Copy the current optimization settings into a code segment on creation.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3129 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 20:29:49 +00:00
cuz
9cb7015055
Inline assembly can now reference C labels with the %g format specifier
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3128 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 20:08:01 +00:00
cuz
a3e6fbd21f
Some cleanup
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3127 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 20:05:54 +00:00
cuz
a3039d57fc
Fixed problems on 64 bit platforms and some other sloopyness when working
...
with the element count of an array.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3120 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-10 13:03:28 +00:00
cuz
300919d61f
Better error messages
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3119 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-10 11:02:05 +00:00
cuz
cb7c50a8ce
Fixed a warning
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3118 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-10 10:37:55 +00:00
cuz
d184d938fd
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3117 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-10 08:48:02 +00:00
cuz
573f1818df
Check the return code of the submakes (Christian Groessler)
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3115 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-09 19:30:33 +00:00
cuz
975323ece2
Renamed ExprLoad to LoadExpr.
...
Moved LoadExpr + support functions into a separate module.
Removed obsolete files.
Some cleanup and makefile adjustments.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3114 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-09 19:25:28 +00:00
cuz
8752f0b2c1
Removed ExprLoad to LoadExpr.
...
Moved LoadExpr + support functions into a separate module.
Removed obsolete files.
Some cleanup and makefile adjustments.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3113 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-09 14:12:57 +00:00
cuz
3ac1a08baf
Cleaned up the code used for handling jump labels and the label name.
...
Fixed a problem that caused the optimizer not to detect that flags set by
a load are used, if the use is "hidden" behind an unconditional branch. This
caused the optimizer to remove the load.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3111 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-07 21:16:49 +00:00
cuz
8425d988fe
Removed debug code
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3110 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 18:36:15 +00:00
cuz
71ed8810c3
Minor change
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3109 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 18:36:08 +00:00
cuz
f500a641c5
Added support for floating point constants in the scanner and Primary()
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3108 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 15:59:44 +00:00
cuz
9fc71c5e93
Renamed ExprDesc.Val to ExprDesc.IVal. Added an FVal field for a floating
...
point constant.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3107 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 14:48:59 +00:00
cuz
eb388aa237
The loop code will access the stackpointer directly
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3106 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 10:52:32 +00:00
cuz
651c6e5cbf
Add predefined type strings for float and double
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3105 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 10:49:59 +00:00
cuz
c76e14f9f5
Improved code for or and xor
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3102 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 22:10:04 +00:00
cuz
5586527fcc
Move the test flags into the Flags bitset of struct ExprDesc
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3101 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 20:29:47 +00:00
cuz
aa39d98cbc
When changing the reference to a jump label, do also replace the string
...
argument for the instruction with the name of the new jump label. This
allows CodeEntriesAreEqual to work in all cases, and therefore optimizations
based on this function will also work more effectively (or at all).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3100 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 16:21:07 +00:00
cuz
e4473c0a96
Repeat the check in OptJumpTarget whenever a match is found to find rows of matches
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3099 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 16:19:23 +00:00
cuz
522f1d86d4
Generate LDY instead of INY whenever possible because this allows better
...
detection of known patterns and is replaced by INY in a later step anyway.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3098 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 16:18:30 +00:00
cuz
08eb9b7b0e
Check for and warn on statements that don't have an effect
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3097 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 12:56:51 +00:00
cuz
3a0edbff75
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3096 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 11:50:04 +00:00
cuz
104ae3a54f
Move the compiler stack pointer into its own module.
...
Improved the inlining of standard C functions. Added more standard functions
to inline.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3095 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 11:35:53 +00:00
cuz
a0c1b9fe38
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3094 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 11:33:44 +00:00
cuz
1ec972d0c4
Fixed a typo
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3093 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 21:30:37 +00:00
cuz
3a144965fa
Added T_SIZE_T as an alias for T_UINT
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3090 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 17:52:19 +00:00
cuz
28a60dd8d5
Added strcpy
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3089 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 17:51:49 +00:00
cuz
da2049637a
Fixed a typo
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3088 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 17:00:48 +00:00
cuz
87d0d88986
Check the InlineStdFuncs flag later
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3086 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 14:37:50 +00:00
cuz
361316246b
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3085 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 14:36:54 +00:00
cuz
b1d7f78bce
More debugging output
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3084 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 14:36:36 +00:00
cuz
eb9d9ee0c5
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3083 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 14:06:36 +00:00
cuz
f4995609ef
Define symbols depending on the target system similar to the C compiler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3079 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-03 21:12:29 +00:00
cuz
8c4b3599a2
Fixed a typo
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3073 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-03 12:09:24 +00:00
cuz
2fa9b6e5ac
Improved code generation
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3072 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-03 12:08:49 +00:00
cuz
01104d26ea
Fixed generation of non optimal code in StructRef()
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3071 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-03 11:10:30 +00:00
cuz
763a359114
Comment and indentation changes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3070 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-03 11:08:50 +00:00
cuz
6e34e386cb
Rewrote code generation for the strlen standard function. Added code for
...
other standard functions in several places.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3069 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-02 21:33:35 +00:00
cuz
2bb2ceec33
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3067 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-02 21:20:18 +00:00
cuz
d8f7384091
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3066 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-01 20:30:44 +00:00
cuz
efdd68e735
Fix external function names
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3063 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-01 08:48:20 +00:00
cuz
111c69a826
String literals can be handled as static data in most cases
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3062 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-31 19:51:13 +00:00
cuz
f5403e7d57
Load programs at 13:5900 instead of 00
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3057 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-31 19:25:38 +00:00
cuz
8d8162eb23
Rewrite/cleanup of the complete expression flags handling.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3056 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-31 15:27:33 +00:00
cuz
ef6a034153
Removed unused modules
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3051 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-27 14:20:16 +00:00
cuz
fedb566ff1
Some renaming and restructuring
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3050 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-26 16:15:28 +00:00
cuz
4f024ca81b
Added a missing include
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3049 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-26 13:55:48 +00:00
cuz
72923eb316
Generate assembler names for symbols
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3048 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-26 13:44:53 +00:00
cuz
2cdef2d58f
Add standard names for library functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3047 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-26 13:42:19 +00:00
cuz
878e4f1352
Changed the expression parser to return the lvalue flag as part of the
...
ExprDesc structure, not as separate value.
WARNING: The current code does compile but does not work correctly, because
the lvalue flag is part of ExprDesc.Flags and not masked out in several tests
throughout the code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3046 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-25 20:59:38 +00:00
cuz
556b861640
Better error messages in case of a range error
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-14 15:05:51 +00:00
cuz
b58b62c77e
Better error messages
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3025 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-12 08:51:58 +00:00