Bob Andrews
221e6b53ef
Merge pull request #1992 from bbbradsmith/optstackops_toscmpbool_fix
...
OptStackOps label migration fix
2023-02-24 13:43:07 +01:00
bbbradsmith
ba038e921f
jmp (abs) page wrapping should be an error, not a warning, also only applies to 6502 CPU
2023-02-21 17:06:21 -05:00
bbbradsmith
13f1d37403
suppress spurious "large alignment" warning when the combined alignment is not larger than any of the explictly requested ones
2023-02-21 06:48:46 -05:00
bbbradsmith
ccf3994e3b
ca65 jsr/jmp/rts will not promote to jsl/jml/rtl by default, but can still be enabled with new feature long_jsr_jmp_rts
2023-02-21 04:00:34 -05:00
bbbradsmith
45d0d60349
--warnings-as-errors for ca65 and ld65
2023-02-20 22:24:26 -05:00
bbbradsmith
f1134cc5f1
ca65 improve error for unclosed scopes
...
See: #1779
2023-02-20 20:49:04 -05:00
compyx
68ce335f59
Replace shell code with GNU Make conditionals and functions
...
Use `ifeq` to provide two rules for the `avail` target: one that reports
an error if any of the symlink targets are missing and one that installs
the symlinks for the targets if they're all present.
2023-02-19 19:17:45 +01:00
Bob Andrews
d0f17ba602
Merge pull request #1996 from bbbradsmith/negative_memory_size_error
...
ld65 error if computed memory size is negative
2023-02-19 18:45:09 +01:00
bbbradsmith
5bc8ff98de
error if computed memory size is negative
2023-02-19 09:01:17 -05:00
bbbradsmith
4fc19a3d4c
ld65 overwrite segment should pad with fill value if the desired seek position is beyond the end of the file so far
2023-02-19 08:37:07 -05:00
bbbradsmith
2ac055383f
ld65 fix overwrite segments adding wrong padding or causing internal errors
2023-02-19 08:14:04 -05:00
compyx
5c12659cf4
make avail: check for presence of binaries before creating symbolic
...
links
To avoid creating broken symlinks, first check if the binaries exists in
bin/ and exit when they don't, with a message to first run `make`.
2023-02-19 14:01:14 +01:00
bbbradsmith
4d30333099
sim65 path length safety for PVOpen
2023-02-19 05:31:46 -05:00
bbbradsmith
4e411e8526
Opt_a_tosicmp likely has a bug which will incorrectly migrate a label on a replaced op in one case.
2023-02-18 00:13:34 -05:00
bbbradsmith
78263cd24b
Fix OptStackOps label migration case for toscmpbool, add test case
2023-02-17 23:48:32 -05:00
Spiro Trikaliotis
727b3288d6
Remove .exe from file output
...
Whenever a tool like ld65 wants to output its name into a log file, it
uses the name of command-line parameter 0. However, this parameter also
includes the .exe suffix if it is on Windows.
This patch removes the .exe suffix, so that the output is clean and
consistent across platforms.
This fixes #1990 .
2023-02-17 17:22:55 +01:00
Bob Andrews
544a49c060
Merge pull request #1983 from mrdudz/fix1941
...
fix for #1941
2023-02-05 17:28:22 +01:00
mrdudz
1764b7aca9
fix for #1941 , taken from 22d435b689
2023-01-28 12:29:05 +01:00
tomas
1d73c8d259
Update typeconv.c
2023-01-27 16:53:36 +00:00
tomas
ed909dba1d
fixed spelling mistake
...
there was a spelling mistake in one of pointer warnings
2023-01-27 10:52:20 +00:00
Matt Seabold
3360734487
Update comment to match in source file
2023-01-17 22:17:23 -05:00
Matt Seabold
9ee0c835e5
Update documentation for line_bynumber
2023-01-17 22:15:27 -05:00
Matt Seabold
8ea0dfe453
Allow line_bynumber to return more than one result
2023-01-11 20:18:51 -05:00
Bob Andrews
e944a30b6a
Merge pull request #1955 from davepl/master
...
Add KIM-1 support
2023-01-04 19:10:14 +01:00
Bob Andrews
072f4188ac
Merge pull request #1939 from acqn/TypeFix
...
[cc65] Renamed/added/removed some C type facility and fixed a few comments
2023-01-04 19:01:23 +01:00
Bob Andrews
167e940361
Merge pull request #1958 from karrika/sprite
...
[sp65] Sprite generation fixed for 1BPP Lynx sprites. Fix for #1957
2023-01-04 18:16:46 +01:00
Bob Andrews
9cda019669
Merge pull request #1960 from karrika/palette
...
[sp65] New feature to extract the palette from the bitmap. Lynx format implemented. #1959
2023-01-04 17:25:34 +01:00
Lauri Kasanen
56a414593a
Teach da65 about table units
2022-12-30 17:25:47 +02:00
Bob Andrews
cce119a9e7
Merge pull request #1871 from clbr/da816
...
da65 support for 65816
2022-12-30 15:34:40 +01:00
karri
878a20ab59
Fix dangling space
2022-12-30 15:27:17 +02:00
karri
b6d06288e0
Fix warnings
2022-12-30 15:20:54 +02:00
karri
f85951ab24
Add to build
2022-12-30 15:06:22 +02:00
karri
4117e94ed5
Add palette extraction functions
2022-12-30 14:44:18 +02:00
karri
c2e9e5961d
Add fixed Lynx sprite generation
2022-12-30 12:57:50 +02:00
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
acqn
3af77e7333
Improved error recovery in declarations with curly braces.
2022-11-12 12:28:29 +08:00
acqn
eb595b1f5f
Improved error recovery with K&R-style function declarations.
2022-11-12 12:28:27 +08:00
acqn
894ba49cb5
Improved error messages about missing type specifiers.
2022-11-12 12:28:24 +08:00
acqn
b0ef3572ea
Improved error messages about missing identifiers.
2022-11-12 12:28:22 +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