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
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
Bob Andrews
8605393953
Merge pull request #1834 from acqn/PPFix
...
[cc65] Minor improvements, fixes and cleanups with the preprocessor
2022-08-21 19:18:46 +02:00
Bob Andrews
f838ba7341
Merge pull request #1833 from acqn/TokenizerFix
...
[cc65] Tokenizer fixes
2022-08-21 17:45:38 +02:00
acqn
47ee543fe0
Added testcase for some part of PR #1833 .
2022-08-21 00:11:19 +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
Bob Andrews
98491d7c92
Merge pull request #1831 from acqn/DeclFix
...
[cc65] Fixed issues with forward declaration of enums and global static variables put on zeropage
2022-08-19 20:58:28 +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
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
cf7558add3
Added check for ## at either end of macro expansion.
2022-08-18 23:16:29 +08:00
acqn
b93f9fbba4
Updated documents about the predefined macros.
2022-08-18 22:51:23 +08:00
acqn
47d5e74a6e
Modified way to keep undefined macro handling more consistent.
2022-08-18 22:51:23 +08:00
Bob Andrews
b8211a2921
Update Contributing.md
2022-08-17 21:42:42 +02: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
Bob Andrews
623f047397
Merge pull request #1509 from mrdudz/rremd
...
C64 Retro Replay EMD driver
2022-08-11 01:11:16 +02:00
Bob Andrews
38c4449ab1
Merge pull request #1826 from alejandro-colomar/master
...
Make NULL conform to POSIX
2022-08-11 01:10:16 +02:00
mrdudz
c1fd3218df
add test related to pr #1799
2022-08-11 00:59:09 +02:00
mrdudz
f942c629d7
simple test related to issue #1655
2022-08-11 00:04:36 +02: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
Alejandro Colomar
f14e793197
Make NULL conform to POSIX
...
POSIX.1-2008 tightened the definition of NULL to be 0 cast to the
type 'void *'.
Defining NULL as 0 is problematic, because it requires users to
cast NULL to a pointer type before passing it to variadic
functions. Using POSIX's definition is safer, because NULL can be
used in all contexts without a cast, due to the alignment of
'void *' and 'char *' being the same. It also helps the compiler
be able to detect when NULL is being used in an integer context.
Link: <http://ewontfix.com/11/ >
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-08-10 12:56:23 +02:00
Bob Andrews
bdcc5ba549
Merge pull request #1821 from ZeroByteOrg/x16_waitvsync
...
CX16 waitvsync uses Kernal API to retreive jiffies
2022-08-09 19:02:15 +02:00
Bob Andrews
e30e233064
Merge pull request #1829 from acqn/VoidPtrFix
...
[cc65] Fixed superfluous warning on pointer types comparing a non-void pointer to a void pointer.
2022-08-09 14:29:56 +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
Bob Andrews
0c8366c1e9
Merge pull request #1828 from ZeroByteOrg/x16_ym
...
Fixed YM2151 struct to match HW behavior
2022-08-09 00:50:08 +02:00
ZeroByteOrg
5608453aea
Fixed YM2151 struct to match HW behavior
2022-08-08 16:16:37 -05:00
ZeroByteOrg
582e43931d
import RDTIM symbol instead of hard-wiring it here
2022-08-08 15:21:30 -05:00
ZeroByteOrg
9b3b652fa5
Switched to using tmp1 instead of self-mod to store the jiffies value
2022-08-08 15:17:28 -05: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
4bb4f033ea
Fixed the bug that C keywords were not simply recognized as identifiers in preprocessing.
2022-08-07 16:14:45 +08: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
7a139a800e
Added # and ## as punctuators recognized by the tokenizer.
...
Reorganized the token enum.
2022-08-06 18:45:49 +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
ZeroByteOrg
78870219a4
CX16 waitvsync uses Kernal API to retreive jiffies
2022-08-05 17:44:18 -05:00
acqn
251e984ba8
Fixed error recovery with preprocessing directives failures.
2022-08-05 14:03:51 +08:00
Bob Andrews
4de40a20cb
Merge pull request #1820 from polluks2/patch-5
...
Shorter isascii
2022-08-04 00:43:10 +02:00
polluks2
7a93d3c707
Shorter isascii
2022-08-04 00:25:04 +02:00
mrdudz
fb8de287be
test related to pr #1800
2022-07-28 01:50:54 +02:00
Bob Andrews
2c742ffc1c
Merge pull request #1800 from acqn/PPFix
...
[cc65] Preprocessor fixes
2022-07-28 01:48:41 +02:00
Bob Andrews
15756cc730
Update Contributing.md
2022-07-28 00:29:05 +02:00
Bob Andrews
9ab8026dbb
Merge pull request #1813 from IrgendwerA8/CharmapFixDocUpdate
...
Updated documentation while char-mapping is fixed.
2022-07-27 17:58:57 +02:00