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
Bob Andrews
2c742ffc1c
Merge pull request #1800 from acqn/PPFix
...
[cc65] Preprocessor fixes
2022-07-28 01:48:41 +02: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
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
acqn
16a8a64746
Use a dedicated expression parser for the preprocessor.
2022-07-21 11:10:02 +08:00
acqn
f91c8ad247
Allowed comments right after "#" in preporcessor directives.
2022-07-21 11:09:59 +08:00
acqn
d3d6de2704
Allowed the pp-tokens following #error and #warning directives to be optional.
2022-07-21 11:09:56 +08:00
Bob Andrews
560317c8ba
Merge pull request #1789 from acqn/PPDiagnostics
...
[cc65] Fixed ICE with duplicate macro parameters
2022-07-19 17:38:29 +02:00
Bob Andrews
6b0afe0834
Merge pull request #1785 from acqn/Effectless
...
[cc65] Avoid generating asm from C code that has no observable effects
2022-07-19 17:38:03 +02:00
Bob Andrews
c802980d6a
Merge pull request #1784 from acqn/Diagnostics
...
[cc65] Slight improvements on diagnostics
2022-07-19 17:37:42 +02:00
Bob Andrews
82b268ee50
Merge pull request #1783 from acqn/MiscFixes
...
[cc65] Misc fixes and improvements
2022-07-19 17:37:19 +02:00
mrdudz
7165b29809
omit an error message also when an unresolved import was added by the compiler. fixes bug #1551
2022-07-14 22:54:18 +02:00
mrdudz
a6b807b1d8
more verbose comment
2022-07-14 22:39:29 +02:00
acqn
9e3b759540
Fixed ICE with duplicate macro parameters.
2022-07-05 22:22:49 +08:00
rofl0r
94e7b11870
cl65: fix regression in --print-target-path
...
since the "empty prefix means run from current dir" hack was removed,
cl65 --print-target-path no longer prints the path relative to the
binary, but the hardcoded library path which points to prefix, because
the code adds the hardcoded path first to the pathsearch, but then actually
only returns the first entry rather than looking whether the path exists.
closes #1754
2022-05-30 12:22:02 +00:00
Greg King
93e94c8dea
Fixed a multi-line comment.
...
The left border is thicker in cc65 than it is in VICE.
2022-05-18 05:09:48 -04:00
compyx
2fdb1e6b0d
Fix set but unused variable
2022-05-17 10:05:25 +02:00
mrdudz
f67fb3b326
define __CC65__ as ((VER_MAJOR * 0x100) + VER_MINOR), fixes issue #1667
2022-05-10 01:12:13 +02:00
mrdudz
b6ffa4af64
Fix endless loop on expanding a recursive macro, fixed issue #1678 , patch by kugelfuhr
2022-05-09 21:26:45 +02:00
mrdudz
43af562ce1
At the end of the optimizer run, remove jump cascades again. fixes the
...
regression reported in #1652
2022-05-08 13:22:10 +02:00
mrdudz
5813fd81d3
add extra optimizer step that replaces BRA by JMP if the target is external
2022-05-08 13:20:18 +02:00
Bob Andrews
71cec58d86
Adjust comments
2022-05-05 14:24:02 +02:00
rofl0r
20dd6fd872
change GetProgPath() to return full & resolved binary path
...
GetProgPath() now resolves the path derived from argv[0] always
via realpath(3p) to its real location in the filesystem, and returns
the path including binary name, effectively making it work like
windows' GetModuleFileName(), so we can re-use the existing code
to strip the trailing binary name.
since symlinks are now always resolved, we no longer need the
special case code for linux to use /proc/self/exe for this purpose.
2022-05-02 08:22:21 +00:00
Bob Andrews
74f92564c3
Try reading from /proc/self first on linux, this is needed to make the edgy "make avail" work
2022-04-30 15:01:58 +02:00
rofl0r
d78672a4b4
rename AddSubSearchPathFromWinBin to AddSubSearchPathFromBin
2022-04-28 18:35:05 +00:00
rofl0r
b32c12dd83
implement AddSubSearchPathFromWinBin() counterpart for unix
...
this looks up paths relative to the binary used to start the
specific application.
2022-04-28 18:35:05 +00:00
rofl0r
8669710c0f
build: allow empty prefix
...
there was some concern that this will break windows' way of doing
file lookups relatively from the binary, rather than via hardcoded
locations, but so far each occurence adding e.g. "CA65_INC" to
the pathsearch is already shielded with an #ifndef _WIN32.
addressing #1726
2022-04-27 16:19:06 +00:00
mrdudz
7c7c5af59f
Merge remote-tracking branch 'upstream/master' into constexpr
2022-04-26 16:43:10 +02:00
rofl0r
13081e0989
remove orphaned STRINGIZE macro
2022-04-25 17:12:09 +00:00
rofl0r
bf1ef6157c
build: properly quote strings passed as cpp macros
...
until now, the strings intended to be hardcoded into the binary,
such as directory names and build id, were passed unquoted, which
means they're interpreted by the preprocessor as C tokens, rather
than strings, which can result in all sorts of "interesting"
behaviour such as interpreting paths starting with // as C++-style
comment.
this was then worked around using a stringize macro which turned
the tokens into a string (if they happened to be in a compatible
format).
adresses #1726
2022-04-25 16:52:46 +00:00
rofl0r
d8482fbd57
build: allow the user to specify make V=1 for verbose build
...
it's often required to see the full commandline when things go wrong.
the standard way for Makefile-only based buildsystems and autoconf
is to pass V=1 to make.
2022-04-25 14:58:38 +00:00
mrdudz
23831f08de
const value should never have default size, use 32bit instead
2022-04-21 14:50:48 +02:00
mrdudz
a0280d4917
Also handle the case when the non constant side of the AND expression is
...
known to have a smaller size than the constant side of the expression.
2022-04-20 12:53:34 +02:00
mrdudz
f64bf76ae8
special case for evaluating the AND operator, this should fix the problems
...
described in issue #1538
2022-04-20 00:13:34 +02:00
mrdudz
8d0098b818
more descriptive error message
2022-04-20 00:12:03 +02:00
mrdudz
89fcb0d404
typo
2022-04-20 00:11:24 +02:00
acqn
4f4487cb03
Added supports for long bit-fields.
2022-01-04 18:23:04 +08:00
acqn
21858b52e7
Separated data initializer stuff from declaration stuff.
2022-01-03 13:10:32 +08:00
acqn
970607cde5
Optimized g_testbitfield() and g_extractbitfield() with enhanced support for long bit-fields.
2021-12-05 12:21:01 +08:00
acqn
2d96f79bc7
Added and used new utility type functions for bit-fields.
...
Fixed GetUnderlyingTypeCode() for bit-fields with widths > 16.
2021-12-01 09:45:17 +08:00
mrdudz
3c1bb85b8e
remove dangling spaces
2022-04-17 16:07:09 +02:00
Bob Andrews
4cf7db1ef5
Merge pull request #1692 from karrika/atari7800
...
#805 Atari7800 target
2022-03-20 20:39:36 +01:00
Bob Andrews
58de94edd4
Merge pull request #1560 from empathicqubit/master
...
Add --debug-tables <filename> option and output struct fields
2022-03-20 20:27:15 +01:00
Greg King
b2ae73879b
Added a URL to the snapshot's commit history as a comment in the Windows snapshot ZIPs.
2022-03-12 01:35:33 -05:00
nyanpasu64
9cb81f1410
Replace #include "inttypes.h" with <inttypes.h>
2022-03-06 14:48:51 -08:00
nyanpasu64
3466abc60c
Fix format strings to properly format uintptr_t
2022-03-06 14:48:03 -08:00