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

3791 Commits

Author SHA1 Message Date
Bob Andrews
494bf10e80
Merge pull request #2216 from acqn/FuncDefFix
[cc65] Type category in a function definition cannot be inherited from a typedef
2023-10-08 18:58:29 +02:00
acqn
0028b14071 The type category in a function definition cannot be inherited from a typedef. 2023-10-05 17:48:16 +08:00
Bob Andrews
12193790e5
Merge pull request #2199 from acqn/FAMFix
[cc65] Forbidden struct itself with flexible array member as struct member or array element
2023-10-05 03:21:31 +02:00
Bob Andrews
327281b869
Merge pull request #2200 from acqn/CompoundInitFix
[cc65] Fixed compound initialization with certain omitted enclosing curly braces
2023-10-05 03:20:33 +02:00
Bob Andrews
bdb13350e3
Merge pull request #2201 from acqn/Diagnostics
[cc65] Improved diagnostics
2023-10-05 03:19:31 +02:00
Evgeny Vrublevsky
148942ff1d Don't use hardcoded Visual Studio installation path in msbuild.cmd. 2023-09-23 14:26:09 +03:00
Evgeny Vrublevsky
d83354a8dd Fix default VS project settings. 2023-09-23 14:26:08 +03:00
acqn
13e1ed3e7b Fixed compound initialization with omitted enclosing curly braces when an array/struct/union to initialize is nested. 2023-09-22 10:29:52 +08:00
acqn
51e304f10f Added check for total arguments size for variadic functions. 2023-09-18 16:44:04 +08:00
acqn
fc603129da A structure with a flexible array member shall not be a member of a structure or an element of an array according to the ISO C Standard. 2023-09-18 15:44:58 +08:00
acqn
39abd233fe Fixed check for conflicting extern vs no-linkage/static declarations in functions. 2023-09-17 23:47:22 +08:00
acqn
878264d948 Minor consistency improvement for AddEnumSym() usage. No impact. 2023-09-13 22:26:41 +08:00
Bob Andrews
537aa665cf
Merge pull request #2006 from bbbradsmith/ca65_jmp_abs_wrap_error
jmp (abs) wrap warning promoted to an error, suppressed on 65C02/etc
2023-09-08 18:26:55 +02:00
Bob Andrews
05cd805cbc
Merge pull request #2085 from bbbradsmith/numerical_constant_errors-float
Numerical constant errors and improvements (float)
2023-08-25 22:30:07 +02:00
bbbradsmith
28ffe2f59b add jmp page crossing to --relax-checks, document it, fix --relax-checks documentation (segment branch error is not suppressed) 2023-08-19 15:39:51 -04:00
bbbradsmith
d09e0a7f20 Merge branch 'master' into ca65_jmp_abs_wrap_error 2023-08-19 14:07:52 -04:00
Bob Andrews
652949f183
Merge pull request #2104 from Movax12/remove-feature-requirement-addrsize
ca65: Remove .feature requirement for .addrsize
2023-05-22 00:39:04 +02:00
Bob Andrews
70bf4d492b
Merge pull request #2105 from bbbradsmith/sim65-64bit-cycle-count
Sim65 64bit cycle count
2023-05-16 15:53:23 +02:00
bbbradsmith
3b7be09a7f extern redeclared as static = error (C spec: undefined)
static redeclared as extern = warning (C spec: ignore extern)
See: #2111
2023-05-11 19:50:58 -04:00
Movax12
a058d4a2f3 Fix warning message, remove comment 2023-05-08 16:55:54 -04:00
bbbradsmith
f15e9c4159 Linux build rejects %llu in ErrorCode 2023-05-07 17:41:54 -04:00
bbbradsmith
2cb457b85f sim65 use error codes outside the simulated program's range for non-sim errors 2023-05-07 16:51:12 -04:00
bbbradsmith
0081fe548c sim64 universal 64-bit cycle count support:
MaxCycleCount is accounted by countdown, eliminating the 1-instruction-overhead issue, and removing the need to compare against a growing TotalCycles.
Makes main.c responsible for counting total cycles, instead of 6502.c, so the size of MaxCycleCount etc. is fully determined in one location.
Makes error.c responsible for PrintCycles instead of paravirt.c, so that it can be treated globally instead of
Return value of main() should be SIM65_ERROR because it is unreachable by design.
2023-05-07 16:26:42 -04:00
mvax
56df849101 add warning for .feature addrsize, clean up switch in SetFeature 2023-05-07 14:53:44 -04:00
Bob Andrews
9c70235173
Merge pull request #2096 from Movax12/BugFix-for-ismnemonic-function
Bugfix for the .ISMNEMONIC, .ISMNEM builtin function
2023-05-06 21:42:59 +02:00
Bob Andrews
9c27084fa5
Merge pull request #2084 from bbbradsmith/numerical_constant_errors-int
Numerical constant errors and improvements (integer)
2023-05-06 21:36:59 +02:00
Bob Andrews
7b40515506
Merge pull request #2099 from bbbradsmith/split2092-sim65-fix
sim65 fix platform-dependent issues
2023-05-06 20:36:59 +02:00
mvax
11cc5b6f06 remove .feature requirment for addrsize function, silently ignore '.feature addrsize' 2023-05-06 14:24:53 -04:00
bbbradsmith
84f0ab322d sim65: cycles does not increment 1 at a time, so some small overhead is needed in range check 2023-05-06 13:54:28 -04:00
bbbradsmith
532681c961 braces were requested
combining the two a = ' ' cases was requested
2023-05-06 12:06:06 -04:00
bbbradsmith
1df7ab0352 opening brace on same line as while
other AbEnd messages don't end in .
2023-05-06 11:55:21 -04:00
bbbradsmith
c03d00bc80 sim65 suppress uninitialized variable warning
the EOF check was protecting uninitialized Val2 but the compiler can't figure that out
2023-05-05 21:46:42 -04:00
bbbradsmith
773716c32a sim65 close(-1) crash fix
test/val/constexpr.c relies on close(-1) to return -1 for some reason (comment says "abuse"), but on MSVC close(-1) is treated as a security issue and terminates the program instead of returning -1
simulating this desire for sim65, though constexpr.c may also warrant a review
2023-05-05 21:46:11 -04:00
bbbradsmith
f2e7609046 sim65 cycles 32-bit range fix
long is 64-bit on some platforms, making this inconsistent, added range check to catch overflow.
reduced tests requesting 5 billion cycles to 2^32-1 so they can fun on 32-bit long sim65.
2023-05-05 21:45:57 -04:00
bbbradsmith
8d048699ee grc65 fix flawed text parsing
Was using fseek(F,-1,SEEK_CUR) which is invalid for text files, behaviour unreliable across platforms.
Added check for internal buffer overflow.
2023-05-05 21:32:34 -04:00
mvax
1c58b302d8 Bugfix for the .ISMNEMONIC, .ISMNEM builtin function 2023-05-05 12:31:19 -04:00
Bob Andrews
a7676bdff5
Merge pull request #2075 from bbbradsmith/struct-duplicate-member-error
Error for struct/union with a duplicate member
2023-05-04 22:43:17 +02:00
bbbradsmith
69f4cd1847 limits.h was apparently already included somewhere on windows but not linux 2023-05-04 05:48:48 -04:00
bbbradsmith
ca8201a314 Overflow test optimization suggested by kugelfuhr
User CHAR_BIT instead of 8
2023-05-04 05:44:20 -04:00
Brad Smith
5ed7153841
Merge branch 'master' into ca65_jmp_abs_wrap_error 2023-05-03 21:12:37 -04:00
bbbradsmith
8e75e5b51a Suppress overflow warning when conversion is an explicit cast 2023-05-03 19:42:05 -04:00
bbbradsmith
e3cb8dfb9b Numerical constant scanner requires explicitly 32-bit sized type for cross-platform consistency 2023-05-03 19:27:37 -04:00
Bob Andrews
b743b1a8c2
Merge pull request #2081 from bbbradsmith/suppress-size-error
ca65: Suppress '.size' error for multiply-defined symbols
2023-05-04 00:36:48 +02:00
Bob Andrews
45bdeb62ad
Merge pull request #2070 from bbbradsmith/fix2060
RHS primary integer promotion must happen after loading the primary, not before
2023-05-03 23:57:19 +02:00
bbbradsmith
dbdadaa3f3 accidental tabs, printf long expectts explicit %ld 2023-05-03 16:59:48 -04:00
bbbradsmith
2ac9c6f51e Suppress the floating point precision warning if an explicit cast is used 2023-05-03 16:53:51 -04:00
bbbradsmith
7ff74b2c47 Give a better error for unsupported floating point arithmetic, instead of internal "Precondition violated" error. 2023-05-03 16:48:02 -04:00
bbbradsmith
52f0e6a29c Allow floating point constants to be converted to integer (warning if loss of precision) 2023-05-03 16:48:02 -04:00
bbbradsmith
a686d1fa8e Allow unary +/- for floating point constants 2023-05-03 16:48:02 -04:00
bbbradsmith
a109f475ed Fix broken/incomplete floating point parsing
- Fractional digit scale was broken
- Base was partially ignored
- Exponent sign was ignored
- Exponent for hex float is 2 not 10
2023-05-03 16:48:02 -04:00
bbbradsmith
9a502c69dc fix tab, braces for 1-line if, Expr->Ival is signed 2023-05-03 16:46:59 -04:00
Bob Andrews
83ff62d5e2
Merge pull request #2078 from bbbradsmith/line-endings
ca65 support for three line ending types: \r, \r\n, \n
2023-05-03 21:19:03 +02:00
Bob Andrews
f4676e11b4
Merge pull request #2083 from bbbradsmith/struct-passing
Improve struct size error message to include the detected size
2023-05-03 21:00:25 +02:00
bbbradsmith
440c91fad9 braces for 1-line if 2023-05-03 14:11:30 -04:00
Bob Andrews
ae7a1416fe
Revert "Revert "Forbid 3-byte struct pass/return by value, document struct value pass/return"" 2023-05-03 20:02:12 +02:00
bbbradsmith
1f18ab218e Improve struct size error message to include the detected size 2023-05-03 13:35:51 -04:00
Brad Smith
4e6b94de5c
braces 2023-05-03 12:19:05 -04:00
bbbradsmith
016008b6df ca65: Suppress '.size' error for multiply-defined symbols 2023-05-03 11:57:50 -04:00
Bob Andrews
6ffc4004d7
Revert "Forbid 3-byte struct pass/return by value, document struct value pass/return" 2023-05-03 14:24:13 +02:00
Bob Andrews
f3c0f7c6ce
Merge pull request #2074 from bbbradsmith/zp_override_not_suspicious
Explicit z: should suppress "Suspicious address expression" warning
2023-05-03 14:09:23 +02:00
bbbradsmith
86e3a640d5 Support for three line ending types: \r, \r\n, \n.
#1894
2023-05-03 05:03:11 -04:00
bbbradsmith
56c715af40 Error for struct/union with a duplicate member #2015 2023-05-03 01:14:27 -04:00
bbbradsmith
65f773f5ee Explicit z: should suppress "Suspicious address expression" warning #194 2023-05-03 01:01:21 -04:00
bbbradsmith
409235aee6 Optional warning for implicit constant conversion overflow 2023-05-02 22:27:28 -04:00
bbbradsmith
bf5b37a3b2 Error check for internal overflow of numerical constant
See bug #2026
2023-05-02 21:27:02 -04:00
bbbradsmith
e7046a02ff Disallow pass/return of 3-byte struct (#2022), document capability added in #1102. 2023-05-02 19:00:34 -04:00
bbbradsmith
1c26b1cf1b RHS primary integer promotion must happen after loading the primary, not before. See: #2060 2023-05-02 14:42:00 -04:00
Bob Andrews
805e98a7aa
Merge pull request #2027 from bbbradsmith/ca65_jmp_abs_wrap_cpu_filter
ca65 jmp (abs) wrap warning only applies to 6502, later CPUs do not have this bug
2023-05-02 12:52:03 +02:00
Bob Andrews
08223360d5
Update instr.c 2023-05-02 12:43:50 +02:00
Janne Johansson
1f9594560e
Update lynxsprite.c
Remove compiler warning about (signed) char wrapping around to -1 when set to 255.
2023-04-19 09:15:03 +02:00
Ola Söder
2a7533268c Don't use hardcoded paths on Amiga
Hardcoded paths don't make sense on AmigaOS, AROS and MorphOS.
2023-04-07 23:44:30 +02:00
bbbradsmith
8b818aac67 remove trailing space on segment "bytes" warning plural 2023-03-07 18:42:20 -05:00
bbbradsmith
016b03e356 ca65 jmp (abs) wrap warning only applies to 6502, later CPUs do not have this bug 2023-03-07 17:00:38 -05:00
Bob Andrews
b9cf6266e7
Merge pull request #2010 from bbbradsmith/ca65_brk_optional_signature
optional BRK signature on all 6502 CPUs, not just 65816
2023-03-04 13:21:28 +01:00
Bob Andrews
c0559dd931
Merge pull request #2009 from bbbradsmith/ca65_feature_disable
ca65: allow .feature to both enable and disable
2023-03-04 13:08:18 +01:00
Bob Andrews
34189b85ab
Merge pull request #2013 from Movax12/fix-endmacro-not-at-start-of-line
Fix endmacro not at start of line
2023-03-03 12:29:30 +01:00
mvax
c092f57b73 Consistent case for .endmacro in comments, remove trailing spaces 2023-03-02 17:31:55 -05:00
mvax
90d5f41b37 Consistent case for .endmacro in comments 2023-03-02 17:26:05 -05:00
Bob Andrews
6fe649ecab
Merge pull request #1994 from Compyx/make-avail-sanity-check
make avail: check for presence of binaries before creating symbolic links
2023-03-02 18:56:04 +01:00
mvax
0b71d1cfff Fix .endmacro not at the start of the line. Fix last commit 2023-03-01 21:55:14 -05:00
mvax
1c60bc5009 Fix .endmacro not at the start of the line. Fix style, add doc., add tests 2023-03-01 21:47:50 -05:00
mvax
993054c9d3 Fix .endmacro not at the start of the line. .ENDMACRO error with line number of macro definition start 2023-03-01 11:58:42 -05:00
mvax
7d894fbe04 Fix .endmacro not at the start of the line. Fix comment 2023-02-25 13:52:13 -05:00
mvax
4b29615f2b Fix .endmacro not at the start of the line. Allow empty macro 2023-02-25 13:49:19 -05:00
mvax
0a05f78d47 Fix .endmacro not at the start of the line. 2023-02-25 13:38:02 -05:00
mvax
429e90dffd Fix .endmacro in a .define in a macro body 2023-02-25 12:42:26 -05:00
mvax
e87325033d Fix .endmacro in a .define in a macro body 2023-02-25 12:39:36 -05:00
bbbradsmith
3d41a5b516 allow immedite style syntax variation for BRK signature byte 2023-02-25 08:23:47 -05:00
bbbradsmith
cd8fa39066 optional BRK signature on all 6502 CPUs, not just 65816 (also COP) 2023-02-24 22:40:29 -05:00
bbbradsmith
da150aeeac allow .feature to both enable and disable 2023-02-24 18:00:58 -05:00
Bob Andrews
a299ef4210
Merge pull request #1995 from bbbradsmith/overwrite_segment_fix
ld65 fix overwrite segments adding wrong padding or causing internal errors
2023-02-24 21:27:33 +01:00
Bob Andrews
12fc59351e
Merge branch 'master' into ca65_long_jsr_jmp_rts 2023-02-24 19:25:32 +01:00
Bob Andrews
e105f6049d
Merge pull request #2003 from bbbradsmith/large_align_false_positive_fix
supress spurious "large alignment" warnings
2023-02-24 16:32:41 +01:00
Bob Andrews
d810b12c6d
Merge pull request #1998 from bbbradsmith/ca65_local_scope_error_info
ca65 improve error for unclosed scopes
2023-02-24 16:24:05 +01:00
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