1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 04:30:10 +00:00
Commit Graph

618 Commits

Author SHA1 Message Date
acqn
fc603129da A structure with a flexible array member shall not be a member of a structure or an element of an array according to the ISO C Standard. 2023-09-18 15:44:58 +08:00
acqn
39abd233fe Fixed check for conflicting extern vs no-linkage/static declarations in functions. 2023-09-17 23:47:22 +08:00
Bob Andrews
043590c971
Merge pull request #2182 from colinleroy/add-ntohs
Add ntohs/htons and ntohl/htonl
2023-09-08 18:47:09 +02:00
Bob Andrews
537aa665cf
Merge pull request #2006 from bbbradsmith/ca65_jmp_abs_wrap_error
jmp (abs) wrap warning promoted to an error, suppressed on 65C02/etc
2023-09-08 18:26:55 +02: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
bbbradsmith
f31d8efc1e tabs are forbidden 2023-08-19 15:07:32 -04:00
bbbradsmith
07f08fc547 tests verifying jmp (indirect) page crossing error on 6502, and the lack of error for other CPU types 2023-08-19 14:36:30 -04:00
mrdudz
c8aa9cc703 add struct assign check related to #2079 2023-05-29 17:20:09 +02:00
Bob Andrews
652949f183
Merge pull request #2104 from Movax12/remove-feature-requirement-addrsize
ca65: Remove .feature requirement for .addrsize
2023-05-22 00:39:04 +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
3419cbd348 sim65 64-bit cycle count tests
These take ~10 seconds to run locally
2023-05-07 16:33:47 -04:00
bbbradsmith
aad64063c9 makefiles no longer need comment about sim65 64-bit support 2023-05-07 16:33:07 -04:00
mvax
bee29dedd1 fix feature.s test 2023-05-06 17:11:57 -04:00
mvax
560085cb17 modify and add tests 2023-05-06 16:22:04 -04:00
Bob Andrews
9c70235173
Merge pull request #2096 from Movax12/BugFix-for-ismnemonic-function
Bugfix for the .ISMNEMONIC, .ISMNEM builtin function
2023-05-06 21:42:59 +02: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
Bob Andrews
7b40515506
Merge pull request #2099 from bbbradsmith/split2092-sim65-fix
sim65 fix platform-dependent issues
2023-05-06 20: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
mvax
fe35386b79 add test - add overloading instruction test 2023-05-06 12:56:34 -04:00
bbbradsmith
df749abbfb libtest target alternative to libs
saves me about 20 minutes if I only want to run tests
2023-05-05 21:56:52 -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
mvax
dd0a2bf1bc add test - fix stlye 2023-05-05 19:10:16 -04:00
mvax
7994889213 add test - fix again 2023-05-05 19:07:14 -04:00
mvax
c5cf32ac47 add test - fix 2023-05-05 18:50:44 -04:00
mvax
18570d18b8 add test 2023-05-05 18:43:10 -04:00
Bob Andrews
a325c95652
Merge pull request #2090 from bbbradsmith/split2089-make-test-standard
add test/standard to test makefile
2023-05-05 20:42:57 +02:00
Bob Andrews
7a040978d7
Merge pull request #2088 from bbbradsmith/struct-3byte-misc-todo
guard test to ensure 3-byte struct isn't re-enabled without evaluation by accident
2023-05-05 20:39:37 +02:00
bbbradsmith
5c20fb2812 test/todo makefile uses testwrk/val by mistake 2023-05-05 11:28:42 -04:00
bbbradsmith
9f3e47e9c9 test/standard was never added to test makefile 2023-05-05 11:04:31 -04:00
bbbradsmith
cfc8a41a03 guard test to ensure 3-byte struct isn't re-enabled without evaluation by accident 2023-05-04 17:07:34 -04:00
Bob Andrews
a7676bdff5
Merge pull request #2075 from bbbradsmith/struct-duplicate-member-error
Error for struct/union with a duplicate member
2023-05-04 22:43:17 +02:00
bbbradsmith
84eafb7f9c err test for struct with duplicate member 2023-05-03 21:09:03 -04:00
bbbradsmith
b5f255f912 Test case for const-overflow warnings 2023-05-03 19:54:40 -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
49bd568113 error test for integer constant too large for internal representation 2023-05-03 17:55:02 -04: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
99220f60af test/asm readme val description revision 2023-03-07 18:53:30 -05:00
bbbradsmith
6be7c16013 linkter test with custom config should not use none.lib 2023-03-07 18:48:30 -05:00
bbbradsmith
4732e937ad overwrite segment tests
asm/listing linker CFG support
asm and asm/listing test documentation
2023-03-07 18:44:56 -05:00
Bob Andrews
b9cf6266e7
Merge pull request #2010 from bbbradsmith/ca65_brk_optional_signature
optional BRK signature on all 6502 CPUs, not just 65816
2023-03-04 13:21:28 +01:00
Bob Andrews
c0559dd931
Merge pull request #2009 from bbbradsmith/ca65_feature_disable
ca65: allow .feature to both enable and disable
2023-03-04 13:08:18 +01:00
mvax
3f2129894b Fix .endmacro not at the start of the line. Rename test files. 2023-03-02 15:12:30 -05:00
mvax
98d2d9ee4e Fix .endmacro not at the start of the line. Fix style 2023-03-01 21:59:00 -05:00
mvax
0b71d1cfff Fix .endmacro not at the start of the line. Fix last commit 2023-03-01 21:55:14 -05:00
bbbradsmith
3d41a5b516 allow immedite style syntax variation for BRK signature byte 2023-02-25 08:23:47 -05:00
bbbradsmith
cd8fa39066 optional BRK signature on all 6502 CPUs, not just 65816 (also COP) 2023-02-24 22:40:29 -05:00
bbbradsmith
c2bc40f213 test for all ca65 .feature options 2023-02-24 20:00:56 -05:00
bbbradsmith
230230819e document the undocumented test/asm/listing behaviours 2023-02-24 19:35:38 -05:00
Bob Andrews
12fc59351e
Merge branch 'master' into ca65_long_jsr_jmp_rts 2023-02-24 19:25:32 +01:00
Bob Andrews
221e6b53ef
Merge pull request #1992 from bbbradsmith/optstackops_toscmpbool_fix
OptStackOps label migration fix
2023-02-24 13:43:07 +01:00
bbbradsmith
2cdab999f5 dasm test extend 65816.info to include added code 2023-02-21 05:22:28 -05:00
bbbradsmith
4b29d257d9 fix dasm test65816 which relied on JMP automatic promotion, add test of new long_jsr_jmp_rts and smart 2023-02-21 04:38:42 -05:00
bbbradsmith
3df5b9f41f relocate dasm test start-addr to avoid producing negative memory area size with none.cfg (conflicted with stack position at $8000) 2023-02-19 09:30:07 -05: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
Bob Andrews
cce119a9e7
Merge pull request #1871 from clbr/da816
da65 support for 65816
2022-12-30 15:34:40 +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
mrdudz
ddab16007a run branch fixer again after replacing BRA by JMP. should fix #1936 2022-12-11 12:08:30 +01:00
mrdudz
bad961b36f add missing newline 2022-11-28 06:34:05 +01:00
mrdudz
61ee5fe1d5 test for bug #1933 2022-11-28 06:26:47 +01:00
mrdudz
d6c37a757d Merge branch 'master' into underscores 2022-11-19 17:11:11 +01:00
Bob Andrews
3513342445
Merge pull request #1913 from acqn/Diagnostics
[cc65] Improved diagnostics on div-by-zero/bitwise-shift in unevaluated context and overall
2022-11-18 19:55:51 +01:00
Bob Andrews
a0a9cfdcd3
Merge pull request #1918 from acqn/PPFix
[cc65] Fixed bitwise-shift in preprocessor
2022-11-18 19:09:55 +01:00
Bob Andrews
93b015660d
Merge pull request #1899 from acqn/TypeCmpFix
[cc65] Fixed compatibility checks on "pointer to pointer" vs "pointer to array" etc.
2022-11-18 19:04:35 +01:00
acqn
dadca9e033 Fixed bitwise-shift in PP. 2022-11-13 16:32:41 +08:00
Spiro Trikaliotis
d7a804d120 Split stdin and stdout in test/asm/
Some tests pipe the stdout and stderr of the compiler or assembler into
a file and compare the result with a reference. This has the subtle
problem that both stdout and stderr and buffered i/o streams that may or
may not work the same on different OSs or even shells. That means the
order of the lines in the resulting file is not guaranteed.

In practise it is "mostly" not an issue, but "we" still stumbled about
one test where different behaviour can be triggered depending on running
it in cmd.exe or bash (msys): test/asm/listing output of
010-paramcount.bin differs from the reference output when running the
test from cmd.exe.

The solution is most likely to have two reference files and not redirect
into one file.

This patch fixes the issue (cf. #1912) for the directory test/asm/.
2022-11-12 23:12:25 +01:00
acqn
7b436e9823 Added tests for #1895 fix. 2022-11-13 01:01:24 +08:00
acqn
cc177208b4 Added tests for diagnostics in unevaluated context. 2022-11-12 21:05:01 +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
9c48c0ab8a
Merge pull request #1900 from acqn/Diagnostics
[cc65] Fixed endlessly repeated error messages when a declaration lacks a required identifier
2022-11-11 21:08:53 +01:00
Bob Andrews
ebb33ee8b4 fix problem with copy command in cmd.exe 2022-11-11 20:54:38 +01:00
acqn
9253f0d6bc Added testcase for #1889. 2022-11-10 02:11:54 +08:00
mrdudz
a09053ce0b make test work again also on linux. why did this not break the github actions? 2022-11-09 01:07:36 +01:00
mrdudz
bf924395fb fix some bashisms, hopefully makes "check" work again in cmd.exe 2022-11-05 19:41:02 +01:00
Bob Andrews
53b62184e8
Merge pull request #1905 from acqn/DeclFix
[cc65] Fixed some missing declaration features
2022-11-05 16:03:09 +01:00
acqn
e608f8a94f Renamed several tests. 2022-11-05 18:30:02 +08:00
mrdudz
79fd078ae3 add check for line endings containing CR. 2022-11-03 18:27:10 +01:00
mrdudz
cc450706d1 testcase related to bug #1888 2022-11-03 18:03:47 +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
8a7f566387 Fixed support for storage class specifiers after type specifiers. 2022-11-03 21:46:42 +08:00
acqn
991af3755b Added support for _Static_assert in unions. 2022-11-03 21:46:41 +08:00
Lauri Kasanen
9aae1efd03 Add a da65 65186 test 2022-11-03 08:17:51 +02:00
Bob Andrews
0eba33ee74
Merge pull request #1897 from acqn/TernaryFix
[cc65] Fixed errors in the conditional operator "? :" parser
2022-11-02 18:13:45 +01:00
Bob Andrews
37efb40c69
Merge pull request #1898 from acqn/PPFix
[cc65] Fixed '\\' + newline
2022-11-02 18:09:04 +01:00
acqn
deb5e97732 Fixed diagnostic messages on enumerator overflow.
An enumerator that would be incremented greater than ULONG_MAX now causes an error.
2022-11-02 14:22:21 +08:00
acqn
8fb2576626 Fixed processing '\\' followed with a newline and line number output (-E) with it. 2022-11-02 14:09:15 +08:00
acqn
d84cc2d122 Fixed errors in the conditional operator "? :" parser. 2022-11-02 13:56:55 +08:00
Lauri Kasanen
1e6279aee5 Clarify sprintf-test's output so it doesn't look like the entire test bench summary 2022-10-12 18:38:33 +03:00
Bob Andrews
a169e67e43
Merge pull request #1863 from acqn/LinkageFix
[cc65] Fixed symbol visibility and usage problems with extern/static declarations
2022-10-09 18:59:12 +02:00
acqn
9eab36b95a Fixed block-scope extern declarations visibility.
Fixed missing file-scope static function codegen output in a rare care.
2022-09-30 14:32:08 +08:00
acqn
f6003b8e8c Renamed some testcases. 2022-09-30 09:41:54 +08:00
acqn
1cbd6bc3f9 Fixed comments in test/val/bug1462-biefield-assign-4.c. 2022-09-29 18:23:41 +08:00
acqn
376afd0edb Fixed trailing spaces in some testcases. 2022-09-29 18:23:32 +08:00
mrdudz
846d51db72 change line endings to unix style, should fix #1858 2022-09-22 20:29:57 +02:00
acqn
5e7d9b5fe3 Renamed a few testcases. 2022-09-18 22:29:41 +08:00
acqn
080ec131d8 Added testcase for constant operands with side-effects. 2022-09-18 22:29:30 +08:00
acqn
16ba232d08 Fixed some testcases. 2022-09-18 22:29:01 +08:00
mrdudz
6fc2cd9f61 add test related to bug #1853 2022-09-17 14:42:18 +02:00
acqn
dc001cb4be Reverted E_ADDRESS_OF logic fix.
Added testcase.
2022-09-01 12:56:46 +08:00
mrdudz
5bda57de87 add extra underscore to _bzero, add a test for bzero/memset 2022-08-29 23:20:48 +02:00
mrdudz
ce6ee1b891 test some more possible cases and move test into test/val 2022-08-28 03:43:54 +02:00
acqn
43d2fd2a96 Added support for the popular __COUNTER__ macro. 2022-07-24 23:19:05 +08:00
mrdudz
168f42bb83 fix whitespace 2022-08-27 02:14:52 +02:00
mrdudz
41b29d5c81 add testcase related to issue #1252 2022-08-27 02:10:02 +02:00
mrdudz
90b9438b48 added testcase related to issue #1768 2022-08-27 01:15:06 +02:00
Bob Andrews
d2628d5949
Merge pull request #1840 from acqn/FnParamFix
[cc65] Fixed function parameters declared as function types rather than function pointers
2022-08-26 23:19:55 +02:00
Bob Andrews
68610490c9
Merge pull request #1837 from acqn/PPLineFix
[cc65] Fixed predefined __FILE__, __LINE__ and added missing preprocessing directive #line
2022-08-26 23:12:59 +02:00
acqn
1dbc5cb325 Simple testcase for __LINE__, __FILE__ as well as #line. 2022-08-24 16:39:44 +08:00
acqn
26945c32ac Fixed function parameters declared as function types rather than function pointers. 2022-08-24 15:30:52 +08:00
Bob Andrews
22ea30c75f
"cat" result to console on failure (only on *nix right now) 2022-08-23 11:56:05 +02:00
acqn
47ee543fe0 Added testcase for some part of PR #1833. 2022-08-21 00:11:19 +08:00
Bob Andrews
12b9b10355
Merge pull request #1832 from acqn/PPDefineFix
[cc65] Preprocessor directive #define fixes
2022-08-20 14:27:25 +02:00
Bob Andrews
03421694b2
Merge pull request #1817 from acqn/PPFix
[cc65] More preprocessor fixes
2022-08-19 21:37:16 +02:00
mrdudz
c1fd3218df add test related to pr #1799 2022-08-11 00:59:09 +02:00
mrdudz
f942c629d7 simple test related to issue #1655 2022-08-11 00:04:36 +02:00
acqn
ae811baaf1 Fixed the bug that redefined macros could co-exist but not all be undefined with a single #undef. 2022-08-06 18:21:42 +08:00
mrdudz
fb8de287be test related to pr #1800 2022-07-28 01:50:54 +02:00
mrdudz
5164b88a27 test was moved to test/val 2022-07-26 17:21:33 +02:00
Bob Andrews
a41b76795a
Merge pull request #1807 from acqn/CharmapFix
[cc65] Fixed #pragma charmap for string literals
2022-07-26 17:19:58 +02:00
acqn
2f357ba9b2 Preprocessor directives can now appear in the argument list of function-like macro calls.
#pragma PP-tokens can now be macro replaced.
#include header names directly enclosed in <> are free of macro replacement.
Preprocess-only mode (-E) now outputs with #line as source info.
Moved testcases for #760 and #1357.
Added testcase for #1643.
2022-07-26 21:10:38 +08:00
acqn
9f767770ac Added test case for #pragma charmap. 2022-07-26 15:19:48 +08:00
mrdudz
d03f28d0ed dangling! 2022-07-24 23:52:53 +02:00
mrdudz
3c71455bd6 test related to issue #1373, should be move to val in pr #1807 2022-07-24 23:49:45 +02:00
Spiro Trikaliotis
6b7d23ca74 isequal with --wildcard: Allow DOS/Win paths
Allow a colon (':') at the second position of a DOS or Windows path, so
a path with drive specifier (i.e., "c:") is recognized as a path of the
wildcard should end with a colon.
2022-06-22 21:23:44 +02:00
Spiro Trikaliotis
a7b2a92fc2 isequal: add --wildcards option 2022-06-21 22:23:10 +02:00
Spiro Trikaliotis
c738c94935 Debugging fix 2022-06-20 23:13:49 +02:00
Spiro Trikaliotis
0d7fba2332 More make test output for debugging 2022-06-20 23:10:32 +02:00
Spiro Trikaliotis
b5b3654017 Un-silence Make 2022-06-20 23:07:36 +02:00
Spiro Trikaliotis
aa64234707 Testcases for case 2022-06-20 23:03:12 +02:00
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
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