karri
f6b3bdda21
Add fixed Lynx sprite generation
2022-12-30 12:36:49 +02:00
karri
b4aa853e6f
Add fixed Lynx sprite generation
2022-12-30 12:21:49 +02:00
karri
aed6591b19
Add new method GetBitmapBPP as we need it for sprite math
2022-12-30 12:16:46 +02:00
karri
ebd1381030
Use same style in comments
2022-12-29 21:55:25 +02:00
karri
9cb0667260
Use same style in comments
2022-12-29 21:53:50 +02:00
karri
5ec5050af2
Remove redundant code
2022-12-29 21:48:28 +02:00
karri
05766d4bfe
Add support for 4 pixels per plane
2022-12-29 19:40:00 +02:00
karri
e953c1aa08
Add support for 4 pixels per plane
2022-12-29 19:28:16 +02:00
karri
817d129be8
Add support for 4 pixels per plane
2022-12-29 19:18:00 +02:00
Rutger van Bergen
ae23e47eb5
Merge branch 'cc65:master' into master
2022-12-26 13:57:10 +01:00
mrdudz
ddab16007a
run branch fixer again after replacing BRA by JMP. should fix #1936
2022-12-11 12:08:30 +01:00
mrdudz
15eb1c5f5e
support the msvc specific I64 specifier in our sprintf
2022-11-28 06:26:14 +01:00
mrdudz
05c2530243
it should have been I64x, not I64u
2022-11-28 06:25:45 +01:00
mrdudz
d6c37a757d
Merge branch 'master' into underscores
2022-11-19 17:11:11 +01:00
Bob Andrews
3513342445
Merge pull request #1913 from acqn/Diagnostics
...
[cc65] Improved diagnostics on div-by-zero/bitwise-shift in unevaluated context and overall
2022-11-18 19:55:51 +01:00
Bob Andrews
a0a9cfdcd3
Merge pull request #1918 from acqn/PPFix
...
[cc65] Fixed bitwise-shift in preprocessor
2022-11-18 19:09:55 +01:00
Bob Andrews
93b015660d
Merge pull request #1899 from acqn/TypeCmpFix
...
[cc65] Fixed compatibility checks on "pointer to pointer" vs "pointer to array" etc.
2022-11-18 19:04:35 +01:00
mrdudz
b166dc4261
hopefully thats it
2022-11-18 18:19:31 +01:00
mrdudz
bbe8c62e9d
coffee
2022-11-18 18:13:15 +01:00
mrdudz
a6feeac5ed
or msvc I64u ?
2022-11-18 18:10:07 +01:00
mrdudz
ca94cfcbac
that perhaps?
2022-11-18 18:03:40 +01:00
mrdudz
4c6fddd300
i want a cookie each time i do this
2022-11-18 17:58:12 +01:00
mrdudz
feb839e7f0
narrisch werd i!
2022-11-18 17:55:22 +01:00
mrdudz
8a9029d393
hnnngg
2022-11-18 17:50:32 +01:00
mrdudz
c6ecee0748
Babydino sagt: nochmal!
2022-11-18 17:45:21 +01:00
mrdudz
5fb20dec91
commit message
2022-11-18 17:41:22 +01:00
mrdudz
5638e0916a
spül es noch einmal, Sam
2022-11-18 17:39:35 +01:00
acqn
dadca9e033
Fixed bitwise-shift in PP.
2022-11-13 16:32:41 +08:00
acqn
3bcfa735cb
clearer comments on and usage of code generator flags with type conversions in the primary register.
2022-11-13 14:57:48 +08:00
acqn
9d693d2c80
Warnings instead of errors for division-by-zero/modulo-with-zero in evaluation.
2022-11-12 22:13:56 +08:00
acqn
73897aface
Additional check for out of ranges of bit-fields in bitwise-shifts.
2022-11-12 12:36:22 +08:00
acqn
75be73cc8d
Added utility functions to acquire bit width of types.
2022-11-12 12:32:27 +08:00
acqn
d0c9b2de99
Added basic shift count check for <<= and >>= operations.
2022-11-12 12:34:16 +08:00
acqn
2c3ca15d90
Fixed marking unevaluated subexpressions for conditional operator.
2022-11-12 12:32:27 +08:00
Bob Andrews
6924d44564
Merge pull request #1911 from acqn/TypeFix
...
[cc65] Organized type-related stuff better
2022-11-11 22:05:45 +01:00
Bob Andrews
ec2688b50e
Merge pull request #1910 from acqn/DeclFix
...
[cc65] Renamed a few functions and struct used for declaration parser
2022-11-11 21:41:04 +01:00
Bob Andrews
9c48c0ab8a
Merge pull request #1900 from acqn/Diagnostics
...
[cc65] Fixed endlessly repeated error messages when a declaration lacks a required identifier
2022-11-11 21:08:53 +01:00
acqn
e10b5fd79b
Renamed a few functions and struct used for declaration parser.
2022-11-08 14:42:52 +08:00
Silver Dream !
2dcccae036
Updated ATTR_UNUSED() for clang
2022-11-06 11:27:08 +00:00
mrdudz
5d1ad05cb8
oops
2022-11-05 20:48:53 +01:00
mrdudz
e5777f7ccf
add ATTR_UNUSED on the flags variable
2022-11-05 20:38:07 +01:00
mrdudz
1452d8164d
add ATTR_UNUSED and ATTR_NORETURN
2022-11-05 20:37:41 +01:00
Bob Andrews
680aacd4a7
Merge pull request #1907 from acqn/InputLineInfo
...
[cc65] Renamed some misleading functions relevent with input file info
2022-11-05 18:45:17 +01:00
acqn
8a7f566387
Fixed support for storage class specifiers after type specifiers.
2022-11-03 21:46:42 +08:00
acqn
991af3755b
Added support for _Static_assert in unions.
2022-11-03 21:46:41 +08:00
Bob Andrews
fef8436eb4
Merge pull request #1881 from acqn/ExprDesc
...
[cc65] Organized ExprDesc functions and fixed several comments
2022-11-04 14:22:22 +01:00
Bob Andrews
7146dbc87d
Merge pull request #1879 from acqn/SymEntryFix
...
[cc65] SymEntry cleanups
2022-11-04 14:06:47 +01:00
Lauri Kasanen
3ea999f034
Correct mvn, mvp, pei
2022-11-03 08:17:51 +02:00
Lauri Kasanen
b90bf258e2
Implement far override
2022-11-03 08:17:51 +02:00
Lauri Kasanen
db351b4228
Output remaining long labels
2022-11-03 08:17:51 +02:00
Lauri Kasanen
65907b1f10
Output MX states
2022-11-03 08:17:51 +02:00
Lauri Kasanen
4b04f81d37
Fix jsl length
2022-11-03 08:17:51 +02:00
Lauri Kasanen
1294c1c253
Implement changing-size opcodes
2022-11-03 08:17:51 +02:00
Lauri Kasanen
e8ee8435e9
Add addrMode to RANGE
2022-11-03 08:16:45 +02:00
Lauri Kasanen
89fc5e30c4
Remove unused and conflicting value
2022-11-03 08:15:48 +02:00
Lauri Kasanen
ea924ededd
Teach attrtab, labels and comments about long addresses
2022-11-03 08:15:48 +02:00
Lauri Kasanen
67384a29b7
Start on 65816
2022-11-03 08:08:38 +02:00
Bob Andrews
0eba33ee74
Merge pull request #1897 from acqn/TernaryFix
...
[cc65] Fixed errors in the conditional operator "? :" parser
2022-11-02 18:13:45 +01:00
Bob Andrews
37efb40c69
Merge pull request #1898 from acqn/PPFix
...
[cc65] Fixed '\\' + newline
2022-11-02 18:09:04 +01:00
Bob Andrews
5fd2b6fe4b
Merge pull request #1896 from acqn/EnumFix
...
[cc65] Fixed diagnostic messages on enumerator overflow
2022-11-02 17:34:31 +01:00
acqn
aa5d44b2b0
Fixed endlessly repeated error messages when a declaration lacks a required identifier.
2022-11-02 23:58:20 +08:00
acqn
9b39c3f949
Fixed garbage enum tag name appeared in diagnostic messages if the enum tag declaration failed.
2022-11-02 23:58:18 +08:00
acqn
d2f74db4d8
Fixed compatibility checks on "pointer to pointer" vs "pointer to array" etc.
2022-11-02 22:44:57 +08:00
acqn
deb5e97732
Fixed diagnostic messages on enumerator overflow.
...
An enumerator that would be incremented greater than ULONG_MAX now causes an error.
2022-11-02 14:22:21 +08:00
acqn
e9413567d7
Renamed several functions relevent with input file info.
2022-11-02 14:16:15 +08:00
acqn
8fb2576626
Fixed processing '\\' followed with a newline and line number output (-E) with it.
2022-11-02 14:09:15 +08:00
acqn
d84cc2d122
Fixed errors in the conditional operator "? :" parser.
2022-11-02 13:56:55 +08:00
Lauri Kasanen
c95c9c2749
Allow specifying range end as a size
2022-10-27 18:20:37 +03:00
acqn
b81e54c1d2
Organized ExprDesc functions and fixed several comments.
2022-10-24 14:55:39 +08:00
Lauri Kasanen
b052e64089
Speed up sim65 by 10%
2022-10-17 13:32:38 +03:00
Bob Andrews
34ff99aef0
Merge pull request #1877 from bbbradsmith/integer_constant_warning_rephrase
...
Rephrasing warnings for suspicious decimal integer constants
2022-10-16 22:15:59 +02:00
Bob Andrews
89031594eb
Merge pull request #1876 from bbbradsmith/constant_overflow_warning
...
Emit warning for signed integer constant overflow
2022-10-16 22:15:22 +02:00
Bob Andrews
b2238fdcd4
Merge pull request #1868 from acqn/PPFix
...
[cc65] Fixed and improved C preprocessor
2022-10-16 19:02:23 +02:00
Bob Andrews
3aadf6c66e
Merge pull request #1867 from acqn/Diagnostics
...
[cc65] Diagnostics improvements
2022-10-16 18:26:26 +02:00
bbbradsmith
66698d4b1a
Rephrasing warnings for suspicious decimal integer constants
2022-10-14 16:47:11 -04:00
bbbradsmith
4540205b0d
Emit warning for signed integer constant overflow
2022-10-13 23:49:07 -04:00
Lauri Kasanen
d52ef67d51
Fix compilation after the postproc merge
2022-10-12 10:28:14 +03:00
acqn
a4a1230c62
Renamed some C type facility and fixed a few comments.
...
Added some new C type code facility.
Removed some unused type predicates.
2022-10-12 13:10:17 +08:00
acqn
feaedc5b50
Better organized stuff related to C types.
2022-10-12 13:10:17 +08:00
acqn
a2dfa7c721
More consistent names for SymEntry functions.
2022-10-12 13:10:17 +08:00
acqn
164eb198ce
Moved type facility functions for deciding code generation type flags.
2022-10-12 13:10:17 +08:00
acqn
2cda47cd36
More descriptive names for SymEntry usage.
2022-10-11 14:14:48 +08:00
acqn
959be2c98c
SymEntry struct cleanups.
2022-10-11 14:14:38 +08:00
Bob Andrews
71d64a3c1c
Merge pull request #1857 from acqn/PPFix
...
[cc65] Improved preprocessor
2022-10-09 19:00:07 +02:00
acqn
9eab36b95a
Fixed block-scope extern declarations visibility.
...
Fixed missing file-scope static function codegen output in a rare care.
2022-09-30 14:32:08 +08:00
acqn
9900e7361d
#pragma message now uses the new "note" level message routine.
2022-09-30 09:09:09 +08:00
acqn
715aa919e6
C++ style comments in C89 mode will cause errors only once per input file.
2022-09-29 19:47:31 +08:00
acqn
29c9cb3e00
Improved diagnostics on conflicting type declarations.
2022-09-29 19:38:32 +08:00
acqn
96df4e8b5e
Added a diagnostic level "note" for infomative messages.
2022-09-29 19:38:32 +08:00
acqn
133507b031
Fixed line info for #pragma messages and diagnostics.
2022-09-29 17:55:09 +08:00
Rutger van Bergen
2b07204952
Merge branch 'cc65:master' into kim1
2022-09-19 20:03:23 +02:00
Rutger van Bergen
cb8cb876ec
Add documentation, make capitalization uniform
2022-09-19 19:56:57 +02:00
mrdudz
fd6d00a4dd
revert 6096a24
- this breaks the case when the "label" is an expression containing spaces.
...
fixes bug #1853
2022-09-17 14:41:59 +02:00
mrdudz
253af1ed07
Force 16bit address for absolute-indirect-x-indexed in 65816 mode.
...
should fix issue #1846 (and hopefully not break anything :))
2022-09-03 18:36:40 +02:00
acqn
b4ddd01d78
Fixed checks on __VA_ARGS__.
2022-09-01 12:58:52 +08:00
acqn
950606d46a
Improved diagnostics on wrong number of arguments in function-like macro calls.
2022-09-01 12:59:00 +08:00
acqn
92f94e4e5b
A space character will be inserted in front of a leading '#' pp-token as the result of macro expansion.
2022-09-01 12:58:52 +08:00
acqn
770e529b20
Fixed newline counting inside old C style comments.
2022-09-01 12:58:52 +08:00
acqn
3d1e322519
Fixed keeping spacing in certain rare cases.
2022-09-01 12:58:52 +08:00
acqn
942ee47d05
Changed supposed usage of the original line input stack. It is now used for reusing input lines.
2022-09-01 12:58:52 +08:00
acqn
dc001cb4be
Reverted E_ADDRESS_OF logic fix.
...
Added testcase.
2022-09-01 12:56:46 +08:00
mrdudz
5bda57de87
add extra underscore to _bzero, add a test for bzero/memset
2022-08-29 23:20:48 +02:00
mrdudz
d371046ae4
Despite not technically needed, it seems to be desirable to remove all trailing whitespace from inline assembly
2022-08-28 03:43:02 +02:00
mrdudz
6096a24f1d
dont add whitespace after a label to the actual label, this fixes the root cause of #1252
2022-08-28 03:41:48 +02:00
acqn
9f8bfb859c
Fixed handling adjacent macro expansions that should not concatenate.
...
Example: F()G /* expansion results of F() shall not be concatenated with G */
2022-08-22 14:34:50 +08:00
acqn
c7ff416ce9
Fixed wide strings for preprocessor.
2022-08-22 14:34:50 +08:00
acqn
be95cb8f58
Fixed stringized macro argument concatenation.
...
Example: #define s(a) L## #a.
2022-08-22 14:34:50 +08:00
acqn
6260414136
The '#' operator in macro replacement is now checked at macro definition instead of macro expansion.
2022-08-22 14:34:50 +08:00
acqn
2f6b5621cc
Changed handling on nested macro replacement to match up with the behavior of other major C compilers, which is unspecified by the C standard.
2022-08-22 14:34:50 +08:00
acqn
95e5471cd6
Better preprocess macro expansion.
2022-08-22 14:34:50 +08:00
acqn
43d2fd2a96
Added support for the popular __COUNTER__ macro.
2022-07-24 23:19:05 +08:00
Bob Andrews
d2628d5949
Merge pull request #1840 from acqn/FnParamFix
...
[cc65] Fixed function parameters declared as function types rather than function pointers
2022-08-26 23:19:55 +02:00
Bob Andrews
68610490c9
Merge pull request #1837 from acqn/PPLineFix
...
[cc65] Fixed predefined __FILE__, __LINE__ and added missing preprocessing directive #line
2022-08-26 23:12:59 +02:00
acqn
26945c32ac
Fixed function parameters declared as function types rather than function pointers.
2022-08-24 15:30:52 +08:00
acqn
57ad7c8766
Improved diagnostics about C++ style comments for c89.
2022-08-22 14:31:53 +08:00
acqn
fd7f32ecd3
Improved error handling and diagnostics with failed macro definitions.
2022-08-22 14:31:51 +08:00
acqn
9565f41381
Improved Diagnostic with #include.
2022-08-19 13:27:56 +08:00
acqn
5d5bd472c6
Removed extra whitespace at line ends in preprocess-only output (-E).
...
Increased threshold from 5 to 7 for skipped newlines with #line directives in preprocess-only output (-E).
2022-08-22 00:27:21 +08:00
acqn
79f97e7714
Reused code more for macros in preprocessing directives.
2022-08-22 00:24:28 +08:00
acqn
bb9c98f4c9
Added support for the #line directive.
2022-07-24 23:19:05 +08:00
acqn
36123c9c8f
Improved naming for stuff related to preprocessing directives.
2022-07-24 23:19:05 +08:00
acqn
624e5025b0
Fixed parsing wide char constants.
2022-08-17 22:28:00 +08:00
acqn
5cca1e8b1d
Fixed parsing numeric constants.
2022-08-11 10:55:16 +08:00
acqn
4bb4f033ea
Fixed the bug that C keywords were not simply recognized as identifiers in preprocessing.
2022-08-07 16:14:45 +08:00
acqn
7a139a800e
Added # and ## as punctuators recognized by the tokenizer.
...
Reorganized the token enum.
2022-08-06 18:45:49 +08:00
Bob Andrews
12b9b10355
Merge pull request #1832 from acqn/PPDefineFix
...
[cc65] Preprocessor directive #define fixes
2022-08-20 14:27:25 +02:00
Bob Andrews
03421694b2
Merge pull request #1817 from acqn/PPFix
...
[cc65] More preprocessor fixes
2022-08-19 21:37:16 +02:00
acqn
3fbefdef45
Fixed warning on forward declaration of enums.
...
Fixed the issue that global static variables put on zeropage were missing optimization.
2022-08-19 18:48:52 +08:00
acqn
cf7558add3
Added check for ## at either end of macro expansion.
2022-08-18 23:16:29 +08:00
acqn
47d5e74a6e
Modified way to keep undefined macro handling more consistent.
2022-08-18 22:51:23 +08:00
Bob Andrews
ec310fceb8
Merge pull request #1825 from ReallyNiceGuy/master
...
Revert: Parse file included inside a macro at definition time
2022-08-11 00:03:12 +02:00
acqn
78e80eb942
Fixed superfluous warning on pointer types comparing a non-void pointer to a void pointer.
2022-08-09 13:13:33 +08:00
Marco Aurelio da Costa
71a9ed04a2
Revert: Parse file included inside a macro at definition time
...
The reverted change broke too many use cases where users
where expecting the compiler quirky behavior to be the correct
behavior.
A better solution is needed for the quirk which does not break
current usage.
2022-08-07 11:24:47 -03:00
acqn
a3a5fbe809
Disallowed 'defined' as a macro name.
2022-08-07 13:56:47 +08:00
acqn
7971eec3cc
Fixed parentheses handling when a function-like macro name itself is used as an macro argument.
2022-08-07 12:45:48 +08:00
acqn
ae811baaf1
Fixed the bug that redefined macros could co-exist but not all be undefined with a single #undef.
2022-08-06 18:21:42 +08:00
acqn
0a051a4dee
Unsupported #pragma within argument lists of function-like macro invocation.
2022-08-06 16:56:28 +08:00
acqn
251e984ba8
Fixed error recovery with preprocessing directives failures.
2022-08-05 14:03:51 +08:00
Bob Andrews
2c742ffc1c
Merge pull request #1800 from acqn/PPFix
...
[cc65] Preprocessor fixes
2022-07-28 01:48:41 +02:00
acqn
f8d08b1e1a
More post-C99 predefined macros.
2022-07-26 21:40:19 +08:00
acqn
2f357ba9b2
Preprocessor directives can now appear in the argument list of function-like macro calls.
...
#pragma PP-tokens can now be macro replaced.
#include header names directly enclosed in <> are free of macro replacement.
Preprocess-only mode (-E) now outputs with #line as source info.
Moved testcases for #760 and #1357 .
Added testcase for #1643 .
2022-07-26 21:10:38 +08:00
acqn
80fc8cd11e
Added preprocessor warning on missing terminating characters of character/string literals.
2022-07-26 21:10:36 +08:00
acqn
2c9c8ee196
Fixed extra "Macro argument count mismatch" message when a macro argument list is unterminated.
2022-07-26 21:10:31 +08:00
acqn
60c1290468
Fixed the bug that preprocessor could run past the end of included files.
...
Fixed the wrong filename and 0 line number in disgnostics when a preprocessor error occurred at the end of a file.
Fixed diagnostics for missing #endif.
2022-07-26 21:10:26 +08:00
acqn
8289c94e69
Fixed skipped lines consist of a leading # followed by any non-directive PP-token sequence.
2022-07-26 14:28:27 +08:00
acqn
0063f73f8a
Fixed __FILE__ and __LINE__ macros for preprocessor.
2022-07-24 23:19:05 +08:00
acqn
7381a2c420
Added check for extra tokens at the end of directives.
...
Improved diagnostics on missing/illegal macro names.
2022-07-24 19:07:16 +08:00
acqn
be26b0631b
Fixed #ifdef and #ifndef.
2022-07-24 19:07:02 +08:00
acqn
066a5e0fec
Fixed #pragma charmap for string literals.
2022-07-24 16:38:41 +08:00
acqn
ac4cb258be
Removed a mysterious "Hey!" message.
2022-07-21 11:59:38 +08:00