Commit Graph

351 Commits

Author SHA1 Message Date
Colin Leroy-Mira
2b2c082efb Fix bug in PR #2778
Don't replace incaxy like incax[1-8].
2025-07-20 14:36:30 +02:00
Bob Andrews
4a53a891e8 Merge pull request #2778 from colinleroy/optimise-ldaxi
Optimise ldaxi
2025-07-10 17:03:28 +02:00
Bob Andrews
9971d9fac0 Merge pull request #2776 from colinleroy/optimize-incdecsp-further
Further optimize inc/decsp
2025-07-10 17:02:32 +02:00
Colin Leroy-Mira
20a9db757d Optimize multiple incax* and incax*/ldaxi
- Group multiple calls to incax* and decax* into a single one
- Replace incaxN/jsr ldaxi with ldy #N+1/jsr ldaxidx

Fixes #2055
2025-07-06 20:37:01 +02:00
Colin Leroy-Mira
facf7b2a0c Add basic test for incsp optimisation 2025-07-06 18:35:21 +02:00
Colin Leroy-Mira
fb7afcfee9 Add strndup ENOMEM test 2025-07-05 12:31:26 +02:00
Bob Andrews
fd973cd544 Merge pull request #2769 from colinleroy/add-strndup
Add strndup
2025-07-04 17:01:28 +02:00
Colin Leroy-Mira
90e1ac374b Add strndup
char* __fastcall__ strndup (const char* S, size_t maxlen);
2025-07-03 23:46:28 +02:00
Colin Leroy-Mira
fcbc253bf9 Add strlen and strnlen unit tests 2025-07-03 23:43:04 +02:00
Kugel Fuhr
64d35b6a86 Allow comments within _Pragma(). Fixes #2231. 2025-07-01 17:24:24 +02:00
mrdudz
cb4cd114bf handle -s correctly when using these makefiles directly 2025-06-29 22:48:03 +02:00
mrdudz
cc6813428c fix the fix 2025-06-26 21:00:20 +02:00
mrdudz
46770bbb63 another for cmd.exe 2025-06-26 20:53:10 +02:00
mrdudz
70f9723a89 dumb down for cmd.exe 2025-06-26 20:42:15 +02:00
mrdudz
7a85575158 fix handling of QUIET in the "test" directory 2025-06-26 19:48:16 +02:00
Gorilla Sapiens
a7af49a763 Merge branch 'master' into c_sp 2025-06-22 19:02:24 +00:00
Gorilla Sapiens
8cb0578447 changes suggested by mrdudz 2025-06-18 06:38:38 +00:00
Gorilla Sapiens
06a77abc68 Merge branch 'master' into sane_makefile_output 2025-06-18 06:26:58 +00:00
Bob Andrews
af2ab29a91 Merge branch 'master' into c_sp 2025-06-12 23:38:48 +02:00
Gorilla Sapiens
880322a5ae renamed test as requested. 2025-06-12 06:06:52 +00:00
Gorilla Sapiens
51da666210 fixes #2608 2025-06-11 02:21:39 +00:00
Gorilla Sapiens
b6f42f9ab2 changed "spc" to "c_sp" 2025-06-04 06:37:59 +00:00
Gorilla Sapiens
dd2f19260c added information to Makefile output 2025-06-04 03:03:18 +00:00
Gorilla Sapiens
3d118dc6e5 rename "sp" to "spc", avoid conflict with 4510 opcodes 2025-06-04 02:06:40 +00:00
Colin Leroy-Mira
cfbfaa559c Add ZX02 and LZSA (1,2) decompressors 2025-05-13 21:26:47 +02:00
Gorilla Sapiens
6a17aedd81 conform to 6.4.4.4 for hex and octal escapes
fixes problem noted in #2610
2025-05-02 05:03:55 +00:00
Kugel Fuhr
1556c8ac7c Move the test from "todo" to "val" since it shouldn't fail any longer. 2025-01-05 17:04:31 +01:00
Bob Andrews
4dfbccfafd Merge pull request #2522 from kugelfuhr/kugelfuhr/code-optimizations
Improve generated code for AND/EOR/ORA
2024-10-05 15:03:46 +02:00
Bob Andrews
270aa4417b Merge pull request #2524 from kugelfuhr/kugelfuhr/fix-2523
Fix some issues with preprocessor expressions
2024-10-05 14:14:29 +02:00
Kugel Fuhr
9c69aac097 Fix some issues with signedness in preprocessor expressions. Do also disallow
comma expressions since the aren't compliant and collide with macro invocations.
2024-09-17 11:45:46 +02:00
Kugel Fuhr
175ec65af1 Fix #2520. 2024-09-14 21:12:19 +02:00
Kugel Fuhr
231ab4169b Added a test. 2024-09-13 19:30:38 +02:00
Bob Andrews
34d8c3ef0a Merge pull request #2517 from kugelfuhr/kugelfuhr/time-improvements
Improved/fixed the time() function
2024-09-13 17:47:14 +02:00
Bob Andrews
b5135b3ae0 Merge pull request #2502 from kugelfuhr/kugelfuhr/fix-2461
Fix issue #2461
2024-09-13 15:53:49 +02:00
Kugel Fuhr
efa2020d93 Improved/fixed the time() function:
- When the underlying clock_gettime function returned an error, the value
  returned via *timep was wrong.
- Reduced code size by 7 bytes.
- Don't suck in ldeaxi.
2024-09-12 09:14:57 +02:00
Bob Andrews
31a0d5cc40 Merge pull request #2503 from colinleroy/master
Optimize stpcpy's size and speed
2024-09-08 16:17:14 +02:00
Colin Leroy-Mira
55d3a6ea39 Optimize stpcpy's size and speed 2024-09-07 21:24:53 +02:00
Kugel Fuhr
d996e20c5f Fix issues #2461. This was always wrong even in cases where it seemed to work.
If it did, it was by coincidence.
2024-09-03 20:21:48 +02:00
Kugel Fuhr
cd4357057f The change from #2495 didn't take into account that recursive calls to main()
are legal in C. With the changes from #2495, such calls will usually crash the
machine. But recursive calls to main() are rare and on the 6502 every byte
saved is precious. So this change limits the effect of #2495 to cc65 mode and
at the same time disallows recursive calls to main() in this mode. If
recursive calls to main() are actually required, the code must be compiled in
c89 or c99 mode.
2024-09-02 10:39:42 +02:00
Bob Andrews
601deab3a2 Merge pull request #2492 from kugelfuhr/kugelfuhr/alternative-pragma-names
Allow alternative names for pragmas that contain underlines instead of dashes
2024-09-01 17:57:38 +02:00
Kugel Fuhr
b4aef6eac4 Fix macro preprocessing for #include. Arguments enclosed in "" or <> must not
be preprocessed. See ISO/IEC 9899 1990 (E) section 6.8.2.
2024-09-01 13:16:35 +02:00
Kugel Fuhr
e40058257e Added a test for the available #pragmas. 2024-09-01 10:23:29 +02:00
Bob Andrews
03d824e13b Merge pull request #2464 from SvenMichaelKlose/stpcpy
Add stpcpy().
2024-07-16 01:47:11 +02:00
Sven Michael Klose
677cd8ff4e Use standard library's exit() code constants. 2024-07-15 17:54:43 +02:00
Sven Michael Klose
9558ebad62 Add test for stpcpy(). 2024-07-15 17:35:28 +02:00
Sven Michael Klose
816bcabe5a Move strtok() test to correct section. 2024-07-14 23:12:59 +02:00
Colin Leroy-Mira
82165c1a77 Implement strcasestr 2024-03-18 19:51:50 +01:00
Bob Andrews
eb503cc542 Merge pull request #2390 from colinleroy/implement-shifts-by-7
Implement aslax7/shlax7/asrax7/shrax7
2024-02-02 20:17:48 +01:00
Bob Andrews
54b423a99e fix test 2024-02-02 13:13:57 +01:00
acqn
96d55e3703 Fixed optimization for char-size bitwise XOR/OR/AND when the rhs operand is complicated. 2024-02-02 19:00:33 +08:00