1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-28 22:30:12 +00:00
Commit Graph

1611 Commits

Author SHA1 Message Date
uz
b607a61866 "S" is a keyword in 65816 mode only.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3958 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-03-06 09:56:22 +00:00
uz
60f525346f Fixed asm code to source line relation in switch statements. The switch code
was incorrectly attributed to the line following the switch statement.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3957 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-23 22:19:23 +00:00
uz
81a30cc888 Fixed source output in generated assembly when -T is used.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3956 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-23 22:11:18 +00:00
uz
82b998117a Added a separate output module that is used to manage the output file.
Fixed the -E switch: Output was always sent to stdout and an empty assembler
output file was generated. Now the output is sent to either <inputstem>.i or
the file named in the -o option.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3955 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-23 21:25:59 +00:00
uz
bf810bf001 When generating forward references to functions, use the default code address
size.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3948 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-02-22 16:38:07 +00:00
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