1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 19:29:37 +00:00
Commit Graph

353 Commits

Author SHA1 Message Date
acqn
b2268765bf The ref test cc65141011.c now passes. 2020-06-22 23:23:39 +02:00
IrgendwerA8
08705a3fdc Changes resulting from 2nd code review 2020-02-03 20:45:09 +01:00
IrgendwerA8
ce80624f62 ctype size optimization 2020-02-03 20:45:09 +01:00
mrdudz
a2bbb6f1be added regression test related to bug #1001 2020-01-25 20:56:52 +01: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
Lauri Kasanen
1bfdce55ed binlit: Add a few random leading zeros 2019-07-20 17:21:42 +02:00
Lauri Kasanen
925ea9d544 cc65: Add support for binary literals
Binary literals, 0b001, are a GCC extension in C and a C++14 feature.
2019-07-20 17:21:42 +02:00
Greg King
88c6dd2da8 Changed empty parameter lists into (void) lists on functions with asm() statements.
The fix avoids any possible problems with how cc65 will handle old-style (K & R) function declarations, in the future.
2019-07-16 13:16:02 -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
bbbradsmith
fb7d4acd5c versionable header for sim65
load and run address now configured from header
fix error codes not to conflict with test
fix test/misc/endless.c which is supposed to fail if an endless loop does not occur
2019-05-29 22:56:51 +02:00
bbbradsmith
7a863e5cda bug895 test: more specific description comment 2019-05-27 10:03:25 +02:00
bbbradsmith
df90a005cd bug895 testing against more permutations of comparison 2019-05-27 10:03:25 +02:00
bbbradsmith
1461ad6fcc unit test to catch regression of bug #895 2019-05-27 10:03:25 +02:00
Christian Groessler
392e6e10fc again, some TABs slipped into the code... 2019-04-30 18:21:13 +02:00
IrgendwerA8
37f80534c9 Fix for #830 supplied by UvB 2019-04-25 15:19:53 +02:00
Lauri Kasanen
654d972288 C90 param, void 2019-04-21 12:46:03 -04:00
Lauri Kasanen
3b3b16ee9c Add support for computed gotos
This is a GCC extension that allows C to use fast jump tables.
2019-04-21 12:46:03 -04:00
Lauri Kasanen
f29220be1b Add test showing optimizer failure, OptUnusedLoads removes needed loads 2019-04-21 12:46:03 -04:00
IrgendwerA8
1530020a1f Fix for multiplication optimization issue #367 2019-04-02 16:34:22 +02:00
IrgendwerA8
3d8c3a4948 Code review adaptations, removed "cc65_" prefix from functions 2019-03-29 22:53:04 +01:00
IrgendwerA8
db8bd84a82 Changes due to code review. 2019-03-29 22:53:04 +01:00
IrgendwerA8
399250a105 Optimized mul20 & mul40 and extracted to new library. 2019-03-29 22:53:04 +01: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
laubzega
6d8c315cdb Testcase added. 2018-10-16 09:45:30 +02:00
laubzega
2bb4abda23 Testcase .ref updated for new warning style. 2018-10-02 18:49:53 +02:00
laubzega
c797b3b376 Proper warnings for "risky" gotos. 2018-10-02 18:49:53 +02:00
laubzega
4b78d40e97 Added testcase for between-blocks gotos.
Deleted old testcase.
2018-10-02 18:49:53 +02:00
laubzega
a48bbc4be0 Switched from warning to error. Tightened the testcase. 2018-10-02 18:49:53 +02:00
Laubzega
7a5acaf39a Missed the comment. 2018-10-02 18:49:53 +02:00
Laubzega
403783b649 Add a testcase for https://github.com/cc65/cc65/pull/757 2018-10-02 18:49:53 +02:00
Oliver Schmidt
753b48647f
Increased consistency.
The test program works as-is only if the timezone isn't set (to something different than UTC). However, using localtime() instead of gmtime() makes it at least consistent in that the original time (given to mktime()) is identical to the time retrieved.
2018-08-02 15:45:57 +02:00
Oliver Schmidt
b04028b5d8 Added test for mktime() and gmtime().
A recent regression makes gmtime()/localtime() fail. So it's obviously desirable to have a test for that code.
2018-07-24 03:26:40 +02:00
Greg King
362b6afacf Made a C union declaration know the sizes of anonymous struct/union members when it determines its size.
The bug was located, and the fix was written, by Francesco.
2018-05-13 18:54:45 -04:00
greg-king5
ca31e3af1e
Fixed a bug that didn't preserve the accumulator's value when a simple 16-bit fetch-and-store is optimized. (#637)
Fix a 16-bit fetch-and-store cc65 optimizer bug.
2018-05-12 13:46:16 -04:00
Oliver Schmidt
f44406c46f Merge pull request #446 from clbr/lz4
Add LZ4 decompression support
2017-06-10 23:23:12 +02:00
greg-king5
06c3cd8307 Added a missing -O configuration. 2017-06-07 10:31:09 -04:00
greg-king5
e24bb372d0 Added a missing -O configuration. 2017-06-07 10:26:34 -04:00
greg-king5
a397a8c1a1 Added missing -O configuration. 2017-06-07 10:20:20 -04:00
Lauri Kasanen
e75a59d7a8 Add LZ4 decompression support 2017-06-06 18:48:25 +03:00
Lauri Kasanen
05b73276c2 Update test description 2017-05-20 09:53:30 +03:00
Lauri Kasanen
80e6afd335 Add two new trampoline test cases 2017-05-19 14:34:10 +03:00
Oliver Schmidt
11b01b908d Merge pull request #424 from clbr/trampoline
Trampoline support
2017-05-18 16:29:34 +02:00
Lauri Kasanen
219b239a34 Adjustments in response to latest comments 2017-05-18 17:14:26 +03:00
Lauri Kasanen
4c05c46cd1 Remove RAM-trampoline array support 2017-05-18 16:11:39 +03:00
Lauri Kasanen
ca41af41c2 Rename pragma trampoline to wrapped-call, value to identifier 2017-05-16 20:10:24 +03:00
Lauri Kasanen
077b14ccfa test/val/postincdec: Test for the final val value 2017-05-08 10:19:26 +03:00
Lauri Kasanen
7adcde1707 Add explicit postinc/dec testcase 2017-05-07 20:35:49 +03:00
Lauri Kasanen
9c86c03a96 Add test case 2017-05-02 20:43:41 +03:00
Greg King
1aab287189 Fixed the handling of "while (0) {}".
It's a corner case; but, conditional macroes might create it -- better safe than sorry.
2017-04-07 09:26:58 -04:00
Oliver Schmidt
e806515541 Removed workaround. 2017-04-04 15:53:14 +02:00
Oliver Schmidt
93193727be Removed workaround. 2017-04-04 15:52:37 +02:00
Oliver Schmidt
cd27fef6a8 Removed workaround. 2017-04-04 15:52:01 +02:00
Oliver Schmidt
3789174162 Removed workaround. 2017-04-04 15:51:00 +02:00
Oliver Schmidt
14268510f5 Removed workaround. 2017-04-04 15:45:24 +02:00
Oliver Schmidt
233dd5062a Merge pull request #389 from IrgendwerA8/stringimprovements
Optimization of string functions (size & speed).
2017-04-04 15:39:37 +02:00
Oliver Schmidt
5dbacb538e Merge pull request #411 from pfusik/bss-name-regression
Fix regression of #pragma bss-name
2017-03-22 13:44:48 +01:00
Piotr Fusik
8e35a82c91 Fix regression of #pragma bss-name
Closes #409
2017-03-21 22:35:25 +01:00
Oliver Schmidt
5b3611265b Revert to recursively expanded var.
4a6bca0b56 needed to move to a simply expanded variable but cc82cd9992 made that unnecessary again.
2017-03-21 20:54:55 +01:00
IrgendwerA8
cc82cd9992 Fixed addressing error for TSB/TSR and enabled tests again. 2017-03-20 21:53:07 +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
50174d9860 Hide stdout of tests returning an exit code.
Now that we doubled our tests by running them for both 6502 and 65C02 Travis CI complains (again) about a too long build output. So let's reduce it by omitting the (useless) stdout of tests.
2017-03-19 20:32:23 +01:00
Oliver Schmidt
4a6bca0b56 Run test for the 65C02 code generator / runtime too.
Now that sim65's 65C02 support is actually functional we can run test for the 65C02 support in the compiler and the runtime.

We learn the hard way this is a good idea as there are tests failing when built with optimizations for the 65C02:
- val/compare7
- val/compare8
- val/compare9
- val/compare10
- val/or1
2017-03-19 20:07:19 +01:00
Oliver Schmidt
ff9b77b6cc Shortened test subdir names. 2017-03-19 17:57:25 +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
Oliver Schmidt
a780df1fe1 Merge pull request #381 from pfusik/static-forward-decl
"static" forward declarations
2017-03-12 18:26:14 +01:00
Greg King
73261ea48f Fixed a pointer test again -- but, it's better than in pull request #391.
This time, the expression compares the pointer directly, instead of comparing the pointer's target.  The new expression avoids an array underrun.
2017-03-11 15:11:15 -05:00
Christian Groessler
8a81f9c0c8 Fix line endings (CRLF -> LF) on all affected files. 2017-03-10 11:21:14 +01: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
Piotr Fusik
ce0cf85386 Add regression test for #204. 2017-03-09 20:40:20 +01:00
IrgendwerA8
371e8efb79 temporarily disable optimizations altogether until a fine grain control
is implemented on Makefile level only disabling the compiler option -Os
2017-03-07 19:16:31 +01:00
IrgendwerA8
81115aa826 Added further optimizations and unit tests. 2017-03-05 02:09:12 +01:00
Greg King
8f0ea644dd Fixed a pointer-difference, comparison-with-zero expression.
Some GCC C compilers can't subtract higher pointers from lower pointers properly, when those pointers must be scaled (because they point to objects that are wider than a char). The scaling is done as unsigned which makes the difference positive instead of negative.

So, a broken expression was changed into a direct comparison between the two pointers.
2017-03-01 06:52:43 -05:00
Greg King
99f3c7d01d Fixed a makefile: "yaccdbg.c" includes "yacc.c". So, yaccdbg must depend on both of them. 2017-03-01 06:29:53 -05:00
Oliver Schmidt
79e1b25c6c Removed DEL as suggested by Greg. 2016-10-16 13:47:31 +02:00
Sven Oliver Moll
476260a6fa 4510 support for da65: fixed docs and Makefile for testcase. 2016-09-27 12:02:57 +02:00
Sven Oliver Moll
d0ed84c2d0 da65: adding support for 4510 cpu of c65 2016-09-20 17:37:10 +02:00
Sven Oliver Moll
bcdd190020 removed 'make clean' invoked from test/Makefile for test/assembler/Makefile, as all artifacts are now created in testwrk and will be cleaned up out of directory 2016-09-13 11:54:56 +02:00
Sven Oliver Moll
95a2f4b9dd re-adding WORKDIR to Makefile
- added workaround to remove *.o files after assembling
- also removed now obsolete clean target
2016-09-13 11:28:11 +02:00
Sven Oliver Moll
aaa26c7d57 Revert "test/assembler: removed WORKDIR variable, as remote assembling does only work partly"
This reverts commit 7a9a7c3188.
2016-09-13 11:21:25 +02:00
Sven Oliver Moll
a5772f7dc3 added forgotten testcase for testing cpu based conditional assembling 2016-09-07 19:49:21 +02:00
Sven Oliver Moll
7a9a7c3188 test/assembler: removed WORKDIR variable, as remote assembling does only work partly 2016-09-07 19:41:37 +02:00
Sven Oliver Moll
ae3f9bbd77 Added assembler pseudo commands .P4510 and .IFP4510 together with docs and testcase 2016-09-07 19:21:24 +02:00
Oliver Schmidt
05279f8302 Merge pull request #345 from SvOlli/release
migrated opcodes tests for assembler from testcode to test...
2016-09-07 10:11:47 +02:00
Sven Oliver Moll
f007fc13d5 added README for test/assembler 2016-09-06 14:54:21 +02:00
Sven Oliver Moll
89e2bf89cb migrated opcodes tests for assembler from testcode to test for inclusion on automated testing 2016-09-03 16:52:23 +02:00
Chris Cacciatore
7919812378 Updated switch statement comments.
* Now comments represent the fact that there may not be curly braces.
2016-08-19 20:21:10 -07:00
Chris Cacciatore
ac4bdbd411 Now testing switch statements with empty bodies. 2016-08-15 11:36:50 -07:00
Chris Cacciatore
c4823c6fd4 Added Duff's Device to tests. 2016-08-15 11:26:03 -07:00
Oliver Schmidt
ce45f75987 Harmonized goal name. 2016-06-01 23:51:43 +02:00
Greg King
e050655757 Added a cc65 regression test for pointer and offset addition operations. 2016-01-01 11:39:55 -05:00
Greg King
5e7c7d78fc Added a regression test program for the changes in the right-shift optimizer. 2015-12-14 11:46:30 -05: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
mrdudz
5ceffa1f70 Merge remote-tracking branch 'upstream/master' into testsuite 2015-07-11 12:44:06 +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
1380c68cf3 workaround for cmd.exe rmdir 2015-07-10 20:04:31 +02:00
mrdudz
12a3e6841c tests for illegal pointer operations that must always fail 2015-07-10 18:38:54 +02:00
mrdudz
6ab197f364 patch from Uz that makes some illegal operations on pointers error out 2015-07-10 14:27:49 +02:00
mrdudz
ad97b1b08e removed -f again, as that is the default. also removed "-" before the actual comments, which were the workaround previously 2015-07-10 11:11:41 +02:00
mrdudz
6970053023 use rm -r instead of rmdir, and use -f for rm, that makes subsequent runs of "make clean" not fail 2015-07-10 10:43:00 +02:00
Oliver Schmidt
bdb01212c2 Merge pull request #173 from mrdudz/testsuite3
two more tests
2015-07-09 18:46:07 +02:00
mrdudz
28d65d595d two more tests 2015-07-09 17:36:12 +02:00
Oliver Schmidt
74074a20b2 Merge pull request #164 from greg-king5/testsuite
Adjust some new test programs.
2015-07-01 20:58:56 +02:00
Greg King
ba03d28731 Removed some trailing whitespace; and, expanded a tab. 2015-07-01 10:09:11 -04:00
Greg King
0e6008e9e6 Added a regression test for pointer-to-array dereferences. 2015-07-01 06:54:05 -04:00
Greg King
5d4900e179 Added comments that explain the unstable behavior of a test program. 2015-06-30 09:00:28 -04:00
Greg King
cd5935deb7 Fixed an uninitiated pointer. 2015-06-30 08:54:13 -04:00
mrdudz
18b2de1624 remove comment 2015-06-29 11:18:24 +02:00
mrdudz
5b1917d23f remove workaround for optimizer bug 2015-06-29 02:34:12 +02:00
mrdudz
72e4c10772 added 3 more test 2015-06-29 01:57:39 +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
f6d1234576 Added some names to the list of test-suite programs that need the --all-cdecl work-around.
Added a work-around for a cc65 bug that made the yacc tests fail.
2015-06-25 13:57:17 -04:00
Greg King
b24c87e61f Changed the compiler test-suite to work with the fastcall-default version of cc65. 2015-04-22 10:05:07 -04:00
Greg King
1a0a872bd6 Made sure that parallel-building the regression-tests doesn't start a test before all of the directories are clean. 2014-12-18 14:30:35 -05: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
15a22bd1c8 All regression-tests subdirectories are cleaned before the first test starts, so that 'make continue' won't see debris when it moves to the next directory. 2014-12-17 17:35:18 -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
Greg King
b9c1087cc2 Added make code to build the optimized versions. 2014-12-17 11:57:45 -05:00
mrdudz
92ed5fd64b scan sources just once 2014-11-26 19:32:54 +01:00
mrdudz
0387b8cf1d added note on how to continue after failure, added missing limits.ref 2014-11-26 14:22:22 +01:00
mrdudz
3e8ae54759 actually use optimization switches 2014-11-26 01:38:30 +01:00
mrdudz
5f727ea56b removed binaries and references from git ignore 2014-11-25 14:16:39 +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
mrdudz
8a558a7cef use own naive bdiff tool instead of diff/fc 2014-11-24 20:57:58 +01:00
mrdudz
a0a03e5f73 added linefeeds 2014-11-24 20:35:35 +01:00
mrdudz
e3fdbc0a4b removed common.h reference 2014-11-23 12:50:47 +01:00
mrdudz
0079f5f6a2 checked tests in /val 2014-11-23 12:31:47 +01:00
mrdudz
8a66605d5e added some windows/cmd.exe stuff 2014-11-23 12:18:19 +01:00
mrdudz
198bd893f9 makefile for misc, endless.c 2014-11-22 22:22:30 +01:00
mrdudz
9fe0b38177 added readme 2014-11-22 21:29:26 +01:00
mrdudz
4a9346d631 added todo 2014-11-22 19:50:30 +01:00
mrdudz
875e0762e7 generate reference output using host compiler, compare using diff, fix yacc input file to work on both host and sim65 2014-11-22 19:45:40 +01:00
mrdudz
20cf4e1cc7 moved tests that need special care into misc dir 2014-11-22 19:42:39 +01:00
mrdudz
6144063a6d fixed up the rest of the tests, added rudimentary makefile(s) 2014-11-22 18:28:05 +01:00
mrdudz
20072a379c added makefile and common include 2014-11-22 17:02:46 +01:00
mrdudz
a20cb09032 added makefile and common include 2014-11-22 16:59:31 +01:00
mrdudz
d712abfe27 include s26 to get bitsize of char 2014-11-22 16:45:23 +01:00
mrdudz
f82343c484 sitest can not work 2014-11-22 16:44:48 +01:00
mrdudz
8d2ec80d5a cleanup 2014-11-22 15:30:07 +01:00
mrdudz
ca300826cf added tests as prepared by oliver 2014-09-25 21:38:34 +02:00