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
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
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
mrdudz
b31a1c7c0c
test for regression that occured after #2262
2023-12-10 22:18:59 +01: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
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
Colin Leroy-Mira
d8a3938f2b
Optimize a bit static long assignation
2023-12-01 14:20:00 +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
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
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
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
acqn
0028b14071
The type category in a function definition cannot be inherited from a typedef.
2023-10-05 17:48:16 +08: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
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
mrdudz
c8aa9cc703
add struct assign check related to #2079
2023-05-29 17:20:09 +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
bbbradsmith
aad64063c9
makefiles no longer need comment about sim65 64-bit support
2023-05-07 16:33:07 -04: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
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
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
e3cb8dfb9b
Numerical constant scanner requires explicitly 32-bit sized type for cross-platform consistency
2023-05-03 19:27:37 -04: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
e3887d7ead
Test to demonstrate availability of floating point constants, document the possibility.
2023-05-03 16:48:02 -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
Brad Smith
2c47ea45af
bug895.c compliant token pasting syntax to remove warnings
...
Gets rid of some unnecessary warning spam in the test log of lines like this:
```
bug895.c:95: Warning: Pasting formed "unsigned_long_14(", an invalid preprocessing token
```
2023-05-02 18:18:10 -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
bbbradsmith
78263cd24b
Fix OptStackOps label migration case for toscmpbool, add test case
2023-02-17 23:48:32 -05:00
mrdudz
1764b7aca9
fix for #1941 , taken from 22d435b689
2023-01-28 12:29:05 +01:00
mrdudz
d9ebfa7192
all good things are three
2022-12-11 12:29:11 +01:00
mrdudz
2b941e255a
move test. oops
2022-12-11 12:22:41 +01:00