1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-12 22:07:16 +00:00
cc65/test
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
..
asm Avoid cl65 in tests. 2020-08-26 20:39:34 +02:00
dasm Avoid cl65 in tests. 2020-08-26 20:39:34 +02:00
err Bug #1113 was fixed long ago. 2020-08-25 22:34:25 +08:00
misc Merge branch 'master' into StaticConst 2020-08-27 06:27:23 +08:00
ref Change line endings from CRLF to LF 2020-09-04 14:01:21 +02:00
todo Avoid cl65 in tests. 2020-08-26 20:39:34 +02:00
val Fix enum bit-field ICE #1244 2020-09-07 11:21:23 +02:00
.gitignore removed binaries and references from git ignore 2014-11-25 14:16:39 +01:00
CPYRIGHT.LCC Add test license description. 2020-06-27 02:23:40 +02:00
isequal.c rename bdiff.c to isequal.c, make it handle different line-endings as equal 2020-08-19 14:50:12 +02:00
Makefile Adjusted to 5df2de0629 (and slightly simplified). 2020-07-27 17:47:14 +02:00
readme.txt fix wording 2020-07-27 14:40:27 +02:00

This directory contains test code for automatic regression testing of the CC65
compiler.


/val  - The bulk of tests are contained here, individual tests should exit with
        an exit code of EXIT_SUCCESS when they pass, or EXIT_FAILURE on error.

/ref  - These tests produce output that must be compared with reference output.

/err  - contains tests that MUST NOT compile

/todo - These tests fail due to open compiler issues.

        The makefile in this directory _expects_ the tests to fail, because of
        that when an issue was fixed it will break the CI. The test should get 
        moved to /var in the PR fixing the issue, which will make CI pass again.
        No changes to makefiles are required!

/asm  - contains the assembler regression tests

/dasm - contains the disassembler regression tests

/misc - a few tests that need special care of some sort

        Tests that (incorrectly) fail to compile and other tests that fail and
        do NOT return an exit code are collected here. The makefile _expects_
        those tests to fail, so when an issue is fixed it will break the CI.
        When this happens, the PR fixing the issue should also "invert" the
        failing condition in the makefile by adding a $(NOT) before the
        offending line (or removing it when it is already there), which will
        make the CI pass again. The test should then be moved elsewhere later,
        which will require additional changes to the makefile(s).


To run the tests use "make" in this (top) directory, the makefile should exit
with no error.

When a test failed you can use "make continue" to run further tests.

--------------------------------------------------------------------------------

TODO:

- reduce usage of "common.h" to a minimum
- convert more tests from using reference output to returning an exit code