1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-16 18:08:04 +00:00
Commit Graph

53 Commits

Author SHA1 Message Date
mrdudz
c11e389a94 move testcase for issue #1320 into test/misc 2020-11-20 17:25:10 +01: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
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
mrdudz
5ba9d28488 test related to pr #1189 2020-09-24 16:16:16 +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
acqn
d68925c6a8 Bug #1113 was fixed long ago. 2020-08-25 22:34:25 +08: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
mrdudz
e6b8f4d715 move/fix bug264.c as suggested in issue #1122 2020-08-19 22:25:18 +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
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
acqn
8b8561161c Moved #1098 bug tests from test/misc to test/err as they are fixed now. 2020-08-12 15:02:43 +02:00
Jesse Rosenstock
3df6c383c0 Add support for static_assert
Add C11's _Static_assert and static_assert macro.

This is like #error, but is handled at a later stage
of translation, so it is possible to check sizes of
types, values of enums, etc.

https://en.cppreference.com/w/c/language/_Static_assert
https://port70.net/~nsz/c/c11/n1570.html#6.7.10
2020-07-30 19:17:11 +02:00
Jesse Rosenstock
aaa0cf5448 Add err tests for bitfield width errors
! ../../bin/cc65 -o ../../testwrk/err/bitfield-named-zero-width.s bitfield-named-zero-width.c
bitfield-named-zero-width.c(27): Error: Zero width for named bit-field
! ../../bin/cc65 -o ../../testwrk/err/bitfield-negative-width.s bitfield-negative-width.c
bitfield-negative-width.c(26): Error: Negative width in bit-field
! ../../bin/cc65 -o ../../testwrk/err/bitfield-too-wide.s bitfield-too-wide.c
bitfield-too-wide.c(26): Error: Width of bit-field exceeds its type
2020-07-30 08:10:38 +02:00
acqn
35e1efc7f2 Moved misc/bug1048 as it is already correctly rejected by the compiler. 2020-07-28 23:26:25 +02:00
Jesse Rosenstock
c272c73686 Add err test for char bit-fields #1047 2020-07-28 22:03:01 +02:00
Jesse Rosenstock
04d16b3740 Make $WORKDIR for tests/err
Without this, if there is a test that can compile,
it will still fail because the WORKDIR does not exist:

```
pass.c(1): Fatal: Cannot open output file '../../testwrk/err/pass.s': No such file or directory
```
2020-07-28 21:59:12 +02:00
mrdudz
98b2d43c2b added tests related to pr #1110 2020-07-22 15:52:04 +02:00
mrdudz
a2bbb6f1be added regression test related to bug #1001 2020-01-25 20:56:52 +01:00
Christian Groessler
7445550831 remote TABs in doc/ and test/ 2019-02-12 22:50:49 +01:00
Piotr Fusik
8e35a82c91 Fix regression of #pragma bss-name
Closes #409
2017-03-21 22:35:25 +01:00
Oliver Schmidt
0851e3d694 Allow to control test Makefile output via QUIET (like libsrc). 2017-03-20 11:22:04 +01:00
Oliver Schmidt
66634ef683 Cleaned up test Makefiles. 2017-03-19 17:48:44 +01:00
Greg King
750a527100 Made C's sizeof operator work with initialized void variables.
Added regression tests that check cc65's handling of void variables.
2017-03-12 14:41:32 -04:00
Piotr Fusik
05d1b8072b Add regression tests for duplicate globals with different linkage. 2017-03-09 21:18:48 +01:00
Piotr Fusik
6c3873316b Add regression tests for duplicate global/static variables detected by the compiler. 2017-03-09 20:49:42 +01:00
Oliver Schmidt
a85ac88fca Merge pull request #197 from greg-king5/static
Handle almost-duplicate C declarations that have different linkages.
2015-08-15 06:53:40 +02:00
Greg King
6ed3d055cb Removed redundant attempts to build uncompilable files. 2015-08-13 17:47:02 -04:00
Greg King
1baecf4a15 Added regression tests of diagnostics for conflicts between extern/public and static declarations. 2015-08-13 03:39:35 -04:00
Oliver Schmidt
d3eebc8fcf Merge branch 'pointer' of https://github.com/mrdudz/cc65 into mrdudz-pointer 2015-07-15 12:24:09 +02:00
Oliver Schmidt
50b0536222 Ignore return values only with CMD.EXE MkII.
CMD.EXE considers file deletion commands not able to delete anything as there's nothing to delete as failed. Of course we don't want to bail out of the Makefile because of missing files to delete. Therefore we ignore the return values with '-'. This change limits this workaround to CMD.EXE.
2015-07-11 00:01:39 +02:00
Oliver Schmidt
992f0f03c5 Ignore return values only with CMD.EXE.
CMD.EXE considers file deletion commands not able to delete anything as there's nothing to delete as failed. Of course we don't want to bail out of the Makefile because of missing files to delete. Therefore we ignore the return values with '-'. This change limits this workaround to CMD.EXE.
2015-07-10 22:39:53 +02:00
mrdudz
12a3e6841c tests for illegal pointer operations that must always fail 2015-07-10 18:38:54 +02:00
Oliver Schmidt
5a7ba692f5 Avoid "*** Recursive variable `RM' references itself (eventually)." 2015-06-27 00:33:24 +02:00
Oliver Schmidt
9bd11f161f Made test Makefiles work with CMD.EXE 2015-06-27 00:03:45 +02:00
Oliver Schmidt
54cfd2e2a1 Avoid wrong error. 2015-06-26 23:36:14 +02:00
Greg King
244eeedcfc Shortenned the code that creates the TESTS make variable.
And, fixed the variable-substitution that creates the CC65 optimization option.
2014-12-18 14:17:56 -05:00
Greg King
e414e89b64 Use simply-defined make variables. 2014-12-17 17:44:39 -05:00
Greg King
d9c8c1de45 Create the makefile variable REFS in the same way that TESTS is made. 2014-12-17 16:30:09 -05:00
Greg King
ad56b6abe9 Made the makefiles' clean target remove the object files from the source directory. 2014-12-17 15:59:29 -05:00
mrdudz
92ed5fd64b scan sources just once 2014-11-26 19:32:54 +01:00
mrdudz
3e8ae54759 actually use optimization switches 2014-11-26 01:38:30 +01:00
mrdudz
60026925ad use testwrk for binaries, and generated reference data 2014-11-25 13:47:31 +01:00
mrdudz
9c03326360 use 'testwrk' dir for bdiff 2014-11-25 12:56:45 +01:00