acqn
79214530e0
Maximum total count of errors before the compiler unconditionally bails out is now 200.
...
If more than 20 errors occur on the same source line, the compiler will immediately bail out.
2023-11-27 20:39:15 +08:00
acqn
f6c3a1b209
Removed the extra "'}' expected" error message following a "Excess elements in struct/union initializer" error message.
2023-11-15 21:17:05 +08:00
Colin Leroy-Mira
cff611711b
Optimize multiplication by zero
2023-11-06 11:04:00 +01:00
acqn
d424883716
Fixed diagnostics on qualifiers of function return types.
2023-10-28 15:24:13 +08:00
acqn
8e62cbf092
Improved checks on function return types.
2023-09-13 22:26:41 +08:00
Bob Andrews
f381d23001
Merge pull request #2236 from acqn/TypeFix
...
[cc65] Fixed some type-related bugs which don't have any impact yet
2023-10-29 12:37:07 +01:00
Bob Andrews
f7cf14bf58
Merge pull request #2246 from acqn/ArrayFix
...
[cc65] Fixes for nested unspecified-length/flexible arrays
2023-10-29 12:10:30 +01:00
acqn
8e45a4c960
Fixed the bug that a union type containing a struct with a flexible array member was accepted as a struct member or array element type.
2023-10-27 23:46:10 +08:00
acqn
85e63e99a6
Fixed regression: array element of incomplete type.
2023-10-27 21:51:45 +08:00
Bob Andrews
94ef5856d0
Merge pull request #2235 from acqn/Cleanup
...
[cc65] Cleanups
2023-10-26 20:07:39 +02:00
Bob Andrews
401bcaa5ff
Merge pull request #2237 from acqn/CGType
...
[cc65] Renamed type facility functions for deciding code generation type flags
2023-10-26 19:50:10 +02:00
Bob Andrews
16f6860f57
Merge pull request #2243 from acqn/StdFuncFix
...
[cc65] Inlined std functions fixes
2023-10-26 17:39:07 +02:00
Bob Andrews
10f709eeb7
Merge pull request #2234 from acqn/Diagnostics
...
[cc65] Minor fix for error recovery from duplicated struct members
2023-10-26 17:10:01 +02:00
Bob Andrews
316ae886d7
Merge pull request #2242 from acqn/SwitchFix
...
[cc65] Fixed type promotion of switch case values
2023-10-26 16:56:01 +02:00
Bob Andrews
a8d00bfaae
Merge pull request #2240 from acqn/BitwiseOpt
...
[cc65] New TOS optimization steps for 8-bit subtraction and bitwise operations
2023-10-26 16:53:37 +02:00
acqn
df392fc104
Fixed type promotion of switch case values.
2023-10-25 22:38:21 +08:00
acqn
a31b35b2a6
Fixed naming of local variables in CG_TypeOfBySize and CG_TypeOf.
2023-10-22 10:42:17 +08:00
acqn
70549e868e
New optimizer steps to restore some possibly lost optimization with boolean due to the previous fix.
2023-10-21 23:56:13 +08:00
acqn
f321bb16e5
Fixed potential bugs with boolean branch optimizers when more than one jeq/jne follows.
2023-10-21 23:56:07 +08:00
acqn
79c52e742f
Added new opts OptBoolUnary1/OptBoolUnary2 to remove unnecessary cmp + bcastax/bnegax,
...
as well as OptBoolUnary3 to "strength-reduce" certain bcastax/bnegax to boolne/booleq.
2023-10-21 23:56:04 +08:00
acqn
e5bbdfa995
Separated boolean optimizers from bitwise unary operator optimizers.
...
Renamed OptCmp6 to OptBoolCmp.
2023-10-21 23:56:01 +08:00
acqn
c52427fc65
Minor fix for error recovery from duplicated struct members.
2023-10-21 23:52:14 +08:00
acqn
178573a128
Fixed inlined strlen when it takes a string literal with extra characters after the first '\0'.
...
Added testcases.
2023-10-17 17:57:19 +08:00
acqn
8111946731
Fixed array subscript with a bit-field with patch by kugelfuhr.
2023-10-15 15:53:03 +08:00
acqn
7b0d1d9679
Added warning on concatenated string literals in _Pragma operations.
2023-10-13 14:54:54 +08:00
acqn
25832ef5fc
Fixed timing of #pragma charmap.
...
Now it is immediately applied and affects almost all characters and string literals after it.
Exceptions:
- String literals as the message of a static assertion or inline assembler code (only the required one, not any optional formatted arguments) in an asm() expression are not translated with either #pragma charmap or target presets.
- String literals used for preprocessor directives or as the result of stringized macro arguments are never translated.
2023-10-13 16:32:06 +08:00
acqn
c6ead99b00
Fixed string literal concatenation with pragmas in between.
2023-10-13 16:32:05 +08:00
acqn
7b6f8249a0
General fixes for prerequisites for optimization on certain std functions.
...
Added utility functions for extracting expression info.
2023-10-11 22:29:15 +08:00
acqn
20c3e994c6
Fixed compiling with pragmas in the middle of declarations or statements.
2023-10-04 21:22:04 +08:00
Bob Andrews
2726192aaf
Merge pull request #2224 from acqn/DeclCleanUp
...
[cc65] Made functions in src/cc65/declare.c less confusing
2023-10-14 20:09:05 +02:00
acqn
74922afa7c
Made the intension of functions in src/cc65/declare.c less confusing.
2023-10-12 17:31:49 +08:00
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