Bob Andrews
0ece9449d7
Merge pull request #2307 from acqn/FuncDeclFix
...
[cc65] Fixed function declarator parser when a parameter has a function type
2023-12-31 19:11:25 +01:00
bbbradsmith
6cb8717c24
fix dangling space, mention .union in test comment
2023-12-16 19:25:21 -05:00
bbbradsmith
0d74b84ce4
Test of .struct and .union features. Update documentation with more examples, better clarity, and fixes to incorrect data.
2023-12-16 19:18:25 -05:00
acqn
1e4d1b4311
Fixed function declarator parser when a parameter has a function type.
...
Ensured check on parameter lists without types in non-definition declarations.
2023-12-14 02:34:03 +08:00
acqn
f8fe1d1560
Fixed missing diagnosis on function parameter lists with trailing commas.
2023-12-13 22:57:32 +08:00
Bob Andrews
bc97bce8c1
Merge pull request #2297 from acqn/WrappedCall
...
[cc65] Fixed wrapped call when the function was defined before its later declaration gets wrapped with the pragma
2023-12-12 17:11:47 +01:00
acqn
befc9533c6
More accurate diagnostic messages on empty declarations without any type specifiers.
2023-12-10 20:21:50 +08:00
mrdudz
6b855d562a
use -std=gnu17 for the references, so the test bench will not break with GCC 14. see #2277
2023-12-10 23:18:55 +01:00
Bob Andrews
cc5e9c38ca
Merge pull request #2296 from acqn/Diagnostics
...
[cc65] Fixed and improved diagnostics regarding type names and declarations
2023-12-10 22:32:33 +01:00
mrdudz
b31a1c7c0c
test for regression that occured after #2262
2023-12-10 22:18:59 +01:00
acqn
bbd542fac7
Fixed missing diagnosis on extra identifiers in type names.
2023-12-10 17:01:54 +08:00
acqn
79b4690077
Fixed missing diagnostics on empty enum/struct/union declareations without tag names.
...
Improved error recovery with local declarations and _Static_assert.
2023-12-10 15:43:24 +08:00
Bob Andrews
92f869cdfb
Merge pull request #2288 from acqn/TypeFix
...
[cc65] Fixed an iteration bug in type composition
2023-12-09 22:15:24 +01:00
Bob Andrews
a956f6f9ed
Merge pull request #2289 from acqn/FuncDeclFix
...
[cc65] Fixed the issue that qualifiers of pointees of function parameters were ignored for type compatibility check
2023-12-09 22:14:41 +01:00
Bob Andrews
9e19a2e6a3
Merge pull request #2290 from acqn/TestFix
...
Updated test/misc/Makefile
2023-12-09 22:12:59 +01:00
acqn
b66682a05b
Fixed wrapped call when the function to wrap has already got defined before it is wrapped with the pragma.
2023-12-10 00:47:10 +08:00
Colin Leroy-Mira
2a2cc6cad6
Fix bug introduced in #2260
...
bne should have applied to A, not X, but adding a cmp #$00 before
makes the change less optimized than the existing.
2023-12-09 16:43:23 +01:00
acqn
d8e61552be
Removed outdated testcases no longer in the directory from test/misc/Makefile.
2023-12-09 18:04:29 +08:00
acqn
98ffc031d1
Fixed an iteration bug in type composition.
2023-12-09 14:35:00 +08:00
acqn
b7e7bb7489
Fixed the issue that qualifiers of pointees of function parameters were ignored for type compatibility check.
2023-12-09 14:34:37 +08:00
Bob Andrews
66bfc31988
Merge pull request #2262 from colinleroy/optimize-long-assign
...
Optimize static long assignment a bit
2023-12-08 01:58:01 +01:00
Bob Andrews
09735b26c5
Merge pull request #2274 from acqn/UnionFix
...
[cc65] Fixed initialization of union when it has an anonymous bit-field as the first member declaration
2023-12-08 01:55:06 +01:00
Colin Leroy-Mira
d8a3938f2b
Optimize a bit static long assignation
2023-12-01 14:20:00 +01:00
acqn
6434176909
Fixed constness of bit-fields.
2023-11-29 12:27:01 +08:00
Bob Andrews
5537b61e6a
Merge pull request #2272 from acqn/Diagnostics
...
[cc65] Improved diagnostics
2023-11-28 15:06:39 +01:00
Bob Andrews
97cfb8c67a
Merge pull request #2266 from acqn/StructFix
...
[cc65] Fixes for structs/unions
2023-11-28 15:00:58 +01:00
Bob Andrews
86b09f56a6
Merge pull request #2260 from colinleroy/optimize-substraction
...
Optimize integer decrements by 1
2023-11-28 14:40:51 +01:00
Bob Andrews
acf159adbc
Merge pull request #2269 from colinleroy/optimize_gt_255
...
Optimize unsigned int and long > 255
2023-11-28 14:36:39 +01:00
acqn
b99ebc1256
Fixed diagnostic messages about undeclared identifiers.
2023-11-27 20:39:15 +08:00
acqn
7574e36e95
Improved error recovery with function declarations.
...
Fixed some rare cases when a single file-scope error could get reapeated endlessly until the maximum total count of errors allowed is reached.
2023-11-27 20:39:15 +08:00
Colin Leroy-Mira
3066b1f9b4
Optimize unsigned int and long > 255
2023-11-17 22:49:03 +01:00
acqn
3b7af398a9
Fixed initialization of union when it has an anonymous bit-field as the first member declaration.
2023-11-15 21:32:24 +08:00
acqn
5332eeecc2
Fixed empty declarations in structs/unions.
2023-11-15 18:17:36 +08:00
Colin Leroy-Mira
b3eca51264
Add int decrement tests
2023-11-13 10:32:27 +01:00
acqn
0eb38770bd
Fixed const qualifiers on named structs/unions members that should prevent assignments to the whole structs/unions.
...
Added warning on ignored qualifiers on anonymous structs/unions.
2023-11-13 17:17:46 +08:00
Colin Leroy-Mira
cff611711b
Optimize multiplication by zero
2023-11-06 11:04:00 +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
16f6860f57
Merge pull request #2243 from acqn/StdFuncFix
...
[cc65] Inlined std functions fixes
2023-10-26 17:39:07 +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
acqn
df392fc104
Fixed type promotion of switch case values.
2023-10-25 22:38:21 +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
Bob Andrews
3e60268243
add newline at the end
2023-10-17 20:39:15 +02: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
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
20c3e994c6
Fixed compiling with pragmas in the middle of declarations or statements.
2023-10-04 21:22:04 +08:00
acqn
03ceeb4ad1
Removed warning on implicit "return 0" in C99 standard main function in default cc65 mode.
2022-10-22 12:45:51 +08:00
acqn
2324bd62f6
If __A__,__AX__ or __EAX__ is used, post-inc/dec within the same statement will not modify it.
...
Moved testcase from src/test/todo to src/test/val plus minor improvement on portability.
2021-06-08 14:16:14 +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