Spiro Trikaliotis
3a5fee75a3
Remove TAB for reference file, too
2022-06-20 22:57:20 +02:00
Spiro Trikaliotis
b816ee6676
Remove TABs again
2022-06-20 22:53:46 +02:00
Spiro Trikaliotis
b3846ee1c4
Complete check of ld65 output
...
ld65 output was only checked for listing build before. No, both builds
are tested separately for better test coverage.
2022-06-20 22:19:22 +02:00
Spiro Trikaliotis
343bc1a489
More assert tests
...
Also test ldwarning and lderror options.
2022-06-20 22:16:55 +02:00
Spiro Trikaliotis
e9888a0c28
testcase for ca65 .align
2022-06-20 22:01:01 +02:00
Spiro Trikaliotis
77a6ea3704
Makefile fix for ld65 error processing
2022-06-20 16:34:14 +02:00
Spiro Trikaliotis
7476c86ba9
More .assert testcases
...
Add testcases with error generation.
2022-06-20 16:33:25 +02:00
Spiro Trikaliotis
2040da0520
Reorga of test/asm/listing/
...
add ref/ and control/ subdirectories, so the control files and result
files do not clutter the directory, and it is clear which file has which
purpose.
2022-06-20 16:30:51 +02:00
mrdudz
6818fef71f
update readme
2022-06-20 04:32:07 +02:00
mrdudz
96ee702220
update some basic functions
2022-06-20 04:31:51 +02:00
mrdudz
059b7875b3
fixup readme
2022-06-20 02:00:43 +02:00
mrdudz
00fabb8caf
beginning of float libraries and test programs
2022-06-20 01:54:03 +02:00
Spiro Trikaliotis
e17cb6d602
isequal: add --skip for both left and right file
...
isequal: New option --skip as a shortcut for --skipleft and --skipright
at once.
Use that for the .list-ref files, so they now contain the first line of
the output, too, which is ignored.
2022-06-19 22:42:44 +02:00
Spiro Trikaliotis
1446b7dcc3
isequal: Add options for better handling
...
--binary: handled binary files
--empty: check if file is empty
--skipleft=<n>: Skip <n> lines at the start of the left (first) file
--skipright=<n>: Skip <n> lines at the start of the right (second) file
Note that --binary, --empty and one or both of --skipXXX are mutual
exclusive; that is, you cannot specify more than one of them at the same
time, or the behaviour will be unpredictable.
2022-06-18 23:50:26 +02:00
Spiro Trikaliotis
297a11fcec
Add more assert tests
2022-06-18 22:22:27 +02:00
Spiro Trikaliotis
794ebd7a0b
Test cases for .assert warnings
2022-06-18 21:04:36 +02:00
Spiro Trikaliotis
a9e0dba991
Remove TAB to comply to style
2022-06-16 21:59:37 +02:00
Spiro Trikaliotis
48ae6716ad
Some test cases for ca65
2022-06-16 20:57:53 +02:00
mrdudz
1c3d386e09
simple test related to #1678
2022-05-09 21:27:21 +02:00
mrdudz
1abb5f4734
Add a directory for tests that exercise the supported C standard differences.
...
As a first test added the snippet given in issue #1670
2022-05-08 19:29:57 +02:00
mrdudz
e6b9a4b292
test related to issue #1652 , shows regression broken by #1231 and the
...
case that #1231 improved.
2022-05-08 13:19:32 +02:00
mrdudz
e0ae8ddc68
add sourcelines to the generated asm for easier inspection,
...
redirect output of sim65, including cycle count, into a seperate .out file per program
2022-05-08 13:18:27 +02:00
mrdudz
f7a5f6ed73
test some more cases that should not change size
2022-04-26 17:08:19 +02:00
mrdudz
a3ae28a81c
added a test that must fail
2022-04-26 17:07:57 +02:00
mrdudz
fd02cbed9d
fix workdir path
2022-04-20 14:54:44 +02:00
mrdudz
99919d2899
added a testprogram to check for some of the edge cases
2022-04-20 14:50:42 +02:00
acqn
67594cca70
Testcases for long bit-fields.
2022-03-03 16:14:26 +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
mrdudz
2eb20b3e8a
remove a bunch of TABs
2022-04-16 18:16:14 +02:00
mrdudz
6001d3eab9
fix #warning directive so the test could actually compile :)
2022-03-07 14:48:55 +01:00
acqn
c8956ce19b
Fixed signed long comparisons with smaller unsigned types.
2022-03-03 20:24:14 +08:00
acqn
1ba39b678c
Fixed test/asm/listing/Makefile with mingw32-make.exe that has problems with comments lead with tabulators.
2022-03-03 14:03:01 +08:00
Bob Andrews
0587d9f5d4
Merge pull request #1675 from acqn/ShiftFix
...
[cc65] Fixed bitwise shift with numeric constant operand(s)
2022-03-01 19:50:21 +01:00
Greg King
bca8fcb947
Added a more general test to test/val/bug1690.c
2022-03-01 12:56:34 -05:00
acqn
5ef420af5a
Fixed OptCmp1 with certain code patterns with labels.
2022-03-01 10:40:01 +08:00
Jeff Tranter
2bf8be5b3b
Fix some commonly made spelling errors in comments.
2022-02-21 15:44:31 -05:00
Spiro Trikaliotis
0f6cb5b114
Add proper readmes
2022-02-20 11:20:20 +01:00
Spiro Trikaliotis
0e45976f9b
Rename target test to asm
2022-02-19 12:52:02 +01:00
Spiro Trikaliotis
388ae87cb3
Reorganized test/asm
2022-02-19 12:44:20 +01:00
acqn
904a77e03c
Testcase for #1675 .
2022-02-18 15:20:01 +08:00
acqn
6dbafda53f
Testcase for #1662 .
2022-02-14 22:28:22 +08:00
mrdudz
86f1965202
added test related to issue #1552 fixed in pr #1571
2021-09-28 18:55:23 +02:00
mrdudz
6ba8a385a0
add test related tu issue #1562
2021-09-28 18:11:23 +02:00
acqn
31128d4809
Added test cases for result types of certain operations.
2021-06-10 21:54:32 +02:00
acqn
d69e81cd66
Moved and improved test cases for Issue #1462 .
...
Fixed an old test case for unsigned enum bit-fields that are supposed to be int-promoted.
2021-06-09 08:03:12 +02:00
mrdudz
010eea12a2
move test for issue #1211 into misc
2021-05-25 13:38:06 +02:00
mrdudz
022935320c
test for issue #897
2021-05-24 14:30:10 +02:00
mrdudz
ae3d3a4b5d
make readme a bit more clear (hopefully)
2021-05-24 13:53:44 +02:00
mrdudz
adda9438d2
testcase for issue #1357
2021-05-24 13:53:14 +02:00
mrdudz
0db23a8951
testcase for issue #263
2021-05-23 18:55:06 +02:00
mrdudz
b08dc28cc1
another testcase related to issue #1462
2021-05-22 22:34:52 +02:00
mrdudz
e13f57e86c
added another testcase for issue #1462
2021-05-21 16:09:10 +02:00
mrdudz
4a57656f69
add test for issue #1504
2021-05-17 14:40:09 +02:00
mrdudz
d736032675
added a missing comment
2021-05-17 14:25:33 +02:00
Christian Groessler
09e0e74124
(again) remove TABs
2021-05-13 18:12:12 +02:00
Andrea Odetti
467844963a
Update failing test due to error format changes.
2021-05-11 17:41:59 +02:00
mrdudz
f3663b8d2e
added test for issue #1461
2021-04-28 14:21:48 +02:00
mrdudz
080cb1bac9
added testcase for issue #1462
2021-04-23 21:52:36 +02:00
Oliver Schmidt
a982f6a668
Removed obsolete file.
...
c658acbf85
made this file unnecessary.
2021-04-18 21:14:49 +02:00
acqn
5f8d163045
Moved one test case for #1209 .
2021-04-06 22:20:39 +02:00
acqn
39700c77ee
Added test case for Issue #1451 .
2021-04-05 15:49:54 +02:00
acqn
5d05451ab2
Fixed test case for Issue #1263 .
2021-04-03 17:50:46 +02:00
acqn
cb8fbf4772
Removed the non-existing-in-C "struct/union scope" for structs/unions.
...
Fixed handling of struct/union field declarations without identifiers, which do nothing.
2021-03-29 19:28:22 +02:00
mrdudz
bf1bb7a032
ooopsie :)
2021-03-27 15:13:32 +01:00
mrdudz
54920193e5
added test for issue #1438
2021-03-27 15:11:47 +01:00
mrdudz
02392d6220
added test related to issue #1437
2021-03-26 22:18:05 +01:00
mrdudz
d3cd668585
also test (some of) the cases with an external function
2021-03-22 23:37:33 +01:00
mrdudz
55e89416cd
test related to issue #1196 and pr #1424 respectively
2021-03-22 19:12:44 +01:00
Oliver Schmidt
203c4da15b
Merge pull request #1434 from mrdudz/test1423
...
Test for pr #1423
2021-03-20 02:01:46 +01:00
mrdudz
82fb9aa418
testcase related to pr #1423
2021-03-20 00:55:55 +01:00
mrdudz
bbfc24770e
test related to pr #1425
2021-03-20 00:23:12 +01:00
mrdudz
cc040ca04a
remove, fucking git
2021-03-19 23:39:56 +01:00
mrdudz
57e69d9647
test related to pr #1425
2021-03-19 23:35:34 +01:00
mrdudz
9ec9d1e20c
test for issue #1431 / pr #1424
2021-03-19 20:53:52 +01:00
acqn
6f5ad51816
Added testcase for Issue #1408 .
2021-02-23 22:06:21 +01:00
acqn
f1c715c455
Fixed a bug that pointer subtraction results from two absolute addresses are calculated as unsigned long.
2021-02-22 14:14:59 -05:00
acqn
da4cc08b78
Moved and improved test case for Issue #1310 .
2021-02-22 14:14:59 -05:00
acqn
24985f1b33
Added testcase for the "deferred ops in unevaluated context" bug.
2021-02-22 11:02:47 +01:00
acqn
131f96eb1e
Moved testcase for issue #1397 .
2021-02-17 07:03:11 -05:00
mrdudz
ab8bb26868
added testcase for issue #1937
2021-02-09 19:50:08 +01:00
acqn
95830cce29
Fixed test/misc/bug1265.c with its output.
2021-01-30 14:31:51 +01:00
acqn
a040c28cc4
Moved test for #1374 .
2021-01-19 14:33:27 +01:00
mrdudz
0846219672
added testprogram for issue #1374
2021-01-16 16:40:58 +01:00
Christian Groessler
ef258bdc19
remove TABs which again slipped in....
2020-12-25 07:16:26 +01:00
Greg King
b2c1a77bb3
Fixed the cc65 code that optimizes 16-bit compares when the high bytes are known to be equal.
...
Only the low bytes are compared. Originally, signed 16-bit compares were optimized into signed 8-bit compares. But, the sign bits are in the high bytes; and, they're equal. Therefore, the low bytes always must be compared as unsigned numbers.
Fixes #1348 .
2020-12-24 12:27:09 -05:00
Greg King
8b42f570e9
Fixed code that caused a seg-fault after parsing a (deferred) post-count argument followed by a (nested) function-call argument.
...
The old broken code defers the count until the end of the (parent function's) argument list. But, a nested function call clears the pointer to the deferred type. That leads to an access violation.
The new code defers only until the end of each argument. Fixes #1320 .
2020-11-20 17:45:14 -05:00
mrdudz
c11e389a94
move testcase for issue #1320 into test/misc
2020-11-20 17:25:10 +01:00
mrdudz
0d46af2e9c
Merge branch 'master' of https://github.com/cc65/cc65
2020-11-19 23:12:46 +01:00
mrdudz
23273584a0
testcase for issue #1348
2020-11-19 23:12:16 +01:00
Zsolt Branyiczky
032b4e3979
Fixed typo
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
36f5dcbb6e
added 6502dtv opdoces testcases and corrected cpudetect
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
1c5c07406c
cpudetect.s needs this file to run its test for 6502dtv cpu
2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
843b94388a
added asm test for 6502DTV cpu
2020-11-19 22:02:07 +01:00
Greg King
5ba16654a3
Refined the hints about making new test reference files.
2020-11-17 15:06:05 -05: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
Greg King
47bceb0eab
Streamlined some makefiles.
...
foreach isn't needed because make automatically iterates through lists of words when substituting patterns.
2020-11-17 13:34:22 -05:00
Greg King
2ffb6af5d9
Simplified a bug test. Gave it an appropriate description,
2020-11-17 08:15:34 -05:00
Jesse Rosenstock
68cb15d0f9
Add test case for #1320
...
From https://github.com/cc65/cc65/issues/1320#issuecomment-726866015
2020-11-17 09:45:02 +01:00
Jesse Rosenstock
c2c73e7d06
Move #1332 test from todo/ to val/
...
This bug was fixed by 2915464
.
2020-11-16 03:23:52 -05:00
Jesse Rosenstock
83ac2755fe
Add test case for #1332
2020-11-15 21:32:45 +01:00
Jesse Rosenstock
93145246fd
Add tests for u8 op s16_const
...
Test expressions like `unsigned char x = ...; ... = x / 2;`
These use `int` constants with values representable by
`unsigned int` / `unsigned char`, so using unsigned codegen should
be possible.
Additional tests for #1308 . These are things we want to generate better
code for, so add tests that the behavior doesn't change.
2020-11-09 21:20:16 +01:00
Jesse Rosenstock
5db74b4b19
Use u16 codegen for u8 x u8 ops
...
In g_typeadjust, before we apply the integral promotions, we check if
both types are unsigned char. If so, we promote to unsigned int, rather
than int, which would be chosen by the standard rules. This is only a
performance optimization and does not affect correctness, as the flags
returned by g_typeadjust are only used for code generation, and not to
determine types of other expressions containing this one. All unsigned
char bit-patterns are valid as both int and unsigned int and represent
the same value, so either signed or unsigned int operations can be used.
This special case part is not duplicated by ArithmeticConvert.
Partial fix for #1308 .
2020-11-09 21:19:22 +01:00
Jesse Rosenstock
0e482c7f92
Add test for issue #1310
2020-11-01 19:09:20 +01:00
Jesse Rosenstock
a686988d0e
Add test cases for integral promotion of chars
...
Both signed and unsigned chars are promoted to int by C's evaluation
rules. It is more efficient to use unsigned operations when possible,
however. These tests will help test the correctness of optimizations
doing that. See #1308 .
2020-10-29 13:54:37 +01:00
Jesse Rosenstock
81550ca1ee
CS_MergeLabels: Keep labels referenced by data
...
Partial fix for ICE in #1211 . This may fix enough to allow #1049 to be
fixed.
When merging labels, keep the first label with a ref that has no JumpTo;
this is a data segment label, used by computed gotos.
The real fix is to track and rewrite labels in data, but this is more
involved.
2020-10-08 12:11:03 +02:00
Jesse Rosenstock
b931e65811
Fix ICE for bit-fields with typedef
...
Fixes #1267
Avoid ICE, but treat plain int bit-fields declared via typedef as
signed rather than unsigned. It is more efficient to treat them
as unsigned, but this requires distinguishing int from signed int,
and this is curently not done.
2020-10-03 15:04:31 +02:00
Oliver Schmidt
4acdc9ced9
Fixed paramcount build.
2020-10-03 14:55:30 +02:00
mrdudz
b549e83fb2
move program from testcode/assembler to test/asm and remove testcode/assembler
2020-09-29 19:03:42 +02:00
mrdudz
34177d9edd
test related to issue #1094
2020-09-25 20:08:32 +02:00
mrdudz
7ff08c85cf
Merge branch 'master' of https://github.com/cc65/cc65
2020-09-25 16:25:53 +02:00
mrdudz
61d934fd7b
test related to issue #1265
2020-09-25 16:25:32 +02:00
Greg King
47ee179273
Fixed a copy & paste error in the test/misc/ makefile.
...
Fixed a warning that's changed to an error in Travis CI tests.
2020-09-25 00:31:07 -04:00
mrdudz
5ba9d28488
test related to pr #1189
2020-09-24 16:16:16 +02:00
mrdudz
97a1093ee0
test related to issue #1222
2020-09-24 12:23:18 +02:00
mrdudz
a86644eff1
test related to issue #1221
2020-09-24 00:08:36 +02:00
mrdudz
b3491e3d9a
test related to issue #1244
2020-09-23 23:57:36 +02:00
mrdudz
46ebb15c76
test related to issue #1245
2020-09-23 23:57:25 +02:00
mrdudz
6fdd90fa63
fix typo
2020-09-23 23:51:37 +02:00
mrdudz
99121688f8
added test related to issue #1263
2020-09-23 23:51:24 +02:00
Jesse Rosenstock
4e4e4c2d21
Allow char bit-fields
...
These are not required to be supported (only int, signed int, and
unsigned int are required), but most compilers support it.
https://port70.net/~nsz/c/c89/c89-draft.html#3.5.2.1
https://port70.net/~nsz/c/c89/c89-draft.html#A.6.5.8
For consistency with other integral types, plain `char` bit-fields
are unsigned, regardless of the `--signed-chars` option.
Fixes #1047
2020-09-08 14:24:04 +02:00
Jesse Rosenstock
9a0e4a35e1
Fix enum bit-field ICE #1244
...
This previously resulted in an ICE:
cc65: Check failed: (Entry->Type->C & T_MASK_SIGN) == T_SIGN_SIGNED,
file 'cc65/symtab.c', line 874
This CHECK is in the code that deals with changing `int` bitfields to
`unsigned int`.
Work around this by treating enum bit-fields as having their signedness
specified, so this type change code does not get called.
Fixes #1244 .
2020-09-07 11:21:23 +02: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
mrdudz
c1a514c0f8
added test related to issue #1201
2020-08-26 23:20:28 +02:00
Oliver Schmidt
b0d3b19a6a
The bug1209 test fails at link stage.
2020-08-26 21:01:02 +02: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
acqn
d68925c6a8
Bug #1113 was fixed long ago.
2020-08-25 22:34:25 +08:00
Jesse Rosenstock
344aea0669
Add additional test cases for #1209
...
These test cases don't use dynamic labels.
https://github.com/cc65/cc65/issues/1209#issuecomment-678738971
Also update the original test case for consistency:
* Change failure message to just "FAIL", as there is only one failure
* Outdent label definitions
* Clarify description
2020-08-24 19:15:06 +02:00
Jesse Rosenstock
d38e5858f0
Add tests for #1211
...
CL_MoveRefs: Add CHECK (E->JumpTo != NULL) to make failure clearer.
2020-08-24 18:10:22 +02:00
Jesse Rosenstock
4b7cd491e3
Move #1209 test from err/ to misc/
...
misc/ is the correct place for tests that should compile
but do not.
Revert err/Makefile changes from #1210 .
2020-08-24 18:07:31 +02:00
Jesse Rosenstock
23621f3299
Add test case for #1209
...
Change err/ tests to use cl65 and .prg instead of cc65 and .s
since this test only fails at the link stage.
2020-08-22 15:27:49 +02:00
acqn
0486d28abc
Fixed Issue #327 .
2020-08-22 13:44:18 +02:00
acqn
1abb9da2b2
Moved bug250.c to test/val as it is fixed.
2020-08-26 09:40:32 +08:00
acqn
b15ab348ba
Moved bug250.c from test/misc as it is to be fixed.
2020-08-26 08:23:05 +08:00
mrdudz
794adcc512
remove unneeded rule
2020-08-19 22:33:10 +02:00
mrdudz
e6b8f4d715
move/fix bug264.c as suggested in issue #1122
2020-08-19 22:25:18 +02: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
0690a12ad2
change "the cc65 authors" to "The cc65 Authors" as per jmrs request
2020-08-18 22:41:42 +02:00
mrdudz
0c22d5011e
added test related to pr #1190
2020-08-18 17:58:29 +02:00
mrdudz
ab89c168de
replace "Copyright 2020 Google LLC" by "Copyright 2020 the cc65 authors"
2020-08-18 17:47:35 +02:00
Jesse Rosenstock
ff535b8e1a
Treat signed int bit-fields as signed
...
Prior to this PR, `int`, `signed int`, and `unsigned int`
bitfields are all treated as `unsigned int`.
With this PR, `signed int` will be treated as `signed int`,
and the others remain unsigned.
Since `Type` does not distinguish between `int` and `signed int`,
add an extra `int* SignenessSpecified` param to `ParseTypeSpec`
so we can tell these apart for bit-fields and treat plain `int : N`
as `unsigned int : N` since it is more efficient to zero-extend
than sign-extend.
Fixes #1095
2020-08-18 12:23:20 +02:00
mrdudz
2663561c62
added test related to pr #1135
2020-08-18 00:41:35 +02:00
mrdudz
6d8860b9de
added test related to issue #1145
2020-08-18 00:41:07 +02:00
mrdudz
cf41fccc0a
added test related to issue #1143
2020-08-18 00:40:29 +02:00
Bob Andrews
531de44c95
Merge pull request #1193 from jmr/bitfield-union-bug
...
Add test of union of bit-field from mailing list
2020-08-17 14:33:51 +02:00
Jesse Rosenstock
6db93d58cf
Add test of union of bit-field from mailing list
...
https://sourceforge.net/p/cc65/mailman/message/36152700/
This currently works, but add a test to prevent future regressions.
2020-08-17 09:54:31 +02:00