Bob Andrews
51b946bf25
Merge pull request #2387 from colinleroy/sim65-implement-remove
...
Implement __sysremove for sim65
2024-01-28 16:53:29 +01:00
Colin Leroy-Mira
0dd7b0c3a5
Implement __sysremove for sim65
...
This will allow using unlink()/remove() in sim65 programs
Use it to unlink fgets' test output file
2024-01-28 13:58:57 +01:00
Colin Leroy-Mira
aa6f850b8d
Rewrite gets in assembler
...
+19 bytes if used alone, because it pulls in fgets, but as code is
factorized, -128 bytes in programs using both fgets and gets.
2024-01-26 20:29:17 +01:00
Bob Andrews
65937684a0
Merge pull request #2380 from colinleroy/asm-fgetc
...
Rewrite fgetc in asm
2024-01-26 20:12:41 +01:00
Colin Leroy-Mira
476591e8b7
Rewrite fgetc in asm
...
-82 bytes, -20% cycles
2024-01-25 09:13:39 +01:00
Colin Leroy-Mira
f7388cfb79
add fgets/fgetc test
2024-01-25 09:13:35 +01:00
Bob Andrews
ee3a542539
Merge pull request #2383 from colinleroy/pmemalign-size-opt
...
Optimize -36 bytes out of posix_memalign
2024-01-24 21:26:50 +01:00
Colin Leroy-Mira
b87df9e1c6
Optimize -36 bytes out of posix_memalign
...
And add a unit test
2024-01-24 10:23:53 +01:00
Colin Leroy-Mira
3e01ac9b04
Fix malloc and realloc overflow
...
If user requests a size >= 65532, adding the heap admin size
overflows size. Fixes #2358 .
2024-01-24 09:54:54 +01:00
Bob Andrews
57e65a6bf6
Merge pull request #2348 from colinleroy/time-functions-pass-2
...
Convert more time functions to asm
2024-01-23 23:45:10 +01:00
acqn
ba75a2ac26
Added missing checks for forward declarations of the main() function.
...
More accurate diagnosis on implicit 'int' type specifiers.
2024-01-23 14:33:05 +08:00
Bob Andrews
998dfd6fa7
Merge pull request #2370 from acqn/VisibilityFix
...
[cc65] Fixed visibility of undeclared functions and objects
2024-01-22 18:31:47 +01:00
Colin Leroy-Mira
01ee903cdf
Fixup gmtime/localtime/mktime tests with all cases
2024-01-22 16:38:39 +01:00
Colin Leroy-Mira
03d5e5fba0
Rewrite mktime in assembly
...
-415 bytes,
-39% cycles,
Unit test expanded to cover more cases (there was a bug in 2100 before!)
2024-01-18 09:09:38 +01:00
acqn
0b06c34dfc
Added primitive support for the ISO C99 inline feature as well as the __inline__ extension.
...
No inlining is actually done but that part is not required by the standard.
2024-01-14 00:08:41 +08:00
Colin Leroy-Mira
0c53e7e0da
Add test case for bug #2357
2024-01-16 20:55:48 +01:00
acqn
3d0dc58153
Fixed visibility of undeclared functions and objects.
2024-01-13 00:46:14 +08:00
Bob Andrews
28f892bb3c
Merge pull request #2345 from acqn/PtrFix
...
[cc65] Fixed regression on comparison to null pointer
2024-01-11 16:50:49 +01:00
acqn
2682fc0b79
Fixed regression on comparison to null pointer.
2024-01-10 04:51:20 +08:00
acqn
94dfc08c0e
Fixed false "Non constant initializers" error messages on wrong places, which could be resulted from failed array declarations etc.
2024-01-10 04:43:50 +08:00
acqn
2564aaa12c
Refix for diagnosis on expected expressions.
2024-01-10 04:48:27 +08:00
Bob Andrews
2127778239
Merge pull request #2336 from colinleroy/optimize-strdup
...
Optimize strdup
2024-01-08 22:13:43 +01:00
Bob Andrews
e1065d0c89
Merge pull request #2342 from colinleroy/rework-mktime
...
Rework time functions a bit
2024-01-08 22:13:05 +01:00
Bob Andrews
a71865f6ec
Merge pull request #2331 from acqn/FuncDeclFix
...
[cc65] Fixed calling convention parsing in type names and function parameter types
2024-01-08 21:58:01 +01:00
Colin Leroy-Mira
df193c0947
Rework time functions a bit
...
- mktime: Work unsigned as time_t's type implies (shifting Y2K38 bug to 2106)
- mktime: Add unit tests
- gmtime/localtime: factorize
- gmtime/localtime: Add unit tests
- mktime/gmtime/localtime: Size optimisation (-130 bytes wrt master)
- mktime: Speed optimisation (from 23M cycles on the unit test to 2M)
2024-01-08 18:24:13 +01:00
mrdudz
29801a2fde
remove extra format specifier, fixed #2330
2024-01-06 17:53:24 +01:00
Colin Leroy-Mira
169c9c0da0
Add strdup tests
2024-01-05 22:26:06 +01:00
acqn
7aab84628d
Fixed calling convention parsing in type names and function parameter types.
2024-01-01 16:11:30 +08:00
Bob Andrews
4343eebe67
Merge pull request #2314 from acqn/PPFix
...
[cc65] Separated C preprocessor errors from other errors
2023-12-31 19:16:44 +01:00
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
acqn
b876a6b213
Fixed cc65 exitcode when there are only preprocessor errors.
2023-12-19 19:30:50 +08:00
acqn
cd7c688dff
Separated C preprocessor errors from other errors.
2023-12-18 15:30:53 +08: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
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
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
Bob Andrews
043590c971
Merge pull request #2182 from colinleroy/add-ntohs
...
Add ntohs/htons and ntohl/htonl
2023-09-08 18:47:09 +02: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
Colin Leroy-Mira
dfe7562f76
Add ntohs, htons, ntohl, htons.
2023-09-07 07:03:34 +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
f31d8efc1e
tabs are forbidden
2023-08-19 15:07:32 -04:00
bbbradsmith
07f08fc547
tests verifying jmp (indirect) page crossing error on 6502, and the lack of error for other CPU types
2023-08-19 14:36:30 -04:00
mrdudz
c8aa9cc703
add struct assign check related to #2079
2023-05-29 17:20:09 +02: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
9ff7b88192
Merge pull request #2113 from polluks2/patch-9
...
Unified NULL #2110
2023-05-19 16:06:46 +02:00
polluks2
8ff008722b
Fixed test
...
Don't define NULL yourself. QED
2023-05-19 02:49:49 +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
5a30d746b4
extern/static conflict test: remove warning as errors to match the new expected cases
2023-05-11 20:15:27 -04:00