Colin Leroy-Mira
1fab179cb4
a BIT of 65C02 optimisations
...
Use BIT immediate instead of AND when reloading A is required
afterwards.
Add an fread unit test as the optimisation touches fread.
Sprinkle a few zero page indexed while we're at it.
2024-02-02 19:45:49 +01:00
Bob Andrews
2a03e5d8c9
Merge pull request #2392 from colinleroy/asm-fputc-fputs
...
Asm fputc fputs
2024-02-02 19:41:23 +01:00
Colin Leroy-Mira
1a5a7d67a7
Rewrite fputc in assembly
...
-36 bytes, -12% cycles
2024-01-30 17:19:13 +01:00
Colin Leroy-Mira
ba36071022
Rewrite fputs in assembly
...
-28 bytes, -1% cycles
2024-01-30 17:12:52 +01:00
Colin Leroy-Mira
7594af553a
Fix #2388
...
Reopen stdin in binary mode instead of closing/opening
2024-01-30 09:39:44 +01:00
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
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
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
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
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
acqn
cd7c688dff
Separated C preprocessor errors from other errors.
2023-12-18 15:30:53 +08: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
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
5537b61e6a
Merge pull request #2272 from acqn/Diagnostics
...
[cc65] Improved diagnostics
2023-11-28 15:06: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
acqn
3af77e7333
Improved error recovery in declarations with curly braces.
2022-11-12 12:28:29 +08:00
Bob Andrews
ace39197e5
move test to test/ref
2022-11-11 21:22:20 +01:00
Bob Andrews
ebb33ee8b4
fix problem with copy command in cmd.exe
2022-11-11 20:54:38 +01:00
mrdudz
44b2e4f331
added examples for tests that compare the compiler output with a reference
2022-11-03 17:40:13 +01: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
mrdudz
0129622383
remove dangling spaces
2022-04-17 16:07:52 +02:00
mrdudz
8cacfa70d5
add missing newline to a bunch of files
2022-04-16 19:51:48 +02:00
Greg King
b0497f40b2
'test/isequal.c' doesn't change. Don't rebuild it for each test subdirectory.
2020-11-17 13:40:36 -05:00
Jesse Rosenstock
44b719d957
Change line endings from CRLF to LF
...
test/ref/pr1220.c was somehow added with CRLFs.
Other files use just LF.
2020-09-04 14:01:21 +02:00
acqn
2a3d996077
Improved test case for PR #1220 .
2020-09-02 21:36:59 +02:00
acqn
492ee7fc45
Improved test/ref/pr1220.c.
2020-08-30 03:10:24 +08:00
acqn
504aee3835
Merge branch 'master' into StaticConst
2020-08-27 06:27:23 +08:00
Oliver Schmidt
c658acbf85
Avoid cl65 in tests.
...
cl65 creates intermediate files based on the source file name in the source file directory. Calling cl65 in parallel with the same source file causes those intermediate files to get overwritten.
Fixes #1080
2020-08-26 20:39:34 +02:00
acqn
b6a4715a38
Added test/ref/pr1220 for testing constant AND/OR code generation.
2020-08-26 08:45:01 +08:00
mrdudz
1a92368aed
rename bdiff.c to isequal.c, make it handle different line-endings as equal
2020-08-19 14:50:12 +02:00
mrdudz
df900e30b8
removed references to macros from common.h
2020-07-21 23:50:23 +02:00
Oliver Schmidt
bcb8b49907
Removed executable bit.
2020-07-12 23:11:43 +02:00
Jesse Rosenstock
8891a896b5
test/ref: Use separate .out files
...
Use different .out files for different options / targets.
This allows make -j N to work.
Previously all test.*.*.prgs would use the same test.out file.
Now test.*.*.out is also used.
2020-06-29 22:34:44 +02:00
Jesse Rosenstock
18246278c5
switch2.c: Remove use of REFCC and UNSIGNED_CHARS
...
Explicitly use `signed char` or `unsigned char`, rather than
```
signed char k;
char k;
signed char k;
char k;
```
This should have resulted in the same thing; however, note that
`REFCC` was never defined, and `common.h` was not included, so
the old code in fact tested `char` then `unsigned char`,
which are the same.
The only difference is that a switch using plain `char` is not
tested, but since this is the same as either `signed char` or
`unsigned char`, the lack of test coverage seems relatively safe.
2020-06-25 13:18:08 +02:00
Jesse Rosenstock
8fe317e7fa
Remove REFCC_UNSIGNED_CHARS from test/ref/
...
Explicitly use signed char or unsigned char for REFCC.
2020-06-25 13:18:08 +02:00
Jesse Rosenstock
86ba877a99
Define REFCC and REFCC_UNSIGNED_CHARS in reference
...
switch2.c uses these macros. With them unset, signed chars
are not tested.
2020-06-25 13:18:08 +02:00
acqn
e9307ce58e
Moved test/ref/cc65141011.c to test/val/cc65141011.c.
2020-06-22 23:23:39 +02:00
acqn
b2268765bf
The ref test cc65141011.c now passes.
2020-06-22 23:23:39 +02:00
mc78
7bae9038cf
Replaced plain 0's and 1's in exit statements with EXIT_SUCCESS or EXIT_FAILURE
2019-11-19 14:08:00 +01:00
Stefan
659d1729eb
Fixed exit code #974
2019-11-12 08:05:25 -05:00
Greg King
a0db846a97
Allowed old-style (K and R) function declarations to be fastcall.
...
That lets them match old-style definitions. It avoids "Type conflict" error messages. It allows shorter function calls.
Fixed the types of some variables in "test/ref/otccex.c". It avoids crashes on 64-bit Windows (32-bit Windows with 64-bit pointers).
2019-07-22 09:26:23 -04:00
Björn Esser
9faca05e6a
test/ref/otccex: Fix ramdomly occurring segfault.
...
The variables named tab and p are used in the context of pointers
and thus must be declared as such. Determining the purpose they
serve, using char over int seems more feasible here as well.
2019-06-09 20:26:12 +02:00
Christian Groessler
7445550831
remote TABs in doc/ and test/
2019-02-12 22:50:49 +01:00
Greg King
a6b04f6e97
Changed most "backticks" (grave accents) into apostrophes.
...
Quotations that are embraced by tick marks now look better, in most fonts.
2019-01-05 14:57:12 -05:00