1
0
mirror of https://github.com/cc65/cc65.git synced 2025-01-14 16:33:00 +00:00

1493 Commits

Author SHA1 Message Date
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