1
0
mirror of https://github.com/cc65/cc65.git synced 2024-09-29 02:55:20 +00:00
Commit Graph

3521 Commits

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